From ae5651f192e2767fd296a85074f5e03848e7f8ba Mon Sep 17 00:00:00 2001 From: parkerziegler Date: Tue, 17 Aug 2021 12:44:01 -0700 Subject: [PATCH 0001/1248] Fix #2583. Rename add-one crate to add_one in chapter 14. --- .../listing-14-07/add/Cargo.lock | 4 +- .../listing-14-07/add/Cargo.toml | 2 +- .../add/{add-one => add_one}/Cargo.toml | 2 +- .../add/{add-one => add_one}/src/lib.rs | 0 .../listing-14-07/add/adder/Cargo.toml | 2 +- .../add/Cargo.lock | 4 +- .../add/Cargo.toml | 2 +- .../add/{add-one => add_one}/Cargo.toml | 2 +- .../add/{add-one => add_one}/src/lib.rs | 0 .../add/adder/Cargo.toml | 2 +- .../add/Cargo.lock | 4 +- .../add/Cargo.toml | 2 +- .../add/add_one}/Cargo.toml | 2 +- .../add/{add-one => add_one}/src/lib.rs | 0 .../add/adder/Cargo.toml | 2 +- .../add/Cargo.lock | 4 +- .../add/Cargo.toml | 2 +- .../add/{add-one => add_one}/Cargo.toml | 2 +- .../add/{add-one => add_one}/src/lib.rs | 0 .../add/adder/Cargo.toml | 2 +- .../output-only-02-add-one/add/.gitignore | 2 +- .../output-only-02-add-one/add/Cargo.lock | 4 +- .../output-only-02-add-one/add/Cargo.toml | 2 +- .../add/add-one/Cargo.toml | 8 -- .../add/add-one/src/lib.rs | 7 -- .../add/adder/Cargo.toml | 2 +- .../output-only-03-use-rand/add/Cargo.lock | 4 +- .../output-only-03-use-rand/add/Cargo.toml | 2 +- .../add/add_one}/Cargo.toml | 2 +- .../add/{add-one => add_one}/src/lib.rs | 0 .../add/adder/Cargo.toml | 2 +- src/ch14-03-cargo-workspaces.md | 74 +++++++++---------- 32 files changed, 67 insertions(+), 82 deletions(-) rename listings/ch14-more-about-cargo/listing-14-07/add/{add-one => add_one}/Cargo.toml (78%) rename listings/ch14-more-about-cargo/listing-14-07/add/{add-one => add_one}/src/lib.rs (100%) rename listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/{add-one => add_one}/Cargo.toml (78%) rename listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/{add-one => add_one}/src/lib.rs (100%) rename listings/ch14-more-about-cargo/{output-only-03-use-rand/add/add-one => no-listing-03-workspace-with-external-dependency/add/add_one}/Cargo.toml (81%) rename listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/{add-one => add_one}/src/lib.rs (100%) rename listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/{add-one => add_one}/Cargo.toml (78%) rename listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/{add-one => add_one}/src/lib.rs (100%) delete mode 100644 listings/ch14-more-about-cargo/output-only-02-add-one/add/add-one/Cargo.toml delete mode 100644 listings/ch14-more-about-cargo/output-only-02-add-one/add/add-one/src/lib.rs rename listings/ch14-more-about-cargo/{no-listing-03-workspace-with-external-dependency/add/add-one => output-only-03-use-rand/add/add_one}/Cargo.toml (81%) rename listings/ch14-more-about-cargo/output-only-03-use-rand/add/{add-one => add_one}/src/lib.rs (100%) diff --git a/listings/ch14-more-about-cargo/listing-14-07/add/Cargo.lock b/listings/ch14-more-about-cargo/listing-14-07/add/Cargo.lock index 77292f6149..a456055c9d 100644 --- a/listings/ch14-more-about-cargo/listing-14-07/add/Cargo.lock +++ b/listings/ch14-more-about-cargo/listing-14-07/add/Cargo.lock @@ -1,13 +1,13 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. [[package]] -name = "add-one" +name = "add_one" version = "0.1.0" [[package]] name = "adder" version = "0.1.0" dependencies = [ - "add-one 0.1.0", + "add_one 0.1.0", ] diff --git a/listings/ch14-more-about-cargo/listing-14-07/add/Cargo.toml b/listings/ch14-more-about-cargo/listing-14-07/add/Cargo.toml index d26e7cfb4d..1448801d5b 100644 --- a/listings/ch14-more-about-cargo/listing-14-07/add/Cargo.toml +++ b/listings/ch14-more-about-cargo/listing-14-07/add/Cargo.toml @@ -2,5 +2,5 @@ members = [ "adder", - "add-one", + "add_one", ] diff --git a/listings/ch14-more-about-cargo/listing-14-07/add/add-one/Cargo.toml b/listings/ch14-more-about-cargo/listing-14-07/add/add_one/Cargo.toml similarity index 78% rename from listings/ch14-more-about-cargo/listing-14-07/add/add-one/Cargo.toml rename to listings/ch14-more-about-cargo/listing-14-07/add/add_one/Cargo.toml index ab555f504b..36f0ac1df8 100644 --- a/listings/ch14-more-about-cargo/listing-14-07/add/add-one/Cargo.toml +++ b/listings/ch14-more-about-cargo/listing-14-07/add/add_one/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "add-one" +name = "add_one" version = "0.1.0" edition = "2018" diff --git a/listings/ch14-more-about-cargo/listing-14-07/add/add-one/src/lib.rs b/listings/ch14-more-about-cargo/listing-14-07/add/add_one/src/lib.rs similarity index 100% rename from listings/ch14-more-about-cargo/listing-14-07/add/add-one/src/lib.rs rename to listings/ch14-more-about-cargo/listing-14-07/add/add_one/src/lib.rs diff --git a/listings/ch14-more-about-cargo/listing-14-07/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/listing-14-07/add/adder/Cargo.toml index cae6ba5d2b..03c661f9df 100644 --- a/listings/ch14-more-about-cargo/listing-14-07/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/listing-14-07/add/adder/Cargo.toml @@ -5,4 +5,4 @@ edition = "2018" [dependencies] -add-one = { path = "../add-one" } +add_one = { path = "../add_one" } diff --git a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/Cargo.lock b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/Cargo.lock index 77292f6149..a456055c9d 100644 --- a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/Cargo.lock +++ b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/Cargo.lock @@ -1,13 +1,13 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. [[package]] -name = "add-one" +name = "add_one" version = "0.1.0" [[package]] name = "adder" version = "0.1.0" dependencies = [ - "add-one 0.1.0", + "add_one 0.1.0", ] diff --git a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/Cargo.toml index d26e7cfb4d..1448801d5b 100644 --- a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/Cargo.toml @@ -2,5 +2,5 @@ members = [ "adder", - "add-one", + "add_one", ] diff --git a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add-one/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add_one/Cargo.toml similarity index 78% rename from listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add-one/Cargo.toml rename to listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add_one/Cargo.toml index ab555f504b..36f0ac1df8 100644 --- a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add-one/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add_one/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "add-one" +name = "add_one" version = "0.1.0" edition = "2018" diff --git a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add-one/src/lib.rs b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add_one/src/lib.rs similarity index 100% rename from listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add-one/src/lib.rs rename to listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add_one/src/lib.rs diff --git a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml index cae6ba5d2b..03c661f9df 100644 --- a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml @@ -5,4 +5,4 @@ edition = "2018" [dependencies] -add-one = { path = "../add-one" } +add_one = { path = "../add_one" } diff --git a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/Cargo.lock b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/Cargo.lock index 28663ec168..eec3a9e4b1 100644 --- a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/Cargo.lock +++ b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/Cargo.lock @@ -1,7 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. [[package]] -name = "add-one" +name = "add_one" version = "0.1.0" dependencies = [ "rand", @@ -11,7 +11,7 @@ dependencies = [ name = "adder" version = "0.1.0" dependencies = [ - "add-one", + "add_one", ] [[package]] diff --git a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/Cargo.toml index d26e7cfb4d..1448801d5b 100644 --- a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/Cargo.toml @@ -2,5 +2,5 @@ members = [ "adder", - "add-one", + "add_one", ] diff --git a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add-one/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add_one/Cargo.toml similarity index 81% rename from listings/ch14-more-about-cargo/output-only-03-use-rand/add/add-one/Cargo.toml rename to listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add_one/Cargo.toml index 22e2a51240..77bde883e8 100644 --- a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add-one/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add_one/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "add-one" +name = "add_one" version = "0.1.0" edition = "2018" diff --git a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add-one/src/lib.rs b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add_one/src/lib.rs similarity index 100% rename from listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add-one/src/lib.rs rename to listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add_one/src/lib.rs diff --git a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/adder/Cargo.toml index cae6ba5d2b..03c661f9df 100644 --- a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/adder/Cargo.toml @@ -5,4 +5,4 @@ edition = "2018" [dependencies] -add-one = { path = "../add-one" } +add_one = { path = "../add_one" } diff --git a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/Cargo.lock b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/Cargo.lock index 77292f6149..a456055c9d 100644 --- a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/Cargo.lock +++ b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/Cargo.lock @@ -1,13 +1,13 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. [[package]] -name = "add-one" +name = "add_one" version = "0.1.0" [[package]] name = "adder" version = "0.1.0" dependencies = [ - "add-one 0.1.0", + "add_one 0.1.0", ] diff --git a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/Cargo.toml index d26e7cfb4d..1448801d5b 100644 --- a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/Cargo.toml @@ -2,5 +2,5 @@ members = [ "adder", - "add-one", + "add_one", ] diff --git a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add-one/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add_one/Cargo.toml similarity index 78% rename from listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add-one/Cargo.toml rename to listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add_one/Cargo.toml index ab555f504b..36f0ac1df8 100644 --- a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add-one/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add_one/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "add-one" +name = "add_one" version = "0.1.0" edition = "2018" diff --git a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add-one/src/lib.rs b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add_one/src/lib.rs similarity index 100% rename from listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add-one/src/lib.rs rename to listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add_one/src/lib.rs diff --git a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/adder/Cargo.toml index cae6ba5d2b..03c661f9df 100644 --- a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/adder/Cargo.toml @@ -5,4 +5,4 @@ edition = "2018" [dependencies] -add-one = { path = "../add-one" } +add_one = { path = "../add_one" } diff --git a/listings/ch14-more-about-cargo/output-only-02-add-one/add/.gitignore b/listings/ch14-more-about-cargo/output-only-02-add-one/add/.gitignore index 64904e06d9..fc0f08e734 100644 --- a/listings/ch14-more-about-cargo/output-only-02-add-one/add/.gitignore +++ b/listings/ch14-more-about-cargo/output-only-02-add-one/add/.gitignore @@ -1 +1 @@ -add-one +add_one diff --git a/listings/ch14-more-about-cargo/output-only-02-add-one/add/Cargo.lock b/listings/ch14-more-about-cargo/output-only-02-add-one/add/Cargo.lock index 77292f6149..a456055c9d 100644 --- a/listings/ch14-more-about-cargo/output-only-02-add-one/add/Cargo.lock +++ b/listings/ch14-more-about-cargo/output-only-02-add-one/add/Cargo.lock @@ -1,13 +1,13 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. [[package]] -name = "add-one" +name = "add_one" version = "0.1.0" [[package]] name = "adder" version = "0.1.0" dependencies = [ - "add-one 0.1.0", + "add_one 0.1.0", ] diff --git a/listings/ch14-more-about-cargo/output-only-02-add-one/add/Cargo.toml b/listings/ch14-more-about-cargo/output-only-02-add-one/add/Cargo.toml index d26e7cfb4d..1448801d5b 100644 --- a/listings/ch14-more-about-cargo/output-only-02-add-one/add/Cargo.toml +++ b/listings/ch14-more-about-cargo/output-only-02-add-one/add/Cargo.toml @@ -2,5 +2,5 @@ members = [ "adder", - "add-one", + "add_one", ] diff --git a/listings/ch14-more-about-cargo/output-only-02-add-one/add/add-one/Cargo.toml b/listings/ch14-more-about-cargo/output-only-02-add-one/add/add-one/Cargo.toml deleted file mode 100644 index 4266f6641c..0000000000 --- a/listings/ch14-more-about-cargo/output-only-02-add-one/add/add-one/Cargo.toml +++ /dev/null @@ -1,8 +0,0 @@ -[package] -name = "add-one" -version = "0.1.0" -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] diff --git a/listings/ch14-more-about-cargo/output-only-02-add-one/add/add-one/src/lib.rs b/listings/ch14-more-about-cargo/output-only-02-add-one/add/add-one/src/lib.rs deleted file mode 100644 index 31e1bb209f..0000000000 --- a/listings/ch14-more-about-cargo/output-only-02-add-one/add/add-one/src/lib.rs +++ /dev/null @@ -1,7 +0,0 @@ -#[cfg(test)] -mod tests { - #[test] - fn it_works() { - assert_eq!(2 + 2, 4); - } -} diff --git a/listings/ch14-more-about-cargo/output-only-02-add-one/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/output-only-02-add-one/add/adder/Cargo.toml index cae6ba5d2b..03c661f9df 100644 --- a/listings/ch14-more-about-cargo/output-only-02-add-one/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/output-only-02-add-one/add/adder/Cargo.toml @@ -5,4 +5,4 @@ edition = "2018" [dependencies] -add-one = { path = "../add-one" } +add_one = { path = "../add_one" } diff --git a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/Cargo.lock b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/Cargo.lock index 28663ec168..eec3a9e4b1 100644 --- a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/Cargo.lock +++ b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/Cargo.lock @@ -1,7 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. [[package]] -name = "add-one" +name = "add_one" version = "0.1.0" dependencies = [ "rand", @@ -11,7 +11,7 @@ dependencies = [ name = "adder" version = "0.1.0" dependencies = [ - "add-one", + "add_one", ] [[package]] diff --git a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/Cargo.toml b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/Cargo.toml index d26e7cfb4d..1448801d5b 100644 --- a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/Cargo.toml +++ b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/Cargo.toml @@ -2,5 +2,5 @@ members = [ "adder", - "add-one", + "add_one", ] diff --git a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add-one/Cargo.toml b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add_one/Cargo.toml similarity index 81% rename from listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add-one/Cargo.toml rename to listings/ch14-more-about-cargo/output-only-03-use-rand/add/add_one/Cargo.toml index 22e2a51240..77bde883e8 100644 --- a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add-one/Cargo.toml +++ b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add_one/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "add-one" +name = "add_one" version = "0.1.0" edition = "2018" diff --git a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add-one/src/lib.rs b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add_one/src/lib.rs similarity index 100% rename from listings/ch14-more-about-cargo/output-only-03-use-rand/add/add-one/src/lib.rs rename to listings/ch14-more-about-cargo/output-only-03-use-rand/add/add_one/src/lib.rs diff --git a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/adder/Cargo.toml index cae6ba5d2b..03c661f9df 100644 --- a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/adder/Cargo.toml @@ -5,4 +5,4 @@ edition = "2018" [dependencies] -add-one = { path = "../add-one" } +add_one = { path = "../add_one" } diff --git a/src/ch14-03-cargo-workspaces.md b/src/ch14-03-cargo-workspaces.md index 5d8f834284..54c2eda200 100644 --- a/src/ch14-03-cargo-workspaces.md +++ b/src/ch14-03-cargo-workspaces.md @@ -78,8 +78,8 @@ avoid unnecessary rebuilding. ### Creating the Second Package in the Workspace -Next, let’s create another member package in the workspace and call it `add-one`. -Change the top-level *Cargo.toml* to specify the *add-one* path in the +Next, let’s create another member package in the workspace and call it `add_one`. +Change the top-level *Cargo.toml* to specify the *add_one* path in the `members` list: Filename: Cargo.toml @@ -88,18 +88,18 @@ Change the top-level *Cargo.toml* to specify the *add-one* path in the {{#include ../listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/Cargo.toml}} ``` -Then generate a new library crate named `add-one`: +Then generate a new library crate named `add_one`: ```console -$ cargo new add-one --lib - Created library `add-one` package +$ cargo new add_one --lib + Created library `add_one` package ``` Your *add* directory should now have these directories and files: @@ -107,7 +107,7 @@ Your *add* directory should now have these directories and files: ```text ├── Cargo.lock ├── Cargo.toml -├── add-one +├── add_one │ ├── Cargo.toml │ └── src │ └── lib.rs @@ -118,17 +118,17 @@ Your *add* directory should now have these directories and files: └── target ``` -In the *add-one/src/lib.rs* file, let’s add an `add_one` function: +In the *add_one/src/lib.rs* file, let’s add an `add_one` function: -Filename: add-one/src/lib.rs +Filename: add_one/src/lib.rs ```rust,noplayground -{{#rustdoc_include ../listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add-one/src/lib.rs}} +{{#rustdoc_include ../listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add_one/src/lib.rs}} ``` Now that we have another package in the workspace, we can have the `adder` -package with our binary depend on the `add-one` package, that has our -library. First, we’ll need to add a path dependency on `add-one` to +package with our binary depend on the `add_one` package, that has our +library. First, we’ll need to add a path dependency on `add_one` to *adder/Cargo.toml*. Filename: adder/Cargo.toml @@ -140,9 +140,9 @@ library. First, we’ll need to add a path dependency on `add-one` to Cargo doesn’t assume that crates in a workspace will depend on each other, so we need to be explicit about the dependency relationships between the crates. -Next, let’s use the `add_one` function from the `add-one` crate in the `adder` +Next, let’s use the `add_one` function from the `add_one` crate in the `adder` crate. Open the *adder/src/main.rs* file and add a `use` line at the top to -bring the new `add-one` library crate into scope. Then change the `main` +bring the new `add_one` library crate into scope. Then change the `main` function to call the `add_one` function, as in Listing 14-7. Filename: adder/src/main.rs @@ -151,7 +151,7 @@ function to call the `add_one` function, as in Listing 14-7. {{#rustdoc_include ../listings/ch14-more-about-cargo/listing-14-07/add/adder/src/main.rs}} ``` -Listing 14-7: Using the `add-one` library crate from the +Listing 14-7: Using the `add_one` library crate from the `adder` crate Let’s build the workspace by running `cargo build` in the top-level *add* @@ -165,7 +165,7 @@ copy output below; the output updating script doesn't handle subdirectories in p ```console $ cargo build - Compiling add-one v0.1.0 (file:///projects/add/add-one) + Compiling add_one v0.1.0 (file:///projects/add/add_one) Compiling adder v0.1.0 (file:///projects/add/adder) Finished dev [unoptimized + debuginfo] target(s) in 0.68s ``` @@ -187,19 +187,19 @@ $ cargo run -p adder Hello, world! 10 plus one is 11! ``` -This runs the code in *adder/src/main.rs*, which depends on the `add-one` crate. +This runs the code in *adder/src/main.rs*, which depends on the `add_one` crate. #### Depending on an External Package in a Workspace Notice that the workspace has only one *Cargo.lock* file at the top level of the workspace rather than having a *Cargo.lock* in each crate’s directory. This ensures that all crates are using the same version of all dependencies. If we -add the `rand` package to the *adder/Cargo.toml* and *add-one/Cargo.toml* +add the `rand` package to the *adder/Cargo.toml* and *add_one/Cargo.toml* files, Cargo will resolve both of those to one version of `rand` and record that in the one *Cargo.lock*. Making all crates in the workspace use the same dependencies means the crates in the workspace will always be compatible with each other. Let’s add the `rand` crate to the `[dependencies]` section in the -*add-one/Cargo.toml* file to be able to use the `rand` crate in the `add-one` +*add_one/Cargo.toml* file to be able to use the `rand` crate in the `add_one` crate: -Filename: add-one/Cargo.toml +Filename: add_one/Cargo.toml ```toml -{{#include ../listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add-one/Cargo.toml:7:8}} +{{#include ../listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add_one/Cargo.toml:7:8}} ``` -We can now add `use rand;` to the *add-one/src/lib.rs* file, and building the +We can now add `use rand;` to the *add_one/src/lib.rs* file, and building the whole workspace by running `cargo build` in the *add* directory will bring in and compile the `rand` crate. We will get one warning because we aren’t referring to the `rand` we brought into scope: @@ -231,9 +231,9 @@ $ cargo build Downloaded rand v0.8.3 --snip-- Compiling rand v0.8.3 - Compiling add-one v0.1.0 (file:///projects/add/add-one) + Compiling add_one v0.1.0 (file:///projects/add/add_one) warning: unused import: `rand` - --> add-one/src/lib.rs:1:5 + --> add_one/src/lib.rs:1:5 | 1 | use rand; | ^^^^ @@ -247,7 +247,7 @@ warning: 1 warning emitted ``` The top-level *Cargo.lock* now contains information about the dependency of -`add-one` on `rand`. However, even though `rand` is used somewhere in the +`add_one` on `rand`. However, even though `rand` is used somewhere in the workspace, we can’t use it in other crates in the workspace unless we add `rand` to their *Cargo.toml* files as well. For example, if we add `use rand;` to the *adder/src/main.rs* file for the `adder` package, we’ll get an error: @@ -283,10 +283,10 @@ in the workspace will be compatible with each other. For another enhancement, let’s add a test of the `add_one::add_one` function within the `add_one` crate: -Filename: add-one/src/lib.rs +Filename: add_one/src/lib.rs ```rust,noplayground -{{#rustdoc_include ../listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add-one/src/lib.rs}} +{{#rustdoc_include ../listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add_one/src/lib.rs}} ``` Now run `cargo test` in the top-level *add* directory: @@ -299,7 +299,7 @@ copy output below; the output updating script doesn't handle subdirectories in p ```console $ cargo test - Compiling add-one v0.1.0 (file:///projects/add/add-one) + Compiling add_one v0.1.0 (file:///projects/add/add_one) Compiling adder v0.1.0 (file:///projects/add/adder) Finished test [unoptimized + debuginfo] target(s) in 0.27s Running target/debug/deps/add_one-f0253159197f7841 @@ -315,17 +315,17 @@ running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s - Doc-tests add-one + Doc-tests add_one running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s ``` -The first section of the output shows that the `it_works` test in the `add-one` +The first section of the output shows that the `it_works` test in the `add_one` crate passed. The next section shows that zero tests were found in the `adder` crate, and then the last section shows zero documentation tests were found in -the `add-one` crate. Running `cargo test` in a workspace structured like this +the `add_one` crate. Running `cargo test` in a workspace structured like this one will run the tests for all the crates in the workspace. We can also run tests for one particular crate in a workspace from the @@ -334,12 +334,12 @@ we want to test: ```console -$ cargo test -p add-one +$ cargo test -p add_one Finished test [unoptimized + debuginfo] target(s) in 0.00s Running target/debug/deps/add_one-b3235fea9a156f74 @@ -348,14 +348,14 @@ test tests::it_works ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s - Doc-tests add-one + Doc-tests add_one running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s ``` -This output shows `cargo test` only ran the tests for the `add-one` crate and +This output shows `cargo test` only ran the tests for the `add_one` crate and didn’t run the `adder` crate tests. If you publish the crates in the workspace to [crates.io](https://crates.io/), @@ -365,7 +365,7 @@ change to each crate’s directory and run `cargo publish` on each crate in the workspace to publish the crates. For additional practice, add an `add-two` crate to this workspace in a similar -way as the `add-one` crate! +way as the `add_one` crate! As your project grows, consider using a workspace: it’s easier to understand smaller, individual components than one big blob of code. Furthermore, keeping From c1a3c873e2bb02f1ea537245a1f73608e55ac4e4 Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Fri, 10 Sep 2021 10:50:35 +0000 Subject: [PATCH 0002/1248] Clarify deref coercion converts reference to a type --- src/ch15-02-deref.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch15-02-deref.md b/src/ch15-02-deref.md index 1daa39ddb7..8c341958fd 100644 --- a/src/ch15-02-deref.md +++ b/src/ch15-02-deref.md @@ -183,7 +183,7 @@ Listing 15-9. *Deref coercion* is a convenience that Rust performs on arguments to functions and methods. Deref coercion works only on types that implement the `Deref` -trait. Deref coercion converts such a type into a reference to another type. +trait. Deref coercion converts reference to such a type into a reference to another type. For example, deref coercion can convert `&String` to `&str` because `String` implements the `Deref` trait such that it returns `&str`. Deref coercion happens automatically when we pass a reference to a particular type’s value as an From f326434dab7fbee344d62cda73a51f8765738aba Mon Sep 17 00:00:00 2001 From: Santiago Date: Wed, 20 Oct 2021 15:44:07 +0200 Subject: [PATCH 0003/1248] Fix line numbers Cargo.toml in cargo-workspaces Updated ch14-03-cargo-workspaces --- src/ch14-03-cargo-workspaces.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch14-03-cargo-workspaces.md b/src/ch14-03-cargo-workspaces.md index 5d8f834284..759c969925 100644 --- a/src/ch14-03-cargo-workspaces.md +++ b/src/ch14-03-cargo-workspaces.md @@ -134,7 +134,7 @@ library. First, we’ll need to add a path dependency on `add-one` to Filename: adder/Cargo.toml ```toml -{{#include ../listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml:7:9}} +{{#include ../listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml:6:8}} ``` Cargo doesn’t assume that crates in a workspace will depend on each other, so From 522f804e4fd3918bc541409f08be1bc7ea1272fa Mon Sep 17 00:00:00 2001 From: Berkus Decker Date: Thu, 18 Nov 2021 20:37:04 +0200 Subject: [PATCH 0004/1248] Clean up a complex phrase While it is semantically correct English, it makes non-english speakers brains boil out and also has some logical issues (being able to prevent data races does not logically imply memory safety of leaks). I've just removed this redundant comparison, simplifying the phrase. Please, native English speakers chime in - it should be possible to further make this phrase better. --- src/ch15-06-reference-cycles.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/ch15-06-reference-cycles.md b/src/ch15-06-reference-cycles.md index 2b70c9fa44..14e31d2d65 100644 --- a/src/ch15-06-reference-cycles.md +++ b/src/ch15-06-reference-cycles.md @@ -2,12 +2,12 @@ Rust’s memory safety guarantees make it difficult, but not impossible, to accidentally create memory that is never cleaned up (known as a *memory leak*). -Preventing memory leaks entirely is not one of Rust’s guarantees in the same -way that disallowing data races at compile time is, meaning memory leaks are -memory safe in Rust. We can see that Rust allows memory leaks by using `Rc` -and `RefCell`: it’s possible to create references where items refer to each -other in a cycle. This creates memory leaks because the reference count of each -item in the cycle will never reach 0, and the values will never be dropped. +Preventing memory leaks entirely is not one of Rust’s guarantees, meaning +[memory leaks][memleaks] are memory safe in Rust. We can see that Rust allows +memory leaks by using `Rc` and `RefCell`: it’s possible to create references +where items refer to each other in a cycle. This creates memory leaks because +the reference count of each item in the cycle will never reach 0, and the values +will never be dropped. ### Creating a Reference Cycle @@ -316,3 +316,4 @@ Next, we’ll talk about concurrency in Rust. You’ll even learn about a few ne smart pointers. [nomicon]: ../nomicon/index.html +[memleaks]: https://en.wikipedia.org/wiki/Memory_leak From 8b89742623513647ba289e0cf96edca4fe6fb022 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 26 Dec 2021 20:18:03 -0500 Subject: [PATCH 0005/1248] Update link to Italian translation. Connects to #2484. --- src/appendix-06-translation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/appendix-06-translation.md b/src/appendix-06-translation.md index af7d614106..2986a958f9 100644 --- a/src/appendix-06-translation.md +++ b/src/appendix-06-translation.md @@ -11,7 +11,7 @@ For resources in languages other than English. Most are still in progress; see - [正體中文](https://github.com/rust-tw/book-tw) - [Українська](https://github.com/pavloslav/rust-book-uk-ua) - [Español](https://github.com/thecodix/book), [alternate](https://github.com/ManRR/rust-book-es) -- [Italiano](https://github.com/AgeOfWar/rust-book-it) +- [Italiano](https://github.com/Ciro-Fusco/book_it) - [Русский](https://github.com/rust-lang-ru/book) - [한국어](https://github.com/rinthel/rust-lang-book-ko) - [日本語](https://github.com/rust-lang-ja/book-ja) From c3a04bacec85c5889a9206246e863d2436074bb6 Mon Sep 17 00:00:00 2001 From: Maxime Chambonnet Date: Sat, 4 Dec 2021 15:39:09 +0100 Subject: [PATCH 0006/1248] appendix-04 IDE integration: Replaced rls by rust-analyzer --- src/appendix-04-useful-development-tools.md | 22 +++++++++------------ 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/appendix-04-useful-development-tools.md b/src/appendix-04-useful-development-tools.md index 2909559af4..f20708b106 100644 --- a/src/appendix-04-useful-development-tools.md +++ b/src/appendix-04-useful-development-tools.md @@ -158,26 +158,22 @@ For more information on Clippy, see [its documentation][clippy]. [clippy]: https://github.com/rust-lang/rust-clippy -### IDE Integration Using the Rust Language Server +### IDE Integration Using `rust-analyzer` -To help IDE integration, the Rust project distributes the *Rust Language -Server* (`rls`). This tool speaks the [Language Server +To help IDE integration, the Rust community promotes the *Rust analyzer*. This tool is a set of compiler-centric utilities, and speaks the [Language Server Protocol][lsp], which is a specification for IDEs and programming -languages to communicate with each other. Different clients can use the `rls`, -such as [the Rust plug-in for Visual Studio Code][vscode]. +languages to communicate with each other. Different clients can use `rust-analyzer`, such as [the Rust analyzer plug-in for Visual Studio Code][vscode]. [lsp]: http://langserver.org/ -[vscode]: https://marketplace.visualstudio.com/items?itemName=rust-lang.rust +[vscode]: https://marketplace.visualstudio.com/items?itemName=matklad.rust-analyzer -To install the `rls`, enter the following: - -```console -$ rustup component add rls -``` +`rust-analyzer` is superseding the first version of a Rust language server: `rls`. +Contrary to `rls`, `rust-analyzer` is not yet available with rustup: visit the project [home page][rust-analyzer] for installation instructions. Then install the language server support in your particular IDE; you’ll gain abilities such as autocompletion, jump to definition, and inline errors. -For more information on the `rls`, see [its documentation][rls]. +For more information on `rust-analyzer`, see [its documentation][rust-analyzer-manual]. -[rls]: https://github.com/rust-lang/rls +[rust-analyzer]: https://rust-analyzer.github.io +[rust-analyzer-manual]: https://rust-analyzer.github.io/manual.html From d48e9884f4e5ecb112095d4e8c55ebc3bce4b009 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 26 Dec 2021 20:25:01 -0500 Subject: [PATCH 0007/1248] Further edits in rust-analyzer text --- src/appendix-04-useful-development-tools.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/appendix-04-useful-development-tools.md b/src/appendix-04-useful-development-tools.md index f20708b106..4f1f3ca953 100644 --- a/src/appendix-04-useful-development-tools.md +++ b/src/appendix-04-useful-development-tools.md @@ -160,20 +160,23 @@ For more information on Clippy, see [its documentation][clippy]. ### IDE Integration Using `rust-analyzer` -To help IDE integration, the Rust community promotes the *Rust analyzer*. This tool is a set of compiler-centric utilities, and speaks the [Language Server -Protocol][lsp], which is a specification for IDEs and programming -languages to communicate with each other. Different clients can use `rust-analyzer`, such as [the Rust analyzer plug-in for Visual Studio Code][vscode]. +To help IDE integration, the Rust community recommends using +[`rust-analyzer`][rust-analyzer]. This tool is a set of compiler-centric +utilities that speaks the [Language Server Protocol][lsp], which is a +specification for IDEs and programming languages to communicate with each +other. Different clients can use `rust-analyzer`, such as [the Rust analyzer +plug-in for Visual Studio Code][vscode]. [lsp]: http://langserver.org/ [vscode]: https://marketplace.visualstudio.com/items?itemName=matklad.rust-analyzer -`rust-analyzer` is superseding the first version of a Rust language server: `rls`. -Contrary to `rls`, `rust-analyzer` is not yet available with rustup: visit the project [home page][rust-analyzer] for installation instructions. +Visit the `rust-analyzer` project’s [home page][rust-analyzer] for installation +instructions, then install the language server support in your particular IDE. +Your IDE will gain abilities such as autocompletion, jump to definition, and +inline errors. -Then install the language server support in your particular IDE; you’ll gain -abilities such as autocompletion, jump to definition, and inline errors. - -For more information on `rust-analyzer`, see [its documentation][rust-analyzer-manual]. +For more information on `rust-analyzer`, see [its +documentation][rust-analyzer-manual]. [rust-analyzer]: https://rust-analyzer.github.io [rust-analyzer-manual]: https://rust-analyzer.github.io/manual.html From d9fe23e72f73ef93e156bf89f7a11fee96eebca8 Mon Sep 17 00:00:00 2001 From: Sudhir Balaji Date: Tue, 7 Dec 2021 12:05:06 +0000 Subject: [PATCH 0008/1248] Fix wrong word typo --- src/ch05-02-example-structs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch05-02-example-structs.md b/src/ch05-02-example-structs.md index a6c16feaed..5d2500dc6a 100644 --- a/src/ch05-02-example-structs.md +++ b/src/ch05-02-example-structs.md @@ -208,7 +208,7 @@ Here’s an example where we’re interested in the value that gets assigned to We can put `dbg!` around the expression `30 * scale` and, because `dbg!` returns ownership of the expression’s value, the `width` field will get the same value as if we didn’t have the `dbg!` call there. We don’t want `dbg!` to -take ownership of `rect1`, so we use a reference to `dbg!` in the next call. +take ownership of `rect1`, so we use a reference to `rect1` in the next call. Here’s what the output of this example looks like: ```console From 53f1492a626501ea6fea6c4919a69bdb736b7dcb Mon Sep 17 00:00:00 2001 From: Rishabhraghwendra18 <43534227+Rishabhraghwendra18@users.noreply.github.com> Date: Wed, 8 Dec 2021 17:00:47 +0530 Subject: [PATCH 0009/1248] interchanged position of `binary` and `library` As per the sentence , I think `binary` should come first because we have mentioned `src/main.rs` before then `library` for `src/lib.rs` . I may be wrong , my English is not too good with best of my knowlege I am proposing this changes . Sorry if I made a mistake --- src/ch07-01-packages-and-crates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch07-01-packages-and-crates.md b/src/ch07-01-packages-and-crates.md index 7292726128..d4411a06ad 100644 --- a/src/ch07-01-packages-and-crates.md +++ b/src/ch07-01-packages-and-crates.md @@ -37,7 +37,7 @@ or binary. Here, we have a package that only contains *src/main.rs*, meaning it only contains a binary crate named `my-project`. If a package contains *src/main.rs* -and *src/lib.rs*, it has two crates: a library and a binary, both with the same +and *src/lib.rs*, it has two crates: a binary and a library, both with the same name as the package. A package can have multiple binary crates by placing files in the *src/bin* directory: each file will be a separate binary crate. From 059f85014f2a96b7a2dcdc23e01c87ae319873bc Mon Sep 17 00:00:00 2001 From: Matthew Kenigsberg <40775676+mkenigs@users.noreply.github.com> Date: Thu, 9 Dec 2021 18:24:06 -0600 Subject: [PATCH 0010/1248] wording: get rid of "to from" I tripped up on "to from" when I first read this --- src/ch03-01-variables-and-mutability.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch03-01-variables-and-mutability.md b/src/ch03-01-variables-and-mutability.md index 261279fb6d..d4d8b54016 100644 --- a/src/ch03-01-variables-and-mutability.md +++ b/src/ch03-01-variables-and-mutability.md @@ -69,7 +69,7 @@ When we run the program now, we get this: {{#include ../listings/ch03-common-programming-concepts/no-listing-02-adding-mut/output.txt}} ``` -We’re allowed to change the value that `x` binds to from `5` to `6` when `mut` +We’re allowed to change the value bound to `x` from `5` to `6` when `mut` is used. There are multiple trade-offs to consider in addition to the prevention of bugs. For example, in cases where you’re using large data structures, mutating an instance in place may be faster than copying and From 649f46856db1352112871141d2aef22f1f3b6dc8 Mon Sep 17 00:00:00 2001 From: Cornelius Roemer Date: Sun, 12 Dec 2021 15:11:07 +0100 Subject: [PATCH 0011/1248] feat: mention `cargo test -- --include-ignored` --- nostarch/chapter11.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nostarch/chapter11.md b/nostarch/chapter11.md index ddf8b1693f..c03ac1e482 100644 --- a/nostarch/chapter11.md +++ b/nostarch/chapter11.md @@ -1174,6 +1174,8 @@ will be fast. When you’re at a point where it makes sense to check the results of the `ignored` tests and you have time to wait for the results, you can run `cargo test -- --ignored` instead. +If you want to run all test, not just the `ignored` tests, you can run `cargo test -- --include-ignored`. + ## Test Organization As mentioned at the start of the chapter, testing is a complex discipline, and From 1721a106f78c037ca3074d9c2d5a8cf9c9852cf7 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 26 Dec 2021 20:30:17 -0500 Subject: [PATCH 0012/1248] Further edits to mention of --include-ignored, propagate to src --- nostarch/chapter11.md | 5 ++--- src/ch11-02-running-tests.md | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nostarch/chapter11.md b/nostarch/chapter11.md index c03ac1e482..78a88cc827 100644 --- a/nostarch/chapter11.md +++ b/nostarch/chapter11.md @@ -1172,9 +1172,8 @@ test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; fini By controlling which tests run, you can make sure your `cargo test` results will be fast. When you’re at a point where it makes sense to check the results of the `ignored` tests and you have time to wait for the results, you can run -`cargo test -- --ignored` instead. - -If you want to run all test, not just the `ignored` tests, you can run `cargo test -- --include-ignored`. +`cargo test -- --ignored` instead. If you want to run all tests whether they’re +ignored or not, you can run `cargo test -- --include-ignored`. ## Test Organization diff --git a/src/ch11-02-running-tests.md b/src/ch11-02-running-tests.md index c33280e349..1d176fbf6a 100644 --- a/src/ch11-02-running-tests.md +++ b/src/ch11-02-running-tests.md @@ -180,4 +180,5 @@ the ignored tests, we can use `cargo test -- --ignored`: By controlling which tests run, you can make sure your `cargo test` results will be fast. When you’re at a point where it makes sense to check the results of the `ignored` tests and you have time to wait for the results, you can run -`cargo test -- --ignored` instead. +`cargo test -- --ignored` instead. If you want to run all tests whether they’re +ignored or not, you can run `cargo test -- --include-ignored`. From 290abe9413d4bc635996ce467c68b045aac7f7fc Mon Sep 17 00:00:00 2001 From: Daniel Strobusch <1847260+dastrobu@users.noreply.github.com> Date: Thu, 16 Dec 2021 12:21:53 +0100 Subject: [PATCH 0013/1248] fix title capitalization Signed-off-by: Daniel Strobusch <1847260+dastrobu@users.noreply.github.com> --- nostarch/chapter08.md | 2 +- src/ch08-01-vectors.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nostarch/chapter08.md b/nostarch/chapter08.md index ed37b3c41e..89618120f6 100644 --- a/nostarch/chapter08.md +++ b/nostarch/chapter08.md @@ -222,7 +222,7 @@ programs from ending up in that situation. > Note: For more on the implementation details of the `Vec` type, see “The > Rustonomicon” at *https://doc.rust-lang.org/nomicon/vec/vec.html*. -### Iterating over the Values in a Vector +### Iterating Over the Values in a Vector If we want to access each element in a vector in turn, we can iterate through all of the elements rather than use indices to access one at a time. Listing diff --git a/src/ch08-01-vectors.md b/src/ch08-01-vectors.md index c629cc5aab..15cf84db5e 100644 --- a/src/ch08-01-vectors.md +++ b/src/ch08-01-vectors.md @@ -165,7 +165,7 @@ programs from ending up in that situation. > Note: For more on the implementation details of the `Vec` type, see [“The > Rustonomicon”][nomicon]. -### Iterating over the Values in a Vector +### Iterating Over the Values in a Vector If we want to access each element in a vector in turn, we can iterate through all of the elements rather than use indices to access one at a time. Listing From 9716a2223d700183a86f95e1d5db6ddd4fbb3f39 Mon Sep 17 00:00:00 2001 From: Himanshu Date: Wed, 22 Dec 2021 08:30:44 +0530 Subject: [PATCH 0014/1248] Emphasize return type is mandatory After being introduced to rust's type inference capabilities, I wrongly expected it to also infer return types. As this is the first point of introduction to function return types, we could further emphasize that the return type **must** be specified. --- src/ch03-03-how-functions-work.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch03-03-how-functions-work.md b/src/ch03-03-how-functions-work.md index 76aa243ab2..25c332340d 100644 --- a/src/ch03-03-how-functions-work.md +++ b/src/ch03-03-how-functions-work.md @@ -179,7 +179,7 @@ Keep this in mind as you explore function return values and expressions next. ### Functions with Return Values Functions can return values to the code that calls them. We don’t name return -values, but we do declare their type after an arrow (`->`). In Rust, the return +values, but we must declare their type after an arrow (`->`). In Rust, the return value of the function is synonymous with the value of the final expression in the block of the body of a function. You can return early from a function by using the `return` keyword and specifying a value, but most functions return From 3cb562efb67fd5b57c0b20c316cbb8179133e196 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 26 Dec 2021 20:31:59 -0500 Subject: [PATCH 0015/1248] Fix word wrapping --- src/ch03-03-how-functions-work.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ch03-03-how-functions-work.md b/src/ch03-03-how-functions-work.md index 25c332340d..fea2248e82 100644 --- a/src/ch03-03-how-functions-work.md +++ b/src/ch03-03-how-functions-work.md @@ -179,12 +179,12 @@ Keep this in mind as you explore function return values and expressions next. ### Functions with Return Values Functions can return values to the code that calls them. We don’t name return -values, but we must declare their type after an arrow (`->`). In Rust, the return -value of the function is synonymous with the value of the final expression in -the block of the body of a function. You can return early from a function by -using the `return` keyword and specifying a value, but most functions return -the last expression implicitly. Here’s an example of a function that returns a -value: +values, but we must declare their type after an arrow (`->`). In Rust, the +return value of the function is synonymous with the value of the final +expression in the block of the body of a function. You can return early from a +function by using the `return` keyword and specifying a value, but most +functions return the last expression implicitly. Here’s an example of a +function that returns a value: Filename: src/main.rs From cbd13311c3a7dc62476602c8bd30bcf832b02956 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 23 Dec 2021 16:22:46 -0500 Subject: [PATCH 0016/1248] Remove most of the 2018 edition text from the title page. Fixes #2852. --- src/title-page.md | 35 +++-------------------------------- 1 file changed, 3 insertions(+), 32 deletions(-) diff --git a/src/title-page.md b/src/title-page.md index 3e2af89cb6..86f19fbb14 100644 --- a/src/title-page.md +++ b/src/title-page.md @@ -2,38 +2,9 @@ *by Steve Klabnik and Carol Nichols, with contributions from the Rust Community* -This version of the text assumes you’re using Rust 1.57 or later with -`edition="2018"` in *Cargo.toml* of all projects to use Rust 2018 Edition -idioms. See the [“Installation” section of Chapter 1][install] -to install or update Rust, and see the new [Appendix E][editions] for information on editions. - -The 2018 Edition of the Rust language includes a number of improvements that -make Rust more ergonomic and easier to learn. This iteration of the book -contains a number of changes to reflect those improvements: - -- Chapter 7, “Managing Growing Projects with Packages, Crates, and Modules,” - has been mostly rewritten. The module system and the way paths work in the - 2018 Edition were made more consistent. -- Chapter 10 has new sections titled “Traits as Parameters” and “Returning - Types that Implement Traits” that explain the new `impl Trait` syntax. -- Chapter 11 has a new section titled “Using `Result` in Tests” that - shows how to write tests that use the `?` operator. -- The “Advanced Lifetimes” section in Chapter 19 was removed because compiler - improvements have made the constructs in that section even rarer. -- The previous Appendix D, “Macros,” has been expanded to include procedural - macros and was moved to the “Macros” section in Chapter 19. -- Appendix A, “Keywords,” also explains the new raw identifiers feature that - enables code written in the 2015 Edition and the 2018 Edition to interoperate. -- Appendix D is now titled “Useful Development Tools” and covers recently - released tools that help you write Rust code. -- We fixed a number of small errors and imprecise wording throughout the book. - Thank you to the readers who reported them! - -Note that any code in earlier iterations of *The Rust Programming Language* -that compiled will continue to compile without `edition="2018"` in the -project’s *Cargo.toml*, even as you update the Rust compiler version you’re -using. That’s Rust’s backward compatibility guarantees at work! +This version of the text assumes you’re using Rust 1.57 (released 2021-12-02) +or later. See the [“Installation” section of Chapter 1][install] +to install or update Rust. The HTML format is available online at [https://doc.rust-lang.org/stable/book/](https://doc.rust-lang.org/stable/book/) From 8cf0496bb8e56b683ea3f015871c8631684decf4 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 23 Dec 2021 16:23:33 -0500 Subject: [PATCH 0017/1248] Update the book to either say 2021 edition or not talk about editions Connected to #2824. --- src/appendix-05-editions.md | 4 ++-- src/ch01-03-hello-cargo.md | 2 +- src/ch04-02-references-and-borrowing.md | 2 +- src/ch14-02-publishing-to-crates-io.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/appendix-05-editions.md b/src/appendix-05-editions.md index db98ecc5ee..90828ebbaf 100644 --- a/src/appendix-05-editions.md +++ b/src/appendix-05-editions.md @@ -24,8 +24,8 @@ Editions serve different purposes for different people: * For those developing Rust, a new edition provides a rallying point for the project as a whole. -At the time of this writing, two Rust editions are available: Rust 2015 and -Rust 2018. This book is written using Rust 2018 edition idioms. +At the time of this writing, three Rust editions are available: Rust 2015, Rust +2018, and Rust 2021. This book is written using Rust 2021 edition idioms. The `edition` key in *Cargo.toml* indicates which edition the compiler should use for your code. If the key doesn’t exist, Rust uses `2015` as the edition diff --git a/src/ch01-03-hello-cargo.md b/src/ch01-03-hello-cargo.md index 2c018a04da..f42681aecd 100644 --- a/src/ch01-03-hello-cargo.md +++ b/src/ch01-03-hello-cargo.md @@ -64,7 +64,7 @@ code in Listing 1-2. [package] name = "hello_cargo" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] ``` diff --git a/src/ch04-02-references-and-borrowing.md b/src/ch04-02-references-and-borrowing.md index 82b7a7b31d..7c24d87315 100644 --- a/src/ch04-02-references-and-borrowing.md +++ b/src/ch04-02-references-and-borrowing.md @@ -165,7 +165,7 @@ through the last time that reference is used. For instance, this code will compile because the last usage of the immutable references, the `println!`, occurs before the mutable reference is introduced: -```rust,edition2018 +```rust,edition2021 {{#rustdoc_include ../listings/ch04-understanding-ownership/no-listing-13-reference-scope-ends/src/main.rs:here}} ``` diff --git a/src/ch14-02-publishing-to-crates-io.md b/src/ch14-02-publishing-to-crates-io.md index 4fde74a2ac..baa8738b91 100644 --- a/src/ch14-02-publishing-to-crates-io.md +++ b/src/ch14-02-publishing-to-crates-io.md @@ -369,7 +369,7 @@ With a unique name, the version, your description, and a license added, the [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" description = "A fun game where you guess what number the computer has chosen." license = "MIT OR Apache-2.0" From ab4f04cbe6b9b506bc1a12d8f3e2ae0759e37427 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 23 Dec 2021 16:35:49 -0500 Subject: [PATCH 0018/1248] Update the edition in all the listings' Cargo.toml --- ADMIN_TASKS.md | 5 +++++ .../ch02-guessing-game-tutorial/listing-02-01/Cargo.toml | 2 +- .../ch02-guessing-game-tutorial/listing-02-02/Cargo.toml | 2 +- .../ch02-guessing-game-tutorial/listing-02-03/Cargo.toml | 2 +- .../ch02-guessing-game-tutorial/listing-02-04/Cargo.toml | 2 +- .../ch02-guessing-game-tutorial/listing-02-05/Cargo.toml | 2 +- .../ch02-guessing-game-tutorial/listing-02-06/Cargo.toml | 2 +- .../no-listing-01-cargo-new/Cargo.toml | 2 +- .../no-listing-02-without-expect/Cargo.toml | 2 +- .../no-listing-03-convert-string-to-number/Cargo.toml | 2 +- .../no-listing-04-looping/Cargo.toml | 2 +- .../no-listing-05-quitting/Cargo.toml | 2 +- .../listing-03-01/Cargo.toml | 2 +- .../listing-03-02/Cargo.toml | 2 +- .../listing-03-03/Cargo.toml | 2 +- .../listing-03-04/Cargo.toml | 2 +- .../listing-03-05/Cargo.toml | 2 +- .../no-listing-01-variables-are-immutable/Cargo.toml | 2 +- .../no-listing-02-adding-mut/Cargo.toml | 2 +- .../no-listing-03-shadowing/Cargo.toml | 2 +- .../no-listing-04-shadowing-can-change-types/Cargo.toml | 2 +- .../no-listing-05-mut-cant-change-types/Cargo.toml | 2 +- .../no-listing-06-floating-point/Cargo.toml | 2 +- .../no-listing-07-numeric-operations/Cargo.toml | 2 +- .../no-listing-08-boolean/Cargo.toml | 2 +- .../no-listing-09-char/Cargo.toml | 2 +- .../no-listing-10-tuples/Cargo.toml | 2 +- .../no-listing-11-destructuring-tuples/Cargo.toml | 2 +- .../no-listing-12-tuple-indexing/Cargo.toml | 2 +- .../no-listing-13-arrays/Cargo.toml | 2 +- .../no-listing-14-array-indexing/Cargo.toml | 2 +- .../no-listing-15-invalid-array-access/Cargo.toml | 2 +- .../no-listing-16-functions/Cargo.toml | 2 +- .../no-listing-17-functions-with-parameters/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../no-listing-19-statements-vs-expressions/Cargo.toml | 2 +- .../no-listing-20-blocks-are-expressions/Cargo.toml | 2 +- .../no-listing-21-function-return-values/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../no-listing-24-comments-end-of-line/Cargo.toml | 2 +- .../no-listing-25-comments-above-line/Cargo.toml | 2 +- .../no-listing-26-if-true/Cargo.toml | 2 +- .../no-listing-27-if-false/Cargo.toml | 2 +- .../no-listing-28-if-condition-must-be-bool/Cargo.toml | 2 +- .../no-listing-29-if-not-equal-0/Cargo.toml | 2 +- .../no-listing-30-else-if/Cargo.toml | 2 +- .../no-listing-31-arms-must-return-same-type/Cargo.toml | 2 +- .../no-listing-32-5-loop-labels/Cargo.toml | 2 +- .../no-listing-32-loop/Cargo.toml | 2 +- .../no-listing-33-return-value-from-loop/Cargo.toml | 2 +- .../no-listing-34-for-range/Cargo.toml | 2 +- .../output-only-01-no-type-annotations/Cargo.toml | 2 +- .../ch04-understanding-ownership/listing-04-01/Cargo.toml | 2 +- .../ch04-understanding-ownership/listing-04-02/Cargo.toml | 2 +- .../ch04-understanding-ownership/listing-04-03/Cargo.toml | 2 +- .../ch04-understanding-ownership/listing-04-04/Cargo.toml | 2 +- .../ch04-understanding-ownership/listing-04-05/Cargo.toml | 2 +- .../ch04-understanding-ownership/listing-04-06/Cargo.toml | 2 +- .../ch04-understanding-ownership/listing-04-07/Cargo.toml | 2 +- .../ch04-understanding-ownership/listing-04-08/Cargo.toml | 2 +- .../ch04-understanding-ownership/listing-04-09/Cargo.toml | 2 +- .../no-listing-01-can-mutate-string/Cargo.toml | 2 +- .../no-listing-02-string-scope/Cargo.toml | 2 +- .../no-listing-03-string-move/Cargo.toml | 2 +- .../no-listing-04-cant-use-after-move/Cargo.toml | 2 +- .../no-listing-05-clone/Cargo.toml | 2 +- .../no-listing-06-copy/Cargo.toml | 2 +- .../no-listing-07-reference/Cargo.toml | 2 +- .../no-listing-08-reference-with-annotations/Cargo.toml | 2 +- .../no-listing-09-fixes-listing-04-06/Cargo.toml | 2 +- .../no-listing-10-multiple-mut-not-allowed/Cargo.toml | 2 +- .../no-listing-11-muts-in-separate-scopes/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../no-listing-13-reference-scope-ends/Cargo.toml | 2 +- .../no-listing-14-dangling-reference/Cargo.toml | 2 +- .../no-listing-15-dangling-reference-annotated/Cargo.toml | 2 +- .../no-listing-16-no-dangle/Cargo.toml | 2 +- .../no-listing-17-slice/Cargo.toml | 2 +- .../no-listing-18-first-word-slice/Cargo.toml | 2 +- .../no-listing-19-slice-error/Cargo.toml | 2 +- .../listing-05-01/Cargo.toml | 2 +- .../listing-05-02/Cargo.toml | 2 +- .../listing-05-03/Cargo.toml | 2 +- .../listing-05-04/Cargo.toml | 2 +- .../listing-05-05/Cargo.toml | 2 +- .../listing-05-06/Cargo.toml | 2 +- .../listing-05-07/Cargo.toml | 2 +- .../listing-05-08/Cargo.toml | 2 +- .../listing-05-09/Cargo.toml | 2 +- .../listing-05-10/Cargo.toml | 2 +- .../listing-05-11/Cargo.toml | 2 +- .../listing-05-12/Cargo.toml | 2 +- .../listing-05-13/Cargo.toml | 2 +- .../listing-05-14/Cargo.toml | 2 +- .../listing-05-15/Cargo.toml | 2 +- .../listing-05-16/Cargo.toml | 2 +- .../no-listing-01-tuple-structs/Cargo.toml | 2 +- .../no-listing-02-reference-in-struct/Cargo.toml | 2 +- .../no-listing-03-associated-functions/Cargo.toml | 2 +- .../no-listing-04-unit-like-structs/Cargo.toml | 2 +- .../no-listing-05-dbg-macro/Cargo.toml | 2 +- .../no-listing-06-method-field-interaction/Cargo.toml | 2 +- .../output-only-01-debug/Cargo.toml | 2 +- .../output-only-02-pretty-debug/Cargo.toml | 2 +- .../listing-06-01/Cargo.toml | 2 +- .../listing-06-02/Cargo.toml | 2 +- .../listing-06-03/Cargo.toml | 2 +- .../listing-06-04/Cargo.toml | 2 +- .../listing-06-05/Cargo.toml | 2 +- .../listing-06-06/Cargo.toml | 2 +- .../no-listing-01-defining-enums/Cargo.toml | 2 +- .../no-listing-02-enum-with-data/Cargo.toml | 2 +- .../no-listing-03-variants-with-different-data/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../no-listing-05-methods-on-enums/Cargo.toml | 2 +- .../no-listing-06-option-examples/Cargo.toml | 2 +- .../no-listing-07-cant-use-option-directly/Cargo.toml | 2 +- .../no-listing-08-match-arm-multiple-lines/Cargo.toml | 2 +- .../no-listing-09-variable-in-pattern/Cargo.toml | 2 +- .../no-listing-10-non-exhaustive-match/Cargo.toml | 2 +- .../no-listing-12-if-let/Cargo.toml | 2 +- .../no-listing-13-count-and-announce-match/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../no-listing-15-binding-catchall/Cargo.toml | 2 +- .../no-listing-16-underscore-catchall/Cargo.toml | 2 +- .../no-listing-17-underscore-unit/Cargo.toml | 2 +- .../listing-07-01/Cargo.toml | 2 +- .../listing-07-03/Cargo.toml | 2 +- .../listing-07-05/Cargo.toml | 2 +- .../listing-07-07/Cargo.toml | 2 +- .../listing-07-08/Cargo.toml | 2 +- .../listing-07-09/Cargo.toml | 2 +- .../listing-07-10/Cargo.toml | 2 +- .../listing-07-11/Cargo.toml | 2 +- .../listing-07-12/Cargo.toml | 2 +- .../listing-07-13/Cargo.toml | 2 +- .../listing-07-14/Cargo.toml | 2 +- .../listing-07-15/Cargo.toml | 2 +- .../listing-07-16/Cargo.toml | 2 +- .../listing-07-17/Cargo.toml | 2 +- .../listing-07-18/Cargo.toml | 2 +- .../listing-07-19/Cargo.toml | 2 +- .../listing-07-20/Cargo.toml | 2 +- .../listing-07-21-and-22/Cargo.toml | 2 +- .../no-listing-01-use-std-unnested/Cargo.toml | 2 +- .../no-listing-02-extracting-hosting/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-01/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-02/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-03/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-04/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-05/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-06/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-07/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-08/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-09/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-10/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-11/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-12/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-13/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-14/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-15/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-16/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-17/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-18/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-19/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-20/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-21/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-22/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-23/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-24/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-25/Cargo.toml | 2 +- listings/ch08-common-collections/listing-08-26/Cargo.toml | 2 +- .../no-listing-01-concat-multiple-strings/Cargo.toml | 2 +- .../no-listing-02-format/Cargo.toml | 2 +- .../no-listing-03-iterate-over-hashmap/Cargo.toml | 2 +- .../output-only-01-not-char-boundary/Cargo.toml | 2 +- listings/ch09-error-handling/listing-09-01/Cargo.toml | 2 +- listings/ch09-error-handling/listing-09-03/Cargo.toml | 2 +- listings/ch09-error-handling/listing-09-04/Cargo.toml | 2 +- listings/ch09-error-handling/listing-09-05/Cargo.toml | 2 +- listings/ch09-error-handling/listing-09-06/Cargo.toml | 2 +- listings/ch09-error-handling/listing-09-07/Cargo.toml | 2 +- listings/ch09-error-handling/listing-09-08/Cargo.toml | 2 +- listings/ch09-error-handling/listing-09-09/Cargo.toml | 2 +- listings/ch09-error-handling/listing-09-10/Cargo.toml | 2 +- listings/ch09-error-handling/listing-09-11/Cargo.toml | 2 +- listings/ch09-error-handling/listing-09-12/Cargo.toml | 2 +- listings/ch09-error-handling/listing-09-13/Cargo.toml | 2 +- .../ch09-error-handling/no-listing-01-panic/Cargo.toml | 2 +- .../no-listing-02-ask-compiler-for-type/Cargo.toml | 2 +- .../ch09-error-handling/no-listing-03-closures/Cargo.toml | 2 +- .../ch09-error-handling/no-listing-04-unwrap/Cargo.toml | 2 +- .../ch09-error-handling/no-listing-05-expect/Cargo.toml | 2 +- .../no-listing-08-unwrap-that-cant-fail/Cargo.toml | 2 +- .../no-listing-09-guess-out-of-range/Cargo.toml | 2 +- .../listing-10-01/Cargo.toml | 2 +- .../listing-10-02/Cargo.toml | 2 +- .../listing-10-03/Cargo.toml | 2 +- .../listing-10-04/Cargo.toml | 2 +- .../listing-10-05/Cargo.toml | 2 +- .../listing-10-06/Cargo.toml | 2 +- .../listing-10-07/Cargo.toml | 2 +- .../listing-10-08/Cargo.toml | 2 +- .../listing-10-09/Cargo.toml | 2 +- .../listing-10-10/Cargo.toml | 2 +- .../listing-10-11/Cargo.toml | 2 +- .../listing-10-12/Cargo.toml | 2 +- .../listing-10-13/Cargo.toml | 2 +- .../listing-10-14/Cargo.toml | 2 +- .../listing-10-15/Cargo.toml | 2 +- .../listing-10-16/Cargo.toml | 2 +- .../listing-10-17/Cargo.toml | 2 +- .../listing-10-18/Cargo.toml | 2 +- .../listing-10-19/Cargo.toml | 2 +- .../listing-10-20/Cargo.toml | 2 +- .../listing-10-21/Cargo.toml | 2 +- .../listing-10-22/Cargo.toml | 2 +- .../listing-10-23/Cargo.toml | 2 +- .../listing-10-24/Cargo.toml | 2 +- .../listing-10-25/Cargo.toml | 2 +- .../listing-10-26/Cargo.toml | 2 +- .../no-listing-01-calling-trait-method/Cargo.toml | 2 +- .../no-listing-02-calling-default-impl/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../no-listing-04-traits-as-parameters/Cargo.toml | 2 +- .../no-listing-05-returning-impl-trait/Cargo.toml | 2 +- .../no-listing-06-impl-trait-returns-one-type/Cargo.toml | 2 +- .../no-listing-07-fixing-listing-10-05/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../no-listing-09-unrelated-lifetime/Cargo.toml | 2 +- .../no-listing-10-lifetimes-on-methods/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../ch11-writing-automated-tests/listing-11-01/Cargo.toml | 2 +- .../ch11-writing-automated-tests/listing-11-03/Cargo.toml | 2 +- .../ch11-writing-automated-tests/listing-11-05/Cargo.toml | 2 +- .../ch11-writing-automated-tests/listing-11-06/Cargo.toml | 2 +- .../ch11-writing-automated-tests/listing-11-07/Cargo.toml | 2 +- .../ch11-writing-automated-tests/listing-11-08/Cargo.toml | 2 +- .../ch11-writing-automated-tests/listing-11-09/Cargo.toml | 2 +- .../ch11-writing-automated-tests/listing-11-10/Cargo.toml | 2 +- .../ch11-writing-automated-tests/listing-11-11/Cargo.toml | 2 +- .../ch11-writing-automated-tests/listing-11-12/Cargo.toml | 2 +- .../ch11-writing-automated-tests/listing-11-13/Cargo.toml | 2 +- .../no-listing-01-changing-test-name/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../no-listing-03-introducing-a-bug/Cargo.toml | 2 +- .../no-listing-04-bug-in-add-two/Cargo.toml | 2 +- .../no-listing-05-greeter/Cargo.toml | 2 +- .../no-listing-06-greeter-with-bug/Cargo.toml | 2 +- .../no-listing-07-custom-failure-message/Cargo.toml | 2 +- .../no-listing-08-guess-with-bug/Cargo.toml | 2 +- .../no-listing-09-guess-with-panic-msg-bug/Cargo.toml | 2 +- .../no-listing-10-result-in-tests/Cargo.toml | 2 +- .../no-listing-11-ignore-a-test/Cargo.toml | 2 +- .../no-listing-12-shared-test-code-problem/Cargo.toml | 2 +- .../no-listing-13-fix-shared-test-code-problem/Cargo.toml | 2 +- .../output-only-01-show-output/Cargo.toml | 2 +- .../output-only-02-single-test/Cargo.toml | 2 +- .../output-only-03-multiple-tests/Cargo.toml | 2 +- .../output-only-04-running-ignored/Cargo.toml | 2 +- .../output-only-05-single-integration/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-01/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-02/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-03/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-04/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-05/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-06/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-07/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-08/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-09/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-10/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-11/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-12/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-13/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-14/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-15/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-16/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-17/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-18/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-19/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-20/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-21/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-22/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-23/Cargo.toml | 2 +- listings/ch12-an-io-project/listing-12-24/Cargo.toml | 2 +- .../no-listing-01-handling-errors-in-main/Cargo.toml | 2 +- .../no-listing-02-using-search-in-run/Cargo.toml | 2 +- .../output-only-01-with-args/Cargo.toml | 2 +- .../output-only-02-missing-lifetimes/Cargo.toml | 2 +- .../output-only-03-multiple-matches/Cargo.toml | 2 +- .../output-only-04-no-matches/Cargo.toml | 2 +- .../listing-12-23-reproduced/Cargo.toml | 2 +- .../listing-12-24-reproduced/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-01/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-02/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-03/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-04/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-05/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-06/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-07/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-08/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-09/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-10/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-11/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-12/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-13/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-14/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-15/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-16/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-17/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-18/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-19/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-20/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-21/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-22/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-23/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-25/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-26/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-27/Cargo.toml | 2 +- .../ch13-functional-features/listing-13-29/Cargo.toml | 2 +- .../no-listing-01-failing-cacher-test/Cargo.toml | 2 +- .../no-listing-02-functions-cant-capture/Cargo.toml | 2 +- .../no-listing-03-move-closures/Cargo.toml | 2 +- listings/ch14-more-about-cargo/listing-14-01/Cargo.toml | 2 +- listings/ch14-more-about-cargo/listing-14-02/Cargo.toml | 2 +- listings/ch14-more-about-cargo/listing-14-03/Cargo.toml | 2 +- listings/ch14-more-about-cargo/listing-14-04/Cargo.toml | 2 +- listings/ch14-more-about-cargo/listing-14-05/Cargo.toml | 2 +- listings/ch14-more-about-cargo/listing-14-06/Cargo.toml | 2 +- .../listing-14-07/add/add-one/Cargo.toml | 2 +- .../listing-14-07/add/adder/Cargo.toml | 2 +- .../add/adder/Cargo.toml | 2 +- .../add/add-one/Cargo.toml | 2 +- .../add/adder/Cargo.toml | 2 +- .../add/add-one/Cargo.toml | 2 +- .../add/adder/Cargo.toml | 2 +- .../add/add-one/Cargo.toml | 2 +- .../add/adder/Cargo.toml | 2 +- .../output-only-02-add-one/add/add-one/Cargo.toml | 2 +- .../output-only-02-add-one/add/adder/Cargo.toml | 2 +- .../output-only-03-use-rand/add/add-one/Cargo.toml | 2 +- .../output-only-03-use-rand/add/adder/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-01/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-02/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-03/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-05/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-06/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-07/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-08/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-09/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-10/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-11/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-12/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-13/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-14/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-15/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-16/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-17/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-18/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-19/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-20/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-21/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-22/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-23/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-24/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-25/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-26/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-27/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-28/Cargo.toml | 2 +- listings/ch15-smart-pointers/listing-15-29/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../output-only-01-comparing-to-reference/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-01/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-02/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-03/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-04/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-05/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-06/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-07/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-08/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-09/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-10/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-11/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-12/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-13/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-14/Cargo.toml | 2 +- .../ch16-fearless-concurrency/listing-16-15/Cargo.toml | 2 +- .../no-listing-01-join-too-early/Cargo.toml | 2 +- .../no-listing-02-no-loop-to-understand-error/Cargo.toml | 2 +- .../output-only-01-move-drop/Cargo.toml | 2 +- listings/ch17-oop/listing-17-01/Cargo.toml | 2 +- listings/ch17-oop/listing-17-02/Cargo.toml | 2 +- listings/ch17-oop/listing-17-03/Cargo.toml | 2 +- listings/ch17-oop/listing-17-04/Cargo.toml | 2 +- listings/ch17-oop/listing-17-05/Cargo.toml | 2 +- listings/ch17-oop/listing-17-06/Cargo.toml | 2 +- listings/ch17-oop/listing-17-07/Cargo.toml | 2 +- listings/ch17-oop/listing-17-08/Cargo.toml | 2 +- listings/ch17-oop/listing-17-09/Cargo.toml | 2 +- listings/ch17-oop/listing-17-10/Cargo.toml | 2 +- listings/ch17-oop/listing-17-11/Cargo.toml | 2 +- listings/ch17-oop/listing-17-12/Cargo.toml | 2 +- listings/ch17-oop/listing-17-13/Cargo.toml | 2 +- listings/ch17-oop/listing-17-14/Cargo.toml | 2 +- listings/ch17-oop/listing-17-15/Cargo.toml | 2 +- listings/ch17-oop/listing-17-16/Cargo.toml | 2 +- listings/ch17-oop/listing-17-17/Cargo.toml | 2 +- listings/ch17-oop/listing-17-18/Cargo.toml | 2 +- listings/ch17-oop/listing-17-19/Cargo.toml | 2 +- listings/ch17-oop/listing-17-20/Cargo.toml | 2 +- listings/ch17-oop/listing-17-21/Cargo.toml | 2 +- .../no-listing-01-trait-object-of-clone/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-01/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-02/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-03/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-04/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-05/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-06/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-07/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-08/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-09/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-10/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-11/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-12/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-13/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-14/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-15/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-16/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-17/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-18/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-19/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-20/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-21/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-22/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-23/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-24/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-25/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-26/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-27/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-28/Cargo.toml | 2 +- .../ch18-patterns-and-matching/listing-18-29/Cargo.toml | 2 +- .../no-listing-01-literals/Cargo.toml | 2 +- .../no-listing-02-multiple-patterns/Cargo.toml | 2 +- .../no-listing-03-ranges/Cargo.toml | 2 +- .../no-listing-04-ranges-of-char/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../listing-13-21-reproduced/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-01/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-02/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-03/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-04/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-05/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-06/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-07/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-08/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-09/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-10/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-11/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-12/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-13/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-14/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-15/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-16/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-17/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-18/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-19/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-20/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-21/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-22/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-23/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-24/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-25/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-27/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-28/Cargo.toml | 2 +- listings/ch19-advanced-features/listing-19-30/Cargo.toml | 2 +- .../listing-19-31/hello_macro/Cargo.toml | 2 +- .../hello_macro/hello_macro_derive/Cargo.toml | 2 +- .../listing-19-33/hello_macro/Cargo.toml | 2 +- .../hello_macro/hello_macro_derive/Cargo.toml | 2 +- .../no-listing-01-unsafe-fn/Cargo.toml | 2 +- .../no-listing-02-impl-outlineprint-for-point/Cargo.toml | 2 +- .../no-listing-03-impl-display-for-point/Cargo.toml | 2 +- .../no-listing-04-kilometers-alias/Cargo.toml | 2 +- .../no-listing-05-write-trait/Cargo.toml | 2 +- .../no-listing-06-result-alias/Cargo.toml | 2 +- .../no-listing-07-never-type/Cargo.toml | 2 +- .../no-listing-08-match-arms-different-types/Cargo.toml | 2 +- .../no-listing-09-unwrap-definition/Cargo.toml | 2 +- .../no-listing-10-loop-returns-never/Cargo.toml | 2 +- .../no-listing-11-cant-create-str/Cargo.toml | 2 +- .../no-listing-12-generic-fn-definition/Cargo.toml | 2 +- .../no-listing-13-generic-implicit-sized-bound/Cargo.toml | 2 +- .../no-listing-14-generic-maybe-sized/Cargo.toml | 2 +- .../no-listing-15-map-closure/Cargo.toml | 2 +- .../no-listing-16-map-function/Cargo.toml | 2 +- .../no-listing-17-map-initializer/Cargo.toml | 2 +- .../no-listing-18-returns-closure/Cargo.toml | 2 +- .../no-listing-19-returns-closure-trait-object/Cargo.toml | 2 +- .../hello_macro/Cargo.toml | 2 +- .../pancakes/Cargo.toml | 2 +- .../no-listing-21-pancakes/hello_macro/Cargo.toml | 2 +- .../hello_macro/hello_macro_derive/Cargo.toml | 2 +- .../no-listing-21-pancakes/pancakes/Cargo.toml | 2 +- .../output-only-01-missing-unsafe/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-01/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-02/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-03/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-04/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-05/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-06/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-07/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-08/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-09/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-10/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-11/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-12/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-13/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-14/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-15/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-16/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-17/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-18/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-19/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-20/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-21/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-22/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-23/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-24/Cargo.toml | 2 +- listings/ch20-web-server/listing-20-25/Cargo.toml | 2 +- .../no-listing-01-define-threadpool-struct/Cargo.toml | 2 +- .../no-listing-02-impl-threadpool-new/Cargo.toml | 2 +- .../no-listing-03-define-execute/Cargo.toml | 2 +- .../no-listing-04-update-worker-definition/Cargo.toml | 2 +- .../no-listing-05-fix-worker-new/Cargo.toml | 2 +- .../no-listing-06-fix-threadpool-drop/Cargo.toml | 2 +- .../no-listing-07-define-message-enum/Cargo.toml | 2 +- .../ch20-web-server/no-listing-08-final-code/Cargo.toml | 2 +- tools/update-editions.sh | 8 ++++++++ 539 files changed, 550 insertions(+), 537 deletions(-) create mode 100755 tools/update-editions.sh diff --git a/ADMIN_TASKS.md b/ADMIN_TASKS.md index fc982380fa..7c152577f1 100644 --- a/ADMIN_TASKS.md +++ b/ADMIN_TASKS.md @@ -18,6 +18,11 @@ occasional maintenance tasks. - Grep for `manual-regeneration` and follow the instructions in those places to update output that cannot be generated by a script +## Update the `edition` in all listings + +To update the `edition = "[year]"` metadata in all the listings' `Cargo.toml`s, +run the `./tools/update-editions.sh` script and commit the changes. + ## Release a new version of the listings We now make `.tar` files of complete projects containing every listing diff --git a/listings/ch02-guessing-game-tutorial/listing-02-01/Cargo.toml b/listings/ch02-guessing-game-tutorial/listing-02-01/Cargo.toml index 242309f93b..78c94fef95 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-01/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/listing-02-01/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.toml b/listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.toml index 172ae61641..cc63f6f021 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.toml b/listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.toml index 172ae61641..cc63f6f021 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.toml b/listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.toml index 172ae61641..cc63f6f021 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.toml b/listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.toml index 172ae61641..cc63f6f021 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.toml b/listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.toml index 172ae61641..cc63f6f021 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/Cargo.toml b/listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/Cargo.toml index 242309f93b..78c94fef95 100644 --- a/listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch02-guessing-game-tutorial/no-listing-02-without-expect/Cargo.toml b/listings/ch02-guessing-game-tutorial/no-listing-02-without-expect/Cargo.toml index 242309f93b..78c94fef95 100644 --- a/listings/ch02-guessing-game-tutorial/no-listing-02-without-expect/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/no-listing-02-without-expect/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.toml b/listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.toml index 172ae61641..cc63f6f021 100644 --- a/listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.toml b/listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.toml index 172ae61641..cc63f6f021 100644 --- a/listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.toml b/listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.toml index 172ae61641..cc63f6f021 100644 --- a/listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch03-common-programming-concepts/listing-03-01/Cargo.toml b/listings/ch03-common-programming-concepts/listing-03-01/Cargo.toml index 10f40538b4..478b346fd5 100644 --- a/listings/ch03-common-programming-concepts/listing-03-01/Cargo.toml +++ b/listings/ch03-common-programming-concepts/listing-03-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/listing-03-02/Cargo.toml b/listings/ch03-common-programming-concepts/listing-03-02/Cargo.toml index 71c3f86640..659645556b 100644 --- a/listings/ch03-common-programming-concepts/listing-03-02/Cargo.toml +++ b/listings/ch03-common-programming-concepts/listing-03-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "branches" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/listing-03-03/Cargo.toml b/listings/ch03-common-programming-concepts/listing-03-03/Cargo.toml index 9a198d7e1c..810e8bbc0a 100644 --- a/listings/ch03-common-programming-concepts/listing-03-03/Cargo.toml +++ b/listings/ch03-common-programming-concepts/listing-03-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loops" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/listing-03-04/Cargo.toml b/listings/ch03-common-programming-concepts/listing-03-04/Cargo.toml index 9a198d7e1c..810e8bbc0a 100644 --- a/listings/ch03-common-programming-concepts/listing-03-04/Cargo.toml +++ b/listings/ch03-common-programming-concepts/listing-03-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loops" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/listing-03-05/Cargo.toml b/listings/ch03-common-programming-concepts/listing-03-05/Cargo.toml index 9a198d7e1c..810e8bbc0a 100644 --- a/listings/ch03-common-programming-concepts/listing-03-05/Cargo.toml +++ b/listings/ch03-common-programming-concepts/listing-03-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loops" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-01-variables-are-immutable/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-01-variables-are-immutable/Cargo.toml index 91a7dd9bed..4da3b81504 100644 --- a/listings/ch03-common-programming-concepts/no-listing-01-variables-are-immutable/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-01-variables-are-immutable/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "variables" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-02-adding-mut/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-02-adding-mut/Cargo.toml index 91a7dd9bed..4da3b81504 100644 --- a/listings/ch03-common-programming-concepts/no-listing-02-adding-mut/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-02-adding-mut/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "variables" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-03-shadowing/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-03-shadowing/Cargo.toml index 91a7dd9bed..4da3b81504 100644 --- a/listings/ch03-common-programming-concepts/no-listing-03-shadowing/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-03-shadowing/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "variables" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-04-shadowing-can-change-types/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-04-shadowing-can-change-types/Cargo.toml index 91a7dd9bed..4da3b81504 100644 --- a/listings/ch03-common-programming-concepts/no-listing-04-shadowing-can-change-types/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-04-shadowing-can-change-types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "variables" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-05-mut-cant-change-types/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-05-mut-cant-change-types/Cargo.toml index 91a7dd9bed..4da3b81504 100644 --- a/listings/ch03-common-programming-concepts/no-listing-05-mut-cant-change-types/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-05-mut-cant-change-types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "variables" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-06-floating-point/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-06-floating-point/Cargo.toml index 3f4af9c13f..83610e7561 100644 --- a/listings/ch03-common-programming-concepts/no-listing-06-floating-point/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-06-floating-point/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "floating-point" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-07-numeric-operations/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-07-numeric-operations/Cargo.toml index b1d25f207a..b4bea55e3d 100644 --- a/listings/ch03-common-programming-concepts/no-listing-07-numeric-operations/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-07-numeric-operations/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "numeric-operations" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-08-boolean/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-08-boolean/Cargo.toml index c0d2257675..47e42cef8a 100644 --- a/listings/ch03-common-programming-concepts/no-listing-08-boolean/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-08-boolean/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "boolean" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-09-char/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-09-char/Cargo.toml index 37fdd73a3d..a1ef3b537c 100644 --- a/listings/ch03-common-programming-concepts/no-listing-09-char/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-09-char/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "char" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-10-tuples/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-10-tuples/Cargo.toml index 01138c641d..9b0879c2c6 100644 --- a/listings/ch03-common-programming-concepts/no-listing-10-tuples/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-10-tuples/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tuples" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-11-destructuring-tuples/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-11-destructuring-tuples/Cargo.toml index 01138c641d..9b0879c2c6 100644 --- a/listings/ch03-common-programming-concepts/no-listing-11-destructuring-tuples/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-11-destructuring-tuples/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tuples" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-12-tuple-indexing/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-12-tuple-indexing/Cargo.toml index 01138c641d..9b0879c2c6 100644 --- a/listings/ch03-common-programming-concepts/no-listing-12-tuple-indexing/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-12-tuple-indexing/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tuples" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-13-arrays/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-13-arrays/Cargo.toml index 61bd75847e..96be3e2b17 100644 --- a/listings/ch03-common-programming-concepts/no-listing-13-arrays/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-13-arrays/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "arrays" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-14-array-indexing/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-14-array-indexing/Cargo.toml index 61bd75847e..96be3e2b17 100644 --- a/listings/ch03-common-programming-concepts/no-listing-14-array-indexing/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-14-array-indexing/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "arrays" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-15-invalid-array-access/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-15-invalid-array-access/Cargo.toml index 61bd75847e..96be3e2b17 100644 --- a/listings/ch03-common-programming-concepts/no-listing-15-invalid-array-access/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-15-invalid-array-access/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "arrays" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-16-functions/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-16-functions/Cargo.toml index 10f40538b4..478b346fd5 100644 --- a/listings/ch03-common-programming-concepts/no-listing-16-functions/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-16-functions/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-17-functions-with-parameters/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-17-functions-with-parameters/Cargo.toml index 10f40538b4..478b346fd5 100644 --- a/listings/ch03-common-programming-concepts/no-listing-17-functions-with-parameters/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-17-functions-with-parameters/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-18-functions-with-multiple-parameters/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-18-functions-with-multiple-parameters/Cargo.toml index 10f40538b4..478b346fd5 100644 --- a/listings/ch03-common-programming-concepts/no-listing-18-functions-with-multiple-parameters/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-18-functions-with-multiple-parameters/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-19-statements-vs-expressions/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-19-statements-vs-expressions/Cargo.toml index 10f40538b4..478b346fd5 100644 --- a/listings/ch03-common-programming-concepts/no-listing-19-statements-vs-expressions/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-19-statements-vs-expressions/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-20-blocks-are-expressions/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-20-blocks-are-expressions/Cargo.toml index 10f40538b4..478b346fd5 100644 --- a/listings/ch03-common-programming-concepts/no-listing-20-blocks-are-expressions/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-20-blocks-are-expressions/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-21-function-return-values/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-21-function-return-values/Cargo.toml index 10f40538b4..478b346fd5 100644 --- a/listings/ch03-common-programming-concepts/no-listing-21-function-return-values/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-21-function-return-values/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-22-function-parameter-and-return/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-22-function-parameter-and-return/Cargo.toml index 10f40538b4..478b346fd5 100644 --- a/listings/ch03-common-programming-concepts/no-listing-22-function-parameter-and-return/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-22-function-parameter-and-return/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-23-statements-dont-return-values/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-23-statements-dont-return-values/Cargo.toml index 10f40538b4..478b346fd5 100644 --- a/listings/ch03-common-programming-concepts/no-listing-23-statements-dont-return-values/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-23-statements-dont-return-values/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-24-comments-end-of-line/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-24-comments-end-of-line/Cargo.toml index 614cbebb0a..e0576b5dce 100644 --- a/listings/ch03-common-programming-concepts/no-listing-24-comments-end-of-line/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-24-comments-end-of-line/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "comments" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-25-comments-above-line/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-25-comments-above-line/Cargo.toml index 614cbebb0a..e0576b5dce 100644 --- a/listings/ch03-common-programming-concepts/no-listing-25-comments-above-line/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-25-comments-above-line/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "comments" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-26-if-true/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-26-if-true/Cargo.toml index 71c3f86640..659645556b 100644 --- a/listings/ch03-common-programming-concepts/no-listing-26-if-true/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-26-if-true/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "branches" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-27-if-false/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-27-if-false/Cargo.toml index 71c3f86640..659645556b 100644 --- a/listings/ch03-common-programming-concepts/no-listing-27-if-false/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-27-if-false/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "branches" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-28-if-condition-must-be-bool/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-28-if-condition-must-be-bool/Cargo.toml index 71c3f86640..659645556b 100644 --- a/listings/ch03-common-programming-concepts/no-listing-28-if-condition-must-be-bool/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-28-if-condition-must-be-bool/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "branches" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-29-if-not-equal-0/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-29-if-not-equal-0/Cargo.toml index 71c3f86640..659645556b 100644 --- a/listings/ch03-common-programming-concepts/no-listing-29-if-not-equal-0/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-29-if-not-equal-0/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "branches" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-30-else-if/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-30-else-if/Cargo.toml index 71c3f86640..659645556b 100644 --- a/listings/ch03-common-programming-concepts/no-listing-30-else-if/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-30-else-if/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "branches" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-31-arms-must-return-same-type/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-31-arms-must-return-same-type/Cargo.toml index 71c3f86640..659645556b 100644 --- a/listings/ch03-common-programming-concepts/no-listing-31-arms-must-return-same-type/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-31-arms-must-return-same-type/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "branches" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-32-5-loop-labels/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-32-5-loop-labels/Cargo.toml index 9a198d7e1c..810e8bbc0a 100644 --- a/listings/ch03-common-programming-concepts/no-listing-32-5-loop-labels/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-32-5-loop-labels/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loops" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-32-loop/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-32-loop/Cargo.toml index 9a198d7e1c..810e8bbc0a 100644 --- a/listings/ch03-common-programming-concepts/no-listing-32-loop/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-32-loop/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loops" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-33-return-value-from-loop/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-33-return-value-from-loop/Cargo.toml index 9a198d7e1c..810e8bbc0a 100644 --- a/listings/ch03-common-programming-concepts/no-listing-33-return-value-from-loop/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-33-return-value-from-loop/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loops" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/no-listing-34-for-range/Cargo.toml b/listings/ch03-common-programming-concepts/no-listing-34-for-range/Cargo.toml index 9a198d7e1c..810e8bbc0a 100644 --- a/listings/ch03-common-programming-concepts/no-listing-34-for-range/Cargo.toml +++ b/listings/ch03-common-programming-concepts/no-listing-34-for-range/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loops" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch03-common-programming-concepts/output-only-01-no-type-annotations/Cargo.toml b/listings/ch03-common-programming-concepts/output-only-01-no-type-annotations/Cargo.toml index b263d5b3ab..8ad4d5aa6b 100644 --- a/listings/ch03-common-programming-concepts/output-only-01-no-type-annotations/Cargo.toml +++ b/listings/ch03-common-programming-concepts/output-only-01-no-type-annotations/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "no_type_annotations" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch04-understanding-ownership/listing-04-01/Cargo.toml b/listings/ch04-understanding-ownership/listing-04-01/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/listing-04-01/Cargo.toml +++ b/listings/ch04-understanding-ownership/listing-04-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/listing-04-02/Cargo.toml b/listings/ch04-understanding-ownership/listing-04-02/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/listing-04-02/Cargo.toml +++ b/listings/ch04-understanding-ownership/listing-04-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/listing-04-03/Cargo.toml b/listings/ch04-understanding-ownership/listing-04-03/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/listing-04-03/Cargo.toml +++ b/listings/ch04-understanding-ownership/listing-04-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/listing-04-04/Cargo.toml b/listings/ch04-understanding-ownership/listing-04-04/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/listing-04-04/Cargo.toml +++ b/listings/ch04-understanding-ownership/listing-04-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/listing-04-05/Cargo.toml b/listings/ch04-understanding-ownership/listing-04-05/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/listing-04-05/Cargo.toml +++ b/listings/ch04-understanding-ownership/listing-04-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/listing-04-06/Cargo.toml b/listings/ch04-understanding-ownership/listing-04-06/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/listing-04-06/Cargo.toml +++ b/listings/ch04-understanding-ownership/listing-04-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/listing-04-07/Cargo.toml b/listings/ch04-understanding-ownership/listing-04-07/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/listing-04-07/Cargo.toml +++ b/listings/ch04-understanding-ownership/listing-04-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/listing-04-08/Cargo.toml b/listings/ch04-understanding-ownership/listing-04-08/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/listing-04-08/Cargo.toml +++ b/listings/ch04-understanding-ownership/listing-04-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/listing-04-09/Cargo.toml b/listings/ch04-understanding-ownership/listing-04-09/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/listing-04-09/Cargo.toml +++ b/listings/ch04-understanding-ownership/listing-04-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-01-can-mutate-string/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-01-can-mutate-string/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-01-can-mutate-string/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-01-can-mutate-string/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-02-string-scope/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-02-string-scope/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-02-string-scope/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-02-string-scope/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-03-string-move/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-03-string-move/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-03-string-move/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-03-string-move/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-04-cant-use-after-move/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-04-cant-use-after-move/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-04-cant-use-after-move/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-04-cant-use-after-move/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-05-clone/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-05-clone/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-05-clone/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-05-clone/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-06-copy/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-06-copy/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-06-copy/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-06-copy/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-07-reference/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-07-reference/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-07-reference/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-07-reference/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-08-reference-with-annotations/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-08-reference-with-annotations/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-08-reference-with-annotations/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-08-reference-with-annotations/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-09-fixes-listing-04-06/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-09-fixes-listing-04-06/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-09-fixes-listing-04-06/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-09-fixes-listing-04-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-10-multiple-mut-not-allowed/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-10-multiple-mut-not-allowed/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-10-multiple-mut-not-allowed/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-10-multiple-mut-not-allowed/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-11-muts-in-separate-scopes/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-11-muts-in-separate-scopes/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-11-muts-in-separate-scopes/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-11-muts-in-separate-scopes/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-12-immutable-and-mutable-not-allowed/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-12-immutable-and-mutable-not-allowed/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-12-immutable-and-mutable-not-allowed/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-12-immutable-and-mutable-not-allowed/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-13-reference-scope-ends/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-13-reference-scope-ends/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-13-reference-scope-ends/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-13-reference-scope-ends/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-14-dangling-reference/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-14-dangling-reference/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-14-dangling-reference/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-14-dangling-reference/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-15-dangling-reference-annotated/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-15-dangling-reference-annotated/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-15-dangling-reference-annotated/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-15-dangling-reference-annotated/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-16-no-dangle/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-16-no-dangle/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-16-no-dangle/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-16-no-dangle/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-17-slice/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-17-slice/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-17-slice/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-17-slice/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-18-first-word-slice/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-18-first-word-slice/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-18-first-word-slice/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-18-first-word-slice/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch04-understanding-ownership/no-listing-19-slice-error/Cargo.toml b/listings/ch04-understanding-ownership/no-listing-19-slice-error/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch04-understanding-ownership/no-listing-19-slice-error/Cargo.toml +++ b/listings/ch04-understanding-ownership/no-listing-19-slice-error/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-01/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-01/Cargo.toml index 0f30eba901..3232b60653 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-01/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "structs" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-02/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-02/Cargo.toml index 0f30eba901..3232b60653 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-02/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "structs" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-03/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-03/Cargo.toml index 0f30eba901..3232b60653 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-03/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "structs" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-04/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-04/Cargo.toml index 0f30eba901..3232b60653 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-04/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "structs" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-05/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-05/Cargo.toml index 0f30eba901..3232b60653 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-05/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "structs" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-06/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-06/Cargo.toml index 0f30eba901..3232b60653 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-06/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "structs" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-07/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-07/Cargo.toml index 0f30eba901..3232b60653 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-07/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "structs" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-08/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-08/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-08/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-09/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-09/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-09/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-10/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-10/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-10/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-11/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-11/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-11/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-12/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-12/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-12/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-13/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-13/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-13/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-14/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-14/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-14/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-14/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-15/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-15/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-15/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-15/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/listing-05-16/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/listing-05-16/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/listing-05-16/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/listing-05-16/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/no-listing-01-tuple-structs/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/no-listing-01-tuple-structs/Cargo.toml index 0f30eba901..3232b60653 100644 --- a/listings/ch05-using-structs-to-structure-related-data/no-listing-01-tuple-structs/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/no-listing-01-tuple-structs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "structs" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/no-listing-02-reference-in-struct/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/no-listing-02-reference-in-struct/Cargo.toml index 23f3b843bd..d36dbc1d34 100644 --- a/listings/ch05-using-structs-to-structure-related-data/no-listing-02-reference-in-struct/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/no-listing-02-reference-in-struct/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "structs" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch05-using-structs-to-structure-related-data/no-listing-03-associated-functions/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/no-listing-03-associated-functions/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/no-listing-03-associated-functions/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/no-listing-03-associated-functions/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/no-listing-04-unit-like-structs/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/no-listing-04-unit-like-structs/Cargo.toml index 0f30eba901..3232b60653 100644 --- a/listings/ch05-using-structs-to-structure-related-data/no-listing-04-unit-like-structs/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/no-listing-04-unit-like-structs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "structs" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/no-listing-05-dbg-macro/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/no-listing-05-dbg-macro/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/no-listing-05-dbg-macro/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/no-listing-05-dbg-macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/no-listing-06-method-field-interaction/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/no-listing-06-method-field-interaction/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/no-listing-06-method-field-interaction/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/no-listing-06-method-field-interaction/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/output-only-01-debug/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/output-only-01-debug/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/output-only-01-debug/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/output-only-01-debug/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch05-using-structs-to-structure-related-data/output-only-02-pretty-debug/Cargo.toml b/listings/ch05-using-structs-to-structure-related-data/output-only-02-pretty-debug/Cargo.toml index b204f7fca6..4a279a450d 100644 --- a/listings/ch05-using-structs-to-structure-related-data/output-only-02-pretty-debug/Cargo.toml +++ b/listings/ch05-using-structs-to-structure-related-data/output-only-02-pretty-debug/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangles" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/listing-06-01/Cargo.toml b/listings/ch06-enums-and-pattern-matching/listing-06-01/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/listing-06-01/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/listing-06-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/listing-06-02/Cargo.toml b/listings/ch06-enums-and-pattern-matching/listing-06-02/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/listing-06-02/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/listing-06-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/listing-06-03/Cargo.toml b/listings/ch06-enums-and-pattern-matching/listing-06-03/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/listing-06-03/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/listing-06-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/listing-06-04/Cargo.toml b/listings/ch06-enums-and-pattern-matching/listing-06-04/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/listing-06-04/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/listing-06-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/listing-06-05/Cargo.toml b/listings/ch06-enums-and-pattern-matching/listing-06-05/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/listing-06-05/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/listing-06-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/listing-06-06/Cargo.toml b/listings/ch06-enums-and-pattern-matching/listing-06-06/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/listing-06-06/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/listing-06-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-01-defining-enums/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-01-defining-enums/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-01-defining-enums/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-01-defining-enums/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-02-enum-with-data/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-02-enum-with-data/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-02-enum-with-data/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-02-enum-with-data/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-03-variants-with-different-data/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-03-variants-with-different-data/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-03-variants-with-different-data/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-03-variants-with-different-data/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-04-structs-similar-to-message-enum/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-04-structs-similar-to-message-enum/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-04-structs-similar-to-message-enum/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-04-structs-similar-to-message-enum/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-05-methods-on-enums/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-05-methods-on-enums/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-05-methods-on-enums/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-05-methods-on-enums/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-06-option-examples/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-06-option-examples/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-06-option-examples/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-06-option-examples/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-07-cant-use-option-directly/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-07-cant-use-option-directly/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-07-cant-use-option-directly/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-07-cant-use-option-directly/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-08-match-arm-multiple-lines/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-08-match-arm-multiple-lines/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-08-match-arm-multiple-lines/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-08-match-arm-multiple-lines/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-09-variable-in-pattern/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-09-variable-in-pattern/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-09-variable-in-pattern/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-09-variable-in-pattern/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-10-non-exhaustive-match/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-10-non-exhaustive-match/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-10-non-exhaustive-match/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-10-non-exhaustive-match/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-12-if-let/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-12-if-let/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-12-if-let/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-12-if-let/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-13-count-and-announce-match/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-13-count-and-announce-match/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-13-count-and-announce-match/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-13-count-and-announce-match/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-14-count-and-announce-if-let-else/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-14-count-and-announce-if-let-else/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-14-count-and-announce-if-let-else/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-14-count-and-announce-if-let-else/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-15-binding-catchall/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-15-binding-catchall/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-15-binding-catchall/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-15-binding-catchall/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-16-underscore-catchall/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-16-underscore-catchall/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-16-underscore-catchall/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-16-underscore-catchall/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch06-enums-and-pattern-matching/no-listing-17-underscore-unit/Cargo.toml b/listings/ch06-enums-and-pattern-matching/no-listing-17-underscore-unit/Cargo.toml index 673ea2b545..e959295f91 100644 --- a/listings/ch06-enums-and-pattern-matching/no-listing-17-underscore-unit/Cargo.toml +++ b/listings/ch06-enums-and-pattern-matching/no-listing-17-underscore-unit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "enums" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-01/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-01/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-01/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-03/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-03/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-03/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-05/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-05/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-05/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-07/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-07/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-07/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-08/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-08/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-08/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-09/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-09/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-09/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-10/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-10/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-10/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-11/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-11/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-11/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-12/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-12/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-12/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-13/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-13/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-13/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-14/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-14/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-14/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-14/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-15/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-15/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-15/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-15/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-16/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-16/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-16/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-16/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-17/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-17/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-17/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-17/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-18/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-18/Cargo.toml index ca796231e8..15b3fffcab 100644 --- a/listings/ch07-managing-growing-projects/listing-07-18/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-18/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] rand = "0.8.3" diff --git a/listings/ch07-managing-growing-projects/listing-07-19/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-19/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-19/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-19/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-20/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-20/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-20/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-20/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/listing-07-21-and-22/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-21-and-22/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/listing-07-21-and-22/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-21-and-22/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch07-managing-growing-projects/no-listing-01-use-std-unnested/Cargo.toml b/listings/ch07-managing-growing-projects/no-listing-01-use-std-unnested/Cargo.toml index 172ae61641..cc63f6f021 100644 --- a/listings/ch07-managing-growing-projects/no-listing-01-use-std-unnested/Cargo.toml +++ b/listings/ch07-managing-growing-projects/no-listing-01-use-std-unnested/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch07-managing-growing-projects/no-listing-02-extracting-hosting/Cargo.toml b/listings/ch07-managing-growing-projects/no-listing-02-extracting-hosting/Cargo.toml index 5ea64de7b8..60cec7cb01 100644 --- a/listings/ch07-managing-growing-projects/no-listing-02-extracting-hosting/Cargo.toml +++ b/listings/ch07-managing-growing-projects/no-listing-02-extracting-hosting/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "restaurant" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-01/Cargo.toml b/listings/ch08-common-collections/listing-08-01/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-01/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-02/Cargo.toml b/listings/ch08-common-collections/listing-08-02/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-02/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-03/Cargo.toml b/listings/ch08-common-collections/listing-08-03/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-03/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-04/Cargo.toml b/listings/ch08-common-collections/listing-08-04/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-04/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-05/Cargo.toml b/listings/ch08-common-collections/listing-08-05/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-05/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-06/Cargo.toml b/listings/ch08-common-collections/listing-08-06/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-06/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-07/Cargo.toml b/listings/ch08-common-collections/listing-08-07/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-07/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-08/Cargo.toml b/listings/ch08-common-collections/listing-08-08/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-08/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-09/Cargo.toml b/listings/ch08-common-collections/listing-08-09/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-09/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-10/Cargo.toml b/listings/ch08-common-collections/listing-08-10/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-10/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-11/Cargo.toml b/listings/ch08-common-collections/listing-08-11/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-11/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-12/Cargo.toml b/listings/ch08-common-collections/listing-08-12/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-12/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-13/Cargo.toml b/listings/ch08-common-collections/listing-08-13/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-13/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-14/Cargo.toml b/listings/ch08-common-collections/listing-08-14/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-14/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-14/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-15/Cargo.toml b/listings/ch08-common-collections/listing-08-15/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-15/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-15/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-16/Cargo.toml b/listings/ch08-common-collections/listing-08-16/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-16/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-16/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-17/Cargo.toml b/listings/ch08-common-collections/listing-08-17/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-17/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-17/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-18/Cargo.toml b/listings/ch08-common-collections/listing-08-18/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-18/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-18/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-19/Cargo.toml b/listings/ch08-common-collections/listing-08-19/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-19/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-19/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-20/Cargo.toml b/listings/ch08-common-collections/listing-08-20/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-20/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-20/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-21/Cargo.toml b/listings/ch08-common-collections/listing-08-21/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-21/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-21/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-22/Cargo.toml b/listings/ch08-common-collections/listing-08-22/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-22/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-22/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-23/Cargo.toml b/listings/ch08-common-collections/listing-08-23/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-23/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-23/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-24/Cargo.toml b/listings/ch08-common-collections/listing-08-24/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-24/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-24/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-25/Cargo.toml b/listings/ch08-common-collections/listing-08-25/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-25/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-25/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/listing-08-26/Cargo.toml b/listings/ch08-common-collections/listing-08-26/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/listing-08-26/Cargo.toml +++ b/listings/ch08-common-collections/listing-08-26/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/no-listing-01-concat-multiple-strings/Cargo.toml b/listings/ch08-common-collections/no-listing-01-concat-multiple-strings/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/no-listing-01-concat-multiple-strings/Cargo.toml +++ b/listings/ch08-common-collections/no-listing-01-concat-multiple-strings/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/no-listing-02-format/Cargo.toml b/listings/ch08-common-collections/no-listing-02-format/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/no-listing-02-format/Cargo.toml +++ b/listings/ch08-common-collections/no-listing-02-format/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/no-listing-03-iterate-over-hashmap/Cargo.toml b/listings/ch08-common-collections/no-listing-03-iterate-over-hashmap/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/no-listing-03-iterate-over-hashmap/Cargo.toml +++ b/listings/ch08-common-collections/no-listing-03-iterate-over-hashmap/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch08-common-collections/output-only-01-not-char-boundary/Cargo.toml b/listings/ch08-common-collections/output-only-01-not-char-boundary/Cargo.toml index 25e89c8289..fe49598234 100644 --- a/listings/ch08-common-collections/output-only-01-not-char-boundary/Cargo.toml +++ b/listings/ch08-common-collections/output-only-01-not-char-boundary/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "collections" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/listing-09-01/Cargo.toml b/listings/ch09-error-handling/listing-09-01/Cargo.toml index e7368bca41..660e2c819d 100644 --- a/listings/ch09-error-handling/listing-09-01/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "panic" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/listing-09-03/Cargo.toml b/listings/ch09-error-handling/listing-09-03/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/listing-09-03/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/listing-09-04/Cargo.toml b/listings/ch09-error-handling/listing-09-04/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/listing-09-04/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/listing-09-05/Cargo.toml b/listings/ch09-error-handling/listing-09-05/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/listing-09-05/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/listing-09-06/Cargo.toml b/listings/ch09-error-handling/listing-09-06/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/listing-09-06/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/listing-09-07/Cargo.toml b/listings/ch09-error-handling/listing-09-07/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/listing-09-07/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/listing-09-08/Cargo.toml b/listings/ch09-error-handling/listing-09-08/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/listing-09-08/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/listing-09-09/Cargo.toml b/listings/ch09-error-handling/listing-09-09/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/listing-09-09/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/listing-09-10/Cargo.toml b/listings/ch09-error-handling/listing-09-10/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/listing-09-10/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/listing-09-11/Cargo.toml b/listings/ch09-error-handling/listing-09-11/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/listing-09-11/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/listing-09-12/Cargo.toml b/listings/ch09-error-handling/listing-09-12/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/listing-09-12/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/listing-09-13/Cargo.toml b/listings/ch09-error-handling/listing-09-13/Cargo.toml index ca796231e8..15b3fffcab 100644 --- a/listings/ch09-error-handling/listing-09-13/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-13/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] rand = "0.8.3" diff --git a/listings/ch09-error-handling/no-listing-01-panic/Cargo.toml b/listings/ch09-error-handling/no-listing-01-panic/Cargo.toml index e7368bca41..660e2c819d 100644 --- a/listings/ch09-error-handling/no-listing-01-panic/Cargo.toml +++ b/listings/ch09-error-handling/no-listing-01-panic/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "panic" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/no-listing-02-ask-compiler-for-type/Cargo.toml b/listings/ch09-error-handling/no-listing-02-ask-compiler-for-type/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/no-listing-02-ask-compiler-for-type/Cargo.toml +++ b/listings/ch09-error-handling/no-listing-02-ask-compiler-for-type/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/no-listing-03-closures/Cargo.toml b/listings/ch09-error-handling/no-listing-03-closures/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/no-listing-03-closures/Cargo.toml +++ b/listings/ch09-error-handling/no-listing-03-closures/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/no-listing-04-unwrap/Cargo.toml b/listings/ch09-error-handling/no-listing-04-unwrap/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/no-listing-04-unwrap/Cargo.toml +++ b/listings/ch09-error-handling/no-listing-04-unwrap/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/no-listing-05-expect/Cargo.toml b/listings/ch09-error-handling/no-listing-05-expect/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/no-listing-05-expect/Cargo.toml +++ b/listings/ch09-error-handling/no-listing-05-expect/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/no-listing-08-unwrap-that-cant-fail/Cargo.toml b/listings/ch09-error-handling/no-listing-08-unwrap-that-cant-fail/Cargo.toml index 1e678575c1..c496db7834 100644 --- a/listings/ch09-error-handling/no-listing-08-unwrap-that-cant-fail/Cargo.toml +++ b/listings/ch09-error-handling/no-listing-08-unwrap-that-cant-fail/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "error-handling" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch09-error-handling/no-listing-09-guess-out-of-range/Cargo.toml b/listings/ch09-error-handling/no-listing-09-guess-out-of-range/Cargo.toml index ca796231e8..15b3fffcab 100644 --- a/listings/ch09-error-handling/no-listing-09-guess-out-of-range/Cargo.toml +++ b/listings/ch09-error-handling/no-listing-09-guess-out-of-range/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] rand = "0.8.3" diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-01/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-01/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-01/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-02/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-02/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-02/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-03/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-03/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-03/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-04/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-04/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-04/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-05/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-05/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-05/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-06/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-06/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-06/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-07/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-07/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-07/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-08/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-08/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-08/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-09/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-09/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-09/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-10/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-10/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-10/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-11/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-11/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-11/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-12/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-12/Cargo.toml index a7adc3bc3c..46f46a7f44 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-12/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aggregator" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-13/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-13/Cargo.toml index a7adc3bc3c..46f46a7f44 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-13/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aggregator" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-14/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-14/Cargo.toml index a7adc3bc3c..46f46a7f44 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-14/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-14/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aggregator" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-15/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-15/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-15/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-15/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-16/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-16/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-16/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-16/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-17/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-17/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-17/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-17/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-18/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-18/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-18/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-18/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-19/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-19/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-19/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-19/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-20/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-20/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-20/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-20/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-21/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-21/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-21/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-21/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-22/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-22/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-22/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-22/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-23/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-23/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-23/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-23/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-24/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-24/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-24/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-24/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-25/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-25/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-25/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-25/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-26/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-26/Cargo.toml index 873f611c5c..e8847526dc 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/listing-10-26/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/listing-10-26/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ownership" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-01-calling-trait-method/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-01-calling-trait-method/Cargo.toml index a7adc3bc3c..46f46a7f44 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-01-calling-trait-method/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-01-calling-trait-method/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aggregator" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-02-calling-default-impl/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-02-calling-default-impl/Cargo.toml index a7adc3bc3c..46f46a7f44 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-02-calling-default-impl/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-02-calling-default-impl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aggregator" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-03-default-impl-calls-other-methods/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-03-default-impl-calls-other-methods/Cargo.toml index a7adc3bc3c..46f46a7f44 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-03-default-impl-calls-other-methods/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-03-default-impl-calls-other-methods/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aggregator" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-04-traits-as-parameters/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-04-traits-as-parameters/Cargo.toml index a7adc3bc3c..46f46a7f44 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-04-traits-as-parameters/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-04-traits-as-parameters/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aggregator" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-05-returning-impl-trait/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-05-returning-impl-trait/Cargo.toml index a7adc3bc3c..46f46a7f44 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-05-returning-impl-trait/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-05-returning-impl-trait/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aggregator" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-06-impl-trait-returns-one-type/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-06-impl-trait-returns-one-type/Cargo.toml index a7adc3bc3c..46f46a7f44 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-06-impl-trait-returns-one-type/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-06-impl-trait-returns-one-type/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aggregator" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-07-fixing-listing-10-05/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-07-fixing-listing-10-05/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-07-fixing-listing-10-05/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-07-fixing-listing-10-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-08-only-one-reference-with-lifetime/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-08-only-one-reference-with-lifetime/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-08-only-one-reference-with-lifetime/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-08-only-one-reference-with-lifetime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-09-unrelated-lifetime/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-09-unrelated-lifetime/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-09-unrelated-lifetime/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-09-unrelated-lifetime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-10-lifetimes-on-methods/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-10-lifetimes-on-methods/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-10-lifetimes-on-methods/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-10-lifetimes-on-methods/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-11-generics-traits-and-lifetimes/Cargo.toml b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-11-generics-traits-and-lifetimes/Cargo.toml index 6681ba2326..489f809672 100644 --- a/listings/ch10-generic-types-traits-and-lifetimes/no-listing-11-generics-traits-and-lifetimes/Cargo.toml +++ b/listings/ch10-generic-types-traits-and-lifetimes/no-listing-11-generics-traits-and-lifetimes/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chapter10" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/listing-11-01/Cargo.toml b/listings/ch11-writing-automated-tests/listing-11-01/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/listing-11-01/Cargo.toml +++ b/listings/ch11-writing-automated-tests/listing-11-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/listing-11-03/Cargo.toml b/listings/ch11-writing-automated-tests/listing-11-03/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/listing-11-03/Cargo.toml +++ b/listings/ch11-writing-automated-tests/listing-11-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/listing-11-05/Cargo.toml b/listings/ch11-writing-automated-tests/listing-11-05/Cargo.toml index c9c0adfbe4..2447c67f51 100644 --- a/listings/ch11-writing-automated-tests/listing-11-05/Cargo.toml +++ b/listings/ch11-writing-automated-tests/listing-11-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangle" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/listing-11-06/Cargo.toml b/listings/ch11-writing-automated-tests/listing-11-06/Cargo.toml index c9c0adfbe4..2447c67f51 100644 --- a/listings/ch11-writing-automated-tests/listing-11-06/Cargo.toml +++ b/listings/ch11-writing-automated-tests/listing-11-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangle" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/listing-11-07/Cargo.toml b/listings/ch11-writing-automated-tests/listing-11-07/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/listing-11-07/Cargo.toml +++ b/listings/ch11-writing-automated-tests/listing-11-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/listing-11-08/Cargo.toml b/listings/ch11-writing-automated-tests/listing-11-08/Cargo.toml index b3a5ec1294..4e348c8d26 100644 --- a/listings/ch11-writing-automated-tests/listing-11-08/Cargo.toml +++ b/listings/ch11-writing-automated-tests/listing-11-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/listing-11-09/Cargo.toml b/listings/ch11-writing-automated-tests/listing-11-09/Cargo.toml index b3a5ec1294..4e348c8d26 100644 --- a/listings/ch11-writing-automated-tests/listing-11-09/Cargo.toml +++ b/listings/ch11-writing-automated-tests/listing-11-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/listing-11-10/Cargo.toml b/listings/ch11-writing-automated-tests/listing-11-10/Cargo.toml index 0a66321df6..f751864dec 100644 --- a/listings/ch11-writing-automated-tests/listing-11-10/Cargo.toml +++ b/listings/ch11-writing-automated-tests/listing-11-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "silly-function" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/listing-11-11/Cargo.toml b/listings/ch11-writing-automated-tests/listing-11-11/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/listing-11-11/Cargo.toml +++ b/listings/ch11-writing-automated-tests/listing-11-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/listing-11-12/Cargo.toml b/listings/ch11-writing-automated-tests/listing-11-12/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/listing-11-12/Cargo.toml +++ b/listings/ch11-writing-automated-tests/listing-11-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/listing-11-13/Cargo.toml b/listings/ch11-writing-automated-tests/listing-11-13/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/listing-11-13/Cargo.toml +++ b/listings/ch11-writing-automated-tests/listing-11-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-01-changing-test-name/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-01-changing-test-name/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/no-listing-01-changing-test-name/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-01-changing-test-name/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-02-adding-another-rectangle-test/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-02-adding-another-rectangle-test/Cargo.toml index c9c0adfbe4..2447c67f51 100644 --- a/listings/ch11-writing-automated-tests/no-listing-02-adding-another-rectangle-test/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-02-adding-another-rectangle-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangle" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-03-introducing-a-bug/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-03-introducing-a-bug/Cargo.toml index c9c0adfbe4..2447c67f51 100644 --- a/listings/ch11-writing-automated-tests/no-listing-03-introducing-a-bug/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-03-introducing-a-bug/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rectangle" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-04-bug-in-add-two/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-04-bug-in-add-two/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/no-listing-04-bug-in-add-two/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-04-bug-in-add-two/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-05-greeter/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-05-greeter/Cargo.toml index 0225aa3ef9..90a826cf43 100644 --- a/listings/ch11-writing-automated-tests/no-listing-05-greeter/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-05-greeter/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "greeter" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-06-greeter-with-bug/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-06-greeter-with-bug/Cargo.toml index 0225aa3ef9..90a826cf43 100644 --- a/listings/ch11-writing-automated-tests/no-listing-06-greeter-with-bug/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-06-greeter-with-bug/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "greeter" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-07-custom-failure-message/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-07-custom-failure-message/Cargo.toml index 0225aa3ef9..90a826cf43 100644 --- a/listings/ch11-writing-automated-tests/no-listing-07-custom-failure-message/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-07-custom-failure-message/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "greeter" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-08-guess-with-bug/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-08-guess-with-bug/Cargo.toml index b3a5ec1294..4e348c8d26 100644 --- a/listings/ch11-writing-automated-tests/no-listing-08-guess-with-bug/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-08-guess-with-bug/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-09-guess-with-panic-msg-bug/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-09-guess-with-panic-msg-bug/Cargo.toml index b3a5ec1294..4e348c8d26 100644 --- a/listings/ch11-writing-automated-tests/no-listing-09-guess-with-panic-msg-bug/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-09-guess-with-panic-msg-bug/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "guessing_game" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-10-result-in-tests/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-10-result-in-tests/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/no-listing-10-result-in-tests/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-10-result-in-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-11-ignore-a-test/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-11-ignore-a-test/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/no-listing-11-ignore-a-test/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-11-ignore-a-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-12-shared-test-code-problem/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-12-shared-test-code-problem/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/no-listing-12-shared-test-code-problem/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-12-shared-test-code-problem/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/no-listing-13-fix-shared-test-code-problem/Cargo.toml b/listings/ch11-writing-automated-tests/no-listing-13-fix-shared-test-code-problem/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/no-listing-13-fix-shared-test-code-problem/Cargo.toml +++ b/listings/ch11-writing-automated-tests/no-listing-13-fix-shared-test-code-problem/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/output-only-01-show-output/Cargo.toml b/listings/ch11-writing-automated-tests/output-only-01-show-output/Cargo.toml index 0a66321df6..f751864dec 100644 --- a/listings/ch11-writing-automated-tests/output-only-01-show-output/Cargo.toml +++ b/listings/ch11-writing-automated-tests/output-only-01-show-output/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "silly-function" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/output-only-02-single-test/Cargo.toml b/listings/ch11-writing-automated-tests/output-only-02-single-test/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/output-only-02-single-test/Cargo.toml +++ b/listings/ch11-writing-automated-tests/output-only-02-single-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/output-only-03-multiple-tests/Cargo.toml b/listings/ch11-writing-automated-tests/output-only-03-multiple-tests/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/output-only-03-multiple-tests/Cargo.toml +++ b/listings/ch11-writing-automated-tests/output-only-03-multiple-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/output-only-04-running-ignored/Cargo.toml b/listings/ch11-writing-automated-tests/output-only-04-running-ignored/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/output-only-04-running-ignored/Cargo.toml +++ b/listings/ch11-writing-automated-tests/output-only-04-running-ignored/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch11-writing-automated-tests/output-only-05-single-integration/Cargo.toml b/listings/ch11-writing-automated-tests/output-only-05-single-integration/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch11-writing-automated-tests/output-only-05-single-integration/Cargo.toml +++ b/listings/ch11-writing-automated-tests/output-only-05-single-integration/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-01/Cargo.toml b/listings/ch12-an-io-project/listing-12-01/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-01/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-02/Cargo.toml b/listings/ch12-an-io-project/listing-12-02/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-02/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-03/Cargo.toml b/listings/ch12-an-io-project/listing-12-03/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-03/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-04/Cargo.toml b/listings/ch12-an-io-project/listing-12-04/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-04/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-05/Cargo.toml b/listings/ch12-an-io-project/listing-12-05/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-05/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-06/Cargo.toml b/listings/ch12-an-io-project/listing-12-06/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-06/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-07/Cargo.toml b/listings/ch12-an-io-project/listing-12-07/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-07/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-08/Cargo.toml b/listings/ch12-an-io-project/listing-12-08/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-08/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-09/Cargo.toml b/listings/ch12-an-io-project/listing-12-09/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-09/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-10/Cargo.toml b/listings/ch12-an-io-project/listing-12-10/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-10/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-11/Cargo.toml b/listings/ch12-an-io-project/listing-12-11/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-11/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-12/Cargo.toml b/listings/ch12-an-io-project/listing-12-12/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-12/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-13/Cargo.toml b/listings/ch12-an-io-project/listing-12-13/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-13/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-14/Cargo.toml b/listings/ch12-an-io-project/listing-12-14/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-14/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-14/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-15/Cargo.toml b/listings/ch12-an-io-project/listing-12-15/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-15/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-15/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-16/Cargo.toml b/listings/ch12-an-io-project/listing-12-16/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-16/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-16/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-17/Cargo.toml b/listings/ch12-an-io-project/listing-12-17/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-17/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-17/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-18/Cargo.toml b/listings/ch12-an-io-project/listing-12-18/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-18/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-18/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-19/Cargo.toml b/listings/ch12-an-io-project/listing-12-19/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-19/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-19/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-20/Cargo.toml b/listings/ch12-an-io-project/listing-12-20/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-20/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-20/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-21/Cargo.toml b/listings/ch12-an-io-project/listing-12-21/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-21/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-21/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-22/Cargo.toml b/listings/ch12-an-io-project/listing-12-22/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-22/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-22/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-23/Cargo.toml b/listings/ch12-an-io-project/listing-12-23/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-23/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-23/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/listing-12-24/Cargo.toml b/listings/ch12-an-io-project/listing-12-24/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/listing-12-24/Cargo.toml +++ b/listings/ch12-an-io-project/listing-12-24/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/no-listing-01-handling-errors-in-main/Cargo.toml b/listings/ch12-an-io-project/no-listing-01-handling-errors-in-main/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/no-listing-01-handling-errors-in-main/Cargo.toml +++ b/listings/ch12-an-io-project/no-listing-01-handling-errors-in-main/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/no-listing-02-using-search-in-run/Cargo.toml b/listings/ch12-an-io-project/no-listing-02-using-search-in-run/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/no-listing-02-using-search-in-run/Cargo.toml +++ b/listings/ch12-an-io-project/no-listing-02-using-search-in-run/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/output-only-01-with-args/Cargo.toml b/listings/ch12-an-io-project/output-only-01-with-args/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/output-only-01-with-args/Cargo.toml +++ b/listings/ch12-an-io-project/output-only-01-with-args/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/output-only-02-missing-lifetimes/Cargo.toml b/listings/ch12-an-io-project/output-only-02-missing-lifetimes/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/output-only-02-missing-lifetimes/Cargo.toml +++ b/listings/ch12-an-io-project/output-only-02-missing-lifetimes/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/output-only-03-multiple-matches/Cargo.toml b/listings/ch12-an-io-project/output-only-03-multiple-matches/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/output-only-03-multiple-matches/Cargo.toml +++ b/listings/ch12-an-io-project/output-only-03-multiple-matches/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch12-an-io-project/output-only-04-no-matches/Cargo.toml b/listings/ch12-an-io-project/output-only-04-no-matches/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch12-an-io-project/output-only-04-no-matches/Cargo.toml +++ b/listings/ch12-an-io-project/output-only-04-no-matches/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-12-23-reproduced/Cargo.toml b/listings/ch13-functional-features/listing-12-23-reproduced/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch13-functional-features/listing-12-23-reproduced/Cargo.toml +++ b/listings/ch13-functional-features/listing-12-23-reproduced/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-12-24-reproduced/Cargo.toml b/listings/ch13-functional-features/listing-12-24-reproduced/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch13-functional-features/listing-12-24-reproduced/Cargo.toml +++ b/listings/ch13-functional-features/listing-12-24-reproduced/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-01/Cargo.toml b/listings/ch13-functional-features/listing-13-01/Cargo.toml index 870e416e4e..f09a737d4d 100644 --- a/listings/ch13-functional-features/listing-13-01/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "workout-app" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-02/Cargo.toml b/listings/ch13-functional-features/listing-13-02/Cargo.toml index 870e416e4e..f09a737d4d 100644 --- a/listings/ch13-functional-features/listing-13-02/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "workout-app" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-03/Cargo.toml b/listings/ch13-functional-features/listing-13-03/Cargo.toml index 870e416e4e..f09a737d4d 100644 --- a/listings/ch13-functional-features/listing-13-03/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "workout-app" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-04/Cargo.toml b/listings/ch13-functional-features/listing-13-04/Cargo.toml index 870e416e4e..f09a737d4d 100644 --- a/listings/ch13-functional-features/listing-13-04/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "workout-app" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-05/Cargo.toml b/listings/ch13-functional-features/listing-13-05/Cargo.toml index 870e416e4e..f09a737d4d 100644 --- a/listings/ch13-functional-features/listing-13-05/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "workout-app" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-06/Cargo.toml b/listings/ch13-functional-features/listing-13-06/Cargo.toml index 870e416e4e..f09a737d4d 100644 --- a/listings/ch13-functional-features/listing-13-06/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "workout-app" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-07/Cargo.toml b/listings/ch13-functional-features/listing-13-07/Cargo.toml index 870e416e4e..f09a737d4d 100644 --- a/listings/ch13-functional-features/listing-13-07/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "workout-app" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-08/Cargo.toml b/listings/ch13-functional-features/listing-13-08/Cargo.toml index 2257cecdc7..914c4cfaa8 100644 --- a/listings/ch13-functional-features/listing-13-08/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "closure-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-09/Cargo.toml b/listings/ch13-functional-features/listing-13-09/Cargo.toml index 5fe776c473..6b81ef92b4 100644 --- a/listings/ch13-functional-features/listing-13-09/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cacher" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-10/Cargo.toml b/listings/ch13-functional-features/listing-13-10/Cargo.toml index 5fe776c473..6b81ef92b4 100644 --- a/listings/ch13-functional-features/listing-13-10/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cacher" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-11/Cargo.toml b/listings/ch13-functional-features/listing-13-11/Cargo.toml index 870e416e4e..f09a737d4d 100644 --- a/listings/ch13-functional-features/listing-13-11/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "workout-app" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-12/Cargo.toml b/listings/ch13-functional-features/listing-13-12/Cargo.toml index fb3b804abd..ca73ff73d1 100644 --- a/listings/ch13-functional-features/listing-13-12/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "equal-to-x" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-13/Cargo.toml b/listings/ch13-functional-features/listing-13-13/Cargo.toml index a844ed1dc7..2652a8a1a4 100644 --- a/listings/ch13-functional-features/listing-13-13/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "iterators" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-14/Cargo.toml b/listings/ch13-functional-features/listing-13-14/Cargo.toml index a844ed1dc7..2652a8a1a4 100644 --- a/listings/ch13-functional-features/listing-13-14/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-14/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "iterators" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-15/Cargo.toml b/listings/ch13-functional-features/listing-13-15/Cargo.toml index a844ed1dc7..2652a8a1a4 100644 --- a/listings/ch13-functional-features/listing-13-15/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-15/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "iterators" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-16/Cargo.toml b/listings/ch13-functional-features/listing-13-16/Cargo.toml index a844ed1dc7..2652a8a1a4 100644 --- a/listings/ch13-functional-features/listing-13-16/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-16/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "iterators" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-17/Cargo.toml b/listings/ch13-functional-features/listing-13-17/Cargo.toml index a844ed1dc7..2652a8a1a4 100644 --- a/listings/ch13-functional-features/listing-13-17/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-17/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "iterators" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-18/Cargo.toml b/listings/ch13-functional-features/listing-13-18/Cargo.toml index a844ed1dc7..2652a8a1a4 100644 --- a/listings/ch13-functional-features/listing-13-18/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-18/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "iterators" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-19/Cargo.toml b/listings/ch13-functional-features/listing-13-19/Cargo.toml index 4e64dff447..cc803776b6 100644 --- a/listings/ch13-functional-features/listing-13-19/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-19/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shoe_size" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-20/Cargo.toml b/listings/ch13-functional-features/listing-13-20/Cargo.toml index 4d881a627a..9e103f3eb3 100644 --- a/listings/ch13-functional-features/listing-13-20/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-20/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "counter" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-21/Cargo.toml b/listings/ch13-functional-features/listing-13-21/Cargo.toml index 4d881a627a..9e103f3eb3 100644 --- a/listings/ch13-functional-features/listing-13-21/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-21/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "counter" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-22/Cargo.toml b/listings/ch13-functional-features/listing-13-22/Cargo.toml index 4d881a627a..9e103f3eb3 100644 --- a/listings/ch13-functional-features/listing-13-22/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-22/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "counter" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-23/Cargo.toml b/listings/ch13-functional-features/listing-13-23/Cargo.toml index 4d881a627a..9e103f3eb3 100644 --- a/listings/ch13-functional-features/listing-13-23/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-23/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "counter" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-25/Cargo.toml b/listings/ch13-functional-features/listing-13-25/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch13-functional-features/listing-13-25/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-25/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-26/Cargo.toml b/listings/ch13-functional-features/listing-13-26/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch13-functional-features/listing-13-26/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-26/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-27/Cargo.toml b/listings/ch13-functional-features/listing-13-27/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch13-functional-features/listing-13-27/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-27/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/listing-13-29/Cargo.toml b/listings/ch13-functional-features/listing-13-29/Cargo.toml index f4228aec21..64c2a3f520 100644 --- a/listings/ch13-functional-features/listing-13-29/Cargo.toml +++ b/listings/ch13-functional-features/listing-13-29/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minigrep" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/no-listing-01-failing-cacher-test/Cargo.toml b/listings/ch13-functional-features/no-listing-01-failing-cacher-test/Cargo.toml index 5fe776c473..6b81ef92b4 100644 --- a/listings/ch13-functional-features/no-listing-01-failing-cacher-test/Cargo.toml +++ b/listings/ch13-functional-features/no-listing-01-failing-cacher-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cacher" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/no-listing-02-functions-cant-capture/Cargo.toml b/listings/ch13-functional-features/no-listing-02-functions-cant-capture/Cargo.toml index fb3b804abd..ca73ff73d1 100644 --- a/listings/ch13-functional-features/no-listing-02-functions-cant-capture/Cargo.toml +++ b/listings/ch13-functional-features/no-listing-02-functions-cant-capture/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "equal-to-x" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch13-functional-features/no-listing-03-move-closures/Cargo.toml b/listings/ch13-functional-features/no-listing-03-move-closures/Cargo.toml index fb3b804abd..ca73ff73d1 100644 --- a/listings/ch13-functional-features/no-listing-03-move-closures/Cargo.toml +++ b/listings/ch13-functional-features/no-listing-03-move-closures/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "equal-to-x" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/listing-14-01/Cargo.toml b/listings/ch14-more-about-cargo/listing-14-01/Cargo.toml index 3dab654eb0..c52da04129 100644 --- a/listings/ch14-more-about-cargo/listing-14-01/Cargo.toml +++ b/listings/ch14-more-about-cargo/listing-14-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "my_crate" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/listing-14-02/Cargo.toml b/listings/ch14-more-about-cargo/listing-14-02/Cargo.toml index 3dab654eb0..c52da04129 100644 --- a/listings/ch14-more-about-cargo/listing-14-02/Cargo.toml +++ b/listings/ch14-more-about-cargo/listing-14-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "my_crate" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/listing-14-03/Cargo.toml b/listings/ch14-more-about-cargo/listing-14-03/Cargo.toml index 30f96104bd..66ef4b532d 100644 --- a/listings/ch14-more-about-cargo/listing-14-03/Cargo.toml +++ b/listings/ch14-more-about-cargo/listing-14-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "art" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/listing-14-04/Cargo.toml b/listings/ch14-more-about-cargo/listing-14-04/Cargo.toml index 30f96104bd..66ef4b532d 100644 --- a/listings/ch14-more-about-cargo/listing-14-04/Cargo.toml +++ b/listings/ch14-more-about-cargo/listing-14-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "art" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/listing-14-05/Cargo.toml b/listings/ch14-more-about-cargo/listing-14-05/Cargo.toml index 30f96104bd..66ef4b532d 100644 --- a/listings/ch14-more-about-cargo/listing-14-05/Cargo.toml +++ b/listings/ch14-more-about-cargo/listing-14-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "art" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/listing-14-06/Cargo.toml b/listings/ch14-more-about-cargo/listing-14-06/Cargo.toml index 30f96104bd..66ef4b532d 100644 --- a/listings/ch14-more-about-cargo/listing-14-06/Cargo.toml +++ b/listings/ch14-more-about-cargo/listing-14-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "art" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/listing-14-07/add/add-one/Cargo.toml b/listings/ch14-more-about-cargo/listing-14-07/add/add-one/Cargo.toml index ab555f504b..0262902938 100644 --- a/listings/ch14-more-about-cargo/listing-14-07/add/add-one/Cargo.toml +++ b/listings/ch14-more-about-cargo/listing-14-07/add/add-one/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "add-one" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/listing-14-07/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/listing-14-07/add/adder/Cargo.toml index cae6ba5d2b..ea9e302eea 100644 --- a/listings/ch14-more-about-cargo/listing-14-07/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/listing-14-07/add/adder/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/no-listing-01-workspace-with-adder-crate/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-01-workspace-with-adder-crate/add/adder/Cargo.toml index 03c641f3e4..e61cb12e3e 100644 --- a/listings/ch14-more-about-cargo/no-listing-01-workspace-with-adder-crate/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-01-workspace-with-adder-crate/add/adder/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add-one/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add-one/Cargo.toml index ab555f504b..0262902938 100644 --- a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add-one/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/add-one/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "add-one" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml index cae6ba5d2b..ea9e302eea 100644 --- a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add-one/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add-one/Cargo.toml index 22e2a51240..9e6905425e 100644 --- a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add-one/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add-one/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "add-one" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] rand = "0.8.3" diff --git a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/adder/Cargo.toml index cae6ba5d2b..ea9e302eea 100644 --- a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/adder/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add-one/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add-one/Cargo.toml index ab555f504b..0262902938 100644 --- a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add-one/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/add-one/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "add-one" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/adder/Cargo.toml index cae6ba5d2b..ea9e302eea 100644 --- a/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-04-workspace-with-tests/add/adder/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/output-only-02-add-one/add/add-one/Cargo.toml b/listings/ch14-more-about-cargo/output-only-02-add-one/add/add-one/Cargo.toml index 4266f6641c..1b19ca676a 100644 --- a/listings/ch14-more-about-cargo/output-only-02-add-one/add/add-one/Cargo.toml +++ b/listings/ch14-more-about-cargo/output-only-02-add-one/add/add-one/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "add-one" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/listings/ch14-more-about-cargo/output-only-02-add-one/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/output-only-02-add-one/add/adder/Cargo.toml index cae6ba5d2b..ea9e302eea 100644 --- a/listings/ch14-more-about-cargo/output-only-02-add-one/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/output-only-02-add-one/add/adder/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add-one/Cargo.toml b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add-one/Cargo.toml index 22e2a51240..9e6905425e 100644 --- a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add-one/Cargo.toml +++ b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add-one/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "add-one" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] rand = "0.8.3" diff --git a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/adder/Cargo.toml index cae6ba5d2b..ea9e302eea 100644 --- a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/adder/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "adder" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-01/Cargo.toml b/listings/ch15-smart-pointers/listing-15-01/Cargo.toml index 6d5c6832e4..690385c7a4 100644 --- a/listings/ch15-smart-pointers/listing-15-01/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "box-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-02/Cargo.toml b/listings/ch15-smart-pointers/listing-15-02/Cargo.toml index ca5c90b779..dce1515c3e 100644 --- a/listings/ch15-smart-pointers/listing-15-02/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cons-list" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-03/Cargo.toml b/listings/ch15-smart-pointers/listing-15-03/Cargo.toml index ca5c90b779..dce1515c3e 100644 --- a/listings/ch15-smart-pointers/listing-15-03/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cons-list" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-05/Cargo.toml b/listings/ch15-smart-pointers/listing-15-05/Cargo.toml index ca5c90b779..dce1515c3e 100644 --- a/listings/ch15-smart-pointers/listing-15-05/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cons-list" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-06/Cargo.toml b/listings/ch15-smart-pointers/listing-15-06/Cargo.toml index 330a2b3a1c..67ec198f74 100644 --- a/listings/ch15-smart-pointers/listing-15-06/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deref-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-07/Cargo.toml b/listings/ch15-smart-pointers/listing-15-07/Cargo.toml index 330a2b3a1c..67ec198f74 100644 --- a/listings/ch15-smart-pointers/listing-15-07/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deref-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-08/Cargo.toml b/listings/ch15-smart-pointers/listing-15-08/Cargo.toml index 330a2b3a1c..67ec198f74 100644 --- a/listings/ch15-smart-pointers/listing-15-08/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deref-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-09/Cargo.toml b/listings/ch15-smart-pointers/listing-15-09/Cargo.toml index 330a2b3a1c..67ec198f74 100644 --- a/listings/ch15-smart-pointers/listing-15-09/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deref-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-10/Cargo.toml b/listings/ch15-smart-pointers/listing-15-10/Cargo.toml index 330a2b3a1c..67ec198f74 100644 --- a/listings/ch15-smart-pointers/listing-15-10/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deref-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-11/Cargo.toml b/listings/ch15-smart-pointers/listing-15-11/Cargo.toml index 330a2b3a1c..67ec198f74 100644 --- a/listings/ch15-smart-pointers/listing-15-11/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deref-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-12/Cargo.toml b/listings/ch15-smart-pointers/listing-15-12/Cargo.toml index 330a2b3a1c..67ec198f74 100644 --- a/listings/ch15-smart-pointers/listing-15-12/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deref-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-13/Cargo.toml b/listings/ch15-smart-pointers/listing-15-13/Cargo.toml index 330a2b3a1c..67ec198f74 100644 --- a/listings/ch15-smart-pointers/listing-15-13/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deref-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-14/Cargo.toml b/listings/ch15-smart-pointers/listing-15-14/Cargo.toml index 32dbbdd327..1e4c994815 100644 --- a/listings/ch15-smart-pointers/listing-15-14/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-14/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "drop-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-15/Cargo.toml b/listings/ch15-smart-pointers/listing-15-15/Cargo.toml index 32dbbdd327..1e4c994815 100644 --- a/listings/ch15-smart-pointers/listing-15-15/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-15/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "drop-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-16/Cargo.toml b/listings/ch15-smart-pointers/listing-15-16/Cargo.toml index 32dbbdd327..1e4c994815 100644 --- a/listings/ch15-smart-pointers/listing-15-16/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-16/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "drop-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-17/Cargo.toml b/listings/ch15-smart-pointers/listing-15-17/Cargo.toml index ca5c90b779..dce1515c3e 100644 --- a/listings/ch15-smart-pointers/listing-15-17/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-17/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cons-list" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-18/Cargo.toml b/listings/ch15-smart-pointers/listing-15-18/Cargo.toml index ca5c90b779..dce1515c3e 100644 --- a/listings/ch15-smart-pointers/listing-15-18/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-18/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cons-list" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-19/Cargo.toml b/listings/ch15-smart-pointers/listing-15-19/Cargo.toml index ca5c90b779..dce1515c3e 100644 --- a/listings/ch15-smart-pointers/listing-15-19/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-19/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cons-list" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-20/Cargo.toml b/listings/ch15-smart-pointers/listing-15-20/Cargo.toml index 2b3ecf580b..98c3f537c6 100644 --- a/listings/ch15-smart-pointers/listing-15-20/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-20/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "limit-tracker" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-21/Cargo.toml b/listings/ch15-smart-pointers/listing-15-21/Cargo.toml index 2b3ecf580b..98c3f537c6 100644 --- a/listings/ch15-smart-pointers/listing-15-21/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-21/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "limit-tracker" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-22/Cargo.toml b/listings/ch15-smart-pointers/listing-15-22/Cargo.toml index 2b3ecf580b..98c3f537c6 100644 --- a/listings/ch15-smart-pointers/listing-15-22/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-22/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "limit-tracker" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-23/Cargo.toml b/listings/ch15-smart-pointers/listing-15-23/Cargo.toml index 2b3ecf580b..98c3f537c6 100644 --- a/listings/ch15-smart-pointers/listing-15-23/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-23/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "limit-tracker" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-24/Cargo.toml b/listings/ch15-smart-pointers/listing-15-24/Cargo.toml index ca5c90b779..dce1515c3e 100644 --- a/listings/ch15-smart-pointers/listing-15-24/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-24/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cons-list" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-25/Cargo.toml b/listings/ch15-smart-pointers/listing-15-25/Cargo.toml index ca5c90b779..dce1515c3e 100644 --- a/listings/ch15-smart-pointers/listing-15-25/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-25/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cons-list" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-26/Cargo.toml b/listings/ch15-smart-pointers/listing-15-26/Cargo.toml index ca5c90b779..dce1515c3e 100644 --- a/listings/ch15-smart-pointers/listing-15-26/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-26/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cons-list" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-27/Cargo.toml b/listings/ch15-smart-pointers/listing-15-27/Cargo.toml index 9b981e540a..0bbf897d08 100644 --- a/listings/ch15-smart-pointers/listing-15-27/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-27/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tree" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-28/Cargo.toml b/listings/ch15-smart-pointers/listing-15-28/Cargo.toml index 9b981e540a..0bbf897d08 100644 --- a/listings/ch15-smart-pointers/listing-15-28/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-28/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tree" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/listing-15-29/Cargo.toml b/listings/ch15-smart-pointers/listing-15-29/Cargo.toml index 9b981e540a..0bbf897d08 100644 --- a/listings/ch15-smart-pointers/listing-15-29/Cargo.toml +++ b/listings/ch15-smart-pointers/listing-15-29/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tree" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/no-listing-01-cant-borrow-immutable-as-mutable/Cargo.toml b/listings/ch15-smart-pointers/no-listing-01-cant-borrow-immutable-as-mutable/Cargo.toml index 9220706fc6..16f92447f6 100644 --- a/listings/ch15-smart-pointers/no-listing-01-cant-borrow-immutable-as-mutable/Cargo.toml +++ b/listings/ch15-smart-pointers/no-listing-01-cant-borrow-immutable-as-mutable/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "borrowing" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch15-smart-pointers/output-only-01-comparing-to-reference/Cargo.toml b/listings/ch15-smart-pointers/output-only-01-comparing-to-reference/Cargo.toml index 330a2b3a1c..67ec198f74 100644 --- a/listings/ch15-smart-pointers/output-only-01-comparing-to-reference/Cargo.toml +++ b/listings/ch15-smart-pointers/output-only-01-comparing-to-reference/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deref-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-01/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-01/Cargo.toml index 86ef13c004..bd4edf7626 100644 --- a/listings/ch16-fearless-concurrency/listing-16-01/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "threads" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-02/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-02/Cargo.toml index 86ef13c004..bd4edf7626 100644 --- a/listings/ch16-fearless-concurrency/listing-16-02/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "threads" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-03/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-03/Cargo.toml index 86ef13c004..bd4edf7626 100644 --- a/listings/ch16-fearless-concurrency/listing-16-03/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "threads" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-04/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-04/Cargo.toml index 86ef13c004..bd4edf7626 100644 --- a/listings/ch16-fearless-concurrency/listing-16-04/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "threads" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-05/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-05/Cargo.toml index 86ef13c004..bd4edf7626 100644 --- a/listings/ch16-fearless-concurrency/listing-16-05/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "threads" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-06/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-06/Cargo.toml index 078faf4d0b..24bd2ee7b4 100644 --- a/listings/ch16-fearless-concurrency/listing-16-06/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "message-passing" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-07/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-07/Cargo.toml index 078faf4d0b..24bd2ee7b4 100644 --- a/listings/ch16-fearless-concurrency/listing-16-07/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "message-passing" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-08/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-08/Cargo.toml index 078faf4d0b..24bd2ee7b4 100644 --- a/listings/ch16-fearless-concurrency/listing-16-08/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "message-passing" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-09/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-09/Cargo.toml index 078faf4d0b..24bd2ee7b4 100644 --- a/listings/ch16-fearless-concurrency/listing-16-09/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "message-passing" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-10/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-10/Cargo.toml index 078faf4d0b..24bd2ee7b4 100644 --- a/listings/ch16-fearless-concurrency/listing-16-10/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "message-passing" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-11/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-11/Cargo.toml index 078faf4d0b..24bd2ee7b4 100644 --- a/listings/ch16-fearless-concurrency/listing-16-11/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "message-passing" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-12/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-12/Cargo.toml index eaaec49577..da297eaba1 100644 --- a/listings/ch16-fearless-concurrency/listing-16-12/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shared-state" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-13/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-13/Cargo.toml index eaaec49577..da297eaba1 100644 --- a/listings/ch16-fearless-concurrency/listing-16-13/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shared-state" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-14/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-14/Cargo.toml index eaaec49577..da297eaba1 100644 --- a/listings/ch16-fearless-concurrency/listing-16-14/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-14/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shared-state" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/listing-16-15/Cargo.toml b/listings/ch16-fearless-concurrency/listing-16-15/Cargo.toml index eaaec49577..da297eaba1 100644 --- a/listings/ch16-fearless-concurrency/listing-16-15/Cargo.toml +++ b/listings/ch16-fearless-concurrency/listing-16-15/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shared-state" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/no-listing-01-join-too-early/Cargo.toml b/listings/ch16-fearless-concurrency/no-listing-01-join-too-early/Cargo.toml index 86ef13c004..bd4edf7626 100644 --- a/listings/ch16-fearless-concurrency/no-listing-01-join-too-early/Cargo.toml +++ b/listings/ch16-fearless-concurrency/no-listing-01-join-too-early/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "threads" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/no-listing-02-no-loop-to-understand-error/Cargo.toml b/listings/ch16-fearless-concurrency/no-listing-02-no-loop-to-understand-error/Cargo.toml index eaaec49577..da297eaba1 100644 --- a/listings/ch16-fearless-concurrency/no-listing-02-no-loop-to-understand-error/Cargo.toml +++ b/listings/ch16-fearless-concurrency/no-listing-02-no-loop-to-understand-error/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shared-state" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch16-fearless-concurrency/output-only-01-move-drop/Cargo.toml b/listings/ch16-fearless-concurrency/output-only-01-move-drop/Cargo.toml index 86ef13c004..bd4edf7626 100644 --- a/listings/ch16-fearless-concurrency/output-only-01-move-drop/Cargo.toml +++ b/listings/ch16-fearless-concurrency/output-only-01-move-drop/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "threads" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-01/Cargo.toml b/listings/ch17-oop/listing-17-01/Cargo.toml index 1a64077d11..aed614e939 100644 --- a/listings/ch17-oop/listing-17-01/Cargo.toml +++ b/listings/ch17-oop/listing-17-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "averaged-collection" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-02/Cargo.toml b/listings/ch17-oop/listing-17-02/Cargo.toml index 1a64077d11..aed614e939 100644 --- a/listings/ch17-oop/listing-17-02/Cargo.toml +++ b/listings/ch17-oop/listing-17-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "averaged-collection" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-03/Cargo.toml b/listings/ch17-oop/listing-17-03/Cargo.toml index 06f8902623..9b816e7661 100644 --- a/listings/ch17-oop/listing-17-03/Cargo.toml +++ b/listings/ch17-oop/listing-17-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gui" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-04/Cargo.toml b/listings/ch17-oop/listing-17-04/Cargo.toml index 06f8902623..9b816e7661 100644 --- a/listings/ch17-oop/listing-17-04/Cargo.toml +++ b/listings/ch17-oop/listing-17-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gui" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-05/Cargo.toml b/listings/ch17-oop/listing-17-05/Cargo.toml index 06f8902623..9b816e7661 100644 --- a/listings/ch17-oop/listing-17-05/Cargo.toml +++ b/listings/ch17-oop/listing-17-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gui" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-06/Cargo.toml b/listings/ch17-oop/listing-17-06/Cargo.toml index 06f8902623..9b816e7661 100644 --- a/listings/ch17-oop/listing-17-06/Cargo.toml +++ b/listings/ch17-oop/listing-17-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gui" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-07/Cargo.toml b/listings/ch17-oop/listing-17-07/Cargo.toml index 06f8902623..9b816e7661 100644 --- a/listings/ch17-oop/listing-17-07/Cargo.toml +++ b/listings/ch17-oop/listing-17-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gui" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-08/Cargo.toml b/listings/ch17-oop/listing-17-08/Cargo.toml index 06f8902623..9b816e7661 100644 --- a/listings/ch17-oop/listing-17-08/Cargo.toml +++ b/listings/ch17-oop/listing-17-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gui" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-09/Cargo.toml b/listings/ch17-oop/listing-17-09/Cargo.toml index 06f8902623..9b816e7661 100644 --- a/listings/ch17-oop/listing-17-09/Cargo.toml +++ b/listings/ch17-oop/listing-17-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gui" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-10/Cargo.toml b/listings/ch17-oop/listing-17-10/Cargo.toml index 06f8902623..9b816e7661 100644 --- a/listings/ch17-oop/listing-17-10/Cargo.toml +++ b/listings/ch17-oop/listing-17-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gui" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-11/Cargo.toml b/listings/ch17-oop/listing-17-11/Cargo.toml index 706689ab91..1619af5c64 100644 --- a/listings/ch17-oop/listing-17-11/Cargo.toml +++ b/listings/ch17-oop/listing-17-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blog" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-12/Cargo.toml b/listings/ch17-oop/listing-17-12/Cargo.toml index 706689ab91..1619af5c64 100644 --- a/listings/ch17-oop/listing-17-12/Cargo.toml +++ b/listings/ch17-oop/listing-17-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blog" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-13/Cargo.toml b/listings/ch17-oop/listing-17-13/Cargo.toml index 706689ab91..1619af5c64 100644 --- a/listings/ch17-oop/listing-17-13/Cargo.toml +++ b/listings/ch17-oop/listing-17-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blog" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-14/Cargo.toml b/listings/ch17-oop/listing-17-14/Cargo.toml index 706689ab91..1619af5c64 100644 --- a/listings/ch17-oop/listing-17-14/Cargo.toml +++ b/listings/ch17-oop/listing-17-14/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blog" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-15/Cargo.toml b/listings/ch17-oop/listing-17-15/Cargo.toml index 706689ab91..1619af5c64 100644 --- a/listings/ch17-oop/listing-17-15/Cargo.toml +++ b/listings/ch17-oop/listing-17-15/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blog" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-16/Cargo.toml b/listings/ch17-oop/listing-17-16/Cargo.toml index 706689ab91..1619af5c64 100644 --- a/listings/ch17-oop/listing-17-16/Cargo.toml +++ b/listings/ch17-oop/listing-17-16/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blog" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-17/Cargo.toml b/listings/ch17-oop/listing-17-17/Cargo.toml index 706689ab91..1619af5c64 100644 --- a/listings/ch17-oop/listing-17-17/Cargo.toml +++ b/listings/ch17-oop/listing-17-17/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blog" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-18/Cargo.toml b/listings/ch17-oop/listing-17-18/Cargo.toml index 706689ab91..1619af5c64 100644 --- a/listings/ch17-oop/listing-17-18/Cargo.toml +++ b/listings/ch17-oop/listing-17-18/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blog" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-19/Cargo.toml b/listings/ch17-oop/listing-17-19/Cargo.toml index 706689ab91..1619af5c64 100644 --- a/listings/ch17-oop/listing-17-19/Cargo.toml +++ b/listings/ch17-oop/listing-17-19/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blog" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-20/Cargo.toml b/listings/ch17-oop/listing-17-20/Cargo.toml index 706689ab91..1619af5c64 100644 --- a/listings/ch17-oop/listing-17-20/Cargo.toml +++ b/listings/ch17-oop/listing-17-20/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blog" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/listing-17-21/Cargo.toml b/listings/ch17-oop/listing-17-21/Cargo.toml index 706689ab91..1619af5c64 100644 --- a/listings/ch17-oop/listing-17-21/Cargo.toml +++ b/listings/ch17-oop/listing-17-21/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blog" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch17-oop/no-listing-01-trait-object-of-clone/Cargo.toml b/listings/ch17-oop/no-listing-01-trait-object-of-clone/Cargo.toml index 06f8902623..9b816e7661 100644 --- a/listings/ch17-oop/no-listing-01-trait-object-of-clone/Cargo.toml +++ b/listings/ch17-oop/no-listing-01-trait-object-of-clone/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gui" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-01/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-01/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-01/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-02/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-02/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-02/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-03/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-03/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-03/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-04/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-04/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-04/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-05/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-05/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-05/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-06/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-06/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-06/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-07/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-07/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-07/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-08/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-08/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-08/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-09/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-09/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-09/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-10/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-10/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-10/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-11/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-11/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-11/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-12/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-12/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-12/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-13/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-13/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-13/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-14/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-14/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-14/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-14/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-15/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-15/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-15/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-15/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-16/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-16/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-16/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-16/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-17/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-17/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-17/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-17/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-18/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-18/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-18/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-18/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-19/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-19/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-19/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-19/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-20/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-20/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-20/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-20/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-21/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-21/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-21/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-21/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-22/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-22/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-22/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-22/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-23/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-23/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-23/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-23/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-24/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-24/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-24/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-24/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-25/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-25/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-25/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-25/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-26/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-26/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-26/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-26/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-27/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-27/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-27/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-27/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-28/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-28/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-28/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-28/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/listing-18-29/Cargo.toml b/listings/ch18-patterns-and-matching/listing-18-29/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/listing-18-29/Cargo.toml +++ b/listings/ch18-patterns-and-matching/listing-18-29/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/no-listing-01-literals/Cargo.toml b/listings/ch18-patterns-and-matching/no-listing-01-literals/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/no-listing-01-literals/Cargo.toml +++ b/listings/ch18-patterns-and-matching/no-listing-01-literals/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/no-listing-02-multiple-patterns/Cargo.toml b/listings/ch18-patterns-and-matching/no-listing-02-multiple-patterns/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/no-listing-02-multiple-patterns/Cargo.toml +++ b/listings/ch18-patterns-and-matching/no-listing-02-multiple-patterns/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/no-listing-03-ranges/Cargo.toml b/listings/ch18-patterns-and-matching/no-listing-03-ranges/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/no-listing-03-ranges/Cargo.toml +++ b/listings/ch18-patterns-and-matching/no-listing-03-ranges/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/no-listing-04-ranges-of-char/Cargo.toml b/listings/ch18-patterns-and-matching/no-listing-04-ranges-of-char/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/no-listing-04-ranges-of-char/Cargo.toml +++ b/listings/ch18-patterns-and-matching/no-listing-04-ranges-of-char/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch18-patterns-and-matching/no-listing-05-destructuring-structs-and-tuples/Cargo.toml b/listings/ch18-patterns-and-matching/no-listing-05-destructuring-structs-and-tuples/Cargo.toml index 1ea5a1c005..82fe057bbc 100644 --- a/listings/ch18-patterns-and-matching/no-listing-05-destructuring-structs-and-tuples/Cargo.toml +++ b/listings/ch18-patterns-and-matching/no-listing-05-destructuring-structs-and-tuples/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patterns" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-13-21-reproduced/Cargo.toml b/listings/ch19-advanced-features/listing-13-21-reproduced/Cargo.toml index 4d881a627a..9e103f3eb3 100644 --- a/listings/ch19-advanced-features/listing-13-21-reproduced/Cargo.toml +++ b/listings/ch19-advanced-features/listing-13-21-reproduced/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "counter" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-01/Cargo.toml b/listings/ch19-advanced-features/listing-19-01/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/listing-19-01/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-02/Cargo.toml b/listings/ch19-advanced-features/listing-19-02/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/listing-19-02/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-03/Cargo.toml b/listings/ch19-advanced-features/listing-19-03/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/listing-19-03/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-04/Cargo.toml b/listings/ch19-advanced-features/listing-19-04/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/listing-19-04/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-05/Cargo.toml b/listings/ch19-advanced-features/listing-19-05/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/listing-19-05/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-06/Cargo.toml b/listings/ch19-advanced-features/listing-19-06/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/listing-19-06/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-07/Cargo.toml b/listings/ch19-advanced-features/listing-19-07/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/listing-19-07/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-08/Cargo.toml b/listings/ch19-advanced-features/listing-19-08/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/listing-19-08/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-09/Cargo.toml b/listings/ch19-advanced-features/listing-19-09/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/listing-19-09/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-10/Cargo.toml b/listings/ch19-advanced-features/listing-19-10/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/listing-19-10/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-11/Cargo.toml b/listings/ch19-advanced-features/listing-19-11/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/listing-19-11/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-12/Cargo.toml b/listings/ch19-advanced-features/listing-19-12/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/listing-19-12/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-13/Cargo.toml b/listings/ch19-advanced-features/listing-19-13/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/listing-19-13/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-14/Cargo.toml b/listings/ch19-advanced-features/listing-19-14/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/listing-19-14/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-14/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-15/Cargo.toml b/listings/ch19-advanced-features/listing-19-15/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/listing-19-15/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-15/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-16/Cargo.toml b/listings/ch19-advanced-features/listing-19-16/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/listing-19-16/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-16/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-17/Cargo.toml b/listings/ch19-advanced-features/listing-19-17/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/listing-19-17/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-17/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-18/Cargo.toml b/listings/ch19-advanced-features/listing-19-18/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/listing-19-18/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-18/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-19/Cargo.toml b/listings/ch19-advanced-features/listing-19-19/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/listing-19-19/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-19/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-20/Cargo.toml b/listings/ch19-advanced-features/listing-19-20/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/listing-19-20/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-20/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-21/Cargo.toml b/listings/ch19-advanced-features/listing-19-21/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/listing-19-21/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-21/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-22/Cargo.toml b/listings/ch19-advanced-features/listing-19-22/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/listing-19-22/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-22/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-23/Cargo.toml b/listings/ch19-advanced-features/listing-19-23/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/listing-19-23/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-23/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-24/Cargo.toml b/listings/ch19-advanced-features/listing-19-24/Cargo.toml index ce5f9eadc2..a2ae20c77c 100644 --- a/listings/ch19-advanced-features/listing-19-24/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-24/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "types-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-25/Cargo.toml b/listings/ch19-advanced-features/listing-19-25/Cargo.toml index ce5f9eadc2..a2ae20c77c 100644 --- a/listings/ch19-advanced-features/listing-19-25/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-25/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "types-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-27/Cargo.toml b/listings/ch19-advanced-features/listing-19-27/Cargo.toml index 51b8b14f99..b196f35b55 100644 --- a/listings/ch19-advanced-features/listing-19-27/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-27/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-28/Cargo.toml b/listings/ch19-advanced-features/listing-19-28/Cargo.toml index b9af9c6d62..9218091c89 100644 --- a/listings/ch19-advanced-features/listing-19-28/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-28/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "macros-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-30/Cargo.toml b/listings/ch19-advanced-features/listing-19-30/Cargo.toml index 4c4e6f898b..c6fb920877 100644 --- a/listings/ch19-advanced-features/listing-19-30/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-30/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello_macro" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-31/hello_macro/Cargo.toml b/listings/ch19-advanced-features/listing-19-31/hello_macro/Cargo.toml index 4c4e6f898b..c6fb920877 100644 --- a/listings/ch19-advanced-features/listing-19-31/hello_macro/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-31/hello_macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello_macro" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-31/hello_macro/hello_macro_derive/Cargo.toml b/listings/ch19-advanced-features/listing-19-31/hello_macro/hello_macro_derive/Cargo.toml index 80cada3ef0..aa076ac48b 100644 --- a/listings/ch19-advanced-features/listing-19-31/hello_macro/hello_macro_derive/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-31/hello_macro/hello_macro_derive/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hello_macro_derive" version = "0.1.0" -edition = "2018" +edition = "2021" [lib] proc-macro = true diff --git a/listings/ch19-advanced-features/listing-19-33/hello_macro/Cargo.toml b/listings/ch19-advanced-features/listing-19-33/hello_macro/Cargo.toml index 4c4e6f898b..c6fb920877 100644 --- a/listings/ch19-advanced-features/listing-19-33/hello_macro/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-33/hello_macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello_macro" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/listing-19-33/hello_macro/hello_macro_derive/Cargo.toml b/listings/ch19-advanced-features/listing-19-33/hello_macro/hello_macro_derive/Cargo.toml index 80cada3ef0..aa076ac48b 100644 --- a/listings/ch19-advanced-features/listing-19-33/hello_macro/hello_macro_derive/Cargo.toml +++ b/listings/ch19-advanced-features/listing-19-33/hello_macro/hello_macro_derive/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hello_macro_derive" version = "0.1.0" -edition = "2018" +edition = "2021" [lib] proc-macro = true diff --git a/listings/ch19-advanced-features/no-listing-01-unsafe-fn/Cargo.toml b/listings/ch19-advanced-features/no-listing-01-unsafe-fn/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/no-listing-01-unsafe-fn/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-01-unsafe-fn/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-02-impl-outlineprint-for-point/Cargo.toml b/listings/ch19-advanced-features/no-listing-02-impl-outlineprint-for-point/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/no-listing-02-impl-outlineprint-for-point/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-02-impl-outlineprint-for-point/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-03-impl-display-for-point/Cargo.toml b/listings/ch19-advanced-features/no-listing-03-impl-display-for-point/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/no-listing-03-impl-display-for-point/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-03-impl-display-for-point/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-04-kilometers-alias/Cargo.toml b/listings/ch19-advanced-features/no-listing-04-kilometers-alias/Cargo.toml index ce5f9eadc2..a2ae20c77c 100644 --- a/listings/ch19-advanced-features/no-listing-04-kilometers-alias/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-04-kilometers-alias/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "types-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-05-write-trait/Cargo.toml b/listings/ch19-advanced-features/no-listing-05-write-trait/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/no-listing-05-write-trait/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-05-write-trait/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-06-result-alias/Cargo.toml b/listings/ch19-advanced-features/no-listing-06-result-alias/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/no-listing-06-result-alias/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-06-result-alias/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-07-never-type/Cargo.toml b/listings/ch19-advanced-features/no-listing-07-never-type/Cargo.toml index 0fad0cdf04..52395a5873 100644 --- a/listings/ch19-advanced-features/no-listing-07-never-type/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-07-never-type/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "traits-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-08-match-arms-different-types/Cargo.toml b/listings/ch19-advanced-features/no-listing-08-match-arms-different-types/Cargo.toml index ce5f9eadc2..a2ae20c77c 100644 --- a/listings/ch19-advanced-features/no-listing-08-match-arms-different-types/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-08-match-arms-different-types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "types-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-09-unwrap-definition/Cargo.toml b/listings/ch19-advanced-features/no-listing-09-unwrap-definition/Cargo.toml index ce5f9eadc2..a2ae20c77c 100644 --- a/listings/ch19-advanced-features/no-listing-09-unwrap-definition/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-09-unwrap-definition/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "types-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-10-loop-returns-never/Cargo.toml b/listings/ch19-advanced-features/no-listing-10-loop-returns-never/Cargo.toml index ce5f9eadc2..a2ae20c77c 100644 --- a/listings/ch19-advanced-features/no-listing-10-loop-returns-never/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-10-loop-returns-never/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "types-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-11-cant-create-str/Cargo.toml b/listings/ch19-advanced-features/no-listing-11-cant-create-str/Cargo.toml index ce5f9eadc2..a2ae20c77c 100644 --- a/listings/ch19-advanced-features/no-listing-11-cant-create-str/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-11-cant-create-str/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "types-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-12-generic-fn-definition/Cargo.toml b/listings/ch19-advanced-features/no-listing-12-generic-fn-definition/Cargo.toml index ce5f9eadc2..a2ae20c77c 100644 --- a/listings/ch19-advanced-features/no-listing-12-generic-fn-definition/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-12-generic-fn-definition/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "types-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-13-generic-implicit-sized-bound/Cargo.toml b/listings/ch19-advanced-features/no-listing-13-generic-implicit-sized-bound/Cargo.toml index ce5f9eadc2..a2ae20c77c 100644 --- a/listings/ch19-advanced-features/no-listing-13-generic-implicit-sized-bound/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-13-generic-implicit-sized-bound/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "types-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-14-generic-maybe-sized/Cargo.toml b/listings/ch19-advanced-features/no-listing-14-generic-maybe-sized/Cargo.toml index ce5f9eadc2..a2ae20c77c 100644 --- a/listings/ch19-advanced-features/no-listing-14-generic-maybe-sized/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-14-generic-maybe-sized/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "types-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-15-map-closure/Cargo.toml b/listings/ch19-advanced-features/no-listing-15-map-closure/Cargo.toml index 51b8b14f99..b196f35b55 100644 --- a/listings/ch19-advanced-features/no-listing-15-map-closure/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-15-map-closure/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-16-map-function/Cargo.toml b/listings/ch19-advanced-features/no-listing-16-map-function/Cargo.toml index 51b8b14f99..b196f35b55 100644 --- a/listings/ch19-advanced-features/no-listing-16-map-function/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-16-map-function/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-17-map-initializer/Cargo.toml b/listings/ch19-advanced-features/no-listing-17-map-initializer/Cargo.toml index 51b8b14f99..b196f35b55 100644 --- a/listings/ch19-advanced-features/no-listing-17-map-initializer/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-17-map-initializer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-18-returns-closure/Cargo.toml b/listings/ch19-advanced-features/no-listing-18-returns-closure/Cargo.toml index 51b8b14f99..b196f35b55 100644 --- a/listings/ch19-advanced-features/no-listing-18-returns-closure/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-18-returns-closure/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-19-returns-closure-trait-object/Cargo.toml b/listings/ch19-advanced-features/no-listing-19-returns-closure-trait-object/Cargo.toml index 51b8b14f99..b196f35b55 100644 --- a/listings/ch19-advanced-features/no-listing-19-returns-closure-trait-object/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-19-returns-closure-trait-object/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "functions-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-20-impl-hellomacro-for-pancakes/hello_macro/Cargo.toml b/listings/ch19-advanced-features/no-listing-20-impl-hellomacro-for-pancakes/hello_macro/Cargo.toml index 4c4e6f898b..c6fb920877 100644 --- a/listings/ch19-advanced-features/no-listing-20-impl-hellomacro-for-pancakes/hello_macro/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-20-impl-hellomacro-for-pancakes/hello_macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello_macro" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-20-impl-hellomacro-for-pancakes/pancakes/Cargo.toml b/listings/ch19-advanced-features/no-listing-20-impl-hellomacro-for-pancakes/pancakes/Cargo.toml index b941d527be..3ad910862a 100644 --- a/listings/ch19-advanced-features/no-listing-20-impl-hellomacro-for-pancakes/pancakes/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-20-impl-hellomacro-for-pancakes/pancakes/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "pancakes" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] hello_macro = { path = "../hello_macro" } \ No newline at end of file diff --git a/listings/ch19-advanced-features/no-listing-21-pancakes/hello_macro/Cargo.toml b/listings/ch19-advanced-features/no-listing-21-pancakes/hello_macro/Cargo.toml index 4c4e6f898b..c6fb920877 100644 --- a/listings/ch19-advanced-features/no-listing-21-pancakes/hello_macro/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-21-pancakes/hello_macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello_macro" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch19-advanced-features/no-listing-21-pancakes/hello_macro/hello_macro_derive/Cargo.toml b/listings/ch19-advanced-features/no-listing-21-pancakes/hello_macro/hello_macro_derive/Cargo.toml index 80cada3ef0..aa076ac48b 100644 --- a/listings/ch19-advanced-features/no-listing-21-pancakes/hello_macro/hello_macro_derive/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-21-pancakes/hello_macro/hello_macro_derive/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hello_macro_derive" version = "0.1.0" -edition = "2018" +edition = "2021" [lib] proc-macro = true diff --git a/listings/ch19-advanced-features/no-listing-21-pancakes/pancakes/Cargo.toml b/listings/ch19-advanced-features/no-listing-21-pancakes/pancakes/Cargo.toml index f150aec0aa..cb3a98c3a8 100644 --- a/listings/ch19-advanced-features/no-listing-21-pancakes/pancakes/Cargo.toml +++ b/listings/ch19-advanced-features/no-listing-21-pancakes/pancakes/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "pancakes" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] hello_macro = { path = "../hello_macro" } diff --git a/listings/ch19-advanced-features/output-only-01-missing-unsafe/Cargo.toml b/listings/ch19-advanced-features/output-only-01-missing-unsafe/Cargo.toml index 940d4ab820..3e8a292013 100644 --- a/listings/ch19-advanced-features/output-only-01-missing-unsafe/Cargo.toml +++ b/listings/ch19-advanced-features/output-only-01-missing-unsafe/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unsafe-example" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-01/Cargo.toml b/listings/ch20-web-server/listing-20-01/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-01/Cargo.toml +++ b/listings/ch20-web-server/listing-20-01/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-02/Cargo.toml b/listings/ch20-web-server/listing-20-02/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-02/Cargo.toml +++ b/listings/ch20-web-server/listing-20-02/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-03/Cargo.toml b/listings/ch20-web-server/listing-20-03/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-03/Cargo.toml +++ b/listings/ch20-web-server/listing-20-03/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-04/Cargo.toml b/listings/ch20-web-server/listing-20-04/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-04/Cargo.toml +++ b/listings/ch20-web-server/listing-20-04/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-05/Cargo.toml b/listings/ch20-web-server/listing-20-05/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-05/Cargo.toml +++ b/listings/ch20-web-server/listing-20-05/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-06/Cargo.toml b/listings/ch20-web-server/listing-20-06/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-06/Cargo.toml +++ b/listings/ch20-web-server/listing-20-06/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-07/Cargo.toml b/listings/ch20-web-server/listing-20-07/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-07/Cargo.toml +++ b/listings/ch20-web-server/listing-20-07/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-08/Cargo.toml b/listings/ch20-web-server/listing-20-08/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-08/Cargo.toml +++ b/listings/ch20-web-server/listing-20-08/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-09/Cargo.toml b/listings/ch20-web-server/listing-20-09/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-09/Cargo.toml +++ b/listings/ch20-web-server/listing-20-09/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-10/Cargo.toml b/listings/ch20-web-server/listing-20-10/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-10/Cargo.toml +++ b/listings/ch20-web-server/listing-20-10/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-11/Cargo.toml b/listings/ch20-web-server/listing-20-11/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-11/Cargo.toml +++ b/listings/ch20-web-server/listing-20-11/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-12/Cargo.toml b/listings/ch20-web-server/listing-20-12/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-12/Cargo.toml +++ b/listings/ch20-web-server/listing-20-12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-13/Cargo.toml b/listings/ch20-web-server/listing-20-13/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-13/Cargo.toml +++ b/listings/ch20-web-server/listing-20-13/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-14/Cargo.toml b/listings/ch20-web-server/listing-20-14/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-14/Cargo.toml +++ b/listings/ch20-web-server/listing-20-14/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-15/Cargo.toml b/listings/ch20-web-server/listing-20-15/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-15/Cargo.toml +++ b/listings/ch20-web-server/listing-20-15/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-16/Cargo.toml b/listings/ch20-web-server/listing-20-16/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-16/Cargo.toml +++ b/listings/ch20-web-server/listing-20-16/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-17/Cargo.toml b/listings/ch20-web-server/listing-20-17/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-17/Cargo.toml +++ b/listings/ch20-web-server/listing-20-17/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-18/Cargo.toml b/listings/ch20-web-server/listing-20-18/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-18/Cargo.toml +++ b/listings/ch20-web-server/listing-20-18/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-19/Cargo.toml b/listings/ch20-web-server/listing-20-19/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-19/Cargo.toml +++ b/listings/ch20-web-server/listing-20-19/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-20/Cargo.toml b/listings/ch20-web-server/listing-20-20/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-20/Cargo.toml +++ b/listings/ch20-web-server/listing-20-20/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-21/Cargo.toml b/listings/ch20-web-server/listing-20-21/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-21/Cargo.toml +++ b/listings/ch20-web-server/listing-20-21/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-22/Cargo.toml b/listings/ch20-web-server/listing-20-22/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-22/Cargo.toml +++ b/listings/ch20-web-server/listing-20-22/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-23/Cargo.toml b/listings/ch20-web-server/listing-20-23/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-23/Cargo.toml +++ b/listings/ch20-web-server/listing-20-23/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-24/Cargo.toml b/listings/ch20-web-server/listing-20-24/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-24/Cargo.toml +++ b/listings/ch20-web-server/listing-20-24/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/listing-20-25/Cargo.toml b/listings/ch20-web-server/listing-20-25/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/listing-20-25/Cargo.toml +++ b/listings/ch20-web-server/listing-20-25/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/no-listing-01-define-threadpool-struct/Cargo.toml b/listings/ch20-web-server/no-listing-01-define-threadpool-struct/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/no-listing-01-define-threadpool-struct/Cargo.toml +++ b/listings/ch20-web-server/no-listing-01-define-threadpool-struct/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/no-listing-02-impl-threadpool-new/Cargo.toml b/listings/ch20-web-server/no-listing-02-impl-threadpool-new/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/no-listing-02-impl-threadpool-new/Cargo.toml +++ b/listings/ch20-web-server/no-listing-02-impl-threadpool-new/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/no-listing-03-define-execute/Cargo.toml b/listings/ch20-web-server/no-listing-03-define-execute/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/no-listing-03-define-execute/Cargo.toml +++ b/listings/ch20-web-server/no-listing-03-define-execute/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/no-listing-04-update-worker-definition/Cargo.toml b/listings/ch20-web-server/no-listing-04-update-worker-definition/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/no-listing-04-update-worker-definition/Cargo.toml +++ b/listings/ch20-web-server/no-listing-04-update-worker-definition/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/no-listing-05-fix-worker-new/Cargo.toml b/listings/ch20-web-server/no-listing-05-fix-worker-new/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/no-listing-05-fix-worker-new/Cargo.toml +++ b/listings/ch20-web-server/no-listing-05-fix-worker-new/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/no-listing-06-fix-threadpool-drop/Cargo.toml b/listings/ch20-web-server/no-listing-06-fix-threadpool-drop/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/no-listing-06-fix-threadpool-drop/Cargo.toml +++ b/listings/ch20-web-server/no-listing-06-fix-threadpool-drop/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/no-listing-07-define-message-enum/Cargo.toml b/listings/ch20-web-server/no-listing-07-define-message-enum/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/no-listing-07-define-message-enum/Cargo.toml +++ b/listings/ch20-web-server/no-listing-07-define-message-enum/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/listings/ch20-web-server/no-listing-08-final-code/Cargo.toml b/listings/ch20-web-server/no-listing-08-final-code/Cargo.toml index faf0baeab6..fe619478a6 100644 --- a/listings/ch20-web-server/no-listing-08-final-code/Cargo.toml +++ b/listings/ch20-web-server/no-listing-08-final-code/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hello" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] diff --git a/tools/update-editions.sh b/tools/update-editions.sh new file mode 100755 index 0000000000..bd52bc9c81 --- /dev/null +++ b/tools/update-editions.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set -eu + +OLD_EDITION=2018 +NEW_EDITION=2021 + +find listings/** -name "Cargo.toml" -exec sed -i '' "s/edition = \"$OLD_EDITION\"/edition = \"$NEW_EDITION\"/g" '{}' \; From 0a1887f1be3a89c6c2d9a61e2050699400b222c4 Mon Sep 17 00:00:00 2001 From: JirCep Date: Fri, 24 Dec 2021 17:11:40 +0100 Subject: [PATCH 0019/1248] Past tense makes better sense At least for me. --- src/ch01-03-hello-cargo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch01-03-hello-cargo.md b/src/ch01-03-hello-cargo.md index f42681aecd..ff8db27a06 100644 --- a/src/ch01-03-hello-cargo.md +++ b/src/ch01-03-hello-cargo.md @@ -39,7 +39,7 @@ $ cargo new hello_cargo $ cd hello_cargo ``` -The first command creates a new directory called *hello_cargo*. We’ve named +The first command created a new directory called *hello_cargo*. We’ve named our project *hello_cargo*, and Cargo creates its files in a directory of the same name. From bcab8b5f5f520a40985783082d99fbe841adf649 Mon Sep 17 00:00:00 2001 From: JirCep Date: Fri, 24 Dec 2021 17:59:46 +0100 Subject: [PATCH 0020/1248] Past tense make better sense At least for me. --- src/ch01-03-hello-cargo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch01-03-hello-cargo.md b/src/ch01-03-hello-cargo.md index ff8db27a06..a6284499df 100644 --- a/src/ch01-03-hello-cargo.md +++ b/src/ch01-03-hello-cargo.md @@ -100,7 +100,7 @@ fn main() { Cargo has generated a “Hello, world!” program for you, just like the one we wrote in Listing 1-1! So far, the differences between our previous project and -the project Cargo generates are that Cargo placed the code in the *src* +the project Cargo generated are that Cargo placed the code in the *src* directory, and we have a *Cargo.toml* configuration file in the top directory. Cargo expects your source files to live inside the *src* directory. The From 94944f151bf8b810090ec2890e48e72298d61d59 Mon Sep 17 00:00:00 2001 From: Ingu Kang Date: Tue, 21 Dec 2021 01:28:14 +0900 Subject: [PATCH 0021/1248] Bump mdBook version to 0.4.14 in workflow main.yml --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d28c1460b5..e313d50899 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,7 +17,7 @@ jobs: - name: Install mdbook run: | mkdir bin - curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.12/mdbook-v0.4.12-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin + curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.14/mdbook-v0.4.14-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin echo "$(pwd)/bin" >> ${GITHUB_PATH} - name: Report versions run: | @@ -41,7 +41,7 @@ jobs: - name: Install mdbook run: | mkdir bin - curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.12/mdbook-v0.4.12-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin + curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.14/mdbook-v0.4.14-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin echo "$(pwd)/bin" >> ${GITHUB_PATH} - name: Report versions run: | From 04170d1feee2a47525b39f1edce77ba615ca9cdf Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 23 Dec 2021 16:09:47 -0500 Subject: [PATCH 0022/1248] Remove sentence encouraging writing tests on your own. Fixes #2223. --- src/ch12-04-testing-the-librarys-functionality.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ch12-04-testing-the-librarys-functionality.md b/src/ch12-04-testing-the-librarys-functionality.md index bf3e4f1f52..38ac639250 100644 --- a/src/ch12-04-testing-the-librarys-functionality.md +++ b/src/ch12-04-testing-the-librarys-functionality.md @@ -4,8 +4,7 @@ Now that we’ve extracted the logic into *src/lib.rs* and left the argument collecting and error handling in *src/main.rs*, it’s much easier to write tests for the core functionality of our code. We can call functions directly with various arguments and check return values without having to call our binary -from the command line. Feel free to write some tests for the functionality in -the `Config::new` and `run` functions on your own. +from the command line. In this section, we’ll add the searching logic to the `minigrep` program by using the Test-driven development (TDD) process. This software development From d302125259a136d29a55dff2e26f1c0a27f27fdb Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 23 Dec 2021 16:11:31 -0500 Subject: [PATCH 0023/1248] Remove note about primitive obsession. Fixes #2863. --- src/ch12-03-improving-error-handling-and-modularity.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/ch12-03-improving-error-handling-and-modularity.md b/src/ch12-03-improving-error-handling-and-modularity.md index b8a91623f7..17e4c1fd3b 100644 --- a/src/ch12-03-improving-error-handling-and-modularity.md +++ b/src/ch12-03-improving-error-handling-and-modularity.md @@ -112,9 +112,6 @@ struct fields a meaningful name. Doing so will make it easier for future maintainers of this code to understand how the different values relate to each other and what their purpose is. -> Note: Using primitive values when a complex type would be more appropriate is -> an anti-pattern known as *primitive obsession*. - Listing 12-6 shows the improvements to the `parse_config` function. Filename: src/main.rs From c5c12e911b20fac20eefc511f6fe8d432a8e5ec2 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 23 Dec 2021 16:13:39 -0500 Subject: [PATCH 0024/1248] Sidestep who provides output streams. Fixes #2933. --- src/ch12-06-writing-to-stderr-instead-of-stdout.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ch12-06-writing-to-stderr-instead-of-stdout.md b/src/ch12-06-writing-to-stderr-instead-of-stdout.md index 0d6a45a6cc..dabfeeaa11 100644 --- a/src/ch12-06-writing-to-stderr-instead-of-stdout.md +++ b/src/ch12-06-writing-to-stderr-instead-of-stdout.md @@ -1,9 +1,9 @@ ## Writing Error Messages to Standard Error Instead of Standard Output At the moment, we’re writing all of our output to the terminal using the -`println!` macro. Most terminals provide two kinds of output: *standard -output* (`stdout`) for general information and *standard error* (`stderr`) -for error messages. This distinction enables users to choose to direct the +`println!` macro. In most terminals, there are two kinds of output: *standard +output* (`stdout`) for general information and *standard error* (`stderr`) for +error messages. This distinction enables users to choose to direct the successful output of a program to a file but still print error messages to the screen. From ff78f86d977d1e077a05a8217831c950eb958a6a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 26 Dec 2021 21:38:55 -0500 Subject: [PATCH 0025/1248] Add does_not_compile annotation to intermediate steps that don't compile --- src/ch12-03-improving-error-handling-and-modularity.md | 4 ++-- src/ch13-03-improving-our-io-project.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ch12-03-improving-error-handling-and-modularity.md b/src/ch12-03-improving-error-handling-and-modularity.md index 17e4c1fd3b..a4c4160d07 100644 --- a/src/ch12-03-improving-error-handling-and-modularity.md +++ b/src/ch12-03-improving-error-handling-and-modularity.md @@ -266,7 +266,7 @@ next listing. Filename: src/main.rs -```rust,ignore +```rust,ignore,does_not_compile {{#rustdoc_include ../listings/ch12-an-io-project/listing-12-09/src/main.rs:here}} ``` @@ -455,7 +455,7 @@ compile until we modify *src/main.rs* in Listing 12-14. Filename: src/lib.rs -```rust,ignore +```rust,ignore,does_not_compile {{#rustdoc_include ../listings/ch12-an-io-project/listing-12-13/src/lib.rs:here}} ``` diff --git a/src/ch13-03-improving-our-io-project.md b/src/ch13-03-improving-our-io-project.md index 28a494500f..f61e1ef712 100644 --- a/src/ch13-03-improving-our-io-project.md +++ b/src/ch13-03-improving-our-io-project.md @@ -56,7 +56,7 @@ well. Filename: src/main.rs -```rust,ignore +```rust,ignore,does_not_compile {{#rustdoc_include ../listings/ch13-functional-features/listing-13-25/src/main.rs:here}} ``` @@ -75,7 +75,7 @@ body. Filename: src/lib.rs -```rust,ignore +```rust,ignore,does_not_compile {{#rustdoc_include ../listings/ch13-functional-features/listing-13-26/src/lib.rs:here}} ``` From cc958ca579816ea6ac7e9067d628b0423a1ed3e4 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 26 Dec 2021 21:39:29 -0500 Subject: [PATCH 0026/1248] Use 'static lifetime earlier because that's more correct. Fixes #2864. --- .../ch12-an-io-project/listing-12-09/src/main.rs | 2 +- .../ch12-an-io-project/listing-12-10/src/main.rs | 2 +- .../ch12-an-io-project/listing-12-11/src/main.rs | 2 +- .../ch12-an-io-project/listing-12-12/src/main.rs | 2 +- listings/ch12-an-io-project/listing-12-13/src/lib.rs | 2 +- listings/ch12-an-io-project/listing-12-14/src/lib.rs | 2 +- listings/ch12-an-io-project/listing-12-15/src/lib.rs | 2 +- listings/ch12-an-io-project/listing-12-16/src/lib.rs | 2 +- listings/ch12-an-io-project/listing-12-17/src/lib.rs | 2 +- listings/ch12-an-io-project/listing-12-18/src/lib.rs | 2 +- listings/ch12-an-io-project/listing-12-19/src/lib.rs | 2 +- listings/ch12-an-io-project/listing-12-20/src/lib.rs | 2 +- listings/ch12-an-io-project/listing-12-21/src/lib.rs | 2 +- listings/ch12-an-io-project/listing-12-22/src/lib.rs | 2 +- listings/ch12-an-io-project/listing-12-23/src/lib.rs | 2 +- listings/ch12-an-io-project/listing-12-24/src/lib.rs | 2 +- .../src/main.rs | 2 +- .../no-listing-02-using-search-in-run/src/lib.rs | 2 +- .../output-only-02-missing-lifetimes/src/lib.rs | 2 +- .../output-only-03-multiple-matches/src/lib.rs | 2 +- .../output-only-04-no-matches/src/lib.rs | 2 +- .../listing-12-23-reproduced/src/lib.rs | 2 +- .../listing-12-24-reproduced/src/lib.rs | 2 +- .../listing-13-25/src/lib.rs | 2 +- ...h12-03-improving-error-handling-and-modularity.md | 3 ++- src/ch13-03-improving-our-io-project.md | 12 ------------ 26 files changed, 26 insertions(+), 37 deletions(-) diff --git a/listings/ch12-an-io-project/listing-12-09/src/main.rs b/listings/ch12-an-io-project/listing-12-09/src/main.rs index 8bee2544b8..83f46ee37f 100644 --- a/listings/ch12-an-io-project/listing-12-09/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-09/src/main.rs @@ -22,7 +22,7 @@ struct Config { // ANCHOR: here impl Config { - fn new(args: &[String]) -> Result { + fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-10/src/main.rs b/listings/ch12-an-io-project/listing-12-10/src/main.rs index 2b8cac4255..c8aeb1d37e 100644 --- a/listings/ch12-an-io-project/listing-12-10/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-10/src/main.rs @@ -29,7 +29,7 @@ struct Config { } impl Config { - fn new(args: &[String]) -> Result { + fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-11/src/main.rs b/listings/ch12-an-io-project/listing-12-11/src/main.rs index 15aa709e7c..974b503b72 100644 --- a/listings/ch12-an-io-project/listing-12-11/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-11/src/main.rs @@ -37,7 +37,7 @@ struct Config { } impl Config { - fn new(args: &[String]) -> Result { + fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-12/src/main.rs b/listings/ch12-an-io-project/listing-12-12/src/main.rs index 337dac1cc9..f2e0e6b9f3 100644 --- a/listings/ch12-an-io-project/listing-12-12/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-12/src/main.rs @@ -38,7 +38,7 @@ struct Config { } impl Config { - fn new(args: &[String]) -> Result { + fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-13/src/lib.rs b/listings/ch12-an-io-project/listing-12-13/src/lib.rs index 5a877fca1e..5b2850a5df 100644 --- a/listings/ch12-an-io-project/listing-12-13/src/lib.rs +++ b/listings/ch12-an-io-project/listing-12-13/src/lib.rs @@ -8,7 +8,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { // --snip-- // ANCHOR_END: here if args.len() < 3 { diff --git a/listings/ch12-an-io-project/listing-12-14/src/lib.rs b/listings/ch12-an-io-project/listing-12-14/src/lib.rs index 40ee7cacbb..2ba2fd1961 100644 --- a/listings/ch12-an-io-project/listing-12-14/src/lib.rs +++ b/listings/ch12-an-io-project/listing-12-14/src/lib.rs @@ -7,7 +7,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-15/src/lib.rs b/listings/ch12-an-io-project/listing-12-15/src/lib.rs index a0f611a35b..c677188393 100644 --- a/listings/ch12-an-io-project/listing-12-15/src/lib.rs +++ b/listings/ch12-an-io-project/listing-12-15/src/lib.rs @@ -7,7 +7,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-16/src/lib.rs b/listings/ch12-an-io-project/listing-12-16/src/lib.rs index 4df625e083..8729c32f4d 100644 --- a/listings/ch12-an-io-project/listing-12-16/src/lib.rs +++ b/listings/ch12-an-io-project/listing-12-16/src/lib.rs @@ -7,7 +7,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-17/src/lib.rs b/listings/ch12-an-io-project/listing-12-17/src/lib.rs index e7ddee9953..0b094ce28a 100644 --- a/listings/ch12-an-io-project/listing-12-17/src/lib.rs +++ b/listings/ch12-an-io-project/listing-12-17/src/lib.rs @@ -7,7 +7,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-18/src/lib.rs b/listings/ch12-an-io-project/listing-12-18/src/lib.rs index 8984d1a887..c9d1f529da 100644 --- a/listings/ch12-an-io-project/listing-12-18/src/lib.rs +++ b/listings/ch12-an-io-project/listing-12-18/src/lib.rs @@ -7,7 +7,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-19/src/lib.rs b/listings/ch12-an-io-project/listing-12-19/src/lib.rs index 5a9e345b99..de8897b8d1 100644 --- a/listings/ch12-an-io-project/listing-12-19/src/lib.rs +++ b/listings/ch12-an-io-project/listing-12-19/src/lib.rs @@ -7,7 +7,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-20/src/lib.rs b/listings/ch12-an-io-project/listing-12-20/src/lib.rs index d36f151574..542d08874d 100644 --- a/listings/ch12-an-io-project/listing-12-20/src/lib.rs +++ b/listings/ch12-an-io-project/listing-12-20/src/lib.rs @@ -7,7 +7,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-21/src/lib.rs b/listings/ch12-an-io-project/listing-12-21/src/lib.rs index 79f166bc27..10f6dea094 100644 --- a/listings/ch12-an-io-project/listing-12-21/src/lib.rs +++ b/listings/ch12-an-io-project/listing-12-21/src/lib.rs @@ -7,7 +7,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-22/src/lib.rs b/listings/ch12-an-io-project/listing-12-22/src/lib.rs index 8feb1b1f81..3402a273f3 100644 --- a/listings/ch12-an-io-project/listing-12-22/src/lib.rs +++ b/listings/ch12-an-io-project/listing-12-22/src/lib.rs @@ -10,7 +10,7 @@ pub struct Config { // ANCHOR_END: here impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-23/src/lib.rs b/listings/ch12-an-io-project/listing-12-23/src/lib.rs index 719d3fe03b..fa63a8c7be 100644 --- a/listings/ch12-an-io-project/listing-12-23/src/lib.rs +++ b/listings/ch12-an-io-project/listing-12-23/src/lib.rs @@ -14,7 +14,7 @@ pub struct Config { // ANCHOR: here impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/listing-12-24/src/lib.rs b/listings/ch12-an-io-project/listing-12-24/src/lib.rs index d0d0eb385f..fe1dccf4ee 100644 --- a/listings/ch12-an-io-project/listing-12-24/src/lib.rs +++ b/listings/ch12-an-io-project/listing-12-24/src/lib.rs @@ -9,7 +9,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/no-listing-01-handling-errors-in-main/src/main.rs b/listings/ch12-an-io-project/no-listing-01-handling-errors-in-main/src/main.rs index e40109ce77..44bcfeab30 100644 --- a/listings/ch12-an-io-project/no-listing-01-handling-errors-in-main/src/main.rs +++ b/listings/ch12-an-io-project/no-listing-01-handling-errors-in-main/src/main.rs @@ -41,7 +41,7 @@ struct Config { } impl Config { - fn new(args: &[String]) -> Result { + fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/no-listing-02-using-search-in-run/src/lib.rs b/listings/ch12-an-io-project/no-listing-02-using-search-in-run/src/lib.rs index c3c5ffe14d..ede4eb49a0 100644 --- a/listings/ch12-an-io-project/no-listing-02-using-search-in-run/src/lib.rs +++ b/listings/ch12-an-io-project/no-listing-02-using-search-in-run/src/lib.rs @@ -7,7 +7,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/output-only-02-missing-lifetimes/src/lib.rs b/listings/ch12-an-io-project/output-only-02-missing-lifetimes/src/lib.rs index 97e41c8e83..65af968d95 100644 --- a/listings/ch12-an-io-project/output-only-02-missing-lifetimes/src/lib.rs +++ b/listings/ch12-an-io-project/output-only-02-missing-lifetimes/src/lib.rs @@ -7,7 +7,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/output-only-03-multiple-matches/src/lib.rs b/listings/ch12-an-io-project/output-only-03-multiple-matches/src/lib.rs index c3c5ffe14d..ede4eb49a0 100644 --- a/listings/ch12-an-io-project/output-only-03-multiple-matches/src/lib.rs +++ b/listings/ch12-an-io-project/output-only-03-multiple-matches/src/lib.rs @@ -7,7 +7,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch12-an-io-project/output-only-04-no-matches/src/lib.rs b/listings/ch12-an-io-project/output-only-04-no-matches/src/lib.rs index c3c5ffe14d..ede4eb49a0 100644 --- a/listings/ch12-an-io-project/output-only-04-no-matches/src/lib.rs +++ b/listings/ch12-an-io-project/output-only-04-no-matches/src/lib.rs @@ -7,7 +7,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch13-functional-features/listing-12-23-reproduced/src/lib.rs b/listings/ch13-functional-features/listing-12-23-reproduced/src/lib.rs index 7721acd21e..7f0178dafc 100644 --- a/listings/ch13-functional-features/listing-12-23-reproduced/src/lib.rs +++ b/listings/ch13-functional-features/listing-12-23-reproduced/src/lib.rs @@ -10,7 +10,7 @@ pub struct Config { // ANCHOR: ch13 impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch13-functional-features/listing-12-24-reproduced/src/lib.rs b/listings/ch13-functional-features/listing-12-24-reproduced/src/lib.rs index d0d0eb385f..fe1dccf4ee 100644 --- a/listings/ch13-functional-features/listing-12-24-reproduced/src/lib.rs +++ b/listings/ch13-functional-features/listing-12-24-reproduced/src/lib.rs @@ -9,7 +9,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/listings/ch13-functional-features/listing-13-25/src/lib.rs b/listings/ch13-functional-features/listing-13-25/src/lib.rs index d0d0eb385f..fe1dccf4ee 100644 --- a/listings/ch13-functional-features/listing-13-25/src/lib.rs +++ b/listings/ch13-functional-features/listing-13-25/src/lib.rs @@ -9,7 +9,7 @@ pub struct Config { } impl Config { - pub fn new(args: &[String]) -> Result { + pub fn new(args: &[String]) -> Result { if args.len() < 3 { return Err("not enough arguments"); } diff --git a/src/ch12-03-improving-error-handling-and-modularity.md b/src/ch12-03-improving-error-handling-and-modularity.md index a4c4160d07..75aa4fb39f 100644 --- a/src/ch12-03-improving-error-handling-and-modularity.md +++ b/src/ch12-03-improving-error-handling-and-modularity.md @@ -274,7 +274,8 @@ next listing. `Config::new` Our `new` function now returns a `Result` with a `Config` instance in the -success case and a `&str` in the error case. +success case and a `&'static str` in the error case. Our error values will +always be string literals that have the `'static` lifetime. We’ve made two changes in the body of the `new` function: instead of calling `panic!` when the user doesn’t pass enough arguments, we now return an `Err` diff --git a/src/ch13-03-improving-our-io-project.md b/src/ch13-03-improving-our-io-project.md index f61e1ef712..c9e29dbe6a 100644 --- a/src/ch13-03-improving-our-io-project.md +++ b/src/ch13-03-improving-our-io-project.md @@ -89,16 +89,6 @@ signature of the `Config::new` function so the parameter `args` has the type `args` and we’ll be mutating `args` by iterating over it, we can add the `mut` keyword into the specification of the `args` parameter to make it mutable. -We also needed to specify that the string slice error type can now only have -the `'static` lifetime. Because we’re only ever returning string literals, this -was true before. However, when we had a reference in the parameters, there was -the possibility that the reference in the return type could have had the same -lifetime as the reference in the parameters. The rules that we discussed in the -[“Lifetime Elision”][lifetime-elision] section of Chapter 10 applied, and we -weren’t required to annotate the lifetime of `&str`. With the change to `args`, -the lifetime elision rules no longer apply, and we must specify the `'static` -lifetime. - #### Using `Iterator` Trait Methods Instead of Indexing Next, we’ll fix the body of `Config::new`. The standard library documentation @@ -175,5 +165,3 @@ the iterator must pass. But are the two implementations truly equivalent? The intuitive assumption might be that the more low-level loop will be faster. Let’s talk about performance. - -[lifetime-elision]: ch10-03-lifetime-syntax.html#lifetime-elision From f05e76f6be381d0e409d05d7f4fa9d99ce1c7d3b Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 28 Dec 2021 16:35:17 -0500 Subject: [PATCH 0027/1248] Snapshot of ch12 for nostarch --- nostarch/chapter12.md | 1672 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1672 insertions(+) create mode 100644 nostarch/chapter12.md diff --git a/nostarch/chapter12.md b/nostarch/chapter12.md new file mode 100644 index 0000000000..49d58039d5 --- /dev/null +++ b/nostarch/chapter12.md @@ -0,0 +1,1672 @@ + +[TOC] + +# An I/O Project: Building a Command Line Program + +This chapter is a recap of the many skills you’ve learned so far and an +exploration of a few more standard library features. We’ll build a command line +tool that interacts with file and command line input/output to practice some of +the Rust concepts you now have under your belt. + +Rust’s speed, safety, single binary output, and cross-platform support make it +an ideal language for creating command line tools, so for our project, we’ll +make our own version of the classic command line tool `grep` (**g**lobally +search a **r**egular **e**xpression and **p**rint). In the simplest use case, +`grep` searches a specified file for a specified string. To do so, `grep` takes +as its arguments a filename and a string. Then it reads the file, finds lines +in that file that contain the string argument, and prints those lines. + +Along the way, we’ll show how to make our command line tool use features of the +terminal that many command line tools use. We’ll read the value of an +environment variable to allow the user to configure the behavior of our tool. +We’ll also print error messages to the standard error console stream (`stderr`) +instead of standard output (`stdout`), so, for example, the user can redirect +successful output to a file while still seeing error messages onscreen. + +One Rust community member, Andrew Gallant, has already created a fully +featured, very fast version of `grep`, called `ripgrep`. By comparison, our +version of `grep` will be fairly simple, but this chapter will give you some of +the background knowledge you need to understand a real-world project such as +`ripgrep`. + +Our `grep` project will combine a number of concepts you’ve learned so far: + +* Organizing code (using what you learned about modules in Chapter 7) +* Using vectors and strings (collections, Chapter 8) +* Handling errors (Chapter 9) +* Using traits and lifetimes where appropriate (Chapter 10) +* Writing tests (Chapter 11) + +We’ll also briefly introduce closures, iterators, and trait objects, which +Chapters 13 and 17 will cover in detail. + +## Accepting Command Line Arguments + +Let’s create a new project with, as always, `cargo new`. We’ll call our project +`minigrep` to distinguish it from the `grep` tool that you might already have +on your system. + +``` +$ cargo new minigrep + Created binary (application) `minigrep` project +$ cd minigrep +``` + +The first task is to make `minigrep` accept its two command line arguments: the +filename and a string to search for. That is, we want to be able to run our +program with `cargo run`, a string to search for, and a path to a file to +search in, like so: + +``` +$ cargo run searchstring example-filename.txt +``` + +Right now, the program generated by `cargo new` cannot process arguments we +give it. Some existing libraries on *https://crates.io/* can help with writing +a program that accepts command line arguments, but because you’re just learning +this concept, let’s implement this capability ourselves. + +### Reading the Argument Values + +To enable `minigrep` to read the values of command line arguments we pass to +it, we’ll need a function provided in Rust’s standard library, which is +`std::env::args`. This function returns an iterator of the command line +arguments that were given to `minigrep`. We’ll cover iterators fully in Chapter +13. For now, you only need to know two details about iterators: iterators +produce a series of values, and we can call the `collect` method on an iterator +to turn it into a collection, such as a vector, containing all the elements the +iterator produces. + +Use the code in Listing 12-1 to allow your `minigrep` program to read any +command line arguments passed to it and then collect the values into a vector. + +Filename: src/main.rs + +``` +use std::env; + +fn main() { + let args: Vec = env::args().collect(); + println!("{:?}", args); +} +``` + +Listing 12-1: Collecting the command line arguments into a vector and printing +them + +First, we bring the `std::env` module into scope with a `use` statement so we +can use its `args` function. Notice that the `std::env::args` function is +nested in two levels of modules. As we discussed in Chapter 7, in cases where +the desired function is nested in more than one module, it’s conventional to +bring the parent module into scope rather than the function. By doing so, we +can easily use other functions from `std::env`. It’s also less ambiguous than +adding `use std::env::args` and then calling the function with just `args`, +because `args` might easily be mistaken for a function that’s defined in the +current module. + +> ### The `args` Function and Invalid Unicode +> +> Note that `std::env::args` will panic if any argument contains invalid +> Unicode. If your program needs to accept arguments containing invalid +> Unicode, use `std::env::args_os` instead. That function returns an iterator +> that produces `OsString` values instead of `String` values. We’ve chosen to +> use `std::env::args` here for simplicity, because `OsString` values differ +> per platform and are more complex to work with than `String` values. + +On the first line of `main`, we call `env::args`, and we immediately use +`collect` to turn the iterator into a vector containing all the values produced +by the iterator. We can use the `collect` function to create many kinds of +collections, so we explicitly annotate the type of `args` to specify that we +want a vector of strings. Although we very rarely need to annotate types in +Rust, `collect` is one function you do often need to annotate because Rust +isn’t able to infer the kind of collection you want. + +Finally, we print the vector using the debug formatter, `:?`. Let’s try running +the code first with no arguments and then with two arguments: + +``` +$ cargo run +--snip-- +["target/debug/minigrep"] +``` + +``` +$ cargo run needle haystack +--snip-- +["target/debug/minigrep", "needle", "haystack"] +``` + +Notice that the first value in the vector is `"target/debug/minigrep"`, which +is the name of our binary. This matches the behavior of the arguments list in +C, letting programs use the name by which they were invoked in their execution. +It’s often convenient to have access to the program name in case you want to +print it in messages or change behavior of the program based on what command +line alias was used to invoke the program. But for the purposes of this +chapter, we’ll ignore it and save only the two arguments we need. + +### Saving the Argument Values in Variables + +Printing the value of the vector of arguments illustrated that the program is +able to access the values specified as command line arguments. Now we need to +save the values of the two arguments in variables so we can use the values +throughout the rest of the program. We do that in Listing 12-2. + +Filename: src/main.rs + +``` +use std::env; + +fn main() { + let args: Vec = env::args().collect(); + + let query = &args[1]; + let filename = &args[2]; + + println!("Searching for {}", query); + println!("In file {}", filename); +} +``` + +Listing 12-2: Creating variables to hold the query argument and filename +argument + +As we saw when we printed the vector, the program’s name takes up the first +value in the vector at `args[0]`, so we’re starting at index `1`. The first +argument `minigrep` takes is the string we’re searching for, so we put a +reference to the first argument in the variable `query`. The second argument +will be the filename, so we put a reference to the second argument in the +variable `filename`. + +We temporarily print the values of these variables to prove that the code is +working as we intend. Let’s run this program again with the arguments `test` +and `sample.txt`: + +``` +$ cargo run test sample.txt + Compiling minigrep v0.1.0 (file:///projects/minigrep) + Finished dev [unoptimized + debuginfo] target(s) in 0.0s + Running `target/debug/minigrep test sample.txt` +Searching for test +In file sample.txt +``` + +Great, the program is working! The values of the arguments we need are being +saved into the right variables. Later we’ll add some error handling to deal +with certain potential erroneous situations, such as when the user provides no +arguments; for now, we’ll ignore that situation and work on adding file-reading +capabilities instead. + +## Reading a File + +Now we’ll add functionality to read the file that is specified in the +`filename` command line argument. First, we need a sample file to test it with: +the best kind of file to use to make sure `minigrep` is working is one with a +small amount of text over multiple lines with some repeated words. Listing 12-3 +has an Emily Dickinson poem that will work well! Create a file called +*poem.txt* at the root level of your project, and enter the poem “I’m Nobody! +Who are you?” + +Filename: poem.txt + +``` +I'm nobody! Who are you? +Are you nobody, too? +Then there's a pair of us - don't tell! +They'd banish us, you know. + +How dreary to be somebody! +How public, like a frog +To tell your name the livelong day +To an admiring bog! +``` + +Listing 12-3: A poem by Emily Dickinson makes a good test case + +With the text in place, edit *src/main.rs* and add code to read the file, as +shown in Listing 12-4. + +Filename: src/main.rs + +``` +use std::env; +[1] use std::fs; + +fn main() { + // --snip-- + println!("In file {}", filename); + + [2] let contents = fs::read_to_string(filename) + .expect("Something went wrong reading the file"); + + [3] println!("With text:\n{}", contents); +} +``` + +Listing 12-4: Reading the contents of the file specified by the second argument + +First, we add another `use` statement to bring in a relevant part of the +standard library: we need `std::fs` to handle files [1]. + +In `main`, we’ve added a new statement: `fs::read_to_string` takes the +`filename`, opens that file, and returns a `Result` of the file’s +contents [2]. + +After that statement, we’ve again added a temporary `println!` statement that +prints the value of `contents` after the file is read, so we can check that the +program is working so far [3]. + +Let’s run this code with any string as the first command line argument (because +we haven’t implemented the searching part yet) and the *poem.txt* file as the +second argument: + +``` +$ cargo run the poem.txt + Compiling minigrep v0.1.0 (file:///projects/minigrep) + Finished dev [unoptimized + debuginfo] target(s) in 0.0s + Running `target/debug/minigrep the poem.txt` +Searching for the +In file poem.txt +With text: +I'm nobody! Who are you? +Are you nobody, too? +Then there's a pair of us - don't tell! +They'd banish us, you know. + +How dreary to be somebody! +How public, like a frog +To tell your name the livelong day +To an admiring bog! +``` + +Great! The code read and then printed the contents of the file. But the code +has a few flaws. The `main` function has multiple responsibilities: generally, +functions are clearer and easier to maintain if each function is responsible +for only one idea. The other problem is that we’re not handling errors as well +as we could. The program is still small, so these flaws aren’t a big problem, +but as the program grows, it will be harder to fix them cleanly. It’s good +practice to begin refactoring early on when developing a program, because it’s +much easier to refactor smaller amounts of code. We’ll do that next. + +## Refactoring to Improve Modularity and Error Handling + +To improve our program, we’ll fix four problems that have to do with the +program’s structure and how it’s handling potential errors. + +First, our `main` function now performs two tasks: it parses arguments and +reads files. For such a small function, this isn’t a major problem. However, if +we continue to grow our program inside `main`, the number of separate tasks the +`main` function handles will increase. As a function gains responsibilities, it +becomes more difficult to reason about, harder to test, and harder to change +without breaking one of its parts. It’s best to separate functionality so each +function is responsible for one task. + +This issue also ties into the second problem: although `query` and `filename` +are configuration variables to our program, variables like `contents` are used +to perform the program’s logic. The longer `main` becomes, the more variables +we’ll need to bring into scope; the more variables we have in scope, the harder +it will be to keep track of the purpose of each. It’s best to group the +configuration variables into one structure to make their purpose clear. + +The third problem is that we’ve used `expect` to print an error message when +reading the file fails, but the error message just prints `Something went wrong +reading the file`. Reading a file can fail in a number of ways: for example, +the file could be missing, or we might not have permission to open it. Right +now, regardless of the situation, we’d print the `Something went wrong reading +the file` error message, which wouldn’t give the user any information! + +Fourth, we use `expect` repeatedly to handle different errors, and if the user +runs our program without specifying enough arguments, they’ll get an `index out +of bounds` error from Rust that doesn’t clearly explain the problem. It would +be best if all the error-handling code were in one place so future maintainers +had only one place to consult in the code if the error-handling logic needed to +change. Having all the error-handling code in one place will also ensure that +we’re printing messages that will be meaningful to our end users. + +Let’s address these four problems by refactoring our project. + +### Separation of Concerns for Binary Projects + +The organizational problem of allocating responsibility for multiple tasks to +the `main` function is common to many binary projects. As a result, the Rust +community has developed a process to use as a guideline for splitting the +separate concerns of a binary program when `main` starts getting large. The +process has the following steps: + +* Split your program into a *main.rs* and a *lib.rs* and move your program’s + logic to *lib.rs*. +* As long as your command line parsing logic is small, it can remain in + *main.rs*. +* When the command line parsing logic starts getting complicated, extract it + from *main.rs* and move it to *lib.rs*. + +The responsibilities that remain in the `main` function after this process +should be limited to the following: + +* Calling the command line parsing logic with the argument values +* Setting up any other configuration +* Calling a `run` function in *lib.rs* +* Handling the error if `run` returns an error + +This pattern is about separating concerns: *main.rs* handles running the +program, and *lib.rs* handles all the logic of the task at hand. Because you +can’t test the `main` function directly, this structure lets you test all of +your program’s logic by moving it into functions in *lib.rs*. The only code +that remains in *main.rs* will be small enough to verify its correctness by +reading it. Let’s rework our program by following this process. + +#### Extracting the Argument Parser + +We’ll extract the functionality for parsing arguments into a function that +`main` will call to prepare for moving the command line parsing logic to +*src/lib.rs*. Listing 12-5 shows the new start of `main` that calls a new +function `parse_config`, which we’ll define in *src/main.rs* for the moment. + +Filename: src/main.rs + +``` +fn main() { + let args: Vec = env::args().collect(); + + let (query, filename) = parse_config(&args); + + // --snip-- +} + +fn parse_config(args: &[String]) -> (&str, &str) { + let query = &args[1]; + let filename = &args[2]; + + (query, filename) +} +``` + +Listing 12-5: Extracting a `parse_config` function from `main` + +We’re still collecting the command line arguments into a vector, but instead of +assigning the argument value at index 1 to the variable `query` and the +argument value at index 2 to the variable `filename` within the `main` +function, we pass the whole vector to the `parse_config` function. The +`parse_config` function then holds the logic that determines which argument +goes in which variable and passes the values back to `main`. We still create +the `query` and `filename` variables in `main`, but `main` no longer has the +responsibility of determining how the command line arguments and variables +correspond. + +This rework may seem like overkill for our small program, but we’re refactoring +in small, incremental steps. After making this change, run the program again to +verify that the argument parsing still works. It’s good to check your progress +often, to help identify the cause of problems when they occur. + +#### Grouping Configuration Values + +We can take another small step to improve the `parse_config` function further. +At the moment, we’re returning a tuple, but then we immediately break that +tuple into individual parts again. This is a sign that perhaps we don’t have +the right abstraction yet. + +Another indicator that shows there’s room for improvement is the `config` part +of `parse_config`, which implies that the two values we return are related and +are both part of one configuration value. We’re not currently conveying this +meaning in the structure of the data other than by grouping the two values into +a tuple; we could put the two values into one struct and give each of the +struct fields a meaningful name. Doing so will make it easier for future +maintainers of this code to understand how the different values relate to each +other and what their purpose is. + +Listing 12-6 shows the improvements to the `parse_config` function. + +Filename: src/main.rs + +``` +fn main() { + let args: Vec = env::args().collect(); + + [1] let config = parse_config(&args); + + println!("Searching for {}", config.query[2]); + println!("In file {}", config.filename[3]); + + let contents = fs::read_to_string(config.filename[4]) + .expect("Something went wrong reading the file"); + + // --snip-- +} + +[5] struct Config { + query: String, + filename: String, +} + +[6] fn parse_config(args: &[String]) -> Config { + [7] let query = args[1].clone(); + [8] let filename = args[2].clone(); + + Config { query, filename } +} +``` + +Listing 12-6: Refactoring `parse_config` to return an instance of a `Config` +struct + +We’ve added a struct named `Config` defined to have fields named `query` and +`filename` [5]. The signature of `parse_config` now indicates that it returns a +`Config` value [6]. In the body of `parse_config`, where we used to return +string slices that reference `String` values in `args`, we now define `Config` +to contain owned `String` values. The `args` variable in `main` is the owner of +the argument values and is only letting the `parse_config` function borrow +them, which means we’d violate Rust’s borrowing rules if `Config` tried to take +ownership of the values in `args`. + +We could manage the `String` data in a number of different ways, but the +easiest, though somewhat inefficient, route is to call the `clone` method on +the values [7][8]. This will make a full copy of the data for the `Config` +instance to own, which takes more time and memory than storing a reference to +the string data. However, cloning the data also makes our code very +straightforward because we don’t have to manage the lifetimes of the +references; in this circumstance, giving up a little performance to gain +simplicity is a worthwhile trade-off. + +> ### The Trade-Offs of Using `clone` +> +> There’s a tendency among many Rustaceans to avoid using `clone` to fix +> ownership problems because of its runtime cost. In +> Chapter 13, you’ll learn how to use more efficient +> methods in this type of situation. But for now, it’s okay to copy a few +> strings to continue making progress because you’ll make these copies only +> once and your filename and query string are very small. It’s better to have +> a working program that’s a bit inefficient than to try to hyperoptimize code +> on your first pass. As you become more experienced with Rust, it’ll be +> easier to start with the most efficient solution, but for now, it’s +> perfectly acceptable to call `clone`. + +We’ve updated `main` so it places the instance of `Config` returned by +`parse_config` into a variable named `config` [1], and we updated the code that +previously used the separate `query` and `filename` variables so it now uses +the fields on the `Config` struct instead [2][3][4]. + +Now our code more clearly conveys that `query` and `filename` are related and +that their purpose is to configure how the program will work. Any code that +uses these values knows to find them in the `config` instance in the fields +named for their purpose. + +#### Creating a Constructor for `Config` + +So far, we’ve extracted the logic responsible for parsing the command line +arguments from `main` and placed it in the `parse_config` function. Doing so +helped us to see that the `query` and `filename` values were related and that +relationship should be conveyed in our code. We then added a `Config` struct to +name the related purpose of `query` and `filename` and to be able to return the +values’ names as struct field names from the `parse_config` function. + +So now that the purpose of the `parse_config` function is to create a `Config` +instance, we can change `parse_config` from a plain function to a function +named `new` that is associated with the `Config` struct. Making this change +will make the code more idiomatic. We can create instances of types in the +standard library, such as `String`, by calling `String::new`. Similarly, by +changing `parse_config` into a `new` function associated with `Config`, we’ll +be able to create instances of `Config` by calling `Config::new`. Listing 12-7 +shows the changes we need to make. + +Filename: src/main.rs + +``` +fn main() { + let args: Vec = env::args().collect(); + + [1] let config = Config::new(&args); + + // --snip-- +} + +// --snip-- + +[2] impl Config { + [3] fn new(args: &[String]) -> Config { + let query = args[1].clone(); + let filename = args[2].clone(); + + Config { query, filename } + } +} +``` + +Listing 12-7: Changing `parse_config` into `Config::new` + +We’ve updated `main` where we were calling `parse_config` to instead call +`Config::new` [1]. We’ve changed the name of `parse_config` to `new` [3] and +moved it within an `impl` block [2], which associates the `new` function with +`Config`. Try compiling this code again to make sure it works. + +### Fixing the Error Handling + +Now we’ll work on fixing our error handling. Recall that attempting to access +the values in the `args` vector at index 1 or index 2 will cause the program to +panic if the vector contains fewer than three items. Try running the program +without any arguments; it will look like this: + +``` +$ cargo run + Compiling minigrep v0.1.0 (file:///projects/minigrep) + Finished dev [unoptimized + debuginfo] target(s) in 0.0s + Running `target/debug/minigrep` +thread 'main' panicked at 'index out of bounds: the len is 1 but the index is 1', src/main.rs:27:21 +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +``` + +The line `index out of bounds: the len is 1 but the index is 1` is an error +message intended for programmers. It won’t help our end users understand what +happened and what they should do instead. Let’s fix that now. + +#### Improving the Error Message + +In Listing 12-8, we add a check in the `new` function that will verify that the +slice is long enough before accessing index 1 and 2. If the slice isn’t long +enough, the program panics and displays a better error message than the `index +out of bounds` message. + +Filename: src/main.rs + +``` +// --snip-- +fn new(args: &[String]) -> Config { + if args.len() < 3 { + panic!("not enough arguments"); + } + // --snip-- +``` + +Listing 12-8: Adding a check for the number of arguments + +This code is similar to the `Guess::new` function we wrote in Listing 9-10, +where we called `panic!` when the `value` argument was out of the range of +valid values. Instead of checking for a range of values here, we’re checking +that the length of `args` is at least 3 and the rest of the function can +operate under the assumption that this condition has been met. If `args` has +fewer than three items, this condition will be true, and we call the `panic!` +macro to end the program immediately. + +With these extra few lines of code in `new`, let’s run the program without any +arguments again to see what the error looks like now: + +``` +$ cargo run + Compiling minigrep v0.1.0 (file:///projects/minigrep) + Finished dev [unoptimized + debuginfo] target(s) in 0.0s + Running `target/debug/minigrep` +thread 'main' panicked at 'not enough arguments', src/main.rs:26:13 +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +``` + +This output is better: we now have a reasonable error message. However, we also +have extraneous information we don’t want to give to our users. Perhaps using +the technique we used in Listing 9-13 isn’t the best to use here: a call to +`panic!` is more appropriate for a programming problem than a usage problem, as +discussed in Chapter 9. Instead, we can use the other technique you learned +about in Chapter 9—returning a `Result` that indicates either success or an +error. + +#### Returning a `Result` from `new` Instead of Calling `panic!` + +We can instead return a `Result` value that will contain a `Config` instance in +the successful case and will describe the problem in the error case. When +`Config::new` is communicating to `main`, we can use the `Result` type to +signal there was a problem. Then we can change `main` to convert an `Err` +variant into a more practical error for our users without the surrounding text +about `thread 'main'` and `RUST_BACKTRACE` that a call to `panic!` causes. + +Listing 12-9 shows the changes we need to make to the return value of +`Config::new` and the body of the function needed to return a `Result`. Note +that this won’t compile until we update `main` as well, which we’ll do in the +next listing. + +Filename: src/main.rs + +``` +impl Config { + fn new(args: &[String]) -> Result { + if args.len() < 3 { + return Err("not enough arguments"); + } + + let query = args[1].clone(); + let filename = args[2].clone(); + + Ok(Config { query, filename }) + } +} +``` + +Listing 12-9: Returning a `Result` from `Config::new` + +Our `new` function now returns a `Result` with a `Config` instance in the +success case and a `&'static str` in the error case. Our error values will +always be string literals that have the `'static` lifetime. + +We’ve made two changes in the body of the `new` function: instead of calling +`panic!` when the user doesn’t pass enough arguments, we now return an `Err` +value, and we’ve wrapped the `Config` return value in an `Ok`. These changes +make the function conform to its new type signature. + +Returning an `Err` value from `Config::new` allows the `main` function to +handle the `Result` value returned from the `new` function and exit the process +more cleanly in the error case. + +#### Calling `Config::new` and Handling Errors + +To handle the error case and print a user-friendly message, we need to update +`main` to handle the `Result` being returned by `Config::new`, as shown in +Listing 12-10. We’ll also take the responsibility of exiting the command line +tool with a nonzero error code from `panic!` and implement it by hand. A +nonzero exit status is a convention to signal to the process that called our +program that the program exited with an error state. + +Filename: src/main.rs + +``` +[1] use std::process; + +fn main() { + let args: Vec = env::args().collect(); + + [2] let config = Config::new(&args).unwrap_or_else([3]|err[4]| { + [5] println!("Problem parsing arguments: {}", err); + [6] process::exit(1); + }); + + // --snip-- +``` + +Listing 12-10: Exiting with an error code if creating a new `Config` fails + +In this listing, we’ve used a method we haven’t covered in detail yet: +`unwrap_or_else`, which is defined on `Result` by the standard library +[2]. Using `unwrap_or_else` allows us to define some custom, non-`panic!` error +handling. If the `Result` is an `Ok` value, this method’s behavior is similar +to `unwrap`: it returns the inner value `Ok` is wrapping. However, if the value +is an `Err` value, this method calls the code in the *closure*, which is an +anonymous function we define and pass as an argument to `unwrap_or_else` [3]. +We’ll cover closures in more detail in Chapter 13. For now, you just need to +know that `unwrap_or_else` will pass the inner value of the `Err`, which in +this case is the static string `"not enough arguments"` that we added in +Listing 12-9, to our closure in the argument `err` that appears between the +vertical pipes [4]. The code in the closure can then use the `err` value when +it runs. + +We’ve added a new `use` line to bring `process` from the standard library into +scope [1]. The code in the closure that will be run in the error case is only +two lines: we print the `err` value [5] and then call `process::exit` [6]. The +`process::exit` function will stop the program immediately and return the +number that was passed as the exit status code. This is similar to the +`panic!`-based handling we used in Listing 12-8, but we no longer get all the +extra output. Let’s try it: + +``` +$ cargo run + Compiling minigrep v0.1.0 (file:///projects/minigrep) + Finished dev [unoptimized + debuginfo] target(s) in 0.48s + Running `target/debug/minigrep` +Problem parsing arguments: not enough arguments +``` + +Great! This output is much friendlier for our users. + +### Extracting Logic from `main` + +Now that we’ve finished refactoring the configuration parsing, let’s turn to +the program’s logic. As we stated in “Separation of Concerns for Binary +Projects”, we’ll extract a function named `run` that will hold all the logic +currently in the `main` function that isn’t involved with setting up +configuration or handling errors. When we’re done, `main` will be concise and +easy to verify by inspection, and we’ll be able to write tests for all the +other logic. + +Listing 12-11 shows the extracted `run` function. For now, we’re just making +the small, incremental improvement of extracting the function. We’re still +defining the function in *src/main.rs*. + +Filename: src/main.rs + +``` +fn main() { + // --snip-- + + println!("Searching for {}", config.query); + println!("In file {}", config.filename); + + run(config); +} + +fn run(config: Config) { + let contents = fs::read_to_string(config.filename) + .expect("Something went wrong reading the file"); + + println!("With text:\n{}", contents); +} + +// --snip-- +``` + +Listing 12-11: Extracting a `run` function containing the rest of the program +logic + +The `run` function now contains all the remaining logic from `main`, starting +from reading the file. The `run` function takes the `Config` instance as an +argument. + +#### Returning Errors from the `run` Function + +With the remaining program logic separated into the `run` function, we can +improve the error handling, as we did with `Config::new` in Listing 12-9. +Instead of allowing the program to panic by calling `expect`, the `run` +function will return a `Result` when something goes wrong. This will let +us further consolidate into `main` the logic around handling errors in a +user-friendly way. Listing 12-12 shows the changes we need to make to the +signature and body of `run`. + +Filename: src/main.rs + +``` +[1] use std::error::Error; + +// --snip-- + +[2] fn run(config: Config) -> Result<(), Box> { + let contents = fs::read_to_string(config.filename)?[3]; + + println!("With text:\n{}", contents); + + [4] Ok(()) +} +``` + +Listing 12-12: Changing the `run` function to return `Result` + +We’ve made three significant changes here. First, we changed the return type of +the `run` function to `Result<(), Box>` [2]. This function previously +returned the unit type, `()`, and we keep that as the value returned in the +`Ok` case. + +For the error type, we used the *trait object* `Box` (and we’ve +brought `std::error::Error` into scope with a `use` statement at the top [1]). +We’ll cover trait objects in Chapter 17. For now, just know that `Box` means the function will return a type that implements the `Error` +trait, but we don’t have to specify what particular type the return value will +be. This gives us flexibility to return error values that may be of different +types in different error cases. The `dyn` keyword is short for “dynamic.” + +Second, we’ve removed the call to `expect` in favor of the `?` operator [3], as +we talked about in Chapter 9. Rather than `panic!` on an error, `?` will return +the error value from the current function for the caller to handle. + +Third, the `run` function now returns an `Ok` value in the success case [4]. +We’ve declared the `run` function’s success type as `()` in the signature, +which means we need to wrap the unit type value in the `Ok` value. This +`Ok(())` syntax might look a bit strange at first, but using `()` like this is +the idiomatic way to indicate that we’re calling `run` for its side effects +only; it doesn’t return a value we need. + +When you run this code, it will compile but will display a warning: + +``` +warning: unused `Result` that must be used + --> src/main.rs:19:5 + | +19 | run(config); + | ^^^^^^^^^^^^ + | + = note: `#[warn(unused_must_use)]` on by default + = note: this `Result` may be an `Err` variant, which should be handled +``` + +Rust tells us that our code ignored the `Result` value and the `Result` value +might indicate that an error occurred. But we’re not checking to see whether or +not there was an error, and the compiler reminds us that we probably meant to +have some error-handling code here! Let’s rectify that problem now. + +#### Handling Errors Returned from `run` in `main` + +We’ll check for errors and handle them using a technique similar to one we used +with `Config::new` in Listing 12-10, but with a slight difference: + +Filename: src/main.rs + +``` +fn main() { + // --snip-- + + println!("Searching for {}", config.query); + println!("In file {}", config.filename); + + if let Err(e) = run(config) { + println!("Application error: {}", e); + + process::exit(1); + } +} +``` + +We use `if let` rather than `unwrap_or_else` to check whether `run` returns an +`Err` value and call `process::exit(1)` if it does. The `run` function doesn’t +return a value that we want to `unwrap` in the same way that `Config::new` +returns the `Config` instance. Because `run` returns `()` in the success case, +we only care about detecting an error, so we don’t need `unwrap_or_else` to +return the unwrapped value because it would only be `()`. + +The bodies of the `if let` and the `unwrap_or_else` functions are the same in +both cases: we print the error and exit. + +### Splitting Code into a Library Crate + +Our `minigrep` project is looking good so far! Now we’ll split the +*src/main.rs* file and put some code into the *src/lib.rs* file so we can test +it and have a *src/main.rs* file with fewer responsibilities. + +Let’s move all the code that isn’t the `main` function from *src/main.rs* to +*src/lib.rs*: + +* The `run` function definition +* The relevant `use` statements +* The definition of `Config` +* The `Config::new` function definition + +The contents of *src/lib.rs* should have the signatures shown in Listing 12-13 +(we’ve omitted the bodies of the functions for brevity). Note that this won’t +compile until we modify *src/main.rs* in Listing 12-14. + +Filename: src/lib.rs + +``` +use std::error::Error; +use std::fs; + +pub struct Config { + pub query: String, + pub filename: String, +} + +impl Config { + pub fn new(args: &[String]) -> Result { + // --snip-- + } +} + +pub fn run(config: Config) -> Result<(), Box> { + // --snip-- +} +``` + +Listing 12-13: Moving `Config` and `run` into *src/lib.rs* + +We’ve made liberal use of the `pub` keyword: on `Config`, on its fields and its +`new` method, and on the `run` function. We now have a library crate that has a +public API that we can test! + +Now we need to bring the code we moved to *src/lib.rs* into the scope of the +binary crate in *src/main.rs*, as shown in Listing 12-14. + +Filename: src/main.rs + +``` +use std::env; +use std::process; + +use minigrep::Config; + +fn main() { + // --snip-- + if let Err(e) = minigrep::run(config) { + // --snip-- + } +} +``` + +Listing 12-14: Using the `minigrep` library crate in *src/main.rs* + +We add a `use minigrep::Config` line to bring the `Config` type from the +library crate into the binary crate’s scope, and we prefix the `run` function +with our crate name. Now all the functionality should be connected and should +work. Run the program with `cargo run` and make sure everything works +correctly. + +Whew! That was a lot of work, but we’ve set ourselves up for success in the +future. Now it’s much easier to handle errors, and we’ve made the code more +modular. Almost all of our work will be done in *src/lib.rs* from here on out. + +Let’s take advantage of this newfound modularity by doing something that would +have been difficult with the old code but is easy with the new code: we’ll +write some tests! + +## Developing the Library’s Functionality with Test-Driven Development + +Now that we’ve extracted the logic into *src/lib.rs* and left the argument +collecting and error handling in *src/main.rs*, it’s much easier to write tests +for the core functionality of our code. We can call functions directly with +various arguments and check return values without having to call our binary +from the command line. + +In this section, we’ll add the searching logic to the `minigrep` program by +using the Test-driven development (TDD) process. This software development +technique follows these steps: + +1. Write a test that fails and run it to make sure it fails for the reason you + expect. +2. Write or modify just enough code to make the new test pass. +3. Refactor the code you just added or changed and make sure the tests + continue to pass. +4. Repeat from step 1! + +This process is just one of many ways to write software, but TDD can help drive +code design as well. Writing the test before you write the code that makes the +test pass helps to maintain high test coverage throughout the process. + +We’ll test drive the implementation of the functionality that will actually do +the searching for the query string in the file contents and produce a list of +lines that match the query. We’ll add this functionality in a function called +`search`. + +### Writing a Failing Test + +Because we don’t need them anymore, let’s remove the `println!` statements from +*src/lib.rs* and *src/main.rs* that we used to check the program’s behavior. +Then, in *src/lib.rs*, we’ll add a `tests` module with a test function, as we +did in Chapter 11. The test function specifies the behavior we want the +`search` function to have: it will take a query and the text to search for the +query in, and it will return only the lines from the text that contain the +query. Listing 12-15 shows this test, which won’t compile yet. + +Filename: src/lib.rs + +``` +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn one_result() { + let query = "duct"; + let contents = "\ +Rust: +safe, fast, productive. +Pick three."; + + assert_eq!(vec!["safe, fast, productive."], search(query, contents)); + } +} +``` + +Listing 12-15: Creating a failing test for the `search` function we wish we had + +This test searches for the string `"duct"`. The text we’re searching is three +lines, only one of which contains `"duct"` (Note that the backslash after the +opening double quote tells Rust not to put a newline character at the beginning +of the contents of this string literal). We assert that the value returned from +the `search` function contains only the line we expect. + +We aren’t able to run this test and watch it fail because the test doesn’t even +compile: the `search` function doesn’t exist yet! So now we’ll add just enough +code to get the test to compile and run by adding a definition of the `search` +function that always returns an empty vector, as shown in Listing 12-16. Then +the test should compile and fail because an empty vector doesn’t match a vector +containing the line `"safe, fast, productive."` + +Filename: src/lib.rs + +``` +pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { + vec![] +} +``` + +Listing 12-16: Defining just enough of the `search` function so our test will +compile + +Notice that we need an explicit lifetime `'a` defined in the signature of +`search` and used with the `contents` argument and the return value. Recall in +Chapter 10 that the lifetime parameters specify which argument lifetime is +connected to the lifetime of the return value. In this case, we indicate that +the returned vector should contain string slices that reference slices of the +argument `contents` (rather than the argument `query`). + +In other words, we tell Rust that the data returned by the `search` function +will live as long as the data passed into the `search` function in the +`contents` argument. This is important! The data referenced *by* a slice needs +to be valid for the reference to be valid; if the compiler assumes we’re making +string slices of `query` rather than `contents`, it will do its safety checking +incorrectly. + +If we forget the lifetime annotations and try to compile this function, we’ll +get this error: + +``` +error[E0106]: missing lifetime specifier + --> src/lib.rs:28:51 + | +28 | pub fn search(query: &str, contents: &str) -> Vec<&str> { + | ---- ---- ^ expected named lifetime parameter + | + = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `query` or `contents` +help: consider introducing a named lifetime parameter + | +28 | pub fn search<'a>(query: &'a str, contents: &'a str) -> Vec<&'a str> { + | ++++ ++ ++ ++ +``` + +Rust can’t possibly know which of the two arguments we need, so we need to tell +it. Because `contents` is the argument that contains all of our text and we +want to return the parts of that text that match, we know `contents` is the +argument that should be connected to the return value using the lifetime syntax. + +Other programming languages don’t require you to connect arguments to return +values in the signature. Although this might seem strange, it will get easier +over time. You might want to compare this example with the “Validating +References with Lifetimes” section in Chapter 10. + +Now let’s run the test: + +``` +$ cargo test + Compiling minigrep v0.1.0 (file:///projects/minigrep) + Finished test [unoptimized + debuginfo] target(s) in 0.97s + Running unittests (target/debug/deps/minigrep-9cd200e5fac0fc94) + +running 1 test +test tests::one_result ... FAILED + +failures: + +---- tests::one_result stdout ---- +thread 'main' panicked at 'assertion failed: `(left == right)` + left: `["safe, fast, productive."]`, + right: `[]`', src/lib.rs:44:9 +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace + + +failures: + tests::one_result + +test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +error: test failed, to rerun pass '--lib' +``` + +Great, the test fails, exactly as we expected. Let’s get the test to pass! + +### Writing Code to Pass the Test + +Currently, our test is failing because we always return an empty vector. To fix +that and implement `search`, our program needs to follow these steps: + +* Iterate through each line of the contents. +* Check whether the line contains our query string. +* If it does, add it to the list of values we’re returning. +* If it doesn’t, do nothing. +* Return the list of results that match. + +Let’s work through each step, starting with iterating through lines. + +#### Iterating Through Lines with the `lines` Method + +Rust has a helpful method to handle line-by-line iteration of strings, +conveniently named `lines`, that works as shown in Listing 12-17. Note this +won’t compile yet. + +Filename: src/lib.rs + +``` +pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { + for line in contents.lines() { + // do something with line + } +} +``` + +Listing 12-17: Iterating through each line in `contents` + +The `lines` method returns an iterator. We’ll talk about iterators in depth in +Chapter 13, but recall that you saw this way of using an iterator in Listing +3-5, where we used a `for` loop with an iterator to run some code on each item +in a collection. + +#### Searching Each Line for the Query + +Next, we’ll check whether the current line contains our query string. +Fortunately, strings have a helpful method named `contains` that does this for +us! Add a call to the `contains` method in the `search` function, as shown in +Listing 12-18. Note this still won’t compile yet. + +Filename: src/lib.rs + +``` +pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { + for line in contents.lines() { + if line.contains(query) { + // do something with line + } + } +} +``` + +Listing 12-18: Adding functionality to see whether the line contains the string +in `query` + +#### Storing Matching Lines + +We also need a way to store the lines that contain our query string. For that, +we can make a mutable vector before the `for` loop and call the `push` method +to store a `line` in the vector. After the `for` loop, we return the vector, as +shown in Listing 12-19. + +Filename: src/lib.rs + +``` +pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { + let mut results = Vec::new(); + + for line in contents.lines() { + if line.contains(query) { + results.push(line); + } + } + + results +} +``` + +Listing 12-19: Storing the lines that match so we can return them + +Now the `search` function should return only the lines that contain `query`, +and our test should pass. Let’s run the test: + +``` +$ cargo test +--snip-- +running 1 test +test tests::one_result ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +Our test passed, so we know it works! + +At this point, we could consider opportunities for refactoring the +implementation of the search function while keeping the tests passing to +maintain the same functionality. The code in the search function isn’t too bad, +but it doesn’t take advantage of some useful features of iterators. We’ll +return to this example in Chapter 13, where we’ll explore iterators in detail, +and look at how to improve it. + +#### Using the `search` Function in the `run` Function + +Now that the `search` function is working and tested, we need to call `search` +from our `run` function. We need to pass the `config.query` value and the +`contents` that `run` reads from the file to the `search` function. Then `run` +will print each line returned from `search`: + +Filename: src/lib.rs + +``` +pub fn run(config: Config) -> Result<(), Box> { + let contents = fs::read_to_string(config.filename)?; + + for line in search(&config.query, &contents) { + println!("{}", line); + } + + Ok(()) +} +``` + +We’re still using a `for` loop to return each line from `search` and print it. + +Now the entire program should work! Let’s try it out, first with a word that +should return exactly one line from the Emily Dickinson poem, “frog”: + +``` +$ cargo run frog poem.txt + Compiling minigrep v0.1.0 (file:///projects/minigrep) + Finished dev [unoptimized + debuginfo] target(s) in 0.38s + Running `target/debug/minigrep frog poem.txt` +How public, like a frog +``` + +Cool! Now let’s try a word that will match multiple lines, like “body”: + +``` +$ cargo run body poem.txt + Finished dev [unoptimized + debuginfo] target(s) in 0.0s + Running `target/debug/minigrep body poem.txt` +I'm nobody! Who are you? +Are you nobody, too? +How dreary to be somebody! +``` + +And finally, let’s make sure that we don’t get any lines when we search for a +word that isn’t anywhere in the poem, such as “monomorphization”: + +``` +$ cargo run monomorphization poem.txt + Finished dev [unoptimized + debuginfo] target(s) in 0.0s + Running `target/debug/minigrep monomorphization poem.txt` +``` + +Excellent! We’ve built our own mini version of a classic tool and learned a lot +about how to structure applications. We’ve also learned a bit about file input +and output, lifetimes, testing, and command line parsing. + +To round out this project, we’ll briefly demonstrate how to work with +environment variables and how to print to standard error, both of which are +useful when you’re writing command line programs. + +## Working with Environment Variables + +We’ll improve `minigrep` by adding an extra feature: an option for +case-insensitive searching that the user can turn on via an environment +variable. We could make this feature a command line option and require that +users enter it each time they want it to apply, but instead we’ll use an +environment variable. Doing so allows our users to set the environment variable +once and have all their searches be case insensitive in that terminal session. + +### Writing a Failing Test for the Case-Insensitive `search` Function + +We want to add a new `search_case_insensitive` function that we’ll call when +the environment variable is on. We’ll continue to follow the TDD process, so +the first step is again to write a failing test. We’ll add a new test for the +new `search_case_insensitive` function and rename our old test from +`one_result` to `case_sensitive` to clarify the differences between the two +tests, as shown in Listing 12-20. + +Filename: src/lib.rs + +``` +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn case_sensitive() { + let query = "duct"; + let contents = "\ +Rust: +safe, fast, productive. +Pick three. +Duct tape."; + + assert_eq!(vec!["safe, fast, productive."], search(query, contents)); + } + + #[test] + fn case_insensitive() { + let query = "rUsT"; + let contents = "\ +Rust: +safe, fast, productive. +Pick three. +Trust me."; + + assert_eq!( + vec!["Rust:", "Trust me."], + search_case_insensitive(query, contents) + ); + } +} +``` + +Listing 12-20: Adding a new failing test for the case-insensitive function +we’re about to add + +Note that we’ve edited the old test’s `contents` too. We’ve added a new line +with the text `"Duct tape."` using a capital D that shouldn’t match the query +`"duct"` when we’re searching in a case-sensitive manner. Changing the old test +in this way helps ensure that we don’t accidentally break the case-sensitive +search functionality that we’ve already implemented. This test should pass now +and should continue to pass as we work on the case-insensitive search. + +The new test for the case-*insensitive* search uses `"rUsT"` as its query. In +the `search_case_insensitive` function we’re about to add, the query `"rUsT"` +should match the line containing `"Rust:"` with a capital R and match the line +`"Trust me."` even though both have different casing from the query. This is +our failing test, and it will fail to compile because we haven’t yet defined +the `search_case_insensitive` function. Feel free to add a skeleton +implementation that always returns an empty vector, similar to the way we did +for the `search` function in Listing 12-16 to see the test compile and fail. + +### Implementing the `search_case_insensitive` Function + +The `search_case_insensitive` function, shown in Listing 12-21, will be almost +the same as the `search` function. The only difference is that we’ll lowercase +the `query` and each `line` so whatever the case of the input arguments, +they’ll be the same case when we check whether the line contains the query. + +Filename: src/lib.rs + +``` +pub fn search_case_insensitive<'a>( + query: &str, + contents: &'a str, +) -> Vec<&'a str> { + [1] let query = query.to_lowercase(); + let mut results = Vec::new(); + + for line in contents.lines() { + if line.to_lowercase()[2].contains(&query[3]) { + results.push(line); + } + } + + results +} +``` + +Listing 12-21: Defining the `search_case_insensitive` function to lowercase the +query and the line before comparing them + +First, we lowercase the `query` string and store it in a shadowed variable with +the same name [1]. Calling `to_lowercase` on the query is necessary so no +matter whether the user’s query is `"rust"`, `"RUST"`, `"Rust"`, or `"rUsT"`, +we’ll treat the query as if it were `"rust"` and be insensitive to the case. +While `to_lowercase` will handle basic Unicode, it won’t be 100% accurate. If +we were writing a real application, we’d want to do a bit more work here, but +this section is about environment variables, not Unicode, so we’ll leave it at +that here. + +Note that `query` is now a `String` rather than a string slice, because calling +`to_lowercase` creates new data rather than referencing existing data. Say the +query is `"rUsT"`, as an example: that string slice doesn’t contain a lowercase +`u` or `t` for us to use, so we have to allocate a new `String` containing +`"rust"`. When we pass `query` as an argument to the `contains` method now, we +need to add an ampersand [3] because the signature of `contains` is defined to +take a string slice. + +Next, we add a call to `to_lowercase` on each `line` before we check whether it +contains `query` to lowercase all characters [2]. Now that we’ve converted +`line` and `query` to lowercase, we’ll find matches no matter what the case of +the query is. + +Let’s see if this implementation passes the tests: + +``` +running 2 tests +test tests::case_insensitive ... ok +test tests::case_sensitive ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +Great! They passed. Now, let’s call the new `search_case_insensitive` function +from the `run` function. First, we’ll add a configuration option to the +`Config` struct to switch between case-sensitive and case-insensitive search. +Adding this field will cause compiler errors because we aren’t initializing +this field anywhere yet: + +Filename: src/lib.rs + +``` +pub struct Config { + pub query: String, + pub filename: String, + pub case_sensitive: bool, +} +``` + +Note that we added the `case_sensitive` field that holds a Boolean. Next, we +need the `run` function to check the `case_sensitive` field’s value and use +that to decide whether to call the `search` function or the +`search_case_insensitive` function, as shown in Listing 12-22. Note this still +won’t compile yet. + +Filename: src/lib.rs + +``` +pub fn run(config: Config) -> Result<(), Box> { + let contents = fs::read_to_string(config.filename)?; + + let results = if config.case_sensitive { + search(&config.query, &contents) + } else { + search_case_insensitive(&config.query, &contents) + }; + + for line in results { + println!("{}", line); + } + + Ok(()) +} +``` + +Listing 12-22: Calling either `search` or `search_case_insensitive` based on +the value in `config.case_sensitive` + +Finally, we need to check for the environment variable. The functions for +working with environment variables are in the `env` module in the standard +library, so we want to bring that module into scope with a `use std::env;` line +at the top of *src/lib.rs*. Then we’ll use the `var` function from the `env` +module to check for an environment variable named `CASE_INSENSITIVE`, as shown +in Listing 12-23. + +Filename: src/lib.rs + +``` +use std::env; +// --snip-- + +impl Config { + pub fn new(args: &[String]) -> Result { + if args.len() < 3 { + return Err("not enough arguments"); + } + + let query = args[1].clone(); + let filename = args[2].clone(); + + let case_sensitive = env::var("CASE_INSENSITIVE").is_err(); + + Ok(Config { + query, + filename, + case_sensitive, + }) + } +} +``` + +Listing 12-23: Checking for an environment variable named `CASE_INSENSITIVE` + +Here, we create a new variable `case_sensitive`. To set its value, we call the +`env::var` function and pass it the name of the `CASE_INSENSITIVE` environment +variable. The `env::var` function returns a `Result` that will be the +successful `Ok` variant that contains the value of the environment variable if +the environment variable is set. It will return the `Err` variant if the +environment variable is not set. + +We’re using the `is_err` method on the `Result` to check whether it’s an error +and therefore unset, which means it *should* do a case-sensitive search. If the +`CASE_INSENSITIVE` environment variable is set to anything, `is_err` will +return false and the program will perform a case-insensitive search. We don’t +care about the *value* of the environment variable, just whether it’s set or +unset, so we’re checking `is_err` rather than using `unwrap`, `expect`, or any +of the other methods we’ve seen on `Result`. + +We pass the value in the `case_sensitive` variable to the `Config` instance so +the `run` function can read that value and decide whether to call `search` or +`search_case_insensitive`, as we implemented in Listing 12-22. + +Let’s give it a try! First, we’ll run our program without the environment +variable set and with the query `to`, which should match any line that contains +the word “to” in all lowercase: + +``` +$ cargo run to poem.txt + Compiling minigrep v0.1.0 (file:///projects/minigrep) + Finished dev [unoptimized + debuginfo] target(s) in 0.0s + Running `target/debug/minigrep to poem.txt` +Are you nobody, too? +How dreary to be somebody! +``` + +Looks like that still works! Now, let’s run the program with `CASE_INSENSITIVE` +set to `1` but with the same query `to`. + +If you’re using PowerShell, you will need to set the environment variable and +run the program as separate commands: + +``` +PS> $Env:CASE_INSENSITIVE=1; cargo run to poem.txt +``` + +This will make `CASE_INSENSITIVE` persist for the remainder of your shell +session. It can be unset with the `Remove-Item` cmdlet: + +``` +PS> Remove-Item Env:CASE_INSENSITIVE +``` + +We should get lines that contain “to” that might have uppercase letters: + +``` +$ CASE_INSENSITIVE=1 cargo run to poem.txt + Finished dev [unoptimized + debuginfo] target(s) in 0.0s + Running `target/debug/minigrep to poem.txt` +Are you nobody, too? +How dreary to be somebody! +To tell your name the livelong day +To an admiring bog! +``` + +Excellent, we also got lines containing “To”! Our `minigrep` program can now do +case-insensitive searching controlled by an environment variable. Now you know +how to manage options set using either command line arguments or environment +variables. + +Some programs allow arguments *and* environment variables for the same +configuration. In those cases, the programs decide that one or the other takes +precedence. For another exercise on your own, try controlling case +insensitivity through either a command line argument or an environment +variable. Decide whether the command line argument or the environment variable +should take precedence if the program is run with one set to case sensitive and +one set to case insensitive. + +The `std::env` module contains many more useful features for dealing with +environment variables: check out its documentation to see what is available. + +## Writing Error Messages to Standard Error Instead of Standard Output + +At the moment, we’re writing all of our output to the terminal using the +`println!` macro. In most terminals, there are two kinds of output: *standard +output* (`stdout`) for general information and *standard error* (`stderr`) for +error messages. This distinction enables users to choose to direct the +successful output of a program to a file but still print error messages to the +screen. + +The `println!` macro is only capable of printing to standard output, so we +have to use something else to print to standard error. + +### Checking Where Errors Are Written + +First, let’s observe how the content printed by `minigrep` is currently being +written to standard output, including any error messages we want to write to +standard error instead. We’ll do that by redirecting the standard output stream +to a file while also intentionally causing an error. We won’t redirect the +standard error stream, so any content sent to standard error will continue to +display on the screen. + +Command line programs are expected to send error messages to the standard error +stream so we can still see error messages on the screen even if we redirect the +standard output stream to a file. Our program is not currently well-behaved: +we’re about to see that it saves the error message output to a file instead! + +The way to demonstrate this behavior is by running the program with `>` and the +filename, *output.txt*, that we want to redirect the standard output stream to. +We won’t pass any arguments, which should cause an error: + +``` +$ cargo run > output.txt +``` + +The `>` syntax tells the shell to write the contents of standard output to +*output.txt* instead of the screen. We didn’t see the error message we were +expecting printed to the screen, so that means it must have ended up in the +file. This is what *output.txt* contains: + +``` +Problem parsing arguments: not enough arguments +``` + +Yup, our error message is being printed to standard output. It’s much more +useful for error messages like this to be printed to standard error so only +data from a successful run ends up in the file. We’ll change that. + +### Printing Errors to Standard Error + +We’ll use the code in Listing 12-24 to change how error messages are printed. +Because of the refactoring we did earlier in this chapter, all the code that +prints error messages is in one function, `main`. The standard library provides +the `eprintln!` macro that prints to the standard error stream, so let’s change +the two places we were calling `println!` to print errors to use `eprintln!` +instead. + +Filename: src/main.rs + +``` +fn main() { + let args: Vec = env::args().collect(); + + let config = Config::new(&args).unwrap_or_else(|err| { + eprintln!("Problem parsing arguments: {}", err); + process::exit(1); + }); + + if let Err(e) = minigrep::run(config) { + eprintln!("Application error: {}", e); + + process::exit(1); + } +} +``` + +Listing 12-24: Writing error messages to standard error instead of standard +output using `eprintln!` + +After changing `println!` to `eprintln!`, let’s run the program again in the +same way, without any arguments and redirecting standard output with `>`: + +``` +$ cargo run > output.txt +Problem parsing arguments: not enough arguments +``` + +Now we see the error onscreen and *output.txt* contains nothing, which is the +behavior we expect of command line programs. + +Let’s run the program again with arguments that don’t cause an error but still +redirect standard output to a file, like so: + +``` +$ cargo run to poem.txt > output.txt +``` + +We won’t see any output to the terminal, and *output.txt* will contain our +results: + +Filename: output.txt + +``` +Are you nobody, too? +How dreary to be somebody! +``` + +This demonstrates that we’re now using standard output for successful output +and standard error for error output as appropriate. + +## Summary + +This chapter recapped some of the major concepts you’ve learned so far and +covered how to perform common I/O operations in Rust. By using command line +arguments, files, environment variables, and the `eprintln!` macro for printing +errors, you’re now prepared to write command line applications. By using the +concepts in previous chapters, your code will be well organized, store data +effectively in the appropriate data structures, handle errors nicely, and be +well tested. + +Next, we’ll explore some Rust features that were influenced by functional +languages: closures and iterators. From 15aef431579a3d2f2bac8cc25445ece1c8e9808c Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 29 Dec 2021 11:10:08 -0500 Subject: [PATCH 0028/1248] Fix quotes --- src/ch05-02-example-structs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch05-02-example-structs.md b/src/ch05-02-example-structs.md index 5d2500dc6a..c737e508c8 100644 --- a/src/ch05-02-example-structs.md +++ b/src/ch05-02-example-structs.md @@ -35,7 +35,7 @@ The issue with this code is evident in the signature of `area`: ``` The `area` function is supposed to calculate the area of one rectangle, but the -function we wrote has two parameters, and it's not clear anywhere in our +function we wrote has two parameters, and it’s not clear anywhere in our program that the parameters are related. It would be more readable and more manageable to group width and height together. We’ve already discussed one way we might do that in [“The Tuple Type”][the-tuple-type] section From 4f7799e3b3f0510440050f74af3dd75545c2dd23 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> Date: Sat, 1 Jan 2022 22:02:15 +0000 Subject: [PATCH 0029/1248] typo: assignement -> assignment --- nostarch/chapter05.md | 2 +- src/ch05-01-defining-structs.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nostarch/chapter05.md b/nostarch/chapter05.md index 2a9bce9bac..d280447a04 100644 --- a/nostarch/chapter05.md +++ b/nostarch/chapter05.md @@ -194,7 +194,7 @@ corresponding fields in `user1`, but we can choose to specify values for as many fields as we want in any order, regardless of the order of the fields in the struct’s definition. -Note that the struct update syntax uses `=` like an assignement; this is +Note that the struct update syntax uses `=` like an assignment; this is because it moves the data, just as we saw in the “Ways Variables and Data Interact: Move” section. In this example, we can no longer use `user1` after creating `user2` because the `String` in the `username` field of `user1` was diff --git a/src/ch05-01-defining-structs.md b/src/ch05-01-defining-structs.md index 8edbd9d535..945d67f284 100644 --- a/src/ch05-01-defining-structs.md +++ b/src/ch05-01-defining-structs.md @@ -129,7 +129,7 @@ corresponding fields in `user1`, but we can choose to specify values for as many fields as we want in any order, regardless of the order of the fields in the struct’s definition. -Note that the struct update syntax uses `=` like an assignement; this is +Note that the struct update syntax uses `=` like an assignment; this is because it moves the data, just as we saw in the [“Ways Variables and Data Interact: Move”][move] section. In this example, we can no longer use `user1` after creating `user2` because the `String` in the From 09e687ec7a7d9b5a3616f642625335b14b28dc66 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 1 Jan 2022 20:44:55 -0500 Subject: [PATCH 0030/1248] set -eu in all bash scripts --- ci/spellcheck.sh | 2 ++ ci/validate.sh | 4 ++++ 2 files changed, 6 insertions(+) mode change 100644 => 100755 ci/validate.sh diff --git a/ci/spellcheck.sh b/ci/spellcheck.sh index f1c84a5f08..3d61e76a51 100755 --- a/ci/spellcheck.sh +++ b/ci/spellcheck.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -eu + aspell --version # Checks project Markdown files for spelling mistakes. diff --git a/ci/validate.sh b/ci/validate.sh old mode 100644 new mode 100755 index 9e2cfdf10d..04a3bf48ab --- a/ci/validate.sh +++ b/ci/validate.sh @@ -1,3 +1,7 @@ +#!/bin/bash + +set -eu + for file in src/*.md ; do echo Checking references in $file cargo run --quiet --bin link2print < $file > /dev/null From ecbe5060f8ae9686a25464f6034e146dbbed37e6 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 1 Jan 2022 20:47:57 -0500 Subject: [PATCH 0031/1248] Install aspell in CI --- .github/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e313d50899..9b30235f64 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,11 +43,14 @@ jobs: mkdir bin curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.14/mdbook-v0.4.14-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin echo "$(pwd)/bin" >> ${GITHUB_PATH} + - name: Install aspell + run: apt-get install aspell - name: Report versions run: | rustup --version rustc -Vv mdbook --version + aspell --version - name: Spellcheck run: bash ci/spellcheck.sh list - name: Lint for local file paths From f766b840318425db1f810b0e7d841928df1fea78 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 1 Jan 2022 21:18:27 -0500 Subject: [PATCH 0032/1248] sigh, the xkcd sandwich one --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9b30235f64..21f9e6d0c3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -44,7 +44,7 @@ jobs: curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.14/mdbook-v0.4.14-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin echo "$(pwd)/bin" >> ${GITHUB_PATH} - name: Install aspell - run: apt-get install aspell + run: sudo apt-get install aspell - name: Report versions run: | rustup --version From 910714b4723cc15e967ef14fd8ed569f2927c024 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 1 Jan 2022 21:20:11 -0500 Subject: [PATCH 0033/1248] Remove test_harness from the dictionary --- ci/dictionary.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/ci/dictionary.txt b/ci/dictionary.txt index b4dbfa6312..0dd88dba10 100644 --- a/ci/dictionary.txt +++ b/ci/dictionary.txt @@ -471,7 +471,6 @@ supertraits TcpListener TcpStream templating -test_harness test's TextField That'd From cf272254b8155934b2dccf0a0e50a5bc53fac9bd Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 1 Jan 2022 21:30:30 -0500 Subject: [PATCH 0034/1248] SIGH add all the words to the dictionary that were missed while spellcheck was broken --- ci/dictionary.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ci/dictionary.txt b/ci/dictionary.txt index 0dd88dba10..c0f7848a9c 100644 --- a/ci/dictionary.txt +++ b/ci/dictionary.txt @@ -6,6 +6,7 @@ adaptor adaptors AddAssign Addr +adfb afdc aggregator AGraph @@ -13,6 +14,7 @@ aliasability alignof alloc allocator +AlwaysEqual Amir anotherusername APIs @@ -49,6 +51,7 @@ BitXorAssign Bjarne Boehm bool +boolean Boolean Booleans Bors @@ -61,6 +64,8 @@ Cagain callsite CamelCase cargodoc +centric +chacha ChangeColor ChangeColorMessage charset @@ -148,6 +153,7 @@ Enums eprintln Erlang ErrorKind +eval executables expr extern @@ -170,8 +176,11 @@ formatter formatters FrenchToast FromIterator +FromResidual frontend +getrandom getter +getters GGraph GitHub gitignore @@ -264,6 +273,7 @@ login lookup loopback lossy +Lukas lval macOS Matsakis @@ -332,6 +342,8 @@ OptionalNumber OsStr OsString other's +otherinstall +OtherError OutlinePrint overloadable overread @@ -392,6 +404,7 @@ representable request's resizes resizing +ReturnedError retweet rewordings rint @@ -421,6 +434,7 @@ ShrAssign shouldn Simula siphash +SipHash situps sizeof SliceIndex @@ -542,6 +556,7 @@ WebSocket whitespace wildcard wildcards +Wirth workflow workspace workspaces @@ -549,6 +564,7 @@ Workspaces wouldn writeln WriteMessage +xcode xpression yyyy ZipImpl From e5a583b4ec8be3226c08ac01c7d7959a3a4dfac2 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 1 Jan 2022 21:37:59 -0500 Subject: [PATCH 0035/1248] SIGH fix all the typos that were missed while spellcheck was broken --- src/ch02-00-guessing-game-tutorial.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/ch02-00-guessing-game-tutorial.md b/src/ch02-00-guessing-game-tutorial.md index 234f7a3540..d709dbad26 100644 --- a/src/ch02-00-guessing-game-tutorial.md +++ b/src/ch02-00-guessing-game-tutorial.md @@ -221,9 +221,10 @@ we pass to it, but it also returns a value—in this case, an `Result` in its standard library: a generic [`Result`][result] as well as specific versions for submodules, such as `io::Result`. The `Result` types are [*enumerations*][enums], often referred to as *enums*, -which can have a fixed set of possibilites known as *variants*. Enums are often -used with `match`, a conditional that makes it convenient to execute different -code based on which variant an enum value is when the conditional is evaluated. +which can have a fixed set of possibilities known as *variants*. Enums are +often used with `match`, a conditional that makes it convenient to execute +different code based on which variant an enum value is when the conditional is +evaluated. Chapter 6 will cover enums in more detail. The purpose of these `Result` types is to encode error-handling information. @@ -469,7 +470,7 @@ $ cargo update Updating rand v0.8.3 -> v0.8.4 ``` -Cargo ignores the `0.9.0` releaese. At this point, you would also notice a +Cargo ignores the `0.9.0` release. At this point, you would also notice a change in your *Cargo.lock* file noting that the version of the `rand` crate you are now using is `0.8.4`. To use `rand` version `0.9.0` or any version in the `0.9.x` series, you’d have to update the *Cargo.toml* file to look like @@ -628,7 +629,7 @@ strong, static type system. However, it also has type inference. When we wrote a `String` and didn’t make us write the type. The `secret_number`, on the other hand, is a number type. A few of Rust’s number types can have a value between 1 and 100: `i32`, a 32-bit number; `u32`, an unsigned 32-bit number; `i64`, a -64-bit number; as well as others. Unless otherwise speceified, Rust defaults to +64-bit number; as well as others. Unless otherwise specified, Rust defaults to an `i32`, which is the type of `secret_number` unless you add type information elsewhere that would cause Rust to infer a different numerical type. The reason for the error is that Rust cannot compare a string and a number type. From 0b79b7ec78c908b8342e8d7f20cfdd5333b370a0 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 1 Jan 2022 22:06:10 -0500 Subject: [PATCH 0036/1248] Use shellcheck --- .github/workflows/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 21f9e6d0c3..1acae0b6d2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -45,12 +45,17 @@ jobs: echo "$(pwd)/bin" >> ${GITHUB_PATH} - name: Install aspell run: sudo apt-get install aspell + - name: Install shellcheck + run: sudo apt-get install shellcheck - name: Report versions run: | rustup --version rustc -Vv mdbook --version aspell --version + shellcheck --version + - name: Shellcheck + run: find . -name '*.sh' | xargs shellcheck - name: Spellcheck run: bash ci/spellcheck.sh list - name: Lint for local file paths From c99c03c659aebe851b0e6c79c212b6705b9e9c3a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 1 Jan 2022 22:17:49 -0500 Subject: [PATCH 0037/1248] Make fixes recommended by shellcheck --- ci/validate.sh | 4 ++-- tools/convert-quotes.sh | 2 +- tools/doc-to-md.sh | 2 +- tools/megadiff.sh | 2 +- tools/nostarch.sh | 2 +- tools/update-rustc.sh | 28 ++++++++++++++-------------- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ci/validate.sh b/ci/validate.sh index 04a3bf48ab..9d65bc1614 100755 --- a/ci/validate.sh +++ b/ci/validate.sh @@ -3,6 +3,6 @@ set -eu for file in src/*.md ; do - echo Checking references in $file - cargo run --quiet --bin link2print < $file > /dev/null + echo Checking references in "$file" + cargo run --quiet --bin link2print < "$file" > /dev/null done \ No newline at end of file diff --git a/tools/convert-quotes.sh b/tools/convert-quotes.sh index 8508e97021..bffe82359f 100755 --- a/tools/convert-quotes.sh +++ b/tools/convert-quotes.sh @@ -5,7 +5,7 @@ set -eu mkdir -p tmp/src rm -rf tmp/*.md -for f in src/${1:-""}*.md +for f in src/"${1:-\"\"}"*.md do cargo run --bin convert_quotes < "$f" > "tmp/$f" mv "tmp/$f" "$f" diff --git a/tools/doc-to-md.sh b/tools/doc-to-md.sh index 170727db9f..49b0cdfe35 100755 --- a/tools/doc-to-md.sh +++ b/tools/doc-to-md.sh @@ -3,7 +3,7 @@ set -eu # Get all the docx files in the tmp dir. -ls tmp/*.docx | \ +find tmp -name '*.docx' -print0 | \ # Extract just the filename so we can reuse it easily. xargs -n 1 basename -s .docx | \ while IFS= read -r filename; do diff --git a/tools/megadiff.sh b/tools/megadiff.sh index 9b0d943896..62ca7a0c5b 100755 --- a/tools/megadiff.sh +++ b/tools/megadiff.sh @@ -12,7 +12,7 @@ rm -rf tmp/book-after/css/ tmp/book-after/theme/ tmp/book-after/img/ tmp/book-af tmp/book-after/*.json tmp/book-after/print.html # Get all the html files before -ls tmp/book-before/*.html | \ +find tmp/book-before -name '*.html' -print0 | \ # Extract just the filename so we can reuse it easily. xargs -n 1 basename | \ while IFS= read -r filename; do diff --git a/tools/nostarch.sh b/tools/nostarch.sh index d802bf0703..d8c7994671 100755 --- a/tools/nostarch.sh +++ b/tools/nostarch.sh @@ -12,7 +12,7 @@ rm -rf tmp/markdown MDBOOK_OUTPUT__MARKDOWN=1 mdbook build -d tmp # Get all the Markdown files -ls tmp/markdown/${1:-""}*.md | \ +find tmp/markdown -name "${1:-\"\"}*.md" -print0 | \ # Extract just the filename so we can reuse it easily. xargs -n 1 basename | \ # Remove all links followed by ```, then diff --git a/tools/update-rustc.sh b/tools/update-rustc.sh index 53905bb466..5c9f178b1c 100755 --- a/tools/update-rustc.sh +++ b/tools/update-rustc.sh @@ -3,18 +3,18 @@ set -eu # Build the book before making any changes for comparison of the output. -echo 'Building book into `tmp/book-before` before updating...' +echo 'Building book into tmp/book-before before updating...' mdbook build -d tmp/book-before # Rustfmt all listings echo 'Formatting all listings...' find -s listings -name Cargo.toml -print0 | while IFS= read -r -d '' f; do - dir_to_fmt=$(dirname $f) + dir_to_fmt=$(dirname "$f") # There are a handful of listings we don't want to rustfmt and skipping # doesn't work; those will have a file in their directory that explains why. if [ ! -f "${dir_to_fmt}/rustfmt-ignore" ]; then - cd $dir_to_fmt + cd "$dir_to_fmt" cargo fmt --all && true cd - > /dev/null fi @@ -30,42 +30,42 @@ root_dir=$(pwd) echo 'Regenerating output...' # For any listings where we show the output, find -s listings -name output.txt -print0 | while IFS= read -r -d '' f; do - build_directory=$(dirname $f) + build_directory=$(dirname "$f") full_build_directory="${root_dir}/${build_directory}" full_output_path="${full_build_directory}/output.txt" tmp_build_directory="tmp/${build_directory}" - cd $tmp_build_directory + cd "$tmp_build_directory" # Save the previous compile time; we're going to keep it to minimize diff # churn - compile_time=$(sed -E -ne 's/.*Finished (dev|test) \[unoptimized \+ debuginfo] target\(s\) in ([0-9.]*).*/\2/p' ${full_output_path}) + compile_time=$(sed -E -ne 's/.*Finished (dev|test) \[unoptimized \+ debuginfo] target\(s\) in ([0-9.]*).*/\2/p' "${full_output_path}") # Save the hash from the first test binary; we're going to keep it to # minimize diff churn - test_binary_hash=$(sed -E -ne 's@.*Running [^[:space:]]+ \(target/debug/deps/[^-]*-([^\s]*)\)@\1@p' ${full_output_path} | head -n 1) + test_binary_hash=$(sed -E -ne 's@.*Running [^[:space:]]+ \(target/debug/deps/[^-]*-([^\s]*)\)@\1@p' "${full_output_path}" | head -n 1) # Act like this is the first time this listing has been built cargo clean # Run the command in the existing output file - cargo_command=$(sed -ne 's/$ \(.*\)/\1/p' ${full_output_path}) + cargo_command=$(sed -ne 's/$ \(.*\)/\1/p' "${full_output_path}") # Clear the output file of everything except the command - echo "$ ${cargo_command}" > ${full_output_path} + echo "$ ${cargo_command}" > "${full_output_path}" # Regenerate the output and append to the output file. Turn some warnings # off to reduce output noise, and use one test thread to get consistent # ordering of tests in the output when the command is `cargo test`. - RUSTFLAGS="-A unused_variables -A dead_code" RUST_TEST_THREADS=1 $cargo_command >> ${full_output_path} 2>&1 || true + RUSTFLAGS="-A unused_variables -A dead_code" RUST_TEST_THREADS=1 $cargo_command >> "${full_output_path}" 2>&1 || true # Set the project file path to the projects directory plus the crate name # instead of a path to the computer of whoever is running this - sed -i '' -E -e 's@(Compiling|Checking) ([^\)]*) v0.1.0 (.*)@\1 \2 v0.1.0 (file:///projects/\2)@' ${full_output_path} + sed -i '' -E -e 's@(Compiling|Checking) ([^\)]*) v0.1.0 (.*)@\1 \2 v0.1.0 (file:///projects/\2)@' "${full_output_path}" # Restore the previous compile time, if there is one if [ -n "${compile_time}" ]; then - sed -i '' -E -e "s/Finished (dev|test) \[unoptimized \+ debuginfo] target\(s\) in [0-9.]*/Finished \1 [unoptimized + debuginfo] target(s) in ${compile_time}/" ${full_output_path} + sed -i '' -E -e "s/Finished (dev|test) \[unoptimized \+ debuginfo] target\(s\) in [0-9.]*/Finished \1 [unoptimized + debuginfo] target(s) in ${compile_time}/" "${full_output_path}" fi # Restore the previous test binary hash, if there is one @@ -73,7 +73,7 @@ find -s listings -name output.txt -print0 | while IFS= read -r -d '' f; do replacement='s@Running ([^[:space:]]+) \(target/debug/deps/([^-]*)-([^\s]*)\)@Running \1 (target/debug/deps/\2-' replacement+="${test_binary_hash}" replacement+=')@g' - sed -i '' -E -e "${replacement}" ${full_output_path} + sed -i '' -E -e "${replacement}" "${full_output_path}" fi # Clean again @@ -83,7 +83,7 @@ find -s listings -name output.txt -print0 | while IFS= read -r -d '' f; do done # Build the book after making all the changes -echo 'Building book into `tmp/book-after` after updating...' +echo 'Building book into tmp/book-after after updating...' mdbook build -d tmp/book-after # Run the megadiff script that removes all files that are the same, leaving only files to audit From 40c98a5118d2ba93ce9fd39c313bcbce5597818d Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 1 Jan 2022 20:38:19 -0500 Subject: [PATCH 0038/1248] Edits to edits of chapter 6 --- nostarch/chapter06.md | 173 +++++++++++++++++--------------- src/ch06-00-enums.md | 4 +- src/ch06-01-defining-an-enum.md | 76 +++++++------- src/ch06-02-match.md | 47 +++++---- src/ch06-03-if-let.md | 10 +- 5 files changed, 158 insertions(+), 152 deletions(-) diff --git a/nostarch/chapter06.md b/nostarch/chapter06.md index 4256c74464..346aa42f08 100644 --- a/nostarch/chapter06.md +++ b/nostarch/chapter06.md @@ -10,25 +10,35 @@ data. Next, we’ll explore a particularly useful enum, called `Option`, which expresses that a value can be either something or nothing. Then we’ll look at how pattern matching in the `match` expression makes it easy to run different code for different values of an enum. Finally, we’ll cover how the `if let` -construct is another convenient and concise idiom available to you to handle -enums in your code. +construct is another convenient and concise idiom available to handle enums in +your code. Enums are a feature in many languages, but their capabilities differ in each language. Rust’s enums are most similar to *algebraic data types* in functional languages, such as F#, OCaml, and Haskell. ## Defining an Enum - -Let’s look at a situation we might want to express in code and see why enums -are useful and more appropriate than structs in this case. Say we need to work -with IP addresses. Currently, two major standards are used for IP addresses: -version four and version six. These are the only possibilities for an IP -address that our program will come across: we can *enumerate* all possible -variants, which is where enumeration gets its name. + + +Enums are a way of defining custom data types in a different way than you do +with structs. Let’s look at a situation we might want to express in code and +see why enums are useful and more appropriate than structs in this case. Say we +need to work with IP addresses. Currently, two major standards are used for IP +addresses: version four and version six. Because these are the only +possibilities for an IP address that our program will come across, we can +*enumerate* all possible variants, which is where enumeration gets its name. Any IP address can be either a version four or a version six address, but not both at the same time. That property of IP addresses makes the enum data -structure appropriate, because enum values can only be one of its variants. +structure appropriate, because an enum value can only be one of its variants. Both version four and version six addresses are still fundamentally IP addresses, so they should be treated as the same type when the code is handling situations that apply to any kind of IP address. @@ -56,10 +66,9 @@ let six = IpAddrKind::V6; ``` Note that the variants of the enum are namespaced under its identifier, and we -use a double colon to separate the two. The reason this is useful is that now -both values `IpAddrKind::V4` and `IpAddrKind::V6` are of the same type: -`IpAddrKind`. We can then, for instance, define a function that takes any -`IpAddrKind`: +use a double colon to separate the two. This is useful because now both values +`IpAddrKind::V4` and `IpAddrKind::V6` are of the same type: `IpAddrKind`. We +can then, for instance, define a function that takes any `IpAddrKind`: ``` fn route(ip_kind: IpAddrKind) {} @@ -75,7 +84,8 @@ route(IpAddrKind::V6); Using enums has even more advantages. Thinking more about our IP address type, at the moment we don’t have a way to store the actual IP address *data*; we only know what *kind* it is. Given that you just learned about structs in -Chapter 5, you might tackle this problem as shown in Listing 6-1. +Chapter 5, you might be tempted to tackle this problem with structs as shown in +Listing 6-1. ``` enum IpAddrKind { @@ -104,15 +114,15 @@ Listing 6-1: Storing the data and `IpAddrKind` variant of an IP address using a Here, we’ve defined a struct `IpAddr` that has two fields: a `kind` field that is of type `IpAddrKind` (the enum we defined previously) and an `address` field -of type `String`. We have two instances of this struct. The first, `home`, has -the value `IpAddrKind::V4` as its `kind` with associated address data of -`127.0.0.1`. The second instance, `loopback`, has the other variant of -`IpAddrKind` as its `kind` value, `V6`, and has address `::1` associated with -it. We’ve used a struct to bundle the `kind` and `address` values together, so -now the variant is associated with the value. - -We can represent the same concept in a more concise way using just an enum, -rather than an enum inside a struct, by putting data directly into each enum +of type `String`. We have two instances of this struct. The first is `home`, +and it has the value `IpAddrKind::V4` as its `kind` with associated address +data of `127.0.0.1`. The second instance is `loopback`. It has the other +variant of `IpAddrKind` as its `kind` value, `V6`, and has address `::1` +associated with it. We’ve used a struct to bundle the `kind` and `address` +values together, so now the variant is associated with the value. + +However, representing the same concept using just an enum is more concise: +rather than an enum inside a struct, we can put data directly into each enum variant. This new definition of the `IpAddr` enum says that both `V4` and `V6` variants will have associated `String` values: @@ -253,15 +263,12 @@ useful: `Option`. ### The `Option` Enum and Its Advantages Over Null Values -In the previous section, we looked at how the `IpAddr` enum let us use Rust’s -type system to encode more information than just the data into our program. This section explores a case study of `Option`, which is another enum defined -by the standard library. The `Option` type is used in many places because it -encodes the very common scenario in which a value could be something or it -could be nothing. Expressing this concept in terms of the type system means the -compiler can check whether you’ve handled all the cases you should be handling; -this functionality can prevent bugs that are extremely common in other -programming languages. +by the standard library. The `Option` type encodes the very common scenario in +which a value could be something or it could be nothing. Expressing this +concept in terms of the type system means the compiler can check whether you’ve +handled all the cases you should be handling; this functionality can prevent +bugs that are extremely common in other programming languages. Programming language design is often thought of in terms of which features you include, but the features you exclude are important too. Rust doesn’t have the @@ -302,10 +309,10 @@ enum Option { ``` The `Option` enum is so useful that it’s even included in the prelude; you -don’t need to bring it into scope explicitly. In addition, so are its variants: -you can use `Some` and `None` directly without the `Option::` prefix. The -`Option` enum is still just a regular enum, and `Some(T)` and `None` are -still variants of type `Option`. +don’t need to bring it into scope explicitly. Its variants are also included in +the prelude: you can use `Some` and `None` directly without the `Option::` +prefix. The `Option` enum is still just a regular enum, and `Some(T)` and +`None` are still variants of type `Option`. The `` syntax is a feature of Rust we haven’t talked about yet. It’s a generic type parameter, and we’ll cover generics in more detail in Chapter 10. @@ -375,7 +382,7 @@ perform `T` operations with it. Generally, this helps catch one of the most common issues with null: assuming that something isn’t null when it actually is. -Not having to worry about incorrectly assuming a not-null value helps you to be +Eliminating the risk of incorrectly assuming a not-null value helps you to be more confident in your code. In order to have a value that can possibly be null, you must explicitly opt in by making the type of that value `Option`. Then, when you use that value, you are required to explicitly handle the case @@ -415,13 +422,15 @@ the first hole it encounters that it fits into. In the same way, values go through each pattern in a `match`, and at the first pattern the value “fits,” the value falls into the associated code block to be used during execution. -Because we just mentioned coins, let’s use them as an example using `match`! We -can write a function that can take an unknown United States coin and, in a -similar way as the counting machine, determine which coin it is and return its + + +Speaking of coins, let’s use them as an example using `match`! We +can write a function that takes an unknown United States coin and, in a +similar way as the counting machine, determines which coin it is and return its value in cents, as shown here in Listing 6-3. ``` -enum Coin { +[1]enum Coin { Penny, Nickel, Dime, @@ -445,8 +454,8 @@ Let’s break down the `match` in the `value_in_cents` function. First, we list the `match` keyword followed by an expression, which in this case is the value `coin`. This seems very similar to an expression used with `if`, but there’s a big difference: with `if`, the expression needs to return a Boolean value, but -here, it can be any type. The type of `coin` in this example is the `Coin` enum -that we defined on line 1. +here, it can return any type. The type of `coin` in this example is the `Coin` +enum that we defined at [1]. Next are the `match` arms. An arm has two parts: a pattern and some code. The first arm here has a pattern that is the value `Coin::Penny` and then the `=>` @@ -463,11 +472,11 @@ The code associated with each arm is an expression, and the resulting value of the expression in the matching arm is the value that gets returned for the entire `match` expression. -Curly brackets typically aren’t used if the match arm code is short, as it is +We don't typically use curly brackets if the match arm code is short, as it is in Listing 6-3 where each arm just returns a value. If you want to run multiple -lines of code in a match arm, you can use curly brackets. For example, the -following code would print “Lucky penny!” every time the method was called with -a `Coin::Penny` but would still return the last value of the block, `1`: +lines of code in a match arm, you must use curly brackets. For example, the +following code prints “Lucky penny!” every time the method is called with a +`Coin::Penny`, but still returns the last value of the block, `1`: ``` fn value_in_cents(coin: Coin) -> u8 { @@ -515,10 +524,10 @@ enum Coin { Listing 6-4: A `Coin` enum in which the `Quarter` variant also holds a `UsState` value -Let’s imagine that a friend of ours is trying to collect all 50 state quarters. -While we sort our loose change by coin type, we’ll also call out the name of -the state associated with each quarter so if it’s one our friend doesn’t have, -they can add it to their collection. +Let’s imagine that a friend is trying to collect all 50 state quarters. While +we sort our loose change by coin type, we’ll also call out the name of the +state associated with each quarter so if it’s one our friend doesn’t have, they +can add it to their collection. In the match expression for this code, we add a variable called `state` to the pattern that matches values of the variant `Coin::Quarter`. When a @@ -615,9 +624,11 @@ once you get used to it, you’ll wish you had it in all languages. It’s consistently a user favorite. ### Matches Are Exhaustive - -There’s one other aspect of `match` we need to discuss. Consider this version -of our `plus_one` function that has a bug and won’t compile: + + +There’s one other aspect of `match` we need to discuss: the arms’ patterns must +cover all possibilities. Consider this version of our `plus_one` function, +which has a bug and won’t compile: ``` fn plus_one(x: Option) -> Option { @@ -653,15 +664,15 @@ have null, thus making the billion-dollar mistake discussed earlier impossible. ### Catch-all Patterns and the `_` Placeholder -Let’s look at an example where we want to take special actions for a few -particular values, but for all other values take one default action. Imagine -we’re implementing a game where if you get a value of 3 on a dice roll, your -player doesn’t move, but instead gets a new fancy hat. If you roll a 7, your -player loses a fancy hat. For all other values, your player moves that number -of spaces on the game board. Here’s a `match` that implements that logic, with -the result of the dice roll hardcoded rather than a random value, and all other -logic represented by functions without bodies because actually implementing -them is out of scope for this example: +Using enums, we can also take special actions for a few particular values, but +for all other values take one default action. Imagine we’re implementing a game +where, if you roll a 3 on a dice roll, your player doesn’t move, but instead +gets a new fancy hat. If you roll a 7, your player loses a fancy hat. For all +other values, your player moves that number of spaces on the game board. Here’s +a `match` that implements that logic, with the result of the dice roll +hardcoded rather than a random value, and all other logic represented by +functions without bodies because actually implementing them is out of scope for +this example: ``` let dice_roll = 9; @@ -685,17 +696,17 @@ This code compiles, even though we haven’t listed all the possible values a `u8` can have, because the last pattern will match all values not specifically listed. This catch-all pattern meets the requirement that `match` must be exhaustive. Note that we have to put the catch-all arm last because the -patterns are evaluated in order. Rust will warn us if we add arms after a -catch-all because those later arms would never match! +patterns are evaluated in order. If we put the catch-all arm earlier, the other +arms would never run, so Rust will warn us if we add arms after a catch-all! -Rust also has a pattern we can use when we don’t want to use the value in the -catch-all pattern: `_`, which is a special pattern that matches any value and -does not bind to that value. This tells Rust we aren’t going to use the value, -so Rust won’t warn us about an unused variable. +Rust also has a pattern we can use when we want a catch-all but don’t want to +*use* the value in the catch-all pattern: `_` is a special pattern that matches +any value and does not bind to that value. This tells Rust we aren’t going to +use the value, so Rust won’t warn us about an unused variable. -Let’s change the rules of the game to be that if you roll anything other than -a 3 or a 7, you must roll again. We don’t need to use the value in that case, -so we can change our code to use `_` instead of the variable named `other`: +Let’s change the rules of the game: now, if you roll anything other than a 3 or +a 7, you must roll again. We no longer need to use the catch-all value, so we +can change our code to use `_` instead of the variable named `other`: ``` let dice_roll = 9; @@ -713,10 +724,10 @@ fn reroll() {} This example also meets the exhaustiveness requirement because we’re explicitly ignoring all other values in the last arm; we haven’t forgotten anything. -If we change the rules of the game one more time, so that nothing else happens -on your turn if you roll anything other than a 3 or a 7, we can express that by -using the unit value (the empty tuple type we mentioned in “The Tuple Type” -section) as the code that goes with the `_` arm: +Finally, we'll change the rules of the game one more time, so that nothing else +happens on your turn if you roll anything other than a 3 or a 7. We can express +that by using the unit value (the empty tuple type we mentioned in “The Tuple +Type” section) as the code that goes with the `_` arm: ``` let dice_roll = 9; @@ -756,11 +767,11 @@ match config_max { Listing 6-6: A `match` that only cares about executing code when the value is `Some` -If the value is `Some`, we want to print out the value in the `Some` variant, -which we do by binding the value to the variable `max` in the pattern. -We don’t want to do anything with the `None` value. To satisfy the `match` -expression, we have to add `_ => ()` after processing just one variant, which -is annoying boilerplate code to add. +If the value is `Some`, we print out the value in the `Some` variant by binding +the value to the variable `max` in the pattern. We don’t want to do anything +with the `None` value. To satisfy the `match` expression, we have to add `_ => +()` after processing just one variant, which is annoying boilerplate code to +add. Instead, we could write this in a shorter way using `if let`. The following code behaves the same as the `match` in Listing 6-6: diff --git a/src/ch06-00-enums.md b/src/ch06-00-enums.md index cf7ea67f60..7fdfc2ccbc 100644 --- a/src/ch06-00-enums.md +++ b/src/ch06-00-enums.md @@ -7,8 +7,8 @@ data. Next, we’ll explore a particularly useful enum, called `Option`, which expresses that a value can be either something or nothing. Then we’ll look at how pattern matching in the `match` expression makes it easy to run different code for different values of an enum. Finally, we’ll cover how the `if let` -construct is another convenient and concise idiom available to you to handle -enums in your code. +construct is another convenient and concise idiom available to handle enums in +your code. Enums are a feature in many languages, but their capabilities differ in each language. Rust’s enums are most similar to *algebraic data types* in functional diff --git a/src/ch06-01-defining-an-enum.md b/src/ch06-01-defining-an-enum.md index ce581642f0..88392c585e 100644 --- a/src/ch06-01-defining-an-enum.md +++ b/src/ch06-01-defining-an-enum.md @@ -1,15 +1,16 @@ ## Defining an Enum -Let’s look at a situation we might want to express in code and see why enums -are useful and more appropriate than structs in this case. Say we need to work -with IP addresses. Currently, two major standards are used for IP addresses: -version four and version six. These are the only possibilities for an IP -address that our program will come across: we can *enumerate* all possible -variants, which is where enumeration gets its name. +Enums are a way of defining custom data types in a different way than you do +with structs. Let’s look at a situation we might want to express in code and +see why enums are useful and more appropriate than structs in this case. Say we +need to work with IP addresses. Currently, two major standards are used for IP +addresses: version four and version six. Because these are the only +possibilities for an IP address that our program will come across, we can +*enumerate* all possible variants, which is where enumeration gets its name. Any IP address can be either a version four or a version six address, but not both at the same time. That property of IP addresses makes the enum data -structure appropriate, because enum values can only be one of its variants. +structure appropriate, because an enum value can only be one of its variants. Both version four and version six addresses are still fundamentally IP addresses, so they should be treated as the same type when the code is handling situations that apply to any kind of IP address. @@ -33,10 +34,9 @@ We can create instances of each of the two variants of `IpAddrKind` like this: ``` Note that the variants of the enum are namespaced under its identifier, and we -use a double colon to separate the two. The reason this is useful is that now -both values `IpAddrKind::V4` and `IpAddrKind::V6` are of the same type: -`IpAddrKind`. We can then, for instance, define a function that takes any -`IpAddrKind`: +use a double colon to separate the two. This is useful because now both values +`IpAddrKind::V4` and `IpAddrKind::V6` are of the same type: `IpAddrKind`. We +can then, for instance, define a function that takes any `IpAddrKind`: ```rust {{#rustdoc_include ../listings/ch06-enums-and-pattern-matching/no-listing-01-defining-enums/src/main.rs:fn}} @@ -51,7 +51,8 @@ And we can call this function with either variant: Using enums has even more advantages. Thinking more about our IP address type, at the moment we don’t have a way to store the actual IP address *data*; we only know what *kind* it is. Given that you just learned about structs in -Chapter 5, you might tackle this problem as shown in Listing 6-1. +Chapter 5, you might be tempted to tackle this problem with structs as shown in +Listing 6-1. ```rust {{#rustdoc_include ../listings/ch06-enums-and-pattern-matching/listing-06-01/src/main.rs:here}} @@ -62,15 +63,15 @@ an IP address using a `struct` Here, we’ve defined a struct `IpAddr` that has two fields: a `kind` field that is of type `IpAddrKind` (the enum we defined previously) and an `address` field -of type `String`. We have two instances of this struct. The first, `home`, has -the value `IpAddrKind::V4` as its `kind` with associated address data of -`127.0.0.1`. The second instance, `loopback`, has the other variant of -`IpAddrKind` as its `kind` value, `V6`, and has address `::1` associated with -it. We’ve used a struct to bundle the `kind` and `address` values together, so -now the variant is associated with the value. - -We can represent the same concept in a more concise way using just an enum, -rather than an enum inside a struct, by putting data directly into each enum +of type `String`. We have two instances of this struct. The first is `home`, +and it has the value `IpAddrKind::V4` as its `kind` with associated address +data of `127.0.0.1`. The second instance is `loopback`. It has the other +variant of `IpAddrKind` as its `kind` value, `V6`, and has address `::1` +associated with it. We’ve used a struct to bundle the `kind` and `address` +values together, so now the variant is associated with the value. + +However, representing the same concept using just an enum is more concise: +rather than an enum inside a struct, we can put data directly into each enum variant. This new definition of the `IpAddr` enum says that both `V4` and `V6` variants will have associated `String` values: @@ -106,8 +107,6 @@ we’ve defined and used, but it embeds the address data inside the variants in the form of two different structs, which are defined differently for each variant: -[IpAddr]: ../std/net/enum.IpAddr.html - ```rust struct Ipv4Addr { // --snip-- @@ -182,15 +181,12 @@ useful: `Option`. ### The `Option` Enum and Its Advantages Over Null Values -In the previous section, we looked at how the `IpAddr` enum let us use Rust’s -type system to encode more information than just the data into our program. This section explores a case study of `Option`, which is another enum defined -by the standard library. The `Option` type is used in many places because it -encodes the very common scenario in which a value could be something or it -could be nothing. Expressing this concept in terms of the type system means the -compiler can check whether you’ve handled all the cases you should be handling; -this functionality can prevent bugs that are extremely common in other -programming languages. +by the standard library. The `Option` type encodes the very common scenario in +which a value could be something or it could be nothing. Expressing this +concept in terms of the type system means the compiler can check whether you’ve +handled all the cases you should be handling; this functionality can prevent +bugs that are extremely common in other programming languages. Programming language design is often thought of in terms of which features you include, but the features you exclude are important too. Rust doesn’t have the @@ -223,8 +219,6 @@ that can encode the concept of a value being present or absent. This enum is `Option`, and it is [defined by the standard library][option] as follows: -[option]: ../std/option/enum.Option.html - ```rust enum Option { None, @@ -233,10 +227,10 @@ enum Option { ``` The `Option` enum is so useful that it’s even included in the prelude; you -don’t need to bring it into scope explicitly. In addition, so are its variants: -you can use `Some` and `None` directly without the `Option::` prefix. The -`Option` enum is still just a regular enum, and `Some(T)` and `None` are -still variants of type `Option`. +don’t need to bring it into scope explicitly. Its variants are also included in +the prelude: you can use `Some` and `None` directly without the `Option::` +prefix. The `Option` enum is still just a regular enum, and `Some(T)` and +`None` are still variants of type `Option`. The `` syntax is a feature of Rust we haven’t talked about yet. It’s a generic type parameter, and we’ll cover generics in more detail in Chapter 10. @@ -292,7 +286,7 @@ perform `T` operations with it. Generally, this helps catch one of the most common issues with null: assuming that something isn’t null when it actually is. -Not having to worry about incorrectly assuming a not-null value helps you to be +Eliminating the risk of incorrectly assuming a not-null value helps you to be more confident in your code. In order to have a value that can possibly be null, you must explicitly opt in by making the type of that value `Option`. Then, when you use that value, you are required to explicitly handle the case @@ -307,8 +301,6 @@ number of methods that are useful in a variety of situations; you can check them out in [its documentation][docs]. Becoming familiar with the methods on `Option` will be extremely useful in your journey with Rust. -[docs]: ../std/option/enum.Option.html - In general, in order to use an `Option` value, you want to have code that will handle each variant. You want some code that will run only when you have a `Some(T)` value, and this code is allowed to use the inner `T`. You want some @@ -317,3 +309,7 @@ value available. The `match` expression is a control flow construct that does just this when used with enums: it will run different code depending on which variant of the enum it has, and that code can use the data inside the matching value. + +[IpAddr]: ../std/net/enum.IpAddr.html +[option]: ../std/option/enum.Option.html +[docs]: ../std/option/enum.Option.html diff --git a/src/ch06-02-match.md b/src/ch06-02-match.md index d2baa0c914..2bfdbaaf99 100644 --- a/src/ch06-02-match.md +++ b/src/ch06-02-match.md @@ -13,11 +13,10 @@ down a track with variously sized holes along it, and each coin falls through the first hole it encounters that it fits into. In the same way, values go through each pattern in a `match`, and at the first pattern the value “fits,” the value falls into the associated code block to be used during execution. - -Because we just mentioned coins, let’s use them as an example using `match`! We -can write a function that can take an unknown United States coin and, in a -similar way as the counting machine, determine which coin it is and return its -value in cents, as shown here in Listing 6-3. +Speaking of coins, let’s use them as an example using `match`! We can write a +function that takes an unknown United States coin and, in a similar way as the +counting machine, determines which coin it is and return its value in cents, as +shown here in Listing 6-3. ```rust {{#rustdoc_include ../listings/ch06-enums-and-pattern-matching/listing-06-03/src/main.rs:here}} @@ -30,8 +29,8 @@ Let’s break down the `match` in the `value_in_cents` function. First, we list the `match` keyword followed by an expression, which in this case is the value `coin`. This seems very similar to an expression used with `if`, but there’s a big difference: with `if`, the expression needs to return a Boolean value, but -here, it can be any type. The type of `coin` in this example is the `Coin` enum -that we defined on line 1. +here, it can return any type. The type of `coin` in this example is the `Coin` +enum that we defined on the first line. Next are the `match` arms. An arm has two parts: a pattern and some code. The first arm here has a pattern that is the value `Coin::Penny` and then the `=>` @@ -48,11 +47,11 @@ The code associated with each arm is an expression, and the resulting value of the expression in the matching arm is the value that gets returned for the entire `match` expression. -Curly brackets typically aren’t used if the match arm code is short, as it is +We don't typically use curly brackets if the match arm code is short, as it is in Listing 6-3 where each arm just returns a value. If you want to run multiple -lines of code in a match arm, you can use curly brackets. For example, the -following code would print “Lucky penny!” every time the method was called with -a `Coin::Penny` but would still return the last value of the block, `1`: +lines of code in a match arm, you must use curly brackets. For example, the +following code prints “Lucky penny!” every time the method is called with a +`Coin::Penny`, but still returns the last value of the block, `1`: ```rust {{#rustdoc_include ../listings/ch06-enums-and-pattern-matching/no-listing-08-match-arm-multiple-lines/src/main.rs:here}} @@ -78,10 +77,10 @@ inside it, which we’ve done here in Listing 6-4. Listing 6-4: A `Coin` enum in which the `Quarter` variant also holds a `UsState` value -Let’s imagine that a friend of ours is trying to collect all 50 state quarters. -While we sort our loose change by coin type, we’ll also call out the name of -the state associated with each quarter so if it’s one our friend doesn’t have, -they can add it to their collection. +Let’s imagine that a friend is trying to collect all 50 state quarters. While +we sort our loose change by coin type, we’ll also call out the name of the +state associated with each quarter so if it’s one our friend doesn’t have, they +can add it to their collection. In the match expression for this code, we add a variable called `state` to the pattern that matches values of the variant `Coin::Quarter`. When a @@ -185,15 +184,15 @@ have null, thus making the billion-dollar mistake discussed earlier impossible. ### Catch-all Patterns and the `_` Placeholder -Let’s look at an example where we want to take special actions for a few -particular values, but for all other values take one default action. Imagine -we’re implementing a game where if you get a value of 3 on a dice roll, your -player doesn’t move, but instead gets a new fancy hat. If you roll a 7, your -player loses a fancy hat. For all other values, your player moves that number -of spaces on the game board. Here’s a `match` that implements that logic, with -the result of the dice roll hardcoded rather than a random value, and all other -logic represented by functions without bodies because actually implementing -them is out of scope for this example: +Using enums, we can also take special actions for a few particular values, but +for all other values take one default action. Imagine we’re implementing a game +where, if you roll a 3 on a dice roll, your player doesn’t move, but instead +gets a new fancy hat. If you roll a 7, your player loses a fancy hat. For all +other values, your player moves that number of spaces on the game board. Here’s +a `match` that implements that logic, with the result of the dice roll +hardcoded rather than a random value, and all other logic represented by +functions without bodies because actually implementing them is out of scope for +this example: ```rust {{#rustdoc_include ../listings/ch06-enums-and-pattern-matching/no-listing-15-binding-catchall/src/main.rs:here}} diff --git a/src/ch06-03-if-let.md b/src/ch06-03-if-let.md index c78c3ee89b..07634e1620 100644 --- a/src/ch06-03-if-let.md +++ b/src/ch06-03-if-let.md @@ -12,11 +12,11 @@ variable but only wants to execute code if the value is the `Some` variant. Listing 6-6: A `match` that only cares about executing code when the value is `Some` -If the value is `Some`, we want to print out the value in the `Some` variant, -which we do by binding the value to the variable `max` in the pattern. -We don’t want to do anything with the `None` value. To satisfy the `match` -expression, we have to add `_ => ()` after processing just one variant, which -is annoying boilerplate code to add. +If the value is `Some`, we print out the value in the `Some` variant by binding +the value to the variable `max` in the pattern. We don’t want to do anything +with the `None` value. To satisfy the `match` expression, we have to add `_ => +()` after processing just one variant, which is annoying boilerplate code to +add. Instead, we could write this in a shorter way using `if let`. The following code behaves the same as the `match` in Listing 6-6: From 9e97ca7ba8da1c0dc6a05a6e4cec2e041e9e09d4 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 3 Jan 2022 21:20:55 -0500 Subject: [PATCH 0039/1248] match isn't really an operator. Fixes #2859 --- nostarch/chapter06.md | 4 ++-- src/SUMMARY.md | 2 +- src/ch06-02-match.md | 5 +++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/nostarch/chapter06.md b/nostarch/chapter06.md index 346aa42f08..9f8e3b57b1 100644 --- a/nostarch/chapter06.md +++ b/nostarch/chapter06.md @@ -406,9 +406,9 @@ just this when used with enums: it will run different code depending on which variant of the enum it has, and that code can use the data inside the matching value. -## The `match` Control Flow Operator +## The `match` Control Flow Construct -Rust has an extremely powerful control flow operator called `match` that allows +Rust has an extremely powerful control flow construct called `match` that allows you to compare a value against a series of patterns and then execute code based on which pattern matches. Patterns can be made up of literal values, variable names, wildcards, and many other things; Chapter 18 covers all the different diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 22c11ca78b..f0483544c0 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -32,7 +32,7 @@ - [Enums and Pattern Matching](ch06-00-enums.md) - [Defining an Enum](ch06-01-defining-an-enum.md) - - [The `match` Control Flow Operator](ch06-02-match.md) + - [The `match` Control Flow Construct](ch06-02-match.md) - [Concise Control Flow with `if let`](ch06-03-if-let.md) ## Basic Rust Literacy diff --git a/src/ch06-02-match.md b/src/ch06-02-match.md index 2bfdbaaf99..a6056e0739 100644 --- a/src/ch06-02-match.md +++ b/src/ch06-02-match.md @@ -1,6 +1,7 @@ -## The `match` Control Flow Operator + +## The `match` Control Flow Construct -Rust has an extremely powerful control flow operator called `match` that allows +Rust has an extremely powerful control flow construct called `match` that allows you to compare a value against a series of patterns and then execute code based on which pattern matches. Patterns can be made up of literal values, variable names, wildcards, and many other things; Chapter 18 covers all the different From d3740fb7aad0ea4a80ae20f64dee3a8cfc0c5c3c Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 3 Jan 2022 21:34:13 -0500 Subject: [PATCH 0040/1248] Add a concrete example of an optional value. Fixes #2848. --- nostarch/chapter06.md | 14 ++++++++++---- src/ch06-01-defining-an-enum.md | 4 +++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/nostarch/chapter06.md b/nostarch/chapter06.md index 9f8e3b57b1..47ca417010 100644 --- a/nostarch/chapter06.md +++ b/nostarch/chapter06.md @@ -265,10 +265,16 @@ useful: `Option`. This section explores a case study of `Option`, which is another enum defined by the standard library. The `Option` type encodes the very common scenario in -which a value could be something or it could be nothing. Expressing this -concept in terms of the type system means the compiler can check whether you’ve -handled all the cases you should be handling; this functionality can prevent -bugs that are extremely common in other programming languages. +which a value could be something or it could be nothing. + +For example, if you request the first of a list containing items, you would get +a value. If you request the first item of an empty list, you would get nothing. +Expressing this concept in terms of the type system means the compiler can +check whether you’ve handled all the cases you should be handling; this +functionality can prevent bugs that are extremely common in other programming +languages. Programming language design is often thought of in terms of which features you include, but the features you exclude are important too. Rust doesn’t have the diff --git a/src/ch06-01-defining-an-enum.md b/src/ch06-01-defining-an-enum.md index 88392c585e..33bf8eaa26 100644 --- a/src/ch06-01-defining-an-enum.md +++ b/src/ch06-01-defining-an-enum.md @@ -183,7 +183,9 @@ useful: `Option`. This section explores a case study of `Option`, which is another enum defined by the standard library. The `Option` type encodes the very common scenario in -which a value could be something or it could be nothing. Expressing this +which a value could be something or it could be nothing. For example, if you +request the first of a list containing items, you would get a value. If you +request the first item of an empty list, you would get nothing. Expressing this concept in terms of the type system means the compiler can check whether you’ve handled all the cases you should be handling; this functionality can prevent bugs that are extremely common in other programming languages. From 3a2941b798218b0e8d2be93280870ddf4add0c6a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 7 Jan 2022 20:59:55 -0500 Subject: [PATCH 0041/1248] Adjust some more line numbers of Cargo.toml includes --- .../add/adder/Cargo.toml | 1 - src/ch14-03-cargo-workspaces.md | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml index feb3d956ea..55c02036c4 100644 --- a/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml @@ -4,5 +4,4 @@ version = "0.1.0" edition = "2021" [dependencies] - add_one = { path = "../add_one" } diff --git a/src/ch14-03-cargo-workspaces.md b/src/ch14-03-cargo-workspaces.md index 0e891d684e..1aa1049959 100644 --- a/src/ch14-03-cargo-workspaces.md +++ b/src/ch14-03-cargo-workspaces.md @@ -134,7 +134,7 @@ library. First, we’ll need to add a path dependency on `add_one` to Filename: adder/Cargo.toml ```toml -{{#include ../listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml:6:8}} +{{#include ../listings/ch14-more-about-cargo/no-listing-02-workspace-with-two-crates/add/adder/Cargo.toml:6:7}} ``` Cargo doesn’t assume that crates in a workspace will depend on each other, so @@ -211,7 +211,7 @@ crate: Filename: add_one/Cargo.toml ```toml -{{#include ../listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add_one/Cargo.toml:7:8}} +{{#include ../listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add_one/Cargo.toml:6:7}} ``` We can now add `use rand;` to the *add_one/src/lib.rs* file, and building the From df0162c02e010db48fbf22ae489a838ccc0bb07e Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 7 Jan 2022 21:28:39 -0500 Subject: [PATCH 0042/1248] Fix usage of find piped into xargs --- tools/doc-to-md.sh | 2 +- tools/megadiff.sh | 2 +- tools/nostarch.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/doc-to-md.sh b/tools/doc-to-md.sh index 49b0cdfe35..cffe4c04b4 100755 --- a/tools/doc-to-md.sh +++ b/tools/doc-to-md.sh @@ -5,7 +5,7 @@ set -eu # Get all the docx files in the tmp dir. find tmp -name '*.docx' -print0 | \ # Extract just the filename so we can reuse it easily. -xargs -n 1 basename -s .docx | \ +xargs -0 basename -s .docx | \ while IFS= read -r filename; do # Make a directory to put the XML in. mkdir -p "tmp/$filename" diff --git a/tools/megadiff.sh b/tools/megadiff.sh index 62ca7a0c5b..f1e5102494 100755 --- a/tools/megadiff.sh +++ b/tools/megadiff.sh @@ -14,7 +14,7 @@ rm -rf tmp/book-after/css/ tmp/book-after/theme/ tmp/book-after/img/ tmp/book-af # Get all the html files before find tmp/book-before -name '*.html' -print0 | \ # Extract just the filename so we can reuse it easily. -xargs -n 1 basename | \ +xargs -0 basename | \ while IFS= read -r filename; do # Remove any files that are the same before and after diff "tmp/book-before/$filename" "tmp/book-after/$filename" > /dev/null \ diff --git a/tools/nostarch.sh b/tools/nostarch.sh index d8c7994671..eec0ac5ea1 100755 --- a/tools/nostarch.sh +++ b/tools/nostarch.sh @@ -14,7 +14,7 @@ MDBOOK_OUTPUT__MARKDOWN=1 mdbook build -d tmp # Get all the Markdown files find tmp/markdown -name "${1:-\"\"}*.md" -print0 | \ # Extract just the filename so we can reuse it easily. -xargs -n 1 basename | \ +xargs -0 basename | \ # Remove all links followed by ```, then # Change all remaining links from Markdown to italicized inline text. while IFS= read -r filename; do From 7ddc28cfe0bfa6c531a6475c7fa41dfa66e8943c Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 8 Jan 2022 21:08:53 -0500 Subject: [PATCH 0043/1248] Backport fixes to chapter 14 noticed while doing nostarch snapshot --- src/ch14-02-publishing-to-crates-io.md | 7 +++++-- src/ch14-03-cargo-workspaces.md | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ch14-02-publishing-to-crates-io.md b/src/ch14-02-publishing-to-crates-io.md index baa8738b91..e1e20c1248 100644 --- a/src/ch14-02-publishing-to-crates-io.md +++ b/src/ch14-02-publishing-to-crates-io.md @@ -24,7 +24,7 @@ your crate is *implemented*. Documentation comments use three slashes, `///`, instead of two and support Markdown notation for formatting the text. Place documentation comments just before the item they’re documenting. Listing 14-1 shows documentation comments -for an `add_one` function in a crate named `my_crate`: +for an `add_one` function in a crate named `my_crate`. Filename: src/lib.rs @@ -324,7 +324,10 @@ $ cargo publish warning: manifest has no description, license, license-file, documentation, homepage or repository. See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info. --snip-- -error: api errors (status 200 OK): missing or empty metadata fields: description, license. Please see https://doc.rust-lang.org/cargo/reference/manifest.html for how to upload metadata +error: failed to publish to registry at https://crates.io + +Caused by: + the remote server responded with an error: missing or empty metadata fields: description, license. Please see https://doc.rust-lang.org/cargo/reference/manifest.html for how to upload metadata ``` The reason is that you’re missing some crucial information: a description and diff --git a/src/ch14-03-cargo-workspaces.md b/src/ch14-03-cargo-workspaces.md index 1aa1049959..aa404e2973 100644 --- a/src/ch14-03-cargo-workspaces.md +++ b/src/ch14-03-cargo-workspaces.md @@ -364,7 +364,7 @@ publish` command does not have an `--all` flag or a `-p` flag, so you must change to each crate’s directory and run `cargo publish` on each crate in the workspace to publish the crates. -For additional practice, add an `add-two` crate to this workspace in a similar +For additional practice, add an `add_two` crate to this workspace in a similar way as the `add_one` crate! As your project grows, consider using a workspace: it’s easier to understand From 226a8fc5973c0924dabdf705f0eda0cc3e4eb59d Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 7 Jan 2022 21:37:05 -0500 Subject: [PATCH 0044/1248] Snapshot of ch14 for nostarch --- nostarch/chapter14.md | 1001 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1001 insertions(+) create mode 100644 nostarch/chapter14.md diff --git a/nostarch/chapter14.md b/nostarch/chapter14.md new file mode 100644 index 0000000000..506090be4a --- /dev/null +++ b/nostarch/chapter14.md @@ -0,0 +1,1001 @@ + +[TOC] + +# More About Cargo and Crates.io + +So far we’ve used only the most basic features of Cargo to build, run, and test +our code, but it can do a lot more. In this chapter, we’ll discuss some of its +other, more advanced features to show you how to do the following: + +* Customize your build through release profiles +* Publish libraries on *https://crates.io/* +* Organize large projects with workspaces +* Install binaries from *https://crates.io/* +* Extend Cargo using custom commands + +Cargo can do even more than what we cover in this chapter, so for a full +explanation of all its features, see its documentation at +*https://doc.rust-lang.org/cargo/*. + +## Customizing Builds with Release Profiles + +In Rust, *release profiles* are predefined and customizable profiles with +different configurations that allow a programmer to have more control over +various options for compiling code. Each profile is configured independently of +the others. + +Cargo has two main profiles: the `dev` profile Cargo uses when you run `cargo +build` and the `release` profile Cargo uses when you run `cargo build +--release`. The `dev` profile is defined with good defaults for development, +and the `release` profile has good defaults for release builds. + +These profile names might be familiar from the output of your builds: + +``` +$ cargo build + Finished dev [unoptimized + debuginfo] target(s) in 0.0s +$ cargo build --release + Finished release [optimized] target(s) in 0.0s +``` + +The `dev` and `release` shown in this build output indicate that the compiler +is using different profiles. + +Cargo has default settings for each of the profiles that apply when there +aren’t any `[profile.*]` sections in the project’s *Cargo.toml* file. By adding +`[profile.*]` sections for any profile you want to customize, you can override +any subset of the default settings. For example, here are the default values +for the `opt-level` setting for the `dev` and `release` profiles: + +Filename: Cargo.toml + +``` +[profile.dev] +opt-level = 0 + +[profile.release] +opt-level = 3 +``` + +The `opt-level` setting controls the number of optimizations Rust will apply to +your code, with a range of 0 to 3. Applying more optimizations extends +compiling time, so if you’re in development and compiling your code often, +you’ll want faster compiling even if the resulting code runs slower. That is +the reason the default `opt-level` for `dev` is `0`. When you’re ready to +release your code, it’s best to spend more time compiling. You’ll only compile +in release mode once, but you’ll run the compiled program many times, so +release mode trades longer compile time for code that runs faster. That is why +the default `opt-level` for the `release` profile is `3`. + +You can override any default setting by adding a different value for it in +*Cargo.toml*. For example, if we want to use optimization level 1 in the +development profile, we can add these two lines to our project’s *Cargo.toml* +file: + +Filename: Cargo.toml + +``` +[profile.dev] +opt-level = 1 +``` + +This code overrides the default setting of `0`. Now when we run `cargo build`, +Cargo will use the defaults for the `dev` profile plus our customization to +`opt-level`. Because we set `opt-level` to `1`, Cargo will apply more +optimizations than the default, but not as many as in a release build. + +For the full list of configuration options and defaults for each profile, see +Cargo’s documentation at *https://doc.rust-lang.org/cargo/*. + +## Publishing a Crate to Crates.io + +We’ve used packages from *https://crates.io/* as dependencies of our project, +but you can also share your code with other people by publishing your own +packages. The crate registry at *https://crates.io* distributes the source code +of your packages, so it primarily hosts code that is open source. + +Rust and Cargo have features that help make your published package easier for +people to use and to find in the first place. We’ll talk about some of these +features next and then explain how to publish a package. + +### Making Useful Documentation Comments + +Accurately documenting your packages will help other users know how and when to +use them, so it’s worth investing the time to write documentation. In Chapter +3, we discussed how to comment Rust code using two slashes, `//`. Rust also has +a particular kind of comment for documentation, known conveniently as a +*documentation comment*, that will generate HTML documentation. The HTML +displays the contents of documentation comments for public API items intended +for programmers interested in knowing how to *use* your crate as opposed to how +your crate is *implemented*. + +Documentation comments use three slashes, `///`, instead of two and support +Markdown notation for formatting the text. Place documentation comments just +before the item they’re documenting. Listing 14-1 shows documentation comments +for an `add_one` function in a crate named `my_crate`. + +Filename: src/lib.rs + +``` +/// Adds one to the number given. +/// +/// # Examples +/// +/// ``` +/// let arg = 5; +/// let answer = my_crate::add_one(arg); +/// +/// assert_eq!(6, answer); +/// ``` +pub fn add_one(x: i32) -> i32 { + x + 1 +} +``` + +Listing 14-1: A documentation comment for a function + +Here, we give a description of what the `add_one` function does, start a +section with the heading `Examples`, and then provide code that demonstrates +how to use the `add_one` function. We can generate the HTML documentation from +this documentation comment by running `cargo doc`. This command runs the +`rustdoc` tool distributed with Rust and puts the generated HTML documentation +in the *target/doc* directory. + +For convenience, running `cargo doc --open` will build the HTML for your +current crate’s documentation (as well as the documentation for all of your +crate’s dependencies) and open the result in a web browser. Navigate to the +`add_one` function and you’ll see how the text in the documentation comments is +rendered, as shown in Figure 14-1: + +Rendered HTML documentation for the `add_one` function of `my_crate` + +Figure 14-1: HTML documentation for the `add_one` function + +#### Commonly Used Sections + +We used the `# Examples` Markdown heading in Listing 14-1 to create a section +in the HTML with the title “Examples.” Here are some other sections that crate +authors commonly use in their documentation: + +* **Panics**: The scenarios in which the function being documented could + panic. Callers of the function who don’t want their programs to panic should + make sure they don’t call the function in these situations. +* **Errors**: If the function returns a `Result`, describing the kinds of + errors that might occur and what conditions might cause those errors to be + returned can be helpful to callers so they can write code to handle the + different kinds of errors in different ways. +* **Safety**: If the function is `unsafe` to call (we discuss unsafety in + Chapter 19), there should be a section explaining why the function is unsafe + and covering the invariants that the function expects callers to uphold. + +Most documentation comments don’t need all of these sections, but this is a +good checklist to remind you of the aspects of your code that people calling +your code will be interested in knowing about. + +#### Documentation Comments as Tests + +Adding example code blocks in your documentation comments can help demonstrate +how to use your library, and doing so has an additional bonus: running `cargo +test` will run the code examples in your documentation as tests! Nothing is +better than documentation with examples. But nothing is worse than examples +that don’t work because the code has changed since the documentation was +written. If we run `cargo test` with the documentation for the `add_one` +function from Listing 14-1, we will see a section in the test results like this: + +``` + Doc-tests my_crate + +running 1 test +test src/lib.rs - add_one (line 5) ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s +``` + +Now if we change either the function or the example so the `assert_eq!` in the +example panics and run `cargo test` again, we’ll see that the doc tests catch +that the example and the code are out of sync with each other! + +#### Commenting Contained Items + +Another style of doc comment, `//!`, adds documentation to the item that +contains the comments rather than adding documentation to the items following +the comments. We typically use these doc comments inside the crate root file +(*src/lib.rs* by convention) or inside a module to document the crate or the +module as a whole. + +For example, if we want to add documentation that describes the purpose of the +`my_crate` crate that contains the `add_one` function, we can add documentation +comments that start with `//!` to the beginning of the *src/lib.rs* file, as +shown in Listing 14-2: + +Filename: src/lib.rs + +``` +//! # My Crate +//! +//! `my_crate` is a collection of utilities to make performing certain +//! calculations more convenient. + +/// Adds one to the number given. +// --snip-- +``` + +Listing 14-2: Documentation for the `my_crate` crate as a whole + +Notice there isn’t any code after the last line that begins with `//!`. Because +we started the comments with `//!` instead of `///`, we’re documenting the item +that contains this comment rather than an item that follows this comment. In +this case, the item that contains this comment is the *src/lib.rs* file, which +is the crate root. These comments describe the entire crate. + +When we run `cargo doc --open`, these comments will display on the front +page of the documentation for `my_crate` above the list of public items in the +crate, as shown in Figure 14-2: + +Rendered HTML documentation with a comment for the crate as a whole + +Figure 14-2: Rendered documentation for `my_crate`, including the comment +describing the crate as a whole + +Documentation comments within items are useful for describing crates and +modules especially. Use them to explain the overall purpose of the container to +help your users understand the crate’s organization. + +### Exporting a Convenient Public API with `pub use` + +In Chapter 7, we covered how to organize our code into modules using the `mod` +keyword, how to make items public using the `pub` keyword, and how to bring +items into a scope with the `use` keyword. However, the structure that makes +sense to you while you’re developing a crate might not be very convenient for +your users. You might want to organize your structs in a hierarchy containing +multiple levels, but then people who want to use a type you’ve defined deep in +the hierarchy might have trouble finding out that type exists. They might also +be annoyed at having to enter `use` +`my_crate::some_module::another_module::UsefulType;` rather than `use` +`my_crate::UsefulType;`. + +The structure of your public API is a major consideration when publishing a +crate. People who use your crate are less familiar with the structure than you +are and might have difficulty finding the pieces they want to use if your crate +has a large module hierarchy. + +The good news is that if the structure *isn’t* convenient for others to use +from another library, you don’t have to rearrange your internal organization: +instead, you can re-export items to make a public structure that’s different +from your private structure by using `pub use`. Re-exporting takes a public +item in one location and makes it public in another location, as if it were +defined in the other location instead. + +For example, say we made a library named `art` for modeling artistic concepts. +Within this library are two modules: a `kinds` module containing two enums +named `PrimaryColor` and `SecondaryColor` and a `utils` module containing a +function named `mix`, as shown in Listing 14-3: + +Filename: src/lib.rs + +``` +//! # Art +//! +//! A library for modeling artistic concepts. + +pub mod kinds { + /// The primary colors according to the RYB color model. + pub enum PrimaryColor { + Red, + Yellow, + Blue, + } + + /// The secondary colors according to the RYB color model. + pub enum SecondaryColor { + Orange, + Green, + Purple, + } +} + +pub mod utils { + use crate::kinds::*; + + /// Combines two primary colors in equal amounts to create + /// a secondary color. + pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { + // --snip-- + } +} +``` + +Listing 14-3: An `art` library with items organized into `kinds` and `utils` +modules + +Figure 14-3 shows what the front page of the documentation for this crate +generated by `cargo doc` would look like: + +Rendered documentation for the `art` crate that lists the `kinds` and `utils` modules + +Figure 14-3: Front page of the documentation for `art` that lists the `kinds` +and `utils` modules + +Note that the `PrimaryColor` and `SecondaryColor` types aren’t listed on the +front page, nor is the `mix` function. We have to click `kinds` and `utils` to +see them. + +Another crate that depends on this library would need `use` statements that +bring the items from `art` into scope, specifying the module structure that’s +currently defined. Listing 14-4 shows an example of a crate that uses the +`PrimaryColor` and `mix` items from the `art` crate: + +Filename: src/main.rs + +``` +use art::kinds::PrimaryColor; +use art::utils::mix; + +fn main() { + let red = PrimaryColor::Red; + let yellow = PrimaryColor::Yellow; + mix(red, yellow); +} +``` + +Listing 14-4: A crate using the `art` crate’s items with its internal structure +exported + +The author of the code in Listing 14-4, which uses the `art` crate, had to +figure out that `PrimaryColor` is in the `kinds` module and `mix` is in the +`utils` module. The module structure of the `art` crate is more relevant to +developers working on the `art` crate than to developers using the `art` crate. +The internal structure that organizes parts of the crate into the `kinds` +module and the `utils` module doesn’t contain any useful information for +someone trying to understand how to use the `art` crate. Instead, the `art` +crate’s module structure causes confusion because developers have to figure out +where to look, and the structure is inconvenient because developers must +specify the module names in the `use` statements. + +To remove the internal organization from the public API, we can modify the +`art` crate code in Listing 14-3 to add `pub use` statements to re-export the +items at the top level, as shown in Listing 14-5: + +Filename: src/lib.rs + +``` +//! # Art +//! +//! A library for modeling artistic concepts. + +pub use self::kinds::PrimaryColor; +pub use self::kinds::SecondaryColor; +pub use self::utils::mix; + +pub mod kinds { + // --snip-- +} + +pub mod utils { + // --snip-- +} +``` + +Listing 14-5: Adding `pub use` statements to re-export items + +The API documentation that `cargo doc` generates for this crate will now list +and link re-exports on the front page, as shown in Figure 14-4, making the +`PrimaryColor` and `SecondaryColor` types and the `mix` function easier to find. + +Rendered documentation for the `art` crate with the re-exports on the front page + +Figure 14-4: The front page of the documentation for `art` +that lists the re-exports + +The `art` crate users can still see and use the internal structure from Listing +14-3 as demonstrated in Listing 14-4, or they can use the more convenient +structure in Listing 14-5, as shown in Listing 14-6: + +Filename: src/main.rs + +``` +use art::mix; +use art::PrimaryColor; + +fn main() { + // --snip-- +} +``` + +Listing 14-6: A program using the re-exported items from the `art` crate + +In cases where there are many nested modules, re-exporting the types at the top +level with `pub use` can make a significant difference in the experience of +people who use the crate. + +Creating a useful public API structure is more of an art than a science, and +you can iterate to find the API that works best for your users. Choosing `pub +use` gives you flexibility in how you structure your crate internally and +decouples that internal structure from what you present to your users. Look at +some of the code of crates you’ve installed to see if their internal structure +differs from their public API. + +### Setting Up a Crates.io Account + +Before you can publish any crates, you need to create an account on +*https://crates.io/* and get an API token. To do so, visit the home page at +*https://crates.io/* and log in via a GitHub account. (The GitHub account is +currently a requirement, but the site might support other ways of creating an +account in the future.) Once you’re logged in, visit your account settings at +*https://crates.io/me/* and retrieve your API key. Then run the `cargo login` +command with your API key, like this: + +``` +$ cargo login abcdefghijklmnopqrstuvwxyz012345 +``` + +This command will inform Cargo of your API token and store it locally in +*~/.cargo/credentials*. Note that this token is a *secret*: do not share it +with anyone else. If you do share it with anyone for any reason, you should +revoke it and generate a new token on *https://crates.io/*. + +### Adding Metadata to a New Crate + +Now that you have an account, let’s say you have a crate you want to publish. +Before publishing, you’ll need to add some metadata to your crate by adding it +to the `[package]` section of the crate’s *Cargo.toml* file. + +Your crate will need a unique name. While you’re working on a crate locally, +you can name a crate whatever you’d like. However, crate names on +*https://crates.io/* are allocated on a first-come, first-served basis. Once a +crate name is taken, no one else can publish a crate with that name. Before +attempting to publish a crate, search for the name you want to use on the site. +If the name has been used by another crate, you will need to find another name +and edit the `name` field in the *Cargo.toml* file under the `[package]` +section to use the new name for publishing, like so: + +Filename: Cargo.toml + +``` +[package] +name = "guessing_game" +``` + +Even if you’ve chosen a unique name, when you run `cargo publish` to publish +the crate at this point, you’ll get a warning and then an error: + +``` +$ cargo publish + Updating crates.io index +warning: manifest has no description, license, license-file, documentation, homepage or repository. +See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info. +--snip-- +error: failed to publish to registry at https://crates.io + +Caused by: + the remote server responded with an error: missing or empty metadata fields: description, license. Please see https://doc.rust-lang.org/cargo/reference/manifest.html for how to upload metadata +``` + +The reason is that you’re missing some crucial information: a description and +license are required so people will know what your crate does and under what +terms they can use it. To rectify this error, you need to include this +information in the *Cargo.toml* file. + +Add a description that is just a sentence or two, because it will appear with +your crate in search results. For the `license` field, you need to give a +*license identifier value*. The Linux Foundation’s Software Package Data +Exchange (SPDX) at *http://spdx.org/licenses/* lists the identifiers you can +use for this value. For example, to specify that you’ve licensed your crate +using the MIT License, add the `MIT` identifier: + +Filename: Cargo.toml + +``` +[package] +name = "guessing_game" +license = "MIT" +``` + +If you want to use a license that doesn’t appear in the SPDX, you need to place +the text of that license in a file, include the file in your project, and then +use `license-file` to specify the name of that file instead of using the +`license` key. + +Guidance on which license is appropriate for your project is beyond the scope +of this book. Many people in the Rust community license their projects in the +same way as Rust by using a dual license of `MIT OR Apache-2.0`. This practice +demonstrates that you can also specify multiple license identifiers separated +by `OR` to have multiple licenses for your project. + +With a unique name, the version, your description, and a license added, the +*Cargo.toml* file for a project that is ready to publish might look like this: + +Filename: Cargo.toml + +``` +[package] +name = "guessing_game" +version = "0.1.0" +edition = "2021" +description = "A fun game where you guess what number the computer has chosen." +license = "MIT OR Apache-2.0" + +[dependencies] +``` + +Cargo’s documentation at *https://doc.rust-lang.org/cargo/* describes other +metadata you can specify to ensure others can discover and use your crate more +easily. + +### Publishing to Crates.io + +Now that you’ve created an account, saved your API token, chosen a name for +your crate, and specified the required metadata, you’re ready to publish! +Publishing a crate uploads a specific version to *https://crates.io/* for +others to use. + +Be careful when publishing a crate because a publish is *permanent*. The +version can never be overwritten, and the code cannot be deleted. One major +goal of crates.io is to act as a permanent archive of code so that builds of +all projects that depend on crates from *https://crates.io/* will continue to +work. Allowing version deletions would make fulfilling that goal impossible. +However, there is no limit to the number of crate versions you can publish. + +Run the `cargo publish` command again. It should succeed now: + +``` +$ cargo publish + Updating crates.io index + Packaging guessing_game v0.1.0 (file:///projects/guessing_game) + Verifying guessing_game v0.1.0 (file:///projects/guessing_game) + Compiling guessing_game v0.1.0 +(file:///projects/guessing_game/target/package/guessing_game-0.1.0) + Finished dev [unoptimized + debuginfo] target(s) in 0.19s + Uploading guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +Congratulations! You’ve now shared your code with the Rust community, and +anyone can easily add your crate as a dependency of their project. + +### Publishing a New Version of an Existing Crate + +When you’ve made changes to your crate and are ready to release a new version, +you change the `version` value specified in your *Cargo.toml* file and +republish. Use the Semantic Versioning rules at *http://semver.org/* to decide +what an appropriate next version number is based on the kinds of changes you’ve +made. Then run `cargo publish` to upload the new version. + +### Removing Versions from Crates.io with `cargo yank` + +Although you can’t remove previous versions of a crate, you can prevent any +future projects from adding them as a new dependency. This is useful when a +crate version is broken for one reason or another. In such situations, Cargo +supports *yanking* a crate version. + +Yanking a version prevents new projects from starting to depend on that version +while allowing all existing projects that depend on it to continue to download +and depend on that version. Essentially, a yank means that all projects with a +*Cargo.lock* will not break, and any future *Cargo.lock* files generated will +not use the yanked version. + +To yank a version of a crate, run `cargo yank` and specify which version you +want to yank: + +``` +$ cargo yank --vers 1.0.1 +``` + +By adding `--undo` to the command, you can also undo a yank and allow projects +to start depending on a version again: + +``` +$ cargo yank --vers 1.0.1 --undo +``` + +A yank *does not* delete any code. For example, the yank feature is not +intended for deleting accidentally uploaded secrets. If that happens, you must +reset those secrets immediately. + +## Cargo Workspaces + +In Chapter 12, we built a package that included a binary crate and a library +crate. As your project develops, you might find that the library crate +continues to get bigger and you want to split up your package further into +multiple library crates. In this situation, Cargo offers a feature called +*workspaces* that can help manage multiple related packages that are developed +in tandem. + +### Creating a Workspace + +A *workspace* is a set of packages that share the same *Cargo.lock* and output +directory. Let’s make a project using a workspace—we’ll use trivial code so we +can concentrate on the structure of the workspace. There are multiple ways to +structure a workspace; we’re going to show one common way. We’ll have a +workspace containing a binary and two libraries. The binary, which will provide +the main functionality, will depend on the two libraries. One library will +provide an `add_one` function, and a second library an `add_two` function. +These three crates will be part of the same workspace. We’ll start by creating +a new directory for the workspace: + +``` +$ mkdir add +$ cd add +``` + +Next, in the *add* directory, we create the *Cargo.toml* file that will +configure the entire workspace. This file won’t have a `[package]` section or +the metadata we’ve seen in other *Cargo.toml* files. Instead, it will start +with a `[workspace]` section that will allow us to add members to the workspace +by specifying the path to the package with our binary crate; in this case, +that path is *adder*: + +Filename: Cargo.toml + +``` +[workspace] + +members = [ + "adder", +] +``` + +Next, we’ll create the `adder` binary crate by running `cargo new` within the +*add* directory: + +``` +$ cargo new adder + Created binary (application) `adder` package +``` + +At this point, we can build the workspace by running `cargo build`. The files +in your *add* directory should look like this: + +``` +├── Cargo.lock +├── Cargo.toml +├── adder +│ ├── Cargo.toml +│ └── src +│ └── main.rs +└── target +``` + +The workspace has one *target* directory at the top level for the compiled +artifacts to be placed into; the `adder` package doesn’t have its own *target* +directory. Even if we were to run `cargo build` from inside the *adder* +directory, the compiled artifacts would still end up in *add/target* rather +than *add/adder/target*. Cargo structures the *target* directory in a workspace +like this because the crates in a workspace are meant to depend on each other. +If each crate had its own *target* directory, each crate would have to +recompile each of the other crates in the workspace to have the artifacts in +its own *target* directory. By sharing one *target* directory, the crates can +avoid unnecessary rebuilding. + +### Creating the Second Package in the Workspace + +Next, let’s create another member package in the workspace and call it `add_one`. +Change the top-level *Cargo.toml* to specify the *add_one* path in the +`members` list: + +Filename: Cargo.toml + +``` +[workspace] + +members = [ + "adder", + "add_one", +] +``` + +Then generate a new library crate named `add_one`: + +``` +$ cargo new add_one --lib + Created library `add_one` package +``` + +Your *add* directory should now have these directories and files: + +``` +├── Cargo.lock +├── Cargo.toml +├── add_one +│ ├── Cargo.toml +│ └── src +│ └── lib.rs +├── adder +│ ├── Cargo.toml +│ └── src +│ └── main.rs +└── target +``` + +In the *add_one/src/lib.rs* file, let’s add an `add_one` function: + +Filename: add_one/src/lib.rs + +``` +pub fn add_one(x: i32) -> i32 { + x + 1 +} +``` + +Now that we have another package in the workspace, we can have the `adder` +package with our binary depend on the `add_one` package, that has our +library. First, we’ll need to add a path dependency on `add_one` to +*adder/Cargo.toml*. + +Filename: adder/Cargo.toml + +``` +[dependencies] +add_one = { path = "../add_one" } +``` + +Cargo doesn’t assume that crates in a workspace will depend on each other, so +we need to be explicit about the dependency relationships between the crates. + +Next, let’s use the `add_one` function from the `add_one` crate in the `adder` +crate. Open the *adder/src/main.rs* file and add a `use` line at the top to +bring the new `add_one` library crate into scope. Then change the `main` +function to call the `add_one` function, as in Listing 14-7. + +Filename: adder/src/main.rs + +``` +use add_one; + +fn main() { + let num = 10; + println!( + "Hello, world! {} plus one is {}!", + num, + add_one::add_one(num) + ); +} +``` + +Listing 14-7: Using the `add_one` library crate from the `adder` crate + +Let’s build the workspace by running `cargo build` in the top-level *add* +directory! + +``` +$ cargo build + Compiling add_one v0.1.0 (file:///projects/add/add_one) + Compiling adder v0.1.0 (file:///projects/add/adder) + Finished dev [unoptimized + debuginfo] target(s) in 0.68s +``` + +To run the binary crate from the *add* directory, we can specify which +package in the workspace we want to run by using the `-p` argument and the +package name with `cargo run`: + +``` +$ cargo run -p adder + Finished dev [unoptimized + debuginfo] target(s) in 0.0s + Running `target/debug/adder` +Hello, world! 10 plus one is 11! +``` + +This runs the code in *adder/src/main.rs*, which depends on the `add_one` crate. + +#### Depending on an External Package in a Workspace + +Notice that the workspace has only one *Cargo.lock* file at the top level of +the workspace rather than having a *Cargo.lock* in each crate’s directory. This +ensures that all crates are using the same version of all dependencies. If we +add the `rand` package to the *adder/Cargo.toml* and *add_one/Cargo.toml* +files, Cargo will resolve both of those to one version of `rand` and record +that in the one *Cargo.lock*. Making all crates in the workspace use the same +dependencies means the crates in the workspace will always be compatible with +each other. Let’s add the `rand` crate to the `[dependencies]` section in the +*add_one/Cargo.toml* file to be able to use the `rand` crate in the `add_one` +crate: + +Filename: add_one/Cargo.toml + +``` +[dependencies] +rand = "0.8.3" +``` + +We can now add `use rand;` to the *add_one/src/lib.rs* file, and building the +whole workspace by running `cargo build` in the *add* directory will bring in +and compile the `rand` crate. We will get one warning because we aren’t +referring to the `rand` we brought into scope: + +``` +$ cargo build + Updating crates.io index + Downloaded rand v0.8.3 + --snip-- + Compiling rand v0.8.3 + Compiling add_one v0.1.0 (file:///projects/add/add_one) +warning: unused import: `rand` + --> add_one/src/lib.rs:1:5 + | +1 | use rand; + | ^^^^ + | + = note: `#[warn(unused_imports)]` on by default + +warning: 1 warning emitted + + Compiling adder v0.1.0 (file:///projects/add/adder) + Finished dev [unoptimized + debuginfo] target(s) in 10.18s +``` + +The top-level *Cargo.lock* now contains information about the dependency of +`add_one` on `rand`. However, even though `rand` is used somewhere in the +workspace, we can’t use it in other crates in the workspace unless we add +`rand` to their *Cargo.toml* files as well. For example, if we add `use rand;` +to the *adder/src/main.rs* file for the `adder` package, we’ll get an error: + +``` +$ cargo build + --snip-- + Compiling adder v0.1.0 (file:///projects/add/adder) +error[E0432]: unresolved import `rand` + --> adder/src/main.rs:2:5 + | +2 | use rand; + | ^^^^ no external crate `rand` +``` + +To fix this, edit the *Cargo.toml* file for the `adder` package and indicate +that `rand` is a dependency for it as well. Building the `adder` package will +add `rand` to the list of dependencies for `adder` in *Cargo.lock*, but no +additional copies of `rand` will be downloaded. Cargo has ensured that every +crate in every package in the workspace using the `rand` package will be +using the same version. Using the same version of `rand` across the workspace +saves space because we won’t have multiple copies and ensures that the crates +in the workspace will be compatible with each other. + +#### Adding a Test to a Workspace + +For another enhancement, let’s add a test of the `add_one::add_one` function +within the `add_one` crate: + +Filename: add_one/src/lib.rs + +``` +pub fn add_one(x: i32) -> i32 { + x + 1 +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn it_works() { + assert_eq!(3, add_one(2)); + } +} +``` + +Now run `cargo test` in the top-level *add* directory: + +``` +$ cargo test + Compiling add_one v0.1.0 (file:///projects/add/add_one) + Compiling adder v0.1.0 (file:///projects/add/adder) + Finished test [unoptimized + debuginfo] target(s) in 0.27s + Running target/debug/deps/add_one-f0253159197f7841 + +running 1 test +test tests::it_works ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running target/debug/deps/adder-49979ff40686fa8e + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests add_one + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +The first section of the output shows that the `it_works` test in the `add_one` +crate passed. The next section shows that zero tests were found in the `adder` +crate, and then the last section shows zero documentation tests were found in +the `add_one` crate. Running `cargo test` in a workspace structured like this +one will run the tests for all the crates in the workspace. + +We can also run tests for one particular crate in a workspace from the +top-level directory by using the `-p` flag and specifying the name of the crate +we want to test: + +``` +$ cargo test -p add_one + Finished test [unoptimized + debuginfo] target(s) in 0.00s + Running target/debug/deps/add_one-b3235fea9a156f74 + +running 1 test +test tests::it_works ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests add_one + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +This output shows `cargo test` only ran the tests for the `add_one` crate and +didn’t run the `adder` crate tests. + +If you publish the crates in the workspace to *https://crates.io/*, each crate +in the workspace will need to be published separately. The `cargo publish` +command does not have an `--all` flag or a `-p` flag, so you must change to +each crate’s directory and run `cargo publish` on each crate in the workspace +to publish the crates. + +For additional practice, add an `add_two` crate to this workspace in a similar +way as the `add_one` crate! + +As your project grows, consider using a workspace: it’s easier to understand +smaller, individual components than one big blob of code. Furthermore, keeping +the crates in a workspace can make coordination between them easier if they are +often changed at the same time. + +## Installing Binaries from Crates.io with `cargo install` + +The `cargo install` command allows you to install and use binary crates +locally. This isn’t intended to replace system packages; it’s meant to be a +convenient way for Rust developers to install tools that others have shared on +*https://crates.io/*. Note that you can only install packages that have binary +targets. A *binary target* is the runnable program that is created if the crate +has a *src/main.rs* file or another file specified as a binary, as opposed to a +library target that isn’t runnable on its own but is suitable for including +within other programs. Usually, crates have information in the *README* file +about whether a crate is a library, has a binary target, or both. + +All binaries installed with `cargo install` are stored in the installation +root’s *bin* folder. If you installed Rust using *rustup.rs* and don’t have any +custom configurations, this directory will be *$HOME/.cargo/bin*. Ensure that +directory is in your `$PATH` to be able to run programs you’ve installed with +`cargo install`. + +For example, in Chapter 12 we mentioned that there’s a Rust implementation of +the `grep` tool called `ripgrep` for searching files. If we want to install +`ripgrep`, we can run the following: + +``` +$ cargo install ripgrep + Updating crates.io index + Downloaded ripgrep v11.0.2 + Downloaded 1 crate (243.3 KB) in 0.88s + Installing ripgrep v11.0.2 +--snip-- + Compiling ripgrep v11.0.2 + Finished release [optimized + debuginfo] target(s) in 3m 10s + Installing ~/.cargo/bin/rg + Installed package `ripgrep v11.0.2` (executable `rg`) +``` + +The second-to-last line of the output shows the location and the name of the +installed binary, which in the case of `ripgrep` is `rg`. As long as the +installation directory is in your `$PATH`, as mentioned previously, you can +then run `rg --help` and start using a faster, rustier tool for searching files! + +## Extending Cargo with Custom Commands + +Cargo is designed so you can extend it with new subcommands without having to +modify Cargo. If a binary in your `$PATH` is named `cargo-something`, you can +run it as if it was a Cargo subcommand by running `cargo something`. Custom +commands like this are also listed when you run `cargo --list`. Being able to +use `cargo install` to install extensions and then run them just like the +built-in Cargo tools is a super convenient benefit of Cargo’s design! + +## Summary + +Sharing code with Cargo and *https://crates.io/* is part of what makes the Rust +ecosystem useful for many different tasks. Rust’s standard library is small and +stable, but crates are easy to share, use, and improve on a timeline different +from that of the language. Don’t be shy about sharing code that’s useful to you +on *https://crates.io/*; it’s likely that it will be useful to someone else as +well! From bd27a8b72336610c9a200f0ca932ffc8b6fb5ee1 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 9 Jan 2022 22:08:17 -0500 Subject: [PATCH 0045/1248] Remove wikipedia link --- src/ch15-06-reference-cycles.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/ch15-06-reference-cycles.md b/src/ch15-06-reference-cycles.md index 14e31d2d65..d03908e9ce 100644 --- a/src/ch15-06-reference-cycles.md +++ b/src/ch15-06-reference-cycles.md @@ -3,10 +3,10 @@ Rust’s memory safety guarantees make it difficult, but not impossible, to accidentally create memory that is never cleaned up (known as a *memory leak*). Preventing memory leaks entirely is not one of Rust’s guarantees, meaning -[memory leaks][memleaks] are memory safe in Rust. We can see that Rust allows -memory leaks by using `Rc` and `RefCell`: it’s possible to create references -where items refer to each other in a cycle. This creates memory leaks because -the reference count of each item in the cycle will never reach 0, and the values +memory leaks are memory safe in Rust. We can see that Rust allows memory leaks +by using `Rc` and `RefCell`: it’s possible to create references where +items refer to each other in a cycle. This creates memory leaks because the +reference count of each item in the cycle will never reach 0, and the values will never be dropped. ### Creating a Reference Cycle @@ -316,4 +316,3 @@ Next, we’ll talk about concurrency in Rust. You’ll even learn about a few ne smart pointers. [nomicon]: ../nomicon/index.html -[memleaks]: https://en.wikipedia.org/wiki/Memory_leak From 912211a41111da47a561fd9deeb85289d57d8001 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 9 Jan 2022 22:12:16 -0500 Subject: [PATCH 0046/1248] Fix grammar and line wrapping --- src/ch15-02-deref.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ch15-02-deref.md b/src/ch15-02-deref.md index 8c341958fd..d7610e0332 100644 --- a/src/ch15-02-deref.md +++ b/src/ch15-02-deref.md @@ -183,13 +183,13 @@ Listing 15-9. *Deref coercion* is a convenience that Rust performs on arguments to functions and methods. Deref coercion works only on types that implement the `Deref` -trait. Deref coercion converts reference to such a type into a reference to another type. -For example, deref coercion can convert `&String` to `&str` because `String` -implements the `Deref` trait such that it returns `&str`. Deref coercion happens -automatically when we pass a reference to a particular type’s value as an -argument to a function or method that doesn’t match the parameter type in the -function or method definition. A sequence of calls to the `deref` method -converts the type we provided into the type the parameter needs. +trait. Deref coercion converts a reference to such a type into a reference to +another type. For example, deref coercion can convert `&String` to `&str` +because `String` implements the `Deref` trait such that it returns `&str`. +Deref coercion happens automatically when we pass a reference to a particular +type’s value as an argument to a function or method that doesn’t match the +parameter type in the function or method definition. A sequence of calls to the +`deref` method converts the type we provided into the type the parameter needs. Deref coercion was added to Rust so that programmers writing function and method calls don’t need to add as many explicit references and dereferences From 064c5d9423a345f1fd7b02b0165f6b1acaf7726a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 11 Jan 2022 13:33:38 -0500 Subject: [PATCH 0047/1248] ch8 from nostarch --- nostarch/chapter08.md | 166 ++++++++++++++++++++++-------------------- 1 file changed, 86 insertions(+), 80 deletions(-) diff --git a/nostarch/chapter08.md b/nostarch/chapter08.md index 89618120f6..e67d30ff48 100644 --- a/nostarch/chapter08.md +++ b/nostarch/chapter08.md @@ -35,7 +35,7 @@ lines of text in a file or the prices of items in a shopping cart. ### Creating a New Vector -To create a new, empty vector, we can call the `Vec::new` function, as shown in +To create a new empty vector, we call the `Vec::new` function, as shown in Listing 8-1. ``` @@ -48,15 +48,15 @@ Note that we added a type annotation here. Because we aren’t inserting any values into this vector, Rust doesn’t know what kind of elements we intend to store. This is an important point. Vectors are implemented using generics; we’ll cover how to use generics with your own types in Chapter 10. For now, -know that the `Vec` type provided by the standard library can hold any type, -and when a specific vector holds a specific type, the type is specified within +know that the `Vec` type provided by the standard library can hold any type. When +we create a vector to hold a specific type, we specify the type within angle brackets. In Listing 8-1, we’ve told Rust that the `Vec` in `v` will hold elements of the `i32` type. -In more realistic code, Rust can often infer the type of value you want to -store once you insert values, so you rarely need to do this type annotation. -It’s more common to create a `Vec` that has initial values, and Rust -provides the `vec!` macro for convenience. The macro will create a new vector +More often, you'll create a `Vec` with initial values and Rust will infer the type of value you want to +store, so you rarely need to do this type annotation. +Rust conveniently +provides the `vec!` macro, which will create a new vector that holds the values you give it. Listing 8-2 creates a new `Vec` that holds the values `1`, `2`, and `3`. The integer type is `i32` because that’s the default integer type, as we discussed in the “Data Types” section of Chapter 3. @@ -73,7 +73,7 @@ to modify a vector. ### Updating a Vector -To create a vector and then add elements to it, we can use the `push` method, +To create a vector and then add elements to it, we can the `push` method, as shown in Listing 8-3. ``` @@ -109,18 +109,17 @@ Listing 8-4: Showing where the vector and its elements are dropped When the vector gets dropped, all of its contents are also dropped, meaning those integers it holds will be cleaned up. This may seem like a -straightforward point but can get a bit more complicated when you start to +straightforward point but it can get complicated when you start to introduce references to the elements of the vector. Let’s tackle that next! ### Reading Elements of Vectors -Now that you know how to create, update, and destroy vectors, knowing how to -read their contents is a good next step. There are two ways to reference a -value stored in a vector. In the examples, we’ve annotated the types of the +There are two ways to reference a +value stored in a vector: via indexing or using the `get` method. In the following examples, we’ve annotated the types of the values that are returned from these functions for extra clarity. -Listing 8-5 shows both methods of accessing a value in a vector, either with -indexing syntax or the `get` method. +Listing 8-5 shows both methods of accessing a value in a vector, with +indexing syntax and the `get` method. ``` let v = vec![1, 2, 3, 4, 5]; @@ -138,15 +137,15 @@ Listing 8-5: Using indexing syntax or the `get` method to access an item in a vector Note two details here. First, we use the index value of `2` to get the third -element: vectors are indexed by number, starting at zero. Second, the two ways -to get the third element are by using `&` and `[]`, which gives us a reference, -or by using the `get` method with the index passed as an argument, which gives +element because vectors are indexed by number, starting at zero. Second, we +get the third element by either using `&` and `[]`, which gives us a reference, +or using the `get` method with the index passed as an argument, which gives us an `Option<&T>`. -Rust has two ways to reference an element so you can choose how the program -behaves when you try to use an index value that the vector doesn’t have an -element for. As an example, let’s see what a program will do if it has a vector -that holds five elements and then tries to access an element at index 100, as +The reason Rust provides these two ways to reference an element is so you can choose how the program +behaves when you try to use an index value outside the range of existing +elements. As an example, let’s see what happens when we have a vector +of five elements and then we try to access an element at index 100 with each technique, as shown in Listing 8-6. ``` @@ -166,7 +165,7 @@ end of the vector. When the `get` method is passed an index that is outside the vector, it returns `None` without panicking. You would use this method if accessing an element -beyond the range of the vector happens occasionally under normal circumstances. +beyond the range of the vector may happen occasionally under normal circumstances. Your code will then have logic to handle having either `Some(&element)` or `None`, as discussed in Chapter 6. For example, the index could be coming from a person entering a number. If they accidentally enter a number that’s too @@ -179,7 +178,7 @@ ownership and borrowing rules (covered in Chapter 4) to ensure this reference and any other references to the contents of the vector remain valid. Recall the rule that states you can’t have mutable and immutable references in the same scope. That rule applies in Listing 8-7, where we hold an immutable reference to -the first element in a vector and try to add an element to the end, which won’t +the first element in a vector and try to add an element to the end. This program won’t work if we also try to refer to that element later in the function: ``` @@ -211,20 +210,21 @@ Compiling this code will result in this error: ``` The code in Listing 8-7 might look like it should work: why should a reference -to the first element care about what changes at the end of the vector? This -error is due to the way vectors work: adding a new element onto the end of the +to the first element care about changes at the end of the vector? This +error is due to the way vectors work: because vectors put the values next to each other in memory, +adding a new element onto the end of the vector might require allocating new memory and copying the old elements to the new space, if there isn’t enough room to put all the elements next to each -other where the vector currently is. In that case, the reference to the first +other where the vector is currently stored. In that case, the reference to the first element would be pointing to deallocated memory. The borrowing rules prevent programs from ending up in that situation. > Note: For more on the implementation details of the `Vec` type, see “The > Rustonomicon” at *https://doc.rust-lang.org/nomicon/vec/vec.html*. -### Iterating Over the Values in a Vector +### Iterating over the Values in a Vector -If we want to access each element in a vector in turn, we can iterate through +To access each element in a vector in turn, we would iterate through all of the elements rather than use indices to access one at a time. Listing 8-8 shows how to use a `for` loop to get immutable references to each element in a vector of `i32` values and print them. @@ -253,24 +253,24 @@ for i in &mut v { Listing 8-9: Iterating over mutable references to elements in a vector To change the value that the mutable reference refers to, we have to use the -dereference operator (`*`) to get to the value in `i` before we can use the +`*` dereference operator to get to the value in `i` before we can use the `+=` operator. We’ll talk more about the dereference operator in the “Following the Pointer to the Value with the Dereference Operator” section of Chapter 15. ### Using an Enum to Store Multiple Types -At the beginning of this chapter, we said that vectors can only store values +Vectors can only store values that are the same type. This can be inconvenient; there are definitely use -cases for needing to store a list of items of different types. Fortunately, the -variants of an enum are defined under the same enum type, so when we need to -store elements of a different type in a vector, we can define and use an enum! +cases for needing to store a list of items of different types, and have that list be considered a single type. Fortunately, the +variants of an enum are defined under the same enum type, so when we need one +type to represent elements of different types, we can define and use an enum! For example, say we want to get values from a row in a spreadsheet in which some of the columns in the row contain integers, some floating-point numbers, and some strings. We can define an enum whose variants will hold the different -value types, and then all the enum variants will be considered the same type: -that of the enum. Then we can create a vector that holds that enum and so, +value types, and all the enum variants will be considered the same type: +that of the enum. Then we can create a vector to hold that enum and so, ultimately, holds different types. We’ve demonstrated this in Listing 8-10. ``` @@ -291,16 +291,16 @@ Listing 8-10: Defining an `enum` to store values of different types in one vector Rust needs to know what types will be in the vector at compile time so it knows -exactly how much memory on the heap will be needed to store each element. A -secondary advantage is that we can be explicit about what types are allowed in +exactly how much memory on the heap will be needed to store each element. We must +also be explicit about what types are allowed in this vector. If Rust allowed a vector to hold any type, there would be a chance that one or more of the types would cause errors with the operations performed on the elements of the vector. Using an enum plus a `match` expression means that Rust will ensure at compile time that every possible case is handled, as discussed in Chapter 6. -When you’re writing a program, if you don’t know the exhaustive set of types -the program will get at runtime to store in a vector, the enum technique won’t +If you don’t know the exhaustive set of types +a program will get at runtime to store in a vector, the enum technique won’t work. Instead, you can use a trait object, which we’ll cover in Chapter 17. Now that we’ve discussed some of the most common ways to use vectors, be sure @@ -318,7 +318,7 @@ complicated data structure than many programmers give them credit for, and UTF-8. These factors combine in a way that can seem difficult when you’re coming from other programming languages. -It’s useful to discuss strings in the context of collections because strings +We discuss strings in the context of collections because strings are implemented as a collection of bytes, plus some methods to provide useful functionality when those bytes are interpreted as text. In this section, we’ll talk about the operations on `String` that every collection type has, such as @@ -338,8 +338,9 @@ string slices. The `String` type, which is provided by Rust’s standard library rather than coded into the core language, is a growable, mutable, owned, UTF-8 encoded -string type. When Rustaceans refer to “strings” in Rust, they usually mean the +string type. When Rustaceans refer to “strings” in Rust, they're usually referring to both the `String` and the string slice `&str` types, not just one of those types. + Although this section is largely about `String`, both types are used heavily in Rust’s standard library, and both `String` and string slices are UTF-8 encoded. @@ -398,7 +399,7 @@ string literal Because strings are used for so many things, we can use many different generic APIs for strings, providing us with a lot of options. Some of them can seem redundant, but they all have their place! In this case, `String::from` and -`to_string` do the same thing, so which you choose is a matter of style. +`to_string` do the same thing, so which you choose is a matter of style and readability. Remember that strings are UTF-8 encoded, so we can include any properly encoded data in them, as shown in Listing 8-14. @@ -441,8 +442,7 @@ Listing 8-15: Appending a string slice to a `String` using the `push_str` method After these two lines, `s` will contain `foobar`. The `push_str` method takes a string slice because we don’t necessarily want to take ownership of the -parameter. For example, the code in Listing 8-16 shows that it would be -unfortunate if we weren’t able to use `s2` after appending its contents to `s1`. +parameter. For example, in the code in Listing 8-16 we want to able to use `s2` after appending its contents to `s1`. ``` let mut s1 = String::from("foo"); @@ -457,7 +457,7 @@ If the `push_str` method took ownership of `s2`, we wouldn’t be able to print its value on the last line. However, this code works as we’d expect! The `push` method takes a single character as a parameter and adds it to the -`String`. Listing 8-17 shows code that adds the letter "l" to a `String` using +`String`. Listing 8-17 adds the letter "l" to a `String` using the `push` method. ``` @@ -467,11 +467,11 @@ s.push('l'); Listing 8-17: Adding one character to a `String` value using `push` -As a result of this code, `s` will contain `lol`. +As a result, `s` will contain `lol`. #### Concatenation with the `+` Operator or the `format!` Macro -Often, you’ll want to combine two existing strings. One way is to use the `+` +Often, you’ll want to combine two existing strings. One way to do so is to use the `+` operator, as shown in Listing 8-18. ``` @@ -483,9 +483,9 @@ let s3 = s1 + &s2; // note s1 has been moved here and can no longer be used Listing 8-18: Using the `+` operator to combine two `String` values into a new `String` value -The string `s3` will contain `Hello, world!` as a result of this code. The -reason `s1` is no longer valid after the addition and the reason we used a -reference to `s2` has to do with the signature of the method that gets called +The string `s3` will contain `Hello, world!`. The +reason `s1` is no longer valid after the addition, and the reason we used a +reference to `s2`, has to do with the signature of the method that's called when we use the `+` operator. The `+` operator uses the `add` method, whose signature looks something like this: @@ -493,15 +493,14 @@ signature looks something like this: fn add(self, s: &str) -> String { ``` -This isn’t the exact signature that’s in the standard library: in the standard -library, `add` is defined using generics. Here, we’re looking at the signature -of `add` with concrete types substituted for the generic ones, which is what +In the standard +library, you'll see `add` defined using generics. Here, we’ve substituted in concrete types for the generic ones, which is what happens when we call this method with `String` values. We’ll discuss generics in Chapter 10. This signature gives us the clues we need to understand the tricky bits of the `+` operator. First, `s2` has an `&`, meaning that we’re adding a *reference* of the second -string to the first string because of the `s` parameter in the `add` function: +string to the first string. This is because of the `s` parameter in the `add` function: we can only add a `&str` to a `String`; we can’t add two `String` values together. But wait—the type of `&s2` is `&String`, not `&str`, as specified in the second parameter to `add`. So why does Listing 8-18 compile? @@ -515,7 +514,7 @@ after this operation. Second, we can see in the signature that `add` takes ownership of `self`, because `self` does *not* have an `&`. This means `s1` in Listing 8-18 will be -moved into the `add` call and no longer be valid after that. So although `let +moved into the `add` call and will no longer be valid after that. So although `let s3 = s1 + &s2;` looks like it will copy both strings and create a new one, this statement actually takes ownership of `s1`, appends a copy of the contents of `s2`, and then returns ownership of the result. In other words, it looks like @@ -535,7 +534,7 @@ let s = s1 + "-" + &s2 + "-" + &s3; At this point, `s` will be `tic-tac-toe`. With all of the `+` and `"` characters, it’s difficult to see what’s going on. For more complicated string -combining, we can use the `format!` macro: +combining, we can instead use the `format!` macro: ``` let s1 = String::from("tic"); @@ -545,8 +544,8 @@ let s3 = String::from("toe"); let s = format!("{}-{}-{}", s1, s2, s3); ``` -This code also sets `s` to `tic-tac-toe`. The `format!` macro works in the same -way as `println!`, but instead of printing the output to the screen, it returns +This code also sets `s` to `tic-tac-toe`. The `format!` macro works like +`println!`, but instead of printing the output to the screen, it returns a `String` with the contents. The version of the code using `format!` is much easier to read, and the code generated by the `format!` macro uses references so that this call doesn’t take ownership of any of its parameters. @@ -591,15 +590,15 @@ let hello = String::from("Hola"); ``` In this case, `len` will be 4, which means the vector storing the string “Hola” -is 4 bytes long. Each of these letters takes 1 byte when encoded in UTF-8. But -what about the following line? (Note that this string begins with the capital +is 4 bytes long. Each of these letters takes 1 byte when encoded in UTF-8. +The following line, however, may surprise you. (Note that this string begins with the capital Cyrillic letter Ze, not the Arabic number 3.) ``` let hello = String::from("Здравствуйте"); ``` -Asked how long the string is, you might say 12. However, Rust’s answer is 24: +Asked how long the string is, you might say 12. In fact, Rust’s answer is 24: that’s the number of bytes it takes to encode “Здравствуйте” in UTF-8, because each Unicode scalar value in that string takes 2 bytes of storage. Therefore, an index into the string’s bytes will not always correlate to a valid Unicode @@ -610,14 +609,16 @@ let hello = "Здравствуйте"; let answer = &hello[0]; ``` -What should the value of `answer` be? Should it be `З`, the first letter? When +You already know that`answer` will not be `З`, the first letter. When encoded in UTF-8, the first byte of `З` is `208` and the second is `151`, so -`answer` should in fact be `208`, but `208` is not a valid character on its +it would seem that `answer` should in fact be `208`, but `208` is not a valid character on its own. Returning `208` is likely not what a user would want if they asked for the first letter of this string; however, that’s the only data that Rust has at byte index 0. Users generally don’t want the byte value returned, even if the string contains only Latin letters: if `&"hello"[0]` were valid code that -returned the byte value, it would return `104`, not `h`. To avoid returning an +returned the byte value, it would return `104`, not `h`. + +The answer, then, is that, to avoid returning an unexpected value and causing bugs that might not be discovered immediately, Rust doesn’t compile this code at all and prevents misunderstandings early in the development process. @@ -667,10 +668,11 @@ index to determine how many valid characters there were. Indexing into a string is often a bad idea because it’s not clear what the return type of the string-indexing operation should be: a byte value, a -character, a grapheme cluster, or a string slice. Therefore, Rust asks you to -be more specific if you really need to use indices to create string slices. To -be more specific in your indexing and indicate that you want a string slice, -rather than indexing using `[]` with a single number, you can use `[]` with a +character, a grapheme cluster, or a string slice. If you really need to +use indices to create string slices, therefore, Rust asks you to +be more specific. + +Rather than indexing using `[]` with a single number, you can use `[]` with a range to create a string slice containing particular bytes: ``` @@ -683,7 +685,8 @@ Here, `s` will be a `&str` that contains the first 4 bytes of the string. Earlier, we mentioned that each of these characters was 2 bytes, which means `s` will be `Зд`. -What would happen if we used `&hello[0..1]`? The answer: Rust would panic at +If we were to try to slice only part of a character's bytes with something like `&hello[0..1]`, +Rust would panic at runtime in the same way as if an invalid index were accessed in a vector: ``` @@ -695,10 +698,10 @@ can crash your program. ### Methods for Iterating Over Strings -Fortunately, you can access elements in a string in other ways. + -If you need to perform operations on individual Unicode scalar values, the best -way to do so is to use the `chars` method. Calling `chars` on “नमस्ते” separates +Fortunately, you can access elements in a string in other ways, dependng on if you want the characters or bytes. The best way to perform operations on individual Unicode scalar values +is to use the `chars` method. Calling `chars` on “नमस्ते” separates out and returns six values of type `char`, and you can iterate over the result to access each element: @@ -719,7 +722,7 @@ This code will print the following: े ``` -The `bytes` method returns each raw byte, which might be appropriate for your +Alternatively, the `bytes` method returns each raw byte, which might be appropriate for your domain: ``` @@ -742,7 +745,7 @@ But be sure to remember that valid Unicode scalar values may be made up of more than 1 byte. Getting grapheme clusters from strings is complex, so this functionality is not -provided by the standard library. Crates are available on crates.io if this is +provided by the standard library. Crates are available on *crates.io* if this is the functionality you need. ### Strings Are Not So Simple @@ -779,9 +782,9 @@ As always, check the standard library documentation for more information. ### Creating a New Hash Map -You can create an empty hash map with `new` and add elements with `insert`. In +One way to create an empty hash map is using `new` and adding elements with `insert`. In Listing 8-20, we’re keeping track of the scores of two teams whose names are -Blue and Yellow. The Blue team starts with 10 points, and the Yellow team +*Blue* and *Yellow*. The Blue team starts with 10 points, and the Yellow team starts with 50. ``` @@ -806,6 +809,8 @@ keys of type `String` and values of type `i32`. Like vectors, hash maps are homogeneous: all of the keys must have the same type, and all of the values must have the same type. + + Another way of constructing a hash map is by using iterators and the `collect` method on a vector of tuples, where each tuple consists of a key and its value. We’ll be going into more detail about iterators and their associated methods in @@ -834,8 +839,7 @@ The type annotation `HashMap<_, _>` is needed here because it’s possible to want unless you specify. For the parameters for the key and value types, however, we use underscores, and Rust can infer the types that the hash map contains based on the types of the data in the vectors. In Listing 8-21, the -key type will be `String` and the value type will be `i32`, just as the types -were in Listing 8-20. +key type will be `String` and the value type will be `i32`, just as in Listing 8-20. ### Hash Maps and Ownership @@ -916,8 +920,8 @@ Blue: 10 ### Updating a Hash Map -Although the number of keys and values is growable, each key can only have one -value associated with it at a time. When you want to change the data in a hash +Although the number of key and value pairs is growable, each key can only have one +value associated with it at a time. When you want to change the data in a hash map, you have to decide how to handle the case when a key already has a value assigned. You could replace the old value with the new value, completely disregarding the old value. You could keep the old value and ignore the new @@ -951,6 +955,8 @@ overwritten. #### Only Inserting a Value If the Key Has No Value + + It’s common to check whether a particular key has a value and, if it doesn’t, insert a value for it. Hash maps have a special API for this called `entry` that takes the key you want to check as a parameter. The return value of the From 6af205f8500cbce34c80fac0aae624b4ec3f888b Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 11 Jan 2022 13:34:17 -0500 Subject: [PATCH 0048/1248] more edits --- nostarch/chapter08.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nostarch/chapter08.md b/nostarch/chapter08.md index e67d30ff48..aef8162c12 100644 --- a/nostarch/chapter08.md +++ b/nostarch/chapter08.md @@ -764,7 +764,7 @@ Let’s switch to something a bit less complex: hash maps! ## Storing Keys with Associated Values in Hash Maps The last of our common collections is the *hash map*. The type `HashMap` -stores a mapping of keys of type `K` to values of type `V`. It does this via a +stores a mapping of keys of type `K` to values of type `V` using a *hashing function*, which determines how it places these keys and values into memory. Many programming languages support this kind of data structure, but they often use a different name, such as hash, map, object, hash table, @@ -1031,13 +1031,13 @@ allowed by the borrowing rules. ### Hashing Functions -By default, `HashMap` uses a hashing function called SipHash that can provide +By default, `HashMap` uses a hashing function called *SipHash* that can provide resistance to Denial of Service (DoS) attacks involving hash tables. This is not the fastest hashing algorithm available, but the trade-off for better security that comes with the drop in performance is worth it. If you profile your code and find that the default hash function is too slow for your purposes, you can switch to another function by specifying a different -*hasher*. A hasher is a type that implements the `BuildHasher` trait. We’ll +hasher. A *hasher* is a type that implements the `BuildHasher` trait. We’ll talk about traits and how to implement them in Chapter 10. You don’t necessarily have to implement your own hasher from scratch; crates.io has libraries shared by other Rust users that provide hashers implementing many From ee3ca10416b18e146cb4eb70b2f9d749d8aa5007 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 11 Jan 2022 15:14:08 -0500 Subject: [PATCH 0049/1248] Replies to nostarch edits --- nostarch/chapter08.md | 344 +++++++++++++++++++++++------------------- 1 file changed, 189 insertions(+), 155 deletions(-) diff --git a/nostarch/chapter08.md b/nostarch/chapter08.md index aef8162c12..41281624f7 100644 --- a/nostarch/chapter08.md +++ b/nostarch/chapter08.md @@ -48,18 +48,18 @@ Note that we added a type annotation here. Because we aren’t inserting any values into this vector, Rust doesn’t know what kind of elements we intend to store. This is an important point. Vectors are implemented using generics; we’ll cover how to use generics with your own types in Chapter 10. For now, -know that the `Vec` type provided by the standard library can hold any type. When -we create a vector to hold a specific type, we specify the type within +know that the `Vec` type provided by the standard library can hold any type. +When we create a vector to hold a specific type, we can specify the type within angle brackets. In Listing 8-1, we’ve told Rust that the `Vec` in `v` will hold elements of the `i32` type. -More often, you'll create a `Vec` with initial values and Rust will infer the type of value you want to -store, so you rarely need to do this type annotation. -Rust conveniently -provides the `vec!` macro, which will create a new vector -that holds the values you give it. Listing 8-2 creates a new `Vec` that -holds the values `1`, `2`, and `3`. The integer type is `i32` because that’s -the default integer type, as we discussed in the “Data Types” section of Chapter 3. +More often, you'll create a `Vec` with initial values and Rust will infer +the type of value you want to store, so you rarely need to do this type +annotation. Rust conveniently provides the `vec!` macro, which will create a +new vector that holds the values you give it. Listing 8-2 creates a new +`Vec` that holds the values `1`, `2`, and `3`. The integer type is `i32` +because that’s the default integer type, as we discussed in the “Data Types” +section of Chapter 3. ``` let v = vec![1, 2, 3]; @@ -73,7 +73,7 @@ to modify a vector. ### Updating a Vector -To create a vector and then add elements to it, we can the `push` method, +To create a vector and then add elements to it, we can use the `push` method, as shown in Listing 8-3. ``` @@ -109,17 +109,17 @@ Listing 8-4: Showing where the vector and its elements are dropped When the vector gets dropped, all of its contents are also dropped, meaning those integers it holds will be cleaned up. This may seem like a -straightforward point but it can get complicated when you start to -introduce references to the elements of the vector. Let’s tackle that next! +straightforward point but it can get complicated when you start to introduce +references to the elements of the vector. Let’s tackle that next! ### Reading Elements of Vectors -There are two ways to reference a -value stored in a vector: via indexing or using the `get` method. In the following examples, we’ve annotated the types of the -values that are returned from these functions for extra clarity. +There are two ways to reference a value stored in a vector: via indexing or +using the `get` method. In the following examples, we’ve annotated the types of +the values that are returned from these functions for extra clarity. -Listing 8-5 shows both methods of accessing a value in a vector, with -indexing syntax and the `get` method. +Listing 8-5 shows both methods of accessing a value in a vector, with indexing +syntax and the `get` method. ``` let v = vec![1, 2, 3, 4, 5]; @@ -137,16 +137,16 @@ Listing 8-5: Using indexing syntax or the `get` method to access an item in a vector Note two details here. First, we use the index value of `2` to get the third -element because vectors are indexed by number, starting at zero. Second, we -get the third element by either using `&` and `[]`, which gives us a reference, -or using the `get` method with the index passed as an argument, which gives -us an `Option<&T>`. +element because vectors are indexed by number, starting at zero. Second, we get +the third element by either using `&` and `[]`, which gives us a reference, or +using the `get` method with the index passed as an argument, which gives us an +`Option<&T>`. -The reason Rust provides these two ways to reference an element is so you can choose how the program -behaves when you try to use an index value outside the range of existing -elements. As an example, let’s see what happens when we have a vector -of five elements and then we try to access an element at index 100 with each technique, as -shown in Listing 8-6. +The reason Rust provides these two ways to reference an element is so you can +choose how the program behaves when you try to use an index value outside the +range of existing elements. As an example, let’s see what happens when we have +a vector of five elements and then we try to access an element at index 100 +with each technique, as shown in Listing 8-6. ``` let v = vec![1, 2, 3, 4, 5]; @@ -165,21 +165,23 @@ end of the vector. When the `get` method is passed an index that is outside the vector, it returns `None` without panicking. You would use this method if accessing an element -beyond the range of the vector may happen occasionally under normal circumstances. -Your code will then have logic to handle having either `Some(&element)` or -`None`, as discussed in Chapter 6. For example, the index could be coming from -a person entering a number. If they accidentally enter a number that’s too -large and the program gets a `None` value, you could tell the user how many -items are in the current vector and give them another chance to enter a valid -value. That would be more user-friendly than crashing the program due to a typo! +beyond the range of the vector may happen occasionally under normal +circumstances. Your code will then have logic to handle having either +`Some(&element)` or `None`, as discussed in Chapter 6. For example, the index +could be coming from a person entering a number. If they accidentally enter a +number that’s too large and the program gets a `None` value, you could tell the +user how many items are in the current vector and give them another chance to +enter a valid value. That would be more user-friendly than crashing the program +due to a typo! When the program has a valid reference, the borrow checker enforces the ownership and borrowing rules (covered in Chapter 4) to ensure this reference and any other references to the contents of the vector remain valid. Recall the rule that states you can’t have mutable and immutable references in the same -scope. That rule applies in Listing 8-7, where we hold an immutable reference to -the first element in a vector and try to add an element to the end. This program won’t -work if we also try to refer to that element later in the function: +scope. That rule applies in Listing 8-7, where we hold an immutable reference +to the first element in a vector and try to add an element to the end. This +program won’t work if we also try to refer to that element later in the +function: ``` let mut v = vec![1, 2, 3, 4, 5]; @@ -210,24 +212,24 @@ Compiling this code will result in this error: ``` The code in Listing 8-7 might look like it should work: why should a reference -to the first element care about changes at the end of the vector? This -error is due to the way vectors work: because vectors put the values next to each other in memory, -adding a new element onto the end of the -vector might require allocating new memory and copying the old elements to the -new space, if there isn’t enough room to put all the elements next to each -other where the vector is currently stored. In that case, the reference to the first -element would be pointing to deallocated memory. The borrowing rules prevent -programs from ending up in that situation. +to the first element care about changes at the end of the vector? This error is +due to the way vectors work: because vectors put the values next to each other +in memory, adding a new element onto the end of the vector might require +allocating new memory and copying the old elements to the new space, if there +isn’t enough room to put all the elements next to each other where the vector +is currently stored. In that case, the reference to the first element would be +pointing to deallocated memory. The borrowing rules prevent programs from +ending up in that situation. > Note: For more on the implementation details of the `Vec` type, see “The > Rustonomicon” at *https://doc.rust-lang.org/nomicon/vec/vec.html*. ### Iterating over the Values in a Vector -To access each element in a vector in turn, we would iterate through -all of the elements rather than use indices to access one at a time. Listing -8-8 shows how to use a `for` loop to get immutable references to each element -in a vector of `i32` values and print them. +To access each element in a vector in turn, we would iterate through all of the +elements rather than use indices to access one at a time. Listing 8-8 shows how +to use a `for` loop to get immutable references to each element in a vector of +`i32` values and print them. ``` let v = vec![100, 32, 57]; @@ -260,18 +262,18 @@ section of Chapter 15. ### Using an Enum to Store Multiple Types -Vectors can only store values -that are the same type. This can be inconvenient; there are definitely use -cases for needing to store a list of items of different types, and have that list be considered a single type. Fortunately, the -variants of an enum are defined under the same enum type, so when we need one -type to represent elements of different types, we can define and use an enum! +Vectors can only store values that are the same type. This can be inconvenient; +there are definitely use cases for needing to store a list of items of +different types. Fortunately, the variants of an enum are defined under the +same enum type, so when we need one type to represent elements of different +types, we can define and use an enum! For example, say we want to get values from a row in a spreadsheet in which some of the columns in the row contain integers, some floating-point numbers, and some strings. We can define an enum whose variants will hold the different -value types, and all the enum variants will be considered the same type: -that of the enum. Then we can create a vector to hold that enum and so, -ultimately, holds different types. We’ve demonstrated this in Listing 8-10. +value types, and all the enum variants will be considered the same type: that +of the enum. Then we can create a vector to hold that enum and so, ultimately, +holds different types. We’ve demonstrated this in Listing 8-10. ``` enum SpreadsheetCell { @@ -291,17 +293,16 @@ Listing 8-10: Defining an `enum` to store values of different types in one vector Rust needs to know what types will be in the vector at compile time so it knows -exactly how much memory on the heap will be needed to store each element. We must -also be explicit about what types are allowed in -this vector. If Rust allowed a vector to hold any type, there would be a chance -that one or more of the types would cause errors with the operations performed -on the elements of the vector. Using an enum plus a `match` expression means -that Rust will ensure at compile time that every possible case is handled, as -discussed in Chapter 6. - -If you don’t know the exhaustive set of types -a program will get at runtime to store in a vector, the enum technique won’t -work. Instead, you can use a trait object, which we’ll cover in Chapter 17. +exactly how much memory on the heap will be needed to store each element. We +must also be explicit about what types are allowed in this vector. If Rust +allowed a vector to hold any type, there would be a chance that one or more of +the types would cause errors with the operations performed on the elements of +the vector. Using an enum plus a `match` expression means that Rust will ensure +at compile time that every possible case is handled, as discussed in Chapter 6. + +If you don’t know the exhaustive set of types a program will get at runtime to +store in a vector, the enum technique won’t work. Instead, you can use a trait +object, which we’ll cover in Chapter 17. Now that we’ve discussed some of the most common ways to use vectors, be sure to review the API documentation for all the many useful methods defined on @@ -318,8 +319,8 @@ complicated data structure than many programmers give them credit for, and UTF-8. These factors combine in a way that can seem difficult when you’re coming from other programming languages. -We discuss strings in the context of collections because strings -are implemented as a collection of bytes, plus some methods to provide useful +We discuss strings in the context of collections because strings are +implemented as a collection of bytes, plus some methods to provide useful functionality when those bytes are interpreted as text. In this section, we’ll talk about the operations on `String` that every collection type has, such as creating, updating, and reading. We’ll also discuss the ways in which `String` @@ -338,9 +339,13 @@ string slices. The `String` type, which is provided by Rust’s standard library rather than coded into the core language, is a growable, mutable, owned, UTF-8 encoded -string type. When Rustaceans refer to “strings” in Rust, they're usually referring to both the -`String` and the string slice `&str` types, not just one of those types. +string type. When Rustaceans refer to “strings” in Rust, they might be +referring to either the `String` or the string slice `&str` types, not just one +of those types. + Although this section is largely about `String`, both types are used heavily in Rust’s standard library, and both `String` and string slices are UTF-8 encoded. @@ -399,7 +404,8 @@ string literal Because strings are used for so many things, we can use many different generic APIs for strings, providing us with a lot of options. Some of them can seem redundant, but they all have their place! In this case, `String::from` and -`to_string` do the same thing, so which you choose is a matter of style and readability. +`to_string` do the same thing, so which you choose is a matter of style and +readability. Remember that strings are UTF-8 encoded, so we can include any properly encoded data in them, as shown in Listing 8-14. @@ -442,7 +448,8 @@ Listing 8-15: Appending a string slice to a `String` using the `push_str` method After these two lines, `s` will contain `foobar`. The `push_str` method takes a string slice because we don’t necessarily want to take ownership of the -parameter. For example, in the code in Listing 8-16 we want to able to use `s2` after appending its contents to `s1`. +parameter. For example, in the code in Listing 8-16, we want to able to use +`s2` after appending its contents to `s1`. ``` let mut s1 = String::from("foo"); @@ -457,8 +464,8 @@ If the `push_str` method took ownership of `s2`, we wouldn’t be able to print its value on the last line. However, this code works as we’d expect! The `push` method takes a single character as a parameter and adds it to the -`String`. Listing 8-17 adds the letter "l" to a `String` using -the `push` method. +`String`. Listing 8-17 adds the letter "l" to a `String` using the `push` +method. ``` let mut s = String::from("lo"); @@ -471,8 +478,8 @@ As a result, `s` will contain `lol`. #### Concatenation with the `+` Operator or the `format!` Macro -Often, you’ll want to combine two existing strings. One way to do so is to use the `+` -operator, as shown in Listing 8-18. +Often, you’ll want to combine two existing strings. One way to do so is to use +the `+` operator, as shown in Listing 8-18. ``` let s1 = String::from("Hello, "); @@ -483,27 +490,27 @@ let s3 = s1 + &s2; // note s1 has been moved here and can no longer be used Listing 8-18: Using the `+` operator to combine two `String` values into a new `String` value -The string `s3` will contain `Hello, world!`. The -reason `s1` is no longer valid after the addition, and the reason we used a -reference to `s2`, has to do with the signature of the method that's called -when we use the `+` operator. The `+` operator uses the `add` method, whose -signature looks something like this: +The string `s3` will contain `Hello, world!`. The reason `s1` is no longer +valid after the addition, and the reason we used a reference to `s2`, has to do +with the signature of the method that’s called when we use the `+` operator. +The `+` operator uses the `add` method, whose signature looks something like +this: ``` fn add(self, s: &str) -> String { ``` -In the standard -library, you'll see `add` defined using generics. Here, we’ve substituted in concrete types for the generic ones, which is what -happens when we call this method with `String` values. We’ll discuss generics -in Chapter 10. This signature gives us the clues we need to understand the -tricky bits of the `+` operator. +In the standard library, you'll see `add` defined using generics. Here, we’ve +substituted in concrete types for the generic ones, which is what happens when +we call this method with `String` values. We’ll discuss generics in Chapter 10. +This signature gives us the clues we need to understand the tricky bits of the +`+` operator. First, `s2` has an `&`, meaning that we’re adding a *reference* of the second -string to the first string. This is because of the `s` parameter in the `add` function: -we can only add a `&str` to a `String`; we can’t add two `String` values -together. But wait—the type of `&s2` is `&String`, not `&str`, as specified in -the second parameter to `add`. So why does Listing 8-18 compile? +string to the first string. This is because of the `s` parameter in the `add` +function: we can only add a `&str` to a `String`; we can’t add two `String` +values together. But wait—the type of `&s2` is `&String`, not `&str`, as +specified in the second parameter to `add`. So why does Listing 8-18 compile? The reason we’re able to use `&s2` in the call to `add` is that the compiler can *coerce* the `&String` argument into a `&str`. When we call the `add` @@ -514,12 +521,12 @@ after this operation. Second, we can see in the signature that `add` takes ownership of `self`, because `self` does *not* have an `&`. This means `s1` in Listing 8-18 will be -moved into the `add` call and will no longer be valid after that. So although `let -s3 = s1 + &s2;` looks like it will copy both strings and create a new one, this -statement actually takes ownership of `s1`, appends a copy of the contents of -`s2`, and then returns ownership of the result. In other words, it looks like -it’s making a lot of copies but isn’t; the implementation is more efficient -than copying. +moved into the `add` call and will no longer be valid after that. So although +`let s3 = s1 + &s2;` looks like it will copy both strings and create a new one, +this statement actually takes ownership of `s1`, appends a copy of the contents +of `s2`, and then returns ownership of the result. In other words, it looks +like it’s making a lot of copies but isn’t; the implementation is more +efficient than copying. If we need to concatenate multiple strings, the behavior of the `+` operator gets unwieldy: @@ -545,8 +552,8 @@ let s = format!("{}-{}-{}", s1, s2, s3); ``` This code also sets `s` to `tic-tac-toe`. The `format!` macro works like -`println!`, but instead of printing the output to the screen, it returns -a `String` with the contents. The version of the code using `format!` is much +`println!`, but instead of printing the output to the screen, it returns a +`String` with the contents. The version of the code using `format!` is much easier to read, and the code generated by the `format!` macro uses references so that this call doesn’t take ownership of any of its parameters. @@ -590,9 +597,9 @@ let hello = String::from("Hola"); ``` In this case, `len` will be 4, which means the vector storing the string “Hola” -is 4 bytes long. Each of these letters takes 1 byte when encoded in UTF-8. -The following line, however, may surprise you. (Note that this string begins with the capital -Cyrillic letter Ze, not the Arabic number 3.) +is 4 bytes long. Each of these letters takes 1 byte when encoded in UTF-8. The +following line, however, may surprise you. (Note that this string begins with +the capital Cyrillic letter Ze, not the Arabic number 3.) ``` let hello = String::from("Здравствуйте"); @@ -609,19 +616,18 @@ let hello = "Здравствуйте"; let answer = &hello[0]; ``` -You already know that`answer` will not be `З`, the first letter. When -encoded in UTF-8, the first byte of `З` is `208` and the second is `151`, so -it would seem that `answer` should in fact be `208`, but `208` is not a valid character on its -own. Returning `208` is likely not what a user would want if they asked for the -first letter of this string; however, that’s the only data that Rust has at -byte index 0. Users generally don’t want the byte value returned, even if the -string contains only Latin letters: if `&"hello"[0]` were valid code that -returned the byte value, it would return `104`, not `h`. +You already know that `answer` will not be `З`, the first letter. When encoded +in UTF-8, the first byte of `З` is `208` and the second is `151`, so it would +seem that `answer` should in fact be `208`, but `208` is not a valid character +on its own. Returning `208` is likely not what a user would want if they asked +for the first letter of this string; however, that’s the only data that Rust +has at byte index 0. Users generally don’t want the byte value returned, even +if the string contains only Latin letters: if `&"hello"[0]` were valid code +that returned the byte value, it would return `104`, not `h`. -The answer, then, is that, to avoid returning an -unexpected value and causing bugs that might not be discovered immediately, -Rust doesn’t compile this code at all and prevents misunderstandings early in -the development process. +The answer, then, is that to avoid returning an unexpected value and causing +bugs that might not be discovered immediately, Rust doesn’t compile this code +at all and prevents misunderstandings early in the development process. #### Bytes and Scalar Values and Grapheme Clusters! Oh My! @@ -668,9 +674,8 @@ index to determine how many valid characters there were. Indexing into a string is often a bad idea because it’s not clear what the return type of the string-indexing operation should be: a byte value, a -character, a grapheme cluster, or a string slice. If you really need to -use indices to create string slices, therefore, Rust asks you to -be more specific. +character, a grapheme cluster, or a string slice. If you really need to use +indices to create string slices, therefore, Rust asks you to be more specific. Rather than indexing using `[]` with a single number, you can use `[]` with a range to create a string slice containing particular bytes: @@ -685,9 +690,9 @@ Here, `s` will be a `&str` that contains the first 4 bytes of the string. Earlier, we mentioned that each of these characters was 2 bytes, which means `s` will be `Зд`. -If we were to try to slice only part of a character's bytes with something like `&hello[0..1]`, -Rust would panic at -runtime in the same way as if an invalid index were accessed in a vector: +If we were to try to slice only part of a character's bytes with something like +`&hello[0..1]`, Rust would panic at runtime in the same way as if an invalid +index were accessed in a vector: ``` thread 'main' panicked at 'byte index 1 is not a char boundary; it is inside 'З' (bytes 0..2) of `Здравствуйте`', src/main.rs:4:14 @@ -699,11 +704,19 @@ can crash your program. ### Methods for Iterating Over Strings + -Fortunately, you can access elements in a string in other ways, dependng on if you want the characters or bytes. The best way to perform operations on individual Unicode scalar values -is to use the `chars` method. Calling `chars` on “नमस्ते” separates -out and returns six values of type `char`, and you can iterate over the result -to access each element: +The best way to operate on pieces of strings is to be explicit about whether +you want characters or bytes. For individual Unicode scalar values, use the +`chars` method. Calling `chars` on “नमस्ते” separates out and returns six values +of type `char`, and you can iterate over the result to access each element: ``` for c in "नमस्ते".chars() { @@ -722,8 +735,8 @@ This code will print the following: े ``` -Alternatively, the `bytes` method returns each raw byte, which might be appropriate for your -domain: +Alternatively, the `bytes` method returns each raw byte, which might be +appropriate for your domain: ``` for b in "नमस्ते".bytes() { @@ -745,8 +758,8 @@ But be sure to remember that valid Unicode scalar values may be made up of more than 1 byte. Getting grapheme clusters from strings is complex, so this functionality is not -provided by the standard library. Crates are available on *crates.io* if this is -the functionality you need. +provided by the standard library. Crates are available on *https://crates.io/* +if this is the functionality you need. ### Strings Are Not So Simple @@ -782,10 +795,10 @@ As always, check the standard library documentation for more information. ### Creating a New Hash Map -One way to create an empty hash map is using `new` and adding elements with `insert`. In -Listing 8-20, we’re keeping track of the scores of two teams whose names are -*Blue* and *Yellow*. The Blue team starts with 10 points, and the Yellow team -starts with 50. +One way to create an empty hash map is using `new` and adding elements with +`insert`. In Listing 8-20, we’re keeping track of the scores of two teams whose +names are *Blue* and *Yellow*. The Blue team starts with 10 points, and the +Yellow team starts with 50. ``` use std::collections::HashMap; @@ -810,17 +823,20 @@ homogeneous: all of the keys must have the same type, and all of the values must have the same type. + Another way of constructing a hash map is by using iterators and the `collect` method on a vector of tuples, where each tuple consists of a key and its value. We’ll be going into more detail about iterators and their associated methods in -the ”Processing a Series of Items with Iterators” section of Chapter -13. The `collect` method gathers data into a number -of collection types, including `HashMap`. For example, if we had the team names -and initial scores in two separate vectors, we could use the `zip` method to -create an iterator of tuples where “Blue” is paired with 10, and so forth. Then -we could use the `collect` method to turn that iterator of tuples into a hash -map, as shown in Listing 8-21. +the ”Processing a Series of Items with Iterators” section of Chapter 13. The +`collect` method gathers data into a number of collection types, including +`HashMap`. For example, if we had the team names and initial scores in two +separate vectors, we could use the `zip` method to create an iterator of tuples +where “Blue” is paired with 10, and so forth. Then we could use the `collect` +method to turn that iterator of tuples into a hash map, as shown in Listing +8-21. ``` use std::collections::HashMap; @@ -839,7 +855,8 @@ The type annotation `HashMap<_, _>` is needed here because it’s possible to want unless you specify. For the parameters for the key and value types, however, we use underscores, and Rust can infer the types that the hash map contains based on the types of the data in the vectors. In Listing 8-21, the -key type will be `String` and the value type will be `i32`, just as in Listing 8-20. +key type will be `String` and the value type will be `i32`, just as in Listing +8-20. ### Hash Maps and Ownership @@ -920,14 +937,20 @@ Blue: 10 ### Updating a Hash Map -Although the number of key and value pairs is growable, each key can only have one -value associated with it at a time. When you want to change the data in a hash -map, you have to decide how to handle the case when a key already has a value -assigned. You could replace the old value with the new value, completely -disregarding the old value. You could keep the old value and ignore the new -value, only adding the new value if the key *doesn’t* already have a value. Or -you could combine the old value and the new value. Let’s look at how to do each -of these! +Although the number of key and value pairs is growable, each key can only have +one value associated with it at a time. + + +When you want to change the data in a hash map, you have to decide how to +handle the case when a key already has a value assigned. You could replace the +old value with the new value, completely disregarding the old value. You could +keep the old value and ignore the new value, only adding the new value if the +key *doesn’t* already have a value. Or you could combine the old value and the +new value. Let’s look at how to do each of these! #### Overwriting a Value @@ -955,7 +978,18 @@ overwritten. #### Only Inserting a Value If the Key Has No Value - + + It’s common to check whether a particular key has a value and, if it doesn’t, insert a value for it. Hash maps have a special API for this called `entry` @@ -1036,12 +1070,12 @@ resistance to Denial of Service (DoS) attacks involving hash tables. This is not the fastest hashing algorithm available, but the trade-off for better security that comes with the drop in performance is worth it. If you profile your code and find that the default hash function is too slow for your -purposes, you can switch to another function by specifying a different -hasher. A *hasher* is a type that implements the `BuildHasher` trait. We’ll -talk about traits and how to implement them in Chapter 10. You don’t -necessarily have to implement your own hasher from scratch; crates.io has -libraries shared by other Rust users that provide hashers implementing many -common hashing algorithms. +purposes, you can switch to another function by specifying a different hasher. +A *hasher* is a type that implements the `BuildHasher` trait. We’ll talk about +traits and how to implement them in Chapter 10. You don’t necessarily have to +implement your own hasher from scratch; *https://crates.io/* has libraries +shared by other Rust users that provide hashers implementing many common +hashing algorithms. ## Summary From 1fd890031311612e54965f7f800a8c8bd4464663 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 11 Jan 2022 15:31:40 -0500 Subject: [PATCH 0050/1248] Propagate edits of chapter 8 to src --- src/ch08-00-common-collections.md | 4 +- src/ch08-01-vectors.md | 136 +++++++++++++++-------------- src/ch08-02-strings.md | 137 +++++++++++++++--------------- src/ch08-03-hash-maps.md | 26 +++--- 4 files changed, 155 insertions(+), 148 deletions(-) diff --git a/src/ch08-00-common-collections.md b/src/ch08-00-common-collections.md index edba30a4fe..cf66e18854 100644 --- a/src/ch08-00-common-collections.md +++ b/src/ch08-00-common-collections.md @@ -19,7 +19,7 @@ collections that are used very often in Rust programs: To learn about the other kinds of collections provided by the standard library, see [the documentation][collections]. -[collections]: ../std/collections/index.html - We’ll discuss how to create and update vectors, strings, and hash maps, as well as what makes each special. + +[collections]: ../std/collections/index.html diff --git a/src/ch08-01-vectors.md b/src/ch08-01-vectors.md index 15cf84db5e..25701f53f0 100644 --- a/src/ch08-01-vectors.md +++ b/src/ch08-01-vectors.md @@ -8,7 +8,7 @@ lines of text in a file or the prices of items in a shopping cart. ### Creating a New Vector -To create a new, empty vector, we can call the `Vec::new` function, as shown in +To create a new empty vector, we call the `Vec::new` function, as shown in Listing 8-1. ```rust @@ -22,19 +22,18 @@ Note that we added a type annotation here. Because we aren’t inserting any values into this vector, Rust doesn’t know what kind of elements we intend to store. This is an important point. Vectors are implemented using generics; we’ll cover how to use generics with your own types in Chapter 10. For now, -know that the `Vec` type provided by the standard library can hold any type, -and when a specific vector holds a specific type, the type is specified within +know that the `Vec` type provided by the standard library can hold any type. +When we create a vector to hold a specific type, we can specify the type within angle brackets. In Listing 8-1, we’ve told Rust that the `Vec` in `v` will hold elements of the `i32` type. -In more realistic code, Rust can often infer the type of value you want to -store once you insert values, so you rarely need to do this type annotation. -It’s more common to create a `Vec` that has initial values, and Rust -provides the `vec!` macro for convenience. The macro will create a new vector -that holds the values you give it. Listing 8-2 creates a new `Vec` that -holds the values `1`, `2`, and `3`. The integer type is `i32` because that’s -the default integer type, as we discussed in the [“Data Types”][data-types] section of Chapter 3. +More often, you'll create a `Vec` with initial values and Rust will infer +the type of value you want to store, so you rarely need to do this type +annotation. Rust conveniently provides the `vec!` macro, which will create a +new vector that holds the values you give it. Listing 8-2 creates a new +`Vec` that holds the values `1`, `2`, and `3`. The integer type is `i32` +because that’s the default integer type, as we discussed in the [“Data +Types”][data-types] section of Chapter 3. ```rust {{#rustdoc_include ../listings/ch08-common-collections/listing-08-02/src/main.rs:here}} @@ -78,18 +77,17 @@ are dropped When the vector gets dropped, all of its contents are also dropped, meaning those integers it holds will be cleaned up. This may seem like a -straightforward point but can get a bit more complicated when you start to -introduce references to the elements of the vector. Let’s tackle that next! +straightforward point but it can get complicated when you start to introduce +references to the elements of the vector. Let’s tackle that next! ### Reading Elements of Vectors -Now that you know how to create, update, and destroy vectors, knowing how to -read their contents is a good next step. There are two ways to reference a -value stored in a vector. In the examples, we’ve annotated the types of the -values that are returned from these functions for extra clarity. +There are two ways to reference a value stored in a vector: via indexing or +using the `get` method. In the following examples, we’ve annotated the types of +the values that are returned from these functions for extra clarity. -Listing 8-5 shows both methods of accessing a value in a vector, either with -indexing syntax or the `get` method. +Listing 8-5 shows both methods of accessing a value in a vector, with indexing +syntax and the `get` method. ```rust {{#rustdoc_include ../listings/ch08-common-collections/listing-08-05/src/main.rs:here}} @@ -99,10 +97,16 @@ indexing syntax or the `get` method. access an item in a vector Note two details here. First, we use the index value of `2` to get the third -element: vectors are indexed by number, starting at zero. Second, the two ways -to get the third element are by using `&` and `[]`, which gives us a reference, -or by using the `get` method with the index passed as an argument, which gives -us an `Option<&T>`. +element because vectors are indexed by number, starting at zero. Second, we get +the third element by either using `&` and `[]`, which gives us a reference, or +using the `get` method with the index passed as an argument, which gives us an +`Option<&T>`. + +The reason Rust provides these two ways to reference an element is so you can +choose how the program behaves when you try to use an index value outside the +range of existing elements. As an example, let’s see what happens when we have +a vector of five elements and then we try to access an element at index 100 +with each technique, as shown in Listing 8-6. Rust has two ways to reference an element so you can choose how the program behaves when you try to use an index value that the vector doesn’t have an @@ -124,21 +128,23 @@ end of the vector. When the `get` method is passed an index that is outside the vector, it returns `None` without panicking. You would use this method if accessing an element -beyond the range of the vector happens occasionally under normal circumstances. -Your code will then have logic to handle having either `Some(&element)` or -`None`, as discussed in Chapter 6. For example, the index could be coming from -a person entering a number. If they accidentally enter a number that’s too -large and the program gets a `None` value, you could tell the user how many -items are in the current vector and give them another chance to enter a valid -value. That would be more user-friendly than crashing the program due to a typo! +beyond the range of the vector may happen occasionally under normal +circumstances. Your code will then have logic to handle having either +`Some(&element)` or `None`, as discussed in Chapter 6. For example, the index +could be coming from a person entering a number. If they accidentally enter a +number that’s too large and the program gets a `None` value, you could tell the +user how many items are in the current vector and give them another chance to +enter a valid value. That would be more user-friendly than crashing the program +due to a typo! When the program has a valid reference, the borrow checker enforces the ownership and borrowing rules (covered in Chapter 4) to ensure this reference and any other references to the contents of the vector remain valid. Recall the rule that states you can’t have mutable and immutable references in the same -scope. That rule applies in Listing 8-7, where we hold an immutable reference to -the first element in a vector and try to add an element to the end, which won’t -work if we also try to refer to that element later in the function: +scope. That rule applies in Listing 8-7, where we hold an immutable reference +to the first element in a vector and try to add an element to the end. This +program won’t work if we also try to refer to that element later in the +function: ```rust,ignore,does_not_compile {{#rustdoc_include ../listings/ch08-common-collections/listing-08-07/src/main.rs:here}} @@ -154,23 +160,24 @@ Compiling this code will result in this error: ``` The code in Listing 8-7 might look like it should work: why should a reference -to the first element care about what changes at the end of the vector? This -error is due to the way vectors work: adding a new element onto the end of the -vector might require allocating new memory and copying the old elements to the -new space, if there isn’t enough room to put all the elements next to each -other where the vector currently is. In that case, the reference to the first -element would be pointing to deallocated memory. The borrowing rules prevent -programs from ending up in that situation. +to the first element care about changes at the end of the vector? This error is +due to the way vectors work: because vectors put the values next to each other +in memory, adding a new element onto the end of the vector might require +allocating new memory and copying the old elements to the new space, if there +isn’t enough room to put all the elements next to each other where the vector +is currently stored. In that case, the reference to the first element would be +pointing to deallocated memory. The borrowing rules prevent programs from +ending up in that situation. > Note: For more on the implementation details of the `Vec` type, see [“The > Rustonomicon”][nomicon]. -### Iterating Over the Values in a Vector +### Iterating over the Values in a Vector -If we want to access each element in a vector in turn, we can iterate through -all of the elements rather than use indices to access one at a time. Listing -8-8 shows how to use a `for` loop to get immutable references to each element -in a vector of `i32` values and print them. +To access each element in a vector in turn, we would iterate through all of the +elements rather than use indices to access one at a time. Listing 8-8 shows how +to use a `for` loop to get immutable references to each element in a vector of +`i32` values and print them. ```rust {{#rustdoc_include ../listings/ch08-common-collections/listing-08-08/src/main.rs:here}} @@ -191,25 +198,25 @@ will add `50` to each element. elements in a vector To change the value that the mutable reference refers to, we have to use the -dereference operator (`*`) to get to the value in `i` before we can use the +`*` dereference operator to get to the value in `i` before we can use the `+=` operator. We’ll talk more about the dereference operator in the [“Following the Pointer to the Value with the Dereference Operator”][deref] section of Chapter 15. ### Using an Enum to Store Multiple Types -At the beginning of this chapter, we said that vectors can only store values -that are the same type. This can be inconvenient; there are definitely use -cases for needing to store a list of items of different types. Fortunately, the -variants of an enum are defined under the same enum type, so when we need to -store elements of a different type in a vector, we can define and use an enum! +Vectors can only store values that are the same type. This can be inconvenient; +there are definitely use cases for needing to store a list of items of +different types. Fortunately, the variants of an enum are defined under the +same enum type, so when we need one type to represent elements of different +types, we can define and use an enum! For example, say we want to get values from a row in a spreadsheet in which some of the columns in the row contain integers, some floating-point numbers, and some strings. We can define an enum whose variants will hold the different -value types, and then all the enum variants will be considered the same type: -that of the enum. Then we can create a vector that holds that enum and so, -ultimately, holds different types. We’ve demonstrated this in Listing 8-10. +value types, and all the enum variants will be considered the same type: that +of the enum. Then we can create a vector to hold that enum and so, ultimately, +holds different types. We’ve demonstrated this in Listing 8-10. ```rust {{#rustdoc_include ../listings/ch08-common-collections/listing-08-10/src/main.rs:here}} @@ -219,17 +226,16 @@ ultimately, holds different types. We’ve demonstrated this in Listing 8-10. different types in one vector Rust needs to know what types will be in the vector at compile time so it knows -exactly how much memory on the heap will be needed to store each element. A -secondary advantage is that we can be explicit about what types are allowed in -this vector. If Rust allowed a vector to hold any type, there would be a chance -that one or more of the types would cause errors with the operations performed -on the elements of the vector. Using an enum plus a `match` expression means -that Rust will ensure at compile time that every possible case is handled, as -discussed in Chapter 6. - -When you’re writing a program, if you don’t know the exhaustive set of types -the program will get at runtime to store in a vector, the enum technique won’t -work. Instead, you can use a trait object, which we’ll cover in Chapter 17. +exactly how much memory on the heap will be needed to store each element. We +must also be explicit about what types are allowed in this vector. If Rust +allowed a vector to hold any type, there would be a chance that one or more of +the types would cause errors with the operations performed on the elements of +the vector. Using an enum plus a `match` expression means that Rust will ensure +at compile time that every possible case is handled, as discussed in Chapter 6. + +If you don’t know the exhaustive set of types a program will get at runtime to +store in a vector, the enum technique won’t work. Instead, you can use a trait +object, which we’ll cover in Chapter 17. Now that we’ve discussed some of the most common ways to use vectors, be sure to review [the API documentation][vec-api] for all the many diff --git a/src/ch08-02-strings.md b/src/ch08-02-strings.md index 03b006d9b8..254238759f 100644 --- a/src/ch08-02-strings.md +++ b/src/ch08-02-strings.md @@ -7,8 +7,8 @@ complicated data structure than many programmers give them credit for, and UTF-8. These factors combine in a way that can seem difficult when you’re coming from other programming languages. -It’s useful to discuss strings in the context of collections because strings -are implemented as a collection of bytes, plus some methods to provide useful +We discuss strings in the context of collections because strings are +implemented as a collection of bytes, plus some methods to provide useful functionality when those bytes are interpreted as text. In this section, we’ll talk about the operations on `String` that every collection type has, such as creating, updating, and reading. We’ll also discuss the ways in which `String` @@ -27,10 +27,11 @@ string slices. The `String` type, which is provided by Rust’s standard library rather than coded into the core language, is a growable, mutable, owned, UTF-8 encoded -string type. When Rustaceans refer to “strings” in Rust, they usually mean the -`String` and the string slice `&str` types, not just one of those types. -Although this section is largely about `String`, both types are used heavily in -Rust’s standard library, and both `String` and string slices are UTF-8 encoded. +string type. When Rustaceans refer to “strings” in Rust, they might be +referring to either the `String` or the string slice `&str` types, not just one +of those types. Although this section is largely about `String`, both types are +used heavily in Rust’s standard library, and both `String` and string slices +are UTF-8 encoded. Rust’s standard library also includes a number of other string types, such as `OsString`, `OsStr`, `CString`, and `CStr`. Library crates can provide even @@ -82,7 +83,8 @@ a `String` from a string literal Because strings are used for so many things, we can use many different generic APIs for strings, providing us with a lot of options. Some of them can seem redundant, but they all have their place! In this case, `String::from` and -`to_string` do the same thing, so which you choose is a matter of style. +`to_string` do the same thing, so which you choose is a matter of style and +readability. Remember that strings are UTF-8 encoded, so we can include any properly encoded data in them, as shown in Listing 8-14. @@ -116,8 +118,8 @@ using the `push_str` method After these two lines, `s` will contain `foobar`. The `push_str` method takes a string slice because we don’t necessarily want to take ownership of the -parameter. For example, the code in Listing 8-16 shows that it would be -unfortunate if we weren’t able to use `s2` after appending its contents to `s1`. +parameter. For example, in the code in Listing 8-16, we want to able to use +`s2` after appending its contents to `s1`. ```rust {{#rustdoc_include ../listings/ch08-common-collections/listing-08-16/src/main.rs:here}} @@ -130,8 +132,8 @@ If the `push_str` method took ownership of `s2`, we wouldn’t be able to print its value on the last line. However, this code works as we’d expect! The `push` method takes a single character as a parameter and adds it to the -`String`. Listing 8-17 shows code that adds the letter “l” to a `String` using -the `push` method. +`String`. Listing 8-17 adds the letter "l" to a `String` using the `push` +method. ```rust {{#rustdoc_include ../listings/ch08-common-collections/listing-08-17/src/main.rs:here}} @@ -140,12 +142,12 @@ the `push` method. Listing 8-17: Adding one character to a `String` value using `push` -As a result of this code, `s` will contain `lol`. +As a result, `s` will contain `lol`. #### Concatenation with the `+` Operator or the `format!` Macro -Often, you’ll want to combine two existing strings. One way is to use the `+` -operator, as shown in Listing 8-18. +Often, you’ll want to combine two existing strings. One way to do so is to use +the `+` operator, as shown in Listing 8-18. ```rust {{#rustdoc_include ../listings/ch08-common-collections/listing-08-18/src/main.rs:here}} @@ -154,28 +156,27 @@ operator, as shown in Listing 8-18. Listing 8-18: Using the `+` operator to combine two `String` values into a new `String` value -The string `s3` will contain `Hello, world!` as a result of this code. The -reason `s1` is no longer valid after the addition and the reason we used a -reference to `s2` has to do with the signature of the method that gets called -when we use the `+` operator. The `+` operator uses the `add` method, whose -signature looks something like this: +The string `s3` will contain `Hello, world!`. The reason `s1` is no longer +valid after the addition, and the reason we used a reference to `s2`, has to do +with the signature of the method that’s called when we use the `+` operator. +The `+` operator uses the `add` method, whose signature looks something like +this: ```rust,ignore fn add(self, s: &str) -> String { ``` -This isn’t the exact signature that’s in the standard library: in the standard -library, `add` is defined using generics. Here, we’re looking at the signature -of `add` with concrete types substituted for the generic ones, which is what -happens when we call this method with `String` values. We’ll discuss generics -in Chapter 10. This signature gives us the clues we need to understand the -tricky bits of the `+` operator. +In the standard library, you'll see `add` defined using generics. Here, we’ve +substituted in concrete types for the generic ones, which is what happens when +we call this method with `String` values. We’ll discuss generics in Chapter 10. +This signature gives us the clues we need to understand the tricky bits of the +`+` operator. First, `s2` has an `&`, meaning that we’re adding a *reference* of the second -string to the first string because of the `s` parameter in the `add` function: -we can only add a `&str` to a `String`; we can’t add two `String` values -together. But wait—the type of `&s2` is `&String`, not `&str`, as specified in -the second parameter to `add`. So why does Listing 8-18 compile? +string to the first string. This is because of the `s` parameter in the `add` +function: we can only add a `&str` to a `String`; we can’t add two `String` +values together. But wait—the type of `&s2` is `&String`, not `&str`, as +specified in the second parameter to `add`. So why does Listing 8-18 compile? The reason we’re able to use `&s2` in the call to `add` is that the compiler can *coerce* the `&String` argument into a `&str`. When we call the `add` @@ -186,12 +187,12 @@ after this operation. Second, we can see in the signature that `add` takes ownership of `self`, because `self` does *not* have an `&`. This means `s1` in Listing 8-18 will be -moved into the `add` call and no longer be valid after that. So although `let -s3 = s1 + &s2;` looks like it will copy both strings and create a new one, this -statement actually takes ownership of `s1`, appends a copy of the contents of -`s2`, and then returns ownership of the result. In other words, it looks like -it’s making a lot of copies but isn’t; the implementation is more efficient -than copying. +moved into the `add` call and will no longer be valid after that. So although +`let s3 = s1 + &s2;` looks like it will copy both strings and create a new one, +this statement actually takes ownership of `s1`, appends a copy of the contents +of `s2`, and then returns ownership of the result. In other words, it looks +like it’s making a lot of copies but isn’t; the implementation is more +efficient than copying. If we need to concatenate multiple strings, the behavior of the `+` operator gets unwieldy: @@ -202,15 +203,15 @@ gets unwieldy: At this point, `s` will be `tic-tac-toe`. With all of the `+` and `"` characters, it’s difficult to see what’s going on. For more complicated string -combining, we can use the `format!` macro: +combining, we can instead use the `format!` macro: ```rust {{#rustdoc_include ../listings/ch08-common-collections/no-listing-02-format/src/main.rs:here}} ``` -This code also sets `s` to `tic-tac-toe`. The `format!` macro works in the same -way as `println!`, but instead of printing the output to the screen, it returns -a `String` with the contents. The version of the code using `format!` is much +This code also sets `s` to `tic-tac-toe`. The `format!` macro works like +`println!`, but instead of printing the output to the screen, it returns a +`String` with the contents. The version of the code using `format!` is much easier to read, and the code generated by the `format!` macro uses references so that this call doesn’t take ownership of any of its parameters. @@ -248,15 +249,15 @@ encoded UTF-8 example strings from Listing 8-14. First, this one: ``` In this case, `len` will be 4, which means the vector storing the string “Hola” -is 4 bytes long. Each of these letters takes 1 byte when encoded in UTF-8. But -what about the following line? (Note that this string begins with the capital -Cyrillic letter Ze, not the Arabic number 3.) +is 4 bytes long. Each of these letters takes 1 byte when encoded in UTF-8. The +following line, however, may surprise you. (Note that this string begins with +the capital Cyrillic letter Ze, not the Arabic number 3.) ```rust {{#rustdoc_include ../listings/ch08-common-collections/listing-08-14/src/main.rs:russian}} ``` -Asked how long the string is, you might say 12. However, Rust’s answer is 24: +Asked how long the string is, you might say 12. In fact, Rust’s answer is 24: that’s the number of bytes it takes to encode “Здравствуйте” in UTF-8, because each Unicode scalar value in that string takes 2 bytes of storage. Therefore, an index into the string’s bytes will not always correlate to a valid Unicode @@ -267,17 +268,18 @@ let hello = "Здравствуйте"; let answer = &hello[0]; ``` -What should the value of `answer` be? Should it be `З`, the first letter? When -encoded in UTF-8, the first byte of `З` is `208` and the second is `151`, so -`answer` should in fact be `208`, but `208` is not a valid character on its -own. Returning `208` is likely not what a user would want if they asked for the -first letter of this string; however, that’s the only data that Rust has at -byte index 0. Users generally don’t want the byte value returned, even if the -string contains only Latin letters: if `&"hello"[0]` were valid code that -returned the byte value, it would return `104`, not `h`. To avoid returning an -unexpected value and causing bugs that might not be discovered immediately, -Rust doesn’t compile this code at all and prevents misunderstandings early in -the development process. +You already know that `answer` will not be `З`, the first letter. When encoded +in UTF-8, the first byte of `З` is `208` and the second is `151`, so it would +seem that `answer` should in fact be `208`, but `208` is not a valid character +on its own. Returning `208` is likely not what a user would want if they asked +for the first letter of this string; however, that’s the only data that Rust +has at byte index 0. Users generally don’t want the byte value returned, even +if the string contains only Latin letters: if `&"hello"[0]` were valid code +that returned the byte value, it would return `104`, not `h`. + +The answer, then, is that to avoid returning an unexpected value and causing +bugs that might not be discovered immediately, Rust doesn’t compile this code +at all and prevents misunderstandings early in the development process. #### Bytes and Scalar Values and Grapheme Clusters! Oh My! @@ -324,10 +326,10 @@ index to determine how many valid characters there were. Indexing into a string is often a bad idea because it’s not clear what the return type of the string-indexing operation should be: a byte value, a -character, a grapheme cluster, or a string slice. Therefore, Rust asks you to -be more specific if you really need to use indices to create string slices. To -be more specific in your indexing and indicate that you want a string slice, -rather than indexing using `[]` with a single number, you can use `[]` with a +character, a grapheme cluster, or a string slice. If you really need to use +indices to create string slices, therefore, Rust asks you to be more specific. + +Rather than indexing using `[]` with a single number, you can use `[]` with a range to create a string slice containing particular bytes: ```rust @@ -340,8 +342,9 @@ Here, `s` will be a `&str` that contains the first 4 bytes of the string. Earlier, we mentioned that each of these characters was 2 bytes, which means `s` will be `Зд`. -What would happen if we used `&hello[0..1]`? The answer: Rust would panic at -runtime in the same way as if an invalid index were accessed in a vector: +If we were to try to slice only part of a character's bytes with something like +`&hello[0..1]`, Rust would panic at runtime in the same way as if an invalid +index were accessed in a vector: ```console {{#include ../listings/ch08-common-collections/output-only-01-not-char-boundary/output.txt}} @@ -352,12 +355,10 @@ can crash your program. ### Methods for Iterating Over Strings -Fortunately, you can access elements in a string in other ways. - -If you need to perform operations on individual Unicode scalar values, the best -way to do so is to use the `chars` method. Calling `chars` on “नमस्ते” separates -out and returns six values of type `char`, and you can iterate over the result -to access each element: +The best way to operate on pieces of strings is to be explicit about whether +you want characters or bytes. For individual Unicode scalar values, use the +`chars` method. Calling `chars` on “नमस्ते” separates out and returns six values +of type `char`, and you can iterate over the result to access each element: ```rust for c in "नमस्ते".chars() { @@ -376,8 +377,8 @@ This code will print the following: े ``` -The `bytes` method returns each raw byte, which might be appropriate for your -domain: +Alternatively, the `bytes` method returns each raw byte, which might be +appropriate for your domain: ```rust for b in "नमस्ते".bytes() { diff --git a/src/ch08-03-hash-maps.md b/src/ch08-03-hash-maps.md index ba77b79fd7..e6457c0427 100644 --- a/src/ch08-03-hash-maps.md +++ b/src/ch08-03-hash-maps.md @@ -1,7 +1,7 @@ ## Storing Keys with Associated Values in Hash Maps The last of our common collections is the *hash map*. The type `HashMap` -stores a mapping of keys of type `K` to values of type `V`. It does this via a +stores a mapping of keys of type `K` to values of type `V` using a *hashing function*, which determines how it places these keys and values into memory. Many programming languages support this kind of data structure, but they often use a different name, such as hash, map, object, hash table, @@ -19,10 +19,10 @@ As always, check the standard library documentation for more information. ### Creating a New Hash Map -You can create an empty hash map with `new` and add elements with `insert`. In -Listing 8-20, we’re keeping track of the scores of two teams whose names are -Blue and Yellow. The Blue team starts with 10 points, and the Yellow team -starts with 50. +One way to create an empty hash map is using `new` and adding elements with +`insert`. In Listing 8-20, we’re keeping track of the scores of two teams whose +names are *Blue* and *Yellow*. The Blue team starts with 10 points, and the +Yellow team starts with 50. ```rust {{#rustdoc_include ../listings/ch08-common-collections/listing-08-20/src/main.rs:here}} @@ -65,8 +65,8 @@ The type annotation `HashMap<_, _>` is needed here because it’s possible to want unless you specify. For the parameters for the key and value types, however, we use underscores, and Rust can infer the types that the hash map contains based on the types of the data in the vectors. In Listing 8-21, the -key type will be `String` and the value type will be `i32`, just as the types -were in Listing 8-20. +key type will be `String` and the value type will be `i32`, just as in Listing +8-20. ### Hash Maps and Ownership @@ -125,10 +125,10 @@ Blue: 10 ### Updating a Hash Map -Although the number of keys and values is growable, each key can only have one -value associated with it at a time. When you want to change the data in a hash -map, you have to decide how to handle the case when a key already has a value -assigned. You could replace the old value with the new value, completely +Although the number of key and value pairs is growable, each key can only have +one value associated with it at a time. When you want to change the data in a +hash map, you have to decide how to handle the case when a key already has a +value assigned. You could replace the old value with the new value, completely disregarding the old value. You could keep the old value and ignore the new value, only adding the new value if the key *doesn’t* already have a value. Or you could combine the old value and the new value. Let’s look at how to do each @@ -209,13 +209,13 @@ allowed by the borrowing rules. ### Hashing Functions -By default, `HashMap` uses a hashing function called SipHash that can provide +By default, `HashMap` uses a hashing function called *SipHash* that can provide resistance to Denial of Service (DoS) attacks involving hash tables[^siphash]. This is not the fastest hashing algorithm available, but the trade-off for better security that comes with the drop in performance is worth it. If you profile your code and find that the default hash function is too slow for your purposes, you can switch to another function -by specifying a different *hasher*. A hasher is a type that implements the +by specifying a different hasher. A *hasher* is a type that implements the `BuildHasher` trait. We’ll talk about traits and how to implement them in Chapter 10. You don’t necessarily have to implement your own hasher from scratch; [crates.io](https://crates.io/) has libraries shared by From d68d96576b705fcff7aa6341a9840f4de3c0ca0c Mon Sep 17 00:00:00 2001 From: Jeroen Hoek Date: Sun, 9 Jan 2022 11:55:38 +0100 Subject: [PATCH 0051/1248] =?UTF-8?q?Grammar=20(minor):=20'or'=20=E2=86=92?= =?UTF-8?q?=20'and'=20for=20enum=20variants?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix a minor grammatical error. Align with documentation of `Ordering` variants below. --- src/ch02-00-guessing-game-tutorial.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ch02-00-guessing-game-tutorial.md b/src/ch02-00-guessing-game-tutorial.md index d709dbad26..40c9ee7757 100644 --- a/src/ch02-00-guessing-game-tutorial.md +++ b/src/ch02-00-guessing-game-tutorial.md @@ -229,7 +229,7 @@ evaluated. Chapter 6 will cover enums in more detail. The purpose of these `Result` types is to encode error-handling information. -`Result`’s variants are `Ok` or `Err`. The `Ok` variant indicates the operation +`Result`’s variants are `Ok` and `Err`. The `Ok` variant indicates the operation was successful, and inside `Ok` is the successfully generated value. The `Err` variant means the operation failed, and `Err` contains information about how or why the operation failed. @@ -817,7 +817,7 @@ another guess instead of crashing the program We switch from an `expect` call to a `match` expression to move from crashing on an error to handling the error. Remember that `parse` returns a `Result` -type and `Result` is an enum that has the variants `Ok` or `Err`. We’re using a +type and `Result` is an enum that has the variants `Ok` and `Err`. We’re using a `match` expression here, as we did with the `Ordering` result of the `cmp` method. From db403a8bdfe5223d952737f54b0d9651b3e6ae1d Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 11 Jan 2022 16:27:49 -0500 Subject: [PATCH 0052/1248] Fix quotes --- src/ch06-02-match.md | 2 +- src/ch08-01-vectors.md | 2 +- src/ch08-02-strings.md | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ch06-02-match.md b/src/ch06-02-match.md index a6056e0739..aafe661f1f 100644 --- a/src/ch06-02-match.md +++ b/src/ch06-02-match.md @@ -48,7 +48,7 @@ The code associated with each arm is an expression, and the resulting value of the expression in the matching arm is the value that gets returned for the entire `match` expression. -We don't typically use curly brackets if the match arm code is short, as it is +We don’t typically use curly brackets if the match arm code is short, as it is in Listing 6-3 where each arm just returns a value. If you want to run multiple lines of code in a match arm, you must use curly brackets. For example, the following code prints “Lucky penny!” every time the method is called with a diff --git a/src/ch08-01-vectors.md b/src/ch08-01-vectors.md index 25701f53f0..04fc8d4c54 100644 --- a/src/ch08-01-vectors.md +++ b/src/ch08-01-vectors.md @@ -27,7 +27,7 @@ When we create a vector to hold a specific type, we can specify the type within angle brackets. In Listing 8-1, we’ve told Rust that the `Vec` in `v` will hold elements of the `i32` type. -More often, you'll create a `Vec` with initial values and Rust will infer +More often, you’ll create a `Vec` with initial values and Rust will infer the type of value you want to store, so you rarely need to do this type annotation. Rust conveniently provides the `vec!` macro, which will create a new vector that holds the values you give it. Listing 8-2 creates a new diff --git a/src/ch08-02-strings.md b/src/ch08-02-strings.md index 254238759f..72d6e6f0e3 100644 --- a/src/ch08-02-strings.md +++ b/src/ch08-02-strings.md @@ -132,7 +132,7 @@ If the `push_str` method took ownership of `s2`, we wouldn’t be able to print its value on the last line. However, this code works as we’d expect! The `push` method takes a single character as a parameter and adds it to the -`String`. Listing 8-17 adds the letter "l" to a `String` using the `push` +`String`. Listing 8-17 adds the letter “l” to a `String` using the `push` method. ```rust @@ -166,7 +166,7 @@ this: fn add(self, s: &str) -> String { ``` -In the standard library, you'll see `add` defined using generics. Here, we’ve +In the standard library, you’ll see `add` defined using generics. Here, we’ve substituted in concrete types for the generic ones, which is what happens when we call this method with `String` values. We’ll discuss generics in Chapter 10. This signature gives us the clues we need to understand the tricky bits of the @@ -342,7 +342,7 @@ Here, `s` will be a `&str` that contains the first 4 bytes of the string. Earlier, we mentioned that each of these characters was 2 bytes, which means `s` will be `Зд`. -If we were to try to slice only part of a character's bytes with something like +If we were to try to slice only part of a character’s bytes with something like `&hello[0..1]`, Rust would panic at runtime in the same way as if an invalid index were accessed in a vector: From f17df27fc14696912c48b8b7a7a8fa49e648088d Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 18 Jan 2022 17:40:27 -0500 Subject: [PATCH 0053/1248] Add a notice to the top of all nostarch snapshots Hopefully directing pull request authors to src, where edits should be made. --- nostarch/chapter02.md | 5 +++++ nostarch/chapter03.md | 5 +++++ nostarch/chapter04.md | 5 +++++ nostarch/chapter05.md | 5 +++++ nostarch/chapter06.md | 5 +++++ nostarch/chapter08.md | 5 +++++ nostarch/chapter09.md | 5 +++++ nostarch/chapter10.md | 5 +++++ nostarch/chapter11.md | 5 +++++ nostarch/chapter12.md | 5 +++++ nostarch/chapter14.md | 5 +++++ tools/src/bin/concat_chapters.rs | 11 ++++++++++- 12 files changed, 65 insertions(+), 1 deletion(-) diff --git a/nostarch/chapter02.md b/nostarch/chapter02.md index 6381bbe805..dcd6f256cf 100644 --- a/nostarch/chapter02.md +++ b/nostarch/chapter02.md @@ -1,3 +1,8 @@ + [TOC] diff --git a/nostarch/chapter03.md b/nostarch/chapter03.md index 2a00baffe4..f116238857 100644 --- a/nostarch/chapter03.md +++ b/nostarch/chapter03.md @@ -1,3 +1,8 @@ + [TOC] diff --git a/nostarch/chapter04.md b/nostarch/chapter04.md index 8334bf1202..e170c724d7 100644 --- a/nostarch/chapter04.md +++ b/nostarch/chapter04.md @@ -1,3 +1,8 @@ + [TOC] diff --git a/nostarch/chapter05.md b/nostarch/chapter05.md index d280447a04..121aad61a0 100644 --- a/nostarch/chapter05.md +++ b/nostarch/chapter05.md @@ -1,3 +1,8 @@ + [TOC] diff --git a/nostarch/chapter06.md b/nostarch/chapter06.md index 47ca417010..6a5eda6573 100644 --- a/nostarch/chapter06.md +++ b/nostarch/chapter06.md @@ -1,3 +1,8 @@ + [TOC] diff --git a/nostarch/chapter08.md b/nostarch/chapter08.md index 41281624f7..3e808e9175 100644 --- a/nostarch/chapter08.md +++ b/nostarch/chapter08.md @@ -1,3 +1,8 @@ + [TOC] diff --git a/nostarch/chapter09.md b/nostarch/chapter09.md index c3c4e057ba..74b13b9868 100644 --- a/nostarch/chapter09.md +++ b/nostarch/chapter09.md @@ -1,3 +1,8 @@ + [TOC] diff --git a/nostarch/chapter10.md b/nostarch/chapter10.md index b259636914..73ce7c6cb6 100644 --- a/nostarch/chapter10.md +++ b/nostarch/chapter10.md @@ -1,3 +1,8 @@ + [TOC] diff --git a/nostarch/chapter11.md b/nostarch/chapter11.md index 78a88cc827..c1f7dfa50e 100644 --- a/nostarch/chapter11.md +++ b/nostarch/chapter11.md @@ -1,3 +1,8 @@ + [TOC] diff --git a/nostarch/chapter12.md b/nostarch/chapter12.md index 49d58039d5..e8e3c400f7 100644 --- a/nostarch/chapter12.md +++ b/nostarch/chapter12.md @@ -1,3 +1,8 @@ + [TOC] diff --git a/nostarch/chapter14.md b/nostarch/chapter14.md index 506090be4a..ea57d31613 100644 --- a/nostarch/chapter14.md +++ b/nostarch/chapter14.md @@ -1,3 +1,8 @@ + [TOC] diff --git a/tools/src/bin/concat_chapters.rs b/tools/src/bin/concat_chapters.rs index 71fd86f054..6239cbc3c0 100644 --- a/tools/src/bin/concat_chapters.rs +++ b/tools/src/bin/concat_chapters.rs @@ -91,7 +91,16 @@ fn concat_files( ) -> io::Result<()> { println!("Concatenating into {}:", target_path.to_string_lossy()); let mut target = File::create(target_path)?; - target.write_all(b"\n[TOC]\n")?; + + write!(target, "\ + + +[TOC] +")?; for path in source_paths { println!(" {}", path.to_string_lossy()); From 45fe0fc9af98a214ed779d2cfac6773bdbfc708e Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 11 Jan 2022 16:47:40 -0500 Subject: [PATCH 0054/1248] Remove an outdated example that says it won't compile but it does Fixes #1656. --- src/ch15-04-rc.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/ch15-04-rc.md b/src/ch15-04-rc.md index 6b753b5e41..cea8475098 100644 --- a/src/ch15-04-rc.md +++ b/src/ch15-04-rc.md @@ -70,9 +70,8 @@ creating `c`, we’re not allowed to because `a` has been moved. We could change the definition of `Cons` to hold references instead, but then we would have to specify lifetime parameters. By specifying lifetime parameters, we would be specifying that every element in the list will live at -least as long as the entire list. The borrow checker wouldn’t let us compile -`let a = Cons(10, &Nil);` for example, because the temporary `Nil` value would -be dropped before `a` could take a reference to it. +least as long as the entire list. This is the case for the elements and lists +in Listing 15-17, but not in every scenario. Instead, we’ll change our definition of `List` to use `Rc` in place of `Box`, as shown in Listing 15-18. Each `Cons` variant will now hold a value From 676c8cda8740404f80fb9d857fc2e659af3d8110 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 11 Jan 2022 16:58:43 -0500 Subject: [PATCH 0055/1248] Add a link to a section reference --- src/ch15-02-deref.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ch15-02-deref.md b/src/ch15-02-deref.md index d7610e0332..dfcf1286aa 100644 --- a/src/ch15-02-deref.md +++ b/src/ch15-02-deref.md @@ -124,7 +124,8 @@ implement the `Deref` trait. ### Treating a Type Like a Reference by Implementing the `Deref` Trait -As discussed in Chapter 10, to implement a trait, we need to provide +As discussed in the [“Implementing a Trait on a Type”][impl-trait] section of Chapter 10, to implement a trait, we need to provide implementations for the trait’s required methods. The `Deref` trait, provided by the standard library, requires us to implement one method named `deref` that borrows `self` and returns a reference to the inner data. Listing 15-10 @@ -285,3 +286,5 @@ initial immutable reference is the only immutable reference to that data, but the borrowing rules don’t guarantee that. Therefore, Rust can’t make the assumption that converting an immutable reference to a mutable reference is possible. + +[impl-trait]: ch10-02-traits.html#implementing-a-trait-on-a-type From 76b1d01c70f39bfeff42adf2c39bce8d89c12671 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 11 Jan 2022 16:59:11 -0500 Subject: [PATCH 0056/1248] Add a back reference to tuple struct syntax. Fixes #1916 --- src/ch15-02-deref.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ch15-02-deref.md b/src/ch15-02-deref.md index dfcf1286aa..6bdf1816cf 100644 --- a/src/ch15-02-deref.md +++ b/src/ch15-02-deref.md @@ -145,9 +145,11 @@ parameter, but you don’t need to worry about them for now; we’ll cover them more detail in Chapter 19. We fill in the body of the `deref` method with `&self.0` so `deref` returns a -reference to the value we want to access with the `*` operator. The `main` -function in Listing 15-9 that calls `*` on the `MyBox` value now compiles, -and the assertions pass! +reference to the value we want to access with the `*` operator. Recall from the +[“Using Tuple Structs without Named Fields to Create Different +Types”][tuple-structs] section of Chapter 5 that `.0` accesses +the first value in a tuple struct. The `main` function in Listing 15-9 that +calls `*` on the `MyBox` value now compiles, and the assertions pass! Without the `Deref` trait, the compiler can only dereference `&` references. The `deref` method gives the compiler the ability to take a value of any type @@ -288,3 +290,4 @@ assumption that converting an immutable reference to a mutable reference is possible. [impl-trait]: ch10-02-traits.html#implementing-a-trait-on-a-type +[tuple-structs]: ch05-01-defining-structs.html#using-tuple-structs-without-named-fields-to-create-different-types From 5bebc80f61d33438f5598c1f7a20cc16be88ed08 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 19 Jan 2022 21:20:17 -0500 Subject: [PATCH 0057/1248] Change 'only difference' to 'main difference'. Fixes #1581. --- src/ch15-02-deref.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch15-02-deref.md b/src/ch15-02-deref.md index 6bdf1816cf..2bccf2cb45 100644 --- a/src/ch15-02-deref.md +++ b/src/ch15-02-deref.md @@ -67,7 +67,7 @@ reference; the dereference operator will work as shown in Listing 15-7: Listing 15-7: Using the dereference operator on a `Box` -The only difference between Listing 15-7 and Listing 15-6 is that here we set +The main difference between Listing 15-7 and Listing 15-6 is that here we set `y` to be an instance of a box pointing to a copied value of `x` rather than a reference pointing to the value of `x`. In the last assertion, we can use the dereference operator to follow the box’s pointer in the same way that we did From c351a63184ec05dfe3b3910aced71a16a3a286dc Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 19 Jan 2022 21:13:29 -0500 Subject: [PATCH 0058/1248] Snapshot of chapter 15 for nostarch --- nostarch/chapter15.md | 2001 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2001 insertions(+) create mode 100644 nostarch/chapter15.md diff --git a/nostarch/chapter15.md b/nostarch/chapter15.md new file mode 100644 index 0000000000..7645319345 --- /dev/null +++ b/nostarch/chapter15.md @@ -0,0 +1,2001 @@ + + +[TOC] + +# Smart Pointers + +A *pointer* is a general concept for a variable that contains an address in +memory. This address refers to, or “points at,” some other data. The most +common kind of pointer in Rust is a reference, which you learned about in +Chapter 4. References are indicated by the `&` symbol and borrow the value they +point to. They don’t have any special capabilities other than referring to +data. Also, they don’t have any overhead and are the kind of pointer we use +most often. + +*Smart pointers*, on the other hand, are data structures that not only act like +a pointer but also have additional metadata and capabilities. The concept of +smart pointers isn’t unique to Rust: smart pointers originated in C++ and exist +in other languages as well. In Rust, the different smart pointers defined in +the standard library provide functionality beyond that provided by references. +One example that we’ll explore in this chapter is the *reference counting* +smart pointer type. This pointer enables you to have multiple owners of data by +keeping track of the number of owners and, when no owners remain, cleaning up +the data. + +In Rust, which uses the concept of ownership and borrowing, an additional +difference between references and smart pointers is that references are +pointers that only borrow data; in contrast, in many cases, smart pointers +*own* the data they point to. + +We’ve already encountered a few smart pointers in this book, such as `String` +and `Vec` in Chapter 8, although we didn’t call them smart pointers at the +time. Both these types count as smart pointers because they own some memory and +allow you to manipulate it. They also have metadata (such as their capacity) +and extra capabilities or guarantees (such as with `String` ensuring its data +will always be valid UTF-8). + +Smart pointers are usually implemented using structs. The characteristic that +distinguishes a smart pointer from an ordinary struct is that smart pointers +implement the `Deref` and `Drop` traits. The `Deref` trait allows an instance +of the smart pointer struct to behave like a reference so you can write code +that works with either references or smart pointers. The `Drop` trait allows +you to customize the code that is run when an instance of the smart pointer +goes out of scope. In this chapter, we’ll discuss both traits and demonstrate +why they’re important to smart pointers. + +Given that the smart pointer pattern is a general design pattern used +frequently in Rust, this chapter won’t cover every existing smart pointer. Many +libraries have their own smart pointers, and you can even write your own. We’ll +cover the most common smart pointers in the standard library: + +* `Box` for allocating values on the heap +* `Rc`, a reference counting type that enables multiple ownership +* `Ref` and `RefMut`, accessed through `RefCell`, a type that enforces + the borrowing rules at runtime instead of compile time + +In addition, we’ll cover the *interior mutability* pattern where an immutable +type exposes an API for mutating an interior value. We’ll also discuss +*reference cycles*: how they can leak memory and how to prevent them. + +Let’s dive in! + +## Using `Box` to Point to Data on the Heap + +The most straightforward smart pointer is a *box*, whose type is written +`Box`. Boxes allow you to store data on the heap rather than the stack. What +remains on the stack is the pointer to the heap data. Refer to Chapter 4 to +review the difference between the stack and the heap. + +Boxes don’t have performance overhead, other than storing their data on the +heap instead of on the stack. But they don’t have many extra capabilities +either. You’ll use them most often in these situations: + +* When you have a type whose size can’t be known at compile time and you want + to use a value of that type in a context that requires an exact size +* When you have a large amount of data and you want to transfer ownership but + ensure the data won’t be copied when you do so +* When you want to own a value and you care only that it’s a type that + implements a particular trait rather than being of a specific type + +We’ll demonstrate the first situation in the “Enabling Recursive Types with +Boxes” section. In the second case, transferring ownership of a large amount of +data can take a long time because the data is copied around on the stack. To +improve performance in this situation, we can store the large amount of data on +the heap in a box. Then, only the small amount of pointer data is copied around +on the stack, while the data it references stays in one place on the heap. The +third case is known as a *trait object*, and Chapter 17 devotes an entire +section, “Using Trait Objects That Allow for Values of Different Types,” just +to that topic. So what you learn here you’ll apply again in Chapter 17! + +### Using a `Box` to Store Data on the Heap + +Before we discuss this use case for `Box`, we’ll cover the syntax and how to +interact with values stored within a `Box`. + +Listing 15-1 shows how to use a box to store an `i32` value on the heap: + +Filename: src/main.rs + +``` +fn main() { + let b = Box::new(5); + println!("b = {}", b); +} +``` + +Listing 15-1: Storing an `i32` value on the heap using a box + +We define the variable `b` to have the value of a `Box` that points to the +value `5`, which is allocated on the heap. This program will print `b = 5`; in +this case, we can access the data in the box similar to how we would if this +data were on the stack. Just like any owned value, when a box goes out of +scope, as `b` does at the end of `main`, it will be deallocated. The +deallocation happens for the box (stored on the stack) and the data it points +to (stored on the heap). + +Putting a single value on the heap isn’t very useful, so you won’t use boxes by +themselves in this way very often. Having values like a single `i32` on the +stack, where they’re stored by default, is more appropriate in the majority of +situations. Let’s look at a case where boxes allow us to define types that we +wouldn’t be allowed to if we didn’t have boxes. + +### Enabling Recursive Types with Boxes + +At compile time, Rust needs to know how much space a type takes up. One type +whose size can’t be known at compile time is a *recursive type*, where a value +can have as part of itself another value of the same type. Because this nesting +of values could theoretically continue infinitely, Rust doesn’t know how much +space a value of a recursive type needs. However, boxes have a known size, so +by inserting a box in a recursive type definition, you can have recursive types. + +Let’s explore the *cons list*, which is a data type common in functional +programming languages, as an example of a recursive type. The cons list type +we’ll define is straightforward except for the recursion; therefore, the +concepts in the example we’ll work with will be useful any time you get into +more complex situations involving recursive types. + +#### More Information About the Cons List + +A *cons list* is a data structure that comes from the Lisp programming language +and its dialects. In Lisp, the `cons` function (short for “construct function”) +constructs a new pair from its two arguments, which usually are a single value +and another pair. These pairs containing pairs form a list. + +The cons function concept has made its way into more general functional +programming jargon: “to cons *x* onto *y*” informally means to construct a new +container instance by putting the element *x* at the start of this new +container, followed by the container *y*. + +Each item in a cons list contains two elements: the value of the current item +and the next item. The last item in the list contains only a value called `Nil` +without a next item. A cons list is produced by recursively calling the `cons` +function. The canonical name to denote the base case of the recursion is `Nil`. +Note that this is not the same as the “null” or “nil” concept in Chapter 6, +which is an invalid or absent value. + +Although functional programming languages use cons lists frequently, the cons +list isn’t a commonly used data structure in Rust. Most of the time when you +have a list of items in Rust, `Vec` is a better choice to use. Other, more +complex recursive data types *are* useful in various situations, but by +starting with the cons list, we can explore how boxes let us define a recursive +data type without much distraction. + +Listing 15-2 contains an enum definition for a cons list. Note that this code +won’t compile yet because the `List` type doesn’t have a known size, which +we’ll demonstrate. + +Filename: src/main.rs + +``` +enum List { + Cons(i32, List), + Nil, +} +``` + +Listing 15-2: The first attempt at defining an enum to represent a cons list +data structure of `i32` values + +> Note: We’re implementing a cons list that holds only `i32` values for the +> purposes of this example. We could have implemented it using generics, as we +> discussed in Chapter 10, to define a cons list type that could store values of +> any type. + +Using the `List` type to store the list `1, 2, 3` would look like the code in +Listing 15-3: + +Filename: src/main.rs + +``` +use crate::List::{Cons, Nil}; + +fn main() { + let list = Cons(1, Cons(2, Cons(3, Nil))); +} +``` + +Listing 15-3: Using the `List` enum to store the list `1, 2, 3` + +The first `Cons` value holds `1` and another `List` value. This `List` value is +another `Cons` value that holds `2` and another `List` value. This `List` value +is one more `Cons` value that holds `3` and a `List` value, which is finally +`Nil`, the non-recursive variant that signals the end of the list. + +If we try to compile the code in Listing 15-3, we get the error shown in +Listing 15-4: + +``` +error[E0072]: recursive type `List` has infinite size + --> src/main.rs:1:1 + | +1 | enum List { + | ^^^^^^^^^ recursive type has infinite size +2 | Cons(i32, List), + | ---- recursive without indirection + | +help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` representable +``` + +Listing 15-4: The error we get when attempting to define a recursive enum + +The error shows this type “has infinite size.” The reason is that we’ve defined +`List` with a variant that is recursive: it holds another value of itself +directly. As a result, Rust can’t figure out how much space it needs to store a +`List` value. Let’s break down why we get this error a bit. First, let’s look +at how Rust decides how much space it needs to store a value of a non-recursive +type. + +#### Computing the Size of a Non-Recursive Type + +Recall the `Message` enum we defined in Listing 6-2 when we discussed enum +definitions in Chapter 6: + +``` +enum Message { + Quit, + Move { x: i32, y: i32 }, + Write(String), + ChangeColor(i32, i32, i32), +} +``` + +To determine how much space to allocate for a `Message` value, Rust goes +through each of the variants to see which variant needs the most space. Rust +sees that `Message::Quit` doesn’t need any space, `Message::Move` needs enough +space to store two `i32` values, and so forth. Because only one variant will be +used, the most space a `Message` value will need is the space it would take to +store the largest of its variants. + +Contrast this with what happens when Rust tries to determine how much space a +recursive type like the `List` enum in Listing 15-2 needs. The compiler starts +by looking at the `Cons` variant, which holds a value of type `i32` and a value +of type `List`. Therefore, `Cons` needs an amount of space equal to the size of +an `i32` plus the size of a `List`. To figure out how much memory the `List` +type needs, the compiler looks at the variants, starting with the `Cons` +variant. The `Cons` variant holds a value of type `i32` and a value of type +`List`, and this process continues infinitely, as shown in Figure 15-1. + +An infinite Cons list + +Figure 15-1: An infinite `List` consisting of infinite `Cons` variants + +#### Using `Box` to Get a Recursive Type with a Known Size + +Rust can’t figure out how much space to allocate for recursively defined types, +so the compiler gives the error in Listing 15-4. But the error does include +this helpful suggestion: + +``` +help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` representable +``` + +In this suggestion, “indirection” means that instead of storing a value +directly, we’ll change the data structure to store the value indirectly by +storing a pointer to the value instead. + +Because a `Box` is a pointer, Rust always knows how much space a `Box` +needs: a pointer’s size doesn’t change based on the amount of data it’s +pointing to. This means we can put a `Box` inside the `Cons` variant instead +of another `List` value directly. The `Box` will point to the next `List` +value that will be on the heap rather than inside the `Cons` variant. +Conceptually, we still have a list, created with lists “holding” other lists, +but this implementation is now more like placing the items next to one another +rather than inside one another. + +We can change the definition of the `List` enum in Listing 15-2 and the usage +of the `List` in Listing 15-3 to the code in Listing 15-5, which will compile: + +Filename: src/main.rs + +``` +enum List { + Cons(i32, Box), + Nil, +} + +use crate::List::{Cons, Nil}; + +fn main() { + let list = Cons(1, Box::new(Cons(2, Box::new(Cons(3, Box::new(Nil)))))); +} +``` + +Listing 15-5: Definition of `List` that uses `Box` in order to have a known +size + +The `Cons` variant will need the size of an `i32` plus the space to store the +box’s pointer data. The `Nil` variant stores no values, so it needs less space +than the `Cons` variant. We now know that any `List` value will take up the +size of an `i32` plus the size of a box’s pointer data. By using a box, we’ve +broken the infinite, recursive chain, so the compiler can figure out the size +it needs to store a `List` value. Figure 15-2 shows what the `Cons` variant +looks like now. + +A finite Cons list + +Figure 15-2: A `List` that is not infinitely sized because `Cons` holds a `Box` + +Boxes provide only the indirection and heap allocation; they don’t have any +other special capabilities, like those we’ll see with the other smart pointer +types. They also don’t have any performance overhead that these special +capabilities incur, so they can be useful in cases like the cons list where the +indirection is the only feature we need. We’ll look at more use cases for boxes +in Chapter 17, too. + +The `Box` type is a smart pointer because it implements the `Deref` trait, +which allows `Box` values to be treated like references. When a `Box` +value goes out of scope, the heap data that the box is pointing to is cleaned +up as well because of the `Drop` trait implementation. Let’s explore these two +traits in more detail. These two traits will be even more important to the +functionality provided by the other smart pointer types we’ll discuss in the +rest of this chapter. + +## Treating Smart Pointers Like Regular References with the `Deref` Trait + +Implementing the `Deref` trait allows you to customize the behavior of the +*dereference operator*, `*` (as opposed to the multiplication or glob +operator). By implementing `Deref` in such a way that a smart pointer can be +treated like a regular reference, you can write code that operates on +references and use that code with smart pointers too. + +Let’s first look at how the dereference operator works with regular references. +Then we’ll try to define a custom type that behaves like `Box`, and see why +the dereference operator doesn’t work like a reference on our newly defined +type. We’ll explore how implementing the `Deref` trait makes it possible for +smart pointers to work in ways similar to references. Then we’ll look at +Rust’s *deref coercion* feature and how it lets us work with either references +or smart pointers. + +> Note: there’s one big difference between the `MyBox` type we’re about to +> build and the real `Box`: our version will not store its data on the heap. +> We are focusing this example on `Deref`, so where the data is actually stored +> is less important than the pointer-like behavior. + +### Following the Pointer to the Value with the Dereference Operator + +A regular reference is a type of pointer, and one way to think of a pointer is +as an arrow to a value stored somewhere else. In Listing 15-6, we create a +reference to an `i32` value and then use the dereference operator to follow the +reference to the data: + +Filename: src/main.rs + +``` +fn main() { + [1] let x = 5; + [2] let y = &x; + + [3] assert_eq!(5, x); + [4] assert_eq!(5, *y); +} +``` + +Listing 15-6: Using the dereference operator to follow a reference to an `i32` +value + +The variable `x` holds an `i32` value, `5` [1]. We set `y` equal to a reference +to `x` [2]. We can assert that `x` is equal to `5` [3]. However, if we want to +make an assertion about the value in `y`, we have to use `*y` to follow the +reference to the value it’s pointing to (hence *dereference*) [4]. Once we +dereference `y`, we have access to the integer value `y` is pointing to that we +can compare with `5`. + +If we tried to write `assert_eq!(5, y);` instead, we would get this compilation +error: + +``` +error[E0277]: can't compare `{integer}` with `&{integer}` + --> src/main.rs:6:5 + | +6 | assert_eq!(5, y); + | ^^^^^^^^^^^^^^^^ no implementation for `{integer} == &{integer}` + | + = help: the trait `PartialEq<&{integer}>` is not implemented for `{integer}` +``` + +Comparing a number and a reference to a number isn’t allowed because they’re +different types. We must use the dereference operator to follow the reference +to the value it’s pointing to. + +### Using `Box` Like a Reference + +We can rewrite the code in Listing 15-6 to use a `Box` instead of a +reference; the dereference operator will work as shown in Listing 15-7: + +Filename: src/main.rs + +``` +fn main() { + let x = 5; + [1] let y = Box::new(x); + + assert_eq!(5, x); + [2] assert_eq!(5, *y); +} +``` + +Listing 15-7: Using the dereference operator on a `Box` + +The main difference between Listing 15-7 and Listing 15-6 is that here we set +`y` to be an instance of a box pointing to a copied value of `x` rather than a +reference pointing to the value of `x` [1]. In the last assertion [2], we can +use the dereference operator to follow the box’s pointer in the same way that +we did when `y` was a reference. Next, we’ll explore what is special about +`Box` that enables us to use the dereference operator by defining our own +box type. + +### Defining Our Own Smart Pointer + +Let’s build a smart pointer similar to the `Box` type provided by the +standard library to experience how smart pointers behave differently from +references by default. Then we’ll look at how to add the ability to use the +dereference operator. + +The `Box` type is ultimately defined as a tuple struct with one element, so +Listing 15-8 defines a `MyBox` type in the same way. We’ll also define a +`new` function to match the `new` function defined on `Box`. + +Filename: src/main.rs + +``` +[1] struct MyBox(T); + +impl MyBox { + [2] fn new(x: T) -> MyBox { + [3] MyBox(x) + } +} +``` + +Listing 15-8: Defining a `MyBox` type + +We define a struct named `MyBox` and declare a generic parameter `T` [1], +because we want our type to hold values of any type. The `MyBox` type is a +tuple struct with one element of type `T`. The `MyBox::new` function takes one +parameter of type `T` [2] and returns a `MyBox` instance that holds the value +passed in [3]. + +Let’s try adding the `main` function in Listing 15-7 to Listing 15-8 and +changing it to use the `MyBox` type we’ve defined instead of `Box`. The +code in Listing 15-9 won’t compile because Rust doesn’t know how to dereference +`MyBox`. + +Filename: src/main.rs + +``` +fn main() { + let x = 5; + let y = MyBox::new(x); + + assert_eq!(5, x); + assert_eq!(5, *y); +} +``` + +Listing 15-9: Attempting to use `MyBox` in the same way we used references +and `Box` + +Here’s the resulting compilation error: + +``` +error[E0614]: type `MyBox<{integer}>` cannot be dereferenced + --> src/main.rs:14:19 + | +14 | assert_eq!(5, *y); + | ^^ +``` + +Our `MyBox` type can’t be dereferenced because we haven’t implemented that +ability on our type. To enable dereferencing with the `*` operator, we +implement the `Deref` trait. + +### Treating a Type Like a Reference by Implementing the `Deref` Trait + +As discussed in the “Implementing a Trait on a Type” section of Chapter 10, to +implement a trait, we need to provide implementations for the trait’s required +methods. The `Deref` trait, provided by the standard library, requires us to +implement one method named `deref` that borrows `self` and returns a reference +to the inner data. Listing 15-10 contains an implementation of `Deref` to add +to the definition of `MyBox`: + +Filename: src/main.rs + +``` +use std::ops::Deref; + +impl Deref for MyBox { + [1] type Target = T; + + fn deref(&self) -> &Self::Target { + [2] &self.0 + } +} +``` + +Listing 15-10: Implementing `Deref` on `MyBox` + +The `type Target = T;` syntax [1] defines an associated type for the `Deref` +trait to use. Associated types are a slightly different way of declaring a +generic parameter, but you don’t need to worry about them for now; we’ll cover +them in more detail in Chapter 19. + +We fill in the body of the `deref` method with `&self.0` so `deref` returns a +reference to the value we want to access with the `*` operator [2]. Recall from +the “Using Tuple Structs without Named Fields to Create Different Types” +section of Chapter 5 that `.0` accesses the first value in a tuple struct. The +`main` function in Listing 15-9 that calls `*` on the `MyBox` value now +compiles, and the assertions pass! + +Without the `Deref` trait, the compiler can only dereference `&` references. +The `deref` method gives the compiler the ability to take a value of any type +that implements `Deref` and call the `deref` method to get a `&` reference that +it knows how to dereference. + +When we entered `*y` in Listing 15-9, behind the scenes Rust actually ran this +code: + +``` +*(y.deref()) +``` + +Rust substitutes the `*` operator with a call to the `deref` method and then a +plain dereference so we don’t have to think about whether or not we need to +call the `deref` method. This Rust feature lets us write code that functions +identically whether we have a regular reference or a type that implements +`Deref`. + +The reason the `deref` method returns a reference to a value, and that the plain +dereference outside the parentheses in `*(y.deref())` is still necessary, is the +ownership system. If the `deref` method returned the value directly instead of +a reference to the value, the value would be moved out of `self`. We don’t want +to take ownership of the inner value inside `MyBox` in this case or in most +cases where we use the dereference operator. + +Note that the `*` operator is replaced with a call to the `deref` method and +then a call to the `*` operator just once, each time we use a `*` in our code. +Because the substitution of the `*` operator does not recurse infinitely, we +end up with data of type `i32`, which matches the `5` in `assert_eq!` in +Listing 15-9. + +### Implicit Deref Coercions with Functions and Methods + +*Deref coercion* is a convenience that Rust performs on arguments to functions +and methods. Deref coercion works only on types that implement the `Deref` +trait. Deref coercion converts a reference to such a type into a reference to +another type. For example, deref coercion can convert `&String` to `&str` +because `String` implements the `Deref` trait such that it returns `&str`. +Deref coercion happens automatically when we pass a reference to a particular +type’s value as an argument to a function or method that doesn’t match the +parameter type in the function or method definition. A sequence of calls to the +`deref` method converts the type we provided into the type the parameter needs. + +Deref coercion was added to Rust so that programmers writing function and +method calls don’t need to add as many explicit references and dereferences +with `&` and `*`. The deref coercion feature also lets us write more code that +can work for either references or smart pointers. + +To see deref coercion in action, let’s use the `MyBox` type we defined in +Listing 15-8 as well as the implementation of `Deref` that we added in Listing +15-10. Listing 15-11 shows the definition of a function that has a string slice +parameter: + +Filename: src/main.rs + +``` +fn hello(name: &str) { + println!("Hello, {}!", name); +} +``` + +Listing 15-11: A `hello` function that has the parameter `name` of type `&str` + +We can call the `hello` function with a string slice as an argument, such as +`hello("Rust");` for example. Deref coercion makes it possible to call `hello` +with a reference to a value of type `MyBox`, as shown in Listing 15-12: + +Filename: src/main.rs + +``` +fn main() { + let m = MyBox::new(String::from("Rust")); + hello(&m); +} +``` + +Listing 15-12: Calling `hello` with a reference to a `MyBox` value, +which works because of deref coercion + +Here we’re calling the `hello` function with the argument `&m`, which is a +reference to a `MyBox` value. Because we implemented the `Deref` trait +on `MyBox` in Listing 15-10, Rust can turn `&MyBox` into `&String` +by calling `deref`. The standard library provides an implementation of `Deref` +on `String` that returns a string slice, and this is in the API documentation +for `Deref`. Rust calls `deref` again to turn the `&String` into `&str`, which +matches the `hello` function’s definition. + +If Rust didn’t implement deref coercion, we would have to write the code in +Listing 15-13 instead of the code in Listing 15-12 to call `hello` with a value +of type `&MyBox`. + +Filename: src/main.rs + +``` +fn main() { + let m = MyBox::new(String::from("Rust")); + hello(&(*m)[..]); +} +``` + +Listing 15-13: The code we would have to write if Rust didn’t have deref +coercion + +The `(*m)` dereferences the `MyBox` into a `String`. Then the `&` and +`[..]` take a string slice of the `String` that is equal to the whole string to +match the signature of `hello`. The code without deref coercions is harder to +read, write, and understand with all of these symbols involved. Deref coercion +allows Rust to handle these conversions for us automatically. + +When the `Deref` trait is defined for the types involved, Rust will analyze the +types and use `Deref::deref` as many times as necessary to get a reference to +match the parameter’s type. The number of times that `Deref::deref` needs to be +inserted is resolved at compile time, so there is no runtime penalty for taking +advantage of deref coercion! + +### How Deref Coercion Interacts with Mutability + +Similar to how you use the `Deref` trait to override the `*` operator on +immutable references, you can use the `DerefMut` trait to override the `*` +operator on mutable references. + +Rust does deref coercion when it finds types and trait implementations in three +cases: + +* From `&T` to `&U` when `T: Deref` +* From `&mut T` to `&mut U` when `T: DerefMut` +* From `&mut T` to `&U` when `T: Deref` + +The first two cases are the same except for mutability. The first case states +that if you have a `&T`, and `T` implements `Deref` to some type `U`, you can +get a `&U` transparently. The second case states that the same deref coercion +happens for mutable references. + +The third case is trickier: Rust will also coerce a mutable reference to an +immutable one. But the reverse is *not* possible: immutable references will +never coerce to mutable references. Because of the borrowing rules, if you have +a mutable reference, that mutable reference must be the only reference to that +data (otherwise, the program wouldn’t compile). Converting one mutable +reference to one immutable reference will never break the borrowing rules. +Converting an immutable reference to a mutable reference would require that the +initial immutable reference is the only immutable reference to that data, but +the borrowing rules don’t guarantee that. Therefore, Rust can’t make the +assumption that converting an immutable reference to a mutable reference is +possible. + +## Running Code on Cleanup with the `Drop` Trait + +The second trait important to the smart pointer pattern is `Drop`, which lets +you customize what happens when a value is about to go out of scope. You can +provide an implementation for the `Drop` trait on any type, and the code you +specify can be used to release resources like files or network connections. +We’re introducing `Drop` in the context of smart pointers because the +functionality of the `Drop` trait is almost always used when implementing a +smart pointer. For example, when a `Box` is dropped it will deallocate the +space on the heap that the box points to. + +In some languages, the programmer must call code to free memory or resources +every time they finish using an instance of a smart pointer. If they forget, +the system might become overloaded and crash. In Rust, you can specify that a +particular bit of code be run whenever a value goes out of scope, and the +compiler will insert this code automatically. As a result, you don’t need to be +careful about placing cleanup code everywhere in a program that an instance of +a particular type is finished with—you still won’t leak resources! + +Specify the code to run when a value goes out of scope by implementing the +`Drop` trait. The `Drop` trait requires you to implement one method named +`drop` that takes a mutable reference to `self`. To see when Rust calls `drop`, +let’s implement `drop` with `println!` statements for now. + +Listing 15-14 shows a `CustomSmartPointer` struct whose only custom +functionality is that it will print `Dropping CustomSmartPointer!` when the +instance goes out of scope. This example demonstrates when Rust runs the `drop` +function. + +Filename: src/main.rs + +``` +struct CustomSmartPointer { + data: String, +} + +[1] impl Drop for CustomSmartPointer { + fn drop(&mut self) { + [2] println!("Dropping CustomSmartPointer with data `{}`!", self.data); + } +} + +fn main() { + [3] let c = CustomSmartPointer { + data: String::from("my stuff"), + }; + [4] let d = CustomSmartPointer { + data: String::from("other stuff"), + }; + [5] println!("CustomSmartPointers created."); +[6] } +``` + +Listing 15-14: A `CustomSmartPointer` struct that implements the `Drop` trait +where we would put our cleanup code + +The `Drop` trait is included in the prelude, so we don’t need to bring it into +scope. We implement the `Drop` trait on `CustomSmartPointer` [1] and provide an +implementation for the `drop` method that calls `println!` [2]. The body of the +`drop` function is where you would place any logic that you wanted to run when +an instance of your type goes out of scope. We’re printing some text here to +demonstrate when Rust will call `drop`. + +In `main`, we create two instances of `CustomSmartPointer` [3][4] and then +print `CustomSmartPointers created` [5]. At the end of `main` [6], our +instances of `CustomSmartPointer` will go out of scope, and Rust will call the +code we put in the `drop` method [2], printing our final message. Note that we +didn’t need to call the `drop` method explicitly. + +When we run this program, we’ll see the following output: + +``` +CustomSmartPointers created. +Dropping CustomSmartPointer with data `other stuff`! +Dropping CustomSmartPointer with data `my stuff`! +``` + +Rust automatically called `drop` for us when our instances went out of scope, +calling the code we specified. Variables are dropped in the reverse order of +their creation, so `d` was dropped before `c`. This example gives you a visual +guide to how the `drop` method works; usually you would specify the cleanup +code that your type needs to run rather than a print message. + +### Dropping a Value Early with `std::mem::drop` + +Unfortunately, it’s not straightforward to disable the automatic `drop` +functionality. Disabling `drop` isn’t usually necessary; the whole point of the +`Drop` trait is that it’s taken care of automatically. Occasionally, however, +you might want to clean up a value early. One example is when using smart +pointers that manage locks: you might want to force the `drop` method that +releases the lock so that other code in the same scope can acquire the lock. +Rust doesn’t let you call the `Drop` trait’s `drop` method manually; instead +you have to call the `std::mem::drop` function provided by the standard library +if you want to force a value to be dropped before the end of its scope. + +If we try to call the `Drop` trait’s `drop` method manually by modifying the +`main` function from Listing 15-14, as shown in Listing 15-15, we’ll get a +compiler error: + +Filename: src/main.rs + +``` +fn main() { + let c = CustomSmartPointer { + data: String::from("some data"), + }; + println!("CustomSmartPointer created."); + c.drop(); + println!("CustomSmartPointer dropped before the end of main."); +} +``` + +Listing 15-15: Attempting to call the `drop` method from the `Drop` trait +manually to clean up early + +When we try to compile this code, we’ll get this error: + +``` +error[E0040]: explicit use of destructor method + --> src/main.rs:16:7 + | +16 | c.drop(); + | --^^^^-- + | | | + | | explicit destructor calls not allowed +``` + +This error message states that we’re not allowed to explicitly call `drop`. The +error message uses the term *destructor*, which is the general programming term +for a function that cleans up an instance. A *destructor* is analogous to a +*constructor*, which creates an instance. The `drop` function in Rust is one +particular destructor. + +Rust doesn’t let us call `drop` explicitly because Rust would still +automatically call `drop` on the value at the end of `main`. This would be a +*double free* error because Rust would be trying to clean up the same value +twice. + +We can’t disable the automatic insertion of `drop` when a value goes out of +scope, and we can’t call the `drop` method explicitly. So, if we need to force +a value to be cleaned up early, we can use the `std::mem::drop` function. + +The `std::mem::drop` function is different from the `drop` method in the `Drop` +trait. We call it by passing the value we want to force to be dropped early as +an argument. The function is in the prelude, so we can modify `main` in Listing +15-15 to call the `drop` function, as shown in Listing 15-16: + +Filename: src/main.rs + +``` +fn main() { + let c = CustomSmartPointer { + data: String::from("some data"), + }; + println!("CustomSmartPointer created."); + drop(c); + println!("CustomSmartPointer dropped before the end of main."); +} +``` + +Listing 15-16: Calling `std::mem::drop` to explicitly drop a value before it +goes out of scope + +Running this code will print the following: + +``` +CustomSmartPointer created. +Dropping CustomSmartPointer with data `some data`! +CustomSmartPointer dropped before the end of main. +``` + +The text ```Dropping CustomSmartPointer with data `some data`!``` is printed +between the `CustomSmartPointer created.` and `CustomSmartPointer dropped +before the end of main.` text, showing that the `drop` method code is called to +drop `c` at that point. + +You can use code specified in a `Drop` trait implementation in many ways to +make cleanup convenient and safe: for instance, you could use it to create your +own memory allocator! With the `Drop` trait and Rust’s ownership system, you +don’t have to remember to clean up because Rust does it automatically. + +You also don’t have to worry about problems resulting from accidentally +cleaning up values still in use: the ownership system that makes sure +references are always valid also ensures that `drop` gets called only once when +the value is no longer being used. + +Now that we’ve examined `Box` and some of the characteristics of smart +pointers, let’s look at a few other smart pointers defined in the standard +library. + +## `Rc`, the Reference Counted Smart Pointer + +In the majority of cases, ownership is clear: you know exactly which variable +owns a given value. However, there are cases when a single value might have +multiple owners. For example, in graph data structures, multiple edges might +point to the same node, and that node is conceptually owned by all of the edges +that point to it. A node shouldn’t be cleaned up unless it doesn’t have any +edges pointing to it. + +To enable multiple ownership, Rust has a type called `Rc`, which is an +abbreviation for *reference counting*. The `Rc` type keeps track of the +number of references to a value to determine whether or not the value is still +in use. If there are zero references to a value, the value can be cleaned up +without any references becoming invalid. + +Imagine `Rc` as a TV in a family room. When one person enters to watch TV, +they turn it on. Others can come into the room and watch the TV. When the last +person leaves the room, they turn off the TV because it’s no longer being used. +If someone turns off the TV while others are still watching it, there would be +uproar from the remaining TV watchers! + +We use the `Rc` type when we want to allocate some data on the heap for +multiple parts of our program to read and we can’t determine at compile time +which part will finish using the data last. If we knew which part would finish +last, we could just make that part the data’s owner, and the normal ownership +rules enforced at compile time would take effect. + +Note that `Rc` is only for use in single-threaded scenarios. When we discuss +concurrency in Chapter 16, we’ll cover how to do reference counting in +multithreaded programs. + +### Using `Rc` to Share Data + +Let’s return to our cons list example in Listing 15-5. Recall that we defined +it using `Box`. This time, we’ll create two lists that both share ownership +of a third list. Conceptually, this looks similar to Figure 15-3: + +Two lists that share ownership of a third list + +Figure 15-3: Two lists, `b` and `c`, sharing ownership of a third list, `a` + +We’ll create list `a` that contains 5 and then 10. Then we’ll make two more +lists: `b` that starts with 3 and `c` that starts with 4. Both `b` and `c` +lists will then continue on to the first `a` list containing 5 and 10. In other +words, both lists will share the first list containing 5 and 10. + +Trying to implement this scenario using our definition of `List` with `Box` +won’t work, as shown in Listing 15-17: + +Filename: src/main.rs + +``` +enum List { + Cons(i32, Box), + Nil, +} + +use crate::List::{Cons, Nil}; + +fn main() { + let a = Cons(5, Box::new(Cons(10, Box::new(Nil)))); +[1] let b = Cons(3, Box::new(a)); +[2] let c = Cons(4, Box::new(a)); +} +``` + +Listing 15-17: Demonstrating we’re not allowed to have two lists using `Box` +that try to share ownership of a third list + +When we compile this code, we get this error: + +``` +error[E0382]: use of moved value: `a` + --> src/main.rs:11:30 + | +9 | let a = Cons(5, Box::new(Cons(10, Box::new(Nil)))); + | - move occurs because `a` has type `List`, which does not implement the `Copy` trait +10 | let b = Cons(3, Box::new(a)); + | - value moved here +11 | let c = Cons(4, Box::new(a)); + | ^ value used here after move +``` + +The `Cons` variants own the data they hold, so when we create the `b` list [1], +`a` is moved into `b` and `b` owns `a`. Then, when we try to use `a` again when +creating `c` [2], we’re not allowed to because `a` has been moved. + +We could change the definition of `Cons` to hold references instead, but then +we would have to specify lifetime parameters. By specifying lifetime +parameters, we would be specifying that every element in the list will live at +least as long as the entire list. This is the case for the elements and lists +in Listing 15-17, but not in every scenario. + +Instead, we’ll change our definition of `List` to use `Rc` in place of +`Box`, as shown in Listing 15-18. Each `Cons` variant will now hold a value +and an `Rc` pointing to a `List`. When we create `b`, instead of taking +ownership of `a`, we’ll clone the `Rc` that `a` is holding, thereby +increasing the number of references from one to two and letting `a` and `b` +share ownership of the data in that `Rc`. We’ll also clone `a` when +creating `c`, increasing the number of references from two to three. Every time +we call `Rc::clone`, the reference count to the data within the `Rc` will +increase, and the data won’t be cleaned up unless there are zero references to +it. + +Filename: src/main.rs + +``` +enum List { + Cons(i32, Rc), + Nil, +} + +use crate::List::{Cons, Nil}; +[1] use std::rc::Rc; + +fn main() { +[2] let a = Rc::new(Cons(5, Rc::new(Cons(10, Rc::new(Nil))))); +[3] let b = Cons(3, Rc::clone(&a)); +[4] let c = Cons(4, Rc::clone(&a)); +} +``` + +Listing 15-18: A definition of `List` that uses `Rc` + +We need to add a `use` statement to bring `Rc` into scope [1] because it’s +not in the prelude. In `main`, we create the list holding 5 and 10 and store it +in a new `Rc` in `a` [2]. Then when we create `b` [3] and `c` [4], we +call the `Rc::clone` function and pass a reference to the `Rc` in `a` as +an argument. + +We could have called `a.clone()` rather than `Rc::clone(&a)`, but Rust’s +convention is to use `Rc::clone` in this case. The implementation of +`Rc::clone` doesn’t make a deep copy of all the data like most types’ +implementations of `clone` do. The call to `Rc::clone` only increments the +reference count, which doesn’t take much time. Deep copies of data can take a +lot of time. By using `Rc::clone` for reference counting, we can visually +distinguish between the deep-copy kinds of clones and the kinds of clones that +increase the reference count. When looking for performance problems in the +code, we only need to consider the deep-copy clones and can disregard calls to +`Rc::clone`. + +### Cloning an `Rc` Increases the Reference Count + +Let’s change our working example in Listing 15-18 so we can see the reference +counts changing as we create and drop references to the `Rc` in `a`. + +In Listing 15-19, we’ll change `main` so it has an inner scope around list `c`; +then we can see how the reference count changes when `c` goes out of scope. + +Filename: src/main.rs + +``` +fn main() { + let a = Rc::new(Cons(5, Rc::new(Cons(10, Rc::new(Nil))))); + println!("count after creating a = {}", Rc::strong_count(&a)); + let b = Cons(3, Rc::clone(&a)); + println!("count after creating b = {}", Rc::strong_count(&a)); + { + let c = Cons(4, Rc::clone(&a)); + println!("count after creating c = {}", Rc::strong_count(&a)); + } + println!("count after c goes out of scope = {}", Rc::strong_count(&a)); +} +``` + +Listing 15-19: Printing the reference count + +At each point in the program where the reference count changes, we print the +reference count, which we can get by calling the `Rc::strong_count` function. +This function is named `strong_count` rather than `count` because the `Rc` +type also has a `weak_count`; we’ll see what `weak_count` is used for in the +“Preventing Reference Cycles: Turning an `Rc` into a `Weak`” section. + +This code prints the following: + +``` +count after creating a = 1 +count after creating b = 2 +count after creating c = 3 +count after c goes out of scope = 2 +``` + +We can see that the `Rc` in `a` has an initial reference count of 1; then +each time we call `clone`, the count goes up by 1. When `c` goes out of scope, +the count goes down by 1. We don’t have to call a function to decrease the +reference count like we have to call `Rc::clone` to increase the reference +count: the implementation of the `Drop` trait decreases the reference count +automatically when an `Rc` value goes out of scope. + +What we can’t see in this example is that when `b` and then `a` go out of scope +at the end of `main`, the count is then 0, and the `Rc` is cleaned up +completely at that point. Using `Rc` allows a single value to have +multiple owners, and the count ensures that the value remains valid as long as +any of the owners still exist. + +Via immutable references, `Rc` allows you to share data between multiple +parts of your program for reading only. If `Rc` allowed you to have multiple +mutable references too, you might violate one of the borrowing rules discussed +in Chapter 4: multiple mutable borrows to the same place can cause data races +and inconsistencies. But being able to mutate data is very useful! In the next +section, we’ll discuss the interior mutability pattern and the `RefCell` +type that you can use in conjunction with an `Rc` to work with this +immutability restriction. + +## `RefCell` and the Interior Mutability Pattern + +*Interior mutability* is a design pattern in Rust that allows you to mutate +data even when there are immutable references to that data; normally, this +action is disallowed by the borrowing rules. To mutate data, the pattern uses +`unsafe` code inside a data structure to bend Rust’s usual rules that govern +mutation and borrowing. We haven’t yet covered unsafe code; we will in Chapter +19. We can use types that use the interior mutability pattern when we can +ensure that the borrowing rules will be followed at runtime, even though the +compiler can’t guarantee that. The `unsafe` code involved is then wrapped in a +safe API, and the outer type is still immutable. + +Let’s explore this concept by looking at the `RefCell` type that follows the +interior mutability pattern. + +### Enforcing Borrowing Rules at Runtime with `RefCell` + +Unlike `Rc`, the `RefCell` type represents single ownership over the data +it holds. So, what makes `RefCell` different from a type like `Box`? +Recall the borrowing rules you learned in Chapter 4: + +* At any given time, you can have *either* (but not both of) one mutable + reference or any number of immutable references. +* References must always be valid. + +With references and `Box`, the borrowing rules’ invariants are enforced at +compile time. With `RefCell`, these invariants are enforced *at runtime*. +With references, if you break these rules, you’ll get a compiler error. With +`RefCell`, if you break these rules, your program will panic and exit. + +The advantages of checking the borrowing rules at compile time are that errors +will be caught sooner in the development process, and there is no impact on +runtime performance because all the analysis is completed beforehand. For those +reasons, checking the borrowing rules at compile time is the best choice in the +majority of cases, which is why this is Rust’s default. + +The advantage of checking the borrowing rules at runtime instead is that +certain memory-safe scenarios are then allowed, whereas they are disallowed by +the compile-time checks. Static analysis, like the Rust compiler, is inherently +conservative. Some properties of code are impossible to detect by analyzing the +code: the most famous example is the Halting Problem, which is beyond the scope +of this book but is an interesting topic to research. + +Because some analysis is impossible, if the Rust compiler can’t be sure the +code complies with the ownership rules, it might reject a correct program; in +this way, it’s conservative. If Rust accepted an incorrect program, users +wouldn’t be able to trust in the guarantees Rust makes. However, if Rust +rejects a correct program, the programmer will be inconvenienced, but nothing +catastrophic can occur. The `RefCell` type is useful when you’re sure your +code follows the borrowing rules but the compiler is unable to understand and +guarantee that. + +Similar to `Rc`, `RefCell` is only for use in single-threaded scenarios +and will give you a compile-time error if you try using it in a multithreaded +context. We’ll talk about how to get the functionality of `RefCell` in a +multithreaded program in Chapter 16. + +Here is a recap of the reasons to choose `Box`, `Rc`, or `RefCell`: + +* `Rc` enables multiple owners of the same data; `Box` and `RefCell` + have single owners. +* `Box` allows immutable or mutable borrows checked at compile time; `Rc` + allows only immutable borrows checked at compile time; `RefCell` allows + immutable or mutable borrows checked at runtime. +* Because `RefCell` allows mutable borrows checked at runtime, you can + mutate the value inside the `RefCell` even when the `RefCell` is + immutable. + +Mutating the value inside an immutable value is the *interior mutability* +pattern. Let’s look at a situation in which interior mutability is useful and +examine how it’s possible. + +### Interior Mutability: A Mutable Borrow to an Immutable Value + +A consequence of the borrowing rules is that when you have an immutable value, +you can’t borrow it mutably. For example, this code won’t compile: + +``` +fn main() { + let x = 5; + let y = &mut x; +} +``` + +If you tried to compile this code, you’d get the following error: + +``` +error[E0596]: cannot borrow `x` as mutable, as it is not declared as mutable + --> src/main.rs:3:13 + | +2 | let x = 5; + | - help: consider changing this to be mutable: `mut x` +3 | let y = &mut x; + | ^^^^^^ cannot borrow as mutable +``` + +However, there are situations in which it would be useful for a value to mutate +itself in its methods but appear immutable to other code. Code outside the +value’s methods would not be able to mutate the value. Using `RefCell` is +one way to get the ability to have interior mutability. But `RefCell` +doesn’t get around the borrowing rules completely: the borrow checker in the +compiler allows this interior mutability, and the borrowing rules are checked +at runtime instead. If you violate the rules, you’ll get a `panic!` instead of +a compiler error. + +Let’s work through a practical example where we can use `RefCell` to mutate +an immutable value and see why that is useful. + +#### A Use Case for Interior Mutability: Mock Objects + +A *test double* is the general programming concept for a type used in place of +another type during testing. *Mock objects* are specific types of test doubles +that record what happens during a test so you can assert that the correct +actions took place. + +Rust doesn’t have objects in the same sense as other languages have objects, +and Rust doesn’t have mock object functionality built into the standard library +as some other languages do. However, you can definitely create a struct that +will serve the same purposes as a mock object. + +Here’s the scenario we’ll test: we’ll create a library that tracks a value +against a maximum value and sends messages based on how close to the maximum +value the current value is. This library could be used to keep track of a +user’s quota for the number of API calls they’re allowed to make, for example. + +Our library will only provide the functionality of tracking how close to the +maximum a value is and what the messages should be at what times. Applications +that use our library will be expected to provide the mechanism for sending the +messages: the application could put a message in the application, send an +email, send a text message, or something else. The library doesn’t need to know +that detail. All it needs is something that implements a trait we’ll provide +called `Messenger`. Listing 15-20 shows the library code: + +Filename: src/lib.rs + +``` +pub trait Messenger { +[1] fn send(&self, msg: &str); +} + +pub struct LimitTracker<'a, T: Messenger> { + messenger: &'a T, + value: usize, + max: usize, +} + +impl<'a, T> LimitTracker<'a, T> +where + T: Messenger, +{ + pub fn new(messenger: &T, max: usize) -> LimitTracker { + LimitTracker { + messenger, + value: 0, + max, + } + } + +[2] pub fn set_value(&mut self, value: usize) { + self.value = value; + + let percentage_of_max = self.value as f64 / self.max as f64; + + if percentage_of_max >= 1.0 { + self.messenger.send("Error: You are over your quota!"); + } else if percentage_of_max >= 0.9 { + self.messenger + .send("Urgent warning: You've used up over 90% of your quota!"); + } else if percentage_of_max >= 0.75 { + self.messenger + .send("Warning: You've used up over 75% of your quota!"); + } + } +} +``` + +Listing 15-20: A library to keep track of how close a value is to a maximum +value and warn when the value is at certain levels + +One important part of this code is that the `Messenger` trait has one method +called `send` that takes an immutable reference to `self` and the text of the +message [1]. This trait is the interface our mock object needs to implement so +that the mock can be used in the same way a real object is. The other important +part is that we want to test the behavior of the `set_value` method on the +`LimitTracker` [2]. We can change what we pass in for the `value` parameter, +but `set_value` doesn’t return anything for us to make assertions on. We want +to be able to say that if we create a `LimitTracker` with something that +implements the `Messenger` trait and a particular value for `max`, when we pass +different numbers for `value`, the messenger is told to send the appropriate +messages. + +We need a mock object that, instead of sending an email or text message when we +call `send`, will only keep track of the messages it’s told to send. We can +create a new instance of the mock object, create a `LimitTracker` that uses the +mock object, call the `set_value` method on `LimitTracker`, and then check that +the mock object has the messages we expect. Listing 15-21 shows an attempt to +implement a mock object to do just that, but the borrow checker won’t allow it: + +Filename: src/lib.rs + +``` +#[cfg(test)] +mod tests { + use super::*; + + [1] struct MockMessenger { + [2] sent_messages: Vec, + } + + impl MockMessenger { + [3] fn new() -> MockMessenger { + MockMessenger { + sent_messages: vec![], + } + } + } + + [4] impl Messenger for MockMessenger { + fn send(&self, message: &str) { + [5] self.sent_messages.push(String::from(message)); + } + } + + #[test] + [6] fn it_sends_an_over_75_percent_warning_message() { + let mock_messenger = MockMessenger::new(); + let mut limit_tracker = LimitTracker::new(&mock_messenger, 100); + + limit_tracker.set_value(80); + + assert_eq!(mock_messenger.sent_messages.len(), 1); + } +} +``` + +Listing 15-21: An attempt to implement a `MockMessenger` that isn’t allowed by +the borrow checker + +This test code defines a `MockMessenger` struct [1] that has a `sent_messages` +field with a `Vec` of `String` values [2] to keep track of the messages it’s +told to send. We also define an associated function `new` [3] to make it +convenient to create new `MockMessenger` values that start with an empty list +of messages. We then implement the `Messenger` trait for `MockMessenger` [4] so +we can give a `MockMessenger` to a `LimitTracker`. In the definition of the +`send` method [5], we take the message passed in as a parameter and store it in +the `MockMessenger` list of `sent_messages`. + +In the test, we’re testing what happens when the `LimitTracker` is told to set +`value` to something that is more than 75 percent of the `max` value [6]. +First, we create a new `MockMessenger`, which will start with an empty list of +messages. Then we create a new `LimitTracker` and give it a reference to the +new `MockMessenger` and a `max` value of 100. We call the `set_value` method on +the `LimitTracker` with a value of 80, which is more than 75 percent of 100. +Then we assert that the list of messages that the `MockMessenger` is keeping +track of should now have one message in it. + +However, there’s one problem with this test, as shown here: + +``` +error[E0596]: cannot borrow `self.sent_messages` as mutable, as it is behind a `&` reference + --> src/lib.rs:58:13 + | +2 | fn send(&self, msg: &str); + | ----- help: consider changing that to be a mutable reference: `&mut self` +... +58 | self.sent_messages.push(String::from(message)); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `self` is a `&` reference, so the data it refers to cannot be borrowed as mutable +``` + +We can’t modify the `MockMessenger` to keep track of the messages, because the +`send` method takes an immutable reference to `self`. We also can’t take the +suggestion from the error text to use `&mut self` instead, because then the +signature of `send` wouldn’t match the signature in the `Messenger` trait +definition (feel free to try and see what error message you get). + +This is a situation in which interior mutability can help! We’ll store the +`sent_messages` within a `RefCell`, and then the `send` method will be +able to modify `sent_messages` to store the messages we’ve seen. Listing 15-22 +shows what that looks like: + +Filename: src/lib.rs + +``` +#[cfg(test)] +mod tests { + use super::*; + use std::cell::RefCell; + + struct MockMessenger { + [1] sent_messages: RefCell>, + } + + impl MockMessenger { + fn new() -> MockMessenger { + MockMessenger { + sent_messages: RefCell::new(vec![]) [2], + } + } + } + + impl Messenger for MockMessenger { + fn send(&self, message: &str) { + [3] self.sent_messages.borrow_mut().push(String::from(message)); + } + } + + #[test] + fn it_sends_an_over_75_percent_warning_message() { + // --snip-- + + [4] assert_eq!(mock_messenger.sent_messages.borrow().len(), 1); + } +} +``` + +Listing 15-22: Using `RefCell` to mutate an inner value while the outer +value is considered immutable + +The `sent_messages` field is now of type `RefCell>` [1] instead of +`Vec`. In the `new` function, we create a new `RefCell>` +instance around the empty vector [2]. + +For the implementation of the `send` method, the first parameter is still an +immutable borrow of `self`, which matches the trait definition. We call +`borrow_mut` on the `RefCell>` in `self.sent_messages` [3] to get a +mutable reference to the value inside the `RefCell>`, which is +the vector. Then we can call `push` on the mutable reference to the vector to +keep track of the messages sent during the test. + +The last change we have to make is in the assertion: to see how many items are +in the inner vector, we call `borrow` on the `RefCell>` to get an +immutable reference to the vector [4]. + +Now that you’ve seen how to use `RefCell`, let’s dig into how it works! + +#### Keeping Track of Borrows at Runtime with `RefCell` + +When creating immutable and mutable references, we use the `&` and `&mut` +syntax, respectively. With `RefCell`, we use the `borrow` and `borrow_mut` +methods, which are part of the safe API that belongs to `RefCell`. The +`borrow` method returns the smart pointer type `Ref`, and `borrow_mut` +returns the smart pointer type `RefMut`. Both types implement `Deref`, so we +can treat them like regular references. + +The `RefCell` keeps track of how many `Ref` and `RefMut` smart +pointers are currently active. Every time we call `borrow`, the `RefCell` +increases its count of how many immutable borrows are active. When a `Ref` +value goes out of scope, the count of immutable borrows goes down by one. Just +like the compile-time borrowing rules, `RefCell` lets us have many immutable +borrows or one mutable borrow at any point in time. + +If we try to violate these rules, rather than getting a compiler error as we +would with references, the implementation of `RefCell` will panic at +runtime. Listing 15-23 shows a modification of the implementation of `send` in +Listing 15-22. We’re deliberately trying to create two mutable borrows active +for the same scope to illustrate that `RefCell` prevents us from doing this +at runtime. + +Filename: src/lib.rs + +``` + impl Messenger for MockMessenger { + fn send(&self, message: &str) { + let mut one_borrow = self.sent_messages.borrow_mut(); + let mut two_borrow = self.sent_messages.borrow_mut(); + + one_borrow.push(String::from(message)); + two_borrow.push(String::from(message)); + } + } +``` + +Listing 15-23: Creating two mutable references in the same scope to see that +`RefCell` will panic + +We create a variable `one_borrow` for the `RefMut` smart pointer returned +from `borrow_mut`. Then we create another mutable borrow in the same way in the +variable `two_borrow`. This makes two mutable references in the same scope, +which isn’t allowed. When we run the tests for our library, the code in Listing +15-23 will compile without any errors, but the test will fail: + +``` +---- tests::it_sends_an_over_75_percent_warning_message stdout ---- +thread 'main' panicked at 'already borrowed: BorrowMutError', src/lib.rs:60:53 +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +``` + +Notice that the code panicked with the message `already borrowed: +BorrowMutError`. This is how `RefCell` handles violations of the borrowing +rules at runtime. + +Catching borrowing errors at runtime rather than compile time means that you +would find a mistake in your code later in the development process and possibly +not until your code was deployed to production. Also, your code would incur a +small runtime performance penalty as a result of keeping track of the borrows +at runtime rather than compile time. However, using `RefCell` makes it +possible to write a mock object that can modify itself to keep track of the +messages it has seen while you’re using it in a context where only immutable +values are allowed. You can use `RefCell` despite its trade-offs to get more +functionality than regular references provide. + +### Having Multiple Owners of Mutable Data by Combining `Rc` and `RefCell` + +A common way to use `RefCell` is in combination with `Rc`. Recall that +`Rc` lets you have multiple owners of some data, but it only gives immutable +access to that data. If you have an `Rc` that holds a `RefCell`, you can +get a value that can have multiple owners *and* that you can mutate! + +For example, recall the cons list example in Listing 15-18 where we used +`Rc` to allow multiple lists to share ownership of another list. Because +`Rc` holds only immutable values, we can’t change any of the values in the +list once we’ve created them. Let’s add in `RefCell` to gain the ability to +change the values in the lists. Listing 15-24 shows that by using a +`RefCell` in the `Cons` definition, we can modify the value stored in all +the lists: + +Filename: src/main.rs + +``` +#[derive(Debug)] +enum List { + Cons(Rc>, Rc), + Nil, +} + +use crate::List::{Cons, Nil}; +use std::cell::RefCell; +use std::rc::Rc; + +fn main() { + [1] let value = Rc::new(RefCell::new(5)); + + [2] let a = Rc::new(Cons(Rc::clone(&value), Rc::new(Nil))); + + let b = Cons(Rc::new(RefCell::new(3)), Rc::clone(&a)); + let c = Cons(Rc::new(RefCell::new(4)), Rc::clone(&a)); + + [3] *value.borrow_mut() += 10; + + println!("a after = {:?}", a); + println!("b after = {:?}", b); + println!("c after = {:?}", c); +} +``` + +Listing 15-24: Using `Rc>` to create a `List` that we can mutate + +We create a value that is an instance of `Rc>` and store it in a +variable named `value` [1] so we can access it directly later. Then we create a +`List` in `a` with a `Cons` variant that holds `value` [2]. We need to clone +`value` so both `a` and `value` have ownership of the inner `5` value rather +than transferring ownership from `value` to `a` or having `a` borrow from +`value`. + +We wrap the list `a` in an `Rc` so when we create lists `b` and `c`, they +can both refer to `a`, which is what we did in Listing 15-18. + +After we’ve created the lists in `a`, `b`, and `c`, we add 10 to the value in +`value` [3]. We do this by calling `borrow_mut` on `value`, which uses the +automatic dereferencing feature we discussed in Chapter 5 (see the section +“Where’s the `->` Operator?”) to dereference the `Rc` to the inner +`RefCell` value. The `borrow_mut` method returns a `RefMut` smart +pointer, and we use the dereference operator on it and change the inner value. + +When we print `a`, `b`, and `c`, we can see that they all have the modified +value of 15 rather than 5: + +``` +a after = Cons(RefCell { value: 15 }, Nil) +b after = Cons(RefCell { value: 3 }, Cons(RefCell { value: 15 }, Nil)) +c after = Cons(RefCell { value: 4 }, Cons(RefCell { value: 15 }, Nil)) +``` + +This technique is pretty neat! By using `RefCell`, we have an outwardly +immutable `List` value. But we can use the methods on `RefCell` that provide +access to its interior mutability so we can modify our data when we need to. +The runtime checks of the borrowing rules protect us from data races, and it’s +sometimes worth trading a bit of speed for this flexibility in our data +structures. + +The standard library has other types that provide interior mutability, such as +`Cell`, which is similar except that instead of giving references to the +inner value, the value is copied in and out of the `Cell`. There’s also +`Mutex`, which offers interior mutability that’s safe to use across threads; +we’ll discuss its use in Chapter 16. Check out the standard library docs for +more details on the differences between these types. + +## Reference Cycles Can Leak Memory + +Rust’s memory safety guarantees make it difficult, but not impossible, to +accidentally create memory that is never cleaned up (known as a *memory leak*). +Preventing memory leaks entirely is not one of Rust’s guarantees, meaning +memory leaks are memory safe in Rust. We can see that Rust allows memory leaks +by using `Rc` and `RefCell`: it’s possible to create references where +items refer to each other in a cycle. This creates memory leaks because the +reference count of each item in the cycle will never reach 0, and the values +will never be dropped. + +### Creating a Reference Cycle + +Let’s look at how a reference cycle might happen and how to prevent it, +starting with the definition of the `List` enum and a `tail` method in Listing +15-25: + +Filename: src/main.rs + +``` +use crate::List::{Cons, Nil}; +use std::cell::RefCell; +use std::rc::Rc; + +#[derive(Debug)] +enum List { + [1] Cons(i32, RefCell>), + Nil, +} + +impl List { + [2] fn tail(&self) -> Option<&RefCell>> { + match self { + Cons(_, item) => Some(item), + Nil => None, + } + } +} +``` + +Listing 15-25: A cons list definition that holds a `RefCell` so we can +modify what a `Cons` variant is referring to + +We’re using another variation of the `List` definition from Listing 15-5. The +second element in the `Cons` variant is now `RefCell>` [1], meaning +that instead of having the ability to modify the `i32` value as we did in +Listing 15-24, we want to modify which `List` value a `Cons` variant is +pointing to. We’re also adding a `tail` method [2] to make it convenient for us +to access the second item if we have a `Cons` variant. + +In Listing 15-26, we’re adding a `main` function that uses the definitions in +Listing 15-25. This code creates a list in `a` and a list in `b` that points to +the list in `a`. Then it modifies the list in `a` to point to `b`, creating a +reference cycle. There are `println!` statements along the way to show what the +reference counts are at various points in this process. + +Filename: src/main.rs + +``` +fn main() { + [1] let a = Rc::new(Cons(5, RefCell::new(Rc::new(Nil)))); + + println!("a initial rc count = {}", Rc::strong_count(&a)); + println!("a next item = {:?}", a.tail()); + + [2] let b = Rc::new(Cons(10, RefCell::new(Rc::clone(&a)))); + + println!("a rc count after b creation = {}", Rc::strong_count(&a)); + println!("b initial rc count = {}", Rc::strong_count(&b)); + println!("b next item = {:?}", b.tail()); + + [3] if let Some(link) = a.tail() { + [4] *link.borrow_mut() = Rc::clone(&b); + } + + println!("b rc count after changing a = {}", Rc::strong_count(&b)); + println!("a rc count after changing a = {}", Rc::strong_count(&a)); + + // Uncomment the next line to see that we have a cycle; + // it will overflow the stack + // println!("a next item = {:?}", a.tail()); +} +``` + +Listing 15-26: Creating a reference cycle of two `List` values pointing to each +other + +We create an `Rc` instance holding a `List` value in the variable `a` +with an initial list of `5, Nil` [1]. We then create an `Rc` instance +holding another `List` value in the variable `b` that contains the value 10 and +points to the list in `a` [2]. + +We modify `a` so it points to `b` instead of `Nil`, creating a cycle. We do +that by using the `tail` method to get a reference to the `RefCell>` +in `a`, which we put in the variable `link` [3]. Then we use the `borrow_mut` +method on the `RefCell>` to change the value inside from an `Rc` +that holds a `Nil` value to the `Rc` in `b` [4]. + +When we run this code, keeping the last `println!` commented out for the +moment, we’ll get this output: + +``` +a initial rc count = 1 +a next item = Some(RefCell { value: Nil }) +a rc count after b creation = 2 +b initial rc count = 1 +b next item = Some(RefCell { value: Cons(5, RefCell { value: Nil }) }) +b rc count after changing a = 2 +a rc count after changing a = 2 +``` + +The reference count of the `Rc` instances in both `a` and `b` are 2 after +we change the list in `a` to point to `b`. At the end of `main`, Rust drops the +variable `b`, which decreases the reference count of the `Rc` instance +from 2 to 1. The memory that `Rc` has on the heap won’t be dropped at +this point, because its reference count is 1, not 0. Then Rust drops `a`, which +decreases the reference count of the `a` `Rc` instance from 2 to 1 as +well. This instance’s memory can’t be dropped either, because the other +`Rc` instance still refers to it. The memory allocated to the list will +remain uncollected forever. To visualize this reference cycle, we’ve created a +diagram in Figure 15-4. + +Reference cycle of lists + +Figure 15-4: A reference cycle of lists `a` and `b` pointing to each other + +If you uncomment the last `println!` and run the program, Rust will try to +print this cycle with `a` pointing to `b` pointing to `a` and so forth until it +overflows the stack. + +In this case, right after we create the reference cycle, the program ends. The +consequences of this cycle aren’t very dire. However, if a more complex program +allocated lots of memory in a cycle and held onto it for a long time, the +program would use more memory than it needed and might overwhelm the system, +causing it to run out of available memory. + +Creating reference cycles is not easily done, but it’s not impossible either. +If you have `RefCell` values that contain `Rc` values or similar nested +combinations of types with interior mutability and reference counting, you must +ensure that you don’t create cycles; you can’t rely on Rust to catch them. +Creating a reference cycle would be a logic bug in your program that you should +use automated tests, code reviews, and other software development practices to +minimize. + +Another solution for avoiding reference cycles is reorganizing your data +structures so that some references express ownership and some references don’t. +As a result, you can have cycles made up of some ownership relationships and +some non-ownership relationships, and only the ownership relationships affect +whether or not a value can be dropped. In Listing 15-25, we always want `Cons` +variants to own their list, so reorganizing the data structure isn’t possible. +Let’s look at an example using graphs made up of parent nodes and child nodes +to see when non-ownership relationships are an appropriate way to prevent +reference cycles. + +### Preventing Reference Cycles: Turning an `Rc` into a `Weak` + +So far, we’ve demonstrated that calling `Rc::clone` increases the +`strong_count` of an `Rc` instance, and an `Rc` instance is only cleaned +up if its `strong_count` is 0. You can also create a *weak reference* to the +value within an `Rc` instance by calling `Rc::downgrade` and passing a +reference to the `Rc`. When you call `Rc::downgrade`, you get a smart +pointer of type `Weak`. Instead of increasing the `strong_count` in the +`Rc` instance by 1, calling `Rc::downgrade` increases the `weak_count` by 1. +The `Rc` type uses `weak_count` to keep track of how many `Weak` +references exist, similar to `strong_count`. The difference is the `weak_count` +doesn’t need to be 0 for the `Rc` instance to be cleaned up. + +Strong references are how you can share ownership of an `Rc` instance. Weak +references don’t express an ownership relationship. They won’t cause a +reference cycle because any cycle involving some weak references will be broken +once the strong reference count of values involved is 0. + +Because the value that `Weak` references might have been dropped, to do +anything with the value that a `Weak` is pointing to, you must make sure the +value still exists. Do this by calling the `upgrade` method on a `Weak` +instance, which will return an `Option>`. You’ll get a result of `Some` +if the `Rc` value has not been dropped yet and a result of `None` if the +`Rc` value has been dropped. Because `upgrade` returns an `Option>`, +Rust will ensure that the `Some` case and the `None` case are handled, and +there won’t be an invalid pointer. + +As an example, rather than using a list whose items know only about the next +item, we’ll create a tree whose items know about their children items *and* +their parent items. + +#### Creating a Tree Data Structure: a `Node` with Child Nodes + +To start, we’ll build a tree with nodes that know about their child nodes. +We’ll create a struct named `Node` that holds its own `i32` value as well as +references to its children `Node` values: + +Filename: src/main.rs + +``` +use std::cell::RefCell; +use std::rc::Rc; + +#[derive(Debug)] +struct Node { + value: i32, + children: RefCell>>, +} +``` + +We want a `Node` to own its children, and we want to share that ownership with +variables so we can access each `Node` in the tree directly. To do this, we +define the `Vec` items to be values of type `Rc`. We also want to +modify which nodes are children of another node, so we have a `RefCell` in +`children` around the `Vec>`. + +Next, we’ll use our struct definition and create one `Node` instance named +`leaf` with the value 3 and no children, and another instance named `branch` +with the value 5 and `leaf` as one of its children, as shown in Listing 15-27: + +Filename: src/main.rs + +``` +fn main() { + let leaf = Rc::new(Node { + value: 3, + children: RefCell::new(vec![]), + }); + + let branch = Rc::new(Node { + value: 5, + children: RefCell::new(vec![Rc::clone(&leaf)]), + }); +} +``` + +Listing 15-27: Creating a `leaf` node with no children and a `branch` node with +`leaf` as one of its children + +We clone the `Rc` in `leaf` and store that in `branch`, meaning the +`Node` in `leaf` now has two owners: `leaf` and `branch`. We can get from +`branch` to `leaf` through `branch.children`, but there’s no way to get from +`leaf` to `branch`. The reason is that `leaf` has no reference to `branch` and +doesn’t know they’re related. We want `leaf` to know that `branch` is its +parent. We’ll do that next. + +#### Adding a Reference from a Child to Its Parent + +To make the child node aware of its parent, we need to add a `parent` field to +our `Node` struct definition. The trouble is in deciding what the type of +`parent` should be. We know it can’t contain an `Rc`, because that would +create a reference cycle with `leaf.parent` pointing to `branch` and +`branch.children` pointing to `leaf`, which would cause their `strong_count` +values to never be 0. + +Thinking about the relationships another way, a parent node should own its +children: if a parent node is dropped, its child nodes should be dropped as +well. However, a child should not own its parent: if we drop a child node, the +parent should still exist. This is a case for weak references! + +So instead of `Rc`, we’ll make the type of `parent` use `Weak`, +specifically a `RefCell>`. Now our `Node` struct definition looks +like this: + +Filename: src/main.rs + +``` +use std::cell::RefCell; +use std::rc::{Rc, Weak}; + +#[derive(Debug)] +struct Node { + value: i32, + parent: RefCell>, + children: RefCell>>, +} +``` + +A node will be able to refer to its parent node but doesn’t own its parent. +In Listing 15-28, we update `main` to use this new definition so the `leaf` +node will have a way to refer to its parent, `branch`: + +Filename: src/main.rs + +``` +fn main() { + let leaf = Rc::new(Node { + value: 3, + [1] parent: RefCell::new(Weak::new()), + children: RefCell::new(vec![]), + }); + + [2] println!("leaf parent = {:?}", leaf.parent.borrow().upgrade()); + + let branch = Rc::new(Node { + value: 5, + [3] parent: RefCell::new(Weak::new()), + children: RefCell::new(vec![Rc::clone(&leaf)]), + }); + + [4] *leaf.parent.borrow_mut() = Rc::downgrade(&branch); + + [5] println!("leaf parent = {:?}", leaf.parent.borrow().upgrade()); +} +``` + +Listing 15-28: A `leaf` node with a weak reference to its parent node `branch` + +Creating the `leaf` node looks similar to how creating the `leaf` node looked +in Listing 15-27 with the exception of the `parent` field: `leaf` starts out +without a parent, so we create a new, empty `Weak` reference instance [1]. + +At this point, when we try to get a reference to the parent of `leaf` by using +the `upgrade` method, we get a `None` value. We see this in the output from the +first `println!` statement [2]: + +``` +leaf parent = None +``` + +When we create the `branch` node, it will also have a new `Weak` +reference in the `parent` field [3], because `branch` doesn’t have a parent +node. We still have `leaf` as one of the children of `branch`. Once we have the +`Node` instance in `branch`, we can modify `leaf` to give it a `Weak` +reference to its parent [4]. We use the `borrow_mut` method on the +`RefCell>` in the `parent` field of `leaf`, and then we use the +`Rc::downgrade` function to create a `Weak` reference to `branch` from +the `Rc` in `branch.` + +When we print the parent of `leaf` again [5], this time we’ll get a `Some` +variant holding `branch`: now `leaf` can access its parent! When we print +`leaf`, we also avoid the cycle that eventually ended in a stack overflow like +we had in Listing 15-26; the `Weak` references are printed as `(Weak)`: + +``` +leaf parent = Some(Node { value: 5, parent: RefCell { value: (Weak) }, +children: RefCell { value: [Node { value: 3, parent: RefCell { value: (Weak) }, +children: RefCell { value: [] } }] } }) +``` + +The lack of infinite output indicates that this code didn’t create a reference +cycle. We can also tell this by looking at the values we get from calling +`Rc::strong_count` and `Rc::weak_count`. + +#### Visualizing Changes to `strong_count` and `weak_count` + +Let’s look at how the `strong_count` and `weak_count` values of the `Rc` +instances change by creating a new inner scope and moving the creation of +`branch` into that scope. By doing so, we can see what happens when `branch` is +created and then dropped when it goes out of scope. The modifications are shown +in Listing 15-29: + +Filename: src/main.rs + +``` +fn main() { + let leaf = Rc::new(Node { + value: 3, + parent: RefCell::new(Weak::new()), + children: RefCell::new(vec![]), + }); + + [1] println!( + "leaf strong = {}, weak = {}", + Rc::strong_count(&leaf), + Rc::weak_count(&leaf), + ); + + [2] { + let branch = Rc::new(Node { + value: 5, + parent: RefCell::new(Weak::new()), + children: RefCell::new(vec![Rc::clone(&leaf)]), + }); + + *leaf.parent.borrow_mut() = Rc::downgrade(&branch); + + [3] println!( + "branch strong = {}, weak = {}", + Rc::strong_count(&branch), + Rc::weak_count(&branch), + ); + + [4] println!( + "leaf strong = {}, weak = {}", + Rc::strong_count(&leaf), + Rc::weak_count(&leaf), + ); + [5] } + + [6] println!("leaf parent = {:?}", leaf.parent.borrow().upgrade()); + [7] println!( + "leaf strong = {}, weak = {}", + Rc::strong_count(&leaf), + Rc::weak_count(&leaf), + ); +} +``` + +Listing 15-29: Creating `branch` in an inner scope and examining strong and +weak reference counts + +After `leaf` is created, its `Rc` has a strong count of 1 and a weak +count of 0 [1]. In the inner scope [2], we create `branch` and associate it +with `leaf`, at which point when we print the counts [3], the `Rc` in +`branch` will have a strong count of 1 and a weak count of 1 (for `leaf.parent` +pointing to `branch` with a `Weak`). When we print the counts in `leaf` +[4], we’ll see it will have a strong count of 2, because `branch` now has a +clone of the `Rc` of `leaf` stored in `branch.children`, but will still +have a weak count of 0. + +When the inner scope ends [5], `branch` goes out of scope and the strong count +of the `Rc` decreases to 0, so its `Node` is dropped. The weak count of 1 +from `leaf.parent` has no bearing on whether or not `Node` is dropped, so we +don’t get any memory leaks! + +If we try to access the parent of `leaf` after the end of the scope, we’ll get +`None` again [6]. At the end of the program [7], the `Rc` in `leaf` has a +strong count of 1 and a weak count of 0, because the variable `leaf` is now the +only reference to the `Rc` again. + +All of the logic that manages the counts and value dropping is built into +`Rc` and `Weak` and their implementations of the `Drop` trait. By +specifying that the relationship from a child to its parent should be a +`Weak` reference in the definition of `Node`, you’re able to have parent +nodes point to child nodes and vice versa without creating a reference cycle +and memory leaks. + +## Summary + +This chapter covered how to use smart pointers to make different guarantees and +trade-offs from those Rust makes by default with regular references. The +`Box` type has a known size and points to data allocated on the heap. The +`Rc` type keeps track of the number of references to data on the heap so +that data can have multiple owners. The `RefCell` type with its interior +mutability gives us a type that we can use when we need an immutable type but +need to change an inner value of that type; it also enforces the borrowing +rules at runtime instead of at compile time. + +Also discussed were the `Deref` and `Drop` traits, which enable a lot of the +functionality of smart pointers. We explored reference cycles that can cause +memory leaks and how to prevent them using `Weak`. + +If this chapter has piqued your interest and you want to implement your own +smart pointers, check out “The Rustonomicon” at +*https://doc.rust-lang.org/stable/nomicon/* for more useful information. + +Next, we’ll talk about concurrency in Rust. You’ll even learn about a few new +smart pointers. From a4efcd52c4c1788192b2c245bfbbb2b61ecb1831 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 20 Jan 2022 10:18:08 -0500 Subject: [PATCH 0059/1248] Update to 1.58 --- .github/workflows/main.yml | 4 +-- .../listing-02-04/output.txt | 29 +++++++++++++++++-- .../output.txt | 2 ++ .../listing-09-10/output.txt | 19 ++++++------ .../listing-19-20/output.txt | 5 ---- .../output.txt | 9 +++--- rust-toolchain | 2 +- src/title-page.md | 2 +- 8 files changed, 47 insertions(+), 25 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1acae0b6d2..5504715123 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,8 +12,8 @@ jobs: - name: Install Rust run: | rustup set profile minimal - rustup toolchain install 1.57 -c rust-docs - rustup default 1.57 + rustup toolchain install 1.58 -c rust-docs + rustup default 1.58 - name: Install mdbook run: | mkdir bin diff --git a/listings/ch02-guessing-game-tutorial/listing-02-04/output.txt b/listings/ch02-guessing-game-tutorial/listing-02-04/output.txt index 62fe8327fc..61494725dd 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-04/output.txt +++ b/listings/ch02-guessing-game-tutorial/listing-02-04/output.txt @@ -16,5 +16,30 @@ error[E0308]: mismatched types = note: expected reference `&String` found reference `&{integer}` -For more information about this error, try `rustc --explain E0308`. -error: could not compile `guessing_game` due to previous error +error[E0283]: type annotations needed for `{integer}` + --> src/main.rs:8:44 + | +8 | let secret_number = rand::thread_rng().gen_range(1..101); + | ------------- ^^^^^^^^^ cannot infer type for type `{integer}` + | | + | consider giving `secret_number` a type + | + = note: multiple `impl`s satisfying `{integer}: SampleUniform` found in the `rand` crate: + - impl SampleUniform for i128; + - impl SampleUniform for i16; + - impl SampleUniform for i32; + - impl SampleUniform for i64; + and 8 more +note: required by a bound in `gen_range` + --> /Users/carolnichols/.cargo/registry/src/github.com-1ecc6299db9ec823/rand-0.8.3/src/rng.rs:129:12 + | +129 | T: SampleUniform, + | ^^^^^^^^^^^^^ required by this bound in `gen_range` +help: consider specifying the type arguments in the function call + | +8 | let secret_number = rand::thread_rng().gen_range::(1..101); + | ++++++++ + +Some errors have detailed explanations: E0283, E0308. +For more information about an error, try `rustc --explain E0283`. +error: could not compile `guessing_game` due to 2 previous errors diff --git a/listings/ch03-common-programming-concepts/no-listing-05-mut-cant-change-types/output.txt b/listings/ch03-common-programming-concepts/no-listing-05-mut-cant-change-types/output.txt index 8701a07d38..31a07efc4b 100644 --- a/listings/ch03-common-programming-concepts/no-listing-05-mut-cant-change-types/output.txt +++ b/listings/ch03-common-programming-concepts/no-listing-05-mut-cant-change-types/output.txt @@ -3,6 +3,8 @@ $ cargo run error[E0308]: mismatched types --> src/main.rs:3:14 | +2 | let mut spaces = " "; + | ----- expected due to this value 3 | spaces = spaces.len(); | ^^^^^^^^^^^^ expected `&str`, found `usize` diff --git a/listings/ch09-error-handling/listing-09-10/output.txt b/listings/ch09-error-handling/listing-09-10/output.txt index 4c36d20285..6a8b1a4c21 100644 --- a/listings/ch09-error-handling/listing-09-10/output.txt +++ b/listings/ch09-error-handling/listing-09-10/output.txt @@ -1,16 +1,15 @@ $ cargo run Compiling error-handling v0.1.0 (file:///projects/error-handling) error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) - --> src/main.rs:4:36 - | -3 | / fn main() { -4 | | let f = File::open("hello.txt")?; - | | ^ cannot use the `?` operator in a function that returns `()` -5 | | } - | |_- this function should return `Result` or `Option` to accept `?` - | - = help: the trait `FromResidual>` is not implemented for `()` -note: required by `from_residual` + --> src/main.rs:4:36 + | +3 | / fn main() { +4 | | let f = File::open("hello.txt")?; + | | ^ cannot use the `?` operator in a function that returns `()` +5 | | } + | |_- this function should return `Result` or `Option` to accept `?` + | + = help: the trait `FromResidual>` is not implemented for `()` For more information about this error, try `rustc --explain E0277`. error: could not compile `error-handling` due to previous error diff --git a/listings/ch19-advanced-features/listing-19-20/output.txt b/listings/ch19-advanced-features/listing-19-20/output.txt index 7e3f189f35..6845082452 100644 --- a/listings/ch19-advanced-features/listing-19-20/output.txt +++ b/listings/ch19-advanced-features/listing-19-20/output.txt @@ -7,11 +7,6 @@ error[E0283]: type annotations needed | ^^^^^^^^^^^^^^^^^ cannot infer type | = note: cannot satisfy `_: Animal` -note: required by `Animal::baby_name` - --> src/main.rs:2:5 - | -2 | fn baby_name() -> String; - | ^^^^^^^^^^^^^^^^^^^^^^^^^ For more information about this error, try `rustc --explain E0283`. error: could not compile `traits-example` due to previous error diff --git a/listings/ch20-web-server/no-listing-04-update-worker-definition/output.txt b/listings/ch20-web-server/no-listing-04-update-worker-definition/output.txt index 5d621db834..21c726ca90 100644 --- a/listings/ch20-web-server/no-listing-04-update-worker-definition/output.txt +++ b/listings/ch20-web-server/no-listing-04-update-worker-definition/output.txt @@ -10,13 +10,14 @@ error[E0308]: mismatched types --> src/lib.rs:72:22 | 72 | Worker { id, thread } - | ^^^^^^ - | | - | expected enum `Option`, found struct `JoinHandle` - | help: try using a variant of the expected enum: `Some(thread)` + | ^^^^^^ expected enum `Option`, found struct `JoinHandle` | = note: expected enum `Option>` found struct `JoinHandle<_>` +help: try wrapping the expression in `Some` + | +72 | Worker { id, Some(thread) } + | +++++ + Some errors have detailed explanations: E0308, E0599. For more information about an error, try `rustc --explain E0308`. diff --git a/rust-toolchain b/rust-toolchain index c88cb2a7b1..d467d91827 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -1.57 +1.58 diff --git a/src/title-page.md b/src/title-page.md index 86f19fbb14..a452c58e9c 100644 --- a/src/title-page.md +++ b/src/title-page.md @@ -2,7 +2,7 @@ *by Steve Klabnik and Carol Nichols, with contributions from the Rust Community* -This version of the text assumes you’re using Rust 1.57 (released 2021-12-02) +This version of the text assumes you’re using Rust 1.58 (released 2022-01-13) or later. See the [“Installation” section of Chapter 1][install] to install or update Rust. From 46693669376cb09c36c148b09106f5377a64222a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 21 Jan 2022 21:36:36 -0500 Subject: [PATCH 0060/1248] Responding to edits in chapter 9 --- nostarch/chapter09.md | 395 ++++++++++++++++++++++-------------------- 1 file changed, 211 insertions(+), 184 deletions(-) diff --git a/nostarch/chapter09.md b/nostarch/chapter09.md index 74b13b9868..54f0afceaa 100644 --- a/nostarch/chapter09.md +++ b/nostarch/chapter09.md @@ -8,19 +8,23 @@ directory, so all fixes need to be made in `/src/`. # Error Handling -Rust’s commitment to reliability extends to error handling. Errors are a fact -of life in software, so Rust has a number of features for handling situations -in which something goes wrong. In many cases, Rust requires you to acknowledge -the possibility of an error and take some action before your code will compile. -This requirement makes your program more robust by ensuring that you’ll -discover errors and handle them appropriately before you’ve deployed your code -to production! +Errors are a fact of life in software, so Rust has a number of features for +handling situations in which something goes wrong. In many cases, Rust requires +you to acknowledge the possibility of an error and take some action before your +code will compile. This requirement makes your program more robust by ensuring +that you’ll discover errors and handle them appropriately before you’ve +deployed your code to production! Rust groups errors into two major categories: *recoverable* and *unrecoverable* -errors. For a recoverable error, such as a file not found error, it’s -reasonable to report the problem to the user and retry the operation. +errors. For a recoverable error, such as a *file not found* error, we most +likely just want to report the problem to the user and retry the operation. Unrecoverable errors are always symptoms of bugs, like trying to access a -location beyond the end of an array. +location beyond the end of an array, and so we want to immediately stop the +program. + + Most languages don’t distinguish between these two kinds of errors and handle both in the same way, using mechanisms such as exceptions. Rust doesn’t have @@ -36,16 +40,27 @@ execution. Sometimes, bad things happen in your code, and there’s nothing you can do about it. In these cases, Rust has the `panic!` macro. When the `panic!` macro executes, your program will print a failure message, unwind and clean up the -stack, and then quit. This most commonly occurs when a bug of some kind has -been detected and it’s not clear to the programmer how to handle the error. +stack, and then quit. We’ll commonly invoke a panic when a bug of some kind has +been detected and it’s not clear how to handle the problem at the time we’re +writing our program. + + + > ### Unwinding the Stack or Aborting in Response to a Panic > > By default, when a panic occurs, the program starts *unwinding*, which > means Rust walks back up the stack and cleans up the data from each function -> it encounters. But this walking back and cleanup is a lot of work. The -> alternative is to immediately *abort*, which ends the program without -> cleaning up. Memory that the program was using will then need to be cleaned +> it encounters. However, this walking back and cleanup is a lot of work. Rust, therefore, +> allows you to choose the alternative of immediately *aborting*, which ends the program without +> cleaning up. +> +> +> Memory that the program was using will then need to be cleaned > up by the operating system. If in your project you need to make the resulting > binary as small as possible, you can switch from unwinding to aborting upon a > panic by adding `panic = 'abort'` to the appropriate `[profile]` sections in @@ -53,7 +68,7 @@ been detected and it’s not clear to the programmer how to handle the error. > mode, add this: > > ```toml -> profile.release +> [profile.release] > panic = 'abort' > ``` @@ -85,15 +100,15 @@ be in code that our code calls, and the filename and line number reported by the error message will be someone else’s code where the `panic!` macro is called, not the line of our code that eventually led to the `panic!` call. We can use the backtrace of the functions the `panic!` call came from to figure -out the part of our code that is causing the problem. We’ll discuss what a -backtrace is in more detail next. +out the part of our code that is causing the problem. We’ll discuss backtraces +in more detail next. ### Using a `panic!` Backtrace Let’s look at another example to see what it’s like when a `panic!` call comes from a library because of a bug in our code instead of from our code calling the macro directly. Listing 9-1 has some code that attempts to access an -element by index in a vector. +index in a vector beyond the range of valid indexes. Filename: src/main.rs @@ -109,10 +124,10 @@ Listing 9-1: Attempting to access an element beyond the end of a vector, which will cause a call to `panic!` Here, we’re attempting to access the 100th element of our vector (which is at -index 99 because indexing starts at zero), but it has only 3 elements. In this -situation, Rust will panic. Using `[]` is supposed to return an element, but if -you pass an invalid index, there’s no element that Rust could return here that -would be correct. +index 99 because indexing starts at zero), but the vector has only 3 elements. +In this situation, Rust will panic. Using `[]` is supposed to return an +element, but if you pass an invalid index, there’s no element that Rust could +return here that would be correct. In C, attempting to read beyond the end of a data structure is undefined behavior. You might get whatever is at the location in memory that would @@ -138,8 +153,8 @@ error. A *backtrace* is a list of all the functions that have been called to get to this point. Backtraces in Rust work as they do in other languages: the key to reading the backtrace is to start from the top and read until you see files you wrote. That’s the spot where the problem originated. The lines above -the lines mentioning your files are code that your code called; the lines below -are code that called your code. These lines might include core Rust code, +that spot are code that your code has called; the lines below are code that +called your code. These before-and-after lines might include core Rust code, standard library code, or crates that you’re using. Let’s try getting a backtrace by setting the `RUST_BACKTRACE` environment variable to any value except 0. Listing 9-2 shows output similar to what you’ll see. @@ -176,15 +191,14 @@ information, debug symbols must be enabled. Debug symbols are enabled by default when using `cargo build` or `cargo run` without the `--release` flag, as we have here. -In the output in Listing 9-2, line 6 of the backtrace points to the line in -our project that’s causing the problem: line 4 of *src/main.rs*. If we don’t -want our program to panic, the location pointed to by the first line mentioning -a file we wrote is where we should start investigating. In Listing 9-1, where -we deliberately wrote code that would panic in order to demonstrate how to use -backtraces, the way to fix the panic is to not request an element at index 99 -from a vector that only contains 3 items. When your code panics in the future, -you’ll need to figure out what action the code is taking with what values to -cause the panic and what the code should do instead. +In the output in Listing 9-2, line 6 of the backtrace points to the line in our +project that’s causing the problem: line 4 of *src/main.rs*. If we don’t want +our program to panic, we should start our investigation at the location pointed +to by the first line mentioning a file we wrote. In Listing 9-1, where we +deliberately wrote code that would panic, the way to fix the panic is to not +request an element beyond the range of the vector indexes. When your code +panics in the future, you’ll need to figure out what action the code is taking +with what values to cause the panic and what the code should do instead. We’ll come back to `panic!` and when we should and should not use `panic!` to handle error conditions in the “To `panic!` or Not to `panic!`” section later @@ -215,9 +229,9 @@ detail in Chapter 10. What you need to know right now is that `T` represents the type of the value that will be returned in a success case within the `Ok` variant, and `E` represents the type of the error that will be returned in a failure case within the `Err` variant. Because `Result` has these generic type -parameters, we can use the `Result` type and the functions that the standard -library has defined on it in many different situations where the successful -value and error value we want to return may differ. +parameters, we can use the `Result` type and the functions defined on it in +many different situations where the successful value and error value we want to +return may differ. Let’s call a function that returns a `Result` value because the function could fail. In Listing 9-3 we try to open a file. @@ -306,10 +320,9 @@ Note that, like the `Option` enum, the `Result` enum and its variants have been brought into scope by the prelude, so we don’t need to specify `Result::` before the `Ok` and `Err` variants in the `match` arms. -Here we tell Rust that when the result is `Ok`, return the inner `file` value -out of the `Ok` variant, and we then assign that file handle value to the -variable `f`. After the `match`, we can use the file handle for reading or -writing. +When the result is `Ok`, this code will return the inner `file` value out of +the `Ok` variant, and we then assign that file handle value to the variable +`f`. After the `match`, we can use the file handle for reading or writing. The other arm of the `match` handles the case where we get an `Err` value from `File::open`. In this example, we’ve chosen to call the `panic!` macro. If @@ -324,13 +337,13 @@ As usual, this output tells us exactly what has gone wrong. ### Matching on Different Errors -The code in Listing 9-4 will `panic!` no matter why `File::open` failed. What -we want to do instead is take different actions for different failure reasons: -if `File::open` failed because the file doesn’t exist, we want to create the -file and return the handle to the new file. If `File::open` failed for any -other reason—for example, because we didn’t have permission to open the file—we -still want the code to `panic!` in the same way as it did in Listing 9-4. Look -at Listing 9-5, which adds an inner `match` expression. +The code in Listing 9-4 will `panic!` no matter why `File::open` failed. +However, we want to take different actions for different failure reasons: if +`File::open` failed because the file doesn’t exist, we want to create the file +and return the handle to the new file. If `File::open` failed for any other +reason—for example, because we didn’t have permission to open the file—we still +want the code to `panic!` in the same way as it did in Listing 9-4. For this we +add an inner `match` expression, shown in Listing 8-5. Filename: src/main.rs @@ -375,41 +388,53 @@ file can’t be created, a different error message is printed. The second arm of the outer `match` stays the same, so the program panics on any error besides the missing file error. -That’s a lot of `match`! The `match` expression is very useful but also very -much a primitive. In Chapter 13, you’ll learn about closures; the `Result` type has many methods that accept a closure and are implemented using -`match` expressions. Using those methods will make your code more concise. A -more seasoned Rustacean might write this code instead of Listing 9-5: - -``` -use std::fs::File; -use std::io::ErrorKind; + + -fn main() { - let f = File::open("hello.txt").unwrap_or_else(|error| { - if error.kind() == ErrorKind::NotFound { - File::create("hello.txt").unwrap_or_else(|error| { - panic!("Problem creating the file: {:?}", error); - }) - } else { - panic!("Problem opening the file: {:?}", error); - } - }); -} -``` - -Although this code has the same behavior as Listing 9-5, it doesn’t contain any -`match` expressions and is cleaner to read. Come back to this example after -you’ve read Chapter 13, and look up the `unwrap_or_else` method in the standard -library documentation. Many more of these methods can clean up huge nested -`match` expressions when you’re dealing with errors. +> ### Alternatives to Using `match` with `Result` +> +> That’s a lot of `match`! The `match` expression is very useful but also very +> much a primitive. In Chapter 13, you’ll learn about closures, which are used +> with many of the methods defined on `Result`. These methods can be more +> concise than using `match` when handling `Result` values in your code. +> +> +> +> +> +> +> For example, here’s another way to write the same logic as shown in Listing +> 9-5 but using closures and the `unwrap_or_else` method: +> +> ``` +> use std::fs::File; +> use std::io::ErrorKind; +> +> fn main() { +> let f = File::open("hello.txt").unwrap_or_else(|error| { +> if error.kind() == ErrorKind::NotFound { +> File::create("hello.txt").unwrap_or_else(|error| { +> panic!("Problem creating the file: {:?}", error); +> }) +> } else { +> panic!("Problem opening the file: {:?}", error); +> } +> }); +> } +> ``` +> +> Although this code has the same behavior as Listing 9-5, it doesn’t contain +> any `match` expressions and is cleaner to read. Come back to this example +> after you’ve read Chapter 13, and look up the `unwrap_or_else` method in the +> standard library documentation. Many more of these methods can clean up huge +> nested `match` expressions when you’re dealing with errors. ### Shortcuts for Panic on Error: `unwrap` and `expect` Using `match` works well enough, but it can be a bit verbose and doesn’t always communicate intent well. The `Result` type has many helper methods -defined on it to do various tasks. One of those methods, called `unwrap`, is a -shortcut method that is implemented just like the `match` expression we wrote in +defined on it to do various, more specific tasks. The `unwrap` method is a +shortcut method implemented just like the `match` expression we wrote in Listing 9-4. If the `Result` value is the `Ok` variant, `unwrap` will return the value inside the `Ok`. If the `Result` is the `Err` variant, `unwrap` will call the `panic!` macro for us. Here is an example of `unwrap` in action: @@ -433,10 +458,10 @@ repr: Os { code: 2, message: "No such file or directory" } }', src/libcore/result.rs:906:4 ``` -Another method, `expect`, which is similar to `unwrap`, lets us also choose the -`panic!` error message. Using `expect` instead of `unwrap` and providing good -error messages can convey your intent and make tracking down the source of a -panic easier. The syntax of `expect` looks like this: +Similarly, the `expect` method lets us also choose the `panic!` error message. +Using `expect` instead of `unwrap` and providing good error messages can convey +your intent and make tracking down the source of a panic easier. The syntax of +`expect` looks like this: Filename: src/main.rs @@ -466,16 +491,16 @@ calls that panic print the same message. ### Propagating Errors -When you’re writing a function whose implementation calls something that might -fail, instead of handling the error within this function, you can return the -error to the calling code so that it can decide what to do. This is known as -*propagating* the error and gives more control to the calling code, where there -might be more information or logic that dictates how the error should be -handled than what you have available in the context of your code. +When a function’s implementation calls something that might fail, instead of +handling the error within the function itself, you can return the error to the +calling code so that it can decide what to do. This is known as *propagating* +the error and gives more control to the calling code, where there might be more +information or logic that dictates how the error should be handled than what +you have available in the context of your code. For example, Listing 9-6 shows a function that reads a username from a file. If the file doesn’t exist or can’t be read, this function will return those errors -to the code that called this function. +to the code that called the function. Filename: src/main.rs @@ -504,20 +529,19 @@ Listing 9-6: A function that returns errors to the calling code using `match` This function can be written in a much shorter way, but we’re going to start by doing a lot of it manually in order to explore error handling; at the end, -we’ll show the shorter way. Let’s look at the return type of the function first: -`Result`. This means the function is returning a value of -the type `Result` where the generic parameter `T` has been filled in -with the concrete type `String` and the generic type `E` has been filled in -with the concrete type `io::Error`. If this function succeeds without any -problems, the code that calls this function will receive an `Ok` value that +we’ll show the shorter way. Let’s look at the return type of the function +first: `Result`. This means the function is returning a +value of the type `Result` where the generic parameter `T` has been +filled in with the concrete type `String`, and the generic type `E` has been +filled in with the concrete type `io::Error`. If this function succeeds without +any problems, the code that calls this function will receive an `Ok` value that holds a `String`—the username that this function read from the file. If this -function encounters any problems, the code that calls this function will -receive an `Err` value that holds an instance of `io::Error` that contains -more information about what the problems were. We chose `io::Error` as the -return type of this function because that happens to be the type of the error -value returned from both of the operations we’re calling in this function’s -body that might fail: the `File::open` function and the `read_to_string` -method. +function encounters any problems, the calling code will receive an `Err` value +that holds an instance of `io::Error` that contains more information about what +the problems were. We chose `io::Error` as the return type of this function +because that happens to be the type of the error value returned from both of +the operations we’re calling in this function’s body that might fail: the +`File::open` function and the `read_to_string` method. The body of the function starts by calling the `File::open` function. Then we handle the `Result` value with a `match` similar to the `match` in Listing 9-4. @@ -540,9 +564,9 @@ that handled the return value of `File::open`. However, we don’t need to explicitly say `return`, because this is the last expression in the function. The code that calls this code will then handle getting either an `Ok` value -that contains a username or an `Err` value that contains an `io::Error`. We -don’t know what the calling code will do with those values. If the calling code -gets an `Err` value, it could call `panic!` and crash the program, use a +that contains a username or an `Err` value that contains an `io::Error`. It’s +up to the calling code to decide what to do with those values. If the calling +code gets an `Err` value, it could call `panic!` and crash the program, use a default username, or look up the username from somewhere other than a file, for example. We don’t have enough information on what the calling code is actually trying to do, so we propagate all the success or error information upward for @@ -554,7 +578,7 @@ question mark operator `?` to make this easier. #### A Shortcut for Propagating Errors: the `?` Operator Listing 9-7 shows an implementation of `read_username_from_file` that has the -same functionality as it had in Listing 9-6, but this implementation uses the +same functionality as in Listing 9-6, but this implementation uses the `?` operator. Filename: src/main.rs @@ -632,8 +656,7 @@ username in `s` when both `File::open` and `read_to_string` succeed rather than returning errors. The functionality is again the same as in Listing 9-6 and Listing 9-7; this is just a different, more ergonomic way to write it. -Speaking of different ways to write this function, Listing 9-9 shows that -there’s a way to make this even shorter. +Listing 9-9 shows a way to make this even shorter using `fs::read_to_string`. Filename: src/main.rs @@ -649,25 +672,26 @@ fn read_username_from_file() -> Result { Listing 9-9: Using `fs::read_to_string` instead of opening and then reading the file -Reading a file into a string is a fairly common operation, so Rust provides the -convenient `fs::read_to_string` function that opens the file, creates a new -`String`, reads the contents of the file, puts the contents into that `String`, -and returns it. Of course, using `fs::read_to_string` doesn’t give us the -opportunity to explain all the error handling, so we did it the longer way -first. +Reading a file into a string is a fairly common operation, so the standard +library provides the convenient `fs::read_to_string` function that opens the +file, creates a new `String`, reads the contents of the file, puts the contents +into that `String`, and returns it. Of course, using `fs::read_to_string` +doesn’t give us the opportunity to explain all the error handling, so we did it +the longer way first. #### Where The `?` Operator Can Be Used -The `?` operator can only be used in functions that have a return type -compatible with the value the `?` is used on. This is because the `?` operator -is defined to perform an early return of a value out of the function, in the -same manner as the `match` expression we defined in Listing 9-6 did. In Listing -9-6, the `match` was using a `Result` value, and the early return arm returned -an `Err(e)` value. The return type of the function has to be a `Result` to be -compatible with this `return`. +The `?` operator can only be used in functions whose return type is compatible +with the value the `?` is used on. This is because the `?` operator is defined +to perform an early return of a value out of the function, in the same manner +as the `match` expression we defined in Listing 9-6. In Listing 9-6, the +`match` was using a `Result` value, and the early return arm returned an +`Err(e)` value. The return type of the function has to be a `Result` so that +it’s compatible with this `return`. In Listing 9-10, let’s look at the error we’ll get if we use the `?` operator -in a `main` function with a return type of `()`: +in a `main` function with a return type incompatible with the type of the value +we use `?` on: ``` use std::fs::File; @@ -699,11 +723,15 @@ error[E0277]: the `?` operator can only be used in a function that returns `Resu This error points out that we’re only allowed to use the `?` operator in a function that returns `Result`, `Option`, or another type that implements -`FromResidual`. To fix this error, you have two choices. One technique is to -change the return type of your function to be `Result` if you have no -restrictions preventing that. The other technique is to use a `match` or one of -the `Result` methods to handle the `Result` in whatever way is -appropriate. +`FromResidual`. + + +To fix the error, you have two choices. One choice is to change the return type +of your function to be compatible with the value you’re using the `?` operator +on as long as you have no restrictions preventing that. The other technique is +to use a `match` or one of the `Result` methods to handle the `Result` in whatever way is appropriate. The error message also mentioned that `?` can be used with `Option` values as well. As with using `?` on `Result`, you can only use `?` on `Option` in a @@ -723,47 +751,40 @@ fn last_char_of_first_line(text: &str) -> Option { Listing 9-11: Using the `?` operator on an `Option` value -This function returns `Option` because it might find a character at this -position, or there might be no character there. This code takes the `text` -string slice argument and calls the `lines` method on it, which returns an -iterator over the lines in the string. Because this function wants to examine -the first line, it calls `next` on the iterator to get the first value from the -iterator. If `text` is the empty string, this call to `next` will return -`None`, and here we can use `?` to stop and return `None` from -`last_char_of_first_line` if that is the case. If `text` is not the empty -string, `next` will return a `Some` value containing a string slice of the -first line in `text`. +This function returns `Option` because it’s possible that there is a +character there, but it’s also possible that there isn’t. This code takes the +`text` string slice argument and calls the `lines` method on it, which returns +an iterator over the lines in the string. Because this function wants to +examine the first line, it calls `next` on the iterator to get the first value +from the iterator. If `text` is the empty string, this call to `next` will +return `None`, in which case we use `?` to stop and return `None` from +`last_char_of_first_line`. If `text` is not the empty string, `next` will +return a `Some` value containing a string slice of the first line in `text`. The `?` extracts the string slice, and we can call `chars` on that string slice -to get an iterator of the characters in this string slice. We’re interested in -the last character in this first line, so we call `last` to return the last -item in the iterator over the characters. This is an `Option` because the first -line might be the empty string, if `text` starts with a blank line but has -characters on other lines, as in `"\nhi"`. However, if there is a last -character on the first line, it will be returned in the `Some` variant. The `?` -operator in the middle gives us a concise way to express this logic, and this -function can be implemented in one line. If we couldn’t use the `?` operator on -`Option`, we’d have to implement this logic using more method calls or a -`match` expression. +to get an iterator of its characters. We’re interested in the last character in +this first line, so we call `last` to return the last item in the iterator. +This is an `Option` because it’s possible that the first line is the empty +string, for example if `text` starts with a blank line but has characters on +other lines, as in `"\nhi"`. However, if there is a last character on the first +line, it will be returned in the `Some` variant. The `?` operator in the middle +gives us a concise way to express this logic, allowing us to implement the +function in one line. If we couldn’t use the `?` operator on `Option`, we’d +have to implement this logic using more method calls or a `match` expression. Note that you can use the `?` operator on a `Result` in a function that returns `Result`, and you can use the `?` operator on an `Option` in a function that returns `Option`, but you can’t mix and match. The `?` operator won’t automatically convert a `Result` to an `Option` or vice versa; in those cases, -there are methods like the `ok` method on `Result` or the `ok_or` method on -`Option` that will do the conversion explicitly. +you can use methods like the `ok` method on `Result` or the `ok_or` method on +`Option` to do the conversion explicitly. So far, all the `main` functions we’ve used return `()`. The `main` function is special because it’s the entry and exit point of executable programs, and there are restrictions on what its return type can be for the programs to behave as -expected. Executables written in C return integers when they exit, and Rust -executables follow this convention as well: programs that exit successfully -return the integer `0`, and programs that error return some integer other than -`0`. When `main` returns `()`, Rust executables will return `0` if `main` -returns and a nonzero value if the program panics before reaching the end of -`main`. - -Another return type `main` can have is `Result<(), E>`. Listing 9-12 has the +expected. + +Luckily, `main` can also return a `Result<(), E>`. Listing 9-12 has the code from Listing 9-10 but we’ve changed the return type of `main` to be `Result<(), Box>` and added a return value `Ok(())` to the end. This code will now compile: @@ -782,16 +803,24 @@ fn main() -> Result<(), Box> { Listing 9-12: Changing `main` to return `Result<(), E>` allows the use of the `?` operator on `Result` values -The `Box` type is called a trait object, which we’ll talk about in -the “Using Trait Objects that Allow for Values of Different Types” section in +The `Box` type is a *trait object*, which we’ll talk about in the +“Using Trait Objects that Allow for Values of Different Types” section in Chapter 17. For now, you can read `Box` to mean “any kind of error.” -Using `?` on a `Result` value in a `main` function with this return type is -allowed, because now an `Err` value can be returned early. When a `main` -function returns a `Result<(), E>`, the executable will exit with a value of -`0` if `main` returns `Ok(())` and will exit with a nonzero value if `main` -returns an `Err` value. +Using `?` on a `Result` value in a `main` function with the error type +`Box` is allowed, because it allows any `Err` value to be returned +early. + +When a `main` function returns a `Result<(), E>`, the executable will +exit with a value of `0` if `main` returns `Ok(())` and will exit with a +nonzero value if `main` returns an `Err` value. Executables written in C return +integers when they exit: programs that exit successfully return the integer +`0`, and programs that error return some integer other than `0`. Rust also +returns integers from executables to be compatible with this convention. + + + -The types that `main` may return are those that implement the +The `main` function may return any types that implement the `std::process::Termination` trait. As of this writing, the `Termination` trait is an unstable feature only available in Nightly Rust, so you can’t yet implement it for your own types in Stable Rust, but you might be able to @@ -806,26 +835,24 @@ cases. So how do you decide when you should call `panic!` and when you should return `Result`? When code panics, there’s no way to recover. You could call `panic!` for any error situation, whether there’s a possible way to recover or not, but -then you’re making the decision on behalf of the code calling your code that a -situation is unrecoverable. When you choose to return a `Result` value, you -give the calling code options rather than making the decision for it. The -calling code could choose to attempt to recover in a way that’s appropriate for -its situation, or it could decide that an `Err` value in this case is -unrecoverable, so it can call `panic!` and turn your recoverable error into an -unrecoverable one. Therefore, returning `Result` is a good default choice when -you’re defining a function that might fail. - -In rare situations, it’s more appropriate to write code that panics instead of -returning a `Result`. Let’s explore why it’s appropriate to panic in examples, -prototype code, and tests. Then we’ll discuss situations in which the compiler -can’t tell that failure is impossible, but you as a human can. The chapter will -conclude with some general guidelines on how to decide whether to panic in -library code. +then you’re making the decision that a situation is unrecoverable on behalf of +the calling code. When you choose to return a `Result` value, you give the +calling code options. The calling code could choose to attempt to recover in a +way that’s appropriate for its situation, or it could decide that an `Err` +value in this case is unrecoverable, so it can call `panic!` and turn your +recoverable error into an unrecoverable one. Therefore, returning `Result` is a +good default choice when you’re defining a function that might fail. + +In situations such as examples, prototype code, and tests, it’s more +appropriate to write code that panics instead of returning a `Result`. Let’s +explore why, then discuss situations in which the compiler can’t tell that +failure is impossible, but you as a human can. The chapter will conclude with +some general guidelines on how to decide whether to panic in library code. ### Examples, Prototype Code, and Tests -When you’re writing an example to illustrate some concept, having robust -error-handling code in the example as well can make the example less clear. In +When you’re writing an example to illustrate some concept, also including robust +error-handling code can make the example less clear. In examples, it’s understood that a call to a method like `unwrap` that could panic is meant as a placeholder for the way you’d want your application to handle errors, which can differ based on what the rest of your code is doing. @@ -912,9 +939,9 @@ documentation for the function. However, having lots of error checks in all of your functions would be verbose and annoying. Fortunately, you can use Rust’s type system (and thus the type -checking the compiler does) to do many of the checks for you. If your function -has a particular type as a parameter, you can proceed with your code’s logic -knowing that the compiler has already ensured you have a valid value. For +checking done by the compiler) to do many of the checks for you. If your +function has a particular type as a parameter, you can proceed with your code’s +logic knowing that the compiler has already ensured you have a valid value. For example, if you have a type rather than an `Option`, your program expects to have *something* rather than *nothing*. Your code then doesn’t have to handle two cases for the `Some` and `None` variants: it will only have one case for From 199ca99926f232ee7f581a917eada4b65ff21754 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 21 Jan 2022 21:45:12 -0500 Subject: [PATCH 0061/1248] Propagate edits back to ch 9 --- src/ch09-00-error-handling.md | 20 +- ...ch09-01-unrecoverable-errors-with-panic.md | 56 ++--- src/ch09-02-recoverable-errors-with-result.md | 234 +++++++++--------- src/ch09-03-to-panic-or-not-to-panic.md | 38 ++- 4 files changed, 173 insertions(+), 175 deletions(-) diff --git a/src/ch09-00-error-handling.md b/src/ch09-00-error-handling.md index a4c3583d93..790955c591 100644 --- a/src/ch09-00-error-handling.md +++ b/src/ch09-00-error-handling.md @@ -1,18 +1,18 @@ # Error Handling -Rust’s commitment to reliability extends to error handling. Errors are a fact -of life in software, so Rust has a number of features for handling situations -in which something goes wrong. In many cases, Rust requires you to acknowledge -the possibility of an error and take some action before your code will compile. -This requirement makes your program more robust by ensuring that you’ll -discover errors and handle them appropriately before you’ve deployed your code -to production! +Errors are a fact of life in software, so Rust has a number of features for +handling situations in which something goes wrong. In many cases, Rust requires +you to acknowledge the possibility of an error and take some action before your +code will compile. This requirement makes your program more robust by ensuring +that you’ll discover errors and handle them appropriately before you’ve +deployed your code to production! Rust groups errors into two major categories: *recoverable* and *unrecoverable* -errors. For a recoverable error, such as a file not found error, it’s -reasonable to report the problem to the user and retry the operation. +errors. For a recoverable error, such as a *file not found* error, we most +likely just want to report the problem to the user and retry the operation. Unrecoverable errors are always symptoms of bugs, like trying to access a -location beyond the end of an array. +location beyond the end of an array, and so we want to immediately stop the +program. Most languages don’t distinguish between these two kinds of errors and handle both in the same way, using mechanisms such as exceptions. Rust doesn’t have diff --git a/src/ch09-01-unrecoverable-errors-with-panic.md b/src/ch09-01-unrecoverable-errors-with-panic.md index ede7cc6149..33bb7fa870 100644 --- a/src/ch09-01-unrecoverable-errors-with-panic.md +++ b/src/ch09-01-unrecoverable-errors-with-panic.md @@ -3,21 +3,22 @@ Sometimes, bad things happen in your code, and there’s nothing you can do about it. In these cases, Rust has the `panic!` macro. When the `panic!` macro executes, your program will print a failure message, unwind and clean up the -stack, and then quit. This most commonly occurs when a bug of some kind has -been detected and it’s not clear to the programmer how to handle the error. +stack, and then quit. We’ll commonly invoke a panic when a bug of some kind has +been detected and it’s not clear how to handle the problem at the time we’re +writing our program. > ### Unwinding the Stack or Aborting in Response to a Panic > > By default, when a panic occurs, the program starts *unwinding*, which > means Rust walks back up the stack and cleans up the data from each function -> it encounters. But this walking back and cleanup is a lot of work. The -> alternative is to immediately *abort*, which ends the program without -> cleaning up. Memory that the program was using will then need to be cleaned -> up by the operating system. If in your project you need to make the resulting -> binary as small as possible, you can switch from unwinding to aborting upon a -> panic by adding `panic = 'abort'` to the appropriate `[profile]` sections in -> your *Cargo.toml* file. For example, if you want to abort on panic in release -> mode, add this: +> it encounters. However, this walking back and cleanup is a lot of work. Rust, +> therefore, allows you to choose the alternative of immediately *aborting*, +> which ends the program without cleaning up. Memory that the program was using +> will then need to be cleaned up by the operating system. If in your project +> you need to make the resulting binary as small as possible, you can switch +> from unwinding to aborting upon a panic by adding `panic = 'abort'` to the +> appropriate `[profile]` sections in your *Cargo.toml* file. For example, if +> you want to abort on panic in release mode, add this: > > ```toml > [profile.release] @@ -49,15 +50,15 @@ be in code that our code calls, and the filename and line number reported by the error message will be someone else’s code where the `panic!` macro is called, not the line of our code that eventually led to the `panic!` call. We can use the backtrace of the functions the `panic!` call came from to figure -out the part of our code that is causing the problem. We’ll discuss what a -backtrace is in more detail next. +out the part of our code that is causing the problem. We’ll discuss backtraces +in more detail next. ### Using a `panic!` Backtrace Let’s look at another example to see what it’s like when a `panic!` call comes from a library because of a bug in our code instead of from our code calling the macro directly. Listing 9-1 has some code that attempts to access an -element by index in a vector. +index in a vector beyond the range of valid indexes. Filename: src/main.rs @@ -69,10 +70,10 @@ element by index in a vector. end of a vector, which will cause a call to `panic!` Here, we’re attempting to access the 100th element of our vector (which is at -index 99 because indexing starts at zero), but it has only 3 elements. In this -situation, Rust will panic. Using `[]` is supposed to return an element, but if -you pass an invalid index, there’s no element that Rust could return here that -would be correct. +index 99 because indexing starts at zero), but the vector has only 3 elements. +In this situation, Rust will panic. Using `[]` is supposed to return an +element, but if you pass an invalid index, there’s no element that Rust could +return here that would be correct. In C, attempting to read beyond the end of a data structure is undefined behavior. You might get whatever is at the location in memory that would @@ -97,8 +98,8 @@ error. A *backtrace* is a list of all the functions that have been called to get to this point. Backtraces in Rust work as they do in other languages: the key to reading the backtrace is to start from the top and read until you see files you wrote. That’s the spot where the problem originated. The lines above -the lines mentioning your files are code that your code called; the lines below -are code that called your code. These lines might include core Rust code, +that spot are code that your code has called; the lines below are code that +called your code. These before-and-after lines might include core Rust code, standard library code, or crates that you’re using. Let’s try getting a backtrace by setting the `RUST_BACKTRACE` environment variable to any value except 0. Listing 9-2 shows output similar to what you’ll see. @@ -142,15 +143,14 @@ information, debug symbols must be enabled. Debug symbols are enabled by default when using `cargo build` or `cargo run` without the `--release` flag, as we have here. -In the output in Listing 9-2, line 6 of the backtrace points to the line in -our project that’s causing the problem: line 4 of *src/main.rs*. If we don’t -want our program to panic, the location pointed to by the first line mentioning -a file we wrote is where we should start investigating. In Listing 9-1, where -we deliberately wrote code that would panic in order to demonstrate how to use -backtraces, the way to fix the panic is to not request an element at index 99 -from a vector that only contains 3 items. When your code panics in the future, -you’ll need to figure out what action the code is taking with what values to -cause the panic and what the code should do instead. +In the output in Listing 9-2, line 6 of the backtrace points to the line in our +project that’s causing the problem: line 4 of *src/main.rs*. If we don’t want +our program to panic, we should start our investigation at the location pointed +to by the first line mentioning a file we wrote. In Listing 9-1, where we +deliberately wrote code that would panic, the way to fix the panic is to not +request an element beyond the range of the vector indexes. When your code +panics in the future, you’ll need to figure out what action the code is taking +with what values to cause the panic and what the code should do instead. We’ll come back to `panic!` and when we should and should not use `panic!` to handle error conditions in the [“To `panic!` or Not to diff --git a/src/ch09-02-recoverable-errors-with-result.md b/src/ch09-02-recoverable-errors-with-result.md index 7f5a97e76d..44b213a154 100644 --- a/src/ch09-02-recoverable-errors-with-result.md +++ b/src/ch09-02-recoverable-errors-with-result.md @@ -24,9 +24,9 @@ detail in Chapter 10. What you need to know right now is that `T` represents the type of the value that will be returned in a success case within the `Ok` variant, and `E` represents the type of the error that will be returned in a failure case within the `Err` variant. Because `Result` has these generic type -parameters, we can use the `Result` type and the functions that the standard -library has defined on it in many different situations where the successful -value and error value we want to return may differ. +parameters, we can use the `Result` type and the functions defined on it in +many different situations where the successful value and error value we want to +return may differ. Let’s call a function that returns a `Result` value because the function could fail. In Listing 9-3 we try to open a file. @@ -93,10 +93,9 @@ Note that, like the `Option` enum, the `Result` enum and its variants have been brought into scope by the prelude, so we don’t need to specify `Result::` before the `Ok` and `Err` variants in the `match` arms. -Here we tell Rust that when the result is `Ok`, return the inner `file` value -out of the `Ok` variant, and we then assign that file handle value to the -variable `f`. After the `match`, we can use the file handle for reading or -writing. +When the result is `Ok`, this code will return the inner `file` value out of +the `Ok` variant, and we then assign that file handle value to the variable +`f`. After the `match`, we can use the file handle for reading or writing. The other arm of the `match` handles the case where we get an `Err` value from `File::open`. In this example, we’ve chosen to call the `panic!` macro. If @@ -111,13 +110,13 @@ As usual, this output tells us exactly what has gone wrong. ### Matching on Different Errors -The code in Listing 9-4 will `panic!` no matter why `File::open` failed. What -we want to do instead is take different actions for different failure reasons: -if `File::open` failed because the file doesn’t exist, we want to create the -file and return the handle to the new file. If `File::open` failed for any -other reason—for example, because we didn’t have permission to open the file—we -still want the code to `panic!` in the same way as it did in Listing 9-4. Look -at Listing 9-5, which adds an inner `match` expression. +The code in Listing 9-4 will `panic!` no matter why `File::open` failed. +However, we want to take different actions for different failure reasons: if +`File::open` failed because the file doesn’t exist, we want to create the file +and return the handle to the new file. If `File::open` failed for any other +reason—for example, because we didn’t have permission to open the file—we still +want the code to `panic!` in the same way as it did in Listing 9-4. For this we +add an inner `match` expression, shown in Listing 8-5. Filename: src/main.rs @@ -148,28 +147,32 @@ file can’t be created, a different error message is printed. The second arm of the outer `match` stays the same, so the program panics on any error besides the missing file error. -That’s a lot of `match`! The `match` expression is very useful but also very -much a primitive. In Chapter 13, you’ll learn about closures; the `Result` type has many methods that accept a closure and are implemented using -`match` expressions. Using those methods will make your code more concise. A -more seasoned Rustacean might write this code instead of Listing 9-5: - -```rust,ignore -{{#rustdoc_include ../listings/ch09-error-handling/no-listing-03-closures/src/main.rs}} -``` - -Although this code has the same behavior as Listing 9-5, it doesn’t contain any -`match` expressions and is cleaner to read. Come back to this example after -you’ve read Chapter 13, and look up the `unwrap_or_else` method in the standard -library documentation. Many more of these methods can clean up huge nested -`match` expressions when you’re dealing with errors. +> ### Alternatives to Using `match` with `Result` +> +> That’s a lot of `match`! The `match` expression is very useful but also very +> much a primitive. In Chapter 13, you’ll learn about closures, which are used +> with many of the methods defined on `Result`. These methods can be more +> concise than using `match` when handling `Result` values in your code. +> +> For example, here’s another way to write the same logic as shown in Listing +> 9-5 but using closures and the `unwrap_or_else` method: +> +> ```rust,ignore +> {{#rustdoc_include ../listings/ch09-error-handling/no-listing-03-closures/src/main.rs}} +> ``` +> +> Although this code has the same behavior as Listing 9-5, it doesn’t contain +> any `match` expressions and is cleaner to read. Come back to this example +> after you’ve read Chapter 13, and look up the `unwrap_or_else` method in the +> standard library documentation. Many more of these methods can clean up huge +> nested `match` expressions when you’re dealing with errors. ### Shortcuts for Panic on Error: `unwrap` and `expect` Using `match` works well enough, but it can be a bit verbose and doesn’t always communicate intent well. The `Result` type has many helper methods -defined on it to do various tasks. One of those methods, called `unwrap`, is a -shortcut method that is implemented just like the `match` expression we wrote in +defined on it to do various, more specific tasks. The `unwrap` method is a +shortcut method implemented just like the `match` expression we wrote in Listing 9-4. If the `Result` value is the `Ok` variant, `unwrap` will return the value inside the `Ok`. If the `Result` is the `Err` variant, `unwrap` will call the `panic!` macro for us. Here is an example of `unwrap` in action: @@ -189,10 +192,10 @@ repr: Os { code: 2, message: "No such file or directory" } }', src/libcore/result.rs:906:4 ``` -Another method, `expect`, which is similar to `unwrap`, lets us also choose the -`panic!` error message. Using `expect` instead of `unwrap` and providing good -error messages can convey your intent and make tracking down the source of a -panic easier. The syntax of `expect` looks like this: +Similarly, the `expect` method lets us also choose the `panic!` error message. +Using `expect` instead of `unwrap` and providing good error messages can convey +your intent and make tracking down the source of a panic easier. The syntax of +`expect` looks like this: Filename: src/main.rs @@ -218,16 +221,16 @@ calls that panic print the same message. ### Propagating Errors -When you’re writing a function whose implementation calls something that might -fail, instead of handling the error within this function, you can return the -error to the calling code so that it can decide what to do. This is known as -*propagating* the error and gives more control to the calling code, where there -might be more information or logic that dictates how the error should be -handled than what you have available in the context of your code. +When a function’s implementation calls something that might fail, instead of +handling the error within the function itself, you can return the error to the +calling code so that it can decide what to do. This is known as *propagating* +the error and gives more control to the calling code, where there might be more +information or logic that dictates how the error should be handled than what +you have available in the context of your code. For example, Listing 9-6 shows a function that reads a username from a file. If the file doesn’t exist or can’t be read, this function will return those errors -to the code that called this function. +to the code that called the function. Filename: src/main.rs @@ -244,20 +247,19 @@ calling code using `match` This function can be written in a much shorter way, but we’re going to start by doing a lot of it manually in order to explore error handling; at the end, -we’ll show the shorter way. Let’s look at the return type of the function first: -`Result`. This means the function is returning a value of -the type `Result` where the generic parameter `T` has been filled in -with the concrete type `String` and the generic type `E` has been filled in -with the concrete type `io::Error`. If this function succeeds without any -problems, the code that calls this function will receive an `Ok` value that +we’ll show the shorter way. Let’s look at the return type of the function +first: `Result`. This means the function is returning a +value of the type `Result` where the generic parameter `T` has been +filled in with the concrete type `String`, and the generic type `E` has been +filled in with the concrete type `io::Error`. If this function succeeds without +any problems, the code that calls this function will receive an `Ok` value that holds a `String`—the username that this function read from the file. If this -function encounters any problems, the code that calls this function will -receive an `Err` value that holds an instance of `io::Error` that contains -more information about what the problems were. We chose `io::Error` as the -return type of this function because that happens to be the type of the error -value returned from both of the operations we’re calling in this function’s -body that might fail: the `File::open` function and the `read_to_string` -method. +function encounters any problems, the calling code will receive an `Err` value +that holds an instance of `io::Error` that contains more information about what +the problems were. We chose `io::Error` as the return type of this function +because that happens to be the type of the error value returned from both of +the operations we’re calling in this function’s body that might fail: the +`File::open` function and the `read_to_string` method. The body of the function starts by calling the `File::open` function. Then we handle the `Result` value with a `match` similar to the `match` in Listing 9-4. @@ -280,9 +282,9 @@ that handled the return value of `File::open`. However, we don’t need to explicitly say `return`, because this is the last expression in the function. The code that calls this code will then handle getting either an `Ok` value -that contains a username or an `Err` value that contains an `io::Error`. We -don’t know what the calling code will do with those values. If the calling code -gets an `Err` value, it could call `panic!` and crash the program, use a +that contains a username or an `Err` value that contains an `io::Error`. It’s +up to the calling code to decide what to do with those values. If the calling +code gets an `Err` value, it could call `panic!` and crash the program, use a default username, or look up the username from somewhere other than a file, for example. We don’t have enough information on what the calling code is actually trying to do, so we propagate all the success or error information upward for @@ -294,7 +296,7 @@ question mark operator `?` to make this easier. #### A Shortcut for Propagating Errors: the `?` Operator Listing 9-7 shows an implementation of `read_username_from_file` that has the -same functionality as it had in Listing 9-6, but this implementation uses the +same functionality as in Listing 9-6, but this implementation uses the `?` operator. Filename: src/main.rs @@ -362,8 +364,7 @@ username in `s` when both `File::open` and `read_to_string` succeed rather than returning errors. The functionality is again the same as in Listing 9-6 and Listing 9-7; this is just a different, more ergonomic way to write it. -Speaking of different ways to write this function, Listing 9-9 shows that -there’s a way to make this even shorter. +Listing 9-9 shows a way to make this even shorter using `fs::read_to_string`. Filename: src/main.rs @@ -378,25 +379,26 @@ don't want to include it for rustdoc testing purposes. --> Listing 9-9: Using `fs::read_to_string` instead of opening and then reading the file -Reading a file into a string is a fairly common operation, so Rust provides the -convenient `fs::read_to_string` function that opens the file, creates a new -`String`, reads the contents of the file, puts the contents into that `String`, -and returns it. Of course, using `fs::read_to_string` doesn’t give us the -opportunity to explain all the error handling, so we did it the longer way -first. +Reading a file into a string is a fairly common operation, so the standard +library provides the convenient `fs::read_to_string` function that opens the +file, creates a new `String`, reads the contents of the file, puts the contents +into that `String`, and returns it. Of course, using `fs::read_to_string` +doesn’t give us the opportunity to explain all the error handling, so we did it +the longer way first. #### Where The `?` Operator Can Be Used -The `?` operator can only be used in functions that have a return type -compatible with the value the `?` is used on. This is because the `?` operator -is defined to perform an early return of a value out of the function, in the -same manner as the `match` expression we defined in Listing 9-6 did. In Listing -9-6, the `match` was using a `Result` value, and the early return arm returned -an `Err(e)` value. The return type of the function has to be a `Result` to be -compatible with this `return`. +The `?` operator can only be used in functions whose return type is compatible +with the value the `?` is used on. This is because the `?` operator is defined +to perform an early return of a value out of the function, in the same manner +as the `match` expression we defined in Listing 9-6. In Listing 9-6, the +`match` was using a `Result` value, and the early return arm returned an +`Err(e)` value. The return type of the function has to be a `Result` so that +it’s compatible with this `return`. In Listing 9-10, let’s look at the error we’ll get if we use the `?` operator -in a `main` function with a return type of `()`: +in a `main` function with a return type incompatible with the type of the value +we use `?` on: ```rust,ignore,does_not_compile {{#rustdoc_include ../listings/ch09-error-handling/listing-09-10/src/main.rs}} @@ -416,11 +418,11 @@ message: This error points out that we’re only allowed to use the `?` operator in a function that returns `Result`, `Option`, or another type that implements -`FromResidual`. To fix this error, you have two choices. One technique is to -change the return type of your function to be `Result` if you have no -restrictions preventing that. The other technique is to use a `match` or one of -the `Result` methods to handle the `Result` in whatever way is -appropriate. +`FromResidual`. To fix the error, you have two choices. One choice is to change +the return type of your function to be compatible with the value you’re using +the `?` operator on as long as you have no restrictions preventing that. The +other technique is to use a `match` or one of the `Result` methods to +handle the `Result` in whatever way is appropriate. The error message also mentioned that `?` can be used with `Option` values as well. As with using `?` on `Result`, you can only use `?` on `Option` in a @@ -439,47 +441,40 @@ given text: Listing 9-11: Using the `?` operator on an `Option` value -This function returns `Option` because it might find a character at this -position, or there might be no character there. This code takes the `text` -string slice argument and calls the `lines` method on it, which returns an -iterator over the lines in the string. Because this function wants to examine -the first line, it calls `next` on the iterator to get the first value from the -iterator. If `text` is the empty string, this call to `next` will return -`None`, and here we can use `?` to stop and return `None` from -`last_char_of_first_line` if that is the case. If `text` is not the empty -string, `next` will return a `Some` value containing a string slice of the -first line in `text`. +This function returns `Option` because it’s possible that there is a +character there, but it’s also possible that there isn’t. This code takes the +`text` string slice argument and calls the `lines` method on it, which returns +an iterator over the lines in the string. Because this function wants to +examine the first line, it calls `next` on the iterator to get the first value +from the iterator. If `text` is the empty string, this call to `next` will +return `None`, in which case we use `?` to stop and return `None` from +`last_char_of_first_line`. If `text` is not the empty string, `next` will +return a `Some` value containing a string slice of the first line in `text`. The `?` extracts the string slice, and we can call `chars` on that string slice -to get an iterator of the characters in this string slice. We’re interested in -the last character in this first line, so we call `last` to return the last -item in the iterator over the characters. This is an `Option` because the first -line might be the empty string, if `text` starts with a blank line but has -characters on other lines, as in `"\nhi"`. However, if there is a last -character on the first line, it will be returned in the `Some` variant. The `?` -operator in the middle gives us a concise way to express this logic, and this -function can be implemented in one line. If we couldn’t use the `?` operator on -`Option`, we’d have to implement this logic using more method calls or a -`match` expression. +to get an iterator of its characters. We’re interested in the last character in +this first line, so we call `last` to return the last item in the iterator. +This is an `Option` because it’s possible that the first line is the empty +string, for example if `text` starts with a blank line but has characters on +other lines, as in `"\nhi"`. However, if there is a last character on the first +line, it will be returned in the `Some` variant. The `?` operator in the middle +gives us a concise way to express this logic, allowing us to implement the +function in one line. If we couldn’t use the `?` operator on `Option`, we’d +have to implement this logic using more method calls or a `match` expression. Note that you can use the `?` operator on a `Result` in a function that returns `Result`, and you can use the `?` operator on an `Option` in a function that returns `Option`, but you can’t mix and match. The `?` operator won’t automatically convert a `Result` to an `Option` or vice versa; in those cases, -there are methods like the `ok` method on `Result` or the `ok_or` method on -`Option` that will do the conversion explicitly. +you can use methods like the `ok` method on `Result` or the `ok_or` method on +`Option` to do the conversion explicitly. So far, all the `main` functions we’ve used return `()`. The `main` function is special because it’s the entry and exit point of executable programs, and there are restrictions on what its return type can be for the programs to behave as -expected. Executables written in C return integers when they exit, and Rust -executables follow this convention as well: programs that exit successfully -return the integer `0`, and programs that error return some integer other than -`0`. When `main` returns `()`, Rust executables will return `0` if `main` -returns and a nonzero value if the program panics before reaching the end of -`main`. - -Another return type `main` can have is `Result<(), E>`. Listing 9-12 has the +expected. + +Luckily, `main` can also return a `Result<(), E>`. Listing 9-12 has the code from Listing 9-10 but we’ve changed the return type of `main` to be `Result<(), Box>` and added a return value `Ok(())` to the end. This code will now compile: @@ -491,16 +486,21 @@ code will now compile: Listing 9-12: Changing `main` to return `Result<(), E>` allows the use of the `?` operator on `Result` values -The `Box` type is called a trait object, which we’ll talk about in -the [“Using Trait Objects that Allow for Values of Different +The `Box` type is a *trait object*, which we’ll talk about in the +[“Using Trait Objects that Allow for Values of Different Types”][trait-objects] section in Chapter 17. For now, you can read `Box` to mean “any kind of error.” Using `?` on a `Result` -value in a `main` function with this return type is allowed, because now an -`Err` value can be returned early. When a `main` function returns a `Result<(), -E>`, the executable will exit with a value of `0` if `main` returns `Ok(())` -and will exit with a nonzero value if `main` returns an `Err` value. +value in a `main` function with the error type `Box` is allowed, +because it allows any `Err` value to be returned early. + +When a `main` function returns a `Result<(), E>`, the executable will +exit with a value of `0` if `main` returns `Ok(())` and will exit with a +nonzero value if `main` returns an `Err` value. Executables written in C return +integers when they exit: programs that exit successfully return the integer +`0`, and programs that error return some integer other than `0`. Rust also +returns integers from executables to be compatible with this convention. -The types that `main` may return are those that implement [the +The `main` function may return any types that implement [the `std::process::Termination` trait][termination]. As of this writing, the `Termination` trait is an unstable feature only available in Nightly Rust, so you can’t yet implement it for your own types in Stable Rust, diff --git a/src/ch09-03-to-panic-or-not-to-panic.md b/src/ch09-03-to-panic-or-not-to-panic.md index 92decf4066..182c5bc781 100644 --- a/src/ch09-03-to-panic-or-not-to-panic.md +++ b/src/ch09-03-to-panic-or-not-to-panic.md @@ -3,26 +3,24 @@ So how do you decide when you should call `panic!` and when you should return `Result`? When code panics, there’s no way to recover. You could call `panic!` for any error situation, whether there’s a possible way to recover or not, but -then you’re making the decision on behalf of the code calling your code that a -situation is unrecoverable. When you choose to return a `Result` value, you -give the calling code options rather than making the decision for it. The -calling code could choose to attempt to recover in a way that’s appropriate for -its situation, or it could decide that an `Err` value in this case is -unrecoverable, so it can call `panic!` and turn your recoverable error into an -unrecoverable one. Therefore, returning `Result` is a good default choice when -you’re defining a function that might fail. - -In rare situations, it’s more appropriate to write code that panics instead of -returning a `Result`. Let’s explore why it’s appropriate to panic in examples, -prototype code, and tests. Then we’ll discuss situations in which the compiler -can’t tell that failure is impossible, but you as a human can. The chapter will -conclude with some general guidelines on how to decide whether to panic in -library code. +then you’re making the decision that a situation is unrecoverable on behalf of +the calling code. When you choose to return a `Result` value, you give the +calling code options. The calling code could choose to attempt to recover in a +way that’s appropriate for its situation, or it could decide that an `Err` +value in this case is unrecoverable, so it can call `panic!` and turn your +recoverable error into an unrecoverable one. Therefore, returning `Result` is a +good default choice when you’re defining a function that might fail. + +In situations such as examples, prototype code, and tests, it’s more +appropriate to write code that panics instead of returning a `Result`. Let’s +explore why, then discuss situations in which the compiler can’t tell that +failure is impossible, but you as a human can. The chapter will conclude with +some general guidelines on how to decide whether to panic in library code. ### Examples, Prototype Code, and Tests -When you’re writing an example to illustrate some concept, having robust -error-handling code in the example as well can make the example less clear. In +When you’re writing an example to illustrate some concept, also including robust +error-handling code can make the example less clear. In examples, it’s understood that a call to a method like `unwrap` that could panic is meant as a placeholder for the way you’d want your application to handle errors, which can differ based on what the rest of your code is doing. @@ -107,9 +105,9 @@ documentation for the function. However, having lots of error checks in all of your functions would be verbose and annoying. Fortunately, you can use Rust’s type system (and thus the type -checking the compiler does) to do many of the checks for you. If your function -has a particular type as a parameter, you can proceed with your code’s logic -knowing that the compiler has already ensured you have a valid value. For +checking done by the compiler) to do many of the checks for you. If your +function has a particular type as a parameter, you can proceed with your code’s +logic knowing that the compiler has already ensured you have a valid value. For example, if you have a type rather than an `Option`, your program expects to have *something* rather than *nothing*. Your code then doesn’t have to handle two cases for the `Some` and `None` variants: it will only have one case for From 3ace9fc3f0d4120e96a4ac4e5ffd0c4c48935aff Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 21 Jan 2022 22:03:15 -0500 Subject: [PATCH 0062/1248] Move a link to the end with all the other links --- src/ch09-02-recoverable-errors-with-result.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ch09-02-recoverable-errors-with-result.md b/src/ch09-02-recoverable-errors-with-result.md index 44b213a154..e45df0208a 100644 --- a/src/ch09-02-recoverable-errors-with-result.md +++ b/src/ch09-02-recoverable-errors-with-result.md @@ -10,8 +10,6 @@ Recall from [“Handling Potential Failure with the `Result` Type”][handle_failure] in Chapter 2 that the `Result` enum is defined as having two variants, `Ok` and `Err`, as follows: -[handle_failure]: ch02-00-guessing-game-tutorial.html#handling-potential-failure-with-the-result-type - ```rust enum Result { Ok(T), @@ -510,5 +508,6 @@ Now that we’ve discussed the details of calling `panic!` or returning `Result` let’s return to the topic of how to decide which is appropriate to use in which cases. +[handle_failure]: ch02-00-guessing-game-tutorial.html#handling-potential-failure-with-the-result-type [trait-objects]: ch17-02-trait-objects.html#using-trait-objects-that-allow-for-values-of-different-types [termination]: ../std/process/trait.Termination.html From 4cc38c8f660a6676947073cad60a77363e0bddd4 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 21 Jan 2022 22:10:04 -0500 Subject: [PATCH 0063/1248] Moving example into blockquote means it can't be extracted to a listing project --- .../no-listing-03-closures/Cargo.lock | 6 ------ .../no-listing-03-closures/Cargo.toml | 6 ------ .../no-listing-03-closures/src/main.rs | 14 -------------- src/ch09-02-recoverable-errors-with-result.md | 17 ++++++++++++++++- 4 files changed, 16 insertions(+), 27 deletions(-) delete mode 100644 listings/ch09-error-handling/no-listing-03-closures/Cargo.lock delete mode 100644 listings/ch09-error-handling/no-listing-03-closures/Cargo.toml delete mode 100644 listings/ch09-error-handling/no-listing-03-closures/src/main.rs diff --git a/listings/ch09-error-handling/no-listing-03-closures/Cargo.lock b/listings/ch09-error-handling/no-listing-03-closures/Cargo.lock deleted file mode 100644 index 1fa96b7974..0000000000 --- a/listings/ch09-error-handling/no-listing-03-closures/Cargo.lock +++ /dev/null @@ -1,6 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "error-handling" -version = "0.1.0" - diff --git a/listings/ch09-error-handling/no-listing-03-closures/Cargo.toml b/listings/ch09-error-handling/no-listing-03-closures/Cargo.toml deleted file mode 100644 index c496db7834..0000000000 --- a/listings/ch09-error-handling/no-listing-03-closures/Cargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "error-handling" -version = "0.1.0" -edition = "2021" - -[dependencies] diff --git a/listings/ch09-error-handling/no-listing-03-closures/src/main.rs b/listings/ch09-error-handling/no-listing-03-closures/src/main.rs deleted file mode 100644 index c6682cd233..0000000000 --- a/listings/ch09-error-handling/no-listing-03-closures/src/main.rs +++ /dev/null @@ -1,14 +0,0 @@ -use std::fs::File; -use std::io::ErrorKind; - -fn main() { - let f = File::open("hello.txt").unwrap_or_else(|error| { - if error.kind() == ErrorKind::NotFound { - File::create("hello.txt").unwrap_or_else(|error| { - panic!("Problem creating the file: {:?}", error); - }) - } else { - panic!("Problem opening the file: {:?}", error); - } - }); -} diff --git a/src/ch09-02-recoverable-errors-with-result.md b/src/ch09-02-recoverable-errors-with-result.md index e45df0208a..fd9117aa62 100644 --- a/src/ch09-02-recoverable-errors-with-result.md +++ b/src/ch09-02-recoverable-errors-with-result.md @@ -155,8 +155,23 @@ the missing file error. > For example, here’s another way to write the same logic as shown in Listing > 9-5 but using closures and the `unwrap_or_else` method: > +> +> > ```rust,ignore -> {{#rustdoc_include ../listings/ch09-error-handling/no-listing-03-closures/src/main.rs}} +> use std::fs::File; +> use std::io::ErrorKind; +> +> fn main() { +> let f = File::open("hello.txt").unwrap_or_else(|error| { +> if error.kind() == ErrorKind::NotFound { +> File::create("hello.txt").unwrap_or_else(|error| { +> panic!("Problem creating the file: {:?}", error); +> }) +> } else { +> panic!("Problem opening the file: {:?}", error); +> } +> }); +> } > ``` > > Although this code has the same behavior as Listing 9-5, it doesn’t contain From 0bac27c66136764c82fe267763945f3c65eea002 Mon Sep 17 00:00:00 2001 From: Thomas Ramirez Date: Tue, 25 Jan 2022 17:57:20 +0100 Subject: [PATCH 0064/1248] Fix listing number from `8-5` to `9-5` in `ch09-02` --- src/ch09-02-recoverable-errors-with-result.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch09-02-recoverable-errors-with-result.md b/src/ch09-02-recoverable-errors-with-result.md index fd9117aa62..4f84166db9 100644 --- a/src/ch09-02-recoverable-errors-with-result.md +++ b/src/ch09-02-recoverable-errors-with-result.md @@ -114,7 +114,7 @@ However, we want to take different actions for different failure reasons: if and return the handle to the new file. If `File::open` failed for any other reason—for example, because we didn’t have permission to open the file—we still want the code to `panic!` in the same way as it did in Listing 9-4. For this we -add an inner `match` expression, shown in Listing 8-5. +add an inner `match` expression, shown in Listing 9-5. Filename: src/main.rs From dd3c9d7222a8aa0fdd16aefc882723d92c51da4d Mon Sep 17 00:00:00 2001 From: booleancoercion <33005025+booleancoercion@users.noreply.github.com> Date: Sun, 23 Jan 2022 12:53:04 +0200 Subject: [PATCH 0065/1248] Added a mention to the translations appendix --- src/title-page.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/title-page.md b/src/title-page.md index a452c58e9c..0af48a1b39 100644 --- a/src/title-page.md +++ b/src/title-page.md @@ -11,9 +11,12 @@ The HTML format is available online at and offline with installations of Rust made with `rustup`; run `rustup docs --book` to open. +Several other [translations] are also available. + This text is available in [paperback and ebook format from No Starch Press][nsprust]. [install]: ch01-01-installation.html [editions]: appendix-05-editions.html [nsprust]: https://nostarch.com/rust +[translations]: appendix-06-translation.html From 4491cee45aef865bffc27ed5b68dd6ce6a1598a8 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 26 Jan 2022 21:07:07 -0500 Subject: [PATCH 0066/1248] Clarify translations a bit --- src/title-page.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/title-page.md b/src/title-page.md index 0af48a1b39..b1be63b6dc 100644 --- a/src/title-page.md +++ b/src/title-page.md @@ -11,7 +11,7 @@ The HTML format is available online at and offline with installations of Rust made with `rustup`; run `rustup docs --book` to open. -Several other [translations] are also available. +Several community [translations] are also available. This text is available in [paperback and ebook format from No Starch Press][nsprust]. From 95b5e7c86d33e98eec6f73b268d106621f3d24a1 Mon Sep 17 00:00:00 2001 From: Jan Szopinski Date: Wed, 26 Jan 2022 22:17:37 +0000 Subject: [PATCH 0067/1248] Ch20-02 Remove reference to a long-gone "trick" In #1906, a workaround involving `FnBox` was removed, but the paragraph after still makes a reference to a "trick". --- src/ch20-02-multithreaded.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ch20-02-multithreaded.md b/src/ch20-02-multithreaded.md index 244f8e53fb..86e7a12598 100644 --- a/src/ch20-02-multithreaded.md +++ b/src/ch20-02-multithreaded.md @@ -585,8 +585,8 @@ The call to `recv` blocks, so if there is no job yet, the current thread will wait until a job becomes available. The `Mutex` ensures that only one `Worker` thread at a time is trying to request a job. -With the implementation of this trick, our thread pool is in a working state! -Give it a `cargo run` and make some requests: +Our thread pool is now in a working state! Give it a `cargo run` and make some +requests: section of Chapter 13, we discussed `move` in the context of closures. Now, +we’ll concentrate more on the interaction between `move` and `thread::spawn` Notice in Listing 16-1 that the closure we pass to `thread::spawn` takes no arguments: we’re not using any data from the main thread in the spawned @@ -308,3 +307,5 @@ ownership rules. With a basic understanding of threads and the thread API, let’s look at what we can *do* with threads. + +[capture]: ch13-01-closures.html#capturing-the-environment-with-closures From a0960b111b6203679f98910c24259cbab8c48e41 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 26 Jan 2022 21:33:59 -0500 Subject: [PATCH 0069/1248] Update a quote of compiler output --- src/ch16-01-threads.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch16-01-threads.md b/src/ch16-01-threads.md index b7ce66390d..953fc074c1 100644 --- a/src/ch16-01-threads.md +++ b/src/ch16-01-threads.md @@ -267,7 +267,7 @@ after automatic regeneration, look at listings/ch16-fearless-concurrency/listing help: to force the closure to take ownership of `v` (and any other referenced variables), use the `move` keyword | 6 | let handle = thread::spawn(move || { - | ^^^^^^^ + | ++++ ``` By adding the `move` keyword before the closure, we force the closure to take From 6b9eae8ce91dd0d94982795762d22077d372e90c Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 26 Jan 2022 21:43:36 -0500 Subject: [PATCH 0070/1248] Cut discussion of threading models Rust *doesn't* support. Fixes #2497. --- src/ch16-01-threads.md | 37 +++---------------------------------- 1 file changed, 3 insertions(+), 34 deletions(-) diff --git a/src/ch16-01-threads.md b/src/ch16-01-threads.md index 953fc074c1..c6a72b61bc 100644 --- a/src/ch16-01-threads.md +++ b/src/ch16-01-threads.md @@ -26,40 +26,9 @@ thread. Programming languages implement threads in a few different ways. Many operating systems provide an API for creating new threads. This model where a language calls the operating system APIs to create threads is sometimes called *1:1*, -meaning one operating system thread per one language thread. - -Many programming languages provide their own special implementation of threads. -Programming language-provided threads are known as *green* threads, and -languages that use these green threads will execute them in the context of a -different number of operating system threads. For this reason, the -green-threaded model is called the *M:N* model: there are `M` green threads per -`N` operating system threads, where `M` and `N` are not necessarily the same -number. - -Each model has its own advantages and trade-offs, and the trade-off most -important to Rust is runtime support. *Runtime* is a confusing term and can -have different meanings in different contexts. - -In this context, by *runtime* we mean code that is included by the language in -every binary. This code can be large or small depending on the language, but -every non-assembly language will have some amount of runtime code. For that -reason, colloquially when people say a language has “no runtime,” they often -mean “small runtime.” Smaller runtimes have fewer features but have the -advantage of resulting in smaller binaries, which make it easier to combine the -language with other languages in more contexts. Although many languages are -okay with increasing the runtime size in exchange for more features, Rust needs -to have nearly no runtime and cannot compromise on being able to call into C to -maintain performance. - -The green-threading M:N model requires a larger language runtime to manage -threads. As such, the Rust standard library only provides an implementation of -1:1 threading. Because Rust is such a low-level language, there are crates that -implement M:N threading if you would rather trade overhead for aspects such as -more control over which threads run when and lower costs of context switching, -for example. - -Now that we’ve defined threads in Rust, let’s explore how to use the -thread-related API provided by the standard library. +meaning one operating system thread per one language thread. The Rust standard +library only provides an implementation of 1:1 threading; there are crates that +implement other models of threading that make different tradeoffs. ### Creating a New Thread with `spawn` From d1752dffcf22da621645c4cce5e21c446809256a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 26 Jan 2022 21:44:28 -0500 Subject: [PATCH 0071/1248] Snapshot of ch16 for nostarch --- nostarch/chapter16.md | 1204 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1204 insertions(+) create mode 100644 nostarch/chapter16.md diff --git a/nostarch/chapter16.md b/nostarch/chapter16.md new file mode 100644 index 0000000000..1c852395c7 --- /dev/null +++ b/nostarch/chapter16.md @@ -0,0 +1,1204 @@ + + +[TOC] + +# Fearless Concurrency + +Handling concurrent programming safely and efficiently is another of Rust’s +major goals. *Concurrent programming*, where different parts of a program +execute independently, and *parallel programming*, where different parts of a +program execute at the same time, are becoming increasingly important as more +computers take advantage of their multiple processors. Historically, +programming in these contexts has been difficult and error prone: Rust hopes to +change that. + +Initially, the Rust team thought that ensuring memory safety and preventing +concurrency problems were two separate challenges to be solved with different +methods. Over time, the team discovered that the ownership and type systems are +a powerful set of tools to help manage memory safety *and* concurrency +problems! By leveraging ownership and type checking, many concurrency errors +are compile-time errors in Rust rather than runtime errors. Therefore, rather +than making you spend lots of time trying to reproduce the exact circumstances +under which a runtime concurrency bug occurs, incorrect code will refuse to +compile and present an error explaining the problem. As a result, you can fix +your code while you’re working on it rather than potentially after it has been +shipped to production. We’ve nicknamed this aspect of Rust *fearless* +*concurrency*. Fearless concurrency allows you to write code that is free of +subtle bugs and is easy to refactor without introducing new bugs. + +> Note: For simplicity’s sake, we’ll refer to many of the problems as +> *concurrent* rather than being more precise by saying *concurrent and/or +> parallel*. If this book were about concurrency and/or parallelism, we’d be +> more specific. For this chapter, please mentally substitute *concurrent +> and/or parallel* whenever we use *concurrent*. + +Many languages are dogmatic about the solutions they offer for handling +concurrent problems. For example, Erlang has elegant functionality for +message-passing concurrency but has only obscure ways to share state between +threads. Supporting only a subset of possible solutions is a reasonable +strategy for higher-level languages, because a higher-level language promises +benefits from giving up some control to gain abstractions. However, lower-level +languages are expected to provide the solution with the best performance in any +given situation and have fewer abstractions over the hardware. Therefore, Rust +offers a variety of tools for modeling problems in whatever way is appropriate +for your situation and requirements. + +Here are the topics we’ll cover in this chapter: + +* How to create threads to run multiple pieces of code at the same time +* *Message-passing* concurrency, where channels send messages between threads +* *Shared-state* concurrency, where multiple threads have access to some piece + of data +* The `Sync` and `Send` traits, which extend Rust’s concurrency guarantees to + user-defined types as well as types provided by the standard library + +## Using Threads to Run Code Simultaneously + +In most current operating systems, an executed program’s code is run in a +*process*, and the operating system manages multiple processes at once. Within +your program, you can also have independent parts that run simultaneously. The +features that run these independent parts are called *threads*. + +Splitting the computation in your program into multiple threads can improve +performance because the program does multiple tasks at the same time, but it +also adds complexity. Because threads can run simultaneously, there’s no +inherent guarantee about the order in which parts of your code on different +threads will run. This can lead to problems, such as: + +* Race conditions, where threads are accessing data or resources in an + inconsistent order +* Deadlocks, where two threads are waiting for each other to finish using a + resource the other thread has, preventing both threads from continuing +* Bugs that happen only in certain situations and are hard to reproduce and fix + reliably + +Rust attempts to mitigate the negative effects of using threads, but +programming in a multithreaded context still takes careful thought and requires +a code structure that is different from that in programs running in a single +thread. + +Programming languages implement threads in a few different ways. Many operating +systems provide an API for creating new threads. This model where a language +calls the operating system APIs to create threads is sometimes called *1:1*, +meaning one operating system thread per one language thread. The Rust standard +library only provides an implementation of 1:1 threading; there are crates that +implement other models of threading that make different tradeoffs. + +### Creating a New Thread with `spawn` + +To create a new thread, we call the `thread::spawn` function and pass it a +closure (we talked about closures in Chapter 13) containing the code we want to +run in the new thread. The example in Listing 16-1 prints some text from a main +thread and other text from a new thread: + +Filename: src/main.rs + +``` +use std::thread; +use std::time::Duration; + +fn main() { + thread::spawn(|| { + for i in 1..10 { + println!("hi number {} from the spawned thread!", i); + thread::sleep(Duration::from_millis(1)); + } + }); + + for i in 1..5 { + println!("hi number {} from the main thread!", i); + thread::sleep(Duration::from_millis(1)); + } +} +``` + +Listing 16-1: Creating a new thread to print one thing while the main thread +prints something else + +Note that with this function, the new thread will be stopped when the main +thread ends, whether or not it has finished running. The output from this +program might be a little different every time, but it will look similar to the +following: + +``` +hi number 1 from the main thread! +hi number 1 from the spawned thread! +hi number 2 from the main thread! +hi number 2 from the spawned thread! +hi number 3 from the main thread! +hi number 3 from the spawned thread! +hi number 4 from the main thread! +hi number 4 from the spawned thread! +hi number 5 from the spawned thread! +``` + +The calls to `thread::sleep` force a thread to stop its execution for a short +duration, allowing a different thread to run. The threads will probably take +turns, but that isn’t guaranteed: it depends on how your operating system +schedules the threads. In this run, the main thread printed first, even though +the print statement from the spawned thread appears first in the code. And even +though we told the spawned thread to print until `i` is 9, it only got to 5 +before the main thread shut down. + +If you run this code and only see output from the main thread, or don’t see any +overlap, try increasing the numbers in the ranges to create more opportunities +for the operating system to switch between the threads. + +### Waiting for All Threads to Finish Using `join` Handles + +The code in Listing 16-1 not only stops the spawned thread prematurely most of +the time due to the main thread ending, but also can’t guarantee that the +spawned thread will get to run at all. The reason is that there is no guarantee +on the order in which threads run! + +We can fix the problem of the spawned thread not getting to run, or not getting +to run completely, by saving the return value of `thread::spawn` in a variable. +The return type of `thread::spawn` is `JoinHandle`. A `JoinHandle` is an owned +value that, when we call the `join` method on it, will wait for its thread to +finish. Listing 16-2 shows how to use the `JoinHandle` of the thread we created +in Listing 16-1 and call `join` to make sure the spawned thread finishes before +`main` exits: + +Filename: src/main.rs + +``` +use std::thread; +use std::time::Duration; + +fn main() { + let handle = thread::spawn(|| { + for i in 1..10 { + println!("hi number {} from the spawned thread!", i); + thread::sleep(Duration::from_millis(1)); + } + }); + + for i in 1..5 { + println!("hi number {} from the main thread!", i); + thread::sleep(Duration::from_millis(1)); + } + + handle.join().unwrap(); +} +``` + +Listing 16-2: Saving a `JoinHandle` from `thread::spawn` to guarantee the +thread is run to completion + +Calling `join` on the handle blocks the thread currently running until the +thread represented by the handle terminates. *Blocking* a thread means that +thread is prevented from performing work or exiting. Because we’ve put the call +to `join` after the main thread’s `for` loop, running Listing 16-2 should +produce output similar to this: + +``` +hi number 1 from the main thread! +hi number 2 from the main thread! +hi number 1 from the spawned thread! +hi number 3 from the main thread! +hi number 2 from the spawned thread! +hi number 4 from the main thread! +hi number 3 from the spawned thread! +hi number 4 from the spawned thread! +hi number 5 from the spawned thread! +hi number 6 from the spawned thread! +hi number 7 from the spawned thread! +hi number 8 from the spawned thread! +hi number 9 from the spawned thread! +``` + +The two threads continue alternating, but the main thread waits because of the +call to `handle.join()` and does not end until the spawned thread is finished. + +But let’s see what happens when we instead move `handle.join()` before the +`for` loop in `main`, like this: + +Filename: src/main.rs + +``` +use std::thread; +use std::time::Duration; + +fn main() { + let handle = thread::spawn(|| { + for i in 1..10 { + println!("hi number {} from the spawned thread!", i); + thread::sleep(Duration::from_millis(1)); + } + }); + + handle.join().unwrap(); + + for i in 1..5 { + println!("hi number {} from the main thread!", i); + thread::sleep(Duration::from_millis(1)); + } +} +``` + +The main thread will wait for the spawned thread to finish and then run its +`for` loop, so the output won’t be interleaved anymore, as shown here: + +``` +hi number 1 from the spawned thread! +hi number 2 from the spawned thread! +hi number 3 from the spawned thread! +hi number 4 from the spawned thread! +hi number 5 from the spawned thread! +hi number 6 from the spawned thread! +hi number 7 from the spawned thread! +hi number 8 from the spawned thread! +hi number 9 from the spawned thread! +hi number 1 from the main thread! +hi number 2 from the main thread! +hi number 3 from the main thread! +hi number 4 from the main thread! +``` + +Small details, such as where `join` is called, can affect whether or not your +threads run at the same time. + +### Using `move` Closures with Threads + +The `move` keyword is often used with closures passed to `thread::spawn` +because the closure will then take ownership of the values it uses from the +environment, thus transferring ownership of those values from one thread to +another. In the “Capturing the Environment with Closures” section of Chapter 13, we discussed `move` in the context of closures. Now, +we’ll concentrate more on the interaction between `move` and `thread::spawn` + +Notice in Listing 16-1 that the closure we pass to `thread::spawn` takes no +arguments: we’re not using any data from the main thread in the spawned +thread’s code. To use data from the main thread in the spawned thread, the +spawned thread’s closure must capture the values it needs. Listing 16-3 shows +an attempt to create a vector in the main thread and use it in the spawned +thread. However, this won’t yet work, as you’ll see in a moment. + +Filename: src/main.rs + +``` +use std::thread; + +fn main() { + let v = vec![1, 2, 3]; + + let handle = thread::spawn(|| { + println!("Here's a vector: {:?}", v); + }); + + handle.join().unwrap(); +} +``` + +Listing 16-3: Attempting to use a vector created by the main thread in another +thread + +The closure uses `v`, so it will capture `v` and make it part of the closure’s +environment. Because `thread::spawn` runs this closure in a new thread, we +should be able to access `v` inside that new thread. But when we compile this +example, we get the following error: + +``` +error[E0373]: closure may outlive the current function, but it borrows `v`, which is owned by the current function + --> src/main.rs:6:32 + | +6 | let handle = thread::spawn(|| { + | ^^ may outlive borrowed value `v` +7 | println!("Here's a vector: {:?}", v); + | - `v` is borrowed here + | +note: function requires argument type to outlive `'static` + --> src/main.rs:6:18 + | +6 | let handle = thread::spawn(|| { + | __________________^ +7 | | println!("Here's a vector: {:?}", v); +8 | | }); + | |______^ +help: to force the closure to take ownership of `v` (and any other referenced variables), use the `move` keyword + | +6 | let handle = thread::spawn(move || { + | ++++ +``` + +Rust *infers* how to capture `v`, and because `println!` only needs a reference +to `v`, the closure tries to borrow `v`. However, there’s a problem: Rust can’t +tell how long the spawned thread will run, so it doesn’t know if the reference +to `v` will always be valid. + +Listing 16-4 provides a scenario that’s more likely to have a reference to `v` +that won’t be valid: + +Filename: src/main.rs + +``` +use std::thread; + +fn main() { + let v = vec![1, 2, 3]; + + let handle = thread::spawn(|| { + println!("Here's a vector: {:?}", v); + }); + + drop(v); // oh no! + + handle.join().unwrap(); +} +``` + +Listing 16-4: A thread with a closure that attempts to capture a reference to +`v` from a main thread that drops `v` + +If we were allowed to run this code, there’s a possibility the spawned thread +would be immediately put in the background without running at all. The spawned +thread has a reference to `v` inside, but the main thread immediately drops +`v`, using the `drop` function we discussed in Chapter 15. Then, when the +spawned thread starts to execute, `v` is no longer valid, so a reference to it +is also invalid. Oh no! + +To fix the compiler error in Listing 16-3, we can use the error message’s +advice: + +``` +help: to force the closure to take ownership of `v` (and any other referenced variables), use the `move` keyword + | +6 | let handle = thread::spawn(move || { + | ++++ +``` + +By adding the `move` keyword before the closure, we force the closure to take +ownership of the values it’s using rather than allowing Rust to infer that it +should borrow the values. The modification to Listing 16-3 shown in Listing +16-5 will compile and run as we intend: + +Filename: src/main.rs + +``` +use std::thread; + +fn main() { + let v = vec![1, 2, 3]; + + let handle = thread::spawn(move || { + println!("Here's a vector: {:?}", v); + }); + + handle.join().unwrap(); +} +``` + +Listing 16-5: Using the `move` keyword to force a closure to take ownership of +the values it uses + +What would happen to the code in Listing 16-4 where the main thread called +`drop` if we use a `move` closure? Would `move` fix that case? Unfortunately, +no; we would get a different error because what Listing 16-4 is trying to do +isn’t allowed for a different reason. If we added `move` to the closure, we +would move `v` into the closure’s environment, and we could no longer call +`drop` on it in the main thread. We would get this compiler error instead: + +``` +error[E0382]: use of moved value: `v` + --> src/main.rs:10:10 + | +4 | let v = vec![1, 2, 3]; + | - move occurs because `v` has type `Vec`, which does not implement the `Copy` trait +5 | +6 | let handle = thread::spawn(move || { + | ------- value moved into closure here +7 | println!("Here's a vector: {:?}", v); + | - variable moved due to use in closure +... +10 | drop(v); // oh no! + | ^ value used here after move +``` + +Rust’s ownership rules have saved us again! We got an error from the code in +Listing 16-3 because Rust was being conservative and only borrowing `v` for the +thread, which meant the main thread could theoretically invalidate the spawned +thread’s reference. By telling Rust to move ownership of `v` to the spawned +thread, we’re guaranteeing Rust that the main thread won’t use `v` anymore. If +we change Listing 16-4 in the same way, we’re then violating the ownership +rules when we try to use `v` in the main thread. The `move` keyword overrides +Rust’s conservative default of borrowing; it doesn’t let us violate the +ownership rules. + +With a basic understanding of threads and the thread API, let’s look at what we +can *do* with threads. + +## Using Message Passing to Transfer Data Between Threads + +One increasingly popular approach to ensuring safe concurrency is *message +passing*, where threads or actors communicate by sending each other messages +containing data. Here’s the idea in a slogan from the Go language +documentation at *https://golang.org/doc/effective_go.html#concurrency*: +“Do not communicate by sharing memory; instead, share memory by communicating.” + +One major tool Rust has for accomplishing message-sending concurrency is the +*channel*, a programming concept that Rust’s standard library provides an +implementation of. You can imagine a channel in programming as being like a +channel of water, such as a stream or a river. If you put something like a +rubber duck or boat into a stream, it will travel downstream to the end of the +waterway. + +A channel in programming has two halves: a transmitter and a receiver. The +transmitter half is the upstream location where you put rubber ducks into the +river, and the receiver half is where the rubber duck ends up downstream. One +part of your code calls methods on the transmitter with the data you want to +send, and another part checks the receiving end for arriving messages. A +channel is said to be *closed* if either the transmitter or receiver half is +dropped. + +Here, we’ll work up to a program that has one thread to generate values and +send them down a channel, and another thread that will receive the values and +print them out. We’ll be sending simple values between threads using a channel +to illustrate the feature. Once you’re familiar with the technique, you could +use channels to implement a chat system or a system where many threads perform +parts of a calculation and send the parts to one thread that aggregates the +results. + +First, in Listing 16-6, we’ll create a channel but not do anything with it. +Note that this won’t compile yet because Rust can’t tell what type of values we +want to send over the channel. + +Filename: src/main.rs + +``` +use std::sync::mpsc; + +fn main() { + let (tx, rx) = mpsc::channel(); +} +``` + +Listing 16-6: Creating a channel and assigning the two halves to `tx` and `rx` + +We create a new channel using the `mpsc::channel` function; `mpsc` stands for +*multiple producer, single consumer*. In short, the way Rust’s standard library +implements channels means a channel can have multiple *sending* ends that +produce values but only one *receiving* end that consumes those values. Imagine +multiple streams flowing together into one big river: everything sent down any +of the streams will end up in one river at the end. We’ll start with a single +producer for now, but we’ll add multiple producers when we get this example +working. + +The `mpsc::channel` function returns a tuple, the first element of which is the +sending end and the second element is the receiving end. The abbreviations `tx` +and `rx` are traditionally used in many fields for *transmitter* and *receiver* +respectively, so we name our variables as such to indicate each end. We’re +using a `let` statement with a pattern that destructures the tuples; we’ll +discuss the use of patterns in `let` statements and destructuring in Chapter +18. Using a `let` statement this way is a convenient approach to extract the +pieces of the tuple returned by `mpsc::channel`. + +Let’s move the transmitting end into a spawned thread and have it send one +string so the spawned thread is communicating with the main thread, as shown in +Listing 16-7. This is like putting a rubber duck in the river upstream or +sending a chat message from one thread to another. + +Filename: src/main.rs + +``` +use std::sync::mpsc; +use std::thread; + +fn main() { + let (tx, rx) = mpsc::channel(); + + thread::spawn(move || { + let val = String::from("hi"); + tx.send(val).unwrap(); + }); +} +``` + +Listing 16-7: Moving `tx` to a spawned thread and sending “hi” + +Again, we’re using `thread::spawn` to create a new thread and then using `move` +to move `tx` into the closure so the spawned thread owns `tx`. The spawned +thread needs to own the transmitting end of the channel to be able to send +messages through the channel. + +The transmitting end has a `send` method that takes the value we want to send. +The `send` method returns a `Result` type, so if the receiving end has +already been dropped and there’s nowhere to send a value, the send operation +will return an error. In this example, we’re calling `unwrap` to panic in case +of an error. But in a real application, we would handle it properly: return to +Chapter 9 to review strategies for proper error handling. + +In Listing 16-8, we’ll get the value from the receiving end of the channel in +the main thread. This is like retrieving the rubber duck from the water at the +end of the river or like getting a chat message. + +Filename: src/main.rs + +``` +use std::sync::mpsc; +use std::thread; + +fn main() { + let (tx, rx) = mpsc::channel(); + + thread::spawn(move || { + let val = String::from("hi"); + tx.send(val).unwrap(); + }); + + let received = rx.recv().unwrap(); + println!("Got: {}", received); +} +``` + +Listing 16-8: Receiving the value “hi” in the main thread and printing it + +The receiving end of a channel has two useful methods: `recv` and `try_recv`. +We’re using `recv`, short for *receive*, which will block the main thread’s +execution and wait until a value is sent down the channel. Once a value is +sent, `recv` will return it in a `Result`. When the sending end of the +channel closes, `recv` will return an error to signal that no more values will +be coming. + +The `try_recv` method doesn’t block, but will instead return a `Result` +immediately: an `Ok` value holding a message if one is available and an `Err` +value if there aren’t any messages this time. Using `try_recv` is useful if +this thread has other work to do while waiting for messages: we could write a +loop that calls `try_recv` every so often, handles a message if one is +available, and otherwise does other work for a little while until checking +again. + +We’ve used `recv` in this example for simplicity; we don’t have any other work +for the main thread to do other than wait for messages, so blocking the main +thread is appropriate. + +When we run the code in Listing 16-8, we’ll see the value printed from the main +thread: + +``` +Got: hi +``` + +Perfect! + +### Channels and Ownership Transference + +The ownership rules play a vital role in message sending because they help you +write safe, concurrent code. Preventing errors in concurrent programming is the +advantage of thinking about ownership throughout your Rust programs. Let’s do +an experiment to show how channels and ownership work together to prevent +problems: we’ll try to use a `val` value in the spawned thread *after* we’ve +sent it down the channel. Try compiling the code in Listing 16-9 to see why +this code isn’t allowed: + +Filename: src/main.rs + +``` +use std::sync::mpsc; +use std::thread; + +fn main() { + let (tx, rx) = mpsc::channel(); + + thread::spawn(move || { + let val = String::from("hi"); + tx.send(val).unwrap(); + println!("val is {}", val); + }); + + let received = rx.recv().unwrap(); + println!("Got: {}", received); +} +``` + +Listing 16-9: Attempting to use `val` after we’ve sent it down the channel + +Here, we try to print `val` after we’ve sent it down the channel via `tx.send`. +Allowing this would be a bad idea: once the value has been sent to another +thread, that thread could modify or drop it before we try to use the value +again. Potentially, the other thread’s modifications could cause errors or +unexpected results due to inconsistent or nonexistent data. However, Rust gives +us an error if we try to compile the code in Listing 16-9: + +``` +error[E0382]: borrow of moved value: `val` + --> src/main.rs:10:31 + | +8 | let val = String::from("hi"); + | --- move occurs because `val` has type `String`, which does not implement the `Copy` trait +9 | tx.send(val).unwrap(); + | --- value moved here +10 | println!("val is {}", val); + | ^^^ value borrowed here after move +``` + +Our concurrency mistake has caused a compile time error. The `send` function +takes ownership of its parameter, and when the value is moved, the receiver +takes ownership of it. This stops us from accidentally using the value again +after sending it; the ownership system checks that everything is okay. + +### Sending Multiple Values and Seeing the Receiver Waiting + +The code in Listing 16-8 compiled and ran, but it didn’t clearly show us that +two separate threads were talking to each other over the channel. In Listing +16-10 we’ve made some modifications that will prove the code in Listing 16-8 is +running concurrently: the spawned thread will now send multiple messages and +pause for a second between each message. + +Filename: src/main.rs + +``` +use std::sync::mpsc; +use std::thread; +use std::time::Duration; + +fn main() { + let (tx, rx) = mpsc::channel(); + + thread::spawn(move || { + let vals = vec![ + String::from("hi"), + String::from("from"), + String::from("the"), + String::from("thread"), + ]; + + for val in vals { + tx.send(val).unwrap(); + thread::sleep(Duration::from_secs(1)); + } + }); + + for received in rx { + println!("Got: {}", received); + } +} +``` + +Listing 16-10: Sending multiple messages and pausing between each + +This time, the spawned thread has a vector of strings that we want to send to +the main thread. We iterate over them, sending each individually, and pause +between each by calling the `thread::sleep` function with a `Duration` value of +1 second. + +In the main thread, we’re not calling the `recv` function explicitly anymore: +instead, we’re treating `rx` as an iterator. For each value received, we’re +printing it. When the channel is closed, iteration will end. + +When running the code in Listing 16-10, you should see the following output +with a 1-second pause in between each line: + +``` +Got: hi +Got: from +Got: the +Got: thread +``` + +Because we don’t have any code that pauses or delays in the `for` loop in the +main thread, we can tell that the main thread is waiting to receive values from +the spawned thread. + +### Creating Multiple Producers by Cloning the Transmitter + +Earlier we mentioned that `mpsc` was an acronym for *multiple producer, +single consumer*. Let’s put `mpsc` to use and expand the code in Listing 16-10 +to create multiple threads that all send values to the same receiver. We can do +so by cloning the transmitting half of the channel, as shown in Listing 16-11: + +Filename: src/main.rs + +``` + // --snip-- + + let (tx, rx) = mpsc::channel(); + + let tx1 = tx.clone(); + thread::spawn(move || { + let vals = vec![ + String::from("hi"), + String::from("from"), + String::from("the"), + String::from("thread"), + ]; + + for val in vals { + tx1.send(val).unwrap(); + thread::sleep(Duration::from_secs(1)); + } + }); + + thread::spawn(move || { + let vals = vec![ + String::from("more"), + String::from("messages"), + String::from("for"), + String::from("you"), + ]; + + for val in vals { + tx.send(val).unwrap(); + thread::sleep(Duration::from_secs(1)); + } + }); + + for received in rx { + println!("Got: {}", received); + } + + // --snip-- +``` + +Listing 16-11: Sending multiple messages from multiple producers + +This time, before we create the first spawned thread, we call `clone` on the +sending end of the channel. This will give us a new sending handle we can pass +to the first spawned thread. We pass the original sending end of the channel to +a second spawned thread. This gives us two threads, each sending different +messages to the receiving end of the channel. + +When you run the code, your output should look something like this: + +``` +Got: hi +Got: more +Got: from +Got: messages +Got: for +Got: the +Got: thread +Got: you +``` + +You might see the values in another order; it depends on your system. This is +what makes concurrency interesting as well as difficult. If you experiment with +`thread::sleep`, giving it various values in the different threads, each run +will be more nondeterministic and create different output each time. + +Now that we’ve looked at how channels work, let’s look at a different method of +concurrency. + +## Shared-State Concurrency + +Message passing is a fine way of handling concurrency, but it’s not the only +one. Consider this part of the slogan from the Go language documentation again: +“do not communicate by sharing memory.” + +What would communicating by sharing memory look like? In addition, why would +message-passing enthusiasts not use it and do the opposite instead? + +In a way, channels in any programming language are similar to single ownership, +because once you transfer a value down a channel, you should no longer use that +value. Shared memory concurrency is like multiple ownership: multiple threads +can access the same memory location at the same time. As you saw in Chapter 15, +where smart pointers made multiple ownership possible, multiple ownership can +add complexity because these different owners need managing. Rust’s type system +and ownership rules greatly assist in getting this management correct. For an +example, let’s look at mutexes, one of the more common concurrency primitives +for shared memory. + +### Using Mutexes to Allow Access to Data from One Thread at a Time + +*Mutex* is an abbreviation for *mutual exclusion*, as in, a mutex allows only +one thread to access some data at any given time. To access the data in a +mutex, a thread must first signal that it wants access by asking to acquire the +mutex’s *lock*. The lock is a data structure that is part of the mutex that +keeps track of who currently has exclusive access to the data. Therefore, the +mutex is described as *guarding* the data it holds via the locking system. + +Mutexes have a reputation for being difficult to use because you have to +remember two rules: + +* You must attempt to acquire the lock before using the data. +* When you’re done with the data that the mutex guards, you must unlock the + data so other threads can acquire the lock. + +For a real-world metaphor for a mutex, imagine a panel discussion at a +conference with only one microphone. Before a panelist can speak, they have to +ask or signal that they want to use the microphone. When they get the +microphone, they can talk for as long as they want to and then hand the +microphone to the next panelist who requests to speak. If a panelist forgets to +hand the microphone off when they’re finished with it, no one else is able to +speak. If management of the shared microphone goes wrong, the panel won’t work +as planned! + +Management of mutexes can be incredibly tricky to get right, which is why so +many people are enthusiastic about channels. However, thanks to Rust’s type +system and ownership rules, you can’t get locking and unlocking wrong. + +#### The API of `Mutex` + +As an example of how to use a mutex, let’s start by using a mutex in a +single-threaded context, as shown in Listing 16-12: + +Filename: src/main.rs + +``` +use std::sync::Mutex; + +fn main() { + [1] let m = Mutex::new(5); + + { + [2] let mut num = m.lock().unwrap(); + [3] *num = 6; + [4] } + + [5] println!("m = {:?}", m); +} +``` + +Listing 16-12: Exploring the API of `Mutex` in a single-threaded context for +simplicity + +As with many types, we create a `Mutex` using the associated function `new` +[1]. To access the data inside the mutex, we use the `lock` method to acquire +the lock [2]. This call will block the current thread so it can’t do any work +until it’s our turn to have the lock. + +The call to `lock` would fail if another thread holding the lock panicked. In +that case, no one would ever be able to get the lock, so we’ve chosen to +`unwrap` and have this thread panic if we’re in that situation. + +After we’ve acquired the lock, we can treat the return value, named `num` in +this case, as a mutable reference to the data inside [3]. The type system +ensures that we acquire a lock before using the value in `m`: `Mutex` is +not an `i32`, so we *must* acquire the lock to be able to use the `i32` value. +We can’t forget; the type system won’t let us access the inner `i32` otherwise. + +As you might suspect, `Mutex` is a smart pointer. More accurately, the call +to `lock` *returns* a smart pointer called `MutexGuard`, wrapped in a +`LockResult` that we handled with the call to `unwrap`. The `MutexGuard` smart +pointer implements `Deref` to point at our inner data; the smart pointer also +has a `Drop` implementation that releases the lock automatically when a +`MutexGuard` goes out of scope, which happens at the end of the inner scope +[4]. As a result, we don’t risk forgetting to release the lock and blocking the +mutex from being used by other threads because the lock release happens +automatically. + +After dropping the lock, we can print the mutex value and see that we were able +to change the inner `i32` to 6 [5]. + +#### Sharing a `Mutex` Between Multiple Threads + +Now, let’s try to share a value between multiple threads using `Mutex`. +We’ll spin up 10 threads and have them each increment a counter value by 1, so +the counter goes from 0 to 10. The next example in Listing 16-13 will have +a compiler error, and we’ll use that error to learn more about using +`Mutex` and how Rust helps us use it correctly. + +Filename: src/main.rs + +``` +use std::sync::Mutex; +use std::thread; + +fn main() { + [1] let counter = Mutex::new(0); + let mut handles = vec![]; + + [2] for _ in 0..10 { + [3] let handle = thread::spawn(move || { + [4] let mut num = counter.lock().unwrap(); + + [5] *num += 1; + }); + [6] handles.push(handle); + } + + for handle in handles { + [7] handle.join().unwrap(); + } + + [8] println!("Result: {}", *counter.lock().unwrap()); +} +``` + +Listing 16-13: Ten threads each increment a counter guarded by a `Mutex` + +We create a `counter` variable to hold an `i32` inside a `Mutex` [1], as we +did in Listing 16-12. Next, we create 10 threads by iterating over a range of +numbers [2]. We use `thread::spawn` and give all the threads the same closure, +one that moves the counter into the thread [3], acquires a lock on the +`Mutex` by calling the `lock` method [4], and then adds 1 to the value in +the mutex [5]. When a thread finishes running its closure, `num` will go out of +scope and release the lock so another thread can acquire it. + +In the main thread, we collect all the join handles [6]. Then, as we did in +Listing 16-2, we call `join` on each handle to make sure all the threads finish +[7]. At that point, the main thread will acquire the lock and print the result +of this program [8]. + +We hinted that this example wouldn’t compile. Now let’s find out why! + +``` +error[E0382]: use of moved value: `counter` + --> src/main.rs:9:36 + | +5 | let counter = Mutex::new(0); + | ------- move occurs because `counter` has type `Mutex`, which does not implement the `Copy` trait +... +9 | let handle = thread::spawn(move || { + | ^^^^^^^ value moved into closure here, in previous iteration of loop +10 | let mut num = counter.lock().unwrap(); + | ------- use occurs due to use in closure +``` + +The error message states that the `counter` value was moved in the previous +iteration of the loop. So Rust is telling us that we can’t move the ownership +of lock `counter` into multiple threads. Let’s fix the compiler error with a +multiple-ownership method we discussed in Chapter 15. + +#### Multiple Ownership with Multiple Threads + +In Chapter 15, we gave a value multiple owners by using the smart pointer +`Rc` to create a reference counted value. Let’s do the same here and see +what happens. We’ll wrap the `Mutex` in `Rc` in Listing 16-14 and clone +the `Rc` before moving ownership to the thread. + +Filename: src/main.rs + +``` +use std::rc::Rc; +use std::sync::Mutex; +use std::thread; + +fn main() { + let counter = Rc::new(Mutex::new(0)); + let mut handles = vec![]; + + for _ in 0..10 { + let counter = Rc::clone(&counter); + let handle = thread::spawn(move || { + let mut num = counter.lock().unwrap(); + + *num += 1; + }); + handles.push(handle); + } + + for handle in handles { + handle.join().unwrap(); + } + + println!("Result: {}", *counter.lock().unwrap()); +} +``` + +Listing 16-14: Attempting to use `Rc` to allow multiple threads to own the +`Mutex` + +Once again, we compile and get... different errors! The compiler is teaching us +a lot. + +``` +[1] error[E0277]: `Rc>` cannot be sent between threads safely + --> src/main.rs:11:22 + | +11 | let handle = thread::spawn(move || { + | ______________________^^^^^^^^^^^^^_- + | | | + | | `Rc>` cannot be sent between threads safely +12 | | let mut num = counter.lock().unwrap(); +13 | | +14 | | *num += 1; +15 | | }); + | |_________- within this `[closure@src/main.rs:11:36: 15:10]` + | +[2] = help: within `[closure@src/main.rs:11:36: 15:10]`, the trait `Send` is not implemented for `Rc>` + = note: required because it appears within the type `[closure@src/main.rs:11:36: 15:10]` +note: required by a bound in `spawn` +``` + +Wow, that error message is very wordy! Here’s the important part to focus on: +`` `Rc>` cannot be sent between threads safely `` [1]. The compiler +is also telling us the reason why: ``the trait `Send` is not implemented for +`Rc>` `` [2]. We’ll talk about `Send` in the next section: it’s one +of the traits that ensures the types we use with threads are meant for use in +concurrent situations. + +Unfortunately, `Rc` is not safe to share across threads. When `Rc` +manages the reference count, it adds to the count for each call to `clone` and +subtracts from the count when each clone is dropped. But it doesn’t use any +concurrency primitives to make sure that changes to the count can’t be +interrupted by another thread. This could lead to wrong counts—subtle bugs that +could in turn lead to memory leaks or a value being dropped before we’re done +with it. What we need is a type exactly like `Rc` but one that makes changes +to the reference count in a thread-safe way. + +#### Atomic Reference Counting with `Arc` + +Fortunately, `Arc` *is* a type like `Rc` that is safe to use in +concurrent situations. The *a* stands for *atomic*, meaning it’s an *atomically +reference counted* type. Atomics are an additional kind of concurrency +primitive that we won’t cover in detail here: see the standard library +documentation for `std::sync::atomic` for more details. At this point, you just +need to know that atomics work like primitive types but are safe to share +across threads. + +You might then wonder why all primitive types aren’t atomic and why standard +library types aren’t implemented to use `Arc` by default. The reason is that +thread safety comes with a performance penalty that you only want to pay when +you really need to. If you’re just performing operations on values within a +single thread, your code can run faster if it doesn’t have to enforce the +guarantees atomics provide. + +Let’s return to our example: `Arc` and `Rc` have the same API, so we fix +our program by changing the `use` line, the call to `new`, and the call to +`clone`. The code in Listing 16-15 will finally compile and run: + +Filename: src/main.rs + +``` +use std::sync::{Arc, Mutex}; +use std::thread; + +fn main() { + let counter = Arc::new(Mutex::new(0)); + let mut handles = vec![]; + + for _ in 0..10 { + let counter = Arc::clone(&counter); + let handle = thread::spawn(move || { + let mut num = counter.lock().unwrap(); + + *num += 1; + }); + handles.push(handle); + } + + for handle in handles { + handle.join().unwrap(); + } + + println!("Result: {}", *counter.lock().unwrap()); +} +``` + +Listing 16-15: Using an `Arc` to wrap the `Mutex` to be able to share +ownership across multiple threads + +This code will print the following: + +``` +Result: 10 +``` + +We did it! We counted from 0 to 10, which may not seem very impressive, but it +did teach us a lot about `Mutex` and thread safety. You could also use this +program’s structure to do more complicated operations than just incrementing a +counter. Using this strategy, you can divide a calculation into independent +parts, split those parts across threads, and then use a `Mutex` to have each +thread update the final result with its part. + +### Similarities Between `RefCell`/`Rc` and `Mutex`/`Arc` + +You might have noticed that `counter` is immutable but we could get a mutable +reference to the value inside it; this means `Mutex` provides interior +mutability, as the `Cell` family does. In the same way we used `RefCell` in +Chapter 15 to allow us to mutate contents inside an `Rc`, we use `Mutex` +to mutate contents inside an `Arc`. + +Another detail to note is that Rust can’t protect you from all kinds of logic +errors when you use `Mutex`. Recall in Chapter 15 that using `Rc` came +with the risk of creating reference cycles, where two `Rc` values refer to +each other, causing memory leaks. Similarly, `Mutex` comes with the risk of +creating *deadlocks*. These occur when an operation needs to lock two resources +and two threads have each acquired one of the locks, causing them to wait for +each other forever. If you’re interested in deadlocks, try creating a Rust +program that has a deadlock; then research deadlock mitigation strategies for +mutexes in any language and have a go at implementing them in Rust. The +standard library API documentation for `Mutex` and `MutexGuard` offers +useful information. + +We’ll round out this chapter by talking about the `Send` and `Sync` traits and +how we can use them with custom types. + +## Extensible Concurrency with the `Sync` and `Send` Traits + +Interestingly, the Rust language has *very* few concurrency features. Almost +every concurrency feature we’ve talked about so far in this chapter has been +part of the standard library, not the language. Your options for handling +concurrency are not limited to the language or the standard library; you can +write your own concurrency features or use those written by others. + +However, two concurrency concepts are embedded in the language: the +`std::marker` traits `Sync` and `Send`. + +### Allowing Transference of Ownership Between Threads with `Send` + +The `Send` marker trait indicates that ownership of values of the type implementing +`Send` can be transferred between threads. Almost every Rust type is `Send`, +but there are some exceptions, including `Rc`: this cannot be `Send` because +if you cloned an `Rc` value and tried to transfer ownership of the clone to +another thread, both threads might update the reference count at the same time. +For this reason, `Rc` is implemented for use in single-threaded situations +where you don’t want to pay the thread-safe performance penalty. + +Therefore, Rust’s type system and trait bounds ensure that you can never +accidentally send an `Rc` value across threads unsafely. When we tried to do +this in Listing 16-14, we got the error `the trait Send is not implemented for +Rc>`. When we switched to `Arc`, which is `Send`, the code +compiled. + +Any type composed entirely of `Send` types is automatically marked as `Send` as +well. Almost all primitive types are `Send`, aside from raw pointers, which +we’ll discuss in Chapter 19. + +### Allowing Access from Multiple Threads with `Sync` + +The `Sync` marker trait indicates that it is safe for the type implementing +`Sync` to be referenced from multiple threads. In other words, any type `T` is +`Sync` if `&T` (an immutable reference to `T`) is `Send`, meaning the reference +can be sent safely to another thread. Similar to `Send`, primitive types are +`Sync`, and types composed entirely of types that are `Sync` are also `Sync`. + +The smart pointer `Rc` is also not `Sync` for the same reasons that it’s not +`Send`. The `RefCell` type (which we talked about in Chapter 15) and the +family of related `Cell` types are not `Sync`. The implementation of borrow +checking that `RefCell` does at runtime is not thread-safe. The smart +pointer `Mutex` is `Sync` and can be used to share access with multiple +threads as you saw in the “Sharing a `Mutex` Between Multiple +Threads” section. + +### Implementing `Send` and `Sync` Manually Is Unsafe + +Because types that are made up of `Send` and `Sync` traits are automatically +also `Send` and `Sync`, we don’t have to implement those traits manually. As +marker traits, they don’t even have any methods to implement. They’re just +useful for enforcing invariants related to concurrency. + +Manually implementing these traits involves implementing unsafe Rust code. +We’ll talk about using unsafe Rust code in Chapter 19; for now, the important +information is that building new concurrent types not made up of `Send` and +`Sync` parts requires careful thought to uphold the safety guarantees. “The +Rustonomicon” at *../nomicon/index.html* has more information about these guarantees and how to +uphold them. + +## Summary + +This isn’t the last you’ll see of concurrency in this book: the project in +Chapter 20 will use the concepts in this chapter in a more realistic situation +than the smaller examples discussed here. + +As mentioned earlier, because very little of how Rust handles concurrency is +part of the language, many concurrency solutions are implemented as crates. +These evolve more quickly than the standard library, so be sure to search +online for the current, state-of-the-art crates to use in multithreaded +situations. + +The Rust standard library provides channels for message passing and smart +pointer types, such as `Mutex` and `Arc`, that are safe to use in +concurrent contexts. The type system and the borrow checker ensure that the +code using these solutions won’t end up with data races or invalid references. +Once you get your code to compile, you can rest assured that it will happily +run on multiple threads without the kinds of hard-to-track-down bugs common in +other languages. Concurrent programming is no longer a concept to be afraid of: +go forth and make your programs concurrent, fearlessly! + +Next, we’ll talk about idiomatic ways to model problems and structure solutions +as your Rust programs get bigger. In addition, we’ll discuss how Rust’s idioms +relate to those you might be familiar with from object-oriented programming. From 75b9d4a8dccc245e0343eb1480aa86f169043ea5 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 26 Jan 2022 22:00:20 -0500 Subject: [PATCH 0072/1248] Fix link style and inclusion in print --- src/ch16-03-shared-state.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ch16-03-shared-state.md b/src/ch16-03-shared-state.md index 8704423606..19f1e8decd 100644 --- a/src/ch16-03-shared-state.md +++ b/src/ch16-03-shared-state.md @@ -174,11 +174,9 @@ Fortunately, `Arc` *is* a type like `Rc` that is safe to use in concurrent situations. The *a* stands for *atomic*, meaning it’s an *atomically reference counted* type. Atomics are an additional kind of concurrency primitive that we won’t cover in detail here: see the standard library -documentation for [`std::sync::atomic`] for more details. At this point, you just -need to know that atomics work like primitive types but are safe to share -across threads. - -[`std::sync::atomic`]: ../std/sync/atomic/index.html +documentation for [`std::sync::atomic`][atomic] for more +details. At this point, you just need to know that atomics work like primitive +types but are safe to share across threads. You might then wonder why all primitive types aren’t atomic and why standard library types aren’t implemented to use `Arc` by default. The reason is that @@ -239,3 +237,5 @@ useful information. We’ll round out this chapter by talking about the `Send` and `Sync` traits and how we can use them with custom types. + +[atomic]: ../std/sync/atomic/index.html From 9f9641b09d3efd68eb6d6daa40bb41b5bff2a460 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 27 Jan 2022 21:12:29 -0500 Subject: [PATCH 0073/1248] Fix incorrect descriptions of what the code is doing. Fixes #2745. --- src/ch17-03-oo-design-patterns.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/ch17-03-oo-design-patterns.md b/src/ch17-03-oo-design-patterns.md index 0232e17001..3b6fdd9838 100644 --- a/src/ch17-03-oo-design-patterns.md +++ b/src/ch17-03-oo-design-patterns.md @@ -219,16 +219,18 @@ state is approved, as shown in Listing 17-16: We add the `approve` method to the `State` trait and add a new struct that implements `State`, the `Published` state. -Similar to `request_review`, if we call the `approve` method on a `Draft`, it -will have no effect because it will return `self`. When we call `approve` on -`PendingReview`, it returns a new, boxed instance of the `Published` struct. -The `Published` struct implements the `State` trait, and for both the -`request_review` method and the `approve` method, it returns itself, because -the post should stay in the `Published` state in those cases. - -Now we need to update the `content` method on `Post`: if the state is -`Published`, we want to return the value in the post’s `content` field; -otherwise, we want to return an empty string slice, as shown in Listing 17-17: +Similar to the way `request_review` on `PendingReview` works, if we call the +`approve` method on a `Draft`, it will have no effect because `approve` will +return `self`. When we call `approve` on `PendingReview`, it returns a new, +boxed instance of the `Published` struct. The `Published` struct implements the +`State` trait, and for both the `request_review` method and the `approve` +method, it returns itself, because the post should stay in the `Published` +state in those cases. + +Now we need to update the `content` method on `Post`. We want the value +returned from `content` to depend on the current state of the `Post`, so we're +going to have the `Post` delegate to a `content` method defined on its `state`, +as shown in Listing 17-17: Filename: src/lib.rs @@ -246,9 +248,9 @@ returned from using the `content` method on the `state` value. We call the `as_ref` method on the `Option` because we want a reference to the value inside the `Option` rather than ownership of the value. Because `state` -is an `Option>`, when we call `as_ref`, an `Option<&Box>` is -returned. If we didn’t call `as_ref`, we would get an error because we can’t -move `state` out of the borrowed `&self` of the function parameter. +is an `Option>`, when we call `as_ref`, an `Option<&Box>` is returned. If we didn’t call `as_ref`, we would get an error because +we can’t move `state` out of the borrowed `&self` of the function parameter. We then call the `unwrap` method, which we know will never panic, because we know the methods on `Post` ensure that `state` will always contain a `Some` From 851449061b74d8b15adca936350a3fca6160ff39 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 27 Jan 2022 21:19:38 -0500 Subject: [PATCH 0074/1248] Clarify that add_text on Post will work in any state. Fixes #2159. --- src/ch17-03-oo-design-patterns.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ch17-03-oo-design-patterns.md b/src/ch17-03-oo-design-patterns.md index 3b6fdd9838..b433cc21ca 100644 --- a/src/ch17-03-oo-design-patterns.md +++ b/src/ch17-03-oo-design-patterns.md @@ -41,13 +41,13 @@ because we haven’t implemented the `blog` crate yet. Listing 17-11: Code that demonstrates the desired behavior we want our `blog` crate to have -We want to allow the user to create a new draft blog post with `Post::new`. -Then we want to allow text to be added to the blog post while it’s in the draft -state. If we try to get the post’s content immediately, before approval, -nothing should happen because the post is still a draft. We’ve added -`assert_eq!` in the code for demonstration purposes. An excellent unit test for -this would be to assert that a draft blog post returns an empty string from the -`content` method, but we’re not going to write tests for this example. +We want to allow the user to create a new draft blog post with `Post::new`. We +want to allow text to be added to the blog post. If we try to get the post’s +content immediately, before approval, we shouldn't get any text because the +post is still a draft. We’ve added `assert_eq!` in the code for demonstration +purposes. An excellent unit test for this would be to assert that a draft blog +post returns an empty string from the `content` method, but we’re not going to +write tests for this example. Next, we want to enable a request for a review of the post, and we want `content` to return an empty string while waiting for the review. When the post From 8b98b7b7c1d566fd614a052c53c07900e66d39c2 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 27 Jan 2022 21:25:03 -0500 Subject: [PATCH 0075/1248] Don't put a hyphen in 'object safe'. Fixes #2960. --- src/ch17-02-trait-objects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch17-02-trait-objects.md b/src/ch17-02-trait-objects.md index 4f774fea8c..437b81d287 100644 --- a/src/ch17-02-trait-objects.md +++ b/src/ch17-02-trait-objects.md @@ -254,7 +254,7 @@ to consider. ### Object Safety Is Required for Trait Objects -You can only make *object-safe* traits into trait objects. Some complex rules +You can only make *object safe* traits into trait objects. Some complex rules govern all the properties that make a trait object safe, but in practice, only two rules are relevant. A trait is object safe if all the methods defined in the trait have the following properties: From 727ef100a569d9aa0b9da3a498a346917fadc979 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 27 Jan 2022 21:34:34 -0500 Subject: [PATCH 0076/1248] Remove the section on object safety. Connects to #2790. --- .../Cargo.lock | 6 -- .../Cargo.toml | 6 -- .../output.txt | 13 ---- .../src/lib.rs | 3 - src/ch17-02-trait-objects.md | 59 ------------------- 5 files changed, 87 deletions(-) delete mode 100644 listings/ch17-oop/no-listing-01-trait-object-of-clone/Cargo.lock delete mode 100644 listings/ch17-oop/no-listing-01-trait-object-of-clone/Cargo.toml delete mode 100644 listings/ch17-oop/no-listing-01-trait-object-of-clone/output.txt delete mode 100644 listings/ch17-oop/no-listing-01-trait-object-of-clone/src/lib.rs diff --git a/listings/ch17-oop/no-listing-01-trait-object-of-clone/Cargo.lock b/listings/ch17-oop/no-listing-01-trait-object-of-clone/Cargo.lock deleted file mode 100644 index 00d7b21826..0000000000 --- a/listings/ch17-oop/no-listing-01-trait-object-of-clone/Cargo.lock +++ /dev/null @@ -1,6 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "gui" -version = "0.1.0" - diff --git a/listings/ch17-oop/no-listing-01-trait-object-of-clone/Cargo.toml b/listings/ch17-oop/no-listing-01-trait-object-of-clone/Cargo.toml deleted file mode 100644 index 9b816e7661..0000000000 --- a/listings/ch17-oop/no-listing-01-trait-object-of-clone/Cargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "gui" -version = "0.1.0" -edition = "2021" - -[dependencies] diff --git a/listings/ch17-oop/no-listing-01-trait-object-of-clone/output.txt b/listings/ch17-oop/no-listing-01-trait-object-of-clone/output.txt deleted file mode 100644 index fa60c4a420..0000000000 --- a/listings/ch17-oop/no-listing-01-trait-object-of-clone/output.txt +++ /dev/null @@ -1,13 +0,0 @@ -$ cargo build - Compiling gui v0.1.0 (file:///projects/gui) -error[E0038]: the trait `Clone` cannot be made into an object - --> src/lib.rs:2:29 - | -2 | pub components: Vec>, - | ^^^^^^^^^ `Clone` cannot be made into an object - | - = note: the trait cannot be made into an object because it requires `Self: Sized` - = note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit - -For more information about this error, try `rustc --explain E0038`. -error: could not compile `gui` due to previous error diff --git a/listings/ch17-oop/no-listing-01-trait-object-of-clone/src/lib.rs b/listings/ch17-oop/no-listing-01-trait-object-of-clone/src/lib.rs deleted file mode 100644 index e6b1a37f0a..0000000000 --- a/listings/ch17-oop/no-listing-01-trait-object-of-clone/src/lib.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub struct Screen { - pub components: Vec>, -} diff --git a/src/ch17-02-trait-objects.md b/src/ch17-02-trait-objects.md index 437b81d287..e7e10a3eea 100644 --- a/src/ch17-02-trait-objects.md +++ b/src/ch17-02-trait-objects.md @@ -252,65 +252,6 @@ optimizations. However, we did get extra flexibility in the code that we wrote in Listing 17-5 and were able to support in Listing 17-9, so it’s a trade-off to consider. -### Object Safety Is Required for Trait Objects - -You can only make *object safe* traits into trait objects. Some complex rules -govern all the properties that make a trait object safe, but in practice, only -two rules are relevant. A trait is object safe if all the methods defined in -the trait have the following properties: - -* The return type isn’t `Self`. -* There are no generic type parameters. - -The `Self` keyword is an alias for the type we’re implementing the traits or -methods on. Trait objects must be object safe because once you’ve used a trait -object, Rust no longer knows the concrete type that’s implementing that trait. -If a trait method returns the concrete `Self` type, but a trait object forgets -the exact type that `Self` is, there is no way the method can use the original -concrete type. The same is true of generic type parameters that are filled in -with concrete type parameters when the trait is used: the concrete types become -part of the type that implements the trait. When the type is forgotten through -the use of a trait object, there is no way to know what types to fill in the -generic type parameters with. - -An example of a trait whose methods are not object safe is the standard -library’s `Clone` trait. The signature for the `clone` method in the `Clone` -trait looks like this: - -```rust -pub trait Clone { - fn clone(&self) -> Self; -} -``` - -The `String` type implements the `Clone` trait, and when we call the `clone` -method on an instance of `String` we get back an instance of `String`. -Similarly, if we call `clone` on an instance of `Vec`, we get back an -instance of `Vec`. The signature of `clone` needs to know what type will -stand in for `Self`, because that’s the return type. - -The compiler will indicate when you’re trying to do something that violates the -rules of object safety in regard to trait objects. For example, let’s say we -tried to implement the `Screen` struct in Listing 17-4 to hold types that -implement the `Clone` trait instead of the `Draw` trait, like this: - -```rust,ignore,does_not_compile -{{#rustdoc_include ../listings/ch17-oop/no-listing-01-trait-object-of-clone/src/lib.rs}} -``` - -We would get this error: - -```console -{{#include ../listings/ch17-oop/no-listing-01-trait-object-of-clone/output.txt}} -``` - -This error means you can’t use this trait as a trait object in this way. If -you’re interested in more details on object safety, see [Rust RFC 255] or check the -object safety section in the [Rust Reference][object-safety-reference]. - -[Rust RFC 255]: https://github.com/rust-lang/rfcs/blob/master/text/0255-object-safety.md - [performance-of-code-using-generics]: ch10-01-syntax.html#performance-of-code-using-generics [dynamically-sized]: ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait -[object-safety-reference]: ../reference/items/traits.html#object-safety From 98904efaa4fc968db8ff59cf2744d9f7ed158166 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 27 Jan 2022 21:36:46 -0500 Subject: [PATCH 0077/1248] Snapshot of chapter 17 for nostarch --- nostarch/chapter17.md | 1208 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1208 insertions(+) create mode 100644 nostarch/chapter17.md diff --git a/nostarch/chapter17.md b/nostarch/chapter17.md new file mode 100644 index 0000000000..c56b8a2ccf --- /dev/null +++ b/nostarch/chapter17.md @@ -0,0 +1,1208 @@ + + +[TOC] + +# Object Oriented Programming Features of Rust + +Object-oriented programming (OOP) is a way of modeling programs. Objects came +from Simula in the 1960s. Those objects influenced Alan Kay’s programming +architecture in which objects pass messages to each other. He coined the term +*object-oriented programming* in 1967 to describe this architecture. Many +competing definitions describe what OOP is; some definitions would classify +Rust as object oriented, but other definitions would not. In this chapter, +we’ll explore certain characteristics that are commonly considered object +oriented and how those characteristics translate to idiomatic Rust. We’ll then +show you how to implement an object-oriented design pattern in Rust and discuss +the trade-offs of doing so versus implementing a solution using some of Rust’s +strengths instead. + +## Characteristics of Object-Oriented Languages + +There is no consensus in the programming community about what features a +language must have to be considered object oriented. Rust is influenced by many +programming paradigms, including OOP; for example, we explored the features +that came from functional programming in Chapter 13. Arguably, OOP languages +share certain common characteristics, namely objects, encapsulation, and +inheritance. Let’s look at what each of those characteristics means and whether +Rust supports it. + +### Objects Contain Data and Behavior + +The book *Design Patterns: Elements of Reusable Object-Oriented Software* by +Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (Addison-Wesley +Professional, 1994), colloquially referred to as *The Gang of Four* book, is a +catalog of object-oriented design patterns. It defines OOP this way: + +> Object-oriented programs are made up of objects. An *object* packages both +> data and the procedures that operate on that data. The procedures are +> typically called *methods* or *operations*. + +Using this definition, Rust is object oriented: structs and enums have data, +and `impl` blocks provide methods on structs and enums. Even though structs and +enums with methods aren’t *called* objects, they provide the same +functionality, according to the Gang of Four’s definition of objects. + +### Encapsulation that Hides Implementation Details + +Another aspect commonly associated with OOP is the idea of *encapsulation*, +which means that the implementation details of an object aren’t accessible to +code using that object. Therefore, the only way to interact with an object is +through its public API; code using the object shouldn’t be able to reach into +the object’s internals and change data or behavior directly. This enables the +programmer to change and refactor an object’s internals without needing to +change the code that uses the object. + +We discussed how to control encapsulation in Chapter 7: we can use the `pub` +keyword to decide which modules, types, functions, and methods in our code +should be public, and by default everything else is private. For example, we +can define a struct `AveragedCollection` that has a field containing a vector +of `i32` values. The struct can also have a field that contains the average of +the values in the vector, meaning the average doesn’t have to be computed +on demand whenever anyone needs it. In other words, `AveragedCollection` will +cache the calculated average for us. Listing 17-1 has the definition of the +`AveragedCollection` struct: + +Filename: src/lib.rs + +``` +pub struct AveragedCollection { + list: Vec, + average: f64, +} +``` + +Listing 17-1: An `AveragedCollection` struct that maintains a list of integers +and the average of the items in the collection + +The struct is marked `pub` so that other code can use it, but the fields within +the struct remain private. This is important in this case because we want to +ensure that whenever a value is added or removed from the list, the average is +also updated. We do this by implementing `add`, `remove`, and `average` methods +on the struct, as shown in Listing 17-2: + +Filename: src/lib.rs + +``` +impl AveragedCollection { + pub fn add(&mut self, value: i32) { + self.list.push(value); + self.update_average(); + } + + pub fn remove(&mut self) -> Option { + let result = self.list.pop(); + match result { + Some(value) => { + self.update_average(); + Some(value) + } + None => None, + } + } + + pub fn average(&self) -> f64 { + self.average + } + + fn update_average(&mut self) { + let total: i32 = self.list.iter().sum(); + self.average = total as f64 / self.list.len() as f64; + } +} +``` + +Listing 17-2: Implementations of the public methods `add`, `remove`, and +`average` on `AveragedCollection` + +The public methods `add`, `remove`, and `average` are the only ways to access +or modify data in an instance of `AveragedCollection`. When an item is added +to `list` using the `add` method or removed using the `remove` method, the +implementations of each call the private `update_average` method that handles +updating the `average` field as well. + +We leave the `list` and `average` fields private so there is no way for +external code to add or remove items to the `list` field directly; otherwise, +the `average` field might become out of sync when the `list` changes. The +`average` method returns the value in the `average` field, allowing external +code to read the `average` but not modify it. + +Because we’ve encapsulated the implementation details of the struct +`AveragedCollection`, we can easily change aspects, such as the data structure, +in the future. For instance, we could use a `HashSet` instead of a +`Vec` for the `list` field. As long as the signatures of the `add`, +`remove`, and `average` public methods stay the same, code using +`AveragedCollection` wouldn’t need to change. If we made `list` public instead, +this wouldn’t necessarily be the case: `HashSet` and `Vec` have +different methods for adding and removing items, so the external code would +likely have to change if it were modifying `list` directly. + +If encapsulation is a required aspect for a language to be considered object +oriented, then Rust meets that requirement. The option to use `pub` or not for +different parts of code enables encapsulation of implementation details. + +### Inheritance as a Type System and as Code Sharing + +*Inheritance* is a mechanism whereby an object can inherit from another +object’s definition, thus gaining the parent object’s data and behavior without +you having to define them again. + +If a language must have inheritance to be an object-oriented language, then +Rust is not one. There is no way to define a struct that inherits the parent +struct’s fields and method implementations. However, if you’re used to having +inheritance in your programming toolbox, you can use other solutions in Rust, +depending on your reason for reaching for inheritance in the first place. + +You choose inheritance for two main reasons. One is for reuse of code: you can +implement particular behavior for one type, and inheritance enables you to +reuse that implementation for a different type. You can share Rust code using +default trait method implementations instead, which you saw in Listing 10-14 +when we added a default implementation of the `summarize` method on the +`Summary` trait. Any type implementing the `Summary` trait would have the +`summarize` method available on it without any further code. This is similar to +a parent class having an implementation of a method and an inheriting child +class also having the implementation of the method. We can also override the +default implementation of the `summarize` method when we implement the +`Summary` trait, which is similar to a child class overriding the +implementation of a method inherited from a parent class. + +The other reason to use inheritance relates to the type system: to enable a +child type to be used in the same places as the parent type. This is also +called *polymorphism*, which means that you can substitute multiple objects for +each other at runtime if they share certain characteristics. + +> ### Polymorphism +> +> To many people, polymorphism is synonymous with inheritance. But it’s +> actually a more general concept that refers to code that can work with data +> of multiple types. For inheritance, those types are generally subclasses. +> +> Rust instead uses generics to abstract over different possible types and +> trait bounds to impose constraints on what those types must provide. This is +> sometimes called *bounded parametric polymorphism*. + +Inheritance has recently fallen out of favor as a programming design solution +in many programming languages because it’s often at risk of sharing more code +than necessary. Subclasses shouldn’t always share all characteristics of their +parent class but will do so with inheritance. This can make a program’s design +less flexible. It also introduces the possibility of calling methods on +subclasses that don’t make sense or that cause errors because the methods don’t +apply to the subclass. In addition, some languages will only allow a subclass +to inherit from one class, further restricting the flexibility of a program’s +design. + +For these reasons, Rust takes a different approach, using trait objects instead +of inheritance. Let’s look at how trait objects enable polymorphism in Rust. + +## Using Trait Objects That Allow for Values of Different Types + +In Chapter 8, we mentioned that one limitation of vectors is that they can +store elements of only one type. We created a workaround in Listing 8-10 where +we defined a `SpreadsheetCell` enum that had variants to hold integers, floats, +and text. This meant we could store different types of data in each cell and +still have a vector that represented a row of cells. This is a perfectly good +solution when our interchangeable items are a fixed set of types that we know +when our code is compiled. + +However, sometimes we want our library user to be able to extend the set of +types that are valid in a particular situation. To show how we might achieve +this, we’ll create an example graphical user interface (GUI) tool that iterates +through a list of items, calling a `draw` method on each one to draw it to the +screen—a common technique for GUI tools. We’ll create a library crate called +`gui` that contains the structure of a GUI library. This crate might include +some types for people to use, such as `Button` or `TextField`. In addition, +`gui` users will want to create their own types that can be drawn: for +instance, one programmer might add an `Image` and another might add a +`SelectBox`. + +We won’t implement a fully fledged GUI library for this example but will show +how the pieces would fit together. At the time of writing the library, we can’t +know and define all the types other programmers might want to create. But we do +know that `gui` needs to keep track of many values of different types, and it +needs to call a `draw` method on each of these differently typed values. It +doesn’t need to know exactly what will happen when we call the `draw` method, +just that the value will have that method available for us to call. + +To do this in a language with inheritance, we might define a class named +`Component` that has a method named `draw` on it. The other classes, such as +`Button`, `Image`, and `SelectBox`, would inherit from `Component` and thus +inherit the `draw` method. They could each override the `draw` method to define +their custom behavior, but the framework could treat all of the types as if +they were `Component` instances and call `draw` on them. But because Rust +doesn’t have inheritance, we need another way to structure the `gui` library to +allow users to extend it with new types. + +### Defining a Trait for Common Behavior + +To implement the behavior we want `gui` to have, we’ll define a trait named +`Draw` that will have one method named `draw`. Then we can define a vector that +takes a *trait object*. A trait object points to both an instance of a type +implementing our specified trait as well as a table used to look up trait +methods on that type at runtime. We create a trait object by specifying some +sort of pointer, such as a `&` reference or a `Box` smart pointer, then the +`dyn` keyword, and then specifying the relevant trait. (We’ll talk about the +reason trait objects must use a pointer in Chapter 19 in the section +“Dynamically Sized Types and the `Sized` Trait.”) We can use trait objects in place of a generic or concrete type. +Wherever we use a trait object, Rust’s type system will ensure at compile time +that any value used in that context will implement the trait object’s trait. +Consequently, we don’t need to know all the possible types at compile time. + +We’ve mentioned that in Rust, we refrain from calling structs and enums +“objects” to distinguish them from other languages’ objects. In a struct or +enum, the data in the struct fields and the behavior in `impl` blocks are +separated, whereas in other languages, the data and behavior combined into one +concept is often labeled an object. However, trait objects *are* more like +objects in other languages in the sense that they combine data and behavior. +But trait objects differ from traditional objects in that we can’t add data to +a trait object. Trait objects aren’t as generally useful as objects in other +languages: their specific purpose is to allow abstraction across common +behavior. + +Listing 17-3 shows how to define a trait named `Draw` with one method named +`draw`: + +Filename: src/lib.rs + +``` +pub trait Draw { + fn draw(&self); +} +``` + +Listing 17-3: Definition of the `Draw` trait + +This syntax should look familiar from our discussions on how to define traits +in Chapter 10. Next comes some new syntax: Listing 17-4 defines a struct named +`Screen` that holds a vector named `components`. This vector is of type +`Box`, which is a trait object; it’s a stand-in for any type inside +a `Box` that implements the `Draw` trait. + +Filename: src/lib.rs + +``` +pub struct Screen { + pub components: Vec>, +} +``` + +Listing 17-4: Definition of the `Screen` struct with a `components` field +holding a vector of trait objects that implement the `Draw` trait + +On the `Screen` struct, we’ll define a method named `run` that will call the +`draw` method on each of its `components`, as shown in Listing 17-5: + +Filename: src/lib.rs + +``` +impl Screen { + pub fn run(&self) { + for component in self.components.iter() { + component.draw(); + } + } +} +``` + +Listing 17-5: A `run` method on `Screen` that calls the `draw` method on each +component + +This works differently from defining a struct that uses a generic type +parameter with trait bounds. A generic type parameter can only be substituted +with one concrete type at a time, whereas trait objects allow for multiple +concrete types to fill in for the trait object at runtime. For example, we +could have defined the `Screen` struct using a generic type and a trait bound +as in Listing 17-6: + +Filename: src/lib.rs + +``` +pub struct Screen { + pub components: Vec, +} + +impl Screen +where + T: Draw, +{ + pub fn run(&self) { + for component in self.components.iter() { + component.draw(); + } + } +} +``` + +Listing 17-6: An alternate implementation of the `Screen` struct and its `run` +method using generics and trait bounds + +This restricts us to a `Screen` instance that has a list of components all of +type `Button` or all of type `TextField`. If you’ll only ever have homogeneous +collections, using generics and trait bounds is preferable because the +definitions will be monomorphized at compile time to use the concrete types. + +On the other hand, with the method using trait objects, one `Screen` instance +can hold a `Vec` that contains a `Box - - - diff --git a/first-edition/src/theme/index.hbs b/first-edition/src/theme/index.hbs deleted file mode 100644 index f3f1b52fa8..0000000000 --- a/first-edition/src/theme/index.hbs +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - Outdated link: {{ title }} - - - - - - - - - - - - - - - {{#each additional_css}} - - {{/each}} - - -
-
- {{> header}} -
-
- {{{ content }}} -
-
-
-
- - diff --git a/second-edition/src/theme/index.hbs b/second-edition/src/theme/index.hbs deleted file mode 100644 index f3f1b52fa8..0000000000 --- a/second-edition/src/theme/index.hbs +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - Outdated link: {{ title }} - - - - - - - - - - - - - - - {{#each additional_css}} - - {{/each}} - - -
-
- {{> header}} -
-
- {{{ content }}} -
-
-
-
- - From bf755d4d46eaf3f2fa142a4409cbb4cd747a4790 Mon Sep 17 00:00:00 2001 From: LeonGr Date: Tue, 5 Jul 2022 20:35:25 +0200 Subject: [PATCH 0332/1248] Correct method name The text in chapter 13.1 mentions a method `shirt_giveaway`, which is actually named `giveaway` in the relevant listing and the text further on. --- src/ch13-01-closures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch13-01-closures.md b/src/ch13-01-closures.md index 69c0adea2c..361ae64fca 100644 --- a/src/ch13-01-closures.md +++ b/src/ch13-01-closures.md @@ -31,7 +31,7 @@ enum called `ShirtColor` that has the variants `Red` and `Blue` (limiting the number of colors available for simplicity). We represent the company’s inventory with an `Inventory` struct that has a field named `shirts` that contains a `Vec` representing the shirt colors currently in stock. -The method `shirt_giveaway` defined on `Inventory` gets the optional shirt +The method `giveaway` defined on `Inventory` gets the optional shirt color preference of the free shirt winner, and returns the shirt color the person will get. This setup is shown in Listing 13-1: From a2cb72d3ad7584cc1ae3b85f715c877872f5e3ab Mon Sep 17 00:00:00 2001 From: Christian Koopmann Date: Sun, 10 Jul 2022 15:55:43 +0800 Subject: [PATCH 0333/1248] Fix incorrect link for listing 13-06 --- src/ch13-01-closures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch13-01-closures.md b/src/ch13-01-closures.md index 361ae64fca..f1ae324354 100644 --- a/src/ch13-01-closures.md +++ b/src/ch13-01-closures.md @@ -241,7 +241,7 @@ to print the vector in a new thread rather than in the main thread: Filename: src/main.rs ```rust -{{#rustdoc_include ../listings/ch13-functional-features/listing-13-05/src/main.rs}} +{{#rustdoc_include ../listings/ch13-functional-features/listing-13-06/src/main.rs}} ``` Listing 13-6: Using `move` to force the closure for the From 4ea9b2e0da7bdbdbc567f13b8f5fa49fa26cc6cf Mon Sep 17 00:00:00 2001 From: yjhn <54238857+yjhn@users.noreply.github.com> Date: Fri, 8 Jul 2022 15:38:04 +0300 Subject: [PATCH 0334/1248] grammar: add missing 'of' --- src/ch15-03-drop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch15-03-drop.md b/src/ch15-03-drop.md index fcc7dc491e..4a55e68503 100644 --- a/src/ch15-03-drop.md +++ b/src/ch15-03-drop.md @@ -10,7 +10,7 @@ For example, when a `Box` is dropped it will deallocate the space on the heap that the box points to. In some languages, for some types, the programmer must call code to free memory -or resources every time they finish using an instance those types. Examples +or resources every time they finish using an instance of those types. Examples include file handles, sockets, or locks. If they forget, the system might become overloaded and crash. In Rust, you can specify that a particular bit of code be run whenever a value goes out of scope, and the compiler will insert From 4fe92fb0a3c996d52915d350dd4b245ccd3aa7a5 Mon Sep 17 00:00:00 2001 From: shanedroogan Date: Sat, 9 Jul 2022 13:42:08 -0400 Subject: [PATCH 0335/1248] Grammar: corrected 'as much' to 'as such' The context suggests that this sentence is meant to clarify that a detail was left out prior; i.e. 'We did not call `String` by this name' as opposed to 'We did not call `String` as frequently'. --- src/ch15-00-smart-pointers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch15-00-smart-pointers.md b/src/ch15-00-smart-pointers.md index c38ba3e846..7552dd5d17 100644 --- a/src/ch15-00-smart-pointers.md +++ b/src/ch15-00-smart-pointers.md @@ -21,7 +21,7 @@ Rust, with its concept of ownership and borrowing, has an additional difference between references and smart pointers: while references only borrow data, in many cases, smart pointers *own* the data they point to. -Though we didn't call them as much at the time, we’ve already encountered a few +Though we didn't call them as such at the time, we’ve already encountered a few smart pointers in this book, including `String` and `Vec` in Chapter 8. Both these types count as smart pointers because they own some memory and allow you to manipulate it. They also have metadata and extra capabilities or guarantees. From 929d9cc5e4b86ca1ca1b5fb3a25b1395e959e630 Mon Sep 17 00:00:00 2001 From: yjhn <54238857+yjhn@users.noreply.github.com> Date: Mon, 11 Jul 2022 11:56:20 +0300 Subject: [PATCH 0336/1248] add missing `b` in chapter 15.6 --- src/ch15-06-reference-cycles.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch15-06-reference-cycles.md b/src/ch15-06-reference-cycles.md index 89665f8656..4b55d88a6c 100644 --- a/src/ch15-06-reference-cycles.md +++ b/src/ch15-06-reference-cycles.md @@ -66,7 +66,7 @@ moment, we’ll get this output: The reference count of the `Rc` instances in both `a` and `b` are 2 after we change the list in `a` to point to `b`. At the end of `main`, Rust drops the -variable `b`, which decreases the reference count of the `Rc` instance +variable `b`, which decreases the reference count of the `b` `Rc` instance from 2 to 1. The memory that `Rc` has on the heap won’t be dropped at this point, because its reference count is 1, not 0. Then Rust drops `a`, which decreases the reference count of the `a` `Rc` instance from 2 to 1 as From 9232dec2d77834f645bb2df31db0b6b1b93285f3 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 14 Jul 2022 20:27:36 -0400 Subject: [PATCH 0337/1248] Remove inconsistent newline. Fixes #3240. --- listings/ch12-an-io-project/listing-12-13/src/main.rs | 1 - listings/ch12-an-io-project/listing-12-14/src/main.rs | 1 - listings/ch12-an-io-project/listing-12-15/src/main.rs | 1 - listings/ch12-an-io-project/listing-12-16/src/main.rs | 1 - listings/ch12-an-io-project/listing-12-17/src/main.rs | 1 - listings/ch12-an-io-project/listing-12-18/src/main.rs | 1 - listings/ch12-an-io-project/listing-12-19/src/main.rs | 1 - listings/ch12-an-io-project/listing-12-20/src/main.rs | 1 - listings/ch12-an-io-project/listing-12-21/src/main.rs | 1 - listings/ch12-an-io-project/listing-12-22/src/main.rs | 1 - listings/ch12-an-io-project/listing-12-23/src/main.rs | 1 - listings/ch12-an-io-project/listing-12-24/src/main.rs | 1 - .../no-listing-01-handling-errors-in-main/src/main.rs | 1 - .../no-listing-02-using-search-in-run/src/main.rs | 1 - .../output-only-02-missing-lifetimes/src/main.rs | 1 - .../output-only-03-multiple-matches/src/main.rs | 1 - .../ch12-an-io-project/output-only-04-no-matches/src/main.rs | 1 - .../listing-12-23-reproduced/src/main.rs | 1 - .../listing-12-24-reproduced/src/main.rs | 1 - listings/ch13-functional-features/listing-13-18/src/main.rs | 1 - listings/ch13-functional-features/listing-13-19/src/main.rs | 1 - listings/ch13-functional-features/listing-13-20/src/main.rs | 1 - listings/ch13-functional-features/listing-13-22/src/main.rs | 1 - 23 files changed, 23 deletions(-) diff --git a/listings/ch12-an-io-project/listing-12-13/src/main.rs b/listings/ch12-an-io-project/listing-12-13/src/main.rs index 03d8e9584c..09756ca3f0 100644 --- a/listings/ch12-an-io-project/listing-12-13/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-13/src/main.rs @@ -14,7 +14,6 @@ fn main() { if let Err(e) = run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/listing-12-14/src/main.rs b/listings/ch12-an-io-project/listing-12-14/src/main.rs index 110c9bfda8..3b76009b50 100644 --- a/listings/ch12-an-io-project/listing-12-14/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-14/src/main.rs @@ -22,7 +22,6 @@ fn main() { // --snip-- // ANCHOR_END: here println!("Application error: {e}"); - process::exit(1); // ANCHOR: here } diff --git a/listings/ch12-an-io-project/listing-12-15/src/main.rs b/listings/ch12-an-io-project/listing-12-15/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/listing-12-15/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-15/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/listing-12-16/src/main.rs b/listings/ch12-an-io-project/listing-12-16/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/listing-12-16/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-16/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/listing-12-17/src/main.rs b/listings/ch12-an-io-project/listing-12-17/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/listing-12-17/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-17/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/listing-12-18/src/main.rs b/listings/ch12-an-io-project/listing-12-18/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/listing-12-18/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-18/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/listing-12-19/src/main.rs b/listings/ch12-an-io-project/listing-12-19/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/listing-12-19/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-19/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/listing-12-20/src/main.rs b/listings/ch12-an-io-project/listing-12-20/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/listing-12-20/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-20/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/listing-12-21/src/main.rs b/listings/ch12-an-io-project/listing-12-21/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/listing-12-21/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-21/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/listing-12-22/src/main.rs b/listings/ch12-an-io-project/listing-12-22/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/listing-12-22/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-22/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/listing-12-23/src/main.rs b/listings/ch12-an-io-project/listing-12-23/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/listing-12-23/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-23/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/listing-12-24/src/main.rs b/listings/ch12-an-io-project/listing-12-24/src/main.rs index d6b97defc6..1278a6c174 100644 --- a/listings/ch12-an-io-project/listing-12-24/src/main.rs +++ b/listings/ch12-an-io-project/listing-12-24/src/main.rs @@ -14,7 +14,6 @@ fn main() { if let Err(e) = minigrep::run(config) { eprintln!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/no-listing-01-handling-errors-in-main/src/main.rs b/listings/ch12-an-io-project/no-listing-01-handling-errors-in-main/src/main.rs index ef897e55b2..e51319efea 100644 --- a/listings/ch12-an-io-project/no-listing-01-handling-errors-in-main/src/main.rs +++ b/listings/ch12-an-io-project/no-listing-01-handling-errors-in-main/src/main.rs @@ -21,7 +21,6 @@ fn main() { if let Err(e) = run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/no-listing-02-using-search-in-run/src/main.rs b/listings/ch12-an-io-project/no-listing-02-using-search-in-run/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/no-listing-02-using-search-in-run/src/main.rs +++ b/listings/ch12-an-io-project/no-listing-02-using-search-in-run/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/output-only-02-missing-lifetimes/src/main.rs b/listings/ch12-an-io-project/output-only-02-missing-lifetimes/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/output-only-02-missing-lifetimes/src/main.rs +++ b/listings/ch12-an-io-project/output-only-02-missing-lifetimes/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/output-only-03-multiple-matches/src/main.rs b/listings/ch12-an-io-project/output-only-03-multiple-matches/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/output-only-03-multiple-matches/src/main.rs +++ b/listings/ch12-an-io-project/output-only-03-multiple-matches/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch12-an-io-project/output-only-04-no-matches/src/main.rs b/listings/ch12-an-io-project/output-only-04-no-matches/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch12-an-io-project/output-only-04-no-matches/src/main.rs +++ b/listings/ch12-an-io-project/output-only-04-no-matches/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch13-functional-features/listing-12-23-reproduced/src/main.rs b/listings/ch13-functional-features/listing-12-23-reproduced/src/main.rs index e355a4fb94..a4f8a74114 100644 --- a/listings/ch13-functional-features/listing-12-23-reproduced/src/main.rs +++ b/listings/ch13-functional-features/listing-12-23-reproduced/src/main.rs @@ -13,7 +13,6 @@ fn main() { if let Err(e) = minigrep::run(config) { println!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch13-functional-features/listing-12-24-reproduced/src/main.rs b/listings/ch13-functional-features/listing-12-24-reproduced/src/main.rs index c1a0d74311..f9d179c8ce 100644 --- a/listings/ch13-functional-features/listing-12-24-reproduced/src/main.rs +++ b/listings/ch13-functional-features/listing-12-24-reproduced/src/main.rs @@ -17,7 +17,6 @@ fn main() { if let Err(e) = minigrep::run(config) { eprintln!("Application error: {e}"); - process::exit(1); } // ANCHOR: ch13 diff --git a/listings/ch13-functional-features/listing-13-18/src/main.rs b/listings/ch13-functional-features/listing-13-18/src/main.rs index 64e0f112db..40109ef638 100644 --- a/listings/ch13-functional-features/listing-13-18/src/main.rs +++ b/listings/ch13-functional-features/listing-13-18/src/main.rs @@ -15,7 +15,6 @@ fn main() { if let Err(e) = minigrep::run(config) { eprintln!("Application error: {e}"); - process::exit(1); } // ANCHOR: here diff --git a/listings/ch13-functional-features/listing-13-19/src/main.rs b/listings/ch13-functional-features/listing-13-19/src/main.rs index a8877627d4..9ac0225455 100644 --- a/listings/ch13-functional-features/listing-13-19/src/main.rs +++ b/listings/ch13-functional-features/listing-13-19/src/main.rs @@ -11,7 +11,6 @@ fn main() { if let Err(e) = minigrep::run(config) { eprintln!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch13-functional-features/listing-13-20/src/main.rs b/listings/ch13-functional-features/listing-13-20/src/main.rs index a8877627d4..9ac0225455 100644 --- a/listings/ch13-functional-features/listing-13-20/src/main.rs +++ b/listings/ch13-functional-features/listing-13-20/src/main.rs @@ -11,7 +11,6 @@ fn main() { if let Err(e) = minigrep::run(config) { eprintln!("Application error: {e}"); - process::exit(1); } } diff --git a/listings/ch13-functional-features/listing-13-22/src/main.rs b/listings/ch13-functional-features/listing-13-22/src/main.rs index a8877627d4..9ac0225455 100644 --- a/listings/ch13-functional-features/listing-13-22/src/main.rs +++ b/listings/ch13-functional-features/listing-13-22/src/main.rs @@ -11,7 +11,6 @@ fn main() { if let Err(e) = minigrep::run(config) { eprintln!("Application error: {e}"); - process::exit(1); } } From 83788ff212a3281328e2f8f223ce9e0f69220b97 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 14 Jul 2022 20:49:32 -0400 Subject: [PATCH 0338/1248] Update snapshots with edits made to src that need to be checked --- nostarch/chapter12.md | 136 ++--------- nostarch/chapter13.md | 212 +++++------------- nostarch/chapter15.md | 62 +---- ...improving-error-handling-and-modularity.md | 10 +- src/ch13-02-iterators.md | 11 +- src/ch15-03-drop.md | 11 +- 6 files changed, 94 insertions(+), 348 deletions(-) diff --git a/nostarch/chapter12.md b/nostarch/chapter12.md index f2b2825095..950b2e9995 100644 --- a/nostarch/chapter12.md +++ b/nostarch/chapter12.md @@ -68,27 +68,6 @@ a file to search in, like so: $ cargo run -- searchstring example-filename.txt ``` - - - Right now, the program generated by `cargo new` cannot process arguments we give it. Some existing libraries on *https://crates.io/* can help with writing a program that accepts command line arguments, but because you’re just learning @@ -132,21 +111,6 @@ adding `use std::env::args` and then calling the function with just `args`, because `args` might easily be mistaken for a function that’s defined in the current module. - - - > ### The `args` Function and Invalid Unicode > > Note that `std::env::args` will panic if any argument contains invalid @@ -170,13 +134,19 @@ first with no arguments and then with two arguments: ``` $ cargo run --snip-- -["target/debug/minigrep"] +[src/main.rs:5] args = [ + "target/debug/minigrep", +] ``` ``` $ cargo run -- needle haystack --snip-- -["target/debug/minigrep", "needle", "haystack"] +[src/main.rs:5] args = [ + "target/debug/minigrep", + "needle", + "haystack", +] ``` Notice that the first value in the vector is `"target/debug/minigrep"`, which @@ -292,14 +262,6 @@ statement: we need `std::fs` to handle files [1]. In `main`, the new statement `fs::read_to_string` takes the `file_path`, opens that file, and returns a `std::io::Result` of the file’s contents [2]. - - - After that, we again add a temporary `println!` statement that prints the value of `contents` after the file is read, so we can check that the program is working so far [3]. @@ -578,21 +540,6 @@ fn main() { } ``` - - - Listing 12-7: Changing `parse_config` into `Config::new` We’ve updated `main` where we were calling `parse_config` to instead call @@ -700,19 +647,6 @@ impl Config { } ``` - - - Listing 12-9: Returning a `Result` from `Config::build` Our `build` function returns a `Result` with a `Config` instance in the success @@ -916,7 +850,6 @@ fn main() { if let Err(e) = run(config) { println!("Application error: {e}"); - process::exit(1); } } @@ -1145,7 +1078,7 @@ Now let’s run the test: $ cargo test Compiling minigrep v0.1.0 (file:///projects/minigrep) Finished test [unoptimized + debuginfo] target(s) in 0.97s - Running unittests (target/debug/deps/minigrep-9cd200e5fac0fc94) + Running unittests src/lib.rs (target/debug/deps/minigrep-9cd200e5fac0fc94) running 1 test test tests::one_result ... FAILED @@ -1479,34 +1412,6 @@ from the `run` function. First, we’ll add a configuration option to the Adding this field will cause compiler errors because we aren’t initializing this field anywhere yet: - - - - Filename: src/lib.rs ``` @@ -1517,9 +1422,9 @@ pub struct Config { } ``` -We added the `ignore_case` field that holds a Boolean. Next, we need the -`run` function to check the `ignore_case` field’s value and use that to -decide whether to call the `search` function or the `search_case_insensitive` +We added the `ignore_case` field that holds a Boolean. Next, we need the `run` +function to check the `ignore_case` field’s value and use that to decide +whether to call the `search` function or the `search_case_insensitive` function, as shown in Listing 12-22. This still won’t compile yet. Filename: src/lib.rs @@ -1578,20 +1483,6 @@ impl Config { } ``` - - - Listing 12-23: Checking for any value in an environment variable named `IGNORE_CASE` @@ -1699,7 +1590,7 @@ stream so we can still see error messages on the screen even if we redirect the standard output stream to a file. Our program is not currently well-behaved: we’re about to see that it saves the error message output to a file instead! -To demonstrate this behavior, we’ll run the program with `>` and the file_path, +To demonstrate this behavior, we’ll run the program with `>` and the file path, *output.txt*, that we want to redirect the standard output stream to. We won’t pass any arguments, which should cause an error: @@ -1742,7 +1633,6 @@ fn main() { if let Err(e) = minigrep::run(config) { eprintln!("Application error: {e}"); - process::exit(1); } } diff --git a/nostarch/chapter13.md b/nostarch/chapter13.md index 7e69901cb8..8f7717ccb5 100644 --- a/nostarch/chapter13.md +++ b/nostarch/chapter13.md @@ -56,7 +56,7 @@ enum called `ShirtColor` that has the variants `Red` and `Blue` (limiting the number of colors available for simplicity). We represent the company’s inventory with an `Inventory` struct that has a field named `shirts` that contains a `Vec` representing the shirt colors currently in stock. -The method `shirt_giveaway` defined on `Inventory` gets the optional shirt +The method `giveaway` defined on `Inventory` gets the optional shirt color preference of the free shirt winner, and returns the shirt color the person will get. This setup is shown in Listing 13-1: @@ -182,7 +182,7 @@ needs closure type annotations too). As with variables, we can add type annotations if we want to increase explicitness and clarity at the cost of being more verbose than is strictly necessary. Annotating the types for a closure would look like the definition -shown in Listing 13-x. In this example, we’re defining a closure and storing it +shown in Listing 13-2. In this example, we’re defining a closure and storing it in a variable rather than defining the closure in the spot we pass it as an argument as we did in Listing 13-1. @@ -196,7 +196,7 @@ let expensive_closure = |num: u32| -> u32 { }; ``` -Listing 13-x: Adding optional type annotations of the parameter and return +Listing 13-2: Adding optional type annotations of the parameter and return value types in the closure With type annotations added, the syntax of closures looks more similar to the @@ -224,7 +224,7 @@ similar to `let v = Vec::new();` needing either type annotations or values of some type to be inserted into the `Vec` for Rust to be able to infer the type. For closure definitions, the compiler will infer one concrete type for each of -their parameters and for their return value. For instance, Listing 13-x shows +their parameters and for their return value. For instance, Listing 13-3 shows the definition of a short closure that just returns the value it receives as a parameter. This closure isn’t very useful except for the purposes of this example. Note that we haven’t added any type annotations to the definition. @@ -241,7 +241,7 @@ let s = example_closure(String::from("hello")); let n = example_closure(5); ``` -Listing 13-x: Attempting to call a closure whose types are inferred with two +Listing 13-3: Attempting to call a closure whose types are inferred with two different types The compiler gives us this error: @@ -269,12 +269,9 @@ immutably, borrowing mutably, and taking ownership. The closure will decide which of these to use based on what the body of the function does with the captured values. -In Listing 13-x, we define a closure that captures an immutable reference to the -vector named `list` because it only needs an immutable reference to print the -value: - - - +In Listing 13-4, we define a closure that captures an immutable reference to +the vector named `list` because it only needs an immutable reference to print +the value: Filename: src/main.rs @@ -291,7 +288,7 @@ fn main() { } ``` -Listing 13-x: Defining and calling a closure that captures an immutable +Listing 13-4: Defining and calling a closure that captures an immutable reference This example also illustrates that a variable can bind to a closure definition @@ -310,7 +307,7 @@ From closure: [1, 2, 3] After calling closure: [1, 2, 3] ``` -Next, in Listing 13-x, we change the closure body so that it adds an element to +Next, in Listing 13-5, we change the closure body so that it adds an element to the `list` vector. The closure now captures a mutable reference: Filename: src/main.rs @@ -327,7 +324,7 @@ fn main() { } ``` -Listing 13-x: Defining and calling a closure that captures a mutable reference +Listing 13-5: Defining and calling a closure that captures a mutable reference This code compiles, runs, and prints: @@ -352,13 +349,9 @@ This technique is mostly useful when passing a closure to a new thread to move the data so that it’s owned by the new thread. We’ll discuss threads and why you would want to use them in detail in Chapter 16 when we talk about concurrency, but for now, let’s briefly explore spawning a new thread using a -closure that needs the `move` keyword. Listing 13-y shows Listing 13-x modified +closure that needs the `move` keyword. Listing 13-6 shows Listing 13-4 modified to print the vector in a new thread rather than in the main thread: - - Filename: src/main.rs ``` @@ -374,8 +367,11 @@ fn main() { } ``` +Listing 13-6: Using `move` to force the closure for the thread to take +ownership of `list` + We spawn a new thread, giving the thread a closure to run as an argument. The -closure body prints out the list. In Listing 13-x, the closure only captured +closure body prints out the list. In Listing 13-4, the closure only captured `list` using an immutable reference because that's the least amount of access to `list` needed to print it. In this example, even though the closure body still only needs an immutable reference, we need to specify that `list` should @@ -395,73 +391,10 @@ Once a closure has captured a reference or captured ownership of a value from the environment where the closure is defined (thus affecting what, if anything, is moved *into* the closure), the code in the body of the closure defines what happens to the references or values when the closure is evaluated later (thus -affecting what, if anything, is moved *out of* the closure). - - - - - - - - -A closure body can do any of the following: move a captured value out of the -closure, mutate the captured value, neither move nor mutate the value, or -capture nothing from the environment to begin with. +affecting what, if anything, is moved *out of* the closure). A closure body can +do any of the following: move a captured value out of the closure, mutate the +captured value, neither move nor mutate the value, or capture nothing from the +environment to begin with. The way a closure captures and handles values from the environment affects which traits the closure implements, and traits are how functions and structs @@ -469,16 +402,6 @@ can specify what kinds of closures they can use. Closures will automatically implement one, two, or all three of these `Fn` traits, in an additive fashion, depending on how the closure’s body handles the values: - - - 1. `FnOnce` applies to closures that can be called once. All closures implement at least this trait, because all closures can be called. A closure that moves captured values out of its body will only implement `FnOnce` and none @@ -493,7 +416,7 @@ This is confusing!! /Carol --> calling a closure multiple times concurrently. Let’s look at the definition of the `unwrap_or_else` method on `Option` that -we used in Listing 13-x: +we used in Listing 13-1: ``` impl Option { @@ -518,23 +441,6 @@ Next, notice that the `unwrap_or_else` function has the additional generic type parameter `F`. The `F` type is the type of the parameter named `f`, which is the closure we provide when calling `unwrap_or_else`. - - - The trait bound specified on the generic type `F` is `FnOnce() -> T`, which means `F` must be able to be called once, take no arguments, and return a `T`. Using `FnOnce` in the trait bound expresses the constraint that @@ -557,7 +463,7 @@ to see how that differs from `unwrap_or_else` and why `sort_by_key` uses in the form of a reference to the current item in the slice being considered, and returns a value of type `K` that can be ordered. This function is useful when you want to sort a slice by a particular attribute of each item. In -Listing 13-x, we have a list of `Rectangle` instances and we use `sort_by_key` +Listing 13-7, we have a list of `Rectangle` instances and we use `sort_by_key` to order them by their `width` attribute from low to high: Filename: src/main.rs @@ -580,7 +486,8 @@ fn main() { println!("{:#?}", list); } ``` -Listing 13-x: Using `sort_by_key` to order rectangles by width + +Listing 13-7: Using `sort_by_key` to order rectangles by width This code prints: @@ -606,7 +513,7 @@ the closure multiple times: once for each item in the slice. The closure `|r| r.width` doesn’t capture, mutate, or move out anything from its environment, so it meets the trait bound requirements. -In contrast, Listing 13-x shows an example of a closure that implements just +In contrast, Listing 13-8 shows an example of a closure that implements just the `FnOnce` trait, because it moves a value out of the environment. The compiler won’t let us use this closure with `sort_by_key`: @@ -637,7 +544,7 @@ fn main() { } ``` -Listing 13-x: Attempting to use an `FnOnce` closure with `sort_by_key` +Listing 13-8: Attempting to use an `FnOnce` closure with `sort_by_key` This is a contrived, convoluted way (that doesn’t work) to try and count the number of times `sort_by_key` gets called when sorting `list`. This code @@ -672,7 +579,7 @@ environment. To fix this, we need to change the closure body so that it doesn’ move values out of the environment. To count the number of times `sort_by_key` is called, keeping a counter in the environment and incrementing its value in the closure body is a more straightforward way to calculate that. The closure -in Listing 13-x works with `sort_by_key` because it is only capturing a mutable +in Listing 13-9 works with `sort_by_key` because it is only capturing a mutable reference to the `num_sort_operations` counter and can therefore be called more than once: @@ -701,7 +608,7 @@ fn main() { } ``` -Listing 13-x: Using an `FnMut` closure with `sort_by_key` is allowed +Listing 13-9: Using an `FnMut` closure with `sort_by_key` is allowed The `Fn` traits are important when defining or using functions or types that make use of closures. In the next section, we’ll discuss iterators. Many @@ -717,7 +624,7 @@ have to reimplement that logic yourself. In Rust, iterators are *lazy*, meaning they have no effect until you call methods that consume the iterator to use it up. For example, the code in -Listing 13-13 creates an iterator over the items in the vector `v1` by calling +Listing 13-10 creates an iterator over the items in the vector `v1` by calling the `iter` method defined on `Vec`. This code by itself doesn’t do anything useful. @@ -727,7 +634,7 @@ let v1 = vec![1, 2, 3]; let v1_iter = v1.iter(); ``` -Listing 13-13: Creating an iterator +Listing 13-10: Creating an iterator The iterator is stored in the `v1_iter` variable. Once we’ve created an iterator, we can use it in a variety of ways. In Listing 3-5 in Chapter 3, we @@ -735,7 +642,7 @@ iterated over an array using a `for` loop to execute some code on each of its items. Under the hood this implicitly created and then consumed an iterator, but we glossed over how exactly that works until now. -In the example in Listing 13-14, we separate the creation of the iterator from +In the example in Listing 13-11, we separate the creation of the iterator from the use of the iterator in the `for` loop. When the `for` loop is called using the iterator in `v1_iter`, each element in the iterator is used in one iteration of the loop, which prints out each value. @@ -750,7 +657,7 @@ for val in v1_iter { } ``` -Listing 13-14: Using an iterator in a `for` loop +Listing 13-11: Using an iterator in a `for` loop In languages that don’t have iterators provided by their standard libraries, you would likely write this same functionality by starting a variable at index @@ -790,7 +697,7 @@ The `Iterator` trait only requires implementors to define one method: the `next` method, which returns one item of the iterator at a time wrapped in `Some` and, when iteration is over, returns `None`. -We can call the `next` method on iterators directly; Listing 13-15 demonstrates +We can call the `next` method on iterators directly; Listing 13-12 demonstrates what values are returned from repeated calls to `next` on the iterator created from the vector. @@ -810,7 +717,7 @@ fn iterator_demonstration() { } ``` -Listing 13-15: Calling the `next` method on an iterator +Listing 13-12: Calling the `next` method on an iterator Note that we needed to make `v1_iter` mutable: calling the `next` method on an iterator changes internal state that the iterator uses to keep track of where @@ -839,7 +746,7 @@ Methods that call `next` are called *consuming adaptors*, because calling them uses up the iterator. One example is the `sum` method, which takes ownership of the iterator and iterates through the items by repeatedly calling `next`, thus consuming the iterator. As it iterates through, it adds each item to a running -total and returns the total when iteration is complete. Listing 13-16 has a +total and returns the total when iteration is complete. Listing 13-13 has a test illustrating a use of the `sum` method: Filename: src/lib.rs @@ -857,7 +764,7 @@ fn iterator_sum() { } ``` -Listing 13-16: Calling the `sum` method to get the total of all items in the +Listing 13-13: Calling the `sum` method to get the total of all items in the iterator We aren’t allowed to use `v1_iter` after the call to `sum` because `sum` takes @@ -883,7 +790,7 @@ let v1: Vec = vec![1, 2, 3]; v1.iter().map(|x| x + 1); ``` -Listing 13-17: Calling the iterator adaptor `map` to create a new iterator +Listing 13-14: Calling the iterator adaptor `map` to create a new iterator However, this code produces a warning: @@ -898,7 +805,7 @@ warning: unused `Map` that must be used = note: iterators are lazy and do nothing unless consumed ``` -The code in Listing 13-17 doesn’t do anything; the closure we’ve specified +The code in Listing 13-14 doesn’t do anything; the closure we’ve specified never gets called. The warning reminds us why: iterator adaptors are lazy, and we need to consume the iterator here. @@ -907,7 +814,7 @@ which we used in Chapter 12 with `env::args` in Listing 12-1. This method consumes the iterator and collects the resulting values into a collection data type. -In Listing 13-18, we collect the results of iterating over the iterator that’s +In Listing 13-15, we collect the results of iterating over the iterator that’s returned from the call to `map` into a vector. This vector will end up containing each item from the original vector incremented by 1. @@ -921,7 +828,7 @@ let v2: Vec<_> = v1.iter().map(|x| x + 1).collect(); assert_eq!(v2, vec![2, 3, 4]); ``` -Listing 13-18: Calling the `map` method to create a new iterator and then +Listing 13-15: Calling the `map` method to create a new iterator and then calling the `collect` method to consume the new iterator and create a vector Because `map` takes a closure, we can specify any operation we want to perform @@ -940,14 +847,11 @@ we’ll specify as arguments to iterator adapters will be closures that capture their environment. For this example, we’ll use the `filter` method that takes a closure. The -closure gets an item from the iterator and returns `bool`. If the closure +closure gets an item from the iterator and returns a `bool`. If the closure returns `true`, the value will be included in the iteration produced by `filter`. If the closure returns `false`, the value won’t be included. - - - -In Listing 13-19, we use `filter` with a closure that captures the `shoe_size` +In Listing 13-16, we use `filter` with a closure that captures the `shoe_size` variable from its environment to iterate over a collection of `Shoe` struct instances. It will return only shoes that are the specified size. @@ -1004,7 +908,7 @@ mod tests { } ``` -Listing 13-19: Using the `filter` method with a closure that captures +Listing 13-16: Using the `filter` method with a closure that captures `shoe_size` The `shoes_in_size` function takes ownership of a vector of shoes and a shoe @@ -1035,7 +939,7 @@ concise. Let’s look at how iterators can improve our implementation of the In Listing 12-6, we added code that took a slice of `String` values and created an instance of the `Config` struct by indexing into the slice and cloning the -values, allowing the `Config` struct to own those values. In Listing 13-24, +values, allowing the `Config` struct to own those values. In Listing 13-17, we’ve reproduced the implementation of the `Config::build` function as it was in Listing 12-23: @@ -1062,7 +966,7 @@ impl Config { } ``` -Listing 13-24: Reproduction of the `Config::build` function from Listing 12-23 +Listing 13-17: Reproduction of the `Config::build` function from Listing 12-23 At the time, we said not to worry about the inefficient `clone` calls because we would remove them in the future. Well, that time is now! @@ -1102,7 +1006,7 @@ fn main() { ``` We’ll first change the start of the `main` function that we had in Listing -12-24 to the code in Listing 13-25, which this time uses an iterator. This +12-24 to the code in Listing 13-18, which this time uses an iterator. This won’t compile until we update `Config::build` as well. Filename: src/main.rs @@ -1118,7 +1022,7 @@ fn main() { } ``` -Listing 13-25: Passing the return value of `env::args` to `Config::build` +Listing 13-18: Passing the return value of `env::args` to `Config::build` The `env::args` function returns an iterator! Rather than collecting the iterator values into a vector and then passing a slice to `Config::build`, now @@ -1127,7 +1031,7 @@ we’re passing ownership of the iterator returned from `env::args` to Next, we need to update the definition of `Config::build`. In your I/O project’s *src/lib.rs* file, let’s change the signature of `Config::build` to -look like Listing 13-26. This still won’t compile because we need to update the +look like Listing 13-19. This still won’t compile because we need to update the function body. Filename: src/lib.rs @@ -1140,7 +1044,7 @@ impl Config { // --snip-- ``` -Listing 13-26: Updating the signature of `Config::build` to expect an iterator +Listing 13-19: Updating the signature of `Config::build` to expect an iterator The standard library documentation for the `env::args` function shows that the type of the iterator it returns is `std::env::Args`, and that type implements @@ -1159,7 +1063,7 @@ iterating over it, we can add the `mut` keyword into the specification of the #### Using `Iterator` Trait Methods Instead of Indexing Next, we’ll fix the body of `Config::build`. Because `args` implements the -`Iterator` trait, we know we can call the `next` method on it! Listing 13-27 +`Iterator` trait, we know we can call the `next` method on it! Listing 13-20 updates the code from Listing 12-23 to use the `next` method: Filename: src/lib.rs @@ -1192,7 +1096,7 @@ impl Config { } ``` -Listing 13-27: Changing the body of `Config::build` to use iterator methods +Listing 13-20: Changing the body of `Config::build` to use iterator methods Remember that the first value in the return value of `env::args` is the name of the program. We want to ignore that and get to the next value, so first we call @@ -1205,7 +1109,7 @@ the same thing for the `filename` value. ### Making Code Clearer with Iterator Adaptors We can also take advantage of iterators in the `search` function in our I/O -project, which is reproduced here in Listing 13-28 as it was in Listing 12-19: +project, which is reproduced here in Listing 13-21 as it was in Listing 12-19: Filename: src/lib.rs @@ -1223,14 +1127,14 @@ pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { } ``` -Listing 13-28: The implementation of the `search` function from Listing 12-19 +Listing 13-21: The implementation of the `search` function from Listing 12-19 We can write this code in a more concise way using iterator adaptor methods. Doing so also lets us avoid having a mutable intermediate `results` vector. The functional programming style prefers to minimize the amount of mutable state to make code clearer. Removing the mutable state might enable a future enhancement to make searching happen in parallel, because we wouldn’t have to manage -concurrent access to the `results` vector. Listing 13-29 shows this change: +concurrent access to the `results` vector. Listing 13-22 shows this change: Filename: src/lib.rs @@ -1243,12 +1147,12 @@ pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { } ``` -Listing 13-29: Using iterator adaptor methods in the implementation of the +Listing 13-22: Using iterator adaptor methods in the implementation of the `search` function Recall that the purpose of the `search` function is to return all lines in `contents` that contain the `query`. Similar to the `filter` example in Listing -13-19, this code uses the `filter` adaptor to keep only the lines that +13-16, this code uses the `filter` adaptor to keep only the lines that `line.contains(query)` returns `true` for. We then collect the matching lines into another vector with `collect`. Much simpler! Feel free to make the same change to use iterator methods in the `search_case_insensitive` function as @@ -1257,8 +1161,8 @@ well. ### Choosing Between Loops or Iterators The next logical question is which style you should choose in your own code and -why: the original implementation in Listing 13-28 or the version using -iterators in Listing 13-29. Most Rust programmers prefer to use the iterator +why: the original implementation in Listing 13-21 or the version using +iterators in Listing 13-22. Most Rust programmers prefer to use the iterator style. It’s a bit tougher to get the hang of at first, but once you get a feel for the various iterator adaptors and what they do, iterators can be easier to understand. Instead of fiddling with the various bits of looping and building diff --git a/nostarch/chapter15.md b/nostarch/chapter15.md index 8690abd13f..166277fab5 100644 --- a/nostarch/chapter15.md +++ b/nostarch/chapter15.md @@ -29,7 +29,7 @@ Rust, with its concept of ownership and borrowing, has an additional difference between references and smart pointers: while references only borrow data, in many cases, smart pointers *own* the data they point to. -Though we didn't call them as much at the time, we’ve already encountered a few +Though we didn't call them as such at the time, we’ve already encountered a few smart pointers in this book, including `String` and `Vec` in Chapter 8. Both these types count as smart pointers because they own some memory and allow you to manipulate it. They also have metadata and extra capabilities or guarantees. @@ -144,21 +144,6 @@ function”) in Lisp that constructs a new pair from its two arguments. By calling `cons` on a pair consisting of a value and another pair, we can construct cons lists made up of recursive pairs. - - - - - - For example, here's a pseudocode representation of a cons list containing the list 1, 2, 3 with each pair in parentheses: @@ -284,6 +269,9 @@ defined types, the compiler gives an error with this helpful suggestion: ``` help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` representable + | +2 | Cons(i32, Box), + | ^^^^ ^ ``` In this suggestion, “indirection” means that instead of storing a value @@ -588,10 +576,6 @@ value as an argument to a function or method that doesn’t match the parameter type in the function or method definition. A sequence of calls to the `deref` method converts the type we provided into the type the parameter needs. - - - Deref coercion was added to Rust so that programmers writing function and method calls don’t need to add as many explicit references and dereferences with `&` and `*`. The deref coercion feature also lets us write more code that @@ -707,7 +691,7 @@ smart pointer. For example, when a `Box` is dropped it will deallocate the space on the heap that the box points to. In some languages, for some types, the programmer must call code to free memory -or resources every time they finish using an instance those types. Examples +or resources every time they finish using an instance of those types. Examples include file handles, sockets, or locks. If they forget, the system might become overloaded and crash. In Rust, you can specify that a particular bit of code be run whenever a value goes out of scope, and the compiler will insert @@ -895,8 +879,6 @@ point to the same node, and that node is conceptually owned by all of the edges that point to it. A node shouldn’t be cleaned up unless it doesn’t have any edges pointing to it and so has no owners. - - You have to enable multiple ownership explicitly by using the Rust type `Rc`, which is an abbreviation for *reference counting*. The `Rc` type keeps track of the number of references to a value to determine whether or not @@ -908,7 +890,6 @@ they turn it on. Others can come into the room and watch the TV. When the last person leaves the room, they turn off the TV because it’s no longer being used. If someone turns off the TV while others are still watching it, there would be uproar from the remaining TV watchers! - We use the `Rc` type when we want to allocate some data on the heap for multiple parts of our program to read and we can’t determine at compile time @@ -1583,19 +1564,6 @@ structures. Note that `RefCell` does not work for multithreaded code! `Mutex` is the thread-safe version of `RefCell` and we’ll discuss `Mutex` in Chapter 16. - - - ## Reference Cycles Can Leak Memory Rust’s memory safety guarantees make it difficult, but not impossible, to @@ -1709,7 +1677,7 @@ a rc count after changing a = 2 The reference count of the `Rc` instances in both `a` and `b` are 2 after we change the list in `a` to point to `b`. At the end of `main`, Rust drops the -variable `b`, which decreases the reference count of the `Rc` instance +variable `b`, which decreases the reference count of the `b` `Rc` instance from 2 to 1. The memory that `Rc` has on the heap won’t be dropped at this point, because its reference count is 1, not 0. Then Rust drops `a`, which decreases the reference count of the `a` `Rc` instance from 2 to 1 as @@ -1763,24 +1731,6 @@ and their count doesn't affect when an `Rc` instance is cleaned up. They won’t cause a reference cycle because any cycle involving some weak references will be broken once the strong reference count of values involved is 0. - - - - - - When you call `Rc::downgrade`, you get a smart pointer of type `Weak`. Instead of increasing the `strong_count` in the `Rc` instance by 1, calling `Rc::downgrade` increases the `weak_count` by 1. The `Rc` type uses diff --git a/src/ch12-03-improving-error-handling-and-modularity.md b/src/ch12-03-improving-error-handling-and-modularity.md index a416f27118..87e525d122 100644 --- a/src/ch12-03-improving-error-handling-and-modularity.md +++ b/src/ch12-03-improving-error-handling-and-modularity.md @@ -274,9 +274,9 @@ well, which we’ll do in the next listing. Listing 12-9: Returning a `Result` from `Config::build` -Our `build` function now returns a `Result` with a `Config` instance in the -success case and a `&'static str` in the error case. Our error values will -always be string literals that have the `'static` lifetime. +Our `build` function returns a `Result` with a `Config` instance in the success +case and a `&'static str` in the error case. Our error values will always be +string literals that have the `'static` lifetime. We’ve made two changes in the body of the function: instead of calling `panic!` when the user doesn’t pass enough arguments, we now return an `Err` value, and @@ -468,8 +468,8 @@ compile until we modify *src/main.rs* in Listing 12-14. *src/lib.rs* We’ve made liberal use of the `pub` keyword: on `Config`, on its fields and its -`new` method, and on the `run` function. We now have a library crate that has a -public API we can test! +`build` method, and on the `run` function. We now have a library crate that has +a public API we can test! Now we need to bring the code we moved to *src/lib.rs* into the scope of the binary crate in *src/main.rs*, as shown in Listing 12-14. diff --git a/src/ch13-02-iterators.md b/src/ch13-02-iterators.md index 0d2144d815..2efa552a8a 100644 --- a/src/ch13-02-iterators.md +++ b/src/ch13-02-iterators.md @@ -190,11 +190,12 @@ consuming adaptor methods to get results from calls to iterator adaptors. Many iterator adapters take closures as arguments, and commonly the closures we’ll specify as arguments to iterator adapters will be closures that capture -their environment. For this example, we’ll use the `filter` method that takes a -closure. The closure gets an item from the iterator and returns a `bool`. If -the closure returns `true`, the value will be included in the iteration -produced by `filter`. If the closure returns `false`, the value won’t be -included. +their environment. + +For this example, we’ll use the `filter` method that takes a closure. The +closure gets an item from the iterator and returns a `bool`. If the closure +returns `true`, the value will be included in the iteration produced by +`filter`. If the closure returns `false`, the value won’t be included. In Listing 13-16, we use `filter` with a closure that captures the `shoe_size` variable from its environment to iterate over a collection of `Shoe` struct diff --git a/src/ch15-03-drop.md b/src/ch15-03-drop.md index 4a55e68503..1ab2b86f0c 100644 --- a/src/ch15-03-drop.md +++ b/src/ch15-03-drop.md @@ -3,11 +3,12 @@ The second trait important to the smart pointer pattern is `Drop`, which lets you customize what happens when a value is about to go out of scope. You can provide an implementation for the `Drop` trait on any type, and that code can -be used to release resources like files or network connections. We’re -introducing `Drop` in the context of smart pointers because the functionality -of the `Drop` trait is almost always used when implementing a smart pointer. -For example, when a `Box` is dropped it will deallocate the space on the -heap that the box points to. +be used to release resources like files or network connections. + +We’re introducing `Drop` in the context of smart pointers because the +functionality of the `Drop` trait is almost always used when implementing a +smart pointer. For example, when a `Box` is dropped it will deallocate the +space on the heap that the box points to. In some languages, for some types, the programmer must call code to free memory or resources every time they finish using an instance of those types. Examples From 36383b4da21dbd0a0781473bc8ad7ef0ed1b6751 Mon Sep 17 00:00:00 2001 From: Andy Barnard Date: Mon, 18 Jul 2022 11:33:04 +0700 Subject: [PATCH 0339/1248] Update ch16-02-message-passing.md Fixed a grammatical error --- src/ch16-02-message-passing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch16-02-message-passing.md b/src/ch16-02-message-passing.md index 72bef16978..e2f0b63c14 100644 --- a/src/ch16-02-message-passing.md +++ b/src/ch16-02-message-passing.md @@ -25,7 +25,7 @@ Here, we’ll work up to a program that has one thread to generate values and send them down a channel, and another thread that will receive the values and print them out. We’ll be sending simple values between threads using a channel to illustrate the feature. Once you’re familiar with the technique, you could -use channels for any threads that needs to communicate between each other, such +use channels for any threads that need to communicate between each other, such as a chat system or a system where many threads perform parts of a calculation and send the parts to one thread that aggregates the results. From b26046998542dc6bb2e04b9c2cba0e833b924509 Mon Sep 17 00:00:00 2001 From: Sanjyoti <78781492+thedumbsloth@users.noreply.github.com> Date: Wed, 27 Jul 2022 20:10:36 +0530 Subject: [PATCH 0340/1248] Edit on line no. 153. Edit on line no. 153. The adding of pub keyword to mod hosting and fn add_to_waitlist enables us to use the absolute and relative paths in the fn eat_at_restaurant according to the code specified in listing 7-7. --- ...ch07-03-paths-for-referring-to-an-item-in-the-module-tree.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch07-03-paths-for-referring-to-an-item-in-the-module-tree.md b/src/ch07-03-paths-for-referring-to-an-item-in-the-module-tree.md index c8fb3247ff..83f45e81fe 100644 --- a/src/ch07-03-paths-for-referring-to-an-item-in-the-module-tree.md +++ b/src/ch07-03-paths-for-referring-to-an-item-in-the-module-tree.md @@ -150,7 +150,7 @@ and `fn add_to_waitlist` lets us call the function from `eat_at_restaurant` Now the code will compile! To see why adding the `pub` keyword lets us use -these paths in `add_to_waitlist` with respect to the privacy rules, let’s look +these paths in `eat_at_restaurant` with respect to the privacy rules, let’s look at the absolute and the relative paths. In the absolute path, we start with `crate`, the root of our crate’s module From 0e9980e4295df3462b26f8c42547d6cb906c86ab Mon Sep 17 00:00:00 2001 From: JirCep Date: Sat, 30 Jul 2022 14:38:08 +0200 Subject: [PATCH 0341/1248] Unnecessary import removal As per my observations crate being subject to integration tests is available for qualified reference without importing it with `use`. --- .../listing-11-13/tests/integration_test.rs | 2 -- src/ch11-03-test-organization.md | 4 ---- 2 files changed, 6 deletions(-) diff --git a/listings/ch11-writing-automated-tests/listing-11-13/tests/integration_test.rs b/listings/ch11-writing-automated-tests/listing-11-13/tests/integration_test.rs index e26fa71096..336c5ec54b 100644 --- a/listings/ch11-writing-automated-tests/listing-11-13/tests/integration_test.rs +++ b/listings/ch11-writing-automated-tests/listing-11-13/tests/integration_test.rs @@ -1,5 +1,3 @@ -use adder; - #[test] fn it_adds_two() { assert_eq!(4, adder::add_two(2)); diff --git a/src/ch11-03-test-organization.md b/src/ch11-03-test-organization.md index 9f26546cf4..61eda50c49 100644 --- a/src/ch11-03-test-organization.md +++ b/src/ch11-03-test-organization.md @@ -117,10 +117,6 @@ Enter the code in Listing 11-13 into the *tests/integration_test.rs* file: Listing 11-13: An integration test of a function in the `adder` crate -Each file in the `tests` directory is a separate crate, so we need to bring our -library into each test crate’s scope. For that reason we add `use adder` at the -top of the code, which we didn’t need in the unit tests. - We don’t need to annotate any code in *tests/integration_test.rs* with `#[cfg(test)]`. Cargo treats the `tests` directory specially and compiles files in this directory only when we run `cargo test`. Run `cargo test` now: From 15616bc09bd7ab6e785680a364364e962c57bb21 Mon Sep 17 00:00:00 2001 From: JirCep Date: Wed, 3 Aug 2022 22:14:44 +0200 Subject: [PATCH 0342/1248] `expect` is not used multitude times by this chapter --- ...2-03-improving-error-handling-and-modularity.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ch12-03-improving-error-handling-and-modularity.md b/src/ch12-03-improving-error-handling-and-modularity.md index 87e525d122..961246be62 100644 --- a/src/ch12-03-improving-error-handling-and-modularity.md +++ b/src/ch12-03-improving-error-handling-and-modularity.md @@ -23,13 +23,13 @@ example, the file could be missing, or we might not have permission to open it. Right now, regardless of the situation, we’d print the same error message for everything, which wouldn’t give the user any information! -Fourth, we use `expect` repeatedly to handle different errors, and if the user -runs our program without specifying enough arguments, they’ll get an `index out -of bounds` error from Rust that doesn’t clearly explain the problem. It would -be best if all the error-handling code were in one place so future maintainers -had only one place to consult the code if the error-handling logic needed to -change. Having all the error-handling code in one place will also ensure that -we’re printing messages that will be meaningful to our end users. +Fourth, if the user runs our program without specifying enough arguments, +they’ll get an `index out of bounds` error from Rust that doesn’t clearly +explain the problem. It would be best if all the error-handling code were +in one place so future maintainers had only one place to consult the code +if the error-handling logic needed to change. Having all the error-handling +code in one place will also ensure that we’re printing messages that +will be meaningful to our end users. Let’s address these four problems by refactoring our project. From 6c63c46817ceccb90aa5e665e56442b8d794e4c8 Mon Sep 17 00:00:00 2001 From: Alex Gotsis Date: Fri, 5 Aug 2022 00:56:52 -0700 Subject: [PATCH 0343/1248] Improve awkward phrasing around the kinds of closures --- src/ch13-01-closures.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ch13-01-closures.md b/src/ch13-01-closures.md index f1ae324354..646204f689 100644 --- a/src/ch13-01-closures.md +++ b/src/ch13-01-closures.md @@ -329,13 +329,13 @@ Using `FnOnce` in the trait bound expresses the constraint that `unwrap_or_else` is only going to call `f` at most one time. In the body of `unwrap_or_else`, we can see that if the `Option` is `Some`, `f` won’t be called. If the `Option` is `None`, `f` will be called once. Because all -closures implement `FnOnce`, `unwrap_or_else` accepts the most different kinds -of closures and is as flexible as it can be. +closures implement `FnOnce`, `unwrap_or_else` accepts all closures and is as +flexible as it can be. > Note: Functions can implement all three of the `Fn` traits too. If what we > want to do doesn’t require capturing a value from the environment, we can use > the name of a function rather than a closure where we need something that -> implements one of the `Fn` traits. For example, on an `Option>` value, +> implements one of the `Fn` traits. For example, on an `Option>` value > we could call `unwrap_or_else(Vec::new)` to get a new, empty vector if the > value is `None`. From 64a3622e459c3fe6e1e5924b4cd67cfe6dcf0216 Mon Sep 17 00:00:00 2001 From: IDJack <798979047@qq.com> Date: Mon, 8 Aug 2022 13:54:00 +0800 Subject: [PATCH 0344/1248] Fix grammar in ch06-02 --- src/ch06-02-match.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch06-02-match.md b/src/ch06-02-match.md index a249368294..2dfe6c34bd 100644 --- a/src/ch06-02-match.md +++ b/src/ch06-02-match.md @@ -17,7 +17,7 @@ the value falls into the associated code block to be used during execution. Speaking of coins, let’s use them as an example using `match`! We can write a function that takes an unknown United States coin and, in a similar way as the -counting machine, determines which coin it is and return its value in cents, as +counting machine, determines which coin it is and returns its value in cents, as shown here in Listing 6-3. ```rust From e6517ebd04395fd24a231f62c162aad05799dddd Mon Sep 17 00:00:00 2001 From: Will Crichton Date: Mon, 8 Aug 2022 16:09:35 -0700 Subject: [PATCH 0345/1248] Add link to experimental Rust Book --- src/title-page.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/title-page.md b/src/title-page.md index 47226dc841..6266292429 100644 --- a/src/title-page.md +++ b/src/title-page.md @@ -20,3 +20,5 @@ Press][nsprust]. [editions]: appendix-05-editions.html [nsprust]: https://nostarch.com/rust [translations]: appendix-06-translation.html + +**🚨 NEW: Want a more interactive learning experience? Try out a new version of the Rust Book, featuring: quizzes, highlighting, visualizations, and more**: \ No newline at end of file From 42ca0ef484fcc8437a0682cee23abe4b7c407d52 Mon Sep 17 00:00:00 2001 From: Brian Fakhoury Date: Fri, 12 Aug 2022 17:16:56 -0400 Subject: [PATCH 0346/1248] Missing period at end of sentence --- src/ch09-02-recoverable-errors-with-result.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch09-02-recoverable-errors-with-result.md b/src/ch09-02-recoverable-errors-with-result.md index 61931f08df..347ef9aa71 100644 --- a/src/ch09-02-recoverable-errors-with-result.md +++ b/src/ch09-02-recoverable-errors-with-result.md @@ -524,7 +524,7 @@ returns integers from executables to be compatible with this convention. The `main` function may return any types that implement [the `std::process::Termination` trait][termination], which contains -a function `report` that returns an `ExitCode` Consult the standard library +a function `report` that returns an `ExitCode`. Consult the standard library documentation for more information on implementing the `Termination` trait for your own types. From 9e64a9bbbfe6ba062e189e96bc05052e614f6f30 Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Tue, 16 Aug 2022 18:47:18 -0700 Subject: [PATCH 0347/1248] Remove 2018 edition theme. --- 2018-edition/book.toml | 2 +- 2018-edition/src/theme/2018-edition.css | 9 ------ 2018-edition/src/theme/index.hbs | 37 ------------------------- 3 files changed, 1 insertion(+), 47 deletions(-) delete mode 100644 2018-edition/src/theme/2018-edition.css delete mode 100644 2018-edition/src/theme/index.hbs diff --git a/2018-edition/book.toml b/2018-edition/book.toml index 9c71e2a918..03b59090b4 100644 --- a/2018-edition/book.toml +++ b/2018-edition/book.toml @@ -3,5 +3,5 @@ title = "The Rust Programming Language" author = "Steve Klabnik and Carol Nichols, with Contributions from the Rust Community" [output.html] -additional-css = ["ferris.css", "src/theme/2018-edition.css"] +additional-css = ["ferris.css"] additional-js = ["ferris.js"] diff --git a/2018-edition/src/theme/2018-edition.css b/2018-edition/src/theme/2018-edition.css deleted file mode 100644 index b1dcf93641..0000000000 --- a/2018-edition/src/theme/2018-edition.css +++ /dev/null @@ -1,9 +0,0 @@ -span.caption { - font-size: .8em; - font-weight: 600; -} - -span.caption code { - font-size: 0.875em; - font-weight: 400; -} diff --git a/2018-edition/src/theme/index.hbs b/2018-edition/src/theme/index.hbs deleted file mode 100644 index f3f1b52fa8..0000000000 --- a/2018-edition/src/theme/index.hbs +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - Outdated link: {{ title }} - - - - - - - - - - - - - - - {{#each additional_css}} - - {{/each}} - - -
-
- {{> header}} -
-
- {{{ content }}} -
-
-
-
- - From a39854bdc9d7257965fe2d11713e000d9a08ae95 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 17 Aug 2022 10:07:00 -0400 Subject: [PATCH 0348/1248] Remove the word 'new' because someday it won't be new anymore --- src/title-page.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/title-page.md b/src/title-page.md index 6266292429..ddfdb4936b 100644 --- a/src/title-page.md +++ b/src/title-page.md @@ -21,4 +21,6 @@ Press][nsprust]. [nsprust]: https://nostarch.com/rust [translations]: appendix-06-translation.html -**🚨 NEW: Want a more interactive learning experience? Try out a new version of the Rust Book, featuring: quizzes, highlighting, visualizations, and more**: \ No newline at end of file +**🚨 Want a more interactive learning experience? Try out a different version +of the Rust Book, featuring: quizzes, highlighting, visualizations, and more**: + From bcea0e43eab7675ed5e2db63ca8ae6848ade4293 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 17 Aug 2022 10:15:54 -0400 Subject: [PATCH 0349/1248] Put interactive book notice in a blockquote box to draw attention to it --- src/title-page.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/title-page.md b/src/title-page.md index ddfdb4936b..ed55a68399 100644 --- a/src/title-page.md +++ b/src/title-page.md @@ -21,6 +21,6 @@ Press][nsprust]. [nsprust]: https://nostarch.com/rust [translations]: appendix-06-translation.html -**🚨 Want a more interactive learning experience? Try out a different version -of the Rust Book, featuring: quizzes, highlighting, visualizations, and more**: - +> **🚨 Want a more interactive learning experience? Try out a different version +> of the Rust Book, featuring: quizzes, highlighting, visualizations, and +> more**: From e418c239e8d25d6016b7875363aa6e4b1b5d5bfc Mon Sep 17 00:00:00 2001 From: vladvel Date: Tue, 16 Aug 2022 18:12:18 +0300 Subject: [PATCH 0350/1248] Fixed incorrect mutex lock usage Mutex lock spans through job execution, should be in a let statement as in the subsequent full code listing https://github.com/rust-lang/book/blob/main/listings/ch20-web-server/no-listing-07-final-code/src/lib.rs#L72-L74. --- listings/ch20-web-server/listing-20-24/src/lib.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/listings/ch20-web-server/listing-20-24/src/lib.rs b/listings/ch20-web-server/listing-20-24/src/lib.rs index 55e8fef8fb..28c0dea262 100644 --- a/listings/ch20-web-server/listing-20-24/src/lib.rs +++ b/listings/ch20-web-server/listing-20-24/src/lib.rs @@ -70,7 +70,9 @@ struct Worker { impl Worker { fn new(id: usize, receiver: Arc>>) -> Worker { let thread = thread::spawn(move || loop { - match receiver.lock().unwrap().recv() { + let message = receiver.lock().unwrap().recv(); + + match message { Ok(job) => { println!("Worker {id} got a job; executing."); From 98c6225e5fb8255349ec0dc235433530ed3fb534 Mon Sep 17 00:00:00 2001 From: mjh <61671361+mjh316@users.noreply.github.com> Date: Tue, 16 Aug 2022 15:27:19 -0700 Subject: [PATCH 0351/1248] Clarify ThreadPool-Worker analogy wording --- src/ch20-02-multithreaded.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch20-02-multithreaded.md b/src/ch20-02-multithreaded.md index bd1dc25ab9..5a4a50ac01 100644 --- a/src/ch20-02-multithreaded.md +++ b/src/ch20-02-multithreaded.md @@ -387,7 +387,7 @@ this data structure *Worker*, which is a common term in pooling implementations. The Worker picks up code that needs to be run and runs the code in the Worker’s thread. Think of people working in the kitchen at a restaurant: the workers wait until orders come in from customers, and then -they’re responsible for taking those orders and filling them. +they’re responsible for taking those orders and fulfilling them. Instead of storing a vector of `JoinHandle<()>` instances in the thread pool, we’ll store instances of the `Worker` struct. Each `Worker` will store a single From 0a5421ceb238357b3634fb75234eba4d1dad643c Mon Sep 17 00:00:00 2001 From: Vishal Lama Date: Wed, 24 Aug 2022 20:27:00 -0600 Subject: [PATCH 0352/1248] Add a missing line generated by 'cargo new' When running `cargo new hello_cargo` in the command line, one of the lines automatically generated in the Cargo.toml file of the `hello_cargo` project is a comment regarding more keys and their definitions. This comment is currently missing in the book chapter, and it probably should be added there. --- src/ch01-03-hello-cargo.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ch01-03-hello-cargo.md b/src/ch01-03-hello-cargo.md index 135eacd2f3..9979e76dd9 100644 --- a/src/ch01-03-hello-cargo.md +++ b/src/ch01-03-hello-cargo.md @@ -66,6 +66,8 @@ name = "hello_cargo" version = "0.1.0" edition = "2021" +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + [dependencies] ``` From 3ebc3b285f01c04dcf48ef5a2363f2eaa104c8d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Hern=C3=A1ndez?= Date: Thu, 1 Sep 2022 14:22:21 +0200 Subject: [PATCH 0353/1248] Update ch02-00-guessing-game-tutorial.md The example code converts the input into a whole number. Replace the text "convert the String the program reads as input into a real number type" to "an actual number type" as the word real might be understood as one of the number categories instead as a synonym to "actual". --- src/ch02-00-guessing-game-tutorial.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ch02-00-guessing-game-tutorial.md b/src/ch02-00-guessing-game-tutorial.md index bffbc05017..c5999daa3f 100644 --- a/src/ch02-00-guessing-game-tutorial.md +++ b/src/ch02-00-guessing-game-tutorial.md @@ -641,8 +641,8 @@ an `i32`, which is the type of `secret_number` unless you add type information elsewhere that would cause Rust to infer a different numerical type. The reason for the error is that Rust cannot compare a string and a number type. -Ultimately, we want to convert the `String` the program reads as input into a -real number type so we can compare it numerically to the secret number. We do so +Ultimately, we want to convert the `String` the program reads as input into an +actual number type so we can compare it numerically to the secret number. We do so by adding this line to the `main` function body: Filename: src/main.rs From e78b9f0d3186d6b284341e72df865c7ca79ef060 Mon Sep 17 00:00:00 2001 From: yjhn <54238857+yjhn@users.noreply.github.com> Date: Sun, 4 Sep 2022 12:30:17 +0300 Subject: [PATCH 0354/1248] Update Clippy output in Appendix D --- src/appendix-04-useful-development-tools.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/appendix-04-useful-development-tools.md b/src/appendix-04-useful-development-tools.md index b357f64e26..e8bc233e90 100644 --- a/src/appendix-04-useful-development-tools.md +++ b/src/appendix-04-useful-development-tools.md @@ -130,14 +130,15 @@ fn main() { Running `cargo clippy` on this project results in this error: ```text -error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly +error: approximate value of `f{32, 64}::consts::PI` found --> src/main.rs:2:13 | 2 | let x = 3.1415; | ^^^^^^ | - = note: #[deny(clippy::approx_constant)] on by default - = help: for further information visit https://rust-lang-nursery.github.io/rust-clippy/master/index.html#approx_constant + = note: `#[deny(clippy::approx_constant)]` on by default + = help: consider using the constant directly + = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant ``` This error lets you know that Rust already has a more precise `PI` constant From a1db62fce3577956b32ebe2bedda8a4644b61223 Mon Sep 17 00:00:00 2001 From: JirCep Date: Thu, 1 Sep 2022 02:45:00 +0200 Subject: [PATCH 0355/1248] `Box` instead of "box" Since no other _simple_ occurrences, I found this as bug. --- src/ch15-02-deref.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ch15-02-deref.md b/src/ch15-02-deref.md index ba0b8990f5..95a2137e68 100644 --- a/src/ch15-02-deref.md +++ b/src/ch15-02-deref.md @@ -73,11 +73,11 @@ Listing 15-6: `Box` The main difference between Listing 15-7 and Listing 15-6 is that here we set -`y` to be an instance of a box pointing to a copied value of `x` rather than a +`y` to be an instance of a `Box` pointing to a copied value of `x` rather than a reference pointing to the value of `x`. In the last assertion, we can use the -dereference operator to follow the box’s pointer in the same way that we did +dereference operator to follow the `Box`’s pointer in the same way that we did when `y` was a reference. Next, we’ll explore what is special about `Box` -that enables us to use the dereference operator by defining our own box type. +that enables us to use the dereference operator by defining our own kind of box type. ### Defining Our Own Smart Pointer From 0514b1cf34c2eaab8285f43305c10a87f4ce34a0 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 6 Sep 2022 10:21:25 -0400 Subject: [PATCH 0356/1248] Reword text around box --- src/ch15-02-deref.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/ch15-02-deref.md b/src/ch15-02-deref.md index 95a2137e68..23c9fe8bfc 100644 --- a/src/ch15-02-deref.md +++ b/src/ch15-02-deref.md @@ -73,11 +73,12 @@ Listing 15-6: `Box` The main difference between Listing 15-7 and Listing 15-6 is that here we set -`y` to be an instance of a `Box` pointing to a copied value of `x` rather than a -reference pointing to the value of `x`. In the last assertion, we can use the -dereference operator to follow the `Box`’s pointer in the same way that we did -when `y` was a reference. Next, we’ll explore what is special about `Box` -that enables us to use the dereference operator by defining our own kind of box type. +`y` to be an instance of a `Box` pointing to a copied value of `x` rather +than a reference pointing to the value of `x`. In the last assertion, we can +use the dereference operator to follow the pointer of the `Box` in the same +way that we did when `y` was a reference. Next, we’ll explore what is special +about `Box` that enables us to use the dereference operator by defining our +own type. ### Defining Our Own Smart Pointer From eabaaaa90ee6937db3690dc56f739116be55ecb2 Mon Sep 17 00:00:00 2001 From: Yiannis Hadjicharalambous Date: Thu, 8 Sep 2022 14:46:49 +0100 Subject: [PATCH 0357/1248] Wrong listing number --- src/ch13-02-iterators.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch13-02-iterators.md b/src/ch13-02-iterators.md index 2efa552a8a..030ebf48eb 100644 --- a/src/ch13-02-iterators.md +++ b/src/ch13-02-iterators.md @@ -133,7 +133,7 @@ ownership of the iterator we call it on. consume the iterator. Instead, they produce different iterators by changing some aspect of the original iterator. -Listing 13-17 shows an example of calling the iterator adaptor method `map`, +Listing 13-14 shows an example of calling the iterator adaptor method `map`, which takes a closure to call on each item as the items are iterated through. The `map` method returns a new iterator that produces the modified items. The closure here creates a new iterator in which each item from the vector will be From 8aecae3efe5ca8f79f055b70f05d9a3f990bce7b Mon Sep 17 00:00:00 2001 From: JirCep Date: Mon, 12 Sep 2022 22:41:11 +0200 Subject: [PATCH 0358/1248] Ownership move chapter link fix Ownership move into closure is discussed in ?_Capturing References or Moving Ownership_ section. --- src/ch16-01-threads.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ch16-01-threads.md b/src/ch16-01-threads.md index 52947a99b9..cfdd0c7066 100644 --- a/src/ch16-01-threads.md +++ b/src/ch16-01-threads.md @@ -173,7 +173,7 @@ threads run at the same time. We'll often use the `move` keyword with closures passed to `thread::spawn` because the closure will then take ownership of the values it uses from the environment, thus transferring ownership of those values from one thread to -another. In the [“Capturing the Environment with Closures”][capture] section of Chapter 13, we discussed `move` in the context of closures. Now, we’ll concentrate more on the interaction between `move` and `thread::spawn`. @@ -278,4 +278,4 @@ ownership rules. With a basic understanding of threads and the thread API, let’s look at what we can *do* with threads. -[capture]: ch13-01-closures.html#capturing-the-environment-with-closures +[capture]: ch13-01-closures.html#capturing-references-or-moving-ownership From f1e5ad844d0c61738006cdef26227beeb136948e Mon Sep 17 00:00:00 2001 From: int-y1 Date: Sun, 18 Sep 2022 23:24:08 -0700 Subject: [PATCH 0359/1248] Fix punctuation in ch05-02 --- src/ch05-02-example-structs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch05-02-example-structs.md b/src/ch05-02-example-structs.md index a83fa05646..5d33d9cb17 100644 --- a/src/ch05-02-example-structs.md +++ b/src/ch05-02-example-structs.md @@ -198,7 +198,7 @@ that expression, and returns ownership of the value. > Note: Calling the `dbg!` macro prints to the standard error console stream > (`stderr`), as opposed to `println!` which prints to the standard output > console stream (`stdout`). We’ll talk more about `stderr` and `stdout` in the -> “[“Writing Error Messages to Standard Error Instead of Standard +> [“Writing Error Messages to Standard Error Instead of Standard > Output” section in Chapter 12][err]. Here’s an example where we’re interested in the value that gets assigned to the From 7b109240d2bfdd7caaea8eba849c5b0941ed4f05 Mon Sep 17 00:00:00 2001 From: Amit Weisbord Date: Tue, 27 Sep 2022 10:14:41 +0300 Subject: [PATCH 0360/1248] Clarified collection in slice definition Noticed the slice definition in the first paragraph relies on the reader recalling: * what collections are * that the reference page ended stating slices are a kind of reference I think the first paragraph should be more clear to someone who lands on it and isn't reading the rest of the documentation ATM. --- src/ch04-03-slices.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ch04-03-slices.md b/src/ch04-03-slices.md index afb6f76b10..1aae43f038 100644 --- a/src/ch04-03-slices.md +++ b/src/ch04-03-slices.md @@ -1,8 +1,9 @@ ## The Slice Type -*Slices* let you reference a contiguous sequence of elements in a collection -rather than the whole collection. A slice is a kind of reference, so it does -not have ownership. +*Slices* are a kind of reference, which lets you access a contiguous sub-sequence +of elements in a sequential [collection](book/src/ch08-00-common-collections.md). +Because slices are a kind of reference, they too can borrow access to memory, but +not own it. Here’s a small programming problem: write a function that takes a string of words separated by spaces and returns the first word it finds in that string. From 3a8ff9bdd272d4a60622f4ef3e2413b4170258ba Mon Sep 17 00:00:00 2001 From: Amit Weisbord Date: Tue, 27 Sep 2022 15:22:13 +0300 Subject: [PATCH 0361/1248] Fix broken url --- src/ch04-03-slices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch04-03-slices.md b/src/ch04-03-slices.md index 1aae43f038..3b1b7989c1 100644 --- a/src/ch04-03-slices.md +++ b/src/ch04-03-slices.md @@ -1,7 +1,7 @@ ## The Slice Type *Slices* are a kind of reference, which lets you access a contiguous sub-sequence -of elements in a sequential [collection](book/src/ch08-00-common-collections.md). +of elements in a sequential [collection](ch08-00-common-collections.md). Because slices are a kind of reference, they too can borrow access to memory, but not own it. From d78fe8764aaa76ade6cc1f60f695ec9485474a08 Mon Sep 17 00:00:00 2001 From: JirCep Date: Sat, 8 Oct 2022 22:02:53 +0200 Subject: [PATCH 0362/1248] Minor corrections Irrefutable pattern receives warning, refutable error, when used unexpectedly. --- src/ch18-02-refutability.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch18-02-refutability.md b/src/ch18-02-refutability.md index be3c31765c..29ab7ec48b 100644 --- a/src/ch18-02-refutability.md +++ b/src/ch18-02-refutability.md @@ -61,7 +61,7 @@ the code in the curly brackets, giving it a way to continue validly. Listing patterns instead of `let` We’ve given the code an out! This code is perfectly valid, although it means we -cannot use an irrefutable pattern without receiving an error. If we give `if +cannot use an irrefutable pattern without receiving a warning. If we give `if let` a pattern that will always match, such as `x`, as shown in Listing 18-10, the compiler will give a warning. From 7c9680b2861d4448d4fe82ef4ea74bd2528513f1 Mon Sep 17 00:00:00 2001 From: Marijn <40164828+MarijnRitzen@users.noreply.github.com> Date: Thu, 20 Oct 2022 15:05:57 +0200 Subject: [PATCH 0363/1248] Update ch20-01-single-threaded.md Listing 20-8 is the html file --- src/ch20-01-single-threaded.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch20-01-single-threaded.md b/src/ch20-01-single-threaded.md index 993239a981..1776f05589 100644 --- a/src/ch20-01-single-threaded.md +++ b/src/ch20-01-single-threaded.md @@ -448,7 +448,7 @@ uses the `status_line` and `filename` variables. This makes it easier to see the difference between the two cases, and it means we have only one place to update the code if we want to change how the file reading and response writing work. The behavior of the code in Listing 20-9 will be the same as that in -Listing 20-8. +Listing 20-6 and 20-7. Awesome! We now have a simple web server in approximately 40 lines of Rust code that responds to one request with a page of content and responds to all other From 9af8f25558eda99041f5e16ebad94b4c4f9c0536 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 13 Jul 2022 20:22:42 -0400 Subject: [PATCH 0364/1248] docx files from nostarch --- nostarch/docx/chapter12.docx | Bin 0 -> 84182 bytes nostarch/docx/chapter13.docx | Bin 0 -> 88497 bytes nostarch/docx/chapter15.docx | Bin 0 -> 93219 bytes nostarch/docx/frontmatter.docx | Bin 0 -> 53792 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 nostarch/docx/chapter12.docx create mode 100644 nostarch/docx/chapter13.docx create mode 100644 nostarch/docx/chapter15.docx create mode 100644 nostarch/docx/frontmatter.docx diff --git a/nostarch/docx/chapter12.docx b/nostarch/docx/chapter12.docx new file mode 100644 index 0000000000000000000000000000000000000000..183d103c6cbcdbf490e616c89ba8d1b914845fbf GIT binary patch literal 84182 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 Ue)-%{fiMA1rD8!qrwH`_0m4S3;{X5v literal 0 HcmV?d00001 diff --git a/nostarch/docx/chapter13.docx b/nostarch/docx/chapter13.docx new file mode 100644 index 0000000000000000000000000000000000000000..dbac08cf1f11e88d32b123b3dda59ba85f111dcb GIT binary patch literal 88497 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

w# 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 K8-ju5JOco-sDsr2 literal 0 HcmV?d00001 diff --git a/nostarch/docx/chapter15.docx b/nostarch/docx/chapter15.docx new file mode 100644 index 0000000000000000000000000000000000000000..abccb74799e83407baa466587a3abdf1c721c15b GIT binary patch literal 93219 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 R!ua@!`dDW9egEU`{{U;Qk*NRx literal 0 HcmV?d00001 From 5fb1867016e382c1feb889d5606928c10c447228 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 13 Jul 2022 20:30:37 -0400 Subject: [PATCH 0365/1248] Edits to docx files for nostarch --- nostarch/docx/chapter12.docx | Bin 84182 -> 90867 bytes nostarch/docx/chapter13.docx | Bin 88497 -> 90899 bytes nostarch/docx/chapter15.docx | Bin 93219 -> 100907 bytes nostarch/docx/frontmatter.docx | Bin 53792 -> 53808 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/nostarch/docx/chapter12.docx b/nostarch/docx/chapter12.docx index 183d103c6cbcdbf490e616c89ba8d1b914845fbf..e43aed29b63923d7c1cd85de293feab29bfd5682 100644 GIT binary patch delta 84594 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 delta 67837 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

|eC{%odM3gckfA6S&htY~Rrh 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 diff --git a/nostarch/docx/chapter15.docx b/nostarch/docx/chapter15.docx index abccb74799e83407baa466587a3abdf1c721c15b..83125dd215f99b5565bb1dcac2e6828ec0da7d22 100644 GIT binary patch delta 89161 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 z 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 delta 81337 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ǯQW?xU7$cr)VjBbie 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

G+Cif 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 SAOJvpS7PtNQN;Iu)&2`vh(hZC From f1ee2be5a896eb3d7b2e22cbf88ad4252ac73b93 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 13 Jul 2022 20:32:13 -0400 Subject: [PATCH 0366/1248] Frontmatter from word doc --- nostarch/frontmatter.md | 360 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 360 insertions(+) create mode 100644 nostarch/frontmatter.md diff --git a/nostarch/frontmatter.md b/nostarch/frontmatter.md new file mode 100644 index 0000000000..ab07dc946d --- /dev/null +++ b/nostarch/frontmatter.md @@ -0,0 +1,360 @@ + +Unmatched: BookHalfTitle + +Unmatched: BookTitle0 + +Unmatched: BookAuthor + +Unmatched: Copyright + +Unmatched: CopyrightHead + +Unmatched: ProductionDirective0 + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: ProductionDirective0 + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: ProductionDirective0 + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: ProductionDirective0 + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: CopyrightLOC + +Unmatched: ProductionDirective0 + +Unmatched: Copyright + +Unmatched: ProductionDirective0 + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: ProductionDirective0 + +Unmatched: Copyright + +Unmatched: Copyright + +Unmatched: ProductionDirective0 + ## About the Author + +Carol Nichols is a member of the Rust Crates.io Team and a former member of the +Rust Core Team. She’s a co-founder of Integer 32, LLC, the world’s first +Rust-focused software consultancy. Nichols has also organized the Rust Belt +Rust Conference. + +Steve Klabnik was the lead for the Rust documentation team and was one of +Rust’s core developers. A frequent speaker and a prolific open source +contributor, he previously worked on projects such as Ruby and Ruby on Rails. + +## About the Technical Reviewer + +JT is a Rust core team member and the co-creator of the Rust error message +format, Rust Language Server (RLS), and Nushell. They first started using Rust +in 2011, and in 2016 joined Mozilla to work on Rust full-time, helping to shape +its direction for widespread use. These days, they are a freelance Rust trainer +and advocate for safe systems programming. + + +Unmatched: FrontmatterTitle + +Unmatched: ProductionDirective0 + +Unmatched: FrontmatterTitle + +Unmatched: ProductionDirective0 + +Unmatched: ProductionDirective0 + +Unmatched: FrontmatterTitle + It wasn’t always so clear, but the Rust programming language is +fundamentally about *empowerment*: no matter what kind of code you are writing +now, Rust empowers you to reach farther, to program with confidence in a wider +variety of domains than you did before. + +Take, for example, “systems-level” work that deals with low-level details of +memory management, data representation, and concurrency. Traditionally, this +realm of programming is seen as arcane, accessible only to a select few who +have devoted the necessary years learning to avoid its infamous pitfalls. And +even those who practice it do so with caution, lest their code be open to +exploits, crashes, or corruption. + +Rust breaks down these barriers by eliminating the old pitfalls and providing a +friendly, polished set of tools to help you along the way. Programmers who need +to “dip down” into lower-level control can do so with Rust, without taking on +the customary risk of crashes or security holes, and without having to learn +the fine points of a fickle toolchain. Better yet, the language is designed to +guide you naturally towards reliable code that is efficient in terms of speed +and memory usage. + +Programmers who are already working with low-level code can use Rust to raise +their ambitions. For example, introducing parallelism in Rust is a relatively +low-risk operation: the compiler will catch the classical mistakes for you. And +you can tackle more aggressive optimizations in your code with the confidence +that you won’t accidentally introduce crashes or vulnerabilities. + +But Rust isn’t limited to low-level systems programming. It’s expressive and +ergonomic enough to make CLI apps, web servers, and many other kinds of code +quite pleasant to write — you’ll find simple examples of both later in the +book. Working with Rust allows you to build skills that transfer from one +domain to another; you can learn Rust by writing a web app, then apply those +same skills to target your Raspberry Pi. + +This book fully embraces the potential of Rust to empower its users. It’s a +friendly and approachable text intended to help you level up not just your +knowledge of Rust, but also your reach and confidence as a programmer in +general. So dive in, get ready to learn—and welcome to the Rust community! + +Nicholas Matsakis and Aaron Turon + + +Unmatched: FrontmatterTitle + This version of the text assumes you’re using Rust 1.62.0 (released +2022-06-30) or later with `edition="2021"` in Cargo.toml of all projects to use +Rust 2021 Edition idioms. See “Installation” on page 1 for instructions on +installing or updating Rust, and see Appendix E for information on editions. + +The 2021 Edition of the Rust language includes a number of improvements that +make Rust more ergonomic and correct some inconsistencies. On top of a general +update to reflect these improvements, this rendition of the book has a number +of improvements to address specific feedback: + + +Unmatched: ListBullet + +Unmatched: ListBullet + +Unmatched: ListBullet + Note that any code from earlier renditions of this book that compiled +will continue to compile with the relevant edition in the project’s Cargo.toml, +even as you update the Rust compiler version you’re using. That’s Rust’s +backward compatibility guarantees at work! + + +Unmatched: FrontmatterTitle + We would like to thank everyone who has worked on the Rust language for +creating an amazing language worth writing a book about. We’re grateful to +everyone in the Rust community for being welcoming and creating an environment +worth welcoming more folks into. + +We’re especially thankful for everyone who read early versions of this book +online and provided feedback, bug reports, and pull requests. Special thanks to +Eduard-Mihai Burtescu, Alex Crichton, and JT for providing technical review and +Karen Rustad Tölva for the cover art. Thank you to our team at No Starch, +including Bill Pollock, Liz Chadwick, and Janelle Ludowise, for improving this +book and bringing it to print. + +Carol is grateful for the opportunity to work on this book. She thanks her +family for their constant love and support, especially her husband Jake +Goulding and her daughter Vivian. + + +Unmatched: FrontmatterTitle + +Unmatched: ChapterIntro + ## Who Rust Is For + +Rust is ideal for many people for a variety of reasons. Let’s look at a few of +the most important groups. + +### Teams of Developers + +Rust is proving to be a productive tool for collaborating among large teams of +developers with varying levels of systems programming knowledge. Low-level code +is prone to various subtle bugs, which in most other languages can be caught +only through extensive testing and careful code review by experienced +developers. In Rust, the compiler plays a gatekeeper role by refusing to +compile code with these elusive bugs, including concurrency bugs. By working +alongside the compiler, the team can spend their time focusing on the program’s +logic rather than chasing down bugs. + +Rust also brings contemporary developer tools to the systems programming world: + + +Unmatched: ListBullet + +Unmatched: ListBullet + +Unmatched: ListBullet + By using these and other tools in the Rust ecosystem, developers can be +productive while writing systems-level code. + +### Students + +Rust is for students and those who are interested in learning about systems +concepts. Using Rust, many people have learned about topics like operating +systems development. The community is very welcoming and happy to answer +student questions. Through efforts such as this book, the Rust teams want to +make systems concepts more accessible to more people, especially those new to +programming. + +### Companies + +Hundreds of companies, large and small, use Rust in production for a variety of +tasks, including command line tools, web services, DevOps tooling, embedded +devices, audio and video analysis and transcoding, cryptocurrencies, +bioinformatics, search engines, Internet of Things applications, machine +learning, and even major parts of the Firefox web browser. + +### Open Source Developers + +Rust is for people who want to build the Rust programming language, community, +developer tools, and libraries. We’d love to have you contribute to the Rust +language. + +### People Who Value Speed and Stability + +Rust is for people who crave speed and stability in a language. By speed, we +mean both how quickly Rust code can run and the speed at which Rust lets you +write programs. The Rust compiler’s checks ensure stability through feature +additions and refactoring. This is in contrast to the brittle legacy code in +languages without these checks, which developers are often afraid to modify. By +striving for zero-cost abstractions, higher-level features that compile to +lower-level code as fast as code written manually, Rust endeavors to make safe +code be fast code as well. + +The Rust language hopes to support many other users as well; those mentioned +here are merely some of the biggest stakeholders. Overall, Rust’s greatest +ambition is to eliminate the trade-offs that programmers have accepted for +decades by providing safety and productivity, speed and ergonomics. Give Rust a +try and see if its choices work for you. + +## Who This Book Is For + +This book assumes that you’ve written code in another programming language but +doesn’t make any assumptions about which one. We’ve tried to make the material +broadly accessible to those from a wide variety of programming backgrounds. We +don’t spend a lot of time talking about what programming is or how to think +about it. If you’re entirely new to programming, you would be better served by +reading a book that specifically provides an introduction to programming. + +## How to Use This Book + +In general, this book assumes that you’re reading it in sequence from front to +back. Later chapters build on concepts in earlier chapters, and earlier +chapters might not delve into details on a particular topic but will revisit +the topic in a later chapter. + +You’ll find two kinds of chapters in this book: concept chapters and project +chapters. In concept chapters, you’ll learn about an aspect of Rust. In project +chapters, we’ll build small programs together, applying what you’ve learned so +far. Chapters 2, 12, and 20 are project chapters; the rest are concept chapters. + +Chapter 1 explains how to install Rust, how to write a “Hello, world!” program, +and how to use Cargo, Rust’s package manager and build tool. Chapter 2 is a +hands-on introduction to writing a program in Rust, having you build up a +number guessing game. Here we cover concepts at a high level, and later +chapters will provide additional detail. If you want to get your hands dirty +right away, Chapter 2 is the place for that. Chapter 3 covers Rust features +that are similar to those of other programming languages, and in Chapter 4 +you’ll learn about Rust’s ownership system. If you’re a particularly meticulous +learner who prefers to learn every detail before moving on to the next, you +might want to skip Chapter 2 and go straight to Chapter 3, returning to Chapter +2 when you’d like to work on a project applying the details you’ve learned. + +Chapter 5 discusses structs and methods, and Chapter 6 covers enums, `match` +expressions, and the `if let` control flow construct. You’ll use structs and +enums to make custom types in Rust. + +In Chapter 7, you’ll learn about Rust’s module system and about privacy rules +for organizing your code and its public Application Programming Interface +(API). Chapter 8 discusses some common collection data structures that the +standard library provides, such as vectors, strings, and hash maps. Chapter 9 +explores Rust’s error-handling philosophy and techniques. + +Chapter 10 digs into generics, traits, and lifetimes, which give you the power +to define code that applies to multiple types. Chapter 11 is all about testing, +which even with Rust’s safety guarantees is necessary to ensure your program’s +logic is correct. In Chapter 12, we’ll build our own implementation of a subset +of functionality from the `grep` command line tool that searches for text +within files. For this, we’ll use many of the concepts we discussed in the +previous chapters. + +Chapter 13 explores closures and iterators: features of Rust that come from +functional programming languages. In Chapter 14, we’ll examine Cargo in more +depth and talk about best practices for sharing your libraries with others. +Chapter 15 discusses smart pointers that the standard library provides and the +traits that enable their functionality. + +In Chapter 16, we’ll walk through different models of concurrent programming +and talk about how Rust helps you to program in multiple threads fearlessly. +Chapter 17 looks at how Rust idioms compare to object-oriented programming +principles you might be familiar with. + +Chapter 18 is a reference on patterns and pattern matching, which are powerful +ways of expressing ideas throughout Rust programs. Chapter 19 contains a +smorgasbord of advanced topics of interest, including unsafe Rust, macros, and +more about lifetimes, traits, types, functions, and closures. + +In Chapter 20, we’ll complete a project in which we’ll implement a low-level +multithreaded web server! + +Finally, some appendices contain useful information about the language in a +more reference-like format. Appendix A covers Rust’s keywords, Appendix B +covers Rust’s operators and symbols, Appendix C covers derivable traits +provided by the standard library, Appendix D covers some useful development +tools, and Appendix E explains Rust editions. + +There is no wrong way to read this book: if you want to skip ahead, go for it! +You might have to jump back to earlier chapters if you experience any +confusion. But do whatever works for you. + +An important part of the process of learning Rust is learning how to read the +error messages the compiler displays: these will guide you toward working code. +As such, we’ll provide many examples that don’t compile along with the error +message the compiler will show you in each situation. Know that if you enter +and run a random example, it may not compile! Make sure you read the +surrounding text to see whether the example you’re trying to run is meant to +error. In most situations, we’ll lead you to the correct version of any code +that doesn’t compile. + +## Resources and How to Contribute to This Book + +This book is open source. If you find an error, please don’t hesitate to file +an issue or send a pull request on GitHub at +https://github.com/rust-lang/book/. Please see CONTRIBUTING.md at +https://github.com/rust-lang/book/blob/main/CONTRIBUTING.md for more details. + +The source code for the examples in this book, errata, and other information +are available at https://www.nostarch.com/Rust2021/. + From af633789a833b9a2fc70b20093e2a06792261aba Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 13 Jul 2022 20:34:09 -0400 Subject: [PATCH 0367/1248] Line wrap bio --- nostarch/bio.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nostarch/bio.md b/nostarch/bio.md index cbb2bd4bbf..38b0508bcd 100644 --- a/nostarch/bio.md +++ b/nostarch/bio.md @@ -1,5 +1,6 @@ # About the Authors - - -Carol Nichols is a member of the Rust Crates.io Team and a former member of the Rust Core Team. She’s a co-founder of Integer 32, LLC, the world’s first Rust-focused software consultancy. Nichols has also organized the Rust Belt Rust Conference. \ No newline at end of file +Carol Nichols is a member of the Rust Crates.io Team and a former member of the +Rust Core Team. She’s a co-founder of Integer 32, LLC, the world’s first +Rust-focused software consultancy. Nichols has also organized the Rust Belt +Rust Conference. From b1b6acba6a7c18b65a4a1278a9502ae283631c60 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 13 Jul 2022 20:47:46 -0400 Subject: [PATCH 0368/1248] Support different styles in the docx --- nostarch/frontmatter.md | 169 +++++++++++----------------------------- tools/docx-to-md.xsl | 15 +++- 2 files changed, 57 insertions(+), 127 deletions(-) diff --git a/nostarch/frontmatter.md b/nostarch/frontmatter.md index ab07dc946d..985f6702b4 100644 --- a/nostarch/frontmatter.md +++ b/nostarch/frontmatter.md @@ -1,82 +1,4 @@ - -Unmatched: BookHalfTitle - -Unmatched: BookTitle0 - -Unmatched: BookAuthor - -Unmatched: Copyright - -Unmatched: CopyrightHead - -Unmatched: ProductionDirective0 - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: ProductionDirective0 - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: ProductionDirective0 - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: ProductionDirective0 - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: CopyrightLOC - -Unmatched: ProductionDirective0 - -Unmatched: Copyright - -Unmatched: ProductionDirective0 - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: ProductionDirective0 - -Unmatched: Copyright - -Unmatched: Copyright - -Unmatched: ProductionDirective0 - ## About the Author +## About the Author Carol Nichols is a member of the Rust Crates.io Team and a former member of the Rust Core Team. She’s a co-founder of Integer 32, LLC, the world’s first @@ -95,22 +17,16 @@ in 2011, and in 2016 joined Mozilla to work on Rust full-time, helping to shape its direction for widespread use. These days, they are a freelance Rust trainer and advocate for safe systems programming. +## Brief Contents -Unmatched: FrontmatterTitle - -Unmatched: ProductionDirective0 - -Unmatched: FrontmatterTitle - -Unmatched: ProductionDirective0 +## Contents in Detail -Unmatched: ProductionDirective0 +## Foreword -Unmatched: FrontmatterTitle - It wasn’t always so clear, but the Rust programming language is -fundamentally about *empowerment*: no matter what kind of code you are writing -now, Rust empowers you to reach farther, to program with confidence in a wider -variety of domains than you did before. +It wasn’t always so clear, but the Rust programming language is fundamentally +about *empowerment*: no matter what kind of code you are writing now, Rust +empowers you to reach farther, to program with confidence in a wider variety of +domains than you did before. Take, for example, “systems-level” work that deals with low-level details of memory management, data representation, and concurrency. Traditionally, this @@ -147,32 +63,32 @@ general. So dive in, get ready to learn—and welcome to the Rust community! Nicholas Matsakis and Aaron Turon +## Preface -Unmatched: FrontmatterTitle - This version of the text assumes you’re using Rust 1.62.0 (released -2022-06-30) or later with `edition="2021"` in Cargo.toml of all projects to use -Rust 2021 Edition idioms. See “Installation” on page 1 for instructions on -installing or updating Rust, and see Appendix E for information on editions. +This version of the text assumes you’re using Rust 1.62.0 (released 2022-06-30) +or later with `edition="2021"` in *Cargo.toml* of all projects to use Rust 2021 +Edition idioms. See “Installation” on page 1 for instructions on installing or +updating Rust, and see Appendix E for information on editions. The 2021 Edition of the Rust language includes a number of improvements that make Rust more ergonomic and correct some inconsistencies. On top of a general update to reflect these improvements, this rendition of the book has a number of improvements to address specific feedback: - -Unmatched: ListBullet - -Unmatched: ListBullet - -Unmatched: ListBullet - Note that any code from earlier renditions of this book that compiled -will continue to compile with the relevant edition in the project’s Cargo.toml, +* Chapter 7 contains a new quick reference section on organizing your code into +multiple files with modules. +* Chapter 13 has new and improved closure examples that more clearly illustrate +captures, the `move` keyword, and the `Fn` traits. +* We fixed a number of small errors and imprecise wording throughout the book. +Thank you to the readers who reported them! +Note that any code from earlier renditions of this book that compiled will +continue to compile with the relevant edition in the project’s *Cargo.toml*, even as you update the Rust compiler version you’re using. That’s Rust’s backward compatibility guarantees at work! +## ACKNOWLEDGMENTS -Unmatched: FrontmatterTitle - We would like to thank everyone who has worked on the Rust language for +We would like to thank everyone who has worked on the Rust language for creating an amazing language worth writing a book about. We’re grateful to everyone in the Rust community for being welcoming and creating an environment worth welcoming more folks into. @@ -188,11 +104,17 @@ Carol is grateful for the opportunity to work on this book. She thanks her family for their constant love and support, especially her husband Jake Goulding and her daughter Vivian. +## Introduction -Unmatched: FrontmatterTitle +Welcome to *The Rust Programming Language,* an introductory book about Rust. +The Rust programming language helps you write faster, more reliable software. +High-level ergonomics and low-level control are often at odds in programming +language design; Rust challenges that conflict. Through balancing powerful +technical capacity and a great developer experience, Rust gives you the option +to control low-level details (such as memory usage) without all the hassle +traditionally associated with such control. -Unmatched: ChapterIntro - ## Who Rust Is For +## Who Rust Is For Rust is ideal for many people for a variety of reasons. Let’s look at a few of the most important groups. @@ -210,13 +132,14 @@ logic rather than chasing down bugs. Rust also brings contemporary developer tools to the systems programming world: - -Unmatched: ListBullet - -Unmatched: ListBullet - -Unmatched: ListBullet - By using these and other tools in the Rust ecosystem, developers can be +* Cargo, the included dependency manager and build tool, makes adding, +compiling, and managing dependencies painless and consistent across the Rust +ecosystem. +* The Rustfmt formatting tool ensures a consistent coding style across +developers. +* The Rust Language Server powers Integrated Development Environment (IDE) +integration for code completion and inline error messages. +By using these and other tools in the Rust ecosystem, developers can be productive while writing systems-level code. ### Students @@ -256,15 +179,15 @@ code be fast code as well. The Rust language hopes to support many other users as well; those mentioned here are merely some of the biggest stakeholders. Overall, Rust’s greatest ambition is to eliminate the trade-offs that programmers have accepted for -decades by providing safety and productivity, speed and ergonomics. Give Rust a -try and see if its choices work for you. +decades by providing safety *and* productivity, speed *and* ergonomics. Give +Rust a try and see if its choices work for you. ## Who This Book Is For This book assumes that you’ve written code in another programming language but doesn’t make any assumptions about which one. We’ve tried to make the material broadly accessible to those from a wide variety of programming backgrounds. We -don’t spend a lot of time talking about what programming is or how to think +don’t spend a lot of time talking about what programming *is* or how to think about it. If you’re entirely new to programming, you would be better served by reading a book that specifically provides an introduction to programming. @@ -352,9 +275,9 @@ that doesn’t compile. This book is open source. If you find an error, please don’t hesitate to file an issue or send a pull request on GitHub at -https://github.com/rust-lang/book/. Please see CONTRIBUTING.md at -https://github.com/rust-lang/book/blob/main/CONTRIBUTING.md for more details. +*https://github.com/rust-lang/book/**.* Please see *CONTRIBUTING.md* at +*https://github.com/rust-lang/book/blob/main/CONTRIBUTING.md* for more details. The source code for the examples in this book, errata, and other information -are available at https://www.nostarch.com/Rust2021/. +are available at *https://www.nostarch.com/Rust2021/*. diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 637c7a59c8..b7430c4270 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -15,6 +15,13 @@ + + + + + + + @@ -27,7 +34,7 @@ - + ## @@ -63,7 +70,7 @@ - + * @@ -81,7 +88,7 @@ - + @@ -195,7 +202,7 @@ Unmatched: - + From 214851e930f1d938bc58088e9d393002256cb8d9 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 13 Jul 2022 20:57:18 -0400 Subject: [PATCH 0369/1248] Updated snapshots extracted from frontmatter --- nostarch/acknowledgments.md | 2 -- nostarch/introduction.md | 13 ++++--------- nostarch/preface.md | 24 ++++++++++++------------ 3 files changed, 16 insertions(+), 23 deletions(-) diff --git a/nostarch/acknowledgments.md b/nostarch/acknowledgments.md index 89d4adffc9..c29cb712ab 100644 --- a/nostarch/acknowledgments.md +++ b/nostarch/acknowledgments.md @@ -12,8 +12,6 @@ Karen Rustad Tölva for the cover art. Thank you to our team at No Starch, including Bill Pollock, Liz Chadwick, and Janelle Ludowise, for improving this book and bringing it to print. - - Carol is grateful for the opportunity to work on this book. She thanks her family for their constant love and support, especially her husband Jake Goulding and her daughter Vivian. diff --git a/nostarch/introduction.md b/nostarch/introduction.md index b3ff9b1113..bcaed24c56 100644 --- a/nostarch/introduction.md +++ b/nostarch/introduction.md @@ -8,7 +8,7 @@ directory, so all fixes need to be made in `/src/`. # Introduction -Welcome to *The Rust Programming Language*, an introductory book about Rust. +Welcome to *The Rust Programming Language,* an introductory book about Rust. The Rust programming language helps you write faster, more reliable software. High-level ergonomics and low-level control are often at odds in programming language design; Rust challenges that conflict. Through balancing powerful @@ -62,12 +62,6 @@ devices, audio and video analysis and transcoding, cryptocurrencies, bioinformatics, search engines, Internet of Things applications, machine learning, and even major parts of the Firefox web browser. - - - ### Open Source Developers Rust is for people who want to build the Rust programming language, community, @@ -119,7 +113,7 @@ number guessing game. Here we cover concepts at a high level, and later chapters will provide additional detail. If you want to get your hands dirty right away, Chapter 2 is the place for that. Chapter 3 covers Rust features that are similar to those of other programming languages, and in Chapter 4 -you'll learn about Rust’s ownership system. If you’re a particularly meticulous +you’ll learn about Rust’s ownership system. If you’re a particularly meticulous learner who prefers to learn every detail before moving on to the next, you might want to skip Chapter 2 and go straight to Chapter 3, returning to Chapter 2 when you’d like to work on a project applying the details you’ve learned. @@ -182,10 +176,11 @@ that doesn’t compile. ## Resources and How to Contribute to This Book -This book is open source. If you find an error, please don't hesitate to file +This book is open source. If you find an error, please don’t hesitate to file an issue or send a pull request on GitHub at *https://github.com/rust-lang/book/*. Please see *CONTRIBUTING.md* at *https://github.com/rust-lang/book/blob/main/CONTRIBUTING.md* for more details. The source code for the examples in this book, errata, and other information are available at *https://www.nostarch.com/Rust2021/*. + diff --git a/nostarch/preface.md b/nostarch/preface.md index 5ec239151a..33b1a0fd86 100644 --- a/nostarch/preface.md +++ b/nostarch/preface.md @@ -1,22 +1,22 @@ -# Preface +## Preface This version of the text assumes you’re using Rust 1.62.0 (released 2022-06-30) -or later with edition="2021" in *Cargo.toml* of all projects to use Rust 2021 -Edition idioms. See “Installation” on page 1 to install or update Rust, and see -Appendix E for information on editions. +or later with `edition="2021"` in *Cargo.toml* of all projects to use Rust 2021 +Edition idioms. See “Installation” on page 1 for instructions on installing or +updating Rust, and see Appendix E for information on editions. -The 2021 Edition of the Rust language includes a small number of improvements -that make Rust more ergonomic and correct some inconsistencies. This rendition -of the book has a number of improvements to address feedback: +The 2021 Edition of the Rust language includes a number of improvements that +make Rust more ergonomic and correct some inconsistencies. On top of a general +update to reflect these improvements, this rendition of the book has a number +of improvements to address specific feedback: -• Chapter 7 contains a new quick reference section on organizing your code into +* Chapter 7 contains a new quick reference section on organizing your code into multiple files with modules. -• Chapter 13 has new and improved closure examples that more clearly illustrate +* Chapter 13 has new and improved closure examples that more clearly illustrate captures, the `move` keyword, and the `Fn` traits. -• We fixed a number of small errors and imprecise wording throughout the book. +* We fixed a number of small errors and imprecise wording throughout the book. Thank you to the readers who reported them! - -Note that any code in earlier renditions of this book that compiled will +Note that any code from earlier renditions of this book that compiled will continue to compile with the relevant edition in the project’s *Cargo.toml*, even as you update the Rust compiler version you’re using. That’s Rust’s backward compatibility guarantees at work! From ace3550ad8c3da7aeab521f2e1f96a85b5c8f17d Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 13 Jul 2022 21:11:26 -0400 Subject: [PATCH 0370/1248] Propagate frontmatter edits to src --- src/ch00-00-introduction.md | 47 +++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/src/ch00-00-introduction.md b/src/ch00-00-introduction.md index ba7b9ea0e5..9df8e6c882 100644 --- a/src/ch00-00-introduction.md +++ b/src/ch00-00-introduction.md @@ -24,8 +24,8 @@ the most important groups. Rust is proving to be a productive tool for collaborating among large teams of developers with varying levels of systems programming knowledge. Low-level code -is prone to a variety of subtle bugs, which in most other languages can be -caught only through extensive testing and careful code review by experienced +is prone to various subtle bugs, which in most other languages can be caught +only through extensive testing and careful code review by experienced developers. In Rust, the compiler plays a gatekeeper role by refusing to compile code with these elusive bugs, including concurrency bugs. By working alongside the compiler, the team can spend their time focusing on the program’s @@ -36,7 +36,8 @@ Rust also brings contemporary developer tools to the systems programming world: * Cargo, the included dependency manager and build tool, makes adding, compiling, and managing dependencies painless and consistent across the Rust ecosystem. -* Rustfmt ensures a consistent coding style across developers. +* The Rustfmt formatting tool ensures a consistent coding style across + developers. * The Rust Language Server powers Integrated Development Environment (IDE) integration for code completion and inline error messages. @@ -55,8 +56,8 @@ programming. ### Companies Hundreds of companies, large and small, use Rust in production for a variety of -tasks. Those tasks include command line tools, web services, DevOps tooling, -embedded devices, audio and video analysis and transcoding, cryptocurrencies, +tasks, including command line tools, web services, DevOps tooling, embedded +devices, audio and video analysis and transcoding, cryptocurrencies, bioinformatics, search engines, Internet of Things applications, machine learning, and even major parts of the Firefox web browser. @@ -69,13 +70,13 @@ language. ### People Who Value Speed and Stability Rust is for people who crave speed and stability in a language. By speed, we -mean the speed of the programs that you can create with Rust and the speed at -which Rust lets you write them. The Rust compiler’s checks ensure stability -through feature additions and refactoring. This is in contrast to the brittle -legacy code in languages without these checks, which developers are often -afraid to modify. By striving for zero-cost abstractions, higher-level features -that compile to lower-level code as fast as code written manually, Rust -endeavors to make safe code be fast code as well. +mean both how quickly Rust code can run and the speed at which Rust lets you +write programs. The Rust compiler’s checks ensure stability through feature +additions and refactoring. This is in contrast to the brittle legacy code in +languages without these checks, which developers are often afraid to modify. By +striving for zero-cost abstractions, higher-level features that compile to +lower-level code as fast as code written manually, Rust endeavors to make safe +code be fast code as well. The Rust language hopes to support many other users as well; those mentioned here are merely some of the biggest stakeholders. Overall, Rust’s greatest @@ -96,8 +97,8 @@ reading a book that specifically provides an introduction to programming. In general, this book assumes that you’re reading it in sequence from front to back. Later chapters build on concepts in earlier chapters, and earlier -chapters might not delve into details on a topic; we typically revisit the -topic in a later chapter. +chapters might not delve into details on a particular topic but will revisit +the topic in a later chapter. You’ll find two kinds of chapters in this book: concept chapters and project chapters. In concept chapters, you’ll learn about an aspect of Rust. In project @@ -106,15 +107,15 @@ far. Chapters 2, 12, and 20 are project chapters; the rest are concept chapters. Chapter 1 explains how to install Rust, how to write a “Hello, world!” program, and how to use Cargo, Rust’s package manager and build tool. Chapter 2 is a -hands-on introduction to the Rust language. Here we cover concepts at a high -level, and later chapters will provide additional detail. If you want to get -your hands dirty right away, Chapter 2 is the place for that. At first, you -might even want to skip Chapter 3, which covers Rust features similar to those -of other programming languages, and head straight to Chapter 4 to learn about -Rust’s ownership system. However, if you’re a particularly meticulous learner -who prefers to learn every detail before moving on to the next, you might want -to skip Chapter 2 and go straight to Chapter 3, returning to Chapter 2 when -you’d like to work on a project applying the details you’ve learned. +hands-on introduction to writing a program in Rust, having you build up a +number guessing game. Here we cover concepts at a high level, and later +chapters will provide additional detail. If you want to get your hands dirty +right away, Chapter 2 is the place for that. Chapter 3 covers Rust features +that are similar to those of other programming languages, and in Chapter 4 +you’ll learn about Rust’s ownership system. If you’re a particularly meticulous +learner who prefers to learn every detail before moving on to the next, you +might want to skip Chapter 2 and go straight to Chapter 3, returning to Chapter +2 when you’d like to work on a project applying the details you’ve learned. Chapter 5 discusses structs and methods, and Chapter 6 covers enums, `match` expressions, and the `if let` control flow construct. You’ll use structs and From cf58b27cfd93194713f4382be59ee4e13634b18f Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 14 Jul 2022 20:07:30 -0400 Subject: [PATCH 0371/1248] Update instructions on docx -> md now that I've done it again --- ADMIN_TASKS.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ADMIN_TASKS.md b/ADMIN_TASKS.md index 7c152577f1..2a92eefd26 100644 --- a/ADMIN_TASKS.md +++ b/ADMIN_TASKS.md @@ -113,7 +113,12 @@ To check, say, updating `mdbook` or changing the way files get included: ## Produce markdown from docx for diffing -- TODO Carol to document this next time she does it +- Save the docx file to `tmp/chapterXX.docx`. +- In Word, go to the review tab, choose "Accept all changes and stop tracking" +- Save the docx again and close Word +- Run `./tools/doc-to-md.sh` +- This should write `nostarch/chapterXX.md`. Adjust the XSL in + `tools/doc-to-md.xsl` and run `./tools/doc-to-md.sh` again if needed. ## Generate Graphviz dot From c823c630a39812e4cb4264ce8988860d838060f2 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 14 Jul 2022 20:12:02 -0400 Subject: [PATCH 0372/1248] Update xsl and take snapshots from docx, such as they are --- nostarch/chapter12.md | 483 ++++++++++++------------ nostarch/chapter13.md | 211 ++++++----- nostarch/chapter15.md | 832 +++++++++++++++++++++--------------------- tools/docx-to-md.xsl | 50 ++- 4 files changed, 814 insertions(+), 762 deletions(-) diff --git a/nostarch/chapter12.md b/nostarch/chapter12.md index 950b2e9995..2c173f1a26 100644 --- a/nostarch/chapter12.md +++ b/nostarch/chapter12.md @@ -1,8 +1,3 @@ - [TOC] @@ -16,7 +11,7 @@ the Rust concepts you now have under your belt. Rust’s speed, safety, single binary output, and cross-platform support make it an ideal language for creating command line tools, so for our project, we’ll make our own version of the classic command line search tool `grep` -(**g**lobally search a **r**egular **e**xpression and **p**rint). In the +(globally search a regular expression and print). In the simplest use case, `grep` searches a specified file for a specified string. To do so, `grep` takes as its arguments a file path and a string. Then it reads the file, finds lines in that file that contain the string argument, and prints @@ -42,7 +37,6 @@ Our `grep` project will combine a number of concepts you’ve learned so far: * Handling errors (Chapter 9) * Using traits and lifetimes where appropriate (Chapter 10) * Writing tests (Chapter 11) - We’ll also briefly introduce closures, iterators, and trait objects, which Chapters 13 and 17 will cover in detail. @@ -98,8 +92,7 @@ fn main() { } ``` -Listing 12-1: Collecting the command line arguments into a vector and printing -them +Collecting the command line arguments into a vector and printing them First, we bring the `std::env` module into scope with a `use` statement so we can use its `args` function. Notice that the `std::env::args` function is @@ -107,18 +100,20 @@ nested in two levels of modules. As we discussed in Chapter 7, in cases where the desired function is nested in more than one module, we’ve chosen to bring the parent module into scope rather than the function. By doing so, we can easily use other functions from `std::env`. It’s also less ambiguous than -adding `use std::env::args` and then calling the function with just `args`, -because `args` might easily be mistaken for a function that’s defined in the -current module. +adding `use std::env::args` and then calling the function with just +`args`, because `args` might easily be mistaken for a function that’s defined +in the current module. + + +> ### The args Function and Invalid Unicode + -> ### The `args` Function and Invalid Unicode -> > Note that `std::env::args` will panic if any argument contains invalid -> Unicode. If your program needs to accept arguments containing invalid -> Unicode, use `std::env::args_os` instead. That function returns an iterator -> that produces `OsString` values instead of `String` values. We’ve chosen to -> use `std::env::args` here for simplicity, because `OsString` values differ -> per platform and are more complex to work with than `String` values. +Unicode. If your program needs to accept arguments containing invalid Unicode, +use `std::env::args_os` instead. That function returns an iterator that +produces `OsString` values instead of `String` values. We’ve chosen to use +`std::env::args` here for simplicity, because `OsString` values differ per +platform and are more complex to work with than `String` values. On the first line of `main`, we call `env::args`, and we immediately use `collect` to turn the iterator into a vector containing all the values produced @@ -137,9 +132,6 @@ $ cargo run [src/main.rs:5] args = [ "target/debug/minigrep", ] -``` - -``` $ cargo run -- needle haystack --snip-- [src/main.rs:5] args = [ @@ -149,12 +141,12 @@ $ cargo run -- needle haystack ] ``` -Notice that the first value in the vector is `"target/debug/minigrep"`, which -is the name of our binary. This matches the behavior of the arguments list in -C, letting programs use the name by which they were invoked in their execution. -It’s often convenient to have access to the program name in case you want to -print it in messages or change behavior of the program based on what command -line alias was used to invoke the program. But for the purposes of this +Notice that the first value in the vector is `"target/debug/minigrep"`, +which is the name of our binary. This matches the behavior of the arguments +list in C, letting programs use the name by which they were invoked in their +execution. It’s often convenient to have access to the program name in case you +want to print it in messages or change behavior of the program based on what +command line alias was used to invoke the program. But for the purposes of this chapter, we’ll ignore it and save only the two arguments we need. ### Saving the Argument Values in Variables @@ -180,15 +172,14 @@ fn main() { } ``` -Listing 12-2: Creating variables to hold the query argument and file path -argument +Creating variables to hold the query argument and file path argument As we saw when we printed the vector, the program’s name takes up the first -value in the vector at `args[0]`, so we’re starting arguments at index `1`. The -first argument `minigrep` takes is the string we’re searching for, so we put a -reference to the first argument in the variable `query`. The second argument -will be the file path, so we put a reference to the second argument in the -variable `file_path`. +value in the vector at `args[0]`, so we’re starting arguments at index `1`. +The first argument `minigrep` takes is the string we’re searching for, so we +put a reference to the first argument in the variable `query`. The second +argument will be the file path, so we put a reference to the second argument in +the variable `file_path`. We temporarily print the values of these variables to prove that the code is working as we intend. Let’s run this program again with the arguments `test` @@ -232,7 +223,7 @@ To tell your name the livelong day To an admiring bog! ``` -Listing 12-3: A poem by Emily Dickinson makes a good test case +A poem by Emily Dickinson makes a good test case With the text in place, edit *src/main.rs* and add code to read the file, as shown in Listing 12-4. @@ -241,29 +232,30 @@ Filename: src/main.rs ``` use std::env; -[1] use std::fs; +1 use std::fs; fn main() { - // --snip-- + --snip-- println!("In file {}", file_path); - [2] let contents = fs::read_to_string(file_path) + 2 let contents = fs::read_to_string(file_path) .expect("Should have been able to read the file"); - [3] println!("With text:\n{contents}"); + 3 println!("With text:\n{contents}"); } ``` -Listing 12-4: Reading the contents of the file specified by the second argument +Reading the contents of the file specified by the second argument First, we bring in a relevant part of the standard library with a `use` statement: we need `std::fs` to handle files [1]. -In `main`, the new statement `fs::read_to_string` takes the `file_path`, opens -that file, and returns a `std::io::Result` of the file’s contents [2]. +In `main`, the new statement `fs::read_to_string` takes the `file_path`, +opens that file, and returns a `std::io::Result` of the file’s contents +[2]. -After that, we again add a temporary `println!` statement that prints the value -of `contents` after the file is read, so we can check that the program is +After that, we again add a temporary `println!` statement that prints the +value of `contents` after the file is read, so we can check that the program is working so far [3]. Let’s run this code with any string as the first command line argument (because @@ -343,12 +335,11 @@ binary program when `main` starts getting large. This process has the following steps: * Split your program into a *main.rs* and a *lib.rs* and move your program’s - logic to *lib.rs*. +logic to *lib.rs*. * As long as your command line parsing logic is small, it can remain in - *main.rs*. +*main.rs*. * When the command line parsing logic starts getting complicated, extract it - from *main.rs* and move it to *lib.rs*. - +from *main.rs* and move it to *lib.rs*. The responsibilities that remain in the `main` function after this process should be limited to the following: @@ -356,7 +347,6 @@ should be limited to the following: * Setting up any other configuration * Calling a `run` function in *lib.rs* * Handling the error if `run` returns an error - This pattern is about separating concerns: *main.rs* handles running the program, and *lib.rs* handles all the logic of the task at hand. Because you can’t test the `main` function directly, this structure lets you test all of @@ -379,7 +369,7 @@ fn main() { let (query, file_path) = parse_config(&args); - // --snip-- + --snip-- } fn parse_config(args: &[String]) -> (&str, &str) { @@ -390,7 +380,7 @@ fn parse_config(args: &[String]) -> (&str, &str) { } ``` -Listing 12-5: Extracting a `parse_config` function from `main` +Extracting a `parse_config` function from `main` We’re still collecting the command line arguments into a vector, but instead of assigning the argument value at index 1 to the variable `query` and the @@ -431,36 +421,35 @@ Filename: src/main.rs fn main() { let args: Vec = env::args().collect(); - [1] let config = parse_config(&args); + 1 let config = parse_config(&args); - println!("Searching for {}", config.query[2]); - println!("In file {}", config.file_path[3]); + println!("Searching for {}", 2 config.query); + println!("In file {}", 3 config.file_path); - let contents = fs::read_to_string(config.file_path[4]) + let contents = fs::read_to_string(4 config.file_path) .expect("Should have been able to read the file"); - // --snip-- + --snip-- } -[5] struct Config { +5 struct Config { query: String, file_path: String, } -[6] fn parse_config(args: &[String]) -> Config { - [7] let query = args[1].clone(); - [8] let file_path = args[2].clone(); +6 fn parse_config(args: &[String]) -> Config { + 7 let query = args[1].clone(); + 8 let file_path = args[2].clone(); Config { query, file_path } } ``` -Listing 12-6: Refactoring `parse_config` to return an instance of a `Config` -struct +Refactoring `parse_config` to return an instance of a `Config` struct We’ve added a struct named `Config` defined to have fields named `query` and -`file_path` [5]. The signature of `parse_config` now indicates that it returns a -`Config` value [6]. In the body of `parse_config`, where we used to return +`file_path` [5]. The signature of `parse_config` now indicates that it returns +a `Config` value [6]. In the body of `parse_config`, where we used to return string slices that reference `String` values in `args`, we now define `Config` to contain owned `String` values. The `args` variable in `main` is the owner of the argument values and is only letting the `parse_config` function borrow @@ -469,44 +458,45 @@ ownership of the values in `args`. There are a number of ways we could manage the `String` data; the easiest, though somewhat inefficient, route is to call the `clone` method on the values -[7][8]. This will make a full copy of the data for the `Config` instance to -own, which takes more time and memory than storing a reference to the string +[7] and [8]. This will make a full copy of the data for the `Config` instance +to own, which takes more time and memory than storing a reference to the string data. However, cloning the data also makes our code very straightforward because we don’t have to manage the lifetimes of the references; in this circumstance, giving up a little performance to gain simplicity is a worthwhile trade-off. -> ### The Trade-Offs of Using `clone` -> + +> ### The Trade-Offs of Using clone + + > There’s a tendency among many Rustaceans to avoid using `clone` to fix -> ownership problems because of its runtime cost. In -> Chapter 13, you’ll learn how to use more efficient -> methods in this type of situation. But for now, it’s okay to copy a few -> strings to continue making progress because you’ll make these copies only -> once and your file path and query string are very small. It’s better to have -> a working program that’s a bit inefficient than to try to hyperoptimize code -> on your first pass. As you become more experienced with Rust, it’ll be -> easier to start with the most efficient solution, but for now, it’s -> perfectly acceptable to call `clone`. +ownership problems because of its runtime cost. In Chapter 13, you’ll learn how +to use more efficient methods in this type of situation. But for now, it’s okay +to copy a few strings to continue making progress because you’ll make these +copies only once and your file path and query string are very small. It’s +better to have a working program that’s a bit inefficient than to try to +hyperoptimize code on your first pass. As you become more experienced with +Rust, it’ll be easier to start with the most efficient solution, but for now, +it’s perfectly acceptable to call `clone`. We’ve updated `main` so it places the instance of `Config` returned by `parse_config` into a variable named `config` [1], and we updated the code that previously used the separate `query` and `file_path` variables so it now uses -the fields on the `Config` struct instead [2][3][4]. +the fields on the `Config` struct instead at [2], [3], and [4]. Now our code more clearly conveys that `query` and `file_path` are related and that their purpose is to configure how the program will work. Any code that uses these values knows to find them in the `config` instance in the fields named for their purpose. -#### Creating a Constructor for `Config` +#### Creating a Constructor for Config So far, we’ve extracted the logic responsible for parsing the command line arguments from `main` and placed it in the `parse_config` function. Doing so helped us to see that the `query` and `file_path` values were related and that relationship should be conveyed in our code. We then added a `Config` struct to -name the related purpose of `query` and `file_path` and to be able to return the -values’ names as struct field names from the `parse_config` function. +name the related purpose of `query` and `file_path` and to be able to return +the values’ names as struct field names from the `parse_config` function. So now that the purpose of the `parse_config` function is to create a `Config` instance, we can change `parse_config` from a plain function to a function @@ -514,8 +504,8 @@ named `new` that is associated with the `Config` struct. Making this change will make the code more idiomatic. We can create instances of types in the standard library, such as `String`, by calling `String::new`. Similarly, by changing `parse_config` into a `new` function associated with `Config`, we’ll -be able to create instances of `Config` by calling `Config::new`. Listing 12-7 -shows the changes we need to make. +be able to create instances of `Config` by calling `Config::new`. Listing +12-7 shows the changes we need to make. Filename: src/main.rs @@ -523,15 +513,15 @@ Filename: src/main.rs fn main() { let args: Vec = env::args().collect(); - [1] let config = Config::new(&args); + 1 let config = Config::new(&args); - // --snip-- + --snip-- } -// --snip-- +--snip-- -[2] impl Config { - [3] fn new(args: &[String]) -> Config { +2 impl Config { + 3 fn new(args: &[String]) -> Config { let query = args[1].clone(); let file_path = args[2].clone(); @@ -540,7 +530,7 @@ fn main() { } ``` -Listing 12-7: Changing `parse_config` into `Config::new` +Changing `parse_config` into `Config::new` We’ve updated `main` where we were calling `parse_config` to instead call `Config::new` [1]. We’ve changed the name of `parse_config` to `new` [3] and @@ -559,8 +549,10 @@ $ cargo run Compiling minigrep v0.1.0 (file:///projects/minigrep) Finished dev [unoptimized + debuginfo] target(s) in 0.0s Running `target/debug/minigrep` -thread 'main' panicked at 'index out of bounds: the len is 1 but the index is 1', src/main.rs:27:21 -note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +thread 'main' panicked at 'index out of bounds: the len is 1 but +the index is 1', src/main.rs:27:21 +note: run with `RUST_BACKTRACE=1` environment variable to display +a backtrace ``` The line `index out of bounds: the len is 1 but the index is 1` is an error @@ -576,15 +568,15 @@ enough, the program panics and displays a better error message. Filename: src/main.rs ``` -// --snip-- +--snip-- fn new(args: &[String]) -> Config { if args.len() < 3 { panic!("not enough arguments"); } - // --snip-- + --snip-- ``` -Listing 12-8: Adding a check for the number of arguments +Adding a check for the number of arguments This code is similar to the `Guess::new` function we wrote in Listing 9-13, where we called `panic!` when the `value` argument was out of the range of @@ -614,7 +606,7 @@ discussed in Chapter 9. Instead, we’ll use the other technique you learned about in Chapter 9—returning a `Result` that indicates either success or an error. -#### Returning a `Result` Instead of Calling `panic!` +#### Returning a Result Instead of Calling panic! We can instead return a `Result` value that will contain a `Config` instance in the successful case and will describe the problem in the error case. We’re also @@ -626,9 +618,9 @@ practical error for our users without the surrounding text about `thread 'main'` and `RUST_BACKTRACE` that a call to `panic!` causes. Listing 12-9 shows the changes we need to make to the return value of the -function we’re now calling `Config::build` and the body of the function needed -to return a `Result`. Note that this won’t compile until we update `main` as -well, which we’ll do in the next listing. +function we’re now calling `Config::build` and the body of the function +needed to return a `Result`. Note that this won’t compile until we update +`main` as well, which we’ll do in the next listing. Filename: src/main.rs @@ -647,7 +639,7 @@ impl Config { } ``` -Listing 12-9: Returning a `Result` from `Config::build` +Returning a `Result` from `Config::build` Our `build` function returns a `Result` with a `Config` instance in the success case and a `&'static str` in the error case. Our error values will always be @@ -662,7 +654,7 @@ Returning an `Err` value from `Config::build` allows the `main` function to handle the `Result` value returned from the `build` function and exit the process more cleanly in the error case. -#### Calling `Config::build` and Handling Errors +#### Calling Config::build and Handling Errors To handle the error case and print a user-friendly message, we need to update `main` to handle the `Result` being returned by `Config::build`, as shown in @@ -674,20 +666,20 @@ called our program that the program exited with an error state. Filename: src/main.rs ``` -[1] use std::process; +1 use std::process; fn main() { let args: Vec = env::args().collect(); - [2] let config = Config::build(&args).unwrap_or_else([3]|err[4]| { - [5] println!("Problem parsing arguments: {err}"); - [6] process::exit(1); + 2 let config = Config::build(&args).3 unwrap_or_else(|4 err| { + 5 println!("Problem parsing arguments: {err}"); + 6 process::exit(1); }); - // --snip-- + --snip-- ``` -Listing 12-10: Exiting with an error code if building a `Config` fails +Exiting with an error code if building a `Config` fails In this listing, we’ve used a method we haven’t covered in detail yet: `unwrap_or_else`, which is defined on `Result` by the standard library @@ -705,8 +697,8 @@ it runs. We’ve added a new `use` line to bring `process` from the standard library into scope [1]. The code in the closure that will be run in the error case is only -two lines: we print the `err` value [5] and then call `process::exit` [6]. The -`process::exit` function will stop the program immediately and return the +two lines: we print the `err` value [5] and then call `process::exit` [6]. +The `process::exit` function will stop the program immediately and return the number that was passed as the exit status code. This is similar to the `panic!`-based handling we used in Listing 12-8, but we no longer get all the extra output. Let’s try it: @@ -721,7 +713,7 @@ Problem parsing arguments: not enough arguments Great! This output is much friendlier for our users. -### Extracting Logic from `main` +### Extracting Logic from main Now that we’ve finished refactoring the configuration parsing, let’s turn to the program’s logic. As we stated in “Separation of Concerns for Binary @@ -739,7 +731,7 @@ Filename: src/main.rs ``` fn main() { - // --snip-- + --snip-- println!("Searching for {}", config.query); println!("In file {}", config.file_path); @@ -754,17 +746,16 @@ fn run(config: Config) { println!("With text:\n{contents}"); } -// --snip-- +--snip-- ``` -Listing 12-11: Extracting a `run` function containing the rest of the program -logic +Extracting a `run` function containing the rest of the program logic The `run` function now contains all the remaining logic from `main`, starting from reading the file. The `run` function takes the `Config` instance as an argument. -#### Returning Errors from the `run` Function +#### Returning Errors from the run Function With the remaining program logic separated into the `run` function, we can improve the error handling, as we did with `Config::build` in Listing 12-9. @@ -777,33 +768,34 @@ signature and body of `run`. Filename: src/main.rs ``` -[1] use std::error::Error; +1 use std::error::Error; -// --snip-- +--snip-- -[2] fn run(config: Config) -> Result<(), Box> { - let contents = fs::read_to_string(config.file_path)?[3]; +2 fn run(config: Config) -> Result<(), Box> { + let contents = fs::read_to_string(config.file_path)3 ?; println!("With text:\n{contents}"); - [4] Ok(()) + 4 Ok(()) } ``` -Listing 12-12: Changing the `run` function to return `Result` +Changing the `run` function to return `Result` We’ve made three significant changes here. First, we changed the return type of -the `run` function to `Result<(), Box>` [2]. This function previously -returned the unit type, `()`, and we keep that as the value returned in the -`Ok` case. +the `run` function to `Result<(), Box>` [2]. This function +previously returned the unit type, `()`, and we keep that as the value returned +in the `Ok` case. For the error type, we used the *trait object* `Box` (and we’ve -brought `std::error::Error` into scope with a `use` statement at the top [1]). -We’ll cover trait objects in Chapter 17. For now, just know that `Box` means the function will return a type that implements the `Error` -trait, but we don’t have to specify what particular type the return value will -be. This gives us flexibility to return error values that may be of different -types in different error cases. The `dyn` keyword is short for “dynamic.” +brought `std::error::Error` into scope with a `use` statement at the top +[1]). We’ll cover trait objects in Chapter 17. For now, just know that +`Box` means the function will return a type that implements the +`Error` trait, but we don’t have to specify what particular type the return +value will be. This gives us flexibility to return error values that may be of +different types in different error cases. The `dyn` keyword is short for +“dynamic.” Second, we’ve removed the call to `expect` in favor of the `?` operator [3], as we talked about in Chapter 9. Rather than `panic!` on an error, `?` will return @@ -812,8 +804,8 @@ the error value from the current function for the caller to handle. Third, the `run` function now returns an `Ok` value in the success case [4]. We’ve declared the `run` function’s success type as `()` in the signature, which means we need to wrap the unit type value in the `Ok` value. This -`Ok(())` syntax might look a bit strange at first, but using `()` like this is -the idiomatic way to indicate that we’re calling `run` for its side effects +`Ok(())` syntax might look a bit strange at first, but using `()` like this +is the idiomatic way to indicate that we’re calling `run` for its side effects only; it doesn’t return a value we need. When you run this code, it will compile but will display a warning: @@ -834,7 +826,7 @@ might indicate that an error occurred. But we’re not checking to see whether o not there was an error, and the compiler reminds us that we probably meant to have some error-handling code here! Let’s rectify that problem now. -#### Handling Errors Returned from `run` in `main` +#### Handling Errors Returned from run in main We’ll check for errors and handle them using a technique similar to one we used with `Config::build` in Listing 12-10, but with a slight difference: @@ -843,7 +835,7 @@ Filename: src/main.rs ``` fn main() { - // --snip-- + --snip-- println!("Searching for {}", config.query); println!("In file {}", config.file_path); @@ -856,11 +848,11 @@ fn main() { ``` We use `if let` rather than `unwrap_or_else` to check whether `run` returns an -`Err` value and call `process::exit(1)` if it does. The `run` function doesn’t -return a value that we want to `unwrap` in the same way that `Config::build` -returns the `Config` instance. Because `run` returns `()` in the success case, -we only care about detecting an error, so we don’t need `unwrap_or_else` to -return the unwrapped value, which would only be `()`. +`Err` value and call `process::exit(1)` if it does. The `run` function +doesn’t return a value that we want to `unwrap` in the same way that +`Config::build` returns the `Config` instance. Because `run` returns `()` in +the success case, we only care about detecting an error, so we don’t need +`unwrap_or_else` to return the unwrapped value, which would only be `()`. The bodies of the `if let` and the `unwrap_or_else` functions are the same in both cases: we print the error and exit. @@ -868,8 +860,9 @@ both cases: we print the error and exit. ### Splitting Code into a Library Crate Our `minigrep` project is looking good so far! Now we’ll split the -*src/main.rs* file and put some code into the *src/lib.rs* file. That way we -can test the code and have a *src/main.rs* file with fewer responsibilities. +*src/main.rs* file and put some code into the *src/lib.rs* file. That way +we can test the code and have a *src/main.rs* file with fewer +responsibilities. Let’s move all the code that isn’t the `main` function from *src/main.rs* to *src/lib.rs*: @@ -878,10 +871,9 @@ Let’s move all the code that isn’t the `main` function from *src/main.rs* to * The relevant `use` statements * The definition of `Config` * The `Config::build` function definition - -The contents of *src/lib.rs* should have the signatures shown in Listing 12-13 -(we’ve omitted the bodies of the functions for brevity). Note that this won’t -compile until we modify *src/main.rs* in Listing 12-14. +The contents of *src/lib.rs* should have the signatures shown in Listing +12-13 (we’ve omitted the bodies of the functions for brevity). Note that this +won’t compile until we modify *src/main.rs* in Listing 12-14. Filename: src/lib.rs @@ -896,16 +888,16 @@ pub struct Config { impl Config { pub fn build(args: &[String]) -> Result { - // --snip-- + --snip-- } } pub fn run(config: Config) -> Result<(), Box> { - // --snip-- + --snip-- } ``` -Listing 12-13: Moving `Config` and `run` into *src/lib.rs* +Moving `Config` and `run` into *src/lib.rs* We’ve made liberal use of the `pub` keyword: on `Config`, on its fields and its `build` method, and on the `run` function. We now have a library crate that has @@ -923,20 +915,19 @@ use std::process; use minigrep::Config; fn main() { - // --snip-- + --snip-- if let Err(e) = minigrep::run(config) { - // --snip-- + --snip-- } } ``` -Listing 12-14: Using the `minigrep` library crate in *src/main.rs* +Using the `minigrep` library crate in *src/main.rs* We add a `use minigrep::Config` line to bring the `Config` type from the library crate into the binary crate’s scope, and we prefix the `run` function with our crate name. Now all the functionality should be connected and should -work. Run the program with `cargo run` and make sure everything works -correctly. +work. Run the program with `cargo run` and make sure everything works correctly. Whew! That was a lot of work, but we’ve set ourselves up for success in the future. Now it’s much easier to handle errors, and we’ve made the code more @@ -949,21 +940,20 @@ write some tests! ## Developing the Library’s Functionality with Test-Driven Development Now that we’ve extracted the logic into *src/lib.rs* and left the argument -collecting and error handling in *src/main.rs*, it’s much easier to write tests -for the core functionality of our code. We can call functions directly with -various arguments and check return values without having to call our binary -from the command line. +collecting and error handling in *src/main.rs*, it’s much easier to write +tests for the core functionality of our code. We can call functions directly +with various arguments and check return values without having to call our +binary from the command line. -In this section, we’ll add the searching logic to the `minigrep` program -using the test-driven development (TDD) process with the following steps: +In this section, we’ll add the searching logic to the `minigrep` program using +the test-driven development (TDD) process with the following steps: 1. Write a test that fails and run it to make sure it fails for the reason you - expect. -2. Write or modify just enough code to make the new test pass. -3. Refactor the code you just added or changed and make sure the tests - continue to pass. -4. Repeat from step 1! - +expect. +1. Write or modify just enough code to make the new test pass. +1. Refactor the code you just added or changed and make sure the tests continue +to pass. +1. Repeat from step 1! Though it’s just one of many ways to write software, TDD can help drive code design. Writing the test before you write the code that makes the test pass helps to maintain high test coverage throughout the process. @@ -975,13 +965,13 @@ lines that match the query. We’ll add this functionality in a function called ### Writing a Failing Test -Because we don’t need them anymore, let’s remove the `println!` statements from -*src/lib.rs* and *src/main.rs* that we used to check the program’s behavior. -Then, in *src/lib.rs*, add a `tests` module with a test function, as we did in -Chapter 11. The test function specifies the behavior we want the `search` -function to have: it will take a query and the text to search, and it will -return only the lines from the text that contain the query. Listing 12-15 shows -this test, which won’t compile yet. +Because we don’t need them anymore, let’s remove the `println!` statements +from *src/lib.rs* and *src/main.rs* that we used to check the program’s +behavior. Then, in *src/lib.rs*, add a `tests` module with a test function, +as we did in Chapter 11. The test function specifies the behavior we want the +`search` function to have: it will take a query and the text to search, and it +will return only the lines from the text that contain the query. Listing 12-15 +shows this test, which won’t compile yet. Filename: src/lib.rs @@ -998,12 +988,15 @@ Rust: safe, fast, productive. Pick three."; - assert_eq!(vec!["safe, fast, productive."], search(query, contents)); + assert_eq!( + vec!["safe, fast, productive."], + search(query, contents) + ); } } ``` -Listing 12-15: Creating a failing test for the `search` function we wish we had +Creating a failing test for the `search` function we wish we had This test searches for the string `"duct"`. The text we’re searching is three lines, only one of which contains `"duct"` (Note that the backslash after the @@ -1027,8 +1020,7 @@ pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { } ``` -Listing 12-16: Defining just enough of the `search` function so our test will -compile +Defining just enough of the `search` function so our test will compile Notice that we need to define an explicit lifetime `'a` in the signature of `search` and use that lifetime with the `contents` argument and the return @@ -1052,9 +1044,11 @@ error[E0106]: missing lifetime specifier --> src/lib.rs:28:51 | 28 | pub fn search(query: &str, contents: &str) -> Vec<&str> { - | ---- ---- ^ expected named lifetime parameter + | ---- ---- ^ expected named +lifetime parameter | - = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `query` or `contents` + = help: this function's return type contains a borrowed value, but the +signature does not say whether it is borrowed from `query` or `contents` help: consider introducing a named lifetime parameter | 28 | pub fn search<'a>(query: &'a str, contents: &'a str) -> Vec<&'a str> { @@ -1095,7 +1089,8 @@ note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace failures: tests::one_result -test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s error: test failed, to rerun pass '--lib' ``` @@ -1107,15 +1102,14 @@ Great, the test fails, exactly as we expected. Let’s get the test to pass! Currently, our test is failing because we always return an empty vector. To fix that and implement `search`, our program needs to follow these steps: -* Iterate through each line of the contents. -* Check whether the line contains our query string. -* If it does, add it to the list of values we’re returning. -* If it doesn’t, do nothing. -* Return the list of results that match. - +1. Iterate through each line of the contents. +1. Check whether the line contains our query string. +1. If it does, add it to the list of values we’re returning. +1. If it doesn’t, do nothing. +1. Return the list of results that match. Let’s work through each step, starting with iterating through lines. -#### Iterating Through Lines with the `lines` Method +#### Iterating Through Lines with the lines Method Rust has a helpful method to handle line-by-line iteration of strings, conveniently named `lines`, that works as shown in Listing 12-17. Note this @@ -1131,7 +1125,7 @@ pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { } ``` -Listing 12-17: Iterating through each line in `contents` +Iterating through each line in `contents` The `lines` method returns an iterator. We’ll talk about iterators in depth in Chapter 13, but recall that you saw this way of using an iterator in Listing @@ -1157,8 +1151,7 @@ pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { } ``` -Listing 12-18: Adding functionality to see whether the line contains the string -in `query` +Adding functionality to see whether the line contains the string in `query` At the moment, we’re building up functionality. To get it to compile, we need to return a value from the body as we indicated we would in the function @@ -1187,7 +1180,7 @@ pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { } ``` -Listing 12-19: Storing the lines that match so we can return them +Storing the lines that match so we can return them Now the `search` function should return only the lines that contain `query`, and our test should pass. Let’s run the test: @@ -1198,7 +1191,8 @@ $ cargo test running 1 test test tests::one_result ... ok -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s ``` Our test passed, so we know it works! @@ -1210,7 +1204,7 @@ but it doesn’t take advantage of some useful features of iterators. We’ll return to this example in Chapter 13, where we’ll explore iterators in detail, and look at how to improve it. -#### Using the `search` Function in the `run` Function +#### Using the search Function in the run Function Now that the `search` function is working and tested, we need to call `search` from our `run` function. We need to pass the `config.query` value and the @@ -1281,7 +1275,7 @@ users enter it each time they want it to apply, but by instead making it an environment variable, we allow our users to set the environment variable once and have all their searches be case insensitive in that terminal session. -### Writing a Failing Test for the Case-Insensitive `search` Function +### Writing a Failing Test for the Case-Insensitive search Function We first add a new `search_case_insensitive` function that will be called when the environment variable has a value. We’ll continue to follow the TDD process, @@ -1326,8 +1320,7 @@ Trust me."; } ``` -Listing 12-20: Adding a new failing test for the case-insensitive function -we’re about to add +Adding a new failing test for the case-insensitive function we’re about to add Note that we’ve edited the old test’s `contents` too. We’ve added a new line with the text `"Duct tape."` using a capital D that shouldn’t match the query @@ -1336,16 +1329,16 @@ in this way helps ensure that we don’t accidentally break the case-sensitive search functionality that we’ve already implemented. This test should pass now and should continue to pass as we work on the case-insensitive search. -The new test for the case-*insensitive* search uses `"rUsT"` as its query. In -the `search_case_insensitive` function we’re about to add, the query `"rUsT"` -should match the line containing `"Rust:"` with a capital R and match the line -`"Trust me."` even though both have different casing from the query. This is -our failing test, and it will fail to compile because we haven’t yet defined -the `search_case_insensitive` function. Feel free to add a skeleton +The new test for the case-*insensitive* search uses `"rUsT"` as its query. +In the `search_case_insensitive` function we’re about to add, the query +`"rUsT"` should match the line containing `"Rust:"` with a capital R and +match the line `"Trust me."` even though both have different casing from the +query. This is our failing test, and it will fail to compile because we haven’t +yet defined the `search_case_insensitive` function. Feel free to add a skeleton implementation that always returns an empty vector, similar to the way we did for the `search` function in Listing 12-16 to see the test compile and fail. -### Implementing the `search_case_insensitive` Function +### Implementing the search_case_insensitive Function The `search_case_insensitive` function, shown in Listing 12-21, will be almost the same as the `search` function. The only difference is that we’ll lowercase @@ -1359,11 +1352,11 @@ pub fn search_case_insensitive<'a>( query: &str, contents: &'a str, ) -> Vec<&'a str> { - [1] let query = query.to_lowercase(); + 1 let query = query.to_lowercase(); let mut results = Vec::new(); for line in contents.lines() { - if line.to_lowercase()[2].contains(&query[3]) { + if 2 line.to_lowercase().contains(3 &query) { results.push(line); } } @@ -1372,25 +1365,25 @@ pub fn search_case_insensitive<'a>( } ``` -Listing 12-21: Defining the `search_case_insensitive` function to lowercase the -query and the line before comparing them +Defining the `search_case_insensitive` function to lowercase the query and the +line before comparing them First, we lowercase the `query` string and store it in a shadowed variable with the same name [1]. Calling `to_lowercase` on the query is necessary so no -matter whether the user’s query is `"rust"`, `"RUST"`, `"Rust"`, or `"rUsT"`, -we’ll treat the query as if it were `"rust"` and be insensitive to the case. -While `to_lowercase` will handle basic Unicode, it won’t be 100% accurate. If -we were writing a real application, we’d want to do a bit more work here, but -this section is about environment variables, not Unicode, so we’ll leave it at -that here. +matter whether the user’s query is `"rust"`, `"RUST"`, `"Rust"`, or +`"rUsT"`, we’ll treat the query as if it were `"rust"` and be insensitive +to the case. While `to_lowercase` will handle basic Unicode, it won’t be 100% +accurate. If we were writing a real application, we’d want to do a bit more +work here, but this section is about environment variables, not Unicode, so +we’ll leave it at that here. Note that `query` is now a `String` rather than a string slice, because calling `to_lowercase` creates new data rather than referencing existing data. Say the -query is `"rUsT"`, as an example: that string slice doesn’t contain a lowercase -`u` or `t` for us to use, so we have to allocate a new `String` containing -`"rust"`. When we pass `query` as an argument to the `contains` method now, we -need to add an ampersand [3] because the signature of `contains` is defined to -take a string slice. +query is `"rUsT"`, as an example: that string slice doesn’t contain a +lowercase `u` or `t` for us to use, so we have to allocate a new `String` +containing `"rust"`. When we pass `query` as an argument to the `contains` +method now, we need to add an ampersand [3] because the signature of `contains` +is defined to take a string slice. Next, we add a call to `to_lowercase` on each `line` to lowercase all characters [2]. Now that we’ve converted `line` and `query` to lowercase, we’ll @@ -1403,7 +1396,8 @@ running 2 tests test tests::case_insensitive ... ok test tests::case_sensitive ... ok -test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s ``` Great! They passed. Now, let’s call the new `search_case_insensitive` function @@ -1447,21 +1441,21 @@ pub fn run(config: Config) -> Result<(), Box> { } ``` -Listing 12-22: Calling either `search` or `search_case_insensitive` based on -the value in `config.ignore_case` +Calling either `search` or `search_case_insensitive` based on the value in +`config.ignore_case` Finally, we need to check for the environment variable. The functions for working with environment variables are in the `env` module in the standard -library, so we bring that module into scope at the top of *src/lib.rs*. Then -we’ll use the `var` function from the `env` module to check to see if any value -has been set for an environment variable named `IGNORE_CASE`, as shown in +library, so we bring that module into scope at the top of *src/lib.rs*. +Then we’ll use the `var` function from the `env` module to check to see if any +value has been set for an environment variable named `IGNORE_CASE`, as shown in Listing 12-23. Filename: src/lib.rs ``` use std::env; -// --snip-- +--snip-- impl Config { pub fn build(args: &[String]) -> Result { @@ -1483,8 +1477,7 @@ impl Config { } ``` -Listing 12-23: Checking for any value in an environment variable named -`IGNORE_CASE` +Checking for any value in an environment variable named `IGNORE_CASE` Here, we create a new variable `ignore_case`. To set its value, we call the `env::var` function and pass it the name of the `IGNORE_CASE` environment @@ -1518,8 +1511,8 @@ Are you nobody, too? How dreary to be somebody! ``` -Looks like that still works! Now, let’s run the program with `IGNORE_CASE` -set to `1` but with the same query `to`. +Looks like that still works! Now, let’s run the program with `IGNORE_CASE` set +to `1` but with the same query `to`. ``` $ IGNORE_CASE=1 cargo run -- to poem.txt @@ -1532,8 +1525,8 @@ run the program as separate commands: PS> $Env:IGNORE_CASE=1; cargo run -- to poem.txt ``` -This will make `IGNORE_CASE` persist for the remainder of your shell -session. It can be unset with the `Remove-Item` cmdlet: +This will make `IGNORE_CASE` persist for the remainder of your shell session. +It can be unset with the `Remove-Item` cmdlet: ``` PS> Remove-Item Env:IGNORE_CASE @@ -1591,8 +1584,8 @@ standard output stream to a file. Our program is not currently well-behaved: we’re about to see that it saves the error message output to a file instead! To demonstrate this behavior, we’ll run the program with `>` and the file path, -*output.txt*, that we want to redirect the standard output stream to. We won’t -pass any arguments, which should cause an error: +*output.txt*, that we want to redirect the standard output stream to. We +won’t pass any arguments, which should cause an error: ``` $ cargo run > output.txt @@ -1616,9 +1609,9 @@ data from a successful run ends up in the file. We’ll change that. We’ll use the code in Listing 12-24 to change how error messages are printed. Because of the refactoring we did earlier in this chapter, all the code that prints error messages is in one function, `main`. The standard library provides -the `eprintln!` macro that prints to the standard error stream, so let’s change -the two places we were calling `println!` to print errors to use `eprintln!` -instead. +the `eprintln!` macro that prints to the standard error stream, so let’s +change the two places we were calling `println!` to print errors to use +`eprintln!` instead. Filename: src/main.rs @@ -1633,13 +1626,14 @@ fn main() { if let Err(e) = minigrep::run(config) { eprintln!("Application error: {e}"); + process::exit(1); } } ``` -Listing 12-24: Writing error messages to standard error instead of standard -output using `eprintln!` +Writing error messages to standard error instead of standard output using +`eprintln!` Let’s now run the program again in the same way, without any arguments and redirecting standard output with `>`: @@ -1649,8 +1643,8 @@ $ cargo run > output.txt Problem parsing arguments: not enough arguments ``` -Now we see the error onscreen and *output.txt* contains nothing, which is the -behavior we expect of command line programs. +Now we see the error onscreen and *output.txt* contains nothing, which is +the behavior we expect of command line programs. Let’s run the program again with arguments that don’t cause an error but still redirect standard output to a file, like so: @@ -1676,11 +1670,12 @@ and standard error for error output as appropriate. This chapter recapped some of the major concepts you’ve learned so far and covered how to perform common I/O operations in Rust. By using command line -arguments, files, environment variables, and the `eprintln!` macro for printing -errors, you’re now prepared to write command line applications. Combined with -the concepts in previous chapters, your code will be well organized, store data -effectively in the appropriate data structures, handle errors nicely, and be -well tested. +arguments, files, environment variables, and the `eprintln!` macro for +printing errors, you’re now prepared to write command line applications. +Combined with the concepts in previous chapters, your code will be well +organized, store data effectively in the appropriate data structures, handle +errors nicely, and be well tested. Next, we’ll explore some Rust features that were influenced by functional languages: closures and iterators. + diff --git a/nostarch/chapter13.md b/nostarch/chapter13.md index 8f7717ccb5..9a4c3d132f 100644 --- a/nostarch/chapter13.md +++ b/nostarch/chapter13.md @@ -1,8 +1,3 @@ - [TOC] @@ -24,8 +19,7 @@ More specifically, we’ll cover: * *Iterators*, a way of processing a series of elements * How to use closures and iterators to improve the I/O project in Chapter 12 * The performance of closures and iterators (Spoiler alert: they’re faster than - you might think!) - +you might think!) We’ve already covered some other Rust features, such as pattern matching and enums, that are also influenced by the functional style. Because mastering closures and iterators is an important part of writing idiomatic, fast Rust @@ -56,9 +50,9 @@ enum called `ShirtColor` that has the variants `Red` and `Blue` (limiting the number of colors available for simplicity). We represent the company’s inventory with an `Inventory` struct that has a field named `shirts` that contains a `Vec` representing the shirt colors currently in stock. -The method `giveaway` defined on `Inventory` gets the optional shirt -color preference of the free shirt winner, and returns the shirt color the -person will get. This setup is shown in Listing 13-1: +The method `giveaway` defined on `Inventory` gets the optional shirt color +preference of the free shirt winner, and returns the shirt color the person +will get. This setup is shown in Listing 13-1: Filename: src/main.rs @@ -74,8 +68,11 @@ struct Inventory { } impl Inventory { - fn giveaway(&self, user_preference: Option) -> ShirtColor { - user_preference.unwrap_or_else(|| self.most_stocked()) [1] + fn giveaway( + &self, + user_preference: Option + ) -> ShirtColor { +1 user_preference.unwrap_or_else(|| self.most_stocked()) } fn most_stocked(&self) -> ShirtColor { @@ -98,18 +95,22 @@ impl Inventory { fn main() { let store = Inventory { - shirts: vec![ShirtColor::Blue, ShirtColor::Red, ShirtColor::Blue], [2] + 2 shirts: vec![ + ShirtColor::Blue, + ShirtColor::Red, + ShirtColor::Blue + ], }; let user_pref1 = Some(ShirtColor::Red); - let giveaway1 = store.giveaway(user_pref1); [3] + 3 let giveaway1 = store.giveaway(user_pref1); println!( "The user with preference {:?} gets {:?}", user_pref1, giveaway1 ); let user_pref2 = None; - let giveaway2 = store.giveaway(user_pref2); [4] + 4 let giveaway2 = store.giveaway(user_pref2); println!( "The user with preference {:?} gets {:?}", user_pref2, giveaway2 @@ -117,7 +118,7 @@ fn main() { } ``` -Listing 13-1: Shirt company giveaway situation +Shirt company giveaway situation The `store` defined in `main` has two blue shirts and one red shirt remaining to distribute for this limited-edition promotion [2]. We call the `giveaway` @@ -128,8 +129,8 @@ Again, this code could be implemented in many ways, and here, to focus on closures, we’ve stuck to concepts you’ve already learned except for the body of the `giveaway` method that uses a closure. In the `giveaway` method, we get the user preference as a parameter of type `Option` and call the -`unwrap_or_else` method on `user_preference` [1]. The `unwrap_or_else` method on -`Option` is defined by the standard library. It takes one argument: a +`unwrap_or_else` method on `user_preference` [1]. The `unwrap_or_else` method +on `Option` is defined by the standard library. It takes one argument: a closure without any arguments that returns a value `T` (the same type stored in the `Some` variant of the `Option`, in this case `ShirtColor`). If the `Option` is the `Some` variant, `unwrap_or_else` returns the value from @@ -196,8 +197,8 @@ let expensive_closure = |num: u32| -> u32 { }; ``` -Listing 13-2: Adding optional type annotations of the parameter and return -value types in the closure +Adding optional type annotations of the parameter and return value types in the +closure With type annotations added, the syntax of closures looks more similar to the syntax of functions. Here we define a function that adds 1 to its parameter and @@ -241,8 +242,7 @@ let s = example_closure(String::from("hello")); let n = example_closure(5); ``` -Listing 13-3: Attempting to call a closure whose types are inferred with two -different types +Attempting to call a closure whose types are inferred with two different types The compiler gives us this error: @@ -251,7 +251,8 @@ error[E0308]: mismatched types --> src/main.rs:5:29 | 5 | let n = example_closure(5); - | ^- help: try using a conversion method: `.to_string()` + | ^- help: try using a conversion method: +`.to_string()` | | | expected struct `String`, found integer ``` @@ -280,16 +281,15 @@ fn main() { let list = vec![1, 2, 3]; println!("Before defining closure: {:?}", list); - [1] let only_borrows = || println!("From closure: {:?}", list); + 1 let only_borrows = || println!("From closure: {:?}", list); println!("Before calling closure: {:?}", list); - only_borrows(); [2] + only_borrows(); 2 println!("After calling closure: {:?}", list); } ``` -Listing 13-4: Defining and calling a closure that captures an immutable -reference +Defining and calling a closure that captures an immutable reference This example also illustrates that a variable can bind to a closure definition [1], and we can later call the closure by using the variable name and @@ -324,7 +324,7 @@ fn main() { } ``` -Listing 13-5: Defining and calling a closure that captures a mutable reference +Defining and calling a closure that captures a mutable reference This code compiles, runs, and prints: @@ -361,40 +361,40 @@ fn main() { let list = vec![1, 2, 3]; println!("Before defining closure: {:?}", list); - [1] thread::spawn(move || { - [2] println!("From thread: {:?}", list) + 1 thread::spawn(move || { + 2 println!("From thread: {:?}", list) }).join().unwrap(); } ``` -Listing 13-6: Using `move` to force the closure for the thread to take -ownership of `list` +Using `move` to force the closure for the thread to take ownership of `list` We spawn a new thread, giving the thread a closure to run as an argument. The closure body prints out the list. In Listing 13-4, the closure only captured -`list` using an immutable reference because that's the least amount of access +`list` using an immutable reference because that’s the least amount of access to `list` needed to print it. In this example, even though the closure body -still only needs an immutable reference, we need to specify that `list` should -be moved into the closure by putting the `move` keyword at the beginning of the -closure definition. The new thread might finish before the rest of the main -thread finishes, or the main thread might finish first. If the main thread -maintained ownership of `list` but ended before the new thread did and dropped -`list`, the immutable reference in the thread would be invalid. Therefore, the -compiler requires that `list` be moved into the closure given to the new thread -so the reference will be valid. Try removing the `move` keyword or using `list` -in the main thread after the closure is defined to see what compiler errors you -get! - -### Moving Captured Values Out of Closures and the `Fn` Traits +still only needs an immutable reference [2], we need to specify that `list` +should be moved into the closure by putting the `move` keyword [1] at the +beginning of the closure definition. The new thread might finish before the +rest of the main thread finishes, or the main thread might finish first. If the +main thread maintains ownership of `list` but ends before the new thread and +drops `list`, the immutable reference in the thread would be invalid. +Therefore, the compiler requires that `list` be moved into the closure given to +the new thread so the reference will be valid. Try removing the `move` keyword +or using `list` in the main thread after the closure is defined to see what +compiler errors you get! + +### Moving Captured Values Out of Closures and the Fn Traits Once a closure has captured a reference or captured ownership of a value from the environment where the closure is defined (thus affecting what, if anything, is moved *into* the closure), the code in the body of the closure defines what happens to the references or values when the closure is evaluated later (thus -affecting what, if anything, is moved *out of* the closure). A closure body can -do any of the following: move a captured value out of the closure, mutate the -captured value, neither move nor mutate the value, or capture nothing from the -environment to begin with. +affecting what, if anything, is moved *out of* the closure). + +A closure body can do any of the following: move a captured value out of the +closure, mutate the captured value, neither move nor mutate the value, or +capture nothing from the environment to begin with. The way a closure captures and handles values from the environment affects which traits the closure implements, and traits are how functions and structs @@ -403,18 +403,17 @@ implement one, two, or all three of these `Fn` traits, in an additive fashion, depending on how the closure’s body handles the values: 1. `FnOnce` applies to closures that can be called once. All closures implement - at least this trait, because all closures can be called. A closure that - moves captured values out of its body will only implement `FnOnce` and none - of the other `Fn` traits, because it can only be called once. -2. `FnMut` applies to closures that don’t move captured values out of their - body, but that might mutate the captured values. These closures can be - called more than once. -3. `Fn` applies to closures that don’t move captured values out of their body - and that don’t mutate captured values, as well as closures that capture - nothing from their environment. These closures can be called more than once - without mutating their environment, which is important in cases such as - calling a closure multiple times concurrently. - +at least this trait, because all closures can be called. A closure that moves +captured values out of its body will only implement `FnOnce` and none of the +other `Fn` traits, because it can only be called once. +1. `FnMut` applies to closures that don’t move captured values out of their +body, but that might mutate the captured values. These closures can be called +more than once. +1. `Fn` applies to closures that don’t move captured values out of their body +and that don’t mutate captured values, as well as closures that capture nothing +from their environment. These closures can be called more than once without +mutating their environment, which is important in cases such as calling a +closure multiple times concurrently. Let’s look at the definition of the `unwrap_or_else` method on `Option` that we used in Listing 13-1: @@ -450,12 +449,12 @@ called. If the `Option` is `None`, `f` will be called once. Because all closures implement `FnOnce`, `unwrap_or_else` accepts the most different kinds of closures and is as flexible as it can be. -> Note: Functions can implement all three of the `Fn` traits too. If what we -> want to do doesn’t require capturing a value from the environment, we can use -> the name of a function rather than a closure where we need something that -> implements one of the `Fn` traits. For example, on an `Option>` value, -> we could call `unwrap_or_else(Vec::new)` to get a new, empty vector if the -> value is `None`. +> NoteFunctions can implement all three of the `Fn` traits too. If what we want +to do doesn’t require capturing a value from the environment, we can use the +name of a function rather than a closure where we need something that +implements one of the `Fn` traits. For example, on an `Option>` value, +we could call `unwrap_or_else(Vec::new)` to get a new, empty vector if the +value is `None`. Now let’s look at the standard library method `sort_by_key` defined on slices, to see how that differs from `unwrap_or_else` and why `sort_by_key` uses @@ -487,7 +486,7 @@ fn main() { } ``` -Listing 13-7: Using `sort_by_key` to order rectangles by width +Using `sort_by_key` to order rectangles by width This code prints: @@ -544,7 +543,7 @@ fn main() { } ``` -Listing 13-8: Attempting to use an `FnOnce` closure with `sort_by_key` +Attempting to use an `FnOnce` closure with `sort_by_key` This is a contrived, convoluted way (that doesn’t work) to try and count the number of times `sort_by_key` gets called when sorting `list`. This code @@ -559,7 +558,8 @@ that `value` can’t be moved out of the closure because the closure must implement `FnMut`: ``` -error[E0507]: cannot move out of `value`, a captured variable in an `FnMut` closure +error[E0507]: cannot move out of `value`, a captured variable in an `FnMut` +closure --> src/main.rs:18:30 | 15 | let value = String::from("by key called"); @@ -568,7 +568,8 @@ error[E0507]: cannot move out of `value`, a captured variable in an `FnMut` clos 17 | list.sort_by_key(|r| { | ______________________- 18 | | sort_operations.push(value); - | | ^^^^^ move occurs because `value` has type `String`, which does not implement the `Copy` trait + | | ^^^^^ move occurs because `value` has type +`String`, which does not implement the `Copy` trait 19 | | r.width 20 | | }); | |_____- captured by this `FnMut` closure @@ -608,7 +609,7 @@ fn main() { } ``` -Listing 13-9: Using an `FnMut` closure with `sort_by_key` is allowed +Using an `FnMut` closure with `sort_by_key` is allowed The `Fn` traits are important when defining or using functions or types that make use of closures. In the next section, we’ll discuss iterators. Many @@ -634,7 +635,7 @@ let v1 = vec![1, 2, 3]; let v1_iter = v1.iter(); ``` -Listing 13-10: Creating an iterator +Creating an iterator The iterator is stored in the `v1_iter` variable. Once we’ve created an iterator, we can use it in a variety of ways. In Listing 3-5 in Chapter 3, we @@ -657,7 +658,7 @@ for val in v1_iter { } ``` -Listing 13-11: Using an iterator in a `for` loop +Using an iterator in a `for` loop In languages that don’t have iterators provided by their standard libraries, you would likely write this same functionality by starting a variable at index @@ -670,7 +671,7 @@ could potentially mess up. Iterators give you more flexibility to use the same logic with many different kinds of sequences, not just data structures you can index into, like vectors. Let’s examine how iterators do that. -### The `Iterator` Trait and the `next` Method +### The Iterator Trait and the next Method All iterators implement a trait named `Iterator` that is defined in the standard library. The definition of the trait looks like this: @@ -717,7 +718,7 @@ fn iterator_demonstration() { } ``` -Listing 13-12: Calling the `next` method on an iterator +Calling the `next` method on an iterator Note that we needed to make `v1_iter` mutable: calling the `next` method on an iterator changes internal state that the iterator uses to keep track of where @@ -764,8 +765,7 @@ fn iterator_sum() { } ``` -Listing 13-13: Calling the `sum` method to get the total of all items in the -iterator +Calling the `sum` method to get the total of all items in the iterator We aren’t allowed to use `v1_iter` after the call to `sum` because `sum` takes ownership of the iterator we call it on. @@ -776,7 +776,7 @@ ownership of the iterator we call it on. consume the iterator. Instead, they produce different iterators by changing some aspect of the original iterator. -Listing 13-17 shows an example of calling the iterator adaptor method `map`, +Listing 13-14 shows an example of calling the iterator adaptor method `map`, which takes a closure to call on each item as the items are iterated through. The `map` method returns a new iterator that produces the modified items. The closure here creates a new iterator in which each item from the vector will be @@ -790,7 +790,7 @@ let v1: Vec = vec![1, 2, 3]; v1.iter().map(|x| x + 1); ``` -Listing 13-14: Calling the iterator adaptor `map` to create a new iterator +Calling the iterator adaptor `map` to create a new iterator However, this code produces a warning: @@ -828,8 +828,8 @@ let v2: Vec<_> = v1.iter().map(|x| x + 1).collect(); assert_eq!(v2, vec![2, 3, 4]); ``` -Listing 13-15: Calling the `map` method to create a new iterator and then -calling the `collect` method to consume the new iterator and create a vector +Calling the `map` method to create a new iterator and then calling the +`collect` method to consume the new iterator and create a vector Because `map` takes a closure, we can specify any operation we want to perform on each item. This is a great example of how closures let you customize some @@ -908,25 +908,24 @@ mod tests { } ``` -Listing 13-16: Using the `filter` method with a closure that captures -`shoe_size` +Using the `filter` method with a closure that captures `shoe_size` The `shoes_in_size` function takes ownership of a vector of shoes and a shoe size as parameters. It returns a vector containing only shoes of the specified size. -In the body of `shoes_in_size`, we call `into_iter` to create an iterator -that takes ownership of the vector. Then we call `filter` to adapt that -iterator into a new iterator that only contains elements for which the closure -returns `true`. +In the body of `shoes_in_size`, we call `into_iter` to create an iterator that +takes ownership of the vector. Then we call `filter` to adapt that iterator +into a new iterator that only contains elements for which the closure returns +`true`. The closure captures the `shoe_size` parameter from the environment and compares the value with each shoe’s size, keeping only shoes of the size specified. Finally, calling `collect` gathers the values returned by the adapted iterator into a vector that’s returned by the function. -The test shows that when we call `shoes_in_size`, we get back only shoes -that have the same size as the value we specified. +The test shows that when we call `shoes_in_size`, we get back only shoes that +have the same size as the value we specified. ## Improving Our I/O Project @@ -935,7 +934,7 @@ Chapter 12 by using iterators to make places in the code clearer and more concise. Let’s look at how iterators can improve our implementation of the `Config::build` function and the `search` function. -### Removing a `clone` Using an Iterator +### Removing a clone Using an Iterator In Listing 12-6, we added code that took a slice of `String` values and created an instance of the `Config` struct by indexing into the slice and cloning the @@ -966,7 +965,7 @@ impl Config { } ``` -Listing 13-17: Reproduction of the `Config::build` function from Listing 12-23 +Reproduction of the `Config::build` function from Listing 12-23 At the time, we said not to worry about the inefficient `clone` calls because we would remove them in the future. Well, that time is now! @@ -1001,7 +1000,7 @@ fn main() { process::exit(1); }); - // --snip-- + --snip-- } ``` @@ -1018,11 +1017,11 @@ fn main() { process::exit(1); }); - // --snip-- + --snip-- } ``` -Listing 13-18: Passing the return value of `env::args` to `Config::build` +Passing the return value of `env::args` to `Config::build` The `env::args` function returns an iterator! Rather than collecting the iterator values into a vector and then passing a slice to `Config::build`, now @@ -1041,10 +1040,10 @@ impl Config { pub fn build( mut args: impl Iterator, ) -> Result { - // --snip-- + --snip-- ``` -Listing 13-19: Updating the signature of `Config::build` to expect an iterator +Updating the signature of `Config::build` to expect an iterator The standard library documentation for the `env::args` function shows that the type of the iterator it returns is `std::env::Args`, and that type implements @@ -1060,7 +1059,7 @@ Because we’re taking ownership of `args` and we’ll be mutating `args` by iterating over it, we can add the `mut` keyword into the specification of the `args` parameter to make it mutable. -#### Using `Iterator` Trait Methods Instead of Indexing +#### Using Iterator Trait Methods Instead of Indexing Next, we’ll fix the body of `Config::build`. Because `args` implements the `Iterator` trait, we know we can call the `next` method on it! Listing 13-20 @@ -1096,7 +1095,7 @@ impl Config { } ``` -Listing 13-20: Changing the body of `Config::build` to use iterator methods +Changing the body of `Config::build` to use iterator methods Remember that the first value in the return value of `env::args` is the name of the program. We want to ignore that and get to the next value, so first we call @@ -1127,7 +1126,7 @@ pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { } ``` -Listing 13-21: The implementation of the `search` function from Listing 12-19 +The implementation of the `search` function from Listing 12-19 We can write this code in a more concise way using iterator adaptor methods. Doing so also lets us avoid having a mutable intermediate `results` vector. The @@ -1147,8 +1146,7 @@ pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { } ``` -Listing 13-22: Using iterator adaptor methods in the implementation of the -`search` function +Using iterator adaptor methods in the implementation of the `search` function Recall that the purpose of the `search` function is to return all lines in `contents` that contain the `query`. Similar to the `filter` example in Listing @@ -1206,12 +1204,10 @@ imposes no additional runtime overhead. This is analogous to how Bjarne Stroustrup, the original designer and implementor of C++, defines *zero-overhead* in “Foundations of C++” (2012): -> In general, C++ implementations obey the zero-overhead principle: What you -> don’t use, you don’t pay for. And further: What you do use, you couldn’t hand -> code any better. -As another example, the following code is taken from an audio decoder. The -decoding algorithm uses the linear prediction mathematical operation to +Unmatched: QuotePara + As another example, the following code is taken from an audio decoder. +The decoding algorithm uses the linear prediction mathematical operation to estimate future values based on a linear function of the previous samples. This code uses an iterator chain to do some math on three variables in scope: a `buffer` slice of data, an array of 12 `coefficients`, and an amount by which @@ -1269,3 +1265,4 @@ Rust’s goal to strive to provide zero-cost abstractions. Now that we’ve improved the expressiveness of our I/O project, let’s look at some more features of `cargo` that will help us share the project with the world. + diff --git a/nostarch/chapter15.md b/nostarch/chapter15.md index 166277fab5..ca717a910f 100644 --- a/nostarch/chapter15.md +++ b/nostarch/chapter15.md @@ -1,8 +1,3 @@ - [TOC] @@ -20,7 +15,7 @@ pointer but also have additional metadata and capabilities. The concept of smart pointers isn’t unique to Rust: smart pointers originated in C++ and exist in other languages as well. Rust has a variety of smart pointers defined in the standard library that provide functionality beyond that provided by references. -To explore the general concept, we'll look at a couple of different examples of +To explore the general concept, we’ll look at a couple of different examples of smart pointers, including a *reference counting* smart pointer type. This pointer enables you to allow data to have multiple owners by keeping track of the number of owners and, when no owners remain, cleaning up the data. @@ -29,18 +24,18 @@ Rust, with its concept of ownership and borrowing, has an additional difference between references and smart pointers: while references only borrow data, in many cases, smart pointers *own* the data they point to. -Though we didn't call them as such at the time, we’ve already encountered a few -smart pointers in this book, including `String` and `Vec` in Chapter 8. Both -these types count as smart pointers because they own some memory and allow you -to manipulate it. They also have metadata and extra capabilities or guarantees. -`String`, for example, stores its capacity as metadata and has the extra -ability to ensure its data will always be valid UTF-8. +Though we didn’t call them as such at the time, we’ve already encountered a few +smart pointers in this book, including `String` and `Vec` in Chapter 8. +Both these types count as smart pointers because they own some memory and allow +you to manipulate it. They also have metadata and extra capabilities or +guarantees. `String`, for example, stores its capacity as metadata and has the +extra ability to ensure its data will always be valid UTF-8. Smart pointers are usually implemented using structs. Unlike an ordinary struct, smart pointers implement the `Deref` and `Drop` traits. The `Deref` trait allows an instance of the smart pointer struct to behave like a reference so you can write your code to work with either references or smart pointers. -The `Drop` trait allows you to customize the code that's run when an instance +The `Drop` trait allows you to customize the code that’s run when an instance of the smart pointer goes out of scope. In this chapter, we’ll discuss both traits and demonstrate why they’re important to smart pointers. @@ -51,16 +46,15 @@ cover the most common smart pointers in the standard library: * `Box` for allocating values on the heap * `Rc`, a reference counting type that enables multiple ownership -* `Ref` and `RefMut`, accessed through `RefCell`, a type that enforces - the borrowing rules at runtime instead of compile time - +* `Ref` and `RefMut`, accessed through `RefCell`, a type that +enforces the borrowing rules at runtime instead of compile time In addition, we’ll cover the *interior mutability* pattern where an immutable type exposes an API for mutating an interior value. We’ll also discuss *reference cycles*: how they can leak memory and how to prevent them. Let’s dive in! -## Using `Box` to Point to Data on the Heap +## Using Box to Point to Data on the Heap The most straightforward smart pointer is a *box*, whose type is written `Box`. Boxes allow you to store data on the heap rather than the stack. What @@ -72,12 +66,11 @@ heap instead of on the stack. But they don’t have many extra capabilities either. You’ll use them most often in these situations: * When you have a type whose size can’t be known at compile time and you want - to use a value of that type in a context that requires an exact size +to use a value of that type in a context that requires an exact size * When you have a large amount of data and you want to transfer ownership but - ensure the data won’t be copied when you do so +ensure the data won’t be copied when you do so * When you want to own a value and you care only that it’s a type that - implements a particular trait rather than being of a specific type - +implements a particular trait rather than being of a specific type We’ll demonstrate the first situation in the “Enabling Recursive Types with Boxes” section. In the second case, transferring ownership of a large amount of data can take a long time because the data is copied around on the stack. To @@ -88,7 +81,7 @@ third case is known as a *trait object*, and Chapter 17 devotes an entire section, “Using Trait Objects That Allow for Values of Different Types,” just to that topic. So what you learn here you’ll apply again in Chapter 17! -### Using a `Box` to Store Data on the Heap +### Using a Box to Store Data on the Heap Before we discuss the heap storage use case for `Box`, we’ll cover the syntax and how to interact with values stored within a `Box`. @@ -104,7 +97,7 @@ fn main() { } ``` -Listing 15-1: Storing an `i32` value on the heap using a box +Storing an `i32` value on the heap using a box We define the variable `b` to have the value of a `Box` that points to the value `5`, which is allocated on the heap. This program will print `b = 5`; in @@ -129,9 +122,9 @@ recursive types could theoretically continue infinitely, so Rust can’t know ho much space the value needs. Because boxes have a known size, we can enable recursive types by inserting a box in the recursive type definition. -As an example of a recursive type, let’s explore the *cons list*. This is a data -type commonly found in functional programming languages. The cons list type -we’ll define is straightforward except for the recursion; therefore, the +As an example of a recursive type, let’s explore the *cons list*. This is a +data type commonly found in functional programming languages. The cons list +type we’ll define is straightforward except for the recursion; therefore, the concepts in the example we’ll work with will be useful any time you get into more complex situations involving recursive types. @@ -144,7 +137,7 @@ function”) in Lisp that constructs a new pair from its two arguments. By calling `cons` on a pair consisting of a value and another pair, we can construct cons lists made up of recursive pairs. -For example, here's a pseudocode representation of a cons list containing the +For example, here’s a pseudocode representation of a cons list containing the list 1, 2, 3 with each pair in parentheses: ``` @@ -177,13 +170,13 @@ enum List { } ``` -Listing 15-2: The first attempt at defining an enum to represent a cons list -data structure of `i32` values +The first attempt at defining an enum to represent a cons list data structure +of `i32` values -> Note: We’re implementing a cons list that holds only `i32` values for the -> purposes of this example. We could have implemented it using generics, as we -> discussed in Chapter 10, to define a cons list type that could store values of -> any type. +> NoteWe’re implementing a cons list that holds only `i32` values for the +purposes of this example. We could have implemented it using generics, as we +discussed in Chapter 10, to define a cons list type that could store values of +any type. Using the `List` type to store the list `1, 2, 3` would look like the code in Listing 15-3: @@ -198,7 +191,7 @@ fn main() { } ``` -Listing 15-3: Using the `List` enum to store the list `1, 2, 3` +Using the `List` enum to store the list `1, 2, 3` The first `Cons` value holds `1` and another `List` value. This `List` value is another `Cons` value that holds `2` and another `List` value. This `List` value @@ -217,15 +210,16 @@ error[E0072]: recursive type `List` has infinite size 2 | Cons(i32, List), | ---- recursive without indirection | -help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` representable +help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` +representable ``` -Listing 15-4: The error we get when attempting to define a recursive enum +The error we get when attempting to define a recursive enum The error shows this type “has infinite size.” The reason is that we’ve defined `List` with a variant that is recursive: it holds another value of itself directly. As a result, Rust can’t figure out how much space it needs to store a -`List` value. Let’s break down why we get this error. First, we'll look at how +`List` value. Let’s break down why we get this error. First, we’ll look at how Rust decides how much space it needs to store a value of a non-recursive type. #### Computing the Size of a Non-Recursive Type @@ -244,10 +238,10 @@ enum Message { To determine how much space to allocate for a `Message` value, Rust goes through each of the variants to see which variant needs the most space. Rust -sees that `Message::Quit` doesn’t need any space, `Message::Move` needs enough -space to store two `i32` values, and so forth. Because only one variant will be -used, the most space a `Message` value will need is the space it would take to -store the largest of its variants. +sees that `Message::Quit` doesn’t need any space, `Message::Move` needs +enough space to store two `i32` values, and so forth. Because only one variant +will be used, the most space a `Message` value will need is the space it would +take to store the largest of its variants. Contrast this with what happens when Rust tries to determine how much space a recursive type like the `List` enum in Listing 15-2 needs. The compiler starts @@ -258,20 +252,18 @@ type needs, the compiler looks at the variants, starting with the `Cons` variant. The `Cons` variant holds a value of type `i32` and a value of type `List`, and this process continues infinitely, as shown in Figure 15-1. -An infinite Cons list -Figure 15-1: An infinite `List` consisting of infinite `Cons` variants +Unmatched: GraphicSlug -#### Using `Box` to Get a Recursive Type with a Known Size +Unmatched: CaptionLine + #### Using Box to Get a Recursive Type with a Known Size Because Rust can’t figure out how much space to allocate for recursively defined types, the compiler gives an error with this helpful suggestion: ``` -help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` representable - | -2 | Cons(i32, Box), - | ^^^^ ^ +help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` +representable ``` In this suggestion, “indirection” means that instead of storing a value @@ -305,24 +297,23 @@ fn main() { } ``` -Listing 15-5: Definition of `List` that uses `Box` in order to have a known -size +Definition of `List` that uses `Box` in order to have a known size -The `Cons` variant needs the size of an `i32` plus the space to store the -box’s pointer data. The `Nil` variant stores no values, so it needs less space -than the `Cons` variant. We now know that any `List` value will take up the -size of an `i32` plus the size of a box’s pointer data. By using a box, we’ve -broken the infinite, recursive chain, so the compiler can figure out the size -it needs to store a `List` value. Figure 15-2 shows what the `Cons` variant -looks like now. +The `Cons` variant needs the size of an `i32` plus the space to store the box’s +pointer data. The `Nil` variant stores no values, so it needs less space than +the `Cons` variant. We now know that any `List` value will take up the size of +an `i32` plus the size of a box’s pointer data. By using a box, we’ve broken +the infinite, recursive chain, so the compiler can figure out the size it needs +to store a `List` value. Figure 15-2 shows what the `Cons` variant looks like +now. -A finite Cons list -Figure 15-2: A `List` that is not infinitely sized because `Cons` holds a `Box` +Unmatched: GraphicSlug -Boxes provide only the indirection and heap allocation; they don’t have any -other special capabilities, like those we’ll see with the other smart pointer -types. They also don’t have the performance overhead that these special +Unmatched: CaptionLine + Boxes provide only the indirection and heap allocation; they don’t have +any other special capabilities, like those we’ll see with the other smart +pointer types. They also don’t have the performance overhead that these special capabilities incur, so they can be useful in cases like the cons list where the indirection is the only feature we need. We’ll look at more use cases for boxes in Chapter 17, too. @@ -335,7 +326,7 @@ even more important to the functionality provided by the other smart pointer types we’ll discuss in the rest of this chapter. Let’s explore these two traits in more detail. -## Treating Smart Pointers Like Regular References with the `Deref` Trait +## Treating Smart Pointers Like Regular References with Deref Implementing the `Deref` trait allows you to customize the behavior of the *dereference operator* `*` (not to be confused with the multiplication or glob @@ -344,17 +335,17 @@ treated like a regular reference, you can write code that operates on references and use that code with smart pointers too. Let’s first look at how the dereference operator works with regular references. -Then we’ll try to define a custom type that behaves like `Box`, and see why -the dereference operator doesn’t work like a reference on our newly defined +Then we’ll try to define a custom type that behaves like `Box`, and see +why the dereference operator doesn’t work like a reference on our newly defined type. We’ll explore how implementing the `Deref` trait makes it possible for -smart pointers to work in ways similar to references. Then we’ll look at -Rust’s *deref coercion* feature and how it lets us work with either references -or smart pointers. +smart pointers to work in ways similar to references. Then we’ll look at Rust’s +*deref* *coercion* feature and how it lets us work with either references or +smart pointers. -> Note: there’s one big difference between the `MyBox` type we’re about to -> build and the real `Box`: our version will not store its data on the heap. -> We are focusing this example on `Deref`, so where the data is actually stored -> is less important than the pointer-like behavior. +Note: there’s one big difference between the `MyBox` type we’re about to +build and the real `Box`: our version will not store its data on the heap. +We are focusing this example on `Deref`, so where the data is actually stored +is less important than the pointer-like behavior. ### Following the Pointer to the Value @@ -367,16 +358,15 @@ Filename: src/main.rs ``` fn main() { - [1] let x = 5; - [2] let y = &x; + 1 let x = 5; + 2 let y = &x; - [3] assert_eq!(5, x); - [4] assert_eq!(5, *y); + 3 assert_eq!(5, x); + 4 assert_eq!(5, *y); } ``` -Listing 15-6: Using the dereference operator to follow a reference to an `i32` -value +Using the dereference operator to follow a reference to an `i32` value The variable `x` holds an `i32` value `5` [1]. We set `y` equal to a reference to `x` [2]. We can assert that `x` is equal to `5` [3]. However, if we want to @@ -385,8 +375,8 @@ reference to the value it’s pointing to (hence *dereference*) so the compiler can compare the actual value [4]. Once we dereference `y`, we have access to the integer value `y` is pointing to that we can compare with `5`. -If we tried to write `assert_eq!(5, y);` instead, we would get this compilation -error: +If we tried to write `assert_eq!(5, y);` instead, we would get this +compilation error: ``` error[E0277]: can't compare `{integer}` with `&{integer}` @@ -402,7 +392,7 @@ Comparing a number and a reference to a number isn’t allowed because they’re different types. We must use the dereference operator to follow the reference to the value it’s pointing to. -### Using `Box` Like a Reference +### Using Box Like a Reference We can rewrite the code in Listing 15-6 to use a `Box` instead of a reference; the dereference operator used on the `Box` in Listing 15-7 @@ -414,14 +404,14 @@ Filename: src/main.rs ``` fn main() { let x = 5; - [1] let y = Box::new(x); + 1 let y = Box::new(x); assert_eq!(5, x); - [2] assert_eq!(5, *y); + 2 assert_eq!(5, *y); } ``` -Listing 15-7: Using the dereference operator on a `Box` + Using the dereference operator on a `Box` The main difference between Listing 15-7 and Listing 15-6 is that here we set `y` to be an instance of a box pointing to a copied value of `x` rather than a @@ -445,22 +435,22 @@ Listing 15-8 defines a `MyBox` type in the same way. We’ll also define a Filename: src/main.rs ``` -[1] struct MyBox(T); + 1 struct MyBox(T); impl MyBox { - [2] fn new(x: T) -> MyBox { - [3] MyBox(x) + 2 fn new(x: T) -> MyBox { + 3 MyBox(x) } } ``` -Listing 15-8: Defining a `MyBox` type +Defining a `MyBox` type We define a struct named `MyBox` and declare a generic parameter `T` [1], because we want our type to hold values of any type. The `MyBox` type is a -tuple struct with one element of type `T`. The `MyBox::new` function takes one -parameter of type `T` [2] and returns a `MyBox` instance that holds the value -passed in [3]. +tuple struct with one element of type `T`. The `MyBox::new` function takes +one parameter of type `T` [2] and returns a `MyBox` instance that holds the +value passed in [3]. Let’s try adding the `main` function in Listing 15-7 to Listing 15-8 and changing it to use the `MyBox` type we’ve defined instead of `Box`. The @@ -479,8 +469,7 @@ fn main() { } ``` -Listing 15-9: Attempting to use `MyBox` in the same way we used references -and `Box` +Attempting to use `MyBox` in the same way we used references and `Box` Here’s the resulting compilation error: @@ -496,7 +485,7 @@ Our `MyBox` type can’t be dereferenced because we haven’t implemented tha ability on our type. To enable dereferencing with the `*` operator, we implement the `Deref` trait. -### Treating a Type Like a Reference by Implementing the `Deref` Trait +### Implementing the Deref Trait As discussed in the “Implementing a Trait on a Type” section of Chapter 10, to implement a trait, we need to provide implementations for the trait’s required @@ -511,17 +500,17 @@ Filename: src/main.rs use std::ops::Deref; impl Deref for MyBox { - [1] type Target = T; + 1 type Target = T; fn deref(&self) -> &Self::Target { - [2] &self.0 + 2 &self.0 } } ``` -Listing 15-10: Implementing `Deref` on `MyBox` +Implementing `Deref` on `MyBox` -The `type Target = T;` syntax [1] defines an associated type for the `Deref` +The `type` `Target = T;` syntax [1] defines an associated type for the `Deref` trait to use. Associated types are a slightly different way of declaring a generic parameter, but you don’t need to worry about them for now; we’ll cover them in more detail in Chapter 19. @@ -552,11 +541,12 @@ identically whether we have a regular reference or a type that implements `Deref`. The reason the `deref` method returns a reference to a value, and that the -plain dereference outside the parentheses in `*(y.deref())` is still necessary, -is to do with the ownership system. If the `deref` method returned the value -directly instead of a reference to the value, the value would be moved out of -`self`. We don’t want to take ownership of the inner value inside `MyBox` in -this case or in most cases where we use the dereference operator. +plain dereference outside the parentheses in `*(y.deref())` is still +necessary, is to do with the ownership system. If the `deref` method returned +the value directly instead of a reference to the value, the value would be +moved out of `self`. We don’t want to take ownership of the inner value inside +`MyBox` in this case or in most cases where we use the dereference +operator. Note that the `*` operator is replaced with a call to the `deref` method and then a call to the `*` operator just once, each time we use a `*` in our code. @@ -566,7 +556,7 @@ Listing 15-9. ### Implicit Deref Coercions with Functions and Methods -*Deref coercion* converts a reference to a type that implements the `Deref` +*Deref* *coercion* converts a reference to a type that implements the `Deref` trait into a reference to another type. For example, deref coercion can convert `&String` to `&str` because `String` implements the `Deref` trait such that it returns `&str`. Deref coercion is a convenience Rust performs on arguments to @@ -594,11 +584,12 @@ fn hello(name: &str) { } ``` -Listing 15-11: A `hello` function that has the parameter `name` of type `&str` +A `hello` function that has the parameter `name` of type `&str` We can call the `hello` function with a string slice as an argument, such as -`hello("Rust");` for example. Deref coercion makes it possible to call `hello` -with a reference to a value of type `MyBox`, as shown in Listing 15-12: +`hello("Rust");` for example. Deref coercion makes it possible to call +`hello` with a reference to a value of type `MyBox`, as shown in +Listing 15-12: Filename: src/main.rs @@ -609,16 +600,16 @@ fn main() { } ``` -Listing 15-12: Calling `hello` with a reference to a `MyBox` value, -which works because of deref coercion +Calling `hello` with a reference to a `MyBox` value, which works +because of deref coercion Here we’re calling the `hello` function with the argument `&m`, which is a -reference to a `MyBox` value. Because we implemented the `Deref` trait -on `MyBox` in Listing 15-10, Rust can turn `&MyBox` into `&String` -by calling `deref`. The standard library provides an implementation of `Deref` -on `String` that returns a string slice, and this is in the API documentation -for `Deref`. Rust calls `deref` again to turn the `&String` into `&str`, which -matches the `hello` function’s definition. +reference to a `MyBox` value. Because we implemented the `Deref` +trait on `MyBox` in Listing 15-10, Rust can turn `&MyBox` into +`&String` by calling `deref`. The standard library provides an implementation +of `Deref` on `String` that returns a string slice, and this is in the API +documentation for `Deref`. Rust calls `deref` again to turn the `&String` into +`&str`, which matches the `hello` function’s definition. If Rust didn’t implement deref coercion, we would have to write the code in Listing 15-13 instead of the code in Listing 15-12 to call `hello` with a value @@ -633,8 +624,7 @@ fn main() { } ``` -Listing 15-13: The code we would have to write if Rust didn’t have deref -coercion +The code we would have to write if Rust didn’t have deref coercion The `(*m)` dereferences the `MyBox` into a `String`. Then the `&` and `[..]` take a string slice of the `String` that is equal to the whole string to @@ -643,10 +633,10 @@ read, write, and understand with all of these symbols involved. Deref coercion allows Rust to handle these conversions for us automatically. When the `Deref` trait is defined for the types involved, Rust will analyze the -types and use `Deref::deref` as many times as necessary to get a reference to -match the parameter’s type. The number of times that `Deref::deref` needs to be -inserted is resolved at compile time, so there is no runtime penalty for taking -advantage of deref coercion! +types and use `Deref::deref` as many times as necessary to get a reference +to match the parameter’s type. The number of times that `Deref::deref` +needs to be inserted is resolved at compile time, so there is no runtime +penalty for taking advantage of deref coercion! ### How Deref Coercion Interacts with Mutability @@ -657,10 +647,9 @@ operator on mutable references. Rust does deref coercion when it finds types and trait implementations in three cases: -* From `&T` to `&U` when `T: Deref` -* From `&mut T` to `&mut U` when `T: DerefMut` -* From `&mut T` to `&U` when `T: Deref` - +* From `&T` to `&U` when `T:` `Deref` +* From `&mut T` to `&mut U` when `T:` `DerefMut` +* From `&mut T` to `&U` when `T:` `Deref` The first two cases are the same as each other except that the second implements mutability. The first case states that if you have a `&T`, and `T` implements `Deref` to some type `U`, you can get a `&U` transparently. The @@ -678,12 +667,12 @@ the borrowing rules don’t guarantee that. Therefore, Rust can’t make the assumption that converting an immutable reference to a mutable reference is possible. -## Running Code on Cleanup with the `Drop` Trait +## Running Code on Cleanup with the Drop Trait The second trait important to the smart pointer pattern is `Drop`, which lets you customize what happens when a value is about to go out of scope. You can -provide an implementation for the `Drop` trait on any type, and that code -can be used to release resources like files or network connections. +provide an implementation for the `Drop` trait on any type, and that code can +be used to release resources like files or network connections. We’re introducing `Drop` in the context of smart pointers because the functionality of the `Drop` trait is almost always used when implementing a @@ -705,7 +694,7 @@ You specify the code to run when a value goes out of scope by implementing the let’s implement `drop` with `println!` statements for now. Listing 15-14 shows a `CustomSmartPointer` struct whose only custom -functionality is that it will print `Dropping CustomSmartPointer!` when the +functionality is that it will print `Dropping` `CustomSmartPointer!` when the instance goes out of scope, to show when Rust runs the `drop` function. Filename: src/main.rs @@ -715,38 +704,38 @@ struct CustomSmartPointer { data: String, } -[1] impl Drop for CustomSmartPointer { + 1 impl Drop for CustomSmartPointer { fn drop(&mut self) { - [2] println!("Dropping CustomSmartPointer with data `{}`!", self.data); + 2 println!("Dropping CustomSmartPointer with data `{}`!", self.data); } } fn main() { - [3] let c = CustomSmartPointer { + 3 let c = CustomSmartPointer { data: String::from("my stuff"), }; - [4] let d = CustomSmartPointer { + 4 let d = CustomSmartPointer { data: String::from("other stuff"), }; - [5] println!("CustomSmartPointers created."); -[6] } + 5 println!("CustomSmartPointers created."); + 6 } ``` -Listing 15-14: A `CustomSmartPointer` struct that implements the `Drop` trait -where we would put our cleanup code +A `CustomSmartPointer` struct that implements the `Drop` trait where we would +put our cleanup code The `Drop` trait is included in the prelude, so we don’t need to bring it into scope. We implement the `Drop` trait on `CustomSmartPointer` [1] and provide an -implementation for the `drop` method that calls `println!` [2]. The body of the -`drop` function is where you would place any logic that you wanted to run when -an instance of your type goes out of scope. We’re printing some text here to -demonstrate visually when Rust will call `drop`. +implementation for the `drop` method that calls `println!` [2]. The body of +the `drop` function is where you would place any logic that you wanted to run +when an instance of your type goes out of scope. We’re printing some text here +to demonstrate visually when Rust will call `drop`. -In `main`, we create two instances of `CustomSmartPointer` [3][4] and then -print `CustomSmartPointers created` [5]. At the end of `main` [6], our -instances of `CustomSmartPointer` will go out of scope, and Rust will call the -code we put in the `drop` method [2], printing our final message. Note that we -didn’t need to call the `drop` method explicitly. +In `main`, we create two instances of `CustomSmartPointer` [34] and then print +`CustomSmartPointers` `created` [5]. At the end of `main` [6], our instances of +`CustomSmartPointer` will go out of scope, and Rust will call the code we put +in the `drop` method [2], printing our final message. Note that we didn’t need +to call the `drop` method explicitly. When we run this program, we’ll see the following output: @@ -758,13 +747,11 @@ Dropping CustomSmartPointer with data `my stuff`! Rust automatically called `drop` for us when our instances went out of scope, calling the code we specified. Variables are dropped in the reverse order of -their creation, so `d` was dropped before `c`. This example's purpose is to +their creation, so `d` was dropped before `c`. This example’s purpose is to give you a visual guide to how the `drop` method works; usually you would specify the cleanup code that your type needs to run rather than a print message. -### Dropping a Value Early with `std::mem::drop` - Unfortunately, it’s not straightforward to disable the automatic `drop` functionality. Disabling `drop` isn’t usually necessary; the whole point of the `Drop` trait is that it’s taken care of automatically. Occasionally, however, @@ -772,8 +759,8 @@ you might want to clean up a value early. One example is when using smart pointers that manage locks: you might want to force the `drop` method that releases the lock so that other code in the same scope can acquire the lock. Rust doesn’t let you call the `Drop` trait’s `drop` method manually; instead -you have to call the `std::mem::drop` function provided by the standard library -if you want to force a value to be dropped before the end of its scope. +you have to call the `std::mem::drop` function provided by the standard +library if you want to force a value to be dropped before the end of its scope. If we try to call the `Drop` trait’s `drop` method manually by modifying the `main` function from Listing 15-14, as shown in Listing 15-15, we’ll get a @@ -788,12 +775,14 @@ fn main() { }; println!("CustomSmartPointer created."); c.drop(); - println!("CustomSmartPointer dropped before the end of main."); + println!( + "CustomSmartPointer dropped before the end of main." + ); } ``` -Listing 15-15: Attempting to call the `drop` method from the `Drop` trait -manually to clean up early +Attempting to call the `drop` method from the `Drop` trait manually to clean up +early When we try to compile this code, we’ll get this error: @@ -822,10 +811,10 @@ We can’t disable the automatic insertion of `drop` when a value goes out of scope, and we can’t call the `drop` method explicitly. So, if we need to force a value to be cleaned up early, we use the `std::mem::drop` function. -The `std::mem::drop` function is different from the `drop` method in the `Drop` -trait. We call it by passing as an argument the value we want to force drop. -The function is in the prelude, so we can modify `main` in Listing 15-15 to -call the `drop` function, as shown in Listing 15-16: +The `std::mem::drop` function is different from the `drop` method in the +`Drop` trait. We call it by passing as an argument the value we want to force +drop. The function is in the prelude, so we can modify `main` in Listing 15-15 +to call the `drop` function, as shown in Listing 15-16: Filename: src/main.rs @@ -836,12 +825,14 @@ fn main() { }; println!("CustomSmartPointer created."); drop(c); - println!("CustomSmartPointer dropped before the end of main."); + println!( + "CustomSmartPointer dropped before the end of main." + ); } ``` -Listing 15-16: Calling `std::mem::drop` to explicitly drop a value before it -goes out of scope +Calling `std::mem::drop` to explicitly drop a value before it goes out of +scope Running this code will print the following: @@ -851,8 +842,8 @@ Dropping CustomSmartPointer with data `some data`! CustomSmartPointer dropped before the end of main. ``` -The text ```Dropping CustomSmartPointer with data `some data`!``` is printed -between the `CustomSmartPointer created.` and `CustomSmartPointer dropped +The text `Dropping` `CustomSmartPointer` `with data `some data`!` is printed +between the `CustomSmartPointer` `created.` and `CustomSmartPointer` `dropped before the end of main.` text, showing that the `drop` method code is called to drop `c` at that point. @@ -870,7 +861,7 @@ Now that we’ve examined `Box` and some of the characteristics of smart pointers, let’s look at a few other smart pointers defined in the standard library. -## `Rc`, the Reference Counted Smart Pointer +## Rc, the Reference Counted Smart Pointer In the majority of cases, ownership is clear: you know exactly which variable owns a given value. However, there are cases when a single value might have @@ -879,11 +870,11 @@ point to the same node, and that node is conceptually owned by all of the edges that point to it. A node shouldn’t be cleaned up unless it doesn’t have any edges pointing to it and so has no owners. -You have to enable multiple ownership explicitly by using the Rust type -`Rc`, which is an abbreviation for *reference counting*. The `Rc` type -keeps track of the number of references to a value to determine whether or not -the value is still in use. If there are zero references to a value, the value -can be cleaned up without any references becoming invalid. + You have to enable multiple ownership explicitly by using the Rust type +`Rc`, which is an abbreviation for *reference counting*. The `Rc` +type keeps track of the number of references to a value to determine whether or +not the value is still in use. If there are zero references to a value, the +value can be cleaned up without any references becoming invalid. Imagine `Rc` as a TV in a family room. When one person enters to watch TV, they turn it on. Others can come into the room and watch the TV. When the last @@ -897,22 +888,22 @@ which part will finish using the data last. If we knew which part would finish last, we could just make that part the data’s owner, and the normal ownership rules enforced at compile time would take effect. -Note that `Rc` is only for use in single-threaded scenarios. When we discuss -concurrency in Chapter 16, we’ll cover how to do reference counting in +Note that `Rc` is only for use in single-threaded scenarios. When we +discuss concurrency in Chapter 16, we’ll cover how to do reference counting in multithreaded programs. -### Using `Rc` to Share Data +### Using Rc to Share Data Let’s return to our cons list example in Listing 15-5. Recall that we defined it using `Box`. This time, we’ll create two lists that both share ownership of a third list. Conceptually, this looks similar to Figure 15-3: -Two lists that share ownership of a third list -Figure 15-3: Two lists, `b` and `c`, sharing ownership of a third list, `a` +Unmatched: GraphicSlug -We’ll create list `a` that contains 5 and then 10. Then we’ll make two more -lists: `b` that starts with 3 and `c` that starts with 4. Both `b` and `c` +Unmatched: CaptionLine + We’ll create list `a` that contains 5 and then 10. Then we’ll make two +more lists: `b` that starts with 3 and `c` that starts with 4. Both `b` and `c` lists will then continue on to the first `a` list containing 5 and 10. In other words, both lists will share the first list containing 5 and 10. @@ -931,13 +922,13 @@ use crate::List::{Cons, Nil}; fn main() { let a = Cons(5, Box::new(Cons(10, Box::new(Nil)))); -[1] let b = Cons(3, Box::new(a)); -[2] let c = Cons(4, Box::new(a)); + 1 let b = Cons(3, Box::new(a)); + 2 let c = Cons(4, Box::new(a)); } ``` -Listing 15-17: Demonstrating we’re not allowed to have two lists using `Box` -that try to share ownership of a third list +Demonstrating we’re not allowed to have two lists using `Box` that try to +share ownership of a third list When we compile this code, we get this error: @@ -946,7 +937,8 @@ error[E0382]: use of moved value: `a` --> src/main.rs:11:30 | 9 | let a = Cons(5, Box::new(Cons(10, Box::new(Nil)))); - | - move occurs because `a` has type `List`, which does not implement the `Copy` trait + | - move occurs because `a` has type `List`, which does not +implement the `Copy` trait 10 | let b = Cons(3, Box::new(a)); | - value moved here 11 | let c = Cons(4, Box::new(a)); @@ -970,9 +962,9 @@ ownership of `a`, we’ll clone the `Rc` that `a` is holding, thereby increasing the number of references from one to two and letting `a` and `b` share ownership of the data in that `Rc`. We’ll also clone `a` when creating `c`, increasing the number of references from two to three. Every time -we call `Rc::clone`, the reference count to the data within the `Rc` will -increase, and the data won’t be cleaned up unless there are zero references to -it. +we call `Rc::clone`, the reference count to the data within the +`Rc` will increase, and the data won’t be cleaned up unless there are +zero references to it. Filename: src/main.rs @@ -983,22 +975,22 @@ enum List { } use crate::List::{Cons, Nil}; -[1] use std::rc::Rc; +1 use std::rc::Rc; fn main() { -[2] let a = Rc::new(Cons(5, Rc::new(Cons(10, Rc::new(Nil))))); -[3] let b = Cons(3, Rc::clone(&a)); -[4] let c = Cons(4, Rc::clone(&a)); + 2 let a = Rc::new(Cons(5, Rc::new(Cons(10, Rc::new(Nil))))); + 3 let b = Cons(3, Rc::clone(&a)); + 4 let c = Cons(4, Rc::clone(&a)); } ``` -Listing 15-18: A definition of `List` that uses `Rc` +A definition of `List` that uses `Rc` We need to add a `use` statement to bring `Rc` into scope [1] because it’s not in the prelude. In `main`, we create the list holding 5 and 10 and store it in a new `Rc` in `a` [2]. Then when we create `b` [3] and `c` [4], we -call the `Rc::clone` function and pass a reference to the `Rc` in `a` as -an argument. +call the `Rc::clone` function and pass a reference to the `Rc` in +`a` as an argument. We could have called `a.clone()` rather than `Rc::clone(&a)`, but Rust’s convention is to use `Rc::clone` in this case. The implementation of @@ -1011,7 +1003,7 @@ increase the reference count. When looking for performance problems in the code, we only need to consider the deep-copy clones and can disregard calls to `Rc::clone`. -### Cloning an `Rc` Increases the Reference Count +### Cloning an Rc Increases the Reference Count Let’s change our working example in Listing 15-18 so we can see the reference counts changing as we create and drop references to the `Rc` in `a`. @@ -1024,23 +1016,35 @@ Filename: src/main.rs ``` fn main() { let a = Rc::new(Cons(5, Rc::new(Cons(10, Rc::new(Nil))))); - println!("count after creating a = {}", Rc::strong_count(&a)); + println!( + "count after creating a = {}", + Rc::strong_count(&a) + ); let b = Cons(3, Rc::clone(&a)); - println!("count after creating b = {}", Rc::strong_count(&a)); + println!( + "count after creating b = {}", + Rc::strong_count(&a) + ); { let c = Cons(4, Rc::clone(&a)); - println!("count after creating c = {}", Rc::strong_count(&a)); + println!( + "count after creating c = {}", + Rc::strong_count(&a) + ); } - println!("count after c goes out of scope = {}", Rc::strong_count(&a)); + println!( + "count after c goes out of scope = {}", + Rc::strong_count(&a) + ); } ``` -Listing 15-19: Printing the reference count +Printing the reference count At each point in the program where the reference count changes, we print the -reference count, which we get by calling the `Rc::strong_count` function. This -function is named `strong_count` rather than `count` because the `Rc` type -also has a `weak_count`; we’ll see what `weak_count` is used for in the +reference count, which we get by calling the `Rc::strong_count` function. +This function is named `strong_count` rather than `count` because the `Rc` +type also has a `weak_count`; we’ll see what `weak_count` is used for in the “Preventing Reference Cycles: Turning an `Rc` into a `Weak`” section. This code prints the following: @@ -1052,12 +1056,12 @@ count after creating c = 3 count after c goes out of scope = 2 ``` -We can see that the `Rc` in `a` has an initial reference count of 1; then -each time we call `clone`, the count goes up by 1. When `c` goes out of scope, -the count goes down by 1. We don’t have to call a function to decrease the -reference count like we have to call `Rc::clone` to increase the reference -count: the implementation of the `Drop` trait decreases the reference count -automatically when an `Rc` value goes out of scope. +We can see that the `Rc` in `a` has an initial reference count of 1; +then each time we call `clone`, the count goes up by 1. When `c` goes out of +scope, the count goes down by 1. We don’t have to call a function to decrease +the reference count like we have to call `Rc::clone` to increase the +reference count: the implementation of the `Drop` trait decreases the reference +count automatically when an `Rc` value goes out of scope. What we can’t see in this example is that when `b` and then `a` go out of scope at the end of `main`, the count is then 0, and the `Rc` is cleaned up @@ -1066,15 +1070,15 @@ the count ensures that the value remains valid as long as any of the owners still exist. Via immutable references, `Rc` allows you to share data between multiple -parts of your program for reading only. If `Rc` allowed you to have multiple -mutable references too, you might violate one of the borrowing rules discussed -in Chapter 4: multiple mutable borrows to the same place can cause data races -and inconsistencies. But being able to mutate data is very useful! In the next -section, we’ll discuss the interior mutability pattern and the `RefCell` -type that you can use in conjunction with an `Rc` to work with this -immutability restriction. +parts of your program for reading only. If `Rc` allowed you to have +multiple mutable references too, you might violate one of the borrowing rules +discussed in Chapter 4: multiple mutable borrows to the same place can cause +data races and inconsistencies. But being able to mutate data is very useful! +In the next section, we’ll discuss the interior mutability pattern and the +`RefCell` type that you can use in conjunction with an `Rc` to work +with this immutability restriction. -## `RefCell` and the Interior Mutability Pattern +## RefCell and the Interior Mutability Pattern *Interior mutability* is a design pattern in Rust that allows you to mutate data even when there are immutable references to that data; normally, this @@ -1089,19 +1093,18 @@ ensure that the borrowing rules will be followed at runtime, even though the compiler can’t guarantee that. The `unsafe` code involved is then wrapped in a safe API, and the outer type is still immutable. -Let’s explore this concept by looking at the `RefCell` type that follows the -interior mutability pattern. +Let’s explore this concept by looking at the `RefCell` type that follows +the interior mutability pattern. -### Enforcing Borrowing Rules at Runtime with `RefCell` +### Enforcing Borrowing Rules at Runtime with RefCell -Unlike `Rc`, the `RefCell` type represents single ownership over the data -it holds. So, what makes `RefCell` different from a type like `Box`? -Recall the borrowing rules you learned in Chapter 4: +Unlike `Rc`, the `RefCell` type represents single ownership over the +data it holds. So, what makes `RefCell` different from a type like +`Box`? Recall the borrowing rules you learned in Chapter 4: * At any given time, you can have *either* (but not both) one mutable reference - or any number of immutable references. +or any number of immutable references. * References must always be valid. - With references and `Box`, the borrowing rules’ invariants are enforced at compile time. With `RefCell`, these invariants are enforced *at runtime*. With references, if you break these rules, you’ll get a compiler error. With @@ -1129,22 +1132,21 @@ catastrophic can occur. The `RefCell` type is useful when you’re sure your code follows the borrowing rules but the compiler is unable to understand and guarantee that. -Similar to `Rc`, `RefCell` is only for use in single-threaded scenarios -and will give you a compile-time error if you try using it in a multithreaded -context. We’ll talk about how to get the functionality of `RefCell` in a -multithreaded program in Chapter 16. +Similar to `Rc`, `RefCell` is only for use in single-threaded +scenarios and will give you a compile-time error if you try using it in a +multithreaded context. We’ll talk about how to get the functionality of +`RefCell` in a multithreaded program in Chapter 16. Here is a recap of the reasons to choose `Box`, `Rc`, or `RefCell`: -* `Rc` enables multiple owners of the same data; `Box` and `RefCell` - have single owners. -* `Box` allows immutable or mutable borrows checked at compile time; `Rc` - allows only immutable borrows checked at compile time; `RefCell` allows - immutable or mutable borrows checked at runtime. +* `Rc` enables multiple owners of the same data; `Box` and +`RefCell` have single owners. +* `Box` allows immutable or mutable borrows checked at compile time; +`Rc` allows only immutable borrows checked at compile time; `RefCell` +allows immutable or mutable borrows checked at runtime. * Because `RefCell` allows mutable borrows checked at runtime, you can - mutate the value inside the `RefCell` even when the `RefCell` is - immutable. - +mutate the value inside the `RefCell` even when the `RefCell` is +immutable. Mutating the value inside an immutable value is the *interior mutability* pattern. Let’s look at a situation in which interior mutability is useful and examine how it’s possible. @@ -1164,7 +1166,8 @@ fn main() { If you tried to compile this code, you’d get the following error: ``` -error[E0596]: cannot borrow `x` as mutable, as it is not declared as mutable +error[E0596]: cannot borrow `x` as mutable, as it is not declared +as mutable --> src/main.rs:3:13 | 2 | let x = 5; @@ -1182,17 +1185,17 @@ compiler allows this interior mutability, and the borrowing rules are checked at runtime instead. If you violate the rules, you’ll get a `panic!` instead of a compiler error. -Let’s work through a practical example where we can use `RefCell` to mutate -an immutable value and see why that is useful. +Let’s work through a practical example where we can use `RefCell` to +mutate an immutable value and see why that is useful. #### A Use Case for Interior Mutability: Mock Objects Sometimes during testing a programmer will use a type in place of another type, -in order to observe particular behavior and assert it's implemented correctly. +in order to observe particular behavior and assert it’s implemented correctly. This placeholder type is called a *test double*. Think of it in the sense of a -"stunt double" in filmmaking, where a person steps in and substitutes for an +“stunt double” in filmmaking, where a person steps in and substitutes for an actor to do a particular tricky scene. Test doubles stand in for other types -when we're running tests. *Mock objects* are specific types of test doubles +when we’re running tests. *Mock objects* are specific types of test doubles that record what happens during a test so you can assert that the correct actions took place. @@ -1218,7 +1221,7 @@ Filename: src/lib.rs ``` pub trait Messenger { -[1] fn send(&self, msg: &str); + fn send(&self, msg: &str); 1 } pub struct LimitTracker<'a, T: Messenger> { @@ -1239,7 +1242,7 @@ where } } -[2] pub fn set_value(&mut self, value: usize) { + pub fn set_value(&mut self, value: usize) { 2 self.value = value; let percentage_of_max = self.value as f64 / self.max as f64; @@ -1248,7 +1251,9 @@ where self.messenger.send("Error: You are over your quota!"); } else if percentage_of_max >= 0.9 { self.messenger - .send("Urgent warning: You've used up over 90% of your quota!"); + .send( + "Urgent warning: You've used up over 90% of your quota!" + ); } else if percentage_of_max >= 0.75 { self.messenger .send("Warning: You've used up over 75% of your quota!"); @@ -1257,8 +1262,8 @@ where } ``` -Listing 15-20: A library to keep track of how close a value is to a maximum -value and warn when the value is at certain levels +A library to keep track of how close a value is to a maximum value and warn +when the value is at certain levels One important part of this code is that the `Messenger` trait has one method called `send` that takes an immutable reference to `self` and the text of the @@ -1286,28 +1291,31 @@ Filename: src/lib.rs mod tests { use super::*; - [1] struct MockMessenger { - [2] sent_messages: Vec, + 1 struct MockMessenger { + 2 sent_messages: Vec, } impl MockMessenger { - [3] fn new() -> MockMessenger { + 3 fn new() -> MockMessenger { MockMessenger { sent_messages: vec![], } } } - [4] impl Messenger for MockMessenger { + 4 impl Messenger for MockMessenger { fn send(&self, message: &str) { - [5] self.sent_messages.push(String::from(message)); + 5 self.sent_messages.push(String::from(message)); } } #[test] - [6] fn it_sends_an_over_75_percent_warning_message() { + 6 fn it_sends_an_over_75_percent_warning_message() { let mock_messenger = MockMessenger::new(); - let mut limit_tracker = LimitTracker::new(&mock_messenger, 100); + let mut limit_tracker = LimitTracker::new( + &mock_messenger, + 100 + ); limit_tracker.set_value(80); @@ -1316,8 +1324,8 @@ mod tests { } ``` -Listing 15-21: An attempt to implement a `MockMessenger` that isn’t allowed by -the borrow checker +An attempt to implement a `MockMessenger` that isn’t allowed by the borrow +checker This test code defines a `MockMessenger` struct [1] that has a `sent_messages` field with a `Vec` of `String` values [2] to keep track of the messages it’s @@ -1340,14 +1348,17 @@ track of should now have one message in it. However, there’s one problem with this test, as shown here: ``` -error[E0596]: cannot borrow `self.sent_messages` as mutable, as it is behind a `&` reference +error[E0596]: cannot borrow `self.sent_messages` as mutable, as it is behind a +`&` reference --> src/lib.rs:58:13 | 2 | fn send(&self, msg: &str); - | ----- help: consider changing that to be a mutable reference: `&mut self` + | ----- help: consider changing that to be a mutable reference: +`&mut self` ... 58 | self.sent_messages.push(String::from(message)); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `self` is a `&` reference, so the data it refers to cannot be borrowed as mutable + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `self` is a `&` +reference, so the data it refers to cannot be borrowed as mutable ``` We can’t modify the `MockMessenger` to keep track of the messages, because the @@ -1370,74 +1381,75 @@ mod tests { use std::cell::RefCell; struct MockMessenger { - [1] sent_messages: RefCell>, + sent_messages: RefCell>,1 } impl MockMessenger { fn new() -> MockMessenger { MockMessenger { - sent_messages: RefCell::new(vec![]) [2], + sent_messages: RefCell::new(vec![]),2 } } } impl Messenger for MockMessenger { fn send(&self, message: &str) { - [3] self.sent_messages.borrow_mut().push(String::from(message)); + self.sent_messages.borrow_mut().push(String::from(message));3 } } #[test] fn it_sends_an_over_75_percent_warning_message() { - // --snip-- + --snip-- - [4] assert_eq!(mock_messenger.sent_messages.borrow().len(), 1); + assert_eq!(mock_messenger.sent_messages.borrow().len(), 1);4 } } ``` -Listing 15-22: Using `RefCell` to mutate an inner value while the outer -value is considered immutable +Using `RefCell` to mutate an inner value while the outer value is +considered immutable -The `sent_messages` field is now of type `RefCell>` [1] instead of -`Vec`. In the `new` function, we create a new `RefCell>` -instance around the empty vector [2]. +The `sent_messages` field is now of type `RefCell>` [1] +instead of `Vec`. In the `new` function, we create a new +`RefCell>` instance around the empty vector [2]. For the implementation of the `send` method, the first parameter is still an immutable borrow of `self`, which matches the trait definition. We call -`borrow_mut` on the `RefCell>` in `self.sent_messages` [3] to get a -mutable reference to the value inside the `RefCell>`, which is -the vector. Then we can call `push` on the mutable reference to the vector to -keep track of the messages sent during the test. +`borrow_mut` on the `RefCell>` in `self.sent_messages` [3] +to get a mutable reference to the value inside the +`RefCell>`, which is the vector. Then we can call `push` on +the mutable reference to the vector to keep track of the messages sent during +the test. The last change we have to make is in the assertion: to see how many items are -in the inner vector, we call `borrow` on the `RefCell>` to get an -immutable reference to the vector [4]. +in the inner vector, we call `borrow` on the `RefCell>` to +get an immutable reference to the vector [4]. Now that you’ve seen how to use `RefCell`, let’s dig into how it works! -#### Keeping Track of Borrows at Runtime with `RefCell` +#### Keeping Track of Borrows at Runtime with RefCell When creating immutable and mutable references, we use the `&` and `&mut` syntax, respectively. With `RefCell`, we use the `borrow` and `borrow_mut` methods, which are part of the safe API that belongs to `RefCell`. The `borrow` method returns the smart pointer type `Ref`, and `borrow_mut` -returns the smart pointer type `RefMut`. Both types implement `Deref`, so we -can treat them like regular references. +returns the smart pointer type `RefMut`. Both types implement `Deref`, so +we can treat them like regular references. The `RefCell` keeps track of how many `Ref` and `RefMut` smart pointers are currently active. Every time we call `borrow`, the `RefCell` increases its count of how many immutable borrows are active. When a `Ref` value goes out of scope, the count of immutable borrows goes down by one. Just -like the compile-time borrowing rules, `RefCell` lets us have many immutable -borrows or one mutable borrow at any point in time. +like the compile-time borrowing rules, `RefCell` lets us have many +immutable borrows or one mutable borrow at any point in time. If we try to violate these rules, rather than getting a compiler error as we would with references, the implementation of `RefCell` will panic at runtime. Listing 15-23 shows a modification of the implementation of `send` in Listing 15-22. We’re deliberately trying to create two mutable borrows active -for the same scope to illustrate that `RefCell` prevents us from doing this -at runtime. +for the same scope to illustrate that `RefCell` prevents us from doing +this at runtime. Filename: src/lib.rs @@ -1453,8 +1465,8 @@ Filename: src/lib.rs } ``` -Listing 15-23: Creating two mutable references in the same scope to see that -`RefCell` will panic +Creating two mutable references in the same scope to see that `RefCell` +will panic We create a variable `one_borrow` for the `RefMut` smart pointer returned from `borrow_mut`. Then we create another mutable borrow in the same way in the @@ -1468,33 +1480,34 @@ thread 'main' panicked at 'already borrowed: BorrowMutError', src/lib.rs:60:53 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` -Notice that the code panicked with the message `already borrowed: -BorrowMutError`. This is how `RefCell` handles violations of the borrowing -rules at runtime. +Notice that the code panicked with the message `already borrowed:` +`BorrowMutError`. This is how `RefCell` handles violations of the +borrowing rules at runtime. Choosing to catch borrowing errors at runtime rather than compile time, as -we've done here, means you'd potentially be finding mistakes in your code later +we’ve done here, means you’d potentially be finding mistakes in your code later in the development process: possibly not until your code was deployed to production. Also, your code would incur a small runtime performance penalty as a result of keeping track of the borrows at runtime rather than compile time. However, using `RefCell` makes it possible to write a mock object that can modify itself to keep track of the messages it has seen while you’re using it -in a context where only immutable values are allowed. You can use `RefCell` -despite its trade-offs to get more functionality than regular references -provide. +in a context where only immutable values are allowed. You can use +`RefCell` despite its trade-offs to get more functionality than regular +references provide. -### Having Multiple Owners of Mutable Data by Combining `Rc` and `RefCell` +### Allowing Multiple Owners of Mutable Data with Rc and RefCell -A common way to use `RefCell` is in combination with `Rc`. Recall that -`Rc` lets you have multiple owners of some data, but it only gives immutable -access to that data. If you have an `Rc` that holds a `RefCell`, you can -get a value that can have multiple owners *and* that you can mutate! +A common way to use `RefCell` is in combination with `Rc`. Recall +that `Rc` lets you have multiple owners of some data, but it only gives +immutable access to that data. If you have an `Rc` that holds a +`RefCell`, you can get a value that can have multiple owners *and* that +you can mutate! For example, recall the cons list example in Listing 15-18 where we used `Rc` to allow multiple lists to share ownership of another list. Because `Rc` holds only immutable values, we can’t change any of the values in the -list once we’ve created them. Let’s add in `RefCell` to gain the ability to -change the values in the lists. Listing 15-24 shows that by using a +list once we’ve created them. Let’s add in `RefCell` to gain the ability +to change the values in the lists. Listing 15-24 shows that by using a `RefCell` in the `Cons` definition, we can modify the value stored in all the lists: @@ -1512,14 +1525,14 @@ use std::cell::RefCell; use std::rc::Rc; fn main() { - [1] let value = Rc::new(RefCell::new(5)); + 1 let value = Rc::new(RefCell::new(5)); - [2] let a = Rc::new(Cons(Rc::clone(&value), Rc::new(Nil))); + 2 let a = Rc::new(Cons(Rc::clone(&value), Rc::new(Nil))); let b = Cons(Rc::new(RefCell::new(3)), Rc::clone(&a)); let c = Cons(Rc::new(RefCell::new(4)), Rc::clone(&a)); - [3] *value.borrow_mut() += 10; + 3 *value.borrow_mut() += 10; println!("a after = {:?}", a); println!("b after = {:?}", b); @@ -1527,14 +1540,14 @@ fn main() { } ``` -Listing 15-24: Using `Rc>` to create a `List` that we can mutate +Using `Rc>` to create a `List` that we can mutate -We create a value that is an instance of `Rc>` and store it in a -variable named `value` [1] so we can access it directly later. Then we create a -`List` in `a` with a `Cons` variant that holds `value` [2]. We need to clone -`value` so both `a` and `value` have ownership of the inner `5` value rather -than transferring ownership from `value` to `a` or having `a` borrow from -`value`. +We create a value that is an instance of `Rc>` and store it +in a variable named `value` [1] so we can access it directly later. Then we +create a `List` in `a` with a `Cons` variant that holds `value` [2]. We need to +clone `value` so both `a` and `value` have ownership of the inner `5` value +rather than transferring ownership from `value` to `a` or having `a` borrow +from `value`. We wrap the list `a` in an `Rc` so when we create lists `b` and `c`, they can both refer to `a`, which is what we did in Listing 15-18. @@ -1556,11 +1569,11 @@ c after = Cons(RefCell { value: 4 }, Cons(RefCell { value: 15 }, Nil)) ``` This technique is pretty neat! By using `RefCell`, we have an outwardly -immutable `List` value. But we can use the methods on `RefCell` that provide -access to its interior mutability so we can modify our data when we need to. -The runtime checks of the borrowing rules protect us from data races, and it’s -sometimes worth trading a bit of speed for this flexibility in our data -structures. Note that `RefCell` does not work for multithreaded code! +immutable `List` value. But we can use the methods on `RefCell` that +provide access to its interior mutability so we can modify our data when we +need to. The runtime checks of the borrowing rules protect us from data races, +and it’s sometimes worth trading a bit of speed for this flexibility in our +data structures. Note that `RefCell` does not work for multithreaded code! `Mutex` is the thread-safe version of `RefCell` and we’ll discuss `Mutex` in Chapter 16. @@ -1590,12 +1603,12 @@ use std::rc::Rc; #[derive(Debug)] enum List { - [1] Cons(i32, RefCell>), + 1 Cons(i32, RefCell>), Nil, } impl List { - [2] fn tail(&self) -> Option<&RefCell>> { + 2 fn tail(&self) -> Option<&RefCell>> { match self { Cons(_, item) => Some(item), Nil => None, @@ -1604,39 +1617,39 @@ impl List { } ``` -Listing 15-25: A cons list definition that holds a `RefCell` so we can -modify what a `Cons` variant is referring to +A cons list definition that holds a `RefCell` so we can modify what a +`Cons` variant is referring to. We’re using another variation of the `List` definition from Listing 15-5. The -second element in the `Cons` variant is now `RefCell>` [1], meaning -that instead of having the ability to modify the `i32` value as we did in -Listing 15-24, we want to modify the `List` value a `Cons` variant is +second element in the `Cons` variant is now `RefCell>` [1], +meaning that instead of having the ability to modify the `i32` value as we did +in Listing 15-24, we want to modify the `List` value a `Cons` variant is pointing to. We’re also adding a `tail` method [2] to make it convenient for us to access the second item if we have a `Cons` variant. In Listing 15-26, we’re adding a `main` function that uses the definitions in Listing 15-25. This code creates a list in `a` and a list in `b` that points to the list in `a`. Then it modifies the list in `a` to point to `b`, creating a -reference cycle. There are `println!` statements along the way to show what the -reference counts are at various points in this process. +reference cycle. There are `println!` statements along the way to show what +the reference counts are at various points in this process. Filename: src/main.rs ``` fn main() { - [1] let a = Rc::new(Cons(5, RefCell::new(Rc::new(Nil)))); + 1 let a = Rc::new(Cons(5, RefCell::new(Rc::new(Nil)))); println!("a initial rc count = {}", Rc::strong_count(&a)); println!("a next item = {:?}", a.tail()); - [2] let b = Rc::new(Cons(10, RefCell::new(Rc::clone(&a)))); + 2 let b = Rc::new(Cons(10, RefCell::new(Rc::clone(&a)))); println!("a rc count after b creation = {}", Rc::strong_count(&a)); println!("b initial rc count = {}", Rc::strong_count(&b)); println!("b next item = {:?}", b.tail()); - [3] if let Some(link) = a.tail() { - [4] *link.borrow_mut() = Rc::clone(&b); + 3 if let Some(link) = a.tail() { + 4 *link.borrow_mut() = Rc::clone(&b); } println!("b rc count after changing a = {}", Rc::strong_count(&b)); @@ -1648,8 +1661,7 @@ fn main() { } ``` -Listing 15-26: Creating a reference cycle of two `List` values pointing to each -other +Creating a reference cycle of two `List` values pointing to each other. We create an `Rc` instance holding a `List` value in the variable `a` with an initial list of `5, Nil` [1]. We then create an `Rc` instance @@ -1657,10 +1669,11 @@ holding another `List` value in the variable `b` that contains the value 10 and points to the list in `a` [2]. We modify `a` so it points to `b` instead of `Nil`, creating a cycle. We do -that by using the `tail` method to get a reference to the `RefCell>` -in `a`, which we put in the variable `link` [3]. Then we use the `borrow_mut` -method on the `RefCell>` to change the value inside from an `Rc` -that holds a `Nil` value to the `Rc` in `b` [4]. +that by using the `tail` method to get a reference to the +`RefCell>` in `a`, which we put in the variable `link` [3]. Then +we use the `borrow_mut` method on the `RefCell>` to change the +value inside from an `Rc` that holds a `Nil` value to the `Rc` +in `b` [4]. When we run this code, keeping the last `println!` commented out for the moment, we’ll get this output: @@ -1675,24 +1688,24 @@ b rc count after changing a = 2 a rc count after changing a = 2 ``` -The reference count of the `Rc` instances in both `a` and `b` are 2 after -we change the list in `a` to point to `b`. At the end of `main`, Rust drops the -variable `b`, which decreases the reference count of the `b` `Rc` instance -from 2 to 1. The memory that `Rc` has on the heap won’t be dropped at -this point, because its reference count is 1, not 0. Then Rust drops `a`, which -decreases the reference count of the `a` `Rc` instance from 2 to 1 as -well. This instance’s memory can’t be dropped either, because the other -`Rc` instance still refers to it. The memory allocated to the list will -remain uncollected forever. To visualize this reference cycle, we’ve created a -diagram in Figure 15-4. +The reference count of the `Rc` instances in both `a` and `b` are 2 +after we change the list in `a` to point to `b`. At the end of `main`, Rust +drops the variable `b`, which decreases the reference count of the `b` +`Rc` instance from 2 to 1. The memory that `Rc` has on the heap +won’t be dropped at this point, because its reference count is 1, not 0. Then +Rust drops `a`, which decreases the reference count of the `a` `Rc` +instance from 2 to 1 as well. This instance’s memory can’t be dropped either, +because the other `Rc` instance still refers to it. The memory +allocated to the list will remain uncollected forever. To visualize this +reference cycle, we’ve created a diagram in Figure 15-4. -Reference cycle of lists -Figure 15-4: A reference cycle of lists `a` and `b` pointing to each other +Unmatched: GraphicSlug -If you uncomment the last `println!` and run the program, Rust will try to -print this cycle with `a` pointing to `b` pointing to `a` and so forth until it -overflows the stack. +Unmatched: CaptionLine + If you uncomment the last `println!` and run the program, Rust will try +to print this cycle with `a` pointing to `b` pointing to `a` and so forth until +it overflows the stack. Compared to a real-world program, the consequences creating a reference cycle in this example aren’t very dire: right after we create the reference cycle, @@ -1702,12 +1715,12 @@ than it needed and might overwhelm the system, causing it to run out of available memory. Creating reference cycles is not easily done, but it’s not impossible either. -If you have `RefCell` values that contain `Rc` values or similar nested -combinations of types with interior mutability and reference counting, you must -ensure that you don’t create cycles; you can’t rely on Rust to catch them. -Creating a reference cycle would be a logic bug in your program that you should -use automated tests, code reviews, and other software development practices to -minimize. +If you have `RefCell` values that contain `Rc` values or similar +nested combinations of types with interior mutability and reference counting, +you must ensure that you don’t create cycles; you can’t rely on Rust to catch +them. Creating a reference cycle would be a logic bug in your program that you +should use automated tests, code reviews, and other software development +practices to minimize. Another solution for avoiding reference cycles is reorganizing your data structures so that some references express ownership and some references don’t. @@ -1719,39 +1732,40 @@ Let’s look at an example using graphs made up of parent nodes and child nodes to see when non-ownership relationships are an appropriate way to prevent reference cycles. -### Preventing Reference Cycles: Turning an `Rc` into a `Weak` +### Preventing Reference Cycles Using Weak So far, we’ve demonstrated that calling `Rc::clone` increases the -`strong_count` of an `Rc` instance, and an `Rc` instance is only cleaned -up if its `strong_count` is 0. You can also create a *weak reference* to the -value within an `Rc` instance by calling `Rc::downgrade` and passing a -reference to the `Rc`. Strong references are how you can share ownership of -an `Rc` instance. Weak references don’t express an ownership relationship, -and their count doesn't affect when an `Rc` instance is cleaned up. They -won’t cause a reference cycle because any cycle involving some weak references -will be broken once the strong reference count of values involved is 0. +`strong_count` of an `Rc` instance, and an `Rc` instance is only +cleaned up if its `strong_count` is 0. You can also create a *weak reference* +to the value within an `Rc` instance by calling `Rc::downgrade` and +passing a reference to the `Rc`. Strong references are how you can share +ownership of an `Rc` instance. Weak references don’t express an ownership +relationship, and their count doesn’t affect when an `Rc` instance is +cleaned up. They won’t cause a reference cycle because any cycle involving some +weak references will be broken once the strong reference count of values +involved is 0. When you call `Rc::downgrade`, you get a smart pointer of type `Weak`. -Instead of increasing the `strong_count` in the `Rc` instance by 1, calling -`Rc::downgrade` increases the `weak_count` by 1. The `Rc` type uses -`weak_count` to keep track of how many `Weak` references exist, similar to -`strong_count`. The difference is the `weak_count` doesn’t need to be 0 for the -`Rc` instance to be cleaned up. +Instead of increasing the `strong_count` in the `Rc` instance by 1, +calling `Rc::downgrade` increases the `weak_count` by 1. The `Rc` type +uses `weak_count` to keep track of how many `Weak` references exist, similar +to `strong_count`. The difference is the `weak_count` doesn’t need to be 0 for +the `Rc` instance to be cleaned up. Because the value that `Weak` references might have been dropped, to do anything with the value that a `Weak` is pointing to, you must make sure the value still exists. Do this by calling the `upgrade` method on a `Weak` -instance, which will return an `Option>`. You’ll get a result of `Some` -if the `Rc` value has not been dropped yet and a result of `None` if the -`Rc` value has been dropped. Because `upgrade` returns an `Option>`, -Rust will ensure that the `Some` case and the `None` case are handled, and -there won’t be an invalid pointer. +instance, which will return an `Option>`. You’ll get a result of +`Some` if the `Rc` value has not been dropped yet and a result of `None` +if the `Rc` value has been dropped. Because `upgrade` returns an +`Option>`, Rust will ensure that the `Some` case and the `None` case +are handled, and there won’t be an invalid pointer. As an example, rather than using a list whose items know only about the next item, we’ll create a tree whose items know about their children items *and* their parent items. -#### Creating a Tree Data Structure: a `Node` with Child Nodes +#### Creating a Tree Data Structure: a Node with Child Nodes To start, we’ll build a tree with nodes that know about their child nodes. We’ll create a struct named `Node` that holds its own `i32` value as well as @@ -1796,8 +1810,8 @@ fn main() { } ``` -Listing 15-27: Creating a `leaf` node with no children and a `branch` node with -`leaf` as one of its children +Creating a `leaf` node with no children and a `branch` node with `leaf` as one +of its children We clone the `Rc` in `leaf` and store that in `branch`, meaning the `Node` in `leaf` now has two owners: `leaf` and `branch`. We can get from @@ -1838,35 +1852,35 @@ struct Node { } ``` -A node will be able to refer to its parent node but doesn’t own its parent. -In Listing 15-28, we update `main` to use this new definition so the `leaf` -node will have a way to refer to its parent, `branch`: +A node will be able to refer to its parent node but doesn’t own its parent. In +Listing 15-28, we update `main` to use this new definition so the `leaf` node +will have a way to refer to its parent, `branch`: -Filename: src/main.rs +Filename: src/main.rs ``` fn main() { let leaf = Rc::new(Node { value: 3, - [1] parent: RefCell::new(Weak::new()), + 1 parent: RefCell::new(Weak::new()), children: RefCell::new(vec![]), }); - [2] println!("leaf parent = {:?}", leaf.parent.borrow().upgrade()); + 2 println!("leaf parent = {:?}", leaf.parent.borrow().upgrade()); let branch = Rc::new(Node { value: 5, - [3] parent: RefCell::new(Weak::new()), + 3 parent: RefCell::new(Weak::new()), children: RefCell::new(vec![Rc::clone(&leaf)]), }); - [4] *leaf.parent.borrow_mut() = Rc::downgrade(&branch); + 4 *leaf.parent.borrow_mut() = Rc::downgrade(&branch); - [5] println!("leaf parent = {:?}", leaf.parent.borrow().upgrade()); + 5 println!("leaf parent = {:?}", leaf.parent.borrow().upgrade()); } ``` -Listing 15-28: A `leaf` node with a weak reference to its parent node `branch` +A `leaf` node with a weak reference to its parent node `branch` Creating the `leaf` node looks similar to Listing 15-27 with the exception of the `parent` field: `leaf` starts out without a parent, so we create a new, @@ -1886,8 +1900,8 @@ node. We still have `leaf` as one of the children of `branch`. Once we have the `Node` instance in `branch`, we can modify `leaf` to give it a `Weak` reference to its parent [4]. We use the `borrow_mut` method on the `RefCell>` in the `parent` field of `leaf`, and then we use the -`Rc::downgrade` function to create a `Weak` reference to `branch` from -the `Rc` in `branch.` +`Rc::downgrade` function to create a `Weak` reference to `branch` +from the `Rc` in `branch.` When we print the parent of `leaf` again [5], this time we’ll get a `Some` variant holding `branch`: now `leaf` can access its parent! When we print @@ -1904,13 +1918,13 @@ The lack of infinite output indicates that this code didn’t create a reference cycle. We can also tell this by looking at the values we get from calling `Rc::strong_count` and `Rc::weak_count`. -#### Visualizing Changes to `strong_count` and `weak_count` +#### Visualizing Changes to strong_count and weak_count -Let’s look at how the `strong_count` and `weak_count` values of the `Rc` -instances change by creating a new inner scope and moving the creation of -`branch` into that scope. By doing so, we can see what happens when `branch` is -created and then dropped when it goes out of scope. The modifications are shown -in Listing 15-29: +Let’s look at how the `strong_count` and `weak_count` values of the +`Rc` instances change by creating a new inner scope and moving the +creation of `branch` into that scope. By doing so, we can see what happens when +`branch` is created and then dropped when it goes out of scope. The +modifications are shown in Listing 15-29: Filename: src/main.rs @@ -1922,14 +1936,14 @@ fn main() { children: RefCell::new(vec![]), }); - [1] println!( + 1 println!( "leaf strong = {}, weak = {}", Rc::strong_count(&leaf), Rc::weak_count(&leaf), ); - [2] { - let branch = Rc::new(Node { + { + 2 let branch = Rc::new(Node { value: 5, parent: RefCell::new(Weak::new()), children: RefCell::new(vec![Rc::clone(&leaf)]), @@ -1937,21 +1951,24 @@ fn main() { *leaf.parent.borrow_mut() = Rc::downgrade(&branch); - [3] println!( + 3 println!( "branch strong = {}, weak = {}", Rc::strong_count(&branch), Rc::weak_count(&branch), ); - [4] println!( + 4 println!( "leaf strong = {}, weak = {}", Rc::strong_count(&leaf), Rc::weak_count(&leaf), ); - [5] } + 5 } - [6] println!("leaf parent = {:?}", leaf.parent.borrow().upgrade()); - [7] println!( + 6 println!( + "leaf parent = {:?}", + leaf.parent.borrow().upgrade() + ); + 7 println!( "leaf strong = {}, weak = {}", Rc::strong_count(&leaf), Rc::weak_count(&leaf), @@ -1959,8 +1976,8 @@ fn main() { } ``` -Listing 15-29: Creating `branch` in an inner scope and examining strong and -weak reference counts +Creating `branch` in an inner scope and examining strong and weak reference +counts After `leaf` is created, its `Rc` has a strong count of 1 and a weak count of 0 [1]. In the inner scope [2], we create `branch` and associate it @@ -1972,14 +1989,14 @@ clone of the `Rc` of `leaf` stored in `branch.children`, but will still have a weak count of 0. When the inner scope ends [5], `branch` goes out of scope and the strong count -of the `Rc` decreases to 0, so its `Node` is dropped. The weak count of 1 -from `leaf.parent` has no bearing on whether or not `Node` is dropped, so we +of the `Rc` decreases to 0, so its `Node` is dropped. The weak count of +1 from `leaf.parent` has no bearing on whether or not `Node` is dropped, so we don’t get any memory leaks! If we try to access the parent of `leaf` after the end of the scope, we’ll get -`None` again [6]. At the end of the program [7], the `Rc` in `leaf` has a -strong count of 1 and a weak count of 0, because the variable `leaf` is now the -only reference to the `Rc` again. +`None` again [6]. At the end of the program [7], the `Rc` in `leaf` has +a strong count of 1 and a weak count of 0, because the variable `leaf` is now +the only reference to the `Rc` again. All of the logic that manages the counts and value dropping is built into `Rc` and `Weak` and their implementations of the `Drop` trait. By @@ -2005,7 +2022,8 @@ memory leaks and how to prevent them using `Weak`. If this chapter has piqued your interest and you want to implement your own smart pointers, check out “The Rustonomicon” at -*https://doc.rust-lang.org/stable/nomicon/* for more useful information. +*https://doc.rust-lang.org/stable/nomicon* for more useful information. Next, we’ll talk about concurrency in Rust. You’ll even learn about a few new smart pointers. + diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index b7430c4270..dc1d4f0349 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -12,6 +12,7 @@ + @@ -58,7 +59,7 @@ - + 1. @@ -88,6 +89,12 @@ + + Filename: + + + + @@ -120,6 +127,15 @@ ``` + + ``` + + + + + ``` + + ``` @@ -131,7 +147,7 @@ - + @@ -141,7 +157,14 @@ - + + + > ### + + + + + > @@ -183,7 +206,7 @@ Unmatched: - + @@ -221,6 +244,25 @@ Unmatched: + + + + + + + [ + + ] + + + + + + + + + + From 1f8f74c48a99c9fc0bfaaf397edc58dfa078b5d9 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 7 Aug 2022 20:45:28 -0400 Subject: [PATCH 0373/1248] Notes to self --- TODO.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000000..d21738578f --- /dev/null +++ b/TODO.md @@ -0,0 +1,12 @@ +# In each chapter + +- [ ] Check diff +- [ ] Answer all comments +- [ ] Check indentation of --snip-- +- [ ] Check cross references +- [ ] Gray out unchanged lines +- [ ] Manual regeneration +- [ ] Check for upstream changes from last snapshot +- [ ] Check updated output +- [ ] Check line wrapping +- [ ] Index tags From 55f2474e718af7de86a59fccaa35235cd0222617 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 7 Aug 2022 21:31:32 -0400 Subject: [PATCH 0374/1248] Upgrade to rand 0.8.5 --- .../listing-02-02/Cargo.lock | 40 ++++++-------- .../listing-02-02/Cargo.toml | 2 +- .../listing-02-03/Cargo.lock | 16 ++---- .../listing-02-03/Cargo.toml | 2 +- .../listing-02-04/Cargo.lock | 16 ++---- .../listing-02-04/Cargo.toml | 2 +- .../listing-02-04/output.txt | 2 +- .../listing-02-05/Cargo.lock | 16 ++---- .../listing-02-05/Cargo.toml | 2 +- .../listing-02-06/Cargo.lock | 16 ++---- .../listing-02-06/Cargo.toml | 2 +- .../Cargo.lock | 16 ++---- .../Cargo.toml | 2 +- .../no-listing-04-looping/Cargo.lock | 16 ++---- .../no-listing-04-looping/Cargo.toml | 2 +- .../no-listing-05-quitting/Cargo.lock | 16 ++---- .../no-listing-05-quitting/Cargo.toml | 2 +- .../listing-07-18/Cargo.lock | 16 ++---- .../listing-07-18/Cargo.toml | 2 +- .../no-listing-01-use-std-unnested/Cargo.lock | 16 ++---- .../no-listing-01-use-std-unnested/Cargo.toml | 2 +- .../listing-09-13/Cargo.lock | 16 ++---- .../listing-09-13/Cargo.toml | 2 +- .../Cargo.lock | 16 ++---- .../Cargo.toml | 2 +- .../add/Cargo.lock | 16 ++---- .../add/add_one/Cargo.toml | 2 +- .../output-only-03-use-rand/add/Cargo.lock | 16 ++---- .../add/add_one/Cargo.toml | 2 +- src/ch02-00-guessing-game-tutorial.md | 55 +++++++++++-------- src/ch14-03-cargo-workspaces.md | 7 +-- 31 files changed, 117 insertions(+), 223 deletions(-) diff --git a/listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.lock b/listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.lock index 0a2f222c21..edc20385bd 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.lock +++ b/listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "cfg-if" version = "1.0.0" @@ -8,9 +10,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "getrandom" -version = "0.2.2" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8" +checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" dependencies = [ "cfg-if", "libc", @@ -26,33 +28,32 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.86" +version = "0.2.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c" +checksum = "505e71a4706fa491e9b1b55f51b95d4037d0821ee40131190475f692b35b009b" [[package]] name = "ppv-lite86" -version = "0.2.10" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" +checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] name = "rand_chacha" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", "rand_core", @@ -60,24 +61,15 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" diff --git a/listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.toml b/listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.toml index cc63f6f021..7eda67aeaf 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.lock b/listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.lock index 0a2f222c21..2ae9e459ea 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.lock +++ b/listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "cfg-if" version = "1.0.0" @@ -38,14 +40,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -67,15 +68,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.toml b/listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.toml index cc63f6f021..7eda67aeaf 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.lock b/listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.lock index 0a2f222c21..2ae9e459ea 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.lock +++ b/listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "cfg-if" version = "1.0.0" @@ -38,14 +40,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -67,15 +68,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.toml b/listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.toml index cc63f6f021..7eda67aeaf 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch02-guessing-game-tutorial/listing-02-04/output.txt b/listings/ch02-guessing-game-tutorial/listing-02-04/output.txt index 62fe8327fc..fbc0cec33d 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-04/output.txt +++ b/listings/ch02-guessing-game-tutorial/listing-02-04/output.txt @@ -5,7 +5,7 @@ $ cargo build Compiling ppv-lite86 v0.2.10 Compiling rand_core v0.6.2 Compiling rand_chacha v0.3.0 - Compiling rand v0.8.3 + Compiling rand v0.8.5 Compiling guessing_game v0.1.0 (file:///projects/guessing_game) error[E0308]: mismatched types --> src/main.rs:22:21 diff --git a/listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.lock b/listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.lock index 0a2f222c21..2ae9e459ea 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.lock +++ b/listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "cfg-if" version = "1.0.0" @@ -38,14 +40,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -67,15 +68,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.toml b/listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.toml index cc63f6f021..7eda67aeaf 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.lock b/listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.lock index 0a2f222c21..2ae9e459ea 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.lock +++ b/listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "cfg-if" version = "1.0.0" @@ -38,14 +40,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -67,15 +68,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.toml b/listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.toml index cc63f6f021..7eda67aeaf 100644 --- a/listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.lock b/listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.lock index 0a2f222c21..2ae9e459ea 100644 --- a/listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.lock +++ b/listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "cfg-if" version = "1.0.0" @@ -38,14 +40,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -67,15 +68,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.toml b/listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.toml index cc63f6f021..7eda67aeaf 100644 --- a/listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.lock b/listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.lock index 0a2f222c21..2ae9e459ea 100644 --- a/listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.lock +++ b/listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "cfg-if" version = "1.0.0" @@ -38,14 +40,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -67,15 +68,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.toml b/listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.toml index cc63f6f021..7eda67aeaf 100644 --- a/listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.lock b/listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.lock index 0a2f222c21..2ae9e459ea 100644 --- a/listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.lock +++ b/listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "cfg-if" version = "1.0.0" @@ -38,14 +40,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -67,15 +68,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.toml b/listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.toml index cc63f6f021..7eda67aeaf 100644 --- a/listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.toml +++ b/listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch07-managing-growing-projects/listing-07-18/Cargo.lock b/listings/ch07-managing-growing-projects/listing-07-18/Cargo.lock index 0a2f222c21..2ae9e459ea 100644 --- a/listings/ch07-managing-growing-projects/listing-07-18/Cargo.lock +++ b/listings/ch07-managing-growing-projects/listing-07-18/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "cfg-if" version = "1.0.0" @@ -38,14 +40,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -67,15 +68,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch07-managing-growing-projects/listing-07-18/Cargo.toml b/listings/ch07-managing-growing-projects/listing-07-18/Cargo.toml index 15b3fffcab..d508e9578d 100644 --- a/listings/ch07-managing-growing-projects/listing-07-18/Cargo.toml +++ b/listings/ch07-managing-growing-projects/listing-07-18/Cargo.toml @@ -4,4 +4,4 @@ version = "0.1.0" edition = "2021" [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch07-managing-growing-projects/no-listing-01-use-std-unnested/Cargo.lock b/listings/ch07-managing-growing-projects/no-listing-01-use-std-unnested/Cargo.lock index 0a2f222c21..2ae9e459ea 100644 --- a/listings/ch07-managing-growing-projects/no-listing-01-use-std-unnested/Cargo.lock +++ b/listings/ch07-managing-growing-projects/no-listing-01-use-std-unnested/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "cfg-if" version = "1.0.0" @@ -38,14 +40,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -67,15 +68,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch07-managing-growing-projects/no-listing-01-use-std-unnested/Cargo.toml b/listings/ch07-managing-growing-projects/no-listing-01-use-std-unnested/Cargo.toml index cc63f6f021..7eda67aeaf 100644 --- a/listings/ch07-managing-growing-projects/no-listing-01-use-std-unnested/Cargo.toml +++ b/listings/ch07-managing-growing-projects/no-listing-01-use-std-unnested/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch09-error-handling/listing-09-13/Cargo.lock b/listings/ch09-error-handling/listing-09-13/Cargo.lock index 0a2f222c21..2ae9e459ea 100644 --- a/listings/ch09-error-handling/listing-09-13/Cargo.lock +++ b/listings/ch09-error-handling/listing-09-13/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "cfg-if" version = "1.0.0" @@ -38,14 +40,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -67,15 +68,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch09-error-handling/listing-09-13/Cargo.toml b/listings/ch09-error-handling/listing-09-13/Cargo.toml index 15b3fffcab..d508e9578d 100644 --- a/listings/ch09-error-handling/listing-09-13/Cargo.toml +++ b/listings/ch09-error-handling/listing-09-13/Cargo.toml @@ -4,4 +4,4 @@ version = "0.1.0" edition = "2021" [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch09-error-handling/no-listing-09-guess-out-of-range/Cargo.lock b/listings/ch09-error-handling/no-listing-09-guess-out-of-range/Cargo.lock index 0a2f222c21..2ae9e459ea 100644 --- a/listings/ch09-error-handling/no-listing-09-guess-out-of-range/Cargo.lock +++ b/listings/ch09-error-handling/no-listing-09-guess-out-of-range/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "cfg-if" version = "1.0.0" @@ -38,14 +40,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -67,15 +68,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch09-error-handling/no-listing-09-guess-out-of-range/Cargo.toml b/listings/ch09-error-handling/no-listing-09-guess-out-of-range/Cargo.toml index 15b3fffcab..d508e9578d 100644 --- a/listings/ch09-error-handling/no-listing-09-guess-out-of-range/Cargo.toml +++ b/listings/ch09-error-handling/no-listing-09-guess-out-of-range/Cargo.toml @@ -4,4 +4,4 @@ version = "0.1.0" edition = "2021" [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/Cargo.lock b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/Cargo.lock index eec3a9e4b1..bf6974b580 100644 --- a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/Cargo.lock +++ b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "add_one" version = "0.1.0" @@ -45,14 +47,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -74,15 +75,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add_one/Cargo.toml b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add_one/Cargo.toml index fd4942ace4..bc758bd883 100644 --- a/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add_one/Cargo.toml +++ b/listings/ch14-more-about-cargo/no-listing-03-workspace-with-external-dependency/add/add_one/Cargo.toml @@ -4,4 +4,4 @@ version = "0.1.0" edition = "2021" [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/Cargo.lock b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/Cargo.lock index eec3a9e4b1..bf6974b580 100644 --- a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/Cargo.lock +++ b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "add_one" version = "0.1.0" @@ -45,14 +47,13 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "rand" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -74,15 +75,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" -dependencies = [ - "rand_core", -] - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add_one/Cargo.toml b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add_one/Cargo.toml index fd4942ace4..bc758bd883 100644 --- a/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add_one/Cargo.toml +++ b/listings/ch14-more-about-cargo/output-only-03-use-rand/add/add_one/Cargo.toml @@ -4,4 +4,4 @@ version = "0.1.0" edition = "2021" [dependencies] -rand = "0.8.3" +rand = "0.8.5" diff --git a/src/ch02-00-guessing-game-tutorial.md b/src/ch02-00-guessing-game-tutorial.md index bffbc05017..7f2b0cbb39 100644 --- a/src/ch02-00-guessing-game-tutorial.md +++ b/src/ch02-00-guessing-game-tutorial.md @@ -34,7 +34,8 @@ cd listings/ch02-guessing-game-tutorial rm -rf no-listing-01-cargo-new cargo new no-listing-01-cargo-new --name guessing_game cd no-listing-01-cargo-new -cargo run +cargo run > output.txt 2>&1 +cd ../../.. --> Filename: Cargo.toml @@ -282,7 +283,7 @@ values in one call to `println!` would look like this: let x = 5; let y = 10; -println!("x = {} and y = {}", x, y); +println!("x = {x} and y = {y}"); ``` This code would print `x = 5 and y = 10`. @@ -350,14 +351,14 @@ In the *Cargo.toml* file, everything that follows a header is part of that section that continues until another section starts. In `[dependencies]` you tell Cargo which external crates your project depends on and which versions of those crates you require. In this case, we specify the `rand` crate with the -semantic version specifier `0.8.3`. Cargo understands [Semantic +semantic version specifier `0.8.5`. Cargo understands [Semantic Versioning][semver] (sometimes called *SemVer*), which is a -standard for writing version numbers. The number `0.8.3` is actually shorthand -for `^0.8.3`, which means any version that is at least `0.8.3` but below +standard for writing version numbers. The number `0.8.5` is actually shorthand +for `^0.8.5`, which means any version that is at least `0.8.5` but below `0.9.0`. Cargo considers these versions to have public APIs compatible with version -`0.8.3`, and this specification ensures you’ll get the latest patch release +`0.8.5`, and this specification ensures you’ll get the latest patch release that will still compile with the code in this chapter. Any version `0.9.0` or greater is not guaranteed to have the same API as what the following examples use. @@ -367,26 +368,27 @@ Listing 2-2. ```console $ cargo build Updating crates.io index - Downloaded rand v0.8.3 - Downloaded libc v0.2.86 - Downloaded getrandom v0.2.2 + Downloaded rand v0.8.5 + Downloaded libc v0.2.127 + Downloaded getrandom v0.2.7 Downloaded cfg-if v1.0.0 - Downloaded ppv-lite86 v0.2.10 - Downloaded rand_chacha v0.3.0 - Downloaded rand_core v0.6.2 - Compiling rand_core v0.6.2 - Compiling libc v0.2.86 - Compiling getrandom v0.2.2 + Downloaded ppv-lite86 v0.2.16 + Downloaded rand_chacha v0.3.1 + Downloaded rand_core v0.6.3 + Compiling libc v0.2.127 + Compiling getrandom v0.2.7 Compiling cfg-if v1.0.0 - Compiling ppv-lite86 v0.2.10 - Compiling rand_chacha v0.3.0 - Compiling rand v0.8.3 + Compiling ppv-lite86 v0.2.16 + Compiling rand_core v0.6.3 + Compiling rand_chacha v0.3.1 + Compiling rand v0.8.5 Compiling guessing_game v0.1.0 (file:///projects/guessing_game) Finished dev [unoptimized + debuginfo] target(s) in 2.53s ``` @@ -439,7 +441,7 @@ reuse what it has already downloaded and compiled for those. Cargo has a mechanism that ensures you can rebuild the same artifact every time you or anyone else builds your code: Cargo will use only the versions of the dependencies you specified until you indicate otherwise. For example, say that -next week version 0.8.4 of the `rand` crate comes out, and that version +next week version 0.8.6 of the `rand` crate comes out, and that version contains an important bug fix, but it also contains a regression that will break your code. To handle this, Rust creates the *Cargo.lock* file the first time you run `cargo build`, so we now have this in the *guessing_game* @@ -451,7 +453,7 @@ the *Cargo.lock* file. When you build your project in the future, Cargo will see that the *Cargo.lock* file exists and use the versions specified there rather than doing all the work of figuring out versions again. This lets you have a reproducible build automatically. In other words, your project will -remain at `0.8.3` until you explicitly upgrade, thanks to the *Cargo.lock* +remain at `0.8.5` until you explicitly upgrade, thanks to the *Cargo.lock* file. Because the *Cargo.lock* file is important for reproducible builds, it's often checked into source control with the rest of the code in your project. @@ -461,8 +463,8 @@ When you *do* want to update a crate, Cargo provides the command `update`, which will ignore the *Cargo.lock* file and figure out all the latest versions that fit your specifications in *Cargo.toml*. Cargo will then write those versions to the *Cargo.lock* file. Otherwise, by default, Cargo will only look -for versions greater than `0.8.3` and less than `0.9.0`. If the `rand` crate -has released the two new versions `0.8.4` and `0.9.0` you would see the +for versions greater than `0.8.5` and less than `0.9.0`. If the `rand` crate +has released the two new versions `0.8.6` and `0.9.0` you would see the following if you ran `cargo update`: ```console $ cargo update Updating crates.io index - Updating rand v0.8.3 -> v0.8.4 + Updating rand v0.8.5 -> v0.8.6 ``` Cargo ignores the `0.9.0` release. At this point, you would also notice a change in your *Cargo.lock* file noting that the version of the `rand` crate -you are now using is `0.8.4`. To use `rand` version `0.9.0` or any version in +you are now using is `0.8.6`. To use `rand` version `0.9.0` or any version in the `0.9.x` series, you’d have to update the *Cargo.toml* file to look like this instead: @@ -626,6 +628,11 @@ arm in this scenario. However, the code in Listing 2-4 won’t compile yet. Let’s try it: + + ```console {{#include ../listings/ch02-guessing-game-tutorial/listing-02-04/output.txt}} ``` diff --git a/src/ch14-03-cargo-workspaces.md b/src/ch14-03-cargo-workspaces.md index 942d61b46e..55b1a2092b 100644 --- a/src/ch14-03-cargo-workspaces.md +++ b/src/ch14-03-cargo-workspaces.md @@ -224,9 +224,9 @@ copy output below; the output updating script doesn't handle subdirectories in p ```console $ cargo build Updating crates.io index - Downloaded rand v0.8.3 + Downloaded rand v0.8.5 --snip-- - Compiling rand v0.8.3 + Compiling rand v0.8.5 Compiling add_one v0.1.0 (file:///projects/add/add_one) warning: unused import: `rand` --> add_one/src/lib.rs:1:5 @@ -236,8 +236,7 @@ warning: unused import: `rand` | = note: `#[warn(unused_imports)]` on by default -warning: 1 warning emitted - +warning: `add_one` (lib) generated 1 warning Compiling adder v0.1.0 (file:///projects/add/adder) Finished dev [unoptimized + debuginfo] target(s) in 10.18s ``` From 71c8143c96921a8b2f05f6aedd9f2e6ec9198930 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 8 Aug 2022 09:06:08 -0400 Subject: [PATCH 0375/1248] Get the latest snapshot of chapter 2 --- nostarch/chapter02.md | 158 +++++++----------------------------------- 1 file changed, 24 insertions(+), 134 deletions(-) diff --git a/nostarch/chapter02.md b/nostarch/chapter02.md index b7986c0ded..57f1f00a39 100644 --- a/nostarch/chapter02.md +++ b/nostarch/chapter02.md @@ -50,9 +50,6 @@ edition = "2021" [dependencies] ``` - - - As you saw in Chapter 1, `cargo new` generates a “Hello, world!” program for you. Check out the *src/main.rs* file: @@ -108,13 +105,6 @@ fn main() { } ``` - - - Listing 2-1: Code that gets a guess from the user and prints it This code contains a lot of information, so let’s go over it line by line. To @@ -148,11 +138,6 @@ are no parameters, and the curly bracket, `{`, starts the body of the function. As you also learned in Chapter 1, `println!` is a macro that prints a string to the screen: - - - ``` println!("Guess the number!"); @@ -183,12 +168,6 @@ value, the value won't change. We’ll be discussing this concept in detail in the “Variables and Mutability” section in Chapter 3. To make a variable mutable, we add `mut` before the variable name: - - - ``` let apples = 5; // immutable let mut bananas = 5; // mutable @@ -212,12 +191,6 @@ implemented on a type, in this case `String`. This `new` function creates a new, empty string. You’ll find a `new` function on many types, because it’s a common name for a function that makes a new value of some kind. - - - In full, the `let mut guess = String::new();` line has created a mutable variable that is currently bound to a new, empty instance of a `String`. Whew! @@ -263,14 +236,6 @@ We’re still working on this line of code. We’re now discussing a third line text, but note that it’s still part of a single logical line of code. The next part is this method: - - - - ``` .expect("Failed to read line"); ``` @@ -291,13 +256,6 @@ we pass to it, but it also returns a `Result` value. `Result` is an *enumeration*, often called an *enum*, which is a type that can be in one of multiple possible states. We call each possible state a *variant*. - - - - Chapter 6 will cover enums in more detail. The purpose of these `Result` types is to encode error-handling information. @@ -350,8 +308,6 @@ the code so far: println!("You guessed: {guess}"); ``` - - This line prints the string that now contains the user’s input. The `{}` set of curly brackets is a placeholder: think of `{}` as little crab pincers that hold a value in place. You can print more than one value using curly brackets: the @@ -365,8 +321,6 @@ let y = 10; println!("x = {x} and y = {y}"); ``` - - This code would print `x = 5 and y = 10`. @@ -404,9 +358,6 @@ we’ve been building is a *binary crate*, which is an executable. The `rand` crate is a *library crate*, which contains code intended to be used in other programs and can't be executed on its own. - - - Cargo’s coordination of external crates is where Cargo really shines. Before we can write code that uses `rand`, we need to modify the *Cargo.toml* file to include the `rand` crate as a dependency. Open that file now and add the @@ -417,24 +368,20 @@ this version number, or the code examples in this tutorial may not work. Filename: Cargo.toml ``` -rand = "0.8.3" +rand = "0.8.5" ``` - - In the *Cargo.toml* file, everything that follows a header is part of that section that continues until another section starts. In `[dependencies]` you tell Cargo which external crates your project depends on and which versions of those crates you require. In this case, we specify the `rand` crate with the -semantic version specifier `0.8.3`. Cargo understands Semantic Versioning +semantic version specifier `0.8.5`. Cargo understands Semantic Versioning (sometimes called *SemVer*), which is a standard for writing version numbers. -The number `0.8.3` is actually shorthand for `^0.8.3`, which means any version -that is at least `0.8.3` but below `0.9.0`. +The number `0.8.5` is actually shorthand for `^0.8.5`, which means any version +that is at least `0.8.5` but below `0.9.0`. Cargo considers these versions to have public APIs compatible with version -`0.8.3`, and this specification ensures you’ll get the latest patch release +`0.8.5`, and this specification ensures you’ll get the latest patch release that will still compile with the code in this chapter. Any version `0.9.0` or greater is not guaranteed to have the same API as what the following examples use. @@ -445,37 +392,23 @@ Listing 2-2. ``` $ cargo build Updating crates.io index - Downloaded rand v0.8.3 - Downloaded libc v0.2.86 - Downloaded getrandom v0.2.2 + Downloaded rand v0.8.5 + Downloaded libc v0.2.127 + Downloaded getrandom v0.2.7 Downloaded cfg-if v1.0.0 - Downloaded ppv-lite86 v0.2.10 - Downloaded rand_chacha v0.3.0 - Downloaded rand_core v0.6.2 - Compiling rand_core v0.6.2 - Compiling libc v0.2.86 - Compiling getrandom v0.2.2 - Compiling cfg-if v1.0.0 - Compiling ppv-lite86 v0.2.10 - Compiling rand_chacha v0.3.0 - Compiling rand v0.8.3 - Compiling guessing_game v0.1.0 (file:///projects/guessing_game) - Finished dev [unoptimized + debuginfo] target(s) in 2.53s -``` - - + Compiling guessing_game v0.1.0 (file:///projects/guessing_game) + Finished dev [unoptimized + debuginfo] target(s) in 2.53s +``` Listing 2-2: The output from running `cargo build` after adding the rand crate as a dependency @@ -520,59 +453,44 @@ reuse what it has already downloaded and compiled for those. Cargo has a mechanism that ensures you can rebuild the same artifact every time you or anyone else builds your code: Cargo will use only the versions of the dependencies you specified until you indicate otherwise. For example, say that -next week version 0.8.4 of the `rand` crate comes out, and that version +next week version 0.8.6 of the `rand` crate comes out, and that version contains an important bug fix, but it also contains a regression that will break your code. To handle this, Rust creates the *Cargo.lock* file the first time you run `cargo build`, so we now have this in the *guessing_game* directory. - - - When you build a project for the first time, Cargo figures out all the versions of the dependencies that fit the criteria and then writes them to the *Cargo.lock* file. When you build your project in the future, Cargo will see that the *Cargo.lock* file exists and use the versions specified there rather than doing all the work of figuring out versions again. This lets you have a reproducible build automatically. In other words, your project will -remain at `0.8.3` until you explicitly upgrade, thanks to the *Cargo.lock* +remain at `0.8.5` until you explicitly upgrade, thanks to the *Cargo.lock* file. Because the *Cargo.lock* file is important for reproducible builds, it's often checked into source control with the rest of the code in your project. - - - #### Updating a Crate to Get a New Version When you *do* want to update a crate, Cargo provides the command `update`, which will ignore the *Cargo.lock* file and figure out all the latest versions that fit your specifications in *Cargo.toml*. Cargo will then write those versions to the *Cargo.lock* file. Otherwise, by default, Cargo will only look -for versions greater than `0.8.3` and less than `0.9.0`. If the `rand` crate -has released the two new versions `0.8.4` and `0.9.0` you would see the +for versions greater than `0.8.5` and less than `0.9.0`. If the `rand` crate +has released the two new versions `0.8.6` and `0.9.0` you would see the following if you ran `cargo update`: ``` $ cargo update Updating crates.io index - Updating rand v0.8.3 -> v0.8.4 + Updating rand v0.8.5 -> v0.8.6 ``` Cargo ignores the `0.9.0` release. At this point, you would also notice a change in your *Cargo.lock* file noting that the version of the `rand` crate -you are now using is `0.8.4`. To use `rand` version `0.9.0` or any version in +you are now using is `0.8.6`. To use `rand` version `0.9.0` or any version in the `0.9.x` series, you’d have to update the *Cargo.toml* file to look like this instead: - - - ``` [dependencies] rand = "0.9.0" @@ -617,23 +535,8 @@ fn main() { } ``` - - - - Listing 2-3: Adding code to generate a random number - - - First, we add the line `use rand::Rng` [1]. The `Rng` trait defines methods that random number generators implement, and this trait must be in scope for us to use those methods. Chapter 10 will cover traits in detail. @@ -751,20 +654,15 @@ code in that arm will execute and print `Too big!` to the screen. The `match` expression ends after the first successful match, so it won’t look at the last arm in this scenario. - - - However, the code in Listing 2-4 won’t compile yet. Let’s try it: ``` $ cargo build Compiling guessing_game v0.1.0 (file:///projects/guessing_game) error[E0308]: mismatched types - --> src/main.rs:22:21 + --> src/main.rs:26:21 | -22 | match guess.cmp(&secret_number) { +26 | match guess.cmp(&secret_number) { | ^^^^^^^^^^^^^^ expected struct `String`, found integer | = note: expected reference `&String` @@ -782,9 +680,6 @@ an `i32`, which is the type of `secret_number` unless you add type information elsewhere that would cause Rust to infer a different numerical type. The reason for the error is that Rust cannot compare a string and a number type. - - - Ultimately, we want to convert the `String` the program reads as input into a real number type so we can compare it numerically to the secret number. We do so by adding this line to the `main` function body: @@ -843,11 +738,6 @@ comparison with `secret_number` means that Rust will infer that `secret_number` should be a `u32` as well. So now the comparison will be between two values of the same type! - - - The `parse` method will only work on characters that can logically be converted into numbers and so can easily cause errors. If, for example, the string contained `A👍%`, there would be no way to convert that to a number. Because it From 1dba7b487ab766b375c00ba39adfa346eef1695a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 8 Aug 2022 20:37:37 -0400 Subject: [PATCH 0376/1248] Messy snapshot of chapter 2 docx --- nostarch/chapter02.md | 1160 +++++++++++++++++++++++++++++----- nostarch/docx/chapter02.docx | Bin 0 -> 85526 bytes 2 files changed, 1000 insertions(+), 160 deletions(-) create mode 100644 nostarch/docx/chapter02.docx diff --git a/nostarch/chapter02.md b/nostarch/chapter02.md index 57f1f00a39..62df4d7344 100644 --- a/nostarch/chapter02.md +++ b/nostarch/chapter02.md @@ -1,8 +1,3 @@ - [TOC] @@ -12,7 +7,7 @@ Let’s jump into Rust by working through a hands-on project together! This chapter introduces you to a few common Rust concepts by showing you how to use them in a real program. You’ll learn about `let`, `match`, methods, associated functions, using external crates, and more! In the following chapters, we’ll -explore these ideas in more detail. In this chapter, you’ll practice the +explore these ideas in more detail. In this chapter, you’ll just practice the fundamentals. We’ll implement a classic beginner programming problem: a guessing game. Here’s @@ -28,6 +23,9 @@ Chapter 1 and make a new project using Cargo, like so: ``` $ cargo new guessing_game +``` + +``` $ cd guessing_game ``` @@ -41,12 +39,34 @@ Filename: Cargo.toml ``` [package] +``` + +``` name = "guessing_game" +``` + +``` version = "0.1.0" +``` + +``` edition = "2021" +``` + +``` -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +``` + +``` +# See more keys and their definitions at +https://doc.rust-lang.org/cargo/reference/manifest.html +``` + +``` + +``` +``` [dependencies] ``` @@ -57,7 +77,13 @@ Filename: src/main.rs ``` fn main() { +``` + +``` println!("Hello, world!"); +``` + +``` } ``` @@ -66,9 +92,21 @@ using the `cargo run` command: ``` $ cargo run +``` + +``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 1.50s +``` + +``` Running `target/debug/guessing_game` +``` + +``` Hello, world! ``` @@ -89,36 +127,82 @@ Filename: src/main.rs ``` use std::io; +``` + +``` + +``` +``` fn main() { +``` + +``` println!("Guess the number!"); +``` + +``` + +``` +``` println!("Please input your guess."); +``` + +``` + +``` +``` let mut guess = String::new(); +``` + +``` + +``` +``` io::stdin() +``` + +``` .read_line(&mut guess) +``` + +``` .expect("Failed to read line"); +``` + +``` + +``` +``` println!("You guessed: {guess}"); +``` + +``` } ``` -Listing 2-1: Code that gets a guess from the user and prints it +Code that gets a guess from the user and prints it + +Prod: Please renumber the listing captions for this chapter—Listing 2-1, +Listing 2-2, etc. This code contains a lot of information, so let’s go over it line by line. To obtain user input and then print the result as output, we need to bring the -`io` input/output library into scope. The `io` library comes from the -standard library, known as `std`: +`io` input/output library into scope. The `io` library comes from the standard +library, known as `std`: ``` use std::io; ``` -By default, Rust has a set of items defined in the standard library that it brings -into the scope of every program. This set is called the *prelude*, and you can -see everything in it at *https://doc.rust-lang.org/std/prelude/index.html*. +By default, Rust has a set of items defined in the standard library that it +brings into the scope of every program. This set is called the *prelude*, and +you can see everything in it at +*https://doc.rust-lang.org/std/prelude/index.html*. If a type you want to use isn’t in the prelude, you have to bring that type into scope explicitly with a `use` statement. Using the `std::io` library @@ -140,7 +224,13 @@ the screen: ``` println!("Guess the number!"); +``` + +``` + +``` +``` println!("Please input your guess."); ``` @@ -164,31 +254,34 @@ let apples = 5; This line creates a new variable named `apples` and binds it to the value 5. In Rust, variables are immutable by default, meaning once we give the variable a -value, the value won't change. We’ll be discussing this concept in detail in -the “Variables and Mutability” section in Chapter 3. To make a variable -mutable, we add `mut` before the variable name: +value, the value won’t change. We’ll be discussing this concept in detail in +“Variables and Mutability” on page XX. To make a variable mutable, we add `mut` +before the variable name: ``` let apples = 5; // immutable +``` + +``` let mut bananas = 5; // mutable ``` -> Note: The `//` syntax starts a comment that continues until the end of the -> line. Rust ignores everything in comments. We’ll discuss comments in more -> detail in Chapter 3. +> NoteThe `//` syntax starts a comment that continues until the end of the +line. Rust ignores everything in comments. We’ll discuss comments in more +detail in Chapter 3. Returning to the guessing game program, you now know that `let mut guess` will introduce a mutable variable named `guess`. The equal sign (`=`) tells Rust we -want to bind something to the variable now. On the right of the equals sign is +want to bind something to the variable now. On the right of the equal sign is the value that `guess` is bound to, which is the result of calling `String::new`, a function that returns a new instance of a `String`. `String` is a string type provided by the standard library that is a growable, UTF-8 encoded bit of text. The `::` syntax in the `::new` line indicates that `new` is an associated -function of the `String` type. An *associated function* is a function that’s +function of the `String` type. An *associated function* is a function that’s implemented on a type, in this case `String`. This `new` function creates a -new, empty string. You’ll find a `new` function on many types, because it’s a +new, empty string. You’ll find a `new` function on many types because it’s a common name for a function that makes a new value of some kind. In full, the `let mut guess = String::new();` line has created a mutable @@ -203,14 +296,17 @@ input: ``` io::stdin() +``` + +``` .read_line(&mut guess) ``` -If we hadn’t imported the `io` library with `use std::io` at the beginning of -the program, we could still use the function by writing this function call as -`std::io::stdin`. The `stdin` function returns an instance of `std::io::Stdin`, -which is a type that represents a handle to the standard input for your -terminal. +If we hadn’t imported the `io` library with `use std::``io``;` at the beginning +of the program, we could still use the function by writing this function call +as `std::io::stdin`. The `stdin` function returns an instance of +`std::io::Stdin`, which is a type that represents a handle to the standard +input for your terminal. Next, the line `.read_line(&mut guess)` calls the `read_line` method on the standard input handle to get input from the user. We’re also passing `&mut @@ -225,12 +321,12 @@ let multiple parts of your code access one piece of data without needing to copy that data into memory multiple times. References are a complex feature, and one of Rust’s major advantages is how safe and easy it is to use references. You don’t need to know a lot of those details to finish this -program. For now, all you need to know is that like variables, references are +program. For now, all you need to know is that, like variables, references are immutable by default. Hence, you need to write `&mut guess` rather than -`&guess` to make it mutable. (Chapter 4 will explain references more +`&guess` to make it mutable. (Chapter 4 will explain references more thoroughly.) -### Handling Potential Failure with the `Result` Type +### Handling Potential Failure with Result We’re still working on this line of code. We’re now discussing a third line of text, but note that it’s still part of a single logical line of code. The next @@ -259,7 +355,7 @@ multiple possible states. We call each possible state a *variant*. Chapter 6 will cover enums in more detail. The purpose of these `Result` types is to encode error-handling information. -`Result`'s variants are `Ok` and `Err`. The `Ok` variant indicates the +`Result`’s variants are `Ok` and `Err`. The `Ok` variant indicates the operation was successful, and inside `Ok` is the successfully generated value. The `Err` variant means the operation failed, and `Err` contains information about how or why the operation failed. @@ -278,28 +374,64 @@ If you don’t call `expect`, the program will compile, but you’ll get a warni ``` $ cargo build +``` + +``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +``` warning: unused `Result` that must be used +``` + +``` --> src/main.rs:10:5 +``` + +``` | +``` + +``` 10 | io::stdin().read_line(&mut guess); +``` + +``` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +``` + +``` | +``` + +``` = note: `#[warn(unused_must_use)]` on by default +``` + +``` = note: this `Result` may be an `Err` variant, which should be handled +``` + +``` +``` + +``` warning: `guessing_game` (bin "guessing_game") generated 1 warning +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.59s ``` Rust warns that you haven’t used the `Result` value returned from `read_line`, indicating that the program hasn’t handled a possible error. -The right way to suppress the warning is to actually write error handling, but -in our case we just want to crash this program when a problem occurs, so we can -use `expect`. You’ll learn about recovering from errors in Chapter 9. +The right way to suppress the warning is to actually write error-handling code, +but in our case we just want to crash this program when a problem occurs, so we +can use `expect`. You’ll learn about recovering from errors in Chapter 9. -### Printing Values with `println!` Placeholders +### Printing Values with println! Placeholders Aside from the closing curly bracket, there’s only one more line to discuss in the code so far: @@ -317,25 +449,55 @@ values in one call to `println!` would look like this: ``` let x = 5; +``` + +``` let y = 10; +``` + +``` +``` + +``` println!("x = {x} and y = {y}"); ``` -This code would print `x = 5 and y = 10`. -### Testing the First Part +Unmatched: BodyContinued + ### Testing the First Part Let’s test the first part of the guessing game. Run it using `cargo run`: ``` $ cargo run +``` + +``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 6.44s +``` + +``` Running `target/debug/guessing_game` +``` + +``` Guess the number! +``` + +``` Please input your guess. +``` + +``` 6 +``` + +``` You guessed: 6 ``` @@ -354,19 +516,23 @@ library. However, the Rust team does provide a `rand` crate at ### Using a Crate to Get More Functionality Remember that a crate is a collection of Rust source code files. The project -we’ve been building is a *binary crate*, which is an executable. The `rand` -crate is a *library crate*, which contains code intended to be used in other -programs and can't be executed on its own. +we’ve been building is a *binary crate* , which is an executable. The `rand` +crate is a *library crate*, which contains code that is intended to be used in +other programs and can’t be executed on its own. Cargo’s coordination of external crates is where Cargo really shines. Before we can write code that uses `rand`, we need to modify the *Cargo.toml* file to include the `rand` crate as a dependency. Open that file now and add the -following line to the bottom beneath the `[dependencies]` section header that +following line to the bottom, beneath the `[dependencies]` section header that Cargo created for you. Be sure to specify `rand` exactly as we have here, with -this version number, or the code examples in this tutorial may not work. +this version number, or the code examples in this tutorial may not work: Filename: Cargo.toml +``` +[dependencies] +``` + ``` rand = "0.8.5" ``` @@ -375,51 +541,101 @@ In the *Cargo.toml* file, everything that follows a header is part of that section that continues until another section starts. In `[dependencies]` you tell Cargo which external crates your project depends on and which versions of those crates you require. In this case, we specify the `rand` crate with the -semantic version specifier `0.8.5`. Cargo understands Semantic Versioning +semantic version specifier `0.8.``5`. Cargo understands Semantic Versioning (sometimes called *SemVer*), which is a standard for writing version numbers. -The number `0.8.5` is actually shorthand for `^0.8.5`, which means any version -that is at least `0.8.5` but below `0.9.0`. +The specifier `0.8.``5` is actually shorthand for `^0.8.``5`, which means any +version that is at least 0.8.5 but below 0.9.0. Cargo considers these versions to have public APIs compatible with version -`0.8.5`, and this specification ensures you’ll get the latest patch release -that will still compile with the code in this chapter. Any version `0.9.0` or -greater is not guaranteed to have the same API as what the following examples -use. +0.8.5, and this specification ensures you’ll get the latest patch release that +will still compile with the code in this chapter. Any version 0.9.0 or greater +is not guaranteed to have the same API as what the following examples use. Now, without changing any of the code, let’s build the project, as shown in Listing 2-2. ``` $ cargo build +``` + +``` Updating crates.io index +``` + +``` Downloaded rand v0.8.5 +``` + +``` Downloaded libc v0.2.127 +``` + +``` Downloaded getrandom v0.2.7 +``` + +``` Downloaded cfg-if v1.0.0 +``` + +``` Downloaded ppv-lite86 v0.2.16 +``` + +``` Downloaded rand_chacha v0.3.1 +``` + +``` Downloaded rand_core v0.6.3 +``` + +``` + Compiling rand_core v0.6.3 +``` + +``` Compiling libc v0.2.127 +``` + +``` Compiling getrandom v0.2.7 +``` + +``` Compiling cfg-if v1.0.0 +``` + +``` Compiling ppv-lite86 v0.2.16 - Compiling rand_core v0.6.3 +``` + +``` Compiling rand_chacha v0.3.1 +``` + +``` Compiling rand v0.8.5 +``` + +``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 2.53s ``` -Listing 2-2: The output from running `cargo build` after adding the rand crate -as a dependency +The output from running `cargo build` after adding the rand crate as a +dependency You may see different version numbers (but they will all be compatible with the -code, thanks to SemVer!), different lines (depending on the operating system), +code, thanks to SemVer!) , different lines (depending on the operating system), and the lines may be in a different order. When we include an external dependency, Cargo fetches the latest versions of everything that dependency needs from the *registry*, which is a copy of data -from Crates.io at *https://crates.io/*. Crates.io is where people in the Rust +from Crates.io at *https://crates.io*. Crates.io is where people in the Rust ecosystem post their open source Rust projects for others to use. After updating the registry, Cargo checks the `[dependencies]` section and @@ -435,20 +651,26 @@ about them in your *Cargo.toml* file. Cargo also knows that you haven’t change anything about your code, so it doesn’t recompile that either. With nothing to do, it simply exits. -If you open up the *src/main.rs* file, make a trivial change, and then save it -and build again, you’ll only see two lines of output: +If you open the *src/main.rs* file, make a trivial change, and then save it and +build again, you’ll only see two lines of output: ``` $ cargo build +``` + +``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 2.53 secs ``` -These lines show Cargo only updates the build with your tiny change to the +These lines show that Cargo only updates the build with your tiny change to the *src/main.rs* file. Your dependencies haven’t changed, so Cargo knows it can reuse what it has already downloaded and compiled for those. -#### Ensuring Reproducible Builds with the *Cargo.lock* File +#### Ensuring Reproducible Builds with the Cargo.lock File Cargo has a mechanism that ensures you can rebuild the same artifact every time you or anyone else builds your code: Cargo will use only the versions of the @@ -459,15 +681,15 @@ break your code. To handle this, Rust creates the *Cargo.lock* file the first time you run `cargo build`, so we now have this in the *guessing_game* directory. -When you build a project for the first time, Cargo figures out all the -versions of the dependencies that fit the criteria and then writes them to -the *Cargo.lock* file. When you build your project in the future, Cargo will -see that the *Cargo.lock* file exists and use the versions specified there +When you build a project for the first time, Cargo figures out all the versions +of the dependencies that fit the criteria and then writes them to the +*Cargo.lock* file. When you build your project in the future, Cargo will see +that the *Cargo.lock* file exists and will use the versions specified there rather than doing all the work of figuring out versions again. This lets you have a reproducible build automatically. In other words, your project will -remain at `0.8.5` until you explicitly upgrade, thanks to the *Cargo.lock* -file. Because the *Cargo.lock* file is important for reproducible builds, it's -often checked into source control with the rest of the code in your project. +remain at 0.8.5 until you explicitly upgrade, thanks to the *Cargo.lock* file. +Because the *Cargo.lock* file is important for reproducible builds, it’s often +checked into source control with the rest of the code in your project. #### Updating a Crate to Get a New Version @@ -475,24 +697,32 @@ When you *do* want to update a crate, Cargo provides the command `update`, which will ignore the *Cargo.lock* file and figure out all the latest versions that fit your specifications in *Cargo.toml*. Cargo will then write those versions to the *Cargo.lock* file. Otherwise, by default, Cargo will only look -for versions greater than `0.8.5` and less than `0.9.0`. If the `rand` crate -has released the two new versions `0.8.6` and `0.9.0` you would see the -following if you ran `cargo update`: +for versions greater than 0.8.5 and less than 0.9.0. If the `rand` crate has +released the two new versions 0.8.6 and 0.9.0, you would see the following if +you ran `cargo update`: ``` $ cargo update +``` + +``` Updating crates.io index +``` + +``` Updating rand v0.8.5 -> v0.8.6 ``` -Cargo ignores the `0.9.0` release. At this point, you would also notice a -change in your *Cargo.lock* file noting that the version of the `rand` crate -you are now using is `0.8.6`. To use `rand` version `0.9.0` or any version in -the `0.9.x` series, you’d have to update the *Cargo.toml* file to look like -this instead: +Cargo ignores the 0.9.0 release. At this point, you would also notice a change +in your *Cargo.lock* file noting that the version of the `rand` crate you are +now using is 0.8.6. To use `rand` version 0.9.0 or any version in the 0.9.x +series, you’d have to update the *Cargo.toml* file to look like this instead: ``` [dependencies] +``` + +``` rand = "0.9.0" ``` @@ -514,77 +744,185 @@ Filename: src/main.rs ``` use std::io; -[1]use rand::Rng; +``` + +``` +1 use rand::Rng; +``` +``` + +``` + +``` fn main() { +``` + +``` println!("Guess the number!"); +``` - [2] let secret_number = rand::thread_rng().gen_range(1..=100); +``` - [3] println!("The secret number is: {secret_number}"); +``` - println!("Please input your guess."); +``` + 2 let secret_number = rand::thread_rng().gen_range(1..=100); +``` - let mut guess = String::new(); +``` +``` + +``` + 3 println!("The secret number is: {secret_number}"); +``` + +``` + +``` + +``` + println!("Please input your guess."); +``` + +``` + +``` + +``` + let mut guess = String::new(); +``` + +``` + +``` + +``` io::stdin() +``` + +``` .read_line(&mut guess) +``` + +``` .expect("Failed to read line"); +``` + +``` + +``` +``` println!("You guessed: {guess}"); +``` + +``` } ``` -Listing 2-3: Adding code to generate a random number +Adding code to generate a random number -First, we add the line `use rand::Rng` [1]. The `Rng` trait defines methods +First we add the line `use rand::``Rng``;` [1]. The `Rng` trait defines methods that random number generators implement, and this trait must be in scope for us to use those methods. Chapter 10 will cover traits in detail. Next, we’re adding two lines in the middle. In the first line [2], we call the `rand::thread_rng` function that gives us the particular random number -generator that we’re going to use: one that is local to the current thread of -execution and seeded by the operating system. Then we call the `gen_range` +generator we’re going to use: one that is local to the current thread of +execution and is seeded by the operating system. Then we call the `gen_range` method on the random number generator. This method is defined by the `Rng` -trait that we brought into scope with the `use rand::Rng` statement. The +trait that we brought into scope with the `use rand::``Rng``;` statement. The `gen_range` method takes a range expression as an argument and generates a random number in the range. The kind of range expression we’re using here takes the form `start..=end` and is inclusive on the lower and upper bounds, so we need to specify `1..=100` to request a number between 1 and 100. -> Note: You won’t just know which traits to use and which methods and functions -> to call from a crate, so each crate has documentation with instructions for -> using it. Another neat feature of Cargo is that running the `cargo -> doc --open` command will build documentation provided by all of your -> dependencies locally and open it in your browser. If you’re interested in -> other functionality in the `rand` crate, for example, run `cargo doc --open` -> and click `rand` in the sidebar on the left. +> NoteYou won’t just know which traits to use and which methods and functions +to call from a crate, so each crate has documentation with instructions for +using it. Another neat feature of Cargo is that running the `cargo doc +--o``pen` command will build documentation provided by all your dependencies +locally and open it in your browser. If you’re interested in other +functionality in the `rand` crate, for example, run `cargo doc --open` and +click `rand` in the sidebar on the left. -The second new line [3] prints the secret number. This is useful while -we’re developing the program to be able to test it, but we’ll delete it from -the final version. It’s not much of a game if the program prints the answer as -soon as it starts! +The second new line [3] prints the secret number. This is useful while we’re +developing the program to be able to test it, but we’ll delete it from the +final version. It’s not much of a game if the program prints the answer as soon +as it starts! Try running the program a few times: ``` $ cargo run +``` + +``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 2.53s +``` + +``` Running `target/debug/guessing_game` +``` + +``` Guess the number! +``` + +``` The secret number is: 7 +``` + +``` Please input your guess. +``` + +``` 4 +``` + +``` You guessed: 4 +``` + +``` +``` + +``` $ cargo run +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.02s +``` + +``` Running `target/debug/guessing_game` +``` + +``` Guess the number! +``` + +``` The secret number is: 83 +``` + +``` Please input your guess. +``` + +``` 5 +``` + +``` You guessed: 5 ``` @@ -594,30 +932,72 @@ You should get different random numbers, and they should all be numbers between ## Comparing the Guess to the Secret Number Now that we have user input and a random number, we can compare them. That step -is shown in Listing 2-4. Note that this code won’t compile quite yet, as we -will explain. +is shown in Listing 2-4. Note that this code won’t compile just yet, as we will +explain. Filename: src/main.rs ``` use rand::Rng; -[1]use std::cmp::Ordering; +``` + +``` +1 use std::cmp::Ordering; +``` + +``` use std::io; +``` + +``` + +``` +``` fn main() { - // --snip-- +``` + +``` + --snip-- +``` + +``` + +``` +``` println!("You guessed: {guess}"); +``` + +``` + +``` + +``` + 2 match guess.3 cmp(&secret_number) { +``` - match[2] guess.cmp(&secret_number)[3] { +``` Ordering::Less => println!("Too small!"), +``` + +``` Ordering::Greater => println!("Too big!"), +``` + +``` Ordering::Equal => println!("You win!"), +``` + +``` } +``` + +``` } ``` -Listing 2-4: Handling the possible return values of comparing two numbers +Handling the possible return values of comparing two numbers First we add another `use` statement [1], bringing a type called `std::cmp::Ordering` into scope from the standard library. The `Ordering` type @@ -627,7 +1007,7 @@ the three outcomes that are possible when you compare two values. Then we add five new lines at the bottom that use the `Ordering` type. The `cmp` method [3] compares two values and can be called on anything that can be compared. It takes a reference to whatever you want to compare with: here it’s -comparing the `guess` to the `secret_number`. Then it returns a variant of the +comparing `guess` to `secret_number`. Then it returns a variant of the `Ordering` enum we brought into scope with the `use` statement. We use a `match` expression [2] to decide what to do next based on which variant of `Ordering` was returned from the call to `cmp` with the values in `guess` and @@ -637,14 +1017,16 @@ A `match` expression is made up of *arms*. An arm consists of a *pattern* to match against, and the code that should be run if the value given to `match` fits that arm’s pattern. Rust takes the value given to `match` and looks through each arm’s pattern in turn. Patterns and the `match` construct are -powerful Rust features that let you express a variety of situations your code -might encounter and make sure that you handle them all. These features will be +powerful Rust features: they let you express a variety of situations your code +might encounter and they make sure you handle them all. These features will be covered in detail in Chapter 6 and Chapter 18, respectively. Let’s walk through an example with the `match` expression we use here. Say that the user has guessed 50 and the randomly generated secret number this time is -38. When the code compares 50 to 38, the `cmp` method will return -`Ordering::Greater`, because 50 is greater than 38. The `match` expression gets +38. + +When the code compares 50 to 38, the `cmp` method will return +`Ordering::Greater` because 50 is greater than 38. The `match` expression gets the `Ordering::Greater` value and starts checking each arm’s pattern. It looks at the first arm’s pattern, `Ordering::Less`, and sees that the value `Ordering::Greater` does not match `Ordering::Less`, so it ignores the code in @@ -658,14 +1040,41 @@ However, the code in Listing 2-4 won’t compile yet. Let’s try it: ``` $ cargo build +``` + +``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +``` error[E0308]: mismatched types - --> src/main.rs:26:21 +``` + +``` + --> src/main.rs:22:21 +``` + +``` | -26 | match guess.cmp(&secret_number) { +``` + +``` +22 | match guess.cmp(&secret_number) { +``` + +``` | ^^^^^^^^^^^^^^ expected struct `String`, found integer +``` + +``` | +``` + +``` = note: expected reference `&String` +``` + +``` found reference `&{integer}` ``` @@ -677,32 +1086,92 @@ hand, is a number type. A few of Rust’s number types can have a value between and 100: `i32`, a 32-bit number; `u32`, an unsigned 32-bit number; `i64`, a 64-bit number; as well as others. Unless otherwise specified, Rust defaults to an `i32`, which is the type of `secret_number` unless you add type information -elsewhere that would cause Rust to infer a different numerical type. The reason -for the error is that Rust cannot compare a string and a number type. +elsewhere that would cause Rust to infer a different numerical type. The +reason for the error is that Rust cannot compare a string and a number type. Ultimately, we want to convert the `String` the program reads as input into a -real number type so we can compare it numerically to the secret number. We do so -by adding this line to the `main` function body: +real number type so we can compare it numerically to the secret number. We do +so by adding this line to the `main` function body: Filename: src/main.rs ``` - // --snip-- + --snip-- +``` + +``` + +``` +``` let mut guess = String::new(); +``` + +``` + +``` +``` io::stdin() +``` + +``` .read_line(&mut guess) +``` + +``` .expect("Failed to read line"); +``` + +``` + +``` + +``` + let guess: u32 = guess +``` + +``` + .trim() +``` + +``` + .parse() +``` + +``` + .expect("Please type a number!"); +``` + +``` - let guess: u32 = guess.trim().parse().expect("Please type a number!"); +``` +``` println!("You guessed: {guess}"); +``` + +``` +``` + +``` match guess.cmp(&secret_number) { +``` + +``` Ordering::Less => println!("Too small!"), +``` + +``` Ordering::Greater => println!("Too big!"), +``` + +``` Ordering::Equal => println!("You win!"), +``` + +``` } ``` @@ -710,58 +1179,86 @@ We create a variable named `guess`. But wait, doesn’t the program already have a variable named `guess`? It does, but helpfully Rust allows us to *shadow* the previous value of `guess` with a new one. Shadowing lets us reuse the `guess` variable name rather than forcing us to create two unique variables, such as -`guess_str` and `guess` for example. We’ll cover this in more detail in Chapter -3, but for now know that this feature is often used when you want to convert a -value from one type to another type. +`guess_str` and `guess`, for example. We’ll cover this in more detail in +Chapter 3, but for now know that this feature is often used when you want to +convert a value from one type to another type. We bind this new variable to the expression `guess.trim().parse()`. The `guess` in the expression refers to the original `guess` variable that contained the input as a string. The `trim` method on a `String` instance will eliminate any whitespace at the beginning and end, which we must do to be able to compare the string to the `u32`, which can only contain numerical data. The user must press -enter to satisfy `read_line` and input their -guess, which adds a newline character to the string. For example, if the user -types 5 and presses enter, `guess` looks like this: `5\n`. The `\n` -represents “newline”. (On Windows, pressing enter results in a carriage return and a newline, -`\r\n`). The `trim` method eliminates `\n` or `\r\n`, resulting in just `5`. +enter to satisfy `read_line` and input their guess, which adds a newline +character to the string. For example, if the user types 5 and presses enter, +`guess` looks like this: `5\n`. The `\n` represents “newline.” (On Windows, +pressing enter results in a carriage return and a newline, `\r\n`.) The `trim` +method eliminates `\n` or `\r\n`, resulting in just `5`. The `parse` method on strings converts a string to another type. Here, we use it to convert from a string to a number. We need to tell Rust the exact number type we want by using `let guess: u32`. The colon (`:`) after `guess` tells -Rust we’ll annotate the variable’s type. Rust has a few built-in number types; +Rust we’ll annotate the variable’s type. Rust has a few built-in number types; the `u32` seen here is an unsigned, 32-bit integer. It’s a good default choice -for a small positive number. You’ll learn about other number types in Chapter -3. Additionally, the `u32` annotation in this example program and the -comparison with `secret_number` means that Rust will infer that `secret_number` -should be a `u32` as well. So now the comparison will be between two values of -the same type! +for a small positive number. You’ll learn about other number types in Chapter 3. + +Additionally, the `u32` annotation in this example program and the comparison +with `secret_number` means Rust will infer that `secret_number` should be a +`u32` as well. So now the comparison will be between two values of the same +type! + +Comp: Note that there is an emoji in the below paragraph The `parse` method will only work on characters that can logically be converted into numbers and so can easily cause errors. If, for example, the string -contained `A👍%`, there would be no way to convert that to a number. Because it -might fail, the `parse` method returns a `Result` type, much as the `read_line` -method does (discussed earlier in “Handling Potential Failure with the `Result` -Type”). We’ll treat this `Result` the same way by using the `expect` method -again. If `parse` returns an `Err` `Result` variant because it couldn’t create -a number from the string, the `expect` call will crash the game and print the -message we give it. If `parse` can successfully convert the string to a number, -it will return the `Ok` variant of `Result`, and `expect` will return the -number that we want from the `Ok` value. +contained `A`👍`%`, there would be no way to convert that to a number. Because +it might fail, the `parse` method returns a `Result` type, much as the +`read_line` method does (discussed earlier in “Handling Potential Failure with +Result” on page XX). We’ll treat this `Result` the same way by using the +`expect` method again. If `parse` returns an `Err` `Result` variant because it +couldn’t create a number from the string, the `expect` call will crash the game +and print the message we give it. If `parse` can successfully convert the +string to a number, it will return the `Ok` variant of `Result`, and `expect` +will return the number that we want from the `Ok` value. -Let’s run the program now! +Let’s run the program now: ``` $ cargo run +``` + +``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.43s +``` + +``` Running `target/debug/guessing_game` +``` + +``` Guess the number! +``` + +``` The secret number is: 58 +``` + +``` Please input your guess. +``` + +``` 76 +``` + +``` You guessed: 76 +``` + +``` Too big! ``` @@ -781,21 +1278,66 @@ more chances at guessing the number: Filename: src/main.rs ``` - // --snip-- - - println!("The secret number is: {secret_number}"); + --snip-- +``` - loop { - println!("Please input your guess."); +``` - // --snip-- +``` - match guess.cmp(&secret_number) { +``` + println!("The secret number is: {secret_number}"); +``` + +``` + +``` + +``` + loop { +``` + +``` + println!("Please input your guess."); +``` + +``` + +``` + +``` + --snip-- +``` + +``` + +``` + +``` + match guess.cmp(&secret_number) { +``` + +``` Ordering::Less => println!("Too small!"), +``` + +``` Ordering::Greater => println!("Too big!"), +``` + +``` Ordering::Equal => println!("You win!"), +``` + +``` } +``` + +``` } +``` + +``` } ``` @@ -805,39 +1347,105 @@ and run the program again. The program will now ask for another guess forever, which actually introduces a new problem. It doesn’t seem like the user can quit! The user could always interrupt the program by using the keyboard shortcut -ctrl-c. But there’s another way to escape this -insatiable monster, as mentioned in the `parse` discussion in “Comparing the -Guess to the Secret Number”: if the user enters a non-number answer, the -program will crash. We can take advantage of that to allow the user to quit, as -shown here: +ctrl-c. But there’s another way to escape this insatiable monster, as mentioned +in the `parse` discussion in “Comparing the Guess to the Secret Number” on page +XX: if the user enters a non-number answer, the program will crash. We can take +advantage of that to allow the user to quit, as shown here: ``` $ cargo run +``` + +``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 1.50s +``` + +``` Running `target/debug/guessing_game` +``` + +``` Guess the number! +``` + +``` The secret number is: 59 +``` + +``` Please input your guess. +``` + +``` 45 +``` + +``` You guessed: 45 +``` + +``` Too small! +``` + +``` Please input your guess. +``` + +``` 60 +``` + +``` You guessed: 60 +``` + +``` Too big! +``` + +``` Please input your guess. +``` + +``` 59 +``` + +``` You guessed: 59 +``` + +``` You win! +``` + +``` Please input your guess. +``` + +``` quit -thread 'main' panicked at 'Please type a number!: ParseIntError { kind: InvalidDigit }', src/main.rs:28:47 +``` + +``` +thread 'main' panicked at 'Please type a number!: ParseIntError +``` + +``` +{ kind: InvalidDigit }', src/main.rs:28:47 +``` + +``` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` Typing `quit` will quit the game, but as you’ll notice so will entering any -other non-number input. This is suboptimal to say the least; we want the game +other non-number input. This is suboptimal, to say the least; we want the game to also stop when the correct number is guessed. ### Quitting After a Correct Guess @@ -847,17 +1455,50 @@ Let’s program the game to quit when the user wins by adding a `break` statemen Filename: src/main.rs ``` - // --snip-- + --snip-- +``` +``` + +``` + +``` match guess.cmp(&secret_number) { +``` + +``` Ordering::Less => println!("Too small!"), +``` + +``` Ordering::Greater => println!("Too big!"), +``` + +``` Ordering::Equal => { +``` + +``` println!("You win!"); +``` + +``` break; +``` + +``` } +``` + +``` } +``` + +``` } +``` + +``` } ``` @@ -875,24 +1516,63 @@ is converted from a `String` to a `u32`, as shown in Listing 2-5. Filename: src/main.rs ``` - // --snip-- + --snip-- +``` +``` + +``` + +``` io::stdin() +``` + +``` .read_line(&mut guess) +``` + +``` .expect("Failed to read line"); +``` + +``` + +``` +``` let guess: u32 = match guess.trim().parse() { +``` + +``` Ok(num) => num, +``` + +``` Err(_) => continue, +``` + +``` }; +``` + +``` +``` + +``` println!("You guessed: {guess}"); +``` + +``` + +``` - // --snip-- +``` + --snip-- ``` -Listing 2-5: Ignoring a non-number guess and asking for another guess instead -of crashing the program +Ignoring a non-number guess and asking for another guess instead of crashing +the program We switch from an `expect` call to a `match` expression to move from crashing on an error to handling the error. Remember that `parse` returns a `Result` @@ -901,7 +1581,7 @@ a `match` expression here, as we did with the `Ordering` result of the `cmp` method. If `parse` is able to successfully turn the string into a number, it will -return an `Ok` value that contains the resulting number. That `Ok` value will +return an `Ok` value that contains the resultant number. That `Ok` value will match the first arm’s pattern, and the `match` expression will just return the `num` value that `parse` produced and put inside the `Ok` value. That number will end up right where we want it in the new `guess` variable we’re creating. @@ -920,24 +1600,81 @@ Now everything in the program should work as expected. Let’s try it: ``` $ cargo run +``` + +``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 4.45s +``` + +``` Running `target/debug/guessing_game` +``` + +``` Guess the number! +``` + +``` The secret number is: 61 +``` + +``` Please input your guess. +``` + +``` 10 +``` + +``` You guessed: 10 +``` + +``` Too small! +``` + +``` Please input your guess. +``` + +``` 99 +``` + +``` You guessed: 99 +``` + +``` Too big! +``` + +``` Please input your guess. +``` + +``` foo +``` + +``` Please input your guess. +``` + +``` 61 +``` + +``` You guessed: 61 +``` + +``` You win! ``` @@ -950,43 +1687,145 @@ Filename: src/main.rs ``` use rand::Rng; +``` + +``` use std::cmp::Ordering; +``` + +``` use std::io; +``` +``` + +``` + +``` fn main() { +``` + +``` println!("Guess the number!"); +``` + +``` + +``` +``` let secret_number = rand::thread_rng().gen_range(1..=100); +``` +``` + +``` + +``` loop { +``` + +``` println!("Please input your guess."); +``` +``` + +``` + +``` let mut guess = String::new(); +``` + +``` +``` + +``` io::stdin() +``` + +``` .read_line(&mut guess) +``` + +``` .expect("Failed to read line"); +``` +``` + +``` + +``` let guess: u32 = match guess.trim().parse() { +``` + +``` Ok(num) => num, +``` + +``` Err(_) => continue, +``` + +``` }; +``` + +``` +``` + +``` println!("You guessed: {guess}"); +``` + +``` + +``` +``` match guess.cmp(&secret_number) { +``` + +``` Ordering::Less => println!("Too small!"), +``` + +``` Ordering::Greater => println!("Too big!"), +``` + +``` Ordering::Equal => { +``` + +``` println!("You win!"); +``` + +``` break; +``` + +``` } +``` + +``` } +``` + +``` } +``` + +``` } ``` -Listing 2-6: Complete guessing game code +Complete guessing game code ## Summary @@ -999,3 +1838,4 @@ covers concepts that most programming languages have, such as variables, data types, and functions, and shows how to use them in Rust. Chapter 4 explores ownership, a feature that makes Rust different from other languages. Chapter 5 discusses structs and method syntax, and Chapter 6 explains how enums work. + diff --git a/nostarch/docx/chapter02.docx b/nostarch/docx/chapter02.docx new file mode 100644 index 0000000000000000000000000000000000000000..61483cd077528143c6a80052b2e65672e11a02a8 GIT binary patch literal 85526 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 Date: Tue, 9 Aug 2022 11:01:22 -0400 Subject: [PATCH 0377/1248] Another snapshot to fix the crab pinchers description --- nostarch/chapter02.md | 12 +++++++----- nostarch/docx/chapter02.docx | Bin 85526 -> 84936 bytes 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/nostarch/chapter02.md b/nostarch/chapter02.md index 62df4d7344..d35b11db54 100644 --- a/nostarch/chapter02.md +++ b/nostarch/chapter02.md @@ -442,10 +442,12 @@ the code so far: This line prints the string that now contains the user’s input. The `{}` set of curly brackets is a placeholder: think of `{}` as little crab pincers that hold -a value in place. You can print more than one value using curly brackets: the -first set of curly brackets holds the first value listed after the format -string, the second set holds the second value, and so on. Printing multiple -values in one call to `println!` would look like this: +a value in place. When printing the value of a variable, the variable name can +go inside the curly brackets. When printing the result of evaluating an +expression, place empty curly brackets in the format string, then follow the +format string with a comma-separated list of expressions to print in each empty +curly bracket placeholder in the same order. Printing a variable and the result +of an expression in one call to `println!` would look like this: ``` let x = 5; @@ -460,7 +462,7 @@ let y = 10; ``` ``` -println!("x = {x} and y = {y}"); +println!("x = {x} and y + 2 = {}", y + 2); ``` diff --git a/nostarch/docx/chapter02.docx b/nostarch/docx/chapter02.docx index 61483cd077528143c6a80052b2e65672e11a02a8..7f193103ec3ed6000b3a13c7697b1fcdb1fb5355 100644 GIT binary patch delta 68720 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

>Aob5MIr&0rzUrL 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 Date: Tue, 9 Aug 2022 11:14:30 -0400 Subject: [PATCH 0378/1248] Messy snapshot of frontmatter docx --- nostarch/docx/frontmatter.docx | Bin 53808 -> 62983 bytes nostarch/frontmatter.md | 298 +++++++++++++++++++++++---------- 2 files changed, 207 insertions(+), 91 deletions(-) diff --git a/nostarch/docx/frontmatter.docx b/nostarch/docx/frontmatter.docx index d4af6f48406bef3a093e733d56f56504d855d2e5..869a63f4ba1e9efb4ae1059d1b8dee001e747408 100644 GIT binary patch delta 54414 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 delta 45291 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 diff --git a/nostarch/frontmatter.md b/nostarch/frontmatter.md index 985f6702b4..e23cc9fb92 100644 --- a/nostarch/frontmatter.md +++ b/nostarch/frontmatter.md @@ -1,4 +1,12 @@ -## About the Author + +Unmatched: BookEdition + ## + +## + +## + +## About the Authors Carol Nichols is a member of the Rust Crates.io Team and a former member of the Rust Core Team. She’s a co-founder of Integer 32, LLC, the world’s first @@ -13,34 +21,100 @@ contributor, he previously worked on projects such as Ruby and Ruby on Rails. JT is a Rust core team member and the co-creator of the Rust error message format, Rust Language Server (RLS), and Nushell. They first started using Rust -in 2011, and in 2016 joined Mozilla to work on Rust full-time, helping to shape +in 2011, and in 2016 joined Mozilla to work on Rust full time, helping to shape its direction for widespread use. These days, they are a freelance Rust trainer and advocate for safe systems programming. +## + +## + +## + +## + +## + +## + +## + +## + +## + +## + ## Brief Contents +## + +## + +## + +## + +## + +## + +## + +## + +## + +## + +## + +## + ## Contents in Detail +## + +## + +## + +## + +## + +## + +## + +## + +## + +## + +## + ## Foreword It wasn’t always so clear, but the Rust programming language is fundamentally about *empowerment*: no matter what kind of code you are writing now, Rust -empowers you to reach farther, to program with confidence in a wider variety of +empowers you to reach further, to program with confidence in a wider variety of domains than you did before. Take, for example, “systems-level” work that deals with low-level details of memory management, data representation, and concurrency. Traditionally, this -realm of programming is seen as arcane, accessible only to a select few who -have devoted the necessary years learning to avoid its infamous pitfalls. And -even those who practice it do so with caution, lest their code be open to +realm of programming is seen as arcane, accessible to only a select few who +have devoted the necessary years learning it to avoid its infamous pitfalls. +And even those who practice it do so with caution, lest their code be open to exploits, crashes, or corruption. Rust breaks down these barriers by eliminating the old pitfalls and providing a friendly, polished set of tools to help you along the way. Programmers who need to “dip down” into lower-level control can do so with Rust, without taking on -the customary risk of crashes or security holes, and without having to learn -the fine points of a fickle toolchain. Better yet, the language is designed to -guide you naturally towards reliable code that is efficient in terms of speed +the customary risk of crashes or security holes and without having to learn the +fine points of a fickle toolchain. Better yet, the language is designed to +guide you naturally toward reliable code that is efficient in terms of speed and memory usage. Programmers who are already working with low-level code can use Rust to raise @@ -51,29 +125,74 @@ that you won’t accidentally introduce crashes or vulnerabilities. But Rust isn’t limited to low-level systems programming. It’s expressive and ergonomic enough to make CLI apps, web servers, and many other kinds of code -quite pleasant to write — you’ll find simple examples of both later in the -book. Working with Rust allows you to build skills that transfer from one -domain to another; you can learn Rust by writing a web app, then apply those -same skills to target your Raspberry Pi. +quite pleasant to write—you’ll find simple examples later in the book. Working +with Rust allows you to build skills that transfer from one domain to another; +you can learn Rust by writing a web app, then apply those same skills to target +your Raspberry Pi. This book fully embraces the potential of Rust to empower its users. It’s a friendly and approachable text intended to help you level up not just your knowledge of Rust, but also your reach and confidence as a programmer in general. So dive in, get ready to learn—and welcome to the Rust community! -Nicholas Matsakis and Aaron Turon + +Unmatched: SourceForeword + ## + +## + +## + +## + +## ACKNOWLEDGMENTS + +We would like to thank everyone who has worked on the Rust language for +creating an amazing language worth writing a book about. We’re grateful to +everyone in the Rust community for being welcoming and creating an environment +worth welcoming more folks into. + +We’re especially thankful for everyone who read early versions of this book +online and provided feedback, bug reports, and pull requests. Special thanks to +Eduard-Mihai Burtescu, Alex Crichton, and JT for providing technical review, +and to Karen Rustad Tölva for the cover art. Thank you to our team at No +Starch, including Bill Pollock, Liz Chadwick, and Janelle Ludowise, for +improving this book and bringing it to print. + +Carol is grateful for the opportunity to work on this book. She thanks her +family for their constant love and support, especially her husband, Jake +Goulding, and her daughter, Vivian. + +## + +## + +## + +## + +## + +## + +## + +## + +## ## Preface This version of the text assumes you’re using Rust 1.62.0 (released 2022-06-30) -or later with `edition="2021"` in *Cargo.toml* of all projects to use Rust 2021 -Edition idioms. See “Installation” on page 1 for instructions on installing or -updating Rust, and see Appendix E for information on editions. +or later with `edition="2021"` in *Cargo.toml* of all projects to configure +them to use Rust 2021 edition idioms. See “Installation” on page XX for +instructions on installing or updating Rust, and see Appendix E for information +on editions. -The 2021 Edition of the Rust language includes a number of improvements that -make Rust more ergonomic and correct some inconsistencies. On top of a general -update to reflect these improvements, this rendition of the book has a number -of improvements to address specific feedback: +The 2021 edition of the Rust language includes a number of improvements that +make Rust more ergonomic and that correct some inconsistencies. On top of a +general update to reflect these improvements, this rendition of the book has a +number of improvements to address specific feedback: * Chapter 7 contains a new quick reference section on organizing your code into multiple files with modules. @@ -84,25 +203,21 @@ Thank you to the readers who reported them! Note that any code from earlier renditions of this book that compiled will continue to compile with the relevant edition in the project’s *Cargo.toml*, even as you update the Rust compiler version you’re using. That’s Rust’s -backward compatibility guarantees at work! +backward-compatibility guarantees at work! -## ACKNOWLEDGMENTS +## -We would like to thank everyone who has worked on the Rust language for -creating an amazing language worth writing a book about. We’re grateful to -everyone in the Rust community for being welcoming and creating an environment -worth welcoming more folks into. +## -We’re especially thankful for everyone who read early versions of this book -online and provided feedback, bug reports, and pull requests. Special thanks to -Eduard-Mihai Burtescu, Alex Crichton, and JT for providing technical review and -Karen Rustad Tölva for the cover art. Thank you to our team at No Starch, -including Bill Pollock, Liz Chadwick, and Janelle Ludowise, for improving this -book and bringing it to print. +## -Carol is grateful for the opportunity to work on this book. She thanks her -family for their constant love and support, especially her husband Jake -Goulding and her daughter Vivian. +## + +## + +## + +## ## Introduction @@ -123,8 +238,8 @@ the most important groups. Rust is proving to be a productive tool for collaborating among large teams of developers with varying levels of systems programming knowledge. Low-level code -is prone to various subtle bugs, which in most other languages can be caught -only through extensive testing and careful code review by experienced +is prone to various subtle bugs, which in most other languages can only be +caught through extensive testing and careful code review by experienced developers. In Rust, the compiler plays a gatekeeper role by refusing to compile code with these elusive bugs, including concurrency bugs. By working alongside the compiler, the team can spend their time focusing on the program’s @@ -135,9 +250,9 @@ Rust also brings contemporary developer tools to the systems programming world: * Cargo, the included dependency manager and build tool, makes adding, compiling, and managing dependencies painless and consistent across the Rust ecosystem. -* The Rustfmt formatting tool ensures a consistent coding style across +* The `r``ustfmt` formatting tool ensures a consistent coding style across developers. -* The Rust Language Server powers Integrated Development Environment (IDE) +* The Rust Language Server powers integrated development environment (IDE) integration for code completion and inline error messages. By using these and other tools in the Rust ecosystem, developers can be productive while writing systems-level code. @@ -147,7 +262,7 @@ productive while writing systems-level code. Rust is for students and those who are interested in learning about systems concepts. Using Rust, many people have learned about topics like operating systems development. The community is very welcoming and happy to answer -student questions. Through efforts such as this book, the Rust teams want to +students’ questions. Through efforts such as this book, the Rust teams want to make systems concepts more accessible to more people, especially those new to programming. @@ -184,7 +299,7 @@ Rust a try and see if its choices work for you. ## Who This Book Is For -This book assumes that you’ve written code in another programming language but +This book assumes that you’ve written code in another programming language, but doesn’t make any assumptions about which one. We’ve tried to make the material broadly accessible to those from a wide variety of programming backgrounds. We don’t spend a lot of time talking about what programming *is* or how to think @@ -201,62 +316,63 @@ the topic in a later chapter. You’ll find two kinds of chapters in this book: concept chapters and project chapters. In concept chapters, you’ll learn about an aspect of Rust. In project chapters, we’ll build small programs together, applying what you’ve learned so -far. Chapters 2, 12, and 20 are project chapters; the rest are concept chapters. +far. Chapter 2, Chapter 12, and Chapter 20 are project chapters; the rest are +concept chapters. -Chapter 1 explains how to install Rust, how to write a “Hello, world!” program, -and how to use Cargo, Rust’s package manager and build tool. Chapter 2 is a -hands-on introduction to writing a program in Rust, having you build up a -number guessing game. Here we cover concepts at a high level, and later +**Chapter 1** explains how to install Rust, how to write a “Hello, world!” +program, and how to use Cargo, Rust’s package manager and build tool. **Chapter +2** is a hands-on introduction to writing a program in Rust, having you build +up a number-guessing game. Here, we cover concepts at a high level, and later chapters will provide additional detail. If you want to get your hands dirty -right away, Chapter 2 is the place for that. Chapter 3 covers Rust features -that are similar to those of other programming languages, and in Chapter 4 +right away, Chapter 2 is the place for that. **Chapter 3** covers Rust features +that are similar to those of other programming languages, and in **Chapter 4** you’ll learn about Rust’s ownership system. If you’re a particularly meticulous learner who prefers to learn every detail before moving on to the next, you might want to skip Chapter 2 and go straight to Chapter 3, returning to Chapter 2 when you’d like to work on a project applying the details you’ve learned. -Chapter 5 discusses structs and methods, and Chapter 6 covers enums, `match` -expressions, and the `if let` control flow construct. You’ll use structs and -enums to make custom types in Rust. - -In Chapter 7, you’ll learn about Rust’s module system and about privacy rules -for organizing your code and its public Application Programming Interface -(API). Chapter 8 discusses some common collection data structures that the -standard library provides, such as vectors, strings, and hash maps. Chapter 9 -explores Rust’s error-handling philosophy and techniques. - -Chapter 10 digs into generics, traits, and lifetimes, which give you the power -to define code that applies to multiple types. Chapter 11 is all about testing, -which even with Rust’s safety guarantees is necessary to ensure your program’s -logic is correct. In Chapter 12, we’ll build our own implementation of a subset -of functionality from the `grep` command line tool that searches for text -within files. For this, we’ll use many of the concepts we discussed in the -previous chapters. - -Chapter 13 explores closures and iterators: features of Rust that come from -functional programming languages. In Chapter 14, we’ll examine Cargo in more -depth and talk about best practices for sharing your libraries with others. -Chapter 15 discusses smart pointers that the standard library provides and the -traits that enable their functionality. - -In Chapter 16, we’ll walk through different models of concurrent programming -and talk about how Rust helps you to program in multiple threads fearlessly. -Chapter 17 looks at how Rust idioms compare to object-oriented programming -principles you might be familiar with. - -Chapter 18 is a reference on patterns and pattern matching, which are powerful -ways of expressing ideas throughout Rust programs. Chapter 19 contains a -smorgasbord of advanced topics of interest, including unsafe Rust, macros, and -more about lifetimes, traits, types, functions, and closures. - -In Chapter 20, we’ll complete a project in which we’ll implement a low-level -multithreaded web server! +**Chapter 5** discusses structs and methods, and **Chapter 6** covers enums, +`match` expressions, and the `if let` control flow construct. You’ll use +structs and enums to make custom types in Rust. + +In **Chapter 7**, you’ll learn about Rust’s module system and about privacy +rules for organizing your code and its public application programming interface +(API). **Chapter 8** discusses some common collection data structures that the +standard library provides, such as vectors, strings, and hash maps. **Chapter +9** explores Rust’s error-handling philosophy and techniques. + +**Chapter 10** digs into generics, traits, and lifetimes, which give you the +power to define code that applies to multiple types. **Chapter 11** is all +about testing, which even with Rust’s safety guarantees is necessary to ensure +your program’s logic is correct. In **Chapter 12**, we’ll build our own +implementation of a subset of functionality from the `grep` command line tool +that searches for text within files. For this, we’ll use many of the concepts +we discussed in the previous chapters. + +**Chapter 13** explores closures and iterators: features of Rust that come from +functional programming languages. In **Chapter 14**, we’ll examine Cargo in +more depth and talk about best practices for sharing your libraries with +others. **Chapter 15** discusses smart pointers that the standard library +provides and the traits that enable their functionality. + +In **Chapter 16**, we’ll walk through different models of concurrent +programming and talk about how Rust helps you program in multiple threads +fearlessly. **Chapter 17** looks at how Rust idioms compare to object-oriented +programming principles you might be familiar with. + +**Chapter 18** is a reference on patterns and pattern matching, which are +powerful ways of expressing ideas throughout Rust programs. **Chapter 19** +contains a smorgasbord of advanced topics of interest, including unsafe Rust, +macros, and more about lifetimes, traits, types, functions, and closures. + +In **Chapter 20**, we’ll complete a project in which we’ll implement a +low-level multithreaded web server! Finally, some appendices contain useful information about the language in a -more reference-like format. Appendix A covers Rust’s keywords, Appendix B -covers Rust’s operators and symbols, Appendix C covers derivable traits -provided by the standard library, Appendix D covers some useful development -tools, and Appendix E explains Rust editions. +more reference-like format**. Appendix A** covers Rust’s keywords, **Appendix +B** covers Rust’s operators and symbols, **Appendix C** covers derivable traits +provided by the standard library, **Appendix D** covers some useful development +tools, and **Appendix E** explains Rust editions. There is no wrong way to read this book: if you want to skip ahead, go for it! You might have to jump back to earlier chapters if you experience any @@ -275,9 +391,9 @@ that doesn’t compile. This book is open source. If you find an error, please don’t hesitate to file an issue or send a pull request on GitHub at -*https://github.com/rust-lang/book/**.* Please see *CONTRIBUTING.md* at +*https://github.com/rust-lang/book*. Please see *CONTRIBUTING.md* at *https://github.com/rust-lang/book/blob/main/CONTRIBUTING.md* for more details. The source code for the examples in this book, errata, and other information -are available at *https://www.nostarch.com/Rust2021/*. +are available at *https://www.nostarch.com/Rust2021*. From 232b890ca823a7467d361a9038f18f10108c4158 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 9 Aug 2022 12:20:59 -0400 Subject: [PATCH 0379/1248] Updated snapshot of chapter 1 --- nostarch/chapter01.md | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/nostarch/chapter01.md b/nostarch/chapter01.md index 87848b66f3..daaf44f5e0 100644 --- a/nostarch/chapter01.md +++ b/nostarch/chapter01.md @@ -90,11 +90,6 @@ install, include: - The English language pack component, along with any other language pack of your choosing - - The rest of this book uses commands that work in both *cmd.exe* and PowerShell. If there are specific differences, we’ll explain which to use. @@ -143,10 +138,6 @@ Rustaceans (a silly nickname we call ourselves) who can help you out. Other great resources include the Users forum at *https://users.rust-lang.org/* and Stack Overflow at *https://stackoverflow.com/questions/tagged/rust*. - - - ### Updating and Uninstalling Once Rust is installed via `rustup`, when a new version of Rust is released, @@ -499,21 +490,6 @@ $ cargo build This command creates an executable file in *target/debug/hello_cargo* (or *target\debug\hello_cargo.exe* on Windows) rather than in your current - - - - - directory. Because the default build is a debug build, Cargo puts the binary in a directory named *debug*. You can run the executable with this command: @@ -609,10 +585,6 @@ With simple projects, Cargo doesn’t provide a lot of value over just using Once programs grow to multiple files or need a dependency, it’s much easier to let Cargo coordinate the build. - - - Even though the `hello_cargo` project is simple, it now uses much of the real tooling you’ll use in the rest of your Rust career. In fact, to work on any existing projects, you can use the following commands to check out the code @@ -641,9 +613,3 @@ This is a great time to build a more substantial program to get used to reading and writing Rust code. So, in Chapter 2, we’ll build a guessing game program. If you would rather start by learning how common programming concepts work in Rust, see Chapter 3 and then return to Chapter 2. - - - From 0f756866ce43f5f66b505c6e10a0ba23993fc484 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 9 Aug 2022 20:05:13 -0400 Subject: [PATCH 0380/1248] Snapshot of ch01 docx from nostarch --- nostarch/docx/chapter01.docx | Bin 0 -> 62022 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 nostarch/docx/chapter01.docx diff --git a/nostarch/docx/chapter01.docx b/nostarch/docx/chapter01.docx new file mode 100644 index 0000000000000000000000000000000000000000..88794a7a4c2244c53578e10b435ae720ddf3f56f GIT binary patch literal 62022 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 Date: Wed, 10 Aug 2022 21:19:50 -0400 Subject: [PATCH 0381/1248] Messy snapshot of chapter 1 after copyedit check --- nostarch/chapter01.md | 355 +++++++++++++++++++++++------------ nostarch/docx/chapter01.docx | Bin 62022 -> 74520 bytes 2 files changed, 237 insertions(+), 118 deletions(-) diff --git a/nostarch/chapter01.md b/nostarch/chapter01.md index daaf44f5e0..0d81803a9d 100644 --- a/nostarch/chapter01.md +++ b/nostarch/chapter01.md @@ -12,37 +12,40 @@ Let’s start your Rust journey! There’s a lot to learn, but every journey sta somewhere. In this chapter, we’ll discuss: * Installing Rust on Linux, macOS, and Windows -* Writing a program that prints `Hello, world!` +* Writing a program that prints `Hello,` `world!` * Using `cargo`, Rust’s package manager and build system - ## Installation The first step is to install Rust. We’ll download Rust through `rustup`, a command line tool for managing Rust versions and associated tools. You’ll need an internet connection for the download. -> Note: If you prefer not to use `rustup` for some reason, please see the -> Other Rust Installation Methods page at -> *https://forge.rust-lang.org/infra/other-installation-methods.html* for more -> options. +> NoteIf you prefer not to use `rustup` for some reason, please see the Other +Rust Installation Methods page at +*https://forge.rust-lang.org/infra/other-installation-methods.html* for more +options. The following steps install the latest stable version of the Rust compiler. Rust’s stability guarantees ensure that all the examples in the book that compile will continue to compile with newer Rust versions. The output might -differ slightly between versions, because Rust often improves error messages -and warnings. In other words, any newer, stable version of Rust you install -using these steps should work as expected with the content of this book. +differ slightly between versions because Rust often improves error messages and +warnings. In other words, any newer, stable version of Rust you install using +these steps should work as expected with the content of this book. + + +Unmatched: BoxType > ### Command Line Notation -> + + > In this chapter and throughout the book, we’ll show some commands used in the -> terminal. Lines that you should enter in a terminal all start with `$`. You -> don’t need to type in the `$` character; it’s the command line prompt shown -> to indicate the start of each command. Lines that don’t start with `$` -> typically show the output of the previous command. Additionally, -> PowerShell-specific examples will use `>` rather than `$`. +terminal. Lines that you should enter in a terminal all start with `$`. You +don’t need to type the `$` character; it’s the command line prompt shown to +indicate the start of each command. Lines that don’t start with `$` typically +show the output of the previous command. Additionally, PowerShell-specific +examples will use `>` rather than `$`. -### Installing `rustup` on Linux or macOS +### Installing rustup on Linux or macOS If you’re using Linux or macOS, open a terminal and enter the following command: @@ -74,7 +77,7 @@ Linux users should generally install GCC or Clang, according to their distribution’s documentation. For example, if you use Ubuntu, you can install the `build-essential` package. -### Installing `rustup` on Windows +### Installing rustup on Windows On Windows, go to *https://www.rust-lang.org/tools/install* and follow the instructions for installing Rust. At some point in the installation, you’ll @@ -82,14 +85,13 @@ receive a message explaining that you’ll also need the MSVC build tools for Visual Studio 2013 or later. To acquire the build tools, you’ll need to install Visual Studio 2022 from -*https://visualstudio.microsoft.com/downloads/*. When asked which workloads to +*https://visualstudio.microsoft.com/downloads*. When asked which workloads to install, include: -- “Desktop Development with C++” -- The Windows 10 or 11 SDK -- The English language pack component, along with any other language pack of - your choosing - +* “Desktop Development with C++” +* The Windows 10 or 11 SDK +* The English language pack component, along with any other language pack of +your choosing The rest of this book uses commands that work in both *cmd.exe* and PowerShell. If there are specific differences, we’ll explain which to use. @@ -103,7 +105,7 @@ $ rustc --version ``` You should see the version number, commit hash, and commit date for the latest -stable version that has been released in the following format: +stable version that has been released, in the following format: ``` rustc x.y.z (abcabcabc yyyy-mm-dd) @@ -128,21 +130,18 @@ In PowerShell, use: In Linux and macOS, use: ``` -echo $PATH +$ echo $PATH ``` If that’s all correct and Rust still isn’t working, there are a number of -places you can get help. The easiest is the #beginners channel on the official -Rust Discord at *https://discord.gg/rust-lang*. There, you can chat with other -Rustaceans (a silly nickname we call ourselves) who can help you out. Other -great resources include the Users forum at *https://users.rust-lang.org/* and -Stack Overflow at *https://stackoverflow.com/questions/tagged/rust*. +places you can get help. Find out how to get in touch with other Rustaceans (a +silly nickname we call ourselves) on the community page at +*https://www.rust-lang.org/community*. ### Updating and Uninstalling -Once Rust is installed via `rustup`, when a new version of Rust is released, -updating to the latest version is easy. From your shell, run the following -update script: +Once Rust is installed via `rustup`, updating to a newly released version is +easy. From your shell, run the following update script: ``` $ rustup update @@ -157,9 +156,9 @@ $ rustup self uninstall ### Local Documentation -The installation of Rust also includes a local copy of the documentation, so -you can read it offline. Run `rustup doc` to open the local documentation in -your browser. +The installation of Rust also includes a local copy of the documentation so +that you can read it offline. Run `rustup` `doc` to open the local +documentation in your browser. Any time a type or function is provided by the standard library and you’re not sure what it does or how to use it, use the application programming interface @@ -167,17 +166,17 @@ sure what it does or how to use it, use the application programming interface ## Hello, World! -Now that you’ve installed Rust, let’s write your first Rust program. It’s -traditional when learning a new language to write a little program that prints -the text `Hello, world!` to the screen, so we’ll do the same here! +Now that you’ve installed Rust, it’s time to write your first Rust program. +It’s traditional when learning a new language to write a little program that +prints the text `Hello,` `world!` to the screen, so we’ll do the same here! -> Note: This book assumes basic familiarity with the command line. Rust makes -> no specific demands about your editing or tooling or where your code lives, so -> if you prefer to use an integrated development environment (IDE) instead of -> the command line, feel free to use your favorite IDE. Many IDEs now have some -> degree of Rust support; check the IDE’s documentation for details. The Rust -> team has been focusing on enabling great IDE support via `rust-analyzer`. See -> Appendix D for more details! +> NoteThis book assumes basic familiarity with the command line. Rust makes no +specific demands about your editing or tooling or where your code lives, so if +you prefer to use an integrated development environment (IDE) instead of the +command line, feel free to use your favorite IDE. Many IDEs now have some +degree of Rust support; check the IDE’s documentation for details. The Rust +team has been focusing on enabling great IDE support via `rust-analyzer`. See +Appendix D for more details. ### Creating a Project Directory @@ -193,8 +192,17 @@ For Linux, macOS, and PowerShell on Windows, enter this: ``` $ mkdir ~/projects +``` + +``` $ cd ~/projects +``` + +``` $ mkdir hello_world +``` + +``` $ cd hello_world ``` @@ -202,8 +210,17 @@ For Windows CMD, enter this: ``` > mkdir "%USERPROFILE%\projects" +``` + +``` > cd /d "%USERPROFILE%\projects" +``` + +``` > mkdir hello_world +``` + +``` > cd hello_world ``` @@ -220,11 +237,17 @@ Filename: main.rs ``` fn main() { +``` + +``` println!("Hello, world!"); +``` + +``` } ``` -Listing 1-1: A program that prints `Hello, world!` +A program that prints `Hello,` `world!` Save the file and go back to your terminal window in the *~/projects/hello_world* directory. On Linux or macOS, enter the following @@ -232,7 +255,13 @@ commands to compile and run the file: ``` $ rustc main.rs +``` + +``` $ ./main +``` + +``` Hello, world! ``` @@ -240,16 +269,22 @@ On Windows, enter the command `.\main.exe` instead of `./main`: ``` > rustc main.rs +``` + +``` > .\main.exe +``` + +``` Hello, world! ``` -Regardless of your operating system, the string `Hello, world!` should print to -the terminal. If you don’t see this output, refer back to the “Troubleshooting” -part of the Installation section for ways to get help. +Regardless of your operating system, the string `Hello,` `world!` should print +to the terminal. If you don’t see this output, refer back to “Troubleshooting” +on page XX for ways to get help. -If `Hello, world!` did print, congratulations! You’ve officially written a Rust -program. That makes you a Rust programmer—welcome! +If `Hello,` `world!` did print, congratulations! You’ve officially written a +Rust program. That makes you a Rust programmer—welcome! ### Anatomy of a Rust Program @@ -258,12 +293,18 @@ the puzzle: ``` fn main() { +``` + +``` +``` + +``` } ``` These lines define a function named `main`. The `main` function is special: it -is always the first code that runs in every executable Rust program. Here, the +is always the first code that runs in every executable Rust program. Here, the first line declares a function named `main` that has no parameters and returns nothing. If there were parameters, they would go inside the parentheses `()`. @@ -271,11 +312,11 @@ The function body is wrapped in `{}`. Rust requires curly brackets around all function bodies. It’s good style to place the opening curly bracket on the same line as the function declaration, adding one space in between. -> Note: If you want to stick to a standard style across Rust projects, you can -> use an automatic formatter tool called `rustfmt` to format your code in a -> particular style (more on `rustfmt` in Appendix D). The Rust team has -> included this tool with the standard Rust distribution, like `rustc`, so it -> should already be installed on your computer! +> NoteIf you want to stick to a standard style across Rust projects, you can +use an automatic formatter tool called `rustfmt` to format your code in a +particular style (more on `rustfmt` in Appendix D). The Rust team has included +this tool with the standard Rust distribution, as `rustc` is, so it should +already be installed on your computer! The body of the `main` function holds the following code: @@ -291,11 +332,11 @@ First, Rust style is to indent with four spaces, not a tab. Second, `println!` calls a Rust macro. If it had called a function instead, it would be entered as `println` (without the `!`). We’ll discuss Rust macros in more detail in Chapter 19. For now, you just need to know that using a `!` -means that you’re calling a macro instead of a normal function, and that macros +means that you’re calling a macro instead of a normal function and that macros don’t always follow the same rules as functions. -Third, you see the `"Hello, world!"` string. We pass this string as an argument -to `println!`, and the string is printed to the screen. +Third, you see the `"Hello,` `world!"` string. We pass this string as an +argument to `println!`, and the string is printed to the screen. Fourth, we end the line with a semicolon (`;`), which indicates that this expression is over and the next one is ready to begin. Most lines of Rust code @@ -318,21 +359,33 @@ If you have a C or C++ background, you’ll notice that this is similar to `gcc` or `clang`. After compiling successfully, Rust outputs a binary executable. On Linux, macOS, and PowerShell on Windows, you can see the executable by -entering the `ls` command in your shell. On Linux and macOS, you’ll see two -files. With PowerShell on Windows, you’ll see the same three files that you -would see using CMD. +entering the `ls` command in your shell. ``` $ ls +``` + +``` main main.rs ``` -With CMD on Windows, you would enter the following: +On Linux and macOS, you’ll see two files. With PowerShell on Windows, you’ll +see the same three files that you would see using CMD. With CMD on Windows, you +would enter the following: ``` > dir /B %= the /B option says to only show the file names =% +``` + +``` main.exe +``` + +``` main.pdb +``` + +``` main.rs ``` @@ -345,14 +398,14 @@ From here, you run the *main* or *main.exe* file, like this: $ ./main # or .\main.exe on Windows ``` -If your *main.rs* is your “Hello, world!” program, this line prints `Hello, -world!` to your terminal. +If your *main.rs* is your “Hello, world!” program, this line prints `Hello,` +`world!` to your terminal. If you’re more familiar with a dynamic language, such as Ruby, Python, or JavaScript, you might not be used to compiling and running a program as -separate steps. Rust is an *ahead-of-time compiled* language, meaning you can +separate steps. Rust is an *ahead-of-time* *compiled* language, meaning you can compile a program and give the executable to someone else, and they can run it -even without having Rust installed. If you give someone a *.rb*, *.py*, or +even without having Rust installed. If you give someone a *.rb*, *.py*, or *.js* file, they need to have a Ruby, Python, or JavaScript implementation installed (respectively). But in those languages, you only need one command to compile and run your program. Everything is a trade-off in language design. @@ -378,27 +431,30 @@ using Cargo, adding dependencies will be much easier to do. Because the vast majority of Rust projects use Cargo, the rest of this book assumes that you’re using Cargo too. Cargo comes installed with Rust if you -used the official installers discussed in the “Installation” section. If you +used the official installers discussed in “Installation” on page XX. If you installed Rust through some other means, check whether Cargo is installed by -entering the following into your terminal: +entering the following in your terminal: ``` $ cargo --version ``` -If you see a version number, you have it! If you see an error, such as `command -not found`, look at the documentation for your method of installation to -determine how to install Cargo separately. +If you see a version number, you have it! If you see an error, such as +`command` `not` `found`, look at the documentation for your method of +installation to determine how to install Cargo separately. ### Creating a Project with Cargo Let’s create a new project using Cargo and look at how it differs from our -original “Hello, world!” project. Navigate back to your *projects* directory (or -wherever you decided to store your code). Then, on any operating system, run -the following: +original “Hello, world!” project. Navigate back to your *projects* directory +(or wherever you decided to store your code). Then, on any operating system, +run the following: ``` $ cargo new hello_cargo +``` + +``` $ cd hello_cargo ``` @@ -411,12 +467,12 @@ has generated two files and one directory for us: a *Cargo.toml* file and a *src* directory with a *main.rs* file inside. It has also initialized a new Git repository along with a *.gitignore* file. -Git files won’t be generated if you run `cargo new` within an existing Git -repository; you can override this behavior by using `cargo new --vcs=git`. +Git files won’t be generated if you run `cargo` `new` within an existing Git +repository; you can override this behavior by using `cargo` `new` `--vcs=git`. -> Note: Git is a common version control system. You can change `cargo new` to -> use a different version control system or no version control system by using -> the `--vcs` flag. Run `cargo new --help` to see the available options. +> NoteGit is a common version control system. You can change `cargo` `new` to +use a different version control system or no version control system by using +the `--vcs` flag. Run `cargo` `new` `--help` to see the available options. Open *Cargo.toml* in your text editor of choice. It should look similar to the code in Listing 1-2. @@ -425,25 +481,40 @@ Filename: Cargo.toml ``` [package] +``` + +``` name = "hello_cargo" +``` + +``` version = "0.1.0" +``` + +``` edition = "2021" +``` +``` + +``` + +``` [dependencies] ``` -Listing 1-2: Contents of *Cargo.toml* generated by `cargo new` +Contents of *Cargo.toml* generated by `cargo` `new` -This file is in the *TOML* (*Tom’s Obvious, Minimal Language*) format, which is -Cargo’s configuration format. +This file is in the *TOML* (*Tom’s* *Obvious,* *Minimal* *Language*) format, +which is Cargo’s configuration format. The first line, `[package]`, is a section heading that indicates that the following statements are configuring a package. As we add more information to this file, we’ll add other sections. The next three lines set the configuration information Cargo needs to compile -your program: the name, the version, and the edition of Rust to use. We’ll talk -about the `edition` key in Appendix E. +your program: the name, the version, and the edition of Rust to use. We’ll +talk about the `edition` key in Appendix E. The last line, `[dependencies]`, is the start of a section for you to list any of your project’s dependencies. In Rust, packages of code are referred to as @@ -456,13 +527,19 @@ Filename: src/main.rs ``` fn main() { +``` + +``` println!("Hello, world!"); +``` + +``` } ``` Cargo has generated a “Hello, world!” program for you, just like the one we wrote in Listing 1-1! So far, the differences between our project and the -project Cargo generated are that Cargo placed the code in the *src* directory, +project Cargo generated are that Cargo placed the code in the *src* directory and we have a *Cargo.toml* configuration file in the top directory. Cargo expects your source files to live inside the *src* directory. The @@ -484,7 +561,13 @@ entering the following command: ``` $ cargo build +``` + +``` Compiling hello_cargo v0.1.0 (file:///projects/hello_cargo) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 2.85 secs ``` @@ -495,30 +578,42 @@ a directory named *debug*. You can run the executable with this command: ``` $ ./target/debug/hello_cargo # or .\target\debug\hello_cargo.exe on Windows +``` + +``` Hello, world! ``` -If all goes well, `Hello, world!` should print to the terminal. Running `cargo -build` for the first time also causes Cargo to create a new file at the top -level: *Cargo.lock*. This file keeps track of the exact versions of +If all goes well, `Hello,` `world!` should print to the terminal. Running +`cargo` `build` for the first time also causes Cargo to create a new file at +the top level: *Cargo.lock*. This file keeps track of the exact versions of dependencies in your project. This project doesn’t have dependencies, so the file is a bit sparse. You won’t ever need to change this file manually; Cargo manages its contents for you. -We just built a project with `cargo build` and ran it with -`./target/debug/hello_cargo`, but we can also use `cargo run` to compile the -code and then run the resulting executable all in one command: +We just built a project with `cargo` `build` and ran it with +`./target/debug/hello_cargo`, but we can also use `cargo` `run` to compile the +code and then run the resultant executable all in one command: ``` $ cargo run +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs +``` + +``` Running `target/debug/hello_cargo` +``` + +``` Hello, world! ``` -Using `cargo run` is more convenient than having to remember to run `cargo -build` and then use the whole path to the binary, so most developers use `cargo -run`. +Using `cargo` `run` is more convenient than having to remember to run `cargo` +`build` and then use the whole path to the binary, so most developers use +`cargo` `run`. Notice that this time we didn’t see output indicating that Cargo was compiling `hello_cargo`. Cargo figured out that the files hadn’t changed, so it didn’t @@ -528,55 +623,72 @@ output: ``` $ cargo run +``` + +``` Compiling hello_cargo v0.1.0 (file:///projects/hello_cargo) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.33 secs +``` + +``` Running `target/debug/hello_cargo` +``` + +``` Hello, world! ``` -Cargo also provides a command called `cargo check`. This command quickly checks -your code to make sure it compiles but doesn’t produce an executable: +Cargo also provides a command called `cargo` `check`. This command quickly +checks your code to make sure it compiles but doesn’t produce an executable: ``` $ cargo check +``` + +``` Checking hello_cargo v0.1.0 (file:///projects/hello_cargo) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.32 secs ``` -Why would you not want an executable? Often, `cargo check` is much faster than -`cargo build`, because it skips the step of producing an executable. If you’re -continually checking your work while writing the code, using `cargo check` will -speed up the process of letting you know if your project is still compiling! As -such, many Rustaceans run `cargo check` periodically as they write their -program to make sure it compiles. Then they run `cargo build` when they’re -ready to use the executable. +Why would you not want an executable? Often, `cargo` `check` is much faster +than `cargo` `build` because it skips the step of producing an executable. If +you’re continually checking your work while writing the code, using `cargo` +`check` will speed up the process of letting you know if your project is still +compiling! As such, many Rustaceans run `cargo` `check` periodically as they +write their program to make sure it compiles. Then they run `cargo` `build` +when they’re ready to use the executable. Let’s recap what we’ve learned so far about Cargo: -* We can create a project using `cargo new`. -* We can build a project using `cargo build`. -* We can build and run a project in one step using `cargo run`. +* We can create a project using `cargo` `new`. +* We can build a project using `cargo` `build`. +* We can build and run a project in one step using `cargo` `run`. * We can build a project without producing a binary to check for errors using - `cargo check`. +`cargo` `check`. * Instead of saving the result of the build in the same directory as our code, - Cargo stores it in the *target/debug* directory. - +Cargo stores it in the *target/debug* directory. An additional advantage of using Cargo is that the commands are the same no matter which operating system you’re working on. So, at this point, we’ll no longer provide specific instructions for Linux and macOS versus Windows. ### Building for Release -When your project is finally ready for release, you can use `cargo build ---release` to compile it with optimizations. This command will create an +When your project is finally ready for release, you can use `cargo` `build` +`--release` to compile it with optimizations. This command will create an executable in *target/release* instead of *target/debug*. The optimizations make your Rust code run faster, but turning them on lengthens the time it takes for your program to compile. This is why there are two different profiles: one for development, when you want to rebuild quickly and often, and another for building the final program you’ll give to a user that won’t be rebuilt repeatedly and that will run as fast as possible. If you’re benchmarking your -code’s running time, be sure to run `cargo build --release` and benchmark with -the executable in *target/release*. +code’s running time, be sure to run `cargo` `build` `--release` and benchmark +with the executable in *target/release*. ### Cargo as Convention @@ -592,11 +704,18 @@ using Git, change to that project’s directory, and build: ``` $ git clone example.org/someproject +``` + +``` $ cd someproject +``` + +``` $ cargo build ``` -For more information about Cargo, check out its documentation at *https://doc.rust-lang.org/cargo/*. +For more information about Cargo, check out its documentation at +*https://doc.rust-lang.org/cargo*. ## Summary @@ -608,8 +727,8 @@ you’ve learned how to: * Open locally installed documentation * Write and run a “Hello, world!” program using `rustc` directly * Create and run a new project using the conventions of Cargo - This is a great time to build a more substantial program to get used to reading and writing Rust code. So, in Chapter 2, we’ll build a guessing game program. If you would rather start by learning how common programming concepts work in Rust, see Chapter 3 and then return to Chapter 2. + diff --git a/nostarch/docx/chapter01.docx b/nostarch/docx/chapter01.docx index 88794a7a4c2244c53578e10b435ae720ddf3f56f..f3bccda5ba57bfc56927c55a8b6384b5cd30406f 100644 GIT binary patch delta 57077 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 delta 44910 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 z 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 k|IcOo_Xhh?&^8Hxl;D3O z&Hu&0z#hu~8IX?PUr6wCwue8b^dA@5e@9Fe$dL5&rvAaSus)+qpZ*-w|H7YVw6&mY zQUDn!k?ix6{%8QzkO4^l2kJ;60bqekuYkUM-X;h@`WYTMN;Evi1{Hoz1mS0SJ*XKLa>WU|={G|HS_fEw1aS From d8e1f9022fb333cb332c83861c181ac738d546f9 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 11 Aug 2022 16:28:53 -0400 Subject: [PATCH 0382/1248] reorder notes --- TODO.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/TODO.md b/TODO.md index d21738578f..067871a472 100644 --- a/TODO.md +++ b/TODO.md @@ -1,12 +1,14 @@ # In each chapter +- [ ] Manual regeneration +- [ ] Check updated output +- [ ] Check for upstream changes from last snapshot - [ ] Check diff - [ ] Answer all comments - [ ] Check indentation of --snip-- - [ ] Check cross references - [ ] Gray out unchanged lines -- [ ] Manual regeneration -- [ ] Check for upstream changes from last snapshot -- [ ] Check updated output - [ ] Check line wrapping - [ ] Index tags + - [ ] search for "convention" conventions:naming:of blah + - [ ] check for double spaces, spaces at the end of paragraphs From 0ace243e9a34198f83c02ffa8490ed6c105ea7b9 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 11 Aug 2022 16:33:21 -0400 Subject: [PATCH 0383/1248] Updated snapshot of ch3 --- nostarch/chapter03.md | 145 ++---------------------------------------- 1 file changed, 4 insertions(+), 141 deletions(-) diff --git a/nostarch/chapter03.md b/nostarch/chapter03.md index 281f31d338..3093e8fc92 100644 --- a/nostarch/chapter03.md +++ b/nostarch/chapter03.md @@ -96,8 +96,8 @@ change, so you don’t have to keep track of it yourself. Your code is thus easier to reason through. But mutability can be very useful, and can make code more convenient to write. -Variables are immutable only by default; as you did in Chapter 2, you can make -them mutable by adding `mut` in front of the variable name. Adding `mut` also +Although variables are immutable by default, you can make them mutable by adding +`mut` in front of the variable name as you did in Chapter 2. Adding `mut` also conveys intent to future readers of the code by indicating that other parts of the code will be changing this variable’s value. @@ -129,14 +129,6 @@ We’re allowed to change the value bound to `x` from `5` to `6` when `mut` is used. Ultimately, deciding whether to use mutability or not is up to you and depends on what you think is clearest in that particular situation. - - - ### Constants Like immutable variables, *constants* are values that are bound to a name and @@ -195,21 +187,6 @@ variable name to itself until either it itself is shadowed or the scope ends. We can shadow a variable by using the same variable’s name and repeating the use of the `let` keyword as follows: - - - Filename: src/main.rs ``` @@ -226,17 +203,6 @@ fn main() { println!("The value of x is: {x}"); } ``` - - This program first binds `x` to a value of `5`. Then it creates a new variable `x` by repeating `let x =`, taking the original value and adding `1` so the @@ -246,10 +212,6 @@ variable, multiplying the previous value by `2` to give `x` a value of `12`. When that scope is over, the inner shadowing ends and `x` returns to being `6`. When we run this program, it will output the following: - - - ``` $ cargo run Compiling variables v0.1.0 (file:///projects/variables) @@ -265,37 +227,12 @@ using the `let` keyword. By using `let`, we can perform a few transformations on a value but have the variable be immutable after those transformations have been completed. - - - - - The other difference between `mut` and shadowing is that because we’re effectively creating a new variable when we use the `let` keyword again, we can change the type of the value but reuse the same name. For example, say our program asks a user to show how many spaces they want between some text by inputting space characters, and then we want to store that input as a number: - - - ``` let spaces = " "; let spaces = spaces.len(); @@ -350,10 +287,6 @@ If we don’t add the `: u32` type annotation above, Rust will display the following error, which means the compiler needs more information from us to know which type we want to use: - - - ``` $ cargo build Compiling no_type_annotations v0.1.0 (file:///projects/no_type_annotations) @@ -632,28 +565,11 @@ This program creates the tuple `x` and then accesses each element of the tuple using their respective indices. As with most programming languages, the first index in a tuple is 0. - - - The tuple without any values has a special name, *unit*. This value and its corresponding type are both written `()` and represent an empty value or an empty return type. Expressions implicitly return the unit value if they don’t return any other value. - - - #### The Array Type Another way to have a collection of multiple values is with an *array*. Unlike @@ -793,13 +709,6 @@ kind of error by immediately exiting instead of allowing the memory access and continuing. Chapter 9 discusses more of Rust’s error handling and how you can write readable, safe code that neither panics nor allows invalid memory access. - - - ## Functions Functions are prevalent in Rust code. You’ve already seen one of the most @@ -836,14 +745,6 @@ called from inside the `main` function. Note that we defined `another_function` as well. Rust doesn’t care where you define your functions, only that they’re defined somewhere in a scope that can be seen by the caller. - - - Let’s start a new binary project named *functions* to explore functions further. Place the `another_function` example in *src/main.rs* and run it. You should see the following output: @@ -885,9 +786,6 @@ fn another_function(x: i32) { } ``` - - - Try running this program; you should get the following output: ``` @@ -909,9 +807,6 @@ definitions means the compiler almost never needs you to use them elsewhere in the code to figure out what type you mean. The compiler is also able to give more helpful error messages if it knows what types the function expects. - - - When defining multiple parameters, separate the parameter declarations with commas, like this: @@ -964,12 +859,6 @@ We’ve actually already used statements and expressions. Creating a variable an assigning a value to it with the `let` keyword is a statement. In Listing 3-1, `let y = 6;` is a statement. - - - Filename: src/main.rs ``` @@ -1007,14 +896,13 @@ error: expected expression, found statement (`let`) | = note: variable declaration using `let` is a statement -error[E0658]: `let` expressions in this position are experimental +error[E0658]: `let` expressions in this position are unstable --> src/main.rs:2:14 | 2 | let x = (let y = 6); | ^^^^^^^^^ | = note: see issue #53667 for more information - = help: you can write `matches!(, )` instead of `let = ` warning: unnecessary parentheses around assigned value --> src/main.rs:2:13 @@ -1030,10 +918,6 @@ help: remove these parentheses | ``` - - - The `let y = 6` statement does not return a value, so there isn’t anything for `x` to bind to. This is different from what happens in other languages, such as C and Ruby, where the assignment returns the value of the assignment. In those @@ -1128,10 +1012,6 @@ Second, the `five` function has no parameters and defines the type of the return value, but the body of the function is a lonely `5` with no semicolon because it’s an expression whose value we want to return. - - - Let’s look at another example: Filename: src/main.rs @@ -1179,7 +1059,7 @@ error[E0308]: mismatched types | | | implicitly returns `()` as its body has no tail or `return` expression 8 | x + 1; - | - help: consider removing this semicolon + | - help: remove this semicolon ``` The main error message, “mismatched types,” reveals the core issue with this @@ -1420,19 +1300,8 @@ fn main() { } ``` - - - Listing 3-2: Assigning the result of an `if` expression to a variable - - - The `number` variable will be bound to a value based on the outcome of the `if` expression. Run this code to see what happens: @@ -1548,10 +1417,6 @@ We also used `continue` in the guessing game, which in a loop tells the program to skip over any remaining code in this iteration of the loop and go to the next iteration. - - - #### Returning Values from Loops One of the uses of a `loop` is to retry an operation you know might fail, such @@ -1587,8 +1452,6 @@ print the value in `result`, which in this case is 20. #### Loop Labels to Disambiguate Between Multiple Loops - - If you have loops within loops, `break` and `continue` apply to the innermost loop at that point. You can optionally specify a *loop label* on a loop that we can then use with `break` or `continue` to specify that those keywords apply to From 2eb12e16c033cdbd06e0bf9e146c64f780207199 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 11 Aug 2022 19:19:11 -0400 Subject: [PATCH 0384/1248] Snapshot of ch3 from nostarch --- nostarch/chapter03.md | 1725 ++++++++++++++++++++++++++++++---- nostarch/docx/chapter03.docx | Bin 0 -> 86139 bytes 2 files changed, 1531 insertions(+), 194 deletions(-) create mode 100644 nostarch/docx/chapter03.docx diff --git a/nostarch/chapter03.md b/nostarch/chapter03.md index 3093e8fc92..416fe92ed5 100644 --- a/nostarch/chapter03.md +++ b/nostarch/chapter03.md @@ -1,8 +1,3 @@ - [TOC] @@ -18,19 +13,23 @@ Specifically, you’ll learn about variables, basic types, functions, comments, and control flow. These foundations will be in every Rust program, and learning them early will give you a strong core to start from. -> #### Keywords -> -> The Rust language has a set of *keywords* that are reserved for use by -> the language only, much as in other languages. Keep in mind that you cannot -> use these words as names of variables or functions. Most of the keywords have -> special meanings, and you’ll be using them to do various tasks in your Rust -> programs; a few have no current functionality associated with them but have -> been reserved for functionality that might be added to Rust in the future. You -> can find a list of the keywords in Appendix A. + +Unmatched: BoxType + +> ### Keywords + + +> The Rust language has a set of *keywords* that are reserved for use by the +language only, much as in other languages. Keep in mind that you cannot use +these words as names of variables or functions. Most of the keywords have +special meanings, and you’ll be using them to do various tasks in your Rust +programs; a few have no current functionality associated with them but have +been reserved for functionality that might be added to Rust in the future. You +can find a list of the keywords in Appendix A. ## Variables and Mutability -As mentioned in the “Storing Values with Variables” section, by default +As mentioned in “Storing Values with Variables” on page XX, by default variables are immutable. This is one of many nudges Rust gives you to write your code in a way that takes advantage of the safety and easy concurrency that Rust offers. However, you still have the option to make your variables mutable. @@ -38,40 +37,90 @@ Let’s explore how and why Rust encourages you to favor immutability and why sometimes you might want to opt out. When a variable is immutable, once a value is bound to a name, you can’t change -that value. To illustrate this, let’s generate a new project called *variables* -in your *projects* directory by using `cargo new variables`. +that value. To illustrate this, generate a new project called *variables* in +your *projects* directory by using `cargo new variables`. Then, in your new *variables* directory, open *src/main.rs* and replace its -code with the following code. This code won’t compile just yet, we’ll first -examine the immutability error. +code with the following code, which won’t compile just yet: Filename: src/main.rs ``` fn main() { +``` + +``` let x = 5; +``` + +``` println!("The value of x is: {x}"); +``` + +``` x = 6; +``` + +``` println!("The value of x is: {x}"); +``` + +``` } ``` -Save and run the program using `cargo run`. You should receive an error -message, as shown in this output: +Save and run the program using `cargo run`. You should receive an error message +regarding an immutability error, as shown in this output: ``` $ cargo run +``` + +``` Compiling variables v0.1.0 (file:///projects/variables) +``` + +``` error[E0384]: cannot assign twice to immutable variable `x` +``` + +``` --> src/main.rs:4:5 +``` + +``` | +``` + +``` 2 | let x = 5; +``` + +``` | - +``` + +``` | | +``` + +``` | first assignment to `x` +``` + +``` | help: consider making this binding mutable: `mut x` +``` + +``` 3 | println!("The value of x is: {x}"); +``` + +``` 4 | x = 6; +``` + +``` | ^^^^^ cannot assign twice to immutable variable ``` @@ -80,9 +129,8 @@ Compiler errors can be frustrating, but really they only mean your program isn’t safely doing what you want it to do yet; they do *not* mean that you’re not a good programmer! Experienced Rustaceans still get compiler errors. -The error message indicates that the cause of the error is that you `` cannot -assign twice to immutable variable `x` ``, because you tried to assign a second -value to the immutable `x` variable. +You received the error message `cannot assign twice to immutable variable `x`` +because you tried to assign a second value to the immutable `x` variable. It’s important that we get compile-time errors when we attempt to change a value that’s designated as immutable because this very situation can lead to @@ -91,15 +139,15 @@ never change and another part of our code changes that value, it’s possible that the first part of the code won’t do what it was designed to do. The cause of this kind of bug can be difficult to track down after the fact, especially when the second piece of code changes the value only *sometimes*. The Rust -compiler guarantees that when you state a value won’t change, it really won’t -change, so you don’t have to keep track of it yourself. Your code is thus +compiler guarantees that when you state that a value won’t change, it really +won’t change, so you don’t have to keep track of it yourself. Your code is thus easier to reason through. But mutability can be very useful, and can make code more convenient to write. -Although variables are immutable by default, you can make them mutable by adding -`mut` in front of the variable name as you did in Chapter 2. Adding `mut` also -conveys intent to future readers of the code by indicating that other parts of -the code will be changing this variable’s value. +Although variables are immutable by default, you can make them mutable by +adding `mut` in front of the variable name as you did in Chapter 2. Adding +`mut` also conveys intent to future readers of the code by indicating that +other parts of the code will be changing this variable’s value. For example, let’s change *src/main.rs* to the following: @@ -107,10 +155,25 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let mut x = 5; +``` + +``` println!("The value of x is: {x}"); +``` + +``` x = 6; +``` + +``` println!("The value of x is: {x}"); +``` + +``` } ``` @@ -118,15 +181,30 @@ When we run the program now, we get this: ``` $ cargo run +``` + +``` Compiling variables v0.1.0 (file:///projects/variables) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.30s +``` + +``` Running `target/debug/variables` +``` + +``` The value of x is: 5 +``` + +``` The value of x is: 6 ``` -We’re allowed to change the value bound to `x` from `5` to `6` when `mut` -is used. Ultimately, deciding whether to use mutability or not is up to you and +We’re allowed to change the value bound to `x` from `5` to `6` when `mut` is +used. Ultimately, deciding whether to use mutability or not is up to you and depends on what you think is clearest in that particular situation. ### Constants @@ -138,9 +216,9 @@ and variables. First, you aren’t allowed to use `mut` with constants. Constants aren’t just immutable by default—they’re always immutable. You declare constants using the `const` keyword instead of the `let` keyword, and the type of the value *must* -be annotated. We’re about to cover types and type annotations in the next -section, “Data Types,” so don’t worry about the details right now. Just know -that you must always annotate the type. +be annotated. We’ll cover types and type annotations in “Data Types” on page +XX, so don’t worry about the details right now. Just know that you must always +annotate the type. Constants can be declared in any scope, including the global scope, which makes them useful for values that many parts of code need to know about. @@ -165,11 +243,11 @@ to the value 10,800. See the Rust Reference’s section on constant evaluation a *https://doc.rust-lang.org/reference/const_eval.html* for more information on what operations can be used when declaring constants. -Constants are valid for the entire time a program runs, within the scope they -were declared in. This property makes constants useful for values in your -application domain that multiple parts of the program might need to know about, -such as the maximum number of points any player of a game is allowed to earn or -the speed of light. +Constants are valid for the entire time a program runs, within the scope in +which they were declared. This property makes constants useful for values in +your application domain that multiple parts of the program might need to know +about, such as the maximum number of points any player of a game is allowed to +earn or the speed of light. Naming hardcoded values used throughout your program as constants is useful in conveying the meaning of that value to future maintainers of the code. It also @@ -191,16 +269,49 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let x = 5; +``` + +``` +``` + +``` let x = x + 1; +``` +``` + +``` + +``` { +``` + +``` let x = x * 2; +``` + +``` println!("The value of x in the inner scope is: {x}"); +``` + +``` } +``` + +``` + +``` +``` println!("The value of x is: {x}"); +``` + +``` } ``` @@ -214,20 +325,35 @@ When we run this program, it will output the following: ``` $ cargo run +``` + +``` Compiling variables v0.1.0 (file:///projects/variables) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.31s +``` + +``` Running `target/debug/variables` +``` + +``` The value of x in the inner scope is: 12 +``` + +``` The value of x is: 6 ``` -Shadowing is different from marking a variable as `mut`, because we’ll get a +Shadowing is different from marking a variable as `mut` because we’ll get a compile-time error if we accidentally try to reassign to this variable without using the `let` keyword. By using `let`, we can perform a few transformations on a value but have the variable be immutable after those transformations have been completed. -The other difference between `mut` and shadowing is that because we’re + The other difference between `mut` and shadowing is that because we’re effectively creating a new variable when we use the `let` keyword again, we can change the type of the value but reuse the same name. For example, say our program asks a user to show how many spaces they want between some text by @@ -235,6 +361,9 @@ inputting space characters, and then we want to store that input as a number: ``` let spaces = " "; +``` + +``` let spaces = spaces.len(); ``` @@ -246,6 +375,9 @@ here, we’ll get a compile-time error: ``` let mut spaces = " "; +``` + +``` spaces = spaces.len(); ``` @@ -253,13 +385,37 @@ The error says we’re not allowed to mutate a variable’s type: ``` $ cargo run +``` + +``` Compiling variables v0.1.0 (file:///projects/variables) +``` + +``` error[E0308]: mismatched types +``` + +``` --> src/main.rs:3:14 +``` + +``` | +``` + +``` 2 | let mut spaces = " "; +``` + +``` | ----- expected due to this value +``` + +``` 3 | spaces = spaces.len(); +``` + +``` | ^^^^^^^^^^^^ expected `&str`, found `usize` ``` @@ -276,24 +432,42 @@ Keep in mind that Rust is a *statically typed* language, which means that it must know the types of all variables at compile time. The compiler can usually infer what type we want to use based on the value and how we use it. In cases when many types are possible, such as when we converted a `String` to a numeric -type using `parse` in the “Comparing the Guess to the Secret Number” section in -Chapter 2, we must add a type annotation, like this: +type using `parse` in “Comparing the Guess to the Secret Number” on page XX, we +must add a type annotation, like this: ``` let guess: u32 = "42".parse().expect("Not a number!"); ``` -If we don’t add the `: u32` type annotation above, Rust will display the -following error, which means the compiler needs more information from us to -know which type we want to use: +If we don’t add the `: u32` type annotation shown in the preceding code, Rust +will display the following error, which means the compiler needs more +information from us to know which type we want to use: ``` $ cargo build +``` + +``` Compiling no_type_annotations v0.1.0 (file:///projects/no_type_annotations) +``` + +``` error[E0282]: type annotations needed +``` + +``` --> src/main.rs:2:9 +``` + +``` | +``` + +``` 2 | let guess = "42".parse().expect("Not a number!"); +``` + +``` | ^^^^^ consider giving `guess` a type ``` @@ -310,22 +484,59 @@ these from other programming languages. Let’s jump into how they work in Rust. An *integer* is a number without a fractional component. We used one integer type in Chapter 2, the `u32` type. This type declaration indicates that the value it’s associated with should be an unsigned integer (signed integer types -start with `i`, instead of `u`) that takes up 32 bits of space. Table 3-1 shows +start with `i` instead of `u`) that takes up 32 bits of space. Table 3-1 shows the built-in integer types in Rust. We can use any of these variants to declare the type of an integer value. -Table 3-1: Integer Types in Rust +PROD: Please number this as Table 3-1. + +Integer Types in Rust + + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody -| Length | Signed | Unsigned | -|---------|---------|----------| -| 8-bit | `i8` | `u8` | -| 16-bit | `i16` | `u16` | -| 32-bit | `i32` | `u32` | -| 64-bit | `i64` | `u64` | -| 128-bit | `i128` | `u128` | -| arch | `isize` | `usize` | +Unmatched: TableBody -Each variant can be either signed or unsigned and has an explicit size. +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + Each variant can be either signed or unsigned and has an explicit size. *Signed* and *unsigned* refer to whether it’s possible for the number to be negative—in other words, whether the number needs to have a sign with it (signed) or whether it will only ever be positive and can therefore be @@ -334,11 +545,11 @@ the sign matters, a number is shown with a plus sign or a minus sign; however, when it’s safe to assume the number is positive, it’s shown with no sign. Signed numbers are stored using two’s complement representation. -Each signed variant can store numbers from -(2n - 1) to 2n - -1 - 1 inclusive, where *n* is the number of bits that variant uses. So an -`i8` can store numbers from -(27) to 27 - 1, which equals --128 to 127. Unsigned variants can store numbers from 0 to 2n - 1, -so a `u8` can store numbers from 0 to 28 - 1, which equals 0 to 255. +Each signed variant can store numbers from -(2n - 1) to 2n - 1 - 1 inclusive, +where *n* is the number of bits that variant uses. So an `i8` can store numbers +from -(27) to 27 - 1, which equals -128 to 127. Unsigned variants can store +numbers from 0 to 2n - 1, so a `u8` can store numbers from 0 to 28 - 1, which +equals 0 to 255. Additionally, the `isize` and `usize` types depend on the architecture of the computer your program is running on, which is denoted in the table as “arch”: @@ -351,52 +562,76 @@ such as `57u8`, to designate the type. Number literals can also use `_` as a visual separator to make the number easier to read, such as `1_000`, which will have the same value as if you had specified `1000`. -Table 3-2: Integer Literals in Rust +Prod: The following should be numbered as Table 3-2. + +Integer Literals in Rust + + +Unmatched: TableHeader + +Unmatched: TableHeader -| Number literals | Example | -|------------------|---------------| -| Decimal | `98_222` | -| Hex | `0xff` | -| Octal | `0o77` | -| Binary | `0b1111_0000` | -| Byte (`u8` only) | `b'A'` | +Unmatched: TableBody -So how do you know which type of integer to use? If you’re unsure, Rust’s +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + So how do you know which type of integer to use? If you’re unsure, Rust’s defaults are generally good places to start: integer types default to `i32`. The primary situation in which you’d use `isize` or `usize` is when indexing some sort of collection. -> ##### Integer Overflow -> + +Unmatched: BoxType + +> ### Integer Overflow + + > Let’s say you have a variable of type `u8` that can hold values between 0 and -> 255. If you try to change the variable to a value outside of that range, such -> as 256, *integer overflow* will occur, which can result in one of two -> behaviors. When you’re compiling in debug mode, Rust includes checks for -> integer overflow that cause your program to *panic* at runtime if this -> behavior occurs. Rust uses the term panicking when a program exits with an -> error; we’ll discuss panics in more depth in the “Unrecoverable Errors with -> `panic!`” section in Chapter 9. -> +255. If you try to change the variable to a value outside that range, such as +256, *integer overflow* will occur, which can result in one of two behaviors. +When you’re compiling in debug mode, Rust includes checks for integer overflow +that cause your program to *panic* at runtime if this behavior occurs. Rust +uses the term *panicking* when a program exits with an error; we’ll discuss +panics in more depth in “Unrecoverable Errors with panic!” on page XX. + + > When you’re compiling in release mode with the `--release` flag, Rust does -> *not* include checks for integer overflow that cause panics. Instead, if -> overflow occurs, Rust performs *two’s complement wrapping*. In short, values -> greater than the maximum value the type can hold “wrap around” to the minimum -> of the values the type can hold. In the case of a `u8`, the value 256 becomes -> 0, the value 257 becomes 1, and so on. The program won’t panic, but the -> variable will have a value that probably isn’t what you were expecting it to -> have. Relying on integer overflow’s wrapping behavior is considered an error. -> +*not* include checks for integer overflow that cause panics. Instead, if +overflow occurs, Rust performs *two’s complement wrapping*. In short, values +greater than the maximum value the type can hold “wrap around” to the minimum +of the values the type can hold. In the case of a `u8`, the value 256 becomes +0, the value 257 becomes 1, and so on. The program won’t panic, but the +variable will have a value that probably isn’t what you were expecting it to +have. Relying on integer overflow’s wrapping behavior is considered an error. + + > To explicitly handle the possibility of overflow, you can use these families -> of methods provided by the standard library for primitive numeric types: -> -> - Wrap in all modes with the `wrapping_*` methods, such as `wrapping_add` -> - Return the `None` value if there is overflow with the `checked_*` methods -> - Return the value and a boolean indicating whether there was overflow with -> the `overflowing_*` methods -> - Saturate at the value’s minimum or maximum values with `saturating_*` -> methods +of methods provided by the standard library for primitive numeric types: -#### Floating-Point Types + +Unmatched: BoxListBullet + +Unmatched: BoxListBullet + +Unmatched: BoxListBullet + +Unmatched: BoxListBullet + #### Floating-Point Types Rust also has two primitive types for *floating-point numbers*, which are numbers with decimal points. Rust’s floating-point types are `f32` and `f64`, @@ -410,9 +645,21 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let x = 2.0; // f64 +``` +``` + +``` + +``` let y: f32 = 3.0; // f32 +``` + +``` } ``` @@ -421,30 +668,78 @@ Floating-point numbers are represented according to the IEEE-754 standard. The #### Numeric Operations -Rust supports the basic mathematical operations you’d expect for all of the -number types: addition, subtraction, multiplication, division, and remainder. -Integer division rounds down to the nearest integer. The following code shows -how you’d use each numeric operation in a `let` statement: +Rust supports the basic mathematical operations you’d expect for all the number +types: addition, subtraction, multiplication, division, and remainder. Integer +division rounds down to the nearest integer. The following code shows how you’d +use each numeric operation in a `let` statement: Filename: src/main.rs ``` fn main() { +``` + +``` // addition +``` + +``` let sum = 5 + 10; +``` + +``` + +``` +``` // subtraction +``` + +``` let difference = 95.5 - 4.3; +``` +``` + +``` + +``` // multiplication +``` + +``` let product = 4 * 30; +``` + +``` + +``` +``` // division +``` + +``` let quotient = 56.7 / 32.2; +``` + +``` let floored = 2 / 3; // Results in 0 +``` + +``` + +``` +``` // remainder +``` + +``` let remainder = 43 % 5; +``` + +``` } ``` @@ -462,28 +757,54 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let t = true; +``` + +``` + +``` +``` let f: bool = false; // with explicit type annotation +``` + +``` } ``` The main way to use Boolean values is through conditionals, such as an `if` -expression. We’ll cover how `if` expressions work in Rust in the “Control -Flow” section. +expression. We’ll cover how `if` expressions work in Rust in “Control Flow” on +page XX. #### The Character Type -Rust’s `char` type is the language’s most primitive alphabetic type. Here’s +Rust’s `char` type is the language’s most primitive alphabetic type. Here are some examples of declaring `char` values: +Prod: note this listing has unusual characters + Filename: src/main.rs ``` fn main() { +``` + +``` let c = 'z'; +``` + +``` let z: char = 'ℤ'; // with explicit type annotation +``` + +``` let heart_eyed_cat = '😻'; +``` + +``` } ``` @@ -496,7 +817,7 @@ Values range from `U+0000` to `U+D7FF` and `U+E000` to `U+10FFFF` inclusive. However, a “character” isn’t really a concept in Unicode, so your human intuition for what a “character” is may not match up with what a `char` is in Rust. We’ll discuss this topic in detail in “Storing UTF-8 Encoded Text with -Strings” in Chapter 8. +Strings” on page XX. ### Compound Types @@ -505,9 +826,9 @@ primitive compound types: tuples and arrays. #### The Tuple Type -A tuple is a general way of grouping together a number of values with a variety -of types into one compound type. Tuples have a fixed length: once declared, -they cannot grow or shrink in size. +A *tuple* is a general way of grouping together a number of values with a +variety of types into one compound type. Tuples have a fixed length: once +declared, they cannot grow or shrink in size. We create a tuple by writing a comma-separated list of values inside parentheses. Each position in the tuple has a type, and the types of the @@ -518,11 +839,17 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let tup: (i32, f64, u8) = (500, 6.4, 1); +``` + +``` } ``` -The variable `tup` binds to the entire tuple, because a tuple is considered a +The variable `tup` binds to the entire tuple because a tuple is considered a single compound element. To get the individual values out of a tuple, we can use pattern matching to destructure a tuple value, like this: @@ -530,17 +857,35 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let tup = (500, 6.4, 1); +``` + +``` + +``` +``` let (x, y, z) = tup; +``` + +``` + +``` +``` println!("The value of y is: {y}"); +``` + +``` } ``` This program first creates a tuple and binds it to the variable `tup`. It then uses a pattern with `let` to take `tup` and turn it into three separate -variables, `x`, `y`, and `z`. This is called *destructuring*, because it breaks +variables, `x`, `y`, and `z`. This is called *destructuring* because it breaks the single tuple into three parts. Finally, the program prints the value of `y`, which is `6.4`. @@ -551,13 +896,37 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let x: (i32, f64, u8) = (500, 6.4, 1); +``` + +``` + +``` +``` let five_hundred = x.0; +``` + +``` + +``` +``` let six_point_four = x.1; +``` + +``` + +``` +``` let one = x.2; +``` + +``` } ``` @@ -583,14 +952,20 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let a = [1, 2, 3, 4, 5]; +``` + +``` } ``` Arrays are useful when you want your data allocated on the stack rather than the heap (we will discuss the stack and the heap more in Chapter 4) or when you want to ensure you always have a fixed number of elements. An array isn’t as -flexible as the vector type, though. A vector is a similar collection type +flexible as the vector type, though. A *vector* is a similar collection type provided by the standard library that *is* allowed to grow or shrink in size. If you’re unsure whether to use an array or a vector, chances are you should use a vector. Chapter 8 discusses vectors in more detail. @@ -602,6 +977,9 @@ it will always contain 12 elements: ``` let months = ["January", "February", "March", "April", "May", "June", "July", +``` + +``` "August", "September", "October", "November", "December"]; ``` @@ -627,7 +1005,7 @@ The array named `a` will contain `5` elements that will all be set to the value `3` initially. This is the same as writing `let a = [3, 3, 3, 3, 3];` but in a more concise way. -##### Accessing Array Elements +#### Accessing Array Elements An array is a single chunk of memory of a known, fixed size that can be allocated on the stack. You can access elements of an array using indexing, @@ -637,18 +1015,33 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let a = [1, 2, 3, 4, 5]; +``` + +``` +``` + +``` let first = a[0]; +``` + +``` let second = a[1]; +``` + +``` } ``` -In this example, the variable named `first` will get the value `1`, because -that is the value at index `[0]` in the array. The variable named `second` will -get the value `2` from index `[1]` in the array. +In this example, the variable named `first` will get the value `1` because that +is the value at index `[0]` in the array. The variable named `second` will get +the value `2` from index `[1]` in the array. -##### Invalid Array Element Access +#### Invalid Array Element Access Let’s see what happens if you try to access an element of an array that is past the end of the array. Say you run this code, similar to the guessing game in @@ -658,28 +1051,97 @@ Filename: src/main.rs ``` use std::io; +``` + +``` +``` + +``` fn main() { +``` + +``` let a = [1, 2, 3, 4, 5]; +``` + +``` + +``` +``` println!("Please enter an array index."); +``` + +``` + +``` +``` let mut index = String::new(); +``` + +``` + +``` +``` io::stdin() +``` + +``` .read_line(&mut index) +``` + +``` .expect("Failed to read line"); +``` + +``` + +``` +``` let index: usize = index +``` + +``` .trim() +``` + +``` .parse() +``` + +``` .expect("Index entered was not a number"); +``` + +``` +``` + +``` let element = a[index]; +``` +``` + +``` + +``` println!( +``` + +``` "The value of the element at index {index} is: {element}" +``` + +``` ); +``` + +``` } ``` @@ -689,7 +1151,14 @@ that index in the array. If you instead enter a number past the end of the array, such as 10, you’ll see output like this: ``` -thread 'main' panicked at 'index out of bounds: the len is 5 but the index is 10', src/main.rs:19:19 +thread 'main' panicked at 'index out of bounds: the len is 5 but the index is +``` + +``` + 10', src/main.rs:19:19 +``` + +``` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` @@ -724,13 +1193,37 @@ Filename: src/main.rs ``` fn main() { +``` + +``` println!("Hello, world!"); +``` +``` + +``` + +``` another_function(); +``` + +``` } +``` + +``` + +``` +``` fn another_function() { +``` + +``` println!("Another function."); +``` + +``` } ``` @@ -751,10 +1244,25 @@ should see the following output: ``` $ cargo run +``` + +``` Compiling functions v0.1.0 (file:///projects/functions) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.28s +``` + +``` Running `target/debug/functions` +``` + +``` Hello, world! +``` + +``` Another function. ``` @@ -778,21 +1286,51 @@ Filename: src/main.rs ``` fn main() { +``` + +``` another_function(5); -} +``` -fn another_function(x: i32) { - println!("The value of x is: {x}"); +``` } ``` -Try running this program; you should get the following output: +``` + +``` + +``` +fn another_function(x: i32) { +``` + +``` + println!("The value of x is: {x}"); +``` + +``` +} +``` + +Try running this program; you should get the following output: + +``` +$ cargo run +``` + +``` + Compiling functions v0.1.0 (file:///projects/functions) +``` + +``` + Finished dev [unoptimized + debuginfo] target(s) in 1.21s +``` ``` -$ cargo run - Compiling functions v0.1.0 (file:///projects/functions) - Finished dev [unoptimized + debuginfo] target(s) in 1.21s Running `target/debug/functions` +``` + +``` The value of x is: 5 ``` @@ -814,11 +1352,29 @@ Filename: src/main.rs ``` fn main() { +``` + +``` print_labeled_measurement(5, 'h'); +``` + +``` } +``` +``` + +``` + +``` fn print_labeled_measurement(value: i32, unit_label: char) { +``` + +``` println!("The measurement is: {value}{unit_label}"); +``` + +``` } ``` @@ -833,9 +1389,21 @@ run`: ``` $ cargo run +``` + +``` Compiling functions v0.1.0 (file:///projects/functions) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.31s +``` + +``` Running `target/debug/functions` +``` + +``` The measurement is: 5h ``` @@ -852,22 +1420,36 @@ understand. Other languages don’t have the same distinctions, so let’s look what statements and expressions are and how their differences affect the bodies of functions. -*Statements* are instructions that perform some action and do not return a -value. *Expressions* evaluate to a resulting value. Let’s look at some examples. -We’ve actually already used statements and expressions. Creating a variable and -assigning a value to it with the `let` keyword is a statement. In Listing 3-1, -`let y = 6;` is a statement. +Unmatched: RunInHead + +Unmatched: RunInPara + +Unmatched: RunInHead + +Unmatched: RunInPara + We’ve actually already used statements and expressions. Creating a +variable and assigning a value to it with the `let` keyword is a statement. In +Listing 3-1, `let y = 6;` is a statement. Filename: src/main.rs ``` fn main() { +``` + +``` let y = 6; +``` + +``` } ``` -Listing 3-1: A `main` function declaration containing one statement +A `main` function declaration containing one statement + +Prod: this should be Listing 3-1. Please fix, and renumber all remaining +listings consecutively: e.g., Listing 3-2, Listing 3-3, etc. Function definitions are also statements; the entire preceding example is a statement in itself. @@ -879,7 +1461,13 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let x = (let y = 6); +``` + +``` } ``` @@ -887,34 +1475,125 @@ When you run this program, the error you’ll get looks like this: ``` $ cargo run +``` + +``` Compiling functions v0.1.0 (file:///projects/functions) +``` + +``` error: expected expression, found statement (`let`) +``` + +``` --> src/main.rs:2:14 +``` + +``` | +``` + +``` 2 | let x = (let y = 6); +``` + +``` | ^^^^^^^^^ +``` + +``` | +``` + +``` = note: variable declaration using `let` is a statement +``` +``` + +``` + +``` error[E0658]: `let` expressions in this position are unstable +``` + +``` --> src/main.rs:2:14 +``` + +``` | +``` + +``` 2 | let x = (let y = 6); +``` + +``` | ^^^^^^^^^ +``` + +``` | - = note: see issue #53667 for more information +``` + +``` + = note: see issue #53667 for +``` + +``` +more information +``` + +``` + +``` +``` warning: unnecessary parentheses around assigned value +``` + +``` --> src/main.rs:2:13 +``` + +``` | +``` + +``` 2 | let x = (let y = 6); +``` + +``` | ^ ^ +``` + +``` | +``` + +``` = note: `#[warn(unused_parens)]` on by default +``` + +``` help: remove these parentheses +``` + +``` | +``` + +``` 2 - let x = (let y = 6); +``` + +``` 2 + let x = let y = 6; +``` + +``` | ``` @@ -936,12 +1615,33 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let y = { +``` + +``` let x = 3; +``` + +``` x + 1 +``` + +``` }; +``` +``` + +``` + +``` println!("The value of y is: {y}"); +``` + +``` } ``` @@ -949,19 +1649,23 @@ This expression: ``` { +``` + +``` let x = 3; +``` + +``` x + 1 +``` + +``` } ``` -is a block that, in this case, evaluates to `4`. That value gets bound to `y` -as part of the `let` statement. Note that the `x + 1` line doesn’t have a -semicolon at the end, unlike most of the lines you’ve seen so far. Expressions -do not include ending semicolons. If you add a semicolon to the end of an -expression, you turn it into a statement, and it will then not return a value. -Keep this in mind as you explore function return values and expressions next. -### Functions with Return Values +Unmatched: BodyContinued + ### Functions with Return Values Functions can return values to the code that calls them. We don’t name return values, but we must declare their type after an arrow (`->`). In Rust, the @@ -975,13 +1679,37 @@ Filename: src/main.rs ``` fn five() -> i32 { +``` + +``` 5 +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let x = five(); +``` +``` + +``` + +``` println!("The value of x is: {x}"); +``` + +``` } ``` @@ -992,9 +1720,21 @@ running this code; the output should look like this: ``` $ cargo run +``` + +``` Compiling functions v0.1.0 (file:///projects/functions) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.30s +``` + +``` Running `target/debug/functions` +``` + +``` The value of x is: 5 ``` @@ -1018,31 +1758,79 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let x = plus_one(5); +``` + +``` + +``` +``` println!("The value of x is: {x}"); +``` + +``` } +``` +``` + +``` + +``` fn plus_one(x: i32) -> i32 { +``` + +``` x + 1 +``` + +``` } ``` Running this code will print `The value of x is: 6`. But if we place a semicolon at the end of the line containing `x + 1`, changing it from an -expression to a statement, we’ll get an error. +expression to a statement, we’ll get an error: Filename: src/main.rs ``` fn main() { +``` + +``` let x = plus_one(5); +``` +``` + +``` + +``` println!("The value of x is: {x}"); +``` + +``` } +``` + +``` + +``` +``` fn plus_one(x: i32) -> i32 { +``` + +``` x + 1; +``` + +``` } ``` @@ -1050,19 +1838,49 @@ Compiling this code produces an error, as follows: ``` $ cargo run +``` + +``` Compiling functions v0.1.0 (file:///projects/functions) +``` + +``` error[E0308]: mismatched types +``` + +``` --> src/main.rs:7:24 +``` + +``` | +``` + +``` 7 | fn plus_one(x: i32) -> i32 { +``` + +``` | -------- ^^^ expected `i32`, found `()` +``` + +``` | | +``` + +``` | implicitly returns `()` as its body has no tail or `return` expression +``` + +``` 8 | x + 1; +``` + +``` | - help: remove this semicolon ``` -The main error message, “mismatched types,” reveals the core issue with this +The main error message, `mismatched types`, reveals the core issue with this code. The definition of the function `plus_one` says that it will return an `i32`, but statements don’t evaluate to a value, which is expressed by `()`, the unit type. Therefore, nothing is returned, which contradicts the function @@ -1089,7 +1907,13 @@ single line, you’ll need to include `//` on each line, like this: ``` // So we’re doing something complicated here, long enough that we need +``` + +``` // multiple lines of comments to do it! Whew! Hopefully, this comment will +``` + +``` // explain what’s going on. ``` @@ -1098,8 +1922,14 @@ Comments can also be placed at the end of lines containing code: Filename: src/main.rs ``` -fn main() { - let lucky_number = 7; // I’m feeling lucky today +fn main() { +``` + +``` + let lucky_number = 7; // I’m feeling lucky today +``` + +``` } ``` @@ -1110,22 +1940,31 @@ Filename: src/main.rs ``` fn main() { +``` + +``` // I’m feeling lucky today +``` + +``` let lucky_number = 7; +``` + +``` } ``` Rust also has another kind of comment, documentation comments, which we’ll -discuss in the “Publishing a Crate to Crates.io” section of Chapter 14. +discuss in “Publishing a Crate to Crates.io” on page XX. ## Control Flow -The ability to run some code depending on if a condition is true, or run some -code repeatedly while a condition is true, are basic building blocks in most -programming languages. The most common constructs that let you control the flow -of execution of Rust code are `if` expressions and loops. +The ability to run some code depending on whether a condition is true and to +run some code repeatedly while a condition is true are basic building blocks in +most programming languages. The most common constructs that let you control the +flow of execution of Rust code are `if` expressions and loops. -### `if` Expressions +### if Expressions An `if` expression allows you to branch your code depending on conditions. You provide a condition and then state, “If this condition is met, run this block @@ -1138,37 +1977,73 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let number = 3; +``` +``` + +``` + +``` if number < 5 { +``` + +``` println!("condition was true"); +``` + +``` } else { +``` + +``` println!("condition was false"); +``` + +``` } +``` + +``` } ``` All `if` expressions start with the keyword `if`, followed by a condition. In this case, the condition checks whether or not the variable `number` has a -value less than 5. We place the block of code to execute if the condition is true -immediately after the condition inside curly brackets. Blocks of code +value less than 5. We place the block of code to execute if the condition is +true immediately after the condition inside curly brackets. Blocks of code associated with the conditions in `if` expressions are sometimes called *arms*, -just like the arms in `match` expressions that we discussed in the “Comparing -the Guess to the Secret Number” section of Chapter 2. +just like the arms in `match` expressions that we discussed in “Comparing the +Guess to the Secret Number” on page XX. -Optionally, we can also include an `else` expression, which we chose -to do here, to give the program an alternative block of code to execute should -the condition evaluate to false. If you don’t provide an `else` expression and -the condition is false, the program will just skip the `if` block and move on +Optionally, we can also include an `else` expression, which we chose to do +here, to give the program an alternative block of code to execute should the +condition evaluate to `false`. If you don’t provide an `else` expression and +the condition is `false`, the program will just skip the `if` block and move on to the next bit of code. Try running this code; you should see the following output: ``` $ cargo run +``` + +``` Compiling branches v0.1.0 (file:///projects/branches) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.31s +``` + +``` Running `target/debug/branches` +``` + +``` condition was true ``` @@ -1183,9 +2058,21 @@ Run the program again, and look at the output: ``` $ cargo run +``` + +``` Compiling branches v0.1.0 (file:///projects/branches) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.31s +``` + +``` Running `target/debug/branches` +``` + +``` condition was false ``` @@ -1197,11 +2084,29 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let number = 3; +``` +``` + +``` + +``` if number { +``` + +``` println!("number was three"); +``` + +``` } +``` + +``` } ``` @@ -1210,11 +2115,29 @@ error: ``` $ cargo run +``` + +``` Compiling branches v0.1.0 (file:///projects/branches) +``` + +``` error[E0308]: mismatched types +``` + +``` --> src/main.rs:4:8 +``` + +``` | +``` + +``` 4 | if number { +``` + +``` | ^^^^^^ expected `bool`, found integer ``` @@ -1229,17 +2152,35 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let number = 3; +``` + +``` + +``` +``` if number != 0 { +``` + +``` println!("number was something other than zero"); +``` + +``` } +``` + +``` } ``` Running this code will print `number was something other than zero`. -#### Handling Multiple Conditions with `else if` +#### Handling Multiple Conditions with else if You can use multiple conditions by combining `if` and `else` in an `else if` expression. For example: @@ -1248,17 +2189,53 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let number = 6; +``` + +``` +``` + +``` if number % 4 == 0 { +``` + +``` println!("number is divisible by 4"); +``` + +``` } else if number % 3 == 0 { +``` + +``` println!("number is divisible by 3"); +``` + +``` } else if number % 2 == 0 { +``` + +``` println!("number is divisible by 2"); +``` + +``` } else { +``` + +``` println!("number is not divisible by 4, 3, or 2"); +``` + +``` } +``` + +``` } ``` @@ -1267,9 +2244,21 @@ see the following output: ``` $ cargo run +``` + +``` Compiling branches v0.1.0 (file:///projects/branches) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.31s +``` + +``` Running `target/debug/branches` +``` + +``` number is divisible by 3 ``` @@ -1284,7 +2273,7 @@ Using too many `else if` expressions can clutter your code, so if you have more than one, you might want to refactor your code. Chapter 6 describes a powerful Rust branching construct called `match` for these cases. -#### Using `if` in a `let` Statement +#### Using if in a let Statement Because `if` is an expression, we can use it on the right side of a `let` statement to assign the outcome to a variable, as in Listing 3-2. @@ -1293,23 +2282,50 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let condition = true; +``` + +``` let number = if condition { 5 } else { 6 }; +``` + +``` + +``` +``` println!("The value of number is: {number}"); +``` + +``` } ``` -Listing 3-2: Assigning the result of an `if` expression to a variable +Assigning the result of an `if` expression to a variable The `number` variable will be bound to a value based on the outcome of the `if` expression. Run this code to see what happens: ``` $ cargo run +``` + +``` Compiling branches v0.1.0 (file:///projects/branches) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.30s +``` + +``` Running `target/debug/branches` +``` + +``` The value of number is: 5 ``` @@ -1325,11 +2341,29 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let condition = true; +``` + +``` + +``` +``` let number = if condition { 5 } else { "six" }; +``` + +``` + +``` +``` println!("The value of number is: {number}"); +``` + +``` } ``` @@ -1339,13 +2373,38 @@ find the problem in the program: ``` $ cargo run +``` + +``` Compiling branches v0.1.0 (file:///projects/branches) +``` + +``` error[E0308]: `if` and `else` have incompatible types +``` + +``` --> src/main.rs:4:44 +``` + +``` | +``` + +``` 4 | let number = if condition { 5 } else { "six" }; - | - ^^^^^ expected integer, found `&str` +``` + +``` + | - ^^^^^ expected integer, found +`&str` +``` + +``` | | +``` + +``` | expected because of this ``` @@ -1362,12 +2421,12 @@ if it had to keep track of multiple hypothetical types for any variable. It’s often useful to execute a block of code more than once. For this task, Rust provides several *loops*, which will run through the code inside the loop -body to the end and then start immediately back at the beginning. To -experiment with loops, let’s make a new project called *loops*. +body to the end and then start immediately back at the beginning. To experiment +with loops, let’s make a new project called *loops*. Rust has three kinds of loops: `loop`, `while`, and `for`. Let’s try each one. -#### Repeating Code with `loop` +#### Repeating Code with loop The `loop` keyword tells Rust to execute a block of code over and over again forever or until you explicitly tell it to stop. @@ -1379,39 +2438,74 @@ Filename: src/main.rs ``` fn main() { +``` + +``` loop { +``` + +``` println!("again!"); +``` + +``` } +``` + +``` } ``` When we run this program, we’ll see `again!` printed over and over continuously -until we stop the program manually. Most terminals support the keyboard shortcut -ctrl-c to interrupt a program that is stuck in -a continual loop. Give it a try: +until we stop the program manually. Most terminals support the keyboard +shortcut ctrl-c to interrupt a program that is stuck in a continual loop. Give +it a try: ``` $ cargo run +``` + +``` Compiling loops v0.1.0 (file:///projects/loops) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.29s +``` + +``` Running `target/debug/loops` +``` + +``` again! +``` + +``` again! +``` + +``` again! +``` + +``` again! +``` + +``` ^Cagain! ``` -The symbol `^C` represents where you pressed ctrl-c -. You may or may not see the word `again!` printed after the `^C`, -depending on where the code was in the loop when it received the interrupt -signal. +The symbol `^C` represents where you pressed ctrl-c. You may or may not see the +word `again!` printed after the `^C`, depending on where the code was in the +loop when it received the interrupt signal. Fortunately, Rust also provides a way to break out of a loop using code. You can place the `break` keyword within the loop to tell the program when to stop -executing the loop. Recall that we did this in the guessing game in the -“Quitting After a Correct Guess” section of Chapter 2 to exit the program when -the user won the game by guessing the correct number. +executing the loop. Recall that we did this in the guessing game in “Quitting +After a Correct Guess” on page XX to exit the program when the user won the +game by guessing the correct number. We also used `continue` in the guessing game, which in a loop tells the program to skip over any remaining code in this iteration of the loop and go to the @@ -1428,24 +2522,60 @@ use it, as shown here: ``` fn main() { +``` + +``` let mut counter = 0; +``` + +``` + +``` +``` let result = loop { +``` + +``` counter += 1; +``` +``` + +``` + +``` if counter == 10 { +``` + +``` break counter * 2; +``` + +``` } +``` + +``` }; +``` + +``` + +``` +``` println!("The result is {result}"); +``` + +``` } ``` Before the loop, we declare a variable named `counter` and initialize it to `0`. Then we declare a variable named `result` to hold the value returned from the loop. On every iteration of the loop, we add `1` to the `counter` variable, -and then check whether the counter is equal to `10`. When it is, we use the +and then check whether the `counter` is equal to `10`. When it is, we use the `break` keyword with the value `counter * 2`. After the loop, we use a semicolon to end the statement that assigns the value to `result`. Finally, we print the value in `result`, which in this case is 20. @@ -1453,32 +2583,92 @@ print the value in `result`, which in this case is 20. #### Loop Labels to Disambiguate Between Multiple Loops If you have loops within loops, `break` and `continue` apply to the innermost -loop at that point. You can optionally specify a *loop label* on a loop that we -can then use with `break` or `continue` to specify that those keywords apply to -the labeled loop instead of the innermost loop. Loop labels must begin with a -single quote. Here’s an example with two nested loops: +loop at that point. You can optionally specify a *loop label* on a loop that +you can then use with `break` or `continue` to specify that those keywords +apply to the labeled loop instead of the innermost loop. Loop labels must begin +with a single quote. Here’s an example with two nested loops: ``` fn main() { +``` + +``` let mut count = 0; +``` + +``` 'counting_up: loop { +``` + +``` println!("count = {count}"); +``` + +``` let mut remaining = 10; +``` + +``` + +``` +``` loop { +``` + +``` println!("remaining = {remaining}"); +``` + +``` if remaining == 9 { +``` + +``` break; +``` + +``` } +``` + +``` if count == 2 { +``` + +``` break 'counting_up; +``` + +``` } +``` + +``` remaining -= 1; +``` + +``` } +``` + +``` + +``` +``` count += 1; +``` + +``` } +``` + +``` println!("End count = {count}"); +``` + +``` } ``` @@ -1489,20 +2679,53 @@ doesn’t specify a label will exit the inner loop only. The `break ``` Compiling loops v0.1.0 (file:///projects/loops) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.58s +``` + +``` Running `target/debug/loops` +``` + +``` count = 0 +``` + +``` remaining = 10 +``` + +``` remaining = 9 +``` + +``` count = 1 +``` + +``` remaining = 10 +``` + +``` remaining = 9 +``` + +``` count = 2 +``` + +``` remaining = 10 +``` + +``` End count = 2 ``` -#### Conditional Loops with `while` +#### Conditional Loops with while A program will often need to evaluate a condition within a loop. While the condition is true, the loop runs. When the condition ceases to be true, the @@ -1517,25 +2740,55 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let mut number = 3; +``` +``` + +``` + +``` while number != 0 { +``` + +``` println!("{number}!"); +``` + +``` + +``` +``` number -= 1; +``` + +``` } +``` + +``` +``` + +``` println!("LIFTOFF!!!"); +``` + +``` } ``` -Listing 3-3: Using a `while` loop to run code while a condition holds true +Using a `while` loop to run code while a condition holds true This construct eliminates a lot of nesting that would be necessary if you used `loop`, `if`, `else`, and `break`, and it’s clearer. While a condition holds true, the code runs; otherwise, it exits the loop. -#### Looping Through a Collection with `for` +#### Looping Through a Collection with for You can choose to use the `while` construct to loop over the elements of a collection, such as an array. For example, the loop in Listing 3-4 prints each @@ -1545,18 +2798,45 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let a = [10, 20, 30, 40, 50]; +``` + +``` let mut index = 0; +``` + +``` + +``` +``` while index < 5 { +``` + +``` println!("the value is: {}", a[index]); +``` + +``` +``` + +``` index += 1; +``` + +``` } +``` + +``` } ``` -Listing 3-4: Looping through each element of a collection using a `while` loop +Looping through each element of a collection using a `while` loop Here, the code counts up through the elements in the array. It starts at index `0`, and then loops until it reaches the final index in the array (that is, @@ -1565,13 +2845,37 @@ in the array: ``` $ cargo run +``` + +``` Compiling loops v0.1.0 (file:///projects/loops) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.32s +``` + +``` Running `target/debug/loops` +``` + +``` the value is: 10 +``` + +``` the value is: 20 +``` + +``` the value is: 30 +``` + +``` the value is: 40 +``` + +``` the value is: 50 ``` @@ -1580,8 +2884,8 @@ will reach a value of `5` at some point, the loop stops executing before trying to fetch a sixth value from the array. However, this approach is error prone; we could cause the program to panic if -the index value or test condition are incorrect. For example, if you changed -the definition of the `a` array to have four elements but forgot to update the +the index value or test condition is incorrect. For example, if you changed the +definition of the `a` array to have four elements but forgot to update the condition to `while index < 4`, the code would panic. It’s also slow, because the compiler adds runtime code to perform the conditional check of whether the index is within the bounds of the array on every iteration through the loop. @@ -1593,15 +2897,33 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let a = [10, 20, 30, 40, 50]; +``` + +``` + +``` +``` for element in a { +``` + +``` println!("the value is: {element}"); +``` + +``` } +``` + +``` } ``` -Listing 3-5: Looping through each element of a collection using a `for` loop +Looping through each element of a collection using a `for` loop When we run this code, we’ll see the same output as in Listing 3-4. More importantly, we’ve now increased the safety of the code and eliminated the @@ -1627,10 +2949,25 @@ Filename: src/main.rs ``` fn main() { +``` + +``` for number in (1..4).rev() { +``` + +``` println!("{number}!"); +``` + +``` } +``` + +``` println!("LIFTOFF!!!"); +``` + +``` } ``` @@ -1638,15 +2975,15 @@ This code is a bit nicer, isn’t it? ## Summary -You made it! That was a sizable chapter: you learned about variables, scalar -and compound data types, functions, comments, `if` expressions, and loops! -To practice with the concepts discussed in this chapter, try building -programs to do the following: +You made it! This was a sizable chapter: you learned about variables, scalar +and compound data types, functions, comments, `if` expressions, and loops! To +practice with the concepts discussed in this chapter, try building programs to +do the following: * Convert temperatures between Fahrenheit and Celsius. -* Generate the nth Fibonacci number. +* Generate the *n*th Fibonacci number. * Print the lyrics to the Christmas carol “The Twelve Days of Christmas,” - taking advantage of the repetition in the song. - +taking advantage of the repetition in the song. When you’re ready to move on, we’ll talk about a concept in Rust that *doesn’t* commonly exist in other programming languages: ownership. + diff --git a/nostarch/docx/chapter03.docx b/nostarch/docx/chapter03.docx new file mode 100644 index 0000000000000000000000000000000000000000..8808e2ac1de1a893741c9a5451d9ac6f10a7b830 GIT binary patch literal 86139 zcmeF2QrWSMb;?= zX;&^b$$|(IsCW3-bRRBzPczDc|n4hMB?^z z@9kQwEakdui>5A2y;;udJxOd+hwoiYM^F-NsF=>Ow4&ggh0PkU~ES^hs{gFk}A7Ob^+u&6Itc zz*r*W_QWCJXwNNAh6$_+JJmeCbF#Rr)3lzn8953OdEDMDEZP^j>GGH8`U8*p;;-BK8*o`y_pf@Tw;SZy`JLd zv{It>hF#uw^uIrc>7zm7tKH$|wwcOAh4j9B96f)?8%+JAw15Bc{rd|Hpz!~ZkM|d= z_4Z#m%l!iz`XBlFPNp`_^mP9@{x9+WgE9XvORq}kw;E)C5x5Qd4w~;)+~~(Bl%qGE z+r(H0htQUkLEc=mTK)OvSz80rJvS7eTv$w;^K{Mc7ck16v#y_FN0e}E>w|6q3|G$u!*c-dr{u9anRLB1Z4B$VB{FnVdJF3(s z?fywb7y1}KM3;C{!isC;SbGzw_gS%Pz!sF24ljZuW&9<}&u7iyS^{>I1OOf<^bDLi z{@(R=;(3C&Lr=3tIM1{QkcQT_k#6{Ih%yFXDW4I)C2#bDbk}qkngTCu*srY<*wjC;lwCPh^oP* zw&29rFQ*D0vy6+tR!uBu4g!I$ZIR{qhGeVFZw%pU^PVTmEi&69i>9S@z9r5I0f+qn zc7#t);CQO3Y(rZ5biZ{Ou0CEw4rOHe2+x3RjMff3WrM)63Uec6$ir-!&iojP;Vifc z>qu!lMP_L3Ei~V&8sZcd<4NQtwAs%s1xe_`Q2=sTv!-mhYqXts0=qddZ#5B zEAszC!++)A%I7lSa3uNUH)hS}Y^#f z-6iz7Ru_T+r<1&O|XSNzez?(NU%?_2BpH3ilT8Ho(& zhDh4hOzB`Pea?c5r7RB|>SVX-#u{O51~zz=PJxu_}o?uL?3EyF~>XS=ad7Kw$c?Kar!wM!p38j0r2G?1iN#WbGx zMI2nR%@#3yKGPU)9Z~r`kE7`df^T|4ky6L<34Ot+zhhV0f3VpHhi^jNzEU=+ti!6Inhxn9 zsGEoSE)1YxNeW$_niQ#>#8$CAR;9bi>Bli~wMa5yr6x1I(orl}e70)D|fj>&fi#9N3YQ(|!Cdt>fL!=6aL~Tu8b;Q04e8nLfjPA4B2a$#OA2@jtU$8xFePuQ@O{RR9nk zc5n1cTx{Tv{tn>(p0Hhi7$%Ioxp=K< zBKCG`P9knttUlZF_FXDf6a#nADeZDg@)+=-mqOY^(?ziJykzb zzjkvYNKFFkEC*VzJol(`E#0q&Mmd*WHMPM46YpCvmSh4wGTQ{OPioM1b_bM8X<=5f zE+T>Zh}uOgU*X@xkr||{ujKKh-{r0kuK9UOl6z zZ>|y|(TEWfEmsZw6`06h%~&cFsb#X8o@3jDHqF~;ZeLkzwie&)OK*Xial@X=htz=f z9EkkW$A%qxhREU&wU$RT6%#qb0?ZiB;h7ZGn19(5KJ-@d{A4$u`9 z-*(ego(SpOo>x4dt7qkUkweDa4W;};g3EIQ6W0xgHw%i#I_!k27}l-kFFuIsHPd&! zch9;vFVc{U#{(BQCjEVPf3Z0RzX(U_E+VOXrO+^7*sUxoDVzc$is$dtd&XeGRkDE( z!nBX}A zoS=bMq=324Qi#MMgI%UwtO0oZT2Sd+;K4>fiP3g+C9C2xmP>&|^LA>z7AS#QSV0e- zB-?^1#%#ZAQS=5Xo;pZ_Pu@RC4vnBXhj4?gEe)l3tj8{03Etg`ToezRK%RvNtZ3|W zJ*j0)GQJbg1Rc$p51<^*CQ>k{0)$d3a(R`_yk&>&VDXMCgpSw5FMm5|aB~8!yL8hkrV$1J61LPvlxq-{nNNrn;>9 z)upZSmD^sMx&zOAcse}gHb$As&{4w;xj$f8-h99@oWZ*23{60>Z-qg*bqg26ov)4x zlU2r98yXfER~-+VMvldqjPE4ciSGwV7x_62T*$6hf0eWU7ARdOLk4LZi#!?~?Vzd( zu7ABn&&mhyyb~IC1FFsgd3HiQkRLe~+M!6|%vTrjl50PMYFVN@8;00Ybq|^5vUL;X zM(o1v!`cn#g&bQOsmvh-0+=An?Vg=i+oh0p%HE9&Z>y;$BDmbL_mu>1H}%Vd)SbuC zTnbU)$01s@r;dglK#rVcJ9^bkfz1qfC97`AN5^?ey%rnoI#csZ#FuK_$Cx6UsF=@T zNFl)2ke_hsN?5!wRbT8^U`+xDB%+q!hnd$A^S~(Gm>DF#{0gd4YdHn=1*$iTj_2#m z>;57feq3yvI9vlI)5R@A_y|6yePGVJ>w`4SRQ%+!dsU6J`FWq>RHMBS=cB)J^BnBf3x z%TQg($Qn+$TKh7Lq6Nsd(UEcDQ83kdgiGPMsNZk~9vBKdH-|P}9JhUeQ{b?QLW&ma z{v9eVN2&~J&Ktbp5jZ&Qfqcj$9x9v`bnJd>lm$!(yXKVFHfsb!W;(D_8MRrNF^oCSoIMdi z0fyj&{6mgNZksJU>`sFMQX8K2Hc2WvtWe`X0}U85CsbF4I<_g(@m!aF5!5Q~d4mG@ z#_^#jeXgQSyz>r@0;&Z{a%?tA?h-ZzujC~gPkAI%P-i6C(DRD~6PhVz&?0J?JhYXw zw-U;T-Dxs-k`ruawtW~hZdZ4|vd5R1mla|4UjePWm)@L3X!E_P|e zsH$}eGI}BY0^pEYahG*UUJ=b6q!{Y;w$vhR#U9k*-^TtSrZ;1L%~Mf@Ef+A`6wFu5 zT*965)-1ya@=q$>3n`v;IKD}_5g6bM4|&z094kZ4*#af8)z6HG8ICf%hAp$sO#NTKuMNQ?ZOx*<>F(xCQSq%N%i zhmH&p2`U6n()0sObqI6IQ(ijdWK;;IiGXZ4^|HLzVlWZ}FDTRJU6dkIg>RT<-@YkD zs{{63b-ptZcSk-X114 z*=XxyQ4tK#-@n|%29AIqx;fmecxL4czobP1s@_E5vFTHypHM_9kNqFL6m@a5!Sq~7zTJp=iiao@e|^l&Sn8Z z$$_$^?*`1i&lU$mnIiTepYSl}$p8uf%@dcRl%GJY8evgKn`m^)AwXP`xorqj3yoT1bnNsZCc2Ausd$qn>zi$BxWehQUD}*{(`~Z$fj-;4 zC;x;OoJOGY`}LU`0S_EOrW!)n zH!RkBl$i-1z7Qo0NA$qWzm$+43+IbPUrn~&Uk#So2kah+#?am4!Spo5$o{SdMN1kl z8Z#6C>RScT;7lz5>3C>A6RCA`C_iq^jAp%8a=#gp5NLP;G8E!L2tgvlJVqiz&2u93 z1wtC45W*5=_H4aRFh9ckxW>5O--_rj9z3Fsv^8cjZ+&4v3T@;FmD0u(R_K$`r`RPy zEXLiko1cjy36$QO4WP&CJFO26Ivyt`lj%bQ^ccd9Ict3rB> z)>x#36#pUb=Yo0EP0i>oPaTW?5x6j%XmL$V+$L=p5V0a{U?0NP)SfhUHR7M~kNAF1 zcM;8hw_=j+2FHIfc*j!k#-um8GBwj*f|*`|X?}-&(x&POm^WNzM^lFll6T|3{Qmq} z3K=|Qe}|#oYUY7ywDj&isf@3Baorw3iW8m8rlN|hOx4xmhdx%~ZPSbZ=pc%GmHDHs z8HosZNW1}d|I$c{R!wA^>yOz8M!G2z1y{HJ0mlHld#q0d0Q+5JrgK@tfT@7~=c5$= z_nt83KnMa23X-$(_vw&7&O@zQqcu=eOZ5`L7s z60=lb6;^g)qS|69Gs)WgI=lIeLNS8?}S#HaCE}oXpu-JA(PG?J7UOY9NJ$;gZrdH! zT6GN-TdHQ-y7^ak-nUmh)F`|`4IbQZe8 zShKMmZg;0WD)B?ch(zmsSr%|;vJIaQ5>RM-suF*Md6YvK3TzpQ;xsb5el<+tY;MjT z!gG24A6`Lw$U2k2U)ZYeuZT?7^MS?m!cy2>RO4G?6mu^q`owkYQ@Lo8jQAyRA6A*< z^1Txmuf8fuZismrTKYHH?jI2s5^ZH_SAG>)*6AK)IOC0PEFA_$+%GI07W3`z{Rn^@ z6Kx;?*3oroKpmw!%I@6$LhvW8e3z#=qCU5+IcUnq;=Oj17B~IPSke{k0|XSuuBW7M zkVw#^@BVwN?n*j!okxZIrpi54EVAEtX=JCkoo3Is=VT+HzE`H``s%v69J)9X5(%&l zClfe3JimN&aX=iiF$>sbS7B$^<~GDl3<~EYAJf>eEBdfBV)8>Q;;RovC}RGSYms|s z3HzzMrjBV>tW^85DP%7}*FIr--{^SY6}s7d)}_cQODXw~Oie&TRON-^o;G{fXGTP~ z+Kh6q$hp*ZRK%1URkzENDw()AN=@^Fb-N}>o_~!JUyp5_>2CxsA%u7%CfKvnz}^m^ z9Zm=-kL)p;#sLnfKnu7r;9PZ28j8d_olOzkiZj^>lEH=7X13ILW5cn6!N|JCDg(iJ z+tvG8g;P8B>SQ9o-n#?Oe(tap!YN|9dC|mj`PT#eJ*fMJBzhk~l|RPVql^(yQ~ldB zqrOvJ3~HC*6Nr{!+H0&GjX{XP-VbEHV|HW3)C3WS6eEqDAvfAPYfKI16m6Z=+c)gZ z3!xV24U6vmsf`x!>adzAO-=#_Hw$9>8kKQ+1=^U8mfa0w^BxH+iwcE9SmDb_j^GcJ z7Q%z8WV;+F{+{~Ylwa!5510*hur@FXw_~d`*K>YPNHpF^J!nm}TJfq^ld-lH4q&b( zx{@oFS7DY2KL=6JcN%6^*%mUC*W|4Oem)(OcOU%5 zJ)K*~A9o#G8~Yb4t-6j++-M1<7HIxz#u5Y+Gtld(dF7KI=UF*c#zF}uoGCpHu7YNp zM;8T=u5ifG`mw3|IQTl7m+6E@TWW&M)*gICyNw0^YaDP zN;L@Q;vQvGD3Oo9X0NZf0B$YhYrk6Ok0dY2IZDre4)D=FYDM9>p&piKD-nx)zfDH} z+P3a)%c|Kc2s$WGf@!<#i{B}BrPPS-N7duUZ)Rp@PSLp}`W;WAN#|WG^qHi@*+Kei zh5zw$5gk_f^_~p6B&ZnkE4pKO4Z~>2&a6ZiyTa%Do(tWIB%DOa=5ne%daJC|=PS{N z1QngH_SB{WTy!Afz~U8TJnJsJg%Ww!hStL3U3RnWHlq5D&KE@c0c-7_MiC8NON7zzoT0~9q$e+eo)#Nu9dN+Eum5SS4gGPMvhD0rNM-fp znIg--!~Cs3O^%)I(#M4M(O%8S`ObY_3 zno}Sw0950YLLRZe&i5Hk1H!t`7%BEgN*n1{$bny0@+#3mLJY%G82m5<5?t z!udxwCbg`~aLnb83pSm^$wF%~Ddpp0XV~ltcW4dvf^Q2BZ+Uzts9l&fT<2f*h)F(B zA$HL8=r2NC8u`~4@n&}E2M-xB*j#?Fwq3{emKI9;N@051jgj+YHmxSl+s$H8YsP)u zEPL!Qb?j|b480rIu0y2O@MaH!=t+i>#2hXfwm4ckliVWoC&k6{)?V92Ez!;;$}dGj<-9D7RzlD`SZTjlo*UjJ_Xt;RA?j3HCDPgm28WFpEi zej!PS5Zovv=EynN0F4_?)mTU1{O(f0@vwxaPGh|o4PVXDDu%oJN{~o<33`HmGfNP8 z#VWMYnMuUx;us$V#DGd<0^Zp1E=6kBJy2f>H3eGI*8;dA8T|MX&t|gmINYH?X7ktz z{N`*E&#lCMJg(r+-~G*it^cI=s^dZ55P`ys0w=Mc^DZYpeE!8 zmP%j62vkick0L$hjH>Z=Qxt17iJ}G_fQ&D41+@-7dYpJC52K-!4W*c}2A@sKjR**Z zOeH{JheI(5&uGP~dymtAWm`2F54TT4oGD;G%ywh*-VM`+1Bhk^=i|%m-xHm|2W^Zb zgJBpC9!=MSi1slPx|j)yHg`v(yt3jAqI(uK`N#|^*Vn;=7DxH=yg{V1@-%{npyL5Dj^t)zLiMah4PdiDd|! zkf|L`oZdjEbyRf$jhfKv!JqTmBp5N7q?e-78JJR5?A+(w&2js^p@2%F(o9oJ26ix5 z$);%Q=xeHYP2`xFfVzk%xOM?DpmWg{qYU&s!>Eq?zuGOyD?EBbV6xrv*KD8tPR zY^2J_ls3Ldb1uNO2ojc?`hvBbJt1`YjGY^HCwf9qxK>Cd99fK};oVx&FIL{>F!itt z{r1L;))#Z-B6%FvXr-xrAxr>-wl`3)M++Vdf_c!`+$3l=ZlBmur0MR(Ue9-!)Nvy> z{aj#3Y!i?$tXBNhSKr8Q;;K~AW_NPZv-3QkfY-(w+U1qgv_ebUWn~!PT zKzFnm4>u%M-FZMuGXEN}MUSc-t!jB-IiI8)IIBJooy6SUMa*>@nnSNt$8A2M{kDOa=<1`Xao)H2(W?OKcMiHYsphowad2&E1cg%6S)usuVBCBw+3~pC36im@G zO!sZWgRGZHUasYVxa7sFXMtk#op(>ZaVDwnlIfzt72Si~^bMK@5C2G1OYHe=M1w7t z?!#zv(Y8E7xgl0Zx#coT2X1%j*)~@N3fcN1PAl=bqlN~u>*RI0Kx*ucKsDPqKI*&* z%pxD$yhlurSV4AR9JrcXMq+Vvydg`N_v2YS+-eRRQN_VVipdjogeA)IvP@&Ew*T%d z1fU%IpPVwP1f$4gEkoQudcwE;gwu0i(>*RbcVSJhaJa8I`J6EcjK6UM_~wL35?OD4 z#rR*;-)Dv|XJLnDvqDnuxkdUU`hkJUU1~#YuOf;o;3yLvItte6f*$#RzKnKB_L+$xC;w&J5^To<%wWfvW!*jmkbn|*&x>tzMm z*Hvg$60U+`)1%iUvYt;;`28!m$O6GP#L%FJR4by+;<`x8BKV}UuesHluTlC~SUIQG zCb+FL>v1EkO!c8W0iF{{N5f?#IR?fSc+%m!-$G^?77Yb>xcrk$RbDj! zh(Ol=+!MjPc7Q@!{cU(QvA4S4h=&<&XRCEn?6lPg}%O^7bI24r|We5cY zM(U6Ha|tb>3UPk`d6|E6Ng;k;>*t3LORC7slK9hlfXY)9S$kGu`BYI$gHv%9zXtO< z=qblm2?b2+EI*&89GEnZs596eT%HMOJ8#PYp)ZVqu zo6+2r&B8DQR{fl#lSrQ^?U!jB}Edd^e+TZRqkT%5#mC+7L zHUKPn8Y~55oqB3xA&Aaye*93c90$;0Lz!Ww&XQ==TYJfCy8r6w3sJXP&EmfWlq!># zUlk-+1nLINY4PldH(^{EQw9y{?+n(9_P}h)h+6i$k?`1ReCoE2atp;N`|y^L>-*&w zPsZ3;HqCoCGSM??g`+sn;{Tm3pP+7AaEt4rws~?EXn50AHG5==H@w%IQxv}!!d-xC zGSshRxmP_p31n)dP{H44fW#C`s)xL< zh?!M<8QBGdcWIR1`*Dx&L;oD?wbx)~w!sr(PRx9-SVO$uk#8TB5T+c$r)$GM}PZUn5ZByWxub zvTX`RdCcW=+nv^|3;#k*1(E%8#xP#sg4qo?uR!xFA=?urTb$(iivZE+_ns0oHPw3G zPgzpRqolVc<9FR8I;aw7EOb4Y2)WK_{;5Oiv*RiocpTBRHKSYE%|w?5B!(^*_ZZUz z|7H}g1(4N1%^UhAtSPF~G{q@acbZ{p1zJDY1Vff^UWEh3%t98xi63k}2;F4%ME>Uv zvJh}q4?D=wi&+MOB)YJzC^{2>v!RawO%)lbM9yD!LS;F;L; zpOFK*6k;h%3`syhoh5ySVbBJu#xXv-4i=uO!LTg|nNr^aisvo#0XNh_u-{hi9F#KG z8ADjCYqI%~AQ`sQ-ZeRb35u97^&5Qk{krofOxv(zY%iN0 z>UZF$wCNtZ)MK65OO*tbRl6uxNMMN1(pzhVp>Hah^{@Rr$B}x21ubh=F<-s!vYPv{ z&@hA*68~|2DT4=qJDTDe(vbU#UC;wX&^qMzxqJ{hf-?oOZ-7?Z`cc5pT@q=oC~GXa z%vXHDO={i?o!_I!VJP4s#ag`3K4r!*2T?JXi${V#G*1c(kh3;R(1uu5$=7}86z@ZC z*9b`~<|a_PW{T+453JMb!4f#9|GIS-0fN~gWkeX>H*_?~DE1r76u!z<3^bX9LM%BC zylcvON-SD6q01OZ8rBW@zs4OheyjzG?#4*cZICd-FxLg1qFtXL6akTmke9&R3lU6i z0R+;*BSapf$IVootKAPTOs3wg!h+yW-r2eHE~!pXQn5U~;EkN$mlNe2W`Q$u z_YZKu9}<3!4+lK1jlN6lJ-~(N_yiBj$b;s)fI2T~8(_j&&miQJ4iN`EEr{0W)V;&y z!N0caER*Nq6;$a;PU&i%l#LY$<#?F;kGDI1i*m$=&6=?fSu5#(tv>9#Gvw)AqCoaA z(TH6ST8Sa$eI^7fQF;{+gIv4f2)B8Q&so~L+c8B4t;+`7L6HVrQTTU;Frl~hGW_77 zeZQ0BQfQdp{jJ5C^{2`D7|8lU_JTYH+UTLQZ%TM!3|LF;sY42c4FECPH-hjOh);|s zhP-{r9Fe_UQ7?F^Mb(+XJxOPToMaWAMk2N*^kw%#`Y;+U2GKw7I4XKf~cvo+EmpxY6CHF=x2Px z0$m2us?N426Hodk+nztWnrDZ_%dF%dQO-d-dhusiBIiEu>PNjI;R(#0n z6~An8j%LaM%bbYFS15w43$&f2Y+q_17VrS8gfbwTF={Fu=XB#SrYm;cYZxX)ypHEi zk%e&YvpgV%36|q}&|eA5dmLE>2R7o|8+ktD^1AQsGlrO!Aj2BW*Gl7VFXdh)*sfEZ z6wp`Pt4ub7rvY6ubFbd+)I)zJqQ~`t0qsu3P(nqu}VN zVpEu_YGXp9VLble&KpN+KP;HvyFMT{&oq?p-RI}rXSpR3C*H0*Ga`_(JB zY7YYFvd}n~P%s79p{#Wb=p$HQoXrmUQKsK=U4L3M@yrd5ikrkZNwbR;ue==Mt6Z!< z+K)i=1^c+st^h8gr#g2E>lRmD&Ec&!c_!&b=<}LDt%m|rkh&HU<9u1Pi*QZN05*!n zYi}V}Kk$~{ly?EBWzuKOs}*f0gR>#Pq}8`##G%pfi`X_wo!oIqtn{oO^O8%|8H3avB=)AGu`NyWq#1JS+sbqx+LNTT%(6~NY8-p?2Rf;`bsek5zQY-G6mHTL$ z$}*#DD##AfP2yLSjfD;sbrM6BnP;r2U!GgVy#u=W3JX+EBYi6AF~e$BhWF*tzhk|y z%U^ABmDf_Oi^&fWNtw&8e5_NZR7J||o~MQSl`NxGd>NPd})Ap$pn2`)S_3KG9+ONZlq6*I}%4>zr17@eb~4nmumA!tJ3^4rOe>8 zcxvM{c%+nYgxY9tBUNb!+D4g6R!7ok*A!?vk*>P6Lb1C2^+B1%3hyY$6j+Vj5U6%L zDUSTw0634W(N>{3x7ZZeOaW~sQD%f`)Q1FLr0G26sCpU0JNMASy5{i!q{G!LX-P_M z3`78R3DD(m^aNKTq%mKk2LZKD6V+@_J}SvGkVE*{cT%`h!?fKz^B_`)W5m@S| zTgkVZgr+|Tsyo1IywZnuJ9+xz65d7=uWw*#bCj2a`6J{pox<`mKr)N%^zuiLc)5Y<5MbQcF&I zaanM7yBvaYl&ukZRGp<+GTrmNddBbPTH(p zS6W=RtBE#N#t-f7(2wNFTNoM`*&2E66($F%Bt7Bi-+K7{;?k; zEKk4H2wbGvNB+4+f!nRU4Hm#hrXhL87_&A6Fgd~_a!ndWyGk(y{(b$er0<&+lesO7qToKhW1P;W`}5)7zOeR=`eco57ih#PjK9~4 zO9LojU1F$}w)@W*&h-jX5PnIctViAnrh>OAVpSXO1IFra@ z&rVx1!_TlZO|As}b3ruHux@?LKRFF+GnYOLr=Wad9d+1u1L~UBBRb~+5Bt>gbauM< zMe}b(uXM;cyCTkkaMUuDW2g}XruZgT)|d4+uPCPNGCl~XgyTXi@Y+nHcprRYJhyph z%ynLZnAyko6ldYuq~HvyqAGI|3y?f){FErrH z5#4+d^2MIW%qXM^sWH@#6`(tU?6JcLQsp`V1y;w3C219#?o>5^7Xnw9z_3{+Ts>r^ zSBfRiwCj$~Guf87bhtBxGS|;yuZhoVVRwWcyK1Oz87&3pg8l50)Q^0hz!Nm+HVKpM_#`#P1(T z^SJbQgD5;h8$2`)t&WQE52A zrK4@;WjF5_onL7TFQV*dQ=!pPWz|$xnPa_46qTE7x%4Huhjxc}5LT;2G_tE_Vu{F4 z8_nR=;h1>y-y{K_1w3Z}_-hI&FNr{6qn1|uxelMtGt+*EuQVH`R6P|J2J>AH52``P z%9i3Gb!X%6S^A_fmLRSG)R(zBfZx_0l#6&O7wdvYE5|{Y&PzffYZqd22C6s3L?x0) z8BS;m2P2F9q_S8+;;JN~y@GR?C2a6Q1@V&+Pf0KW;)c?o7K*zg2msvR@g|IxC8+-A zwE~FYHT^X$6^af8r!cehgN;)y$9^gEbX}m^hyGG3;74;3 zmsT^MdnGf&ZQB&pKNAgnonSrG7{j%`;4o>4AMpSSUjq{~gM>jzwF`PPykk9tV<%|M85y9dft%aFT1>KXU4dJ!FcE}7!W>@;ee6888s ztw6+7HX4`{6-o}5BkH|NwXl-2B-nS;e4~9wiYvY?#`&3ddDOl6=|nEm z-l~ICT$Q5|AzF2}CKIXK7W;&YxbFxL73^(>!<5DEx>9Y%VM4KrIZJRwMT@8#OE9$G z#}^2>`rR|T*vC(>G{#5SACW7R;Ev16qqPprj#`vPM|8;ad!J*E4$hEI@5+Ar+ zZzZUr;(QReR?Sl7^3}g3rrv$gnp4MDc(_mk|Fym=iXpBl(?}?~#H}?WP;dzz?mWe- z&CWQv=-65o*O_cHl^3e3neQpH`8qSsdxvjh;CBd-#->YkZ8R?%CH&%SgZ~j{G2X#b zi1$UL>~%R2w4tA!P4|c zq=!KV^MZqd<(C;JKAFG*M=Y7^%n;)v!4ur~_q7vO1jxWkk+uG-d#RNtKqJFL5x^FW zC;VG$UVBy$CMuNH5{Zk$Gr0i*XJ-NQRe3hlyH9uSmoD39P7{;nOjM!?{3>$ev2jwT zc+_K!SDEnMv4{(YZC)D|6Hwyo2Irur?Y_Z~I&{1UmfyCInsxGEsr<(@;L=6olgDjygJ4gGk6pJo%G#?lwJJUptd`d{k?%Et(&Gy7p9B?N06{IT$ zz5UEUWv1Q!gqn=fFtfcdo|%9eRfi|w<1OrYK1k1Wo)*}yutG)cRc~M;__MF}zBqh! z71Jg=lFz!FUc)qd+@GjW_4FNgLb%GS=8k0A=~U~ORNE{HMp7)a&S6uWzl5k}Y3U>I z;y(z`&-tqkUX#ne=C|7J*y0T=`XS1FcBXQhay#^NMd)2}=JK-c`ApUo=rMw@wDWA_ zq)M_%=Ps;RW%!>EpT^*4BR}h{YpvzvYvOAhN!m%z8ubpc9>O# zMtyxOYDL6kp=A-MsbcB_VLgyldi7LuK1$|iNqSoTU36gEB~@rOQ>HgUh7w_~*6cMr zep$GJ0W}>i(Qm2mDQEq6t&egYds41rA;%hlu6m! z$*xpW>x+dk3k>{{#_C7Qf2ye-3N+gs4fqe0SL#bRw|4e`4@~|BCnk|7vwx zj5Z$gP<7}0295w8>}vV4(EdEvKIwblhx(+xfOiJ;?j+_Oai3X2Ng;W1BsUctd$Q@-u?L&*?X5S?9-_;i`K_aoT|qcZyFv{ntYKdwsHRkL zJWEzpNFAw;5SqbC>nBEDP*b25yS7M!2Kxn?xYwUi15SfIZW45m+cCc{5r?o>=Mg&wIy? zOqu@9if5m=Vrh$Qc#W=dX&`}B#gSoETTHu!3aU+r3n2Y3ro(y^| zbi+QTtGvjQj_R=2vtxNoj_sUy9-F6|FuYxd6)UmvU7mqdOW8SVToT6^n|){H*IxbI z-uU+CGw|-`rK>b5UNHWXkG5>;g=B--TJzDEuS{xQc!JR?p)08(>L1`vQu#5L@`oIm zRKrQGnGD+94v=XS*Y~%jk?~=xXy8#Rp=QgIsXCsrj*d9mppo(I zuNdInuhdKr1mC$=TUOo3DejcWZG_KWSIvaHJ2%>KvW=3Hb|KW?_cPg4f*bN>QqCM2 zOTB5_cu=Q$G>4@l$McxPs1*$G*p=X5L~(N=r@;gmWgY5e6%^=ry0{of`I{SioVT0a zt+C*{pdQD{=LB2LCzkw^^4n3*h*$$|qJ#zBNNap4__5M8xaK=j~nojy;Z zLz89th)1a}l#Y0VJv|OcX1H)~)qJP(h%u4b>*THK`HU1|`=1lInBcl&#+1}Wmq&Ma zXte|ohCDDb16~l1p(;%_{Hs6@@j2TR_tT+ZTrRw8fJy8S6m~_2TVdk0+TO2O2BSQj zI7cQ~z~GdG{3cTJ4+BR}7;eX9VU2KcXx z%E01UjNNG;?i`^T@{7kfV3;UYL?XozLQaZZUZUj`Vihi|QS>PoRmJ3|UKl_rW*laz zay1ip##>wlF;jt@24|=TA^r%eP+fwrl{XfaB^8%7s=YbZHKrVT&4$-)IMur4v3!`1 zZ4)(^2|XMzLunn}&7iZ!*b~p6r1Qq-B#`Lq8T&_coQ99B>N?}A1XP7|r9m99&u!U5 zSD2lbf@dkke+Lf+EQDBCsEWlI)(bsqs=;a>l>j--ilq;^BOL?A&^deQl?5cdp#fu~S2LMGty1%t6 zF7M75Fz32u-NQx*)`W`fPEoEZ%Xri1 z$qBlo*_y>tKSe~=QWZ;6HUe^-rYF}-WOF(VDMsJyX+)^E^&tG(HxCm2+EpI6FK<}Z zrl3;OU=hH)dpg+(vSnm>lWdtFy3z?uT7s+Cl2Dv`qJYDQJ_{aKvWz0Qv%y?GD&ZlJ zBZ?sq!X{m12*cy2+^@g<4QTW0FMmIJcw$wi?qzrfBq7&TIO>R)8Cs)StL65s{l#$aWBgpXcEu@=A`4C0=pAC&GH{{D;>(cJ(U=fWKtvr#a!7 za4|zK3kJ346X;=rTs~wpUEbY=pN~D**x~~(iEbu3c=IE7G`ouSd`I|#0xrU}he#SV z9Eb@^XN0d#6%LgA#KCssZ0D!v?ga?#cVwfnE zFp^&@Y$e^UinEKcRxDk#6|-KMCGnc%(5|%NFeFowX~E?B+VWqPEI4~RKC;PNj{&_Y z@SSV-Yj(bMnfbHgGi1N1p&Amlao0sVk{XzB{RnyLdR#aMx6iff#)0W?#v zT}hFY8p4un%C_OsAqZ{m+zxm2<3rM9Qhf%~gnd5~Op|^^chpQ-@D$mock?yZ2%EeH zXiWIUgLJrf0#5{^t~gy;)tu*`W|r33E&+Q-6s$RF4NQ)N+DzR(Z3c?#@m{@PSn@QR zSJaI?a>qzr_p=Y_@OG-g5BlD%G9kFCAsfz?(S75{gl3Yrt0w4<(z8`t6--CoSYSKA zsqMLL-XTum+^>4CV@QJPs+M5jY`gM#I=t&r%-&X-Qv0?CLT`0*OLT5rT%Yd(avSu$PuDbu&Yt)JMJ3j%MJl_Bil(WSYAK*`_V2>!j&3M&ZN9l8OO8aY zJEtWoRv7uo)9A7yYOd^fh&5L}PD^twvo=NX%aN5^f&77}aW(e2tH`LlB-#2leE)Go zM)i0>km}{gs=|w^XFOw~!;2J|r!3%JEp=@Fcs;u42%6&Zu3huURGpVywF|oYDT>bR zufP1KN&df8Zs12_pQ0@)8n4wL%>>W3Wt)bs3!*+hpesA7s@m;D9j#CCJsprdjWLh& zF(QAbIVVg9$9JpQahPrVZ``|5^~N$vmq~De0bS@o}>g)ugunZ;<#zJynu57YBTKPPeF1wiy!Gun?Ht!v^K|H zXQSuWr@zC4*c#W_ftM8Bv&6b%>*$K4Syd3X=Q|3fs!AelE!s-b9ul&m^Dr`AfZ|E;1;??ad+ov~sv#fZ8T1v+mc;eD4YJ38SXUm3 zlxwRgE8LzqGE#nmm0h8)&kLGBef^Fd3y=5s3`3O5qhK0v=M{};xGic zYNklDUXdkR5mZcClr6c(3!?2-V@`Wf-7mJchTi(Pj9duF6=_2K0w@P8)C9Eiv%0`| znUQ6zX^fIOq}Zm<<(=)iz31l13O^7YXeI%hc+cKb;xF=>;mA+RxD%i+Ekcy5v?$$<~U+i-~aPu=d+#@ND%Ve@l@_Jk_A>?%k7y$H5M2+NQ-0`fQe{H|H z4TzZz<0QS}euS%G5t4y6rEmtdjbvrh;C6Y>&EqMH(a=8jDKUDJhhXwCg^q~5t-1LN z>Zg_4XoxLTI<2-wW_IJ2g&&2JXR`>1>@vzia)k|{*Caf2C@kj>%D03|@c0Q)DMA48 z#pc@_x-|{jMoxS~^{Oazt}ib1yIMx5D-Nj%eh!c9W57Qq!Cf2s^@f=4!G6E~^0yzNB$$B4LeIyAqoRD%foX=@WN%RB?wj0+sh_i# z-f+y-y{td1Im5I`qx{2oyXy^vyS}?l7lBre{rl#<4SUPppo{uPL0WauzTEzl#)UVl zuJRuH#|irFakub6zVr|cTkA$j_j|GD{l0l4yRW$I8n$Nanx0jqqvr~My1$F;ihXXX zIyNcEL(1;LCu{lRA1hmaQ$%@6d?)sFx%SI<8&pM&7i;IK@uK3aBD{2cnk_n3(IVfv zzUD(-mkC1m1+f;J7c<6_Tc~1e6wzUHcc-pL&GaP8QRUntTF^-7nWmFGcaJS3s6mYeQ1QLeXi{vvEMWTDj?r+KKPh6PN z?LWeAAsO`uK&-*%1zga;)&DR=usp7 zT2b(zpl*~7IjF!)RpIWMSy7Z_%TN)Tyu^xH@lLgLb}!bZ zMZ{l9T;cm5TPD+kY(AU91hnqpSz9YS>R(cMmX{D=204V zMfm^GuL(dKcOHocxH+3YxKQV$>)IJv7tLnVlNHEo?gDk?_iG{v?11cwP_KxJ(XV) z*&~{mhu0j{*6K(qHm~WPGj#XdK4+V3zd2#H4spC;_HXtWmx5=sEgb@Cn^n+mS-dJ2 z=VNy^KdBL!+E2PBAjV36(lMuLYL77 z#N4TJpMyT|@fK`Wj1K|A6thPn9Fu*)k@sUB=u>M#wKUh&7#7rl{j-;l-}`Nl&$hr3qM*w|m(G=(fJU0zL^FKr-v%hKha`NO zOy11>FuJNa8_hK2J=4%+1h5*PZ@bX&(B!*=S>j>z>NWS54&>8BPnR7`Po2rvuFA=u zSwLRo-g4p<{|)!%4OchoEh27OvaDf&_)*ihWp{#L=*Bk0<}>$D?s>ZAi1R~ONXl8L z<_fhC*|HtebZeL2FIdCFX5uIx*>Ft7UBiCrc-l7M^Z6|2+m^h6^)j%inGgj5kRUS zjy8s7F$uOFn#EXU+h?%SW<4~!A@nJ+?GB?Kf6r>_{!r|&#)C~uklR2t%%;o5B2F?|Qh)2Ggz9sj{GI$KocJ?t#bgB_CM`zBs4W!L z)sCjrtS9xa5z%`!{_Nn_Ciq4+$dOi=ay}aZ4yA#&Swb)D z7y0Z{tk{5mPs2~BL8*O60=QO@Z?7uU5jV5~$jes(vASpqI{q=rZFv+BbC0ks_+A>= zTurZ=KuZ~hEcUkS<}UyQ;W8*};7=Zk^4~&EFn}_SEhaAb=IYIXRP-isdxCyCZ&eGzo}w8p@TzU2^i3)I~xSM>ajxJ<$lb;JJ=x zd(e1xW}|HqTD@R((e66$DVA)VsoOEvBSH5_}( zQ0p`QpmgRzh7MdKS{~0E#yM-;NiP4qjI$6xP>5rzUTNGLP7<%gF48H9rY#v*3Ua3N zRyyC!;uw$(-f|+)7*nj@BLXwlPVizdqbB& zNCuGux{*ery@aYx7qSk)XJAT9sD#+On<7pL4cDg>0o`v(w1fn5i~UWo>~a)?g3chJKmdn2SXaO~cQewa3i^ zLQ>{Kmz{s)hkG*%(+siPU@`?`UpPTOV-SE8sVBYaphr|u7i>#^8P(xq6o{0Dy%8S2 zWDWe-x<{YX{4q?aua}3gdXDDLU|Ga^d5Bp3Ot}C9hn@|_7my#e7(fBE?bW!iX#sls z+6?yfO}9i{HF?>q-Ckr@u@qMXJ3b`S9IOV^B3=`!LB%ucw($6r%QPSugZ=n;=q}b zCXz(Q6%A*lVTRE}r&?a2i@YUR=a^riFZwmw7_uu$&bd#Ck#BQ|0Ai(JExH5-WW^R_ z(LMSgY4h$xQQ~C<=hvS3W-H&^T_g4u;U2W+7y`zo{~W578e%_+;;d^D5bDQDd6rLh@M#3A(AyRFBb!@?Q_?u758m^h$52G84W`^>+ag3z>pP(HCE;LdXZ+Z500!RGr)#e7b2jyDz(i{#(Yxv1e6@`HV4f z6w>3Rj)@zF(L0R{<2A{YExqm>j^j}uAe$i9vI&z19}1I$WLrK#ZpkOqnlr1PX~`$l zauB7My*zwA!OnNsF{2>2XB6ZO83k3;ct=Jg)e_?fiem|`2JFpflC(s&L-lrY?$LP~iWOlE#ETIOIo ziw^6Cv7}cA%OyFEs*8x;Us6DdrD}$!Q~|S@-DzBRgI21(y_4noj@Ekf?(3hw?vl3>c~kd1cR#IT+dSMMN#4PKWYqfk8WknbtY$@OUs*DR zY<-CrL#-w;FXKiJ|3_Hj zv-KB%(`vs(T6JTW|M$QD*Z&=h5j*giB8!46SZB<^oN8Tio={ID8FC%Y*WxY37<@|V z%L-ZiKF%0A@+0DhPr|#W7aYEr(eGvh0a&d&wCQ1?Cb{A+7I7M2jeDBGJ-6+NwT+B* z0ngW)SK>oTnc@7=RhOn1yj-g1L8H5PnP918fz1y^oqHqkO#zJwT^>I~Awp!mpZGK4 ziTrE1;bD%&oy1VX)ZXG#U^@97IzwqhbpjP&u$vVmMR~OQ6xB#qC)eP*Pr(tbB2T6SS7*0V5;dNR`3k?f| z8N-q4dypV$?_pfSfbYRjV6Q^8)$)~#{o{vMwAAZA=KhIYS@mR}qG|zkX@o0#N1}GwS61q@{ zo_Qi~n8eW}SYUw;li~|5jRC7L;U1RrJu3L-F9@S-i4|gq8TtrLR@1Jyx&H*=Sm;{> z7hyr28}|NDSY+RE`VbUu$I}?#aeLevH6nRI+%!xl%M`L}kYbA$;RKj-8f1PrYp5fu zEo_%wOTtd?vlufvKYZ{mbb{LAqcGTqT)d9dzn6(q&%)eI zMu3^GDwj2oXp2qD&lOkSa>#EQqn3gw>z<{(4D1>x#zT*(*x0j+@zm1nhegL zk-Tcl+y@+m(Ds>@xex7=71UwpKGmRD_y4Auck4}I);7SK#T!p$RA*L9ZQf^Rt4Sk5>_WSGmIt~qNf7n&T*| zd&Dpda|DQ5&BAYPk^XHC&Pvtd8*1KRe+SzbvX25~XrGE6XP4av5yarIt2Dl&il2^j zyAKd|#%J^2;8kV^Fak(Xx`OQK*i}E-7oBWen74`vxT4~p5=#e_=iFWR8Pj9YefDt8 zL6Dc#EeF%C1Iu45Dae68f&GVgFX4noE>5`gAqgYwH%0iFF2+x^Bu%T2eUlwe)eP}V zL26%{@4{=RDh`o>Xvj)ASG;q)ar&(;WGz18vvMPivy~P2Jh+o z(er4_?p$3{MeH#;v(Q!+diD8&d%EC$hMNpwr%wHFrmHEEeWGLXG)k%7r}1M^zM2aR$S4wY@-gt>)4uO zq46A&XfN$HOl~-AtOR!#CTYgf6c~X=-xnhA^o|LA<@B0);0tu6A>)dBhZmQq?K8EN zjMYrBq_ds!D+MMTqC7fT&0x|EiBy^!b_%<75aB$QMkM$aKyJFuv>QukF^ftAU@W+|(kn!(Wa(A+M{Gdxx$(jX z`u{G_Qs%Z5-8+hEnEQ64lH+g!UQF~GWr5^kzWIB1bri2EU;C!nyB2wsT-B_vDvqLL ziUM!rFtXJF9+#uIE772;#g90Dmd2bvnFQ&|ZDgTkZi)bcvnQx`p(CM)j}#O(h*;A_#BPCPcL8*3 z$M6LB_9JDZROU&$+ zRai!0kDOqh>7YR$5cV)TbZ~wWCm?<>vJ~VI8-kL6yNv;8E(xc(WQ}e35n2gyr;Hy_LtLnSW({$N;z!gl zCrT&{WNCD(!|(u@2orYK5kEp}AF!t(uue0>XtHiW6J(WPRM9a7SAcut=^9}(qQb@I zVzV~=Nj#g;X`y25NPQh4TuzP&itx)l*UhL$ifrt_!O~jqnOX=cp{x;BGnN z9wA2j6fbGj5RNsN`k4=7R^ka7&6wWr(~MXej@VJ~Z}vLbro9yOA@CR6D=2viE5P{q zYIEcvd>@YF*?^A^k8Q@YwnfJ>%51kCGQWf*-M+~kzPN>$TM8;GJn$NVRQa**?GSJB zsbJZz@WyV-jxVm7bL*;gBV~fqwM?U-5ux>q87lWQQbn6 z8?{m~&cZA1gborz%o!8r@BmmjzQqNZ|5a+~gg>kWjS`=x!cEJZCkNYvrOMP3wN@ z$B3vgP}%FA0(AqU_~FrKH;pMl`X)<(UbZp~YfD zcn_HCQX%5eW37`5ZZHqY5Yw%APNHmg-LD8jgCzY+bo~=pe{*|2U7#_do z{uD~$H=Ocsy9LT+%`#P|4*R8QwxAg1&{Ta{)fT@c)@~$#334QxzqecDs7+&Bapqly zo*qDn6rxv>xKVbc9J`{za_FMWojT3TflRUEYZY+qqL36%c0{G-sHmzf35M_`)+2yj zEc)ofD9l2C7XDnipulyG`Rhd;3@w+0!OfN8{Nry<$8zbrr~Got=#gWvmb&mEK-^+K zX>m+%=Sr?+ORV+&3vD%)4^r?tZ`k_LN=^%!?a96*DXo5 z>Yj`#Yl4ax07Ej-FU^Q^P%`jq!ZX?)Dzc5`sb&h5;Mp>;;`_?kdI!^cK z1+%WcP?+^L($xsJ+YO{kM-90_vLGHkOZYe935{~7#9}?00m~H?5Qf~3@KCcbi1Zxz z%=aL>&#wl!OXB&cj3{hj#9@7l3eQ#^{HEF6w^Yk^_B3AX0I^mbN7>TAXBd&EgwtxI z^^yjB=u?}&0=7@>Wg zB70PmuO-+5Z@M*R5(UE*>Dcojndul}uHOb3RxqXkSr%Bp2Y;~$0OpF;*=NuUwi=BP zHDa9PrgPyRKY}3WrhqUL>m^{O^*z}okRw?#k99&W7Z*i$AIo;$FIfiR9+H4B0n!DY zbgW%XTP)|U2Yi9ufDnEv(hX=^(agdr5?3_o6mM2+OBCy)eI;Gw1=$`NKlVi9&6@36 zri|0v&jACV7GXXv&8FAaVce-eUn92Oz*$=-7z>pRSr%RW4CRq?M_;%Z%P@84oXpv5 zXP%jj&<(O6?daq6&ASr}$#ONE40dLrjV!d9e*E2xds#)92GcmNucP4cRVNlxHNzHkYd;liduK7# zREcjco%2vz)m9i^UlV^5e2Okyqk6V0*D(~&bX}(_{JA2MJpE}FM!~E9>dzP76aw3Y z)V%A;x~$Z)f@e~QvhA!eAa;7&D?0NY)TU1PM@H;(LB@CHQ^lA?PPB9 zlp568p{?mw%4qYprbs6mBoJiJ(D-xUX*&lMfu}A!!>gXG)>|abRBcxHU(tdp9Bf6i z!MUUsm0^FuAAjY-^qTt%d-bnhbuqm}Me2%s_7%6DL??49@g8qjP7S~O%Oz*G0jP$d zdY)5r|9IW>Yz51aha}od!vSD5955th5zc~?OP5&Va<{~mZi=g0t@mKvbrs64J$uI@ zyosOO$MCq#-#)B#`R!Gl&0BfS!$#TI4b8If7hI9KixWuRfws;E++vwFnn@0(Tf$4# zVU1MB`zKJlR2ZgeWiaFBFiJCsim}vGju-`HThzQ2bx+4m35GF8WcmTX7z7?6RDb>D zKM5y5sT<*g1!09={iTvDc#fcs_+m9O2!n=wQiWz?xsoV4NLy>rXyr3E_(lhb|JYRy1_0dgy{_>87Ec$}pog zzjo#JkYAEz6OD=E&^O!J(v^lSv&%3Ka->-}Z*>;BE}9FH1cp;kjlGD`QM+T_woeo~ z?G$KxOwA{Gey`9C^#_>?m4j(;@q#$+Fu{d(TIFOWF9MPCNvw1)b8?gL?{PHw-j?0` z1=Da!rv?R|gUOOjjJyjYe>ToVCJ#q#{_`Znn;IOu4RQxS&+DW(;2-?PPqqS^FiV!$FFzjBpQg4Lcrt#?GCl@ zcms$6awo<3K5+;^4JTC8z#LWd6BV|r$|B!1Is~%DJBqfawt;OSHUMKVclHRHQ4vbO zw|C13P4-6Q1>Ex*@`Ayj5}H5Lf^=I$YbYZc42yK@w z0Sb3}BY*OrpW5~jqutdDH*RolajhLd>P@Bc+)ae4daX>saX{nuh{ZbwHpW#vSaG9 zq-}`N4bfg#(d2hN^{Ai#r1Y_hAnx5WEd}YV^XIaWx%%+oa<|}*qpLmmagH#2G+uB- ztO?s5$jee%t~pyL;d427n9GQDU9S#$f(gX5Ix?rq&`EJeP7!zK-_tMxwEZ*#Che*~ zbsSAH-A1E}C{9Jw>>Sv30D($S5KzJ~gD4e*@XKTK1hJdPLVe(&DwRb*qzsQ$bKdvR z+sxYE)jV@nUV+z(&TQIX`(MH`NFyzInCHFnXxtUy<8gB(`^qAL^pWM|(;!l)oEk<( zZo>U3#=3JD6TLYrFDe+F@a(kggSR+Xhr>YJ7i4|M21&)>f=#9II+@WbmM=kEX7M_l za}Qoc%aRj$=P%-9_+6?g*u(PicYj3{oJ}9)X-`Zk&=IH?B~6#l=yWk6wTR zW%9-06Qtm98ZUjif9zdKXYr~w;+H1N?_m3IH50|iRL-p0k|f#9No%~Oi8611xieJ5 z=CHyj=X_u#l84#ryCCusEJ*k()UL8jj5-Xf4Wb}@Aa=yuf8@SjNAW5Pmcif1FMdaUb+^6`qDA}zN34*0KYN#c0k;o75p|X# z3{_AR+a3Pk@BXFnbUiTJu)Hpp54em#uGrqB&}h$K$tgo(hd9N}<;$FKAN<)v6o5j0rgv-cwTmsh{Q>!+ffxC0(TA)O zS8EOUOvi~TAXNrXT#y1N5w-^aVtND2yF(ytmKrfcXupZh>*ZjY`p3Bu%Ek3 zGzR))@&0FbY@tC#$qd06JwPpjqnCH~13OB^#wZ#ctf-gW-(sq-rXV+cPJr4~)hC4- zT6qAdLVckeR)$vT44oLq_{gd*ih?6urZM7@CP}B~=&Kyx4Ad)1)Z*SR~M2e`-?e0vRovLy?SFiyKHKXbxN z;H}0Kg>7_-#v7uxb^3p~lFQWgrN}nVi-VWfT^EAs3M!U*k0OyPv#rzh`GyN5kxjj6 z7H_zwHg+WC1l_H~HqBp<{y-}qEH!}fz2W};`JZeZV6yI*qM(h_3V5+U6Yj%8Pp2R8&~#sA|I0X@_m!QxTTI)(M)75vE5$(fr8i4rj(BLVRx&n76e}-CaFj+JydnpO>@&J`O+uC=DW%+Yg-Y%^o&3PCm?Q_@%lY*=!ix!5l@jKLgCf z=TJ*|$p^6bhD-eavknkP1xeyXQD&=A6;^On3kRLL#GDaJK&nc+#OBl``5 zPq5b@Wl3vDvZ$$s&`fJ6lI2SFOEjDhu%1X&UDdIjF~(Pr??}LL@(#zIj#$zAl}3?p z|1pFU;?I91w`)r7T_|yWr(AKrefTXKbhM}nie`+x!iBW5ACT#XtYP z;R0jLk)~^cF3TfE$T2!lQl^f^+l>?)FI$qM^KWHP;I0&00G<65gKLHp>R}2{>B04w z*V?Iv_P>oKbPc_N*%RxKx6_=N!|T|%YBW@^fNuYap9Vvz`y(%Ekh4jN{p>jZsh33_ zm1oPdo2fsGaaAwO-X3|kQTtsn5F=N;tQCxdqj^~B7lgB*_!b-}-bz;Kh1q)-gA(Zr z#-zK`+1nCXh49pyc~X1qb-Otu@Rsc~Q3H9?)Ga~kI*2pa+*ARpnl(#>A&x!azVTNj zC}=U>Z?;Yna@B^6VXig z3QU2O(}YNFF9*$_or7cB#B!Y)N@ z2xVw)ap&E|^B_krTzYe#TdydXBvDrId-C%}WH~UO;|LHKVcsJSA_VXXMumFJ0xw#K zwmF3p?%SAKcnMW-8^5iX#W;%}L81|ol#bI1qFK0}BSdgclea?+iXRDuu?WG6bFpBX z*wK9!EzNRnMcg=d5~s7 zkqu!@S-x6AtU;3#{zmf&_g~QdRc=4!<_M^mQ5k__lfq!q%Ko9GHRi%RnjI3&%`t=I zzFLZ4ZFEI7;tbr)O@;~;e)kYR0a1d4P-L+n$|IVAx+Oo(D7FVxz(XeoQ2?d3oYY=% z-FhJ_rfkSli>0Vfm$j+00W8VQY)Nv}4I=gdCzO5|SJ8GMf3uFhioozI42agNw(^u6 zw5=F63?$$k(~_qS3pQGV1p9ZJe|Z0Hzb1>=zuRhd7lfHu_F1wnP`N?+SAGIrX*f`k z^Qfu=k)Ow06lYxGXX_+lMoaC>-9kTP!omEBq3Ssd;PS7L!Go>v`fo zb52b53BR9{C%_~cQGCy9??vr{Al^vA4bT5?y3Bp#b^H*?s0o%L9lI;C!VgfH(YiPC z19YZDG!2=5v?4j=H}DMb_KRI&I_lhAR<_d#=kks0Q$eRu5BlI)9^0e*Z5?OAjqYT= z(3?dOLTg_mm$FX z$$y3^2Ivu1ed4bo?vLmc-E-1=;fj%Kr?KMn?Q_rE?>V(zlin|lXyEHCN zRUxkK8|NgRxCknC$EXhA$bPY{@bsuB-_V>#j#7Q+R}I?<_jO3V4t-Id>1@-)kJigO zgq#V<|G;U2&xZ6nh&YzQ3|b;F;qwjWPwppIl_!eT|B1x-tuPs2T{*Wz66zrxl7A;d&ZEX`Ry_|VJM91CM1=nQC8;*|qHu-o#=VeWWPNR{0 zyA@9ExPK;&`@7PEXPfyY$h>9RV_>O}PZk$muw+9pFVx;J7@Rz?AfPF-Iv|IZ=26tb z+C2mrs`NN8Ic2JgiX=5=tO!#1A(^{vSL1N*m6 z^aN!=kqw@yp!W6hkh!jLU}q2+TmJb=@rQw}sw@kV+YEmXjIGC{Am5m3l~i#mDH?EK zxcoaNpF1G_{T^~E{>`SovswZ`fuYc@Z4}Kha9vbvMKIO=!g813`Y{Rg4!Pb=Q9&^T zQ{fvx8j>qH+k4|-nnziBrSg_@Ip z@?zUWH19V#Z4X5g2{`Xb07}aMdq9N0Lv)HA%_Z$ej(0W1l$(A0!%|{6yJU3LD>suX z3z}i}m;1N`Q-8s(y5>w3Ny1>oaQQcESA8Gc%9&2QVoxRB)(34j3ZoO>WGnBel1j|i zL9_K2?8J-u)X@~=z#;zes%qJ-HQgt%s%jV?0T`f`=@l)CZNp1_~xK7RkmF$ zWX+XLyV(OJ@``Och?_kC)hxbPg+WDN#n)&tM*M@(k#9ew2}8hZu=iVnSOP{5frT zV9@7^|$N&5u4BmI^Xr21=AJNWDzxd%J2bkc`&>IdkXJNJ>YO1TS1R`HAvj^S} zaZ3XRiNA~~26O6HJr@Qp%KB859d+18wifRBWvN_QmE@^t58B6+23{CJ%-Q$nn6sKP zb!1Z?ba4wBFt}xep!7H3gMG8Ud%hy81BO9UKaH#-hbd#LGw<1>h;o58HHi>3zca zY|A*siCaK;@}=_USqwN`4}+hr)c&p#>xJspLfAN)kc=3<2_e_T zTMBU$j?lrkaM1;1Jvb<=S7mWnbyX&~;Ylte4guaaS8gwK6NDp(HmOdB#GCaFBU>Qz zFHFM?Q05H?V-?!Jzxf2`U;5bkRDlnE*+Bv<3;uvcZoOqoWMWJ(9D1cd9!T1*ymChBqTDt0aiBF#6TI|A2&0 z8F_yursECw_ve592OIF0%ezyy=EPryiNiF-$(_o&-JIgo6VZkM0gc(LjkChypQuxw z*IaiLyn==-wx1|VhH8m}*Zo})ZNEj$Zuc1u@5<(AQXeEMtIenJvg)|%X!9L&t*C~p z@G`Z#=WFh`W~-X`a_T?71@E`A;#VY=KL? zt$15eZaukM_9SpUwHaBZ_ty76v~b}{rc#k4N>4HcIEg?nv?Y};bA-RsozSG6Torj9IYF6_M` zOaO}SS~}$ax)i3DDkray7V2~A$1uMk%E~nIkub!n-sOb*4onMbSb${YUu9IA=Nq24 zbd6Ws-I~ZLx%t=R=BIGmSk@UNT=u*o_Rb=M>M{TcPU0u--TpV6XxSkS#Sv@&0;`{) z0uHNH{(u=TM6~wZ3A|-% zywx9K^#C>15p|QIF4?+b4qiCABH!UGFTDnsMxM)#D_KoP|E(N6P2z1;utr^cP;z!u zPkpAb#kuT|Xs-^sA@MngT1D|D z7K4$tE86!${)Rq}M?V@sCN&?=)l*ypl=`j*Hy+z}6zAuk{_kHQ<_LR@*2_D;F*Km7 zE!XYsQ+RXt%mrEMhYMPUK!Xw7%1;*lEDN7O(*^TN7%+Na3e(QudP06f_5Zhtyg+;x zf|eL=3Vf)ih_8BU87>{l{ZBttO%moLtaTe5+;{zKB3Va(!kw4rkjn?a2FNYC&Q|M; zOCREOIOoDR{={Lr9zMnrDv~u*5+$=?!$^+7t2|DAA8i=I(_imoD!ht!B!lJ;EAP*L zdFUuuaftO^RaVcu(e*8Lc8g!j63&%v&5&Hls?$;BW!upzS4uZ@e0AR0Yc=bGp4`EGJ{J4pDEM2O z*`6naOFW&YhiCk3#j4-+`o^yMazKKfJcxt7L#_5w&KjhRp_I3*+=EiRxu1DK z2rgX_Kggb9$UMhM=0zEIM|{4zZGCw{E`lU4aiO)yy-;;u!1ollLFM9P`kNdhRIict~^AokCHcm#gtO4C5yluT^{bb-UFiYL=-A4Qt^SY;_e1N?}SL z*d{N@O4C(#9L<_K8>+lTTkBhY7DF$`i$sr^^;4-rA3Q+NghnTFQpo#g+4|gHVBZOB z0t1w^RFP3V^mR?tO)sd$tCmkTt3W+2j3YmM9+C#$K{%{pC0r`oUWTrx@ABI`$m94` zKrmuT$7$i=J(2&w4kU&F<^F_0`zVees)BTxDA5p53Yi9NP@Q3zovG?pSPlP~S1*J?f6;itcED9HY@h*WfLc zZ)h}87Y##`;I~~8?RABMisWxuM?}FI@OtehD$#OZA2T0f!ddH#3l`vZuR^k$7tai| z;iOcdQ3zS1jJOa$=3Xe;AKcCD6*q(VbFlOvpOW>K@Js0Em6Kbw7!-|W)Xiet)}=r-+7f&5yLaVq15uebq*d3fEiEOmqk zEXj9Vm`8P8-kGYS-?(3WpC0DnRYR0*d+@^_+IJ@@hQT|^;QQeE7oTpzJhEj9mSc`S zeWC4GoFYMWW!JC=KR{%MNVtM)8zTaC^#VLIm?H=V^p1>L?VwgehmA#XDY9)DYO@}A zR9t(BCJM4Eo5Gk{FNn73b=gFDR!KZx&kzBUdb!xnN6XKcI>j`@F*T`ap-C<;s=U+n z4EV8AY%2(KZl{=R8;0swW9a>mw(hS}Oi~1q=bO!zzhLc-is<_(FY)>hH{3EvmtHo5 z1~I7bV+w0bO;@1RnL^o2u>@ zBT!Ru{59?$-1%;ZVjH3&xZ~W=Lm~>E$ou>cHiG7V{_>Z;Q))K5Os$)ZE4gLECk&^!j>IQAh+P&1UL_7{#)shu!#Gfkkw@w+r9^TMY#nm*cQLLgEjv|}WQLgK9P5->-9{g~1 z({wAV`Cf48%6zZwC2`38DVROPVG93HP5A2X1>u9B-pJBX318RZ&Et2M=Xl%qI3q4o zFwc>lc4UJ)lheds#*YmGRskZ zcOtcGB3aXUQ#Kn3U4eHc(beF$U23A&2fP4YAPoa@OLG5t_x{yB4THTj>=h;AjV$hx zynKCi$+HBNh#!8uke{D_`qweyRCz*9!=05>_z4@ToZw&S2C<6d)D3=}l#HQ|t)K0^ zVU4}~+vYKiEoy;r z-&2@%|J$opb8#1lW`Apgx)M(qROXl zX#e=u#63EtPu}+(Ec@P`($|>mSDAh%=Y#P&V!fU3t07ozFUGNZ?f+!tk8N{@1WB`O zy%BKabyF5}9xB4R6q1*6hi*-5bcyd1kB~DV4r7)Ck7y1oJ;cm~*>+ehL0tGA;Xj~DDiN%s26z!xX6>2Bwm#H^ZbG!AI3r6=~Zplp%2rF z_phK5JIi@cw{X77yfBzG#k4qnz39Iklw`)#ezkg?id`D7lUa2lBz1|P6v0oZ;U3&a z;39z>uKXCLoh3w_me(CVVCcla{V%;|7>79L)~UZ(hb*_8Ks29VU8sJ12sL1v;dopM z84?sGIGs$jUXtR<8V|c3GaW#!>uWGT!=S@}6O=nEWS7^T^I|$&y2U$)*X>HV0OxVE% z*{`_o9{i_Yaes(cU|@yMpun+Gyim|#eH3*&^%YAnh%Y>v2^H$2PZj`RU_KA%9_2q~ z0tr+tLsj_;0lW^RlYvSu%pLc_G$ywzMS++%z!#{nSCALLlVBQ_EV{zfl$tduj>#*6 z@)ANk!0vKEu_Rs^VSP&S9oJpXyQakxzhERECExBwI_NGB*RxO0Kjwqse$Q!NazyQZ zMRe_wTlhXUZs14AZ8!JobHCcjFHWa|Xj$Xvm_mA4n(la4QEbC*$gBeRmgckGim^^z8O z!sVDxL03kf{ve@Stsy3Dsw%oPVquh;fC&Xx)g@bQj(HS_<71dg z*O-w*FnF-&2z_$st|{RAKSADZ6LY%a=J9L|KhZRG5sE6RxN`ix8vQFP9Eio!{;qkD z&ekcGZZ+OospD0SMC%iet?D;*RXU!0dz&}FmV?i-76MnKIe&aT1Mug>UocVh=b!%d z_4+OhQj8>foQ+my7SkWnNf7`1)4%r-yVfdm9Pg?#ky?NaoD zT`5%2VIlKgCRRFRaA?v|YgYL71{q!wB%Oj?WViL|#Ot!_rTXUMTMu@$=2Tdd-9`*= zKDsA>WzR=yrOMaq(&tVES+@?$M4JE}(>b7j5cnIVf)9G2*w0_Q-avYok84Qdg?vC8r(n+NOKsT(Y-@T5Nkc7PYqi6WIxUbStchZfRz-z)7`S zYbpwFr8;MK`=56ggh7TCuE{#WJ!-Sn%5>F34_&p6;wSE3rM%C%RxkUGH{1$4g2>*(T;4E1;YpSXgIohg|cc7V9 zDY9cTSm71#+EZ1wj<@)B!k3>VTUUS-am?*j<3w?;_6bI(1zfarHX#QXN^8PraIiy| zSA0k!s4_UYf+n!7 zJ*KCM9wW60KL(4B?<aeqkEpm_;Y>hH0MITn}c*5xUxjo(kulv zbVYy2sw~QiFysknot{!V0b`m-XXHOY4<%s!ax-#X{X_j7r!`R0vwsXk%ntD+rYw+Vae{FOsGE+Hm+k;6GFunFTo}l;xiO0V-d@Ac2kh=xbiSTc7>@T zjOAhbk9l6TRMsm=EcHslbn3{WGx+Ii?YrY$(ULS}@N<{?mz-cx2+nW9>`P8zYp&2- zO?T~4uN@>W{MpQ3+xQ+&9*rBb&0dpSMb^v_4E!*?|H=7b>a!IetL{`2#?b-i3Gu=s z^k$P{-c)o+vK#*KNbnXZW}v1f+nQjCqYlog$u^Hsk!8uoYJ_Tt#BD=naV|Lh3r=lnM7;-k^^(tA(a%m=7|@KA7@b0q&OCgdUe3 zESLT~AZjTjvbi8UX)Xu{6mYY3LOyVpc(YG_mQFZ}))M4fdSNN{(lnmI9_H0X(jr6D z(s=MH6&REcl)#F8hS$Ahc@FyerMdf8D6q((h@i+~*&jy{pnm_8yEPoE{4X$n@_rfG zCEZv|rASFTx?`qlXtZuB|K-jaX_lStttC6UV@8r~(b&z#mW~-{j)BpYN|T6Q1pMS@#2Z`e0=NA5n>@O>^&(v7aOeU{6}5JJS5(WH7>0l? zOqx4s3x_GT$h&+4i9>c(Ll6wKZc0X;9}XLA@y&m&;3o1Ao$v{e%yR^|0(I2u$rgs7 z{Qd_Y<=<>N-MQIAy!+9eI~BJS?U7<^lArGp>z-Ijd09FT&jwhlmt#5z(_>;DOfR7oeiS;n(8{JG+qKY+3=@ER9y z7tPcPxmDXVEPdK_=f+?&%fH_5`Z7h=LU6&d&Wu?)!BV6OU>c{EhtLcjQ-h>-!*D#6NHuk$yjWmwo|pcYY!XEak$y zD+uJ~7|Xm4a)J9Mze_$+LSG~4OOgM`Kx|Ra4Mh}3VwVbgt2mK`inb`2Zc}7Mn^#nF zb979_*VQxmN1vkZX2i6af#Xn24WkMCJlfy6QQuKf!)9JD%@xA5zG7x{E(g2b(OCRx zM)`@mXYj_lRW^i9V41?`3GTsLt^9~-fQ=}rf+p~zb~&iZYpn}xP^-3NO6s)HnbZ?) zhk+VOTi41UU}bO2Zw$DfL+9>@4oif&1E!yHsaLvw`AN0;_1z5gEo0RR8&eG7Br z$dTq>sp;7B*|(A!?}uhv7kJvUJ3i0Nv~RuZu(v_7Bw_^uGysY%k0)aOh9h?W-29TO z%mPRd;-e@L6sbW+*wbQDK-E{7S@}*fzs`$z^zAqKhj)_X1+r-=?{5Byefmuf|4E|s zj?AxVRFqB;M<3qN^zzs4yZ1N$^nUT3l6;;d*Tpm%(hu*ZIW1`ZK;PZ`1A*_9{G0el zQoRgbCHbnY8t>|l`1`958}HA*D<2cezV#3#AKrZ(mo$$OH%msXCEN_7{4OK;EM0ji z`~NBY`;^RO?RpyJ(O07n?^He1oWM}t;io12T*9Yj^=GlB1|qA=Y<=j{+h~@QPygi` z_{cEzz|?S0Q@+^g%AUMzL}4>~Kn}aA;90w{!<-)>#LFhrIEmRK26>bY$Fv|1(v^HA zkzd}%3B7**{{1x1{*w;N;(h&%UkMz5WcZ4!%6fkQI}U(^aT*t6IwB+bK>j#OvuPPm z;=i&F{*iq&nBB$cZT2TpGU})0FN6qoiBD23eMf zFYo4xe096&>#bF6+RID9Xq{h?vcoQ451!|8^#z$zw(=w)OiYp}B{a{o{ECEGPUz=o zGEL|ODf36r)KH?beG4Lg08!q}o^P`x$>y*bV7F@lDP|gapvkhdD#aAtRb0yh*>>#9 z;Ol5WkxKU1`bJUqTpWvh_fZi{EMZOn+PYpH8mHZyQ z?Gl6iNthr@XOjWV$p@l-DS)k^xQ61XEhXjruwB19N%mYXbc3F9c2Q1zTN925M@mZI z8=l?cx)WFUGtJ|)OwuoY`L2Q(tcY@)Q~K^#LOg04p5<9ikM=IKe-NQvO}8vX?P<3{ z^F{#;J1txG<9L@@`b^6v-e|`OTct}YjIuY)qLMPfk}*>Z zexfA1?Plfb_NN|}tSJK*HwIGXC&x@2knt+SQOx{Kq;zM?pi3&-Cdz(Vx=F_2Wr`qMR;#Kj~k zhY-FgAE#6(CZn02Vg`U+kLYHSzP$X!UHK(xc#N*KYfAuM)sa=+>gF`M#}#cR*4ioX zXZ%Cx=PA3&nAH6QfsRiXz|{C=(}MaPsO4*oh~<)KR%T3LV5ld_BSy)}?08FNcJBktOSY2q z(q-pB8Gfj?aO=1F=!*PXHX{)Jh43w-ha?`xfHk9uWF9>hglUow@u*v@U(Y)*kIV5A z4LI1iggATUGk{1knX`37DUZpY>OL?tV31_PdpO>v2AwtLq-?FF%tmvH7H>HLr>64^BG=IfS-+>EdaHMql@@% zRLe0{*>_j3Xk9ZbS=E+^ z932eE=-n72B9deKi=RshS0bcf>WU-j$B7c!mgITPW>WYKjYi(HXVEyBuM5TJ%e|*e_ zvcv$iblcqaI{@y=?--V4+P1O!J3%^XESiI`FLnQ>+9COEwL{`9cF3JG+bOLf;Ft}{ zupm!N>2=FhH}6EN&T5@&-}HUUR@<(9U$JDS0={V}1YSaLgv=PiH8C#TWCa;KvY#e{ z7)4blQt1FrGVp44vNj;R7q2c(!NuL#`kpez;@Rt;e9Atil?oIQ|B_+_%#e^;At2Rs z9mxomEO|Vw>kR!%s;o?WVoSeC~_Yd-Yz=Y{v|`iM3op_`gVBsChCUW z8HQ%tN?%{UlX8~+rT;-R@85FxXz-uVGnjKus6Ad1h7;+*$Az$oy+LS zimJTvG^T%rS`f@(sx>+KnGRv@t2WZGS%OPMtTI^%f z^IMC4dBqJjm%NR0sM%s?hy^S2am~2g9 zM#V>4_WB2`I-juMW|Z-6nYE_N_1jK!-JW>C_Bf3TlClFBWo+rMjAad2$4G5)vb>nb zKqivgJezd2kuCMe0%<&ly`ZsP?@Ewp4)DHC_QuTfh_^Bx&|w7mVORx=1%S0^#KYv( zi6E?&@(YC1Qet8EqH~8MONSJ0wA(mk(l<*f-fyFfRy}}G{^E6qII!iEt0eG#t?Hm# zx)m@hb5(VaEk`kI8SIgBRUHn>Qok=SRXWSaBuXD&C7JFS>O{e7Op{p&ZmUP|Zb72= z1t~I!ih=KH96eAn$@15}VlV+5i5gZliSNc`RUDl$QofCbW!Bii)mBf6DJi-SzNqFB zOi%G$d-I|EfxV@DBHlQfmaR?@PxkhV2XDa8c=6GXXfe#=0TYZ7nPzjE-_ADnNjTEM zqR{4cA#Z)17ECw~!K<1iw4=OPY^SvS$%nmhtJ|l5s_udoB7)ao^3`<1y z;88pzH@(pc2F*}i)0KN)b`9Tt6%3{l_@>#n1>YfK2(MsRI$}SdpF=49$dxopvHJ`# zA%qt-BFso$qWwM57fE--AU_D>>+cMl%y+%M!IT2KGWlPbFUa#2Bjol@J z>XzzAE{=8T4`8cG{mevANywk02aYfILqm6;!T}ONp)^gl+&=fY7TB9iL|p((Lvk(E za9i?2F?3Z6afI9E?sx?V94d+Ra=IjvOKtERK8?M>gxtts)=r-bVts2Y;&Lprf;}obZDxts@ z{hz$1ayi14*=WO(Pgu;sfqLdptbZ3&P;$3go-rUMwWYm%35H>4uC)JYRBZ{mIcg!Z znP~-TAh#+!72R}HQ-@DqDr)hSn=Ye&jrYEg@M#{Oj9Hh1U?plaE5{jIlQSFT^pW@( zdl!5@VzkS?Bq_?JWL-+?N6EgHt!qj8_w8$|Ub@h#>bD;LPCU0f0L}3nS;35rZgiSs z&uP`5rq=Xn1?PetG$eyYfrYaPeMi*P149sFLR^j@scgz+)ULzW?nB z@V|+ipXpnUu5~vP=NRXQBjV2Y{BAVzH_UPB!WXI8s%CZJCyr<6k9(~R7w*_=d>-%y2a;tA!YQt%s{Cy|~= zAzoZukP*F&Q>F?((B$!o{7cFQ2h?e8AR$kAD@?CHg_PfljB@fo^Y|9?!#RA6I~WS_ z2zoo_k31$br`Sv9Bw)RPs=)$Scb1Ge7r%ObFOnwX(Gev7GmeaxS(dL#j)zrO<`Lwz zCy$H)*@`A{%G46J*?g9QEc$W}qCUW4I@$P=E0DS%>mAxuqRdU`XOznPUnbE#CAW0W zzIr!f3KzSqA)$7V%}P9ah^e1D7>tTzs0YA;=X*-0q|75;%&?f6K7O2LY`Wb-ymVFu-qR^KR!Po;Y*cSip+U|gMqdQ0VT~9um?wXeUq|=aOyPB$^L-2s)^J)cXU-8b=*=<^Hyuzn>_7IPl$S6S9U;*3cs0z2RXeDeHG9|5X=17!;gmK4Gu`C3JfXZjLI@hnQa5SA5SK9 z6f=v5UC{#&)LFV6UpOMGdT@d90p3Vg*#Yo$Dtwzk~nFDb^ zG+C@=Z)c?OT=^$*=_$UVhry91WFAv$9aQZ^NdbfM7#~tf?s+HrTTVIG-RRca*jkj* zFS=P86HcwJLeE-TXStJ1`|F6K$k&ySfE-q=Kh07h z89`;~C0tcp!Tbc|{Ashcs7jc~(AF>w_S`MMgWGfX^;R^`%}(}LlD>!aYuwYvd6qL( ziY7_Hol9HP>WrzXC_edL?jm7l`~jBQjc8>u8x(LDdIY|l1jk`8O^vBcF(hUKFyIP+ z{#<1?6_UAu@4A-X3O;GRDLb08r1zh>ZsSy)%c~mYArE>Aq=i3A-Q85Q`{eNgUTnzu zgt!_`N9kg*-Rb5Vb~K7}3Ikuz!eVc~KXb?-G#FYbEGA+3$+npGTl;|p^?nVkl%VtILxM?-( zw|ROxD>pycd4io;m&@XS?Mal*q689tew%@TjtK}6v)7B+beiQn(!nhGK^8Gnz8JHQ znE8Gxcu2k~oBC!F`xpA?MRgQ7Z>7Jgl5kCfd8wEmW#w95roZmPg^M?@p31Pylgr^T zDV>>MK=Atskb)x+(kn=I2jtg_jmR>#{6cj?rDs+?zN*(kwtm*U;wbWBg~4(qqL6 z%^(Q-zVo}Fe`ecr#TKdrc5E}0HMc*7U8k_2?K#r>ClRC-Sz=&68|iAg&|#6@2w!8C z(OO-5!*!@>ieu?-dXKuN$%gg(GTm3(Tia6>7 zD6#gwMYkmm0qMxCxQl0=>uV6r_}=HCM|GC)(Hfxt;&2V@60WtvH6ec?2j8aZjGbqtTf((HG9{=xC&3)^677Ritc&sYEw-cEuDY_2^{y_i{?mF5LAUEt^rX?>&-@NaaZBiEQ zvU$`~CpgJzBOAwQvDkoczsPN@(?V;*sf)t{b0bueKdYnHnku61XFVp?!()<;>o z)-_>cc^a`7{oxNQ`+1MZuA#2OY7STj0GaPC4PhI$=U_p=er5&sIjF99xY-Af%d4K7 zR{UDvttPJ82e8iluIsiGI;}c>T{3jTkWp&?yzGq)NlVrI&Dm}r)-zS?Dy`tCQw-KA zi*+$I`?t!5;zc$MemZ+rVz$D4Jgt+m9!X9i>AAKPIV_+{!$H;h!NLTAEUvq(D(XIW zC{nm27yA^E7lsprlJ2zp6RK-Vwx_(P>|j-iM|q)Gnq%?sz*>3nveL|kjx6t)ucfl9 zaHEdQ7hQc=X-k@`S|;Dg3oMMab)7Q0z3XDqa+U)nUq0Y~*h?7wx~pG_in9{eRFk#} zELVRA&Bj(WsU@{5P#Z;=Y@Ph1L}_GiYW}v~J^6opJT4Bt6>DSyAZ%Q@QN3v$KLoC2 zDO&6PG*n+wC1q(XoZtPq+rR$1v}$gNnhBQpN8MbGhp6s{EJP->8HePLP{Wr^Yv~U0 zDeToZiSNcGxsBrFf)umiSWvn@Ph_w335g0a9Mj=F&@R(f8Khw3L;r+mgsl{KKP&7V zTo&X%vq2S^!4;!w0&NFjgVU%G9ZhtAg~Q?JI0%`OLR2<@t$eX7-aGz%{2VJ0xo`F( zbYeT&s@FdN?)(cR2JomxBOZc4If|doqZGmuAY!_YDIMM8+UQmKc=nF+8zzrxm+*r8 zpxqrKPkx}-D+ouVSLfNLRmM>jDZB+N;u2>?7vpT65(vZzRhXKF>$qk=#kNLrzv@WU zvVA4+`cl5_L=V-Gv?P-mG|HVpz?Xa=lF&p=S+*2k>8?-ukpN!5JGKH_4b7f>gvh7T zK|Y9A+DfLbX-aVRbAG$W7yi_&`HvrnEHt0nunkQy-Y9QMz8P4a+n0a{(GHHnsU$li zA4!NkH7Br5-#bnVu(O94{_y;l8tMN<6cIi(9m`Wq>onT6{iq9pz+7OV@8ZGWD->Y4kMUb<757sNY^9QUBO9D4CNl^GdlNz?bd za8W`utJ5PB@sZaFsJ~13xS91)a%2>6p?3ncdB)_Yg>p*A36cG9s=mo+EsvA<@Lmo2Ghs~8@P>hfRF${8= zW5xsmTmtwv>jWAivrE1P%X+Uf;VIiIk`c}&dS$jQ=p-Iy31kyyIGX}iSd@&faMlCH z%Ax`amw56QN46_E-}m-pxQ5V83W|c}uRTl*ZIcE_PwOp?2hwv5fkxgRCch0M2pbke zk*-!=_JMaxZ2zWU#>lM^?regISnjmQ3a3+Op3jYgI8A9j$&NTzcKri*)^T+sPcwGa@Z2xRQi8Tl8D4{= zn9?DP1>Kc`_x$GW1clyD{}v!vG$cX&6_^S0s=_MUH6-DT z>O3G5u96POa*U)3Y`qG$Q?ZbGf^zNv3+iO^+&KjzijKH^VI*8a0&V4(S_t&Yg@pGd8XDnixu z%@djYd`2TGYAXI7{~{W&);-s@wLVKx2<%#5EDJgz-%JE&J@Ayk_s<^Z4J>Oaj_d|K z%ZgEvs3cT$GtgYUZ$~Wz>#8(tvgr4V9|WbMY0HdPjh>!`fsb#SLh%E!1#{$m+1I?D zz=d&!Kj?rE8boFKzG`8ucn_}-yh7<}p645Z)7w}32!~2J{Xi5U!5~Yr<0*D)_+*c< zfM8fLyF{df;X9_mq;QY*A*F=o%2wcEZ@eB=Ayk+8!=+#mm~1GjV`%+oKp~99ic6fp z*Q~Rb1sir3$X;M!*srITo%F)5Y|(;D)sPfT!JuM~?N)3>_)rR+F!23evh753Y4JmD z&$E1>hO05kb$TCY1-4MpjuM8lriU$ADtQK@Tbw(4NYG9zMG6YUvKb`Zq9+g9CoMw5 z-30ZUD*g5stmLp>@T#1WccbCFF`M$PWfDZ~m8(rpYb~~`+#`Sz!{*hHhPWIXyjVPG$hOo~HILyPc=-(y5)MXDY7e_DI)P$|8S9L{3|7 zpoW;l--8Eet>!WaASmmOEvt5a)2&0$76DK(WJ5K2hkKiUSL?1fTr<8B`j*~@=AX^K zMre6TDEA0Hmw$~gv<%Db0c`W{YTfdB@D$TGCChF#d+Di9oPWXGk>no11%ge-uMi3P zy5WW)Y_xj-ZA8{e4Zm5c(J8xxd!;P~Xfd$UA?6#!oVo(5O@5bWoh%BhEE+*y$n$S;# z9YW_VL{`?kTnh|r$Y=Co*_1t>rA5``1U_4Sb;zKiSe8DZ%U?R$qSrs5#vUeh7AN5c zzq!Dc_|w%{qFnpyTKv&NjBnITDshd=GTUNP>^_1)7}< z;&jn@suOqtpO>z@qmumi_Cyy(lj6mN_&hLn5*+g-9|MuilF`vv;08w2V5M%F&G{s@ zN|szet|nU$W7rV^p12~v$>z|A4Fn$Jj%ie~ZKLcgGT@O(mcBCU;zn?AH$-A1GML3l zc?lgW*ey4MNs&yB7ffgmOLCj#II99gCJb5Wh6dKD7JF~27M`yS@7HmGlY!Msb z4aK@x%9iF1RlBQ*urnxtePLw~r@dNP$ouua86(g_1v_yx^lrm(4O?-R`t(ypdUZGT zhc7pdv7ymxTgXK|d=FlRt6U_K$6jGbdOv+&0pFhW_quDiy4q)%ZWnN5Sx(Dry<>1D zVYdYu+qP}nwllG9+qP}n&Lo-GoY;6Lwym3U?mbms)%|{SSNG~)-L?Cv{p_{&UKP+O zh+^o{tE#?wNpPSexhn=n2^%m%MdEO;n&OItv{X`II^CLqeD~*)_)dY)=qGM-cAXi`-WQsYbL&?Qh z^pX!cMq(qJZhCj`)C#;-X4DgXUo;;t-Ao@pJ`TzZTJaU*pKw_?CPjBp^h{Y8tM=Oi z4Dj-c@Ue6FNNn3ne(ReE+J~dJBo`-MR8St>3H}DZ7d4oC?s8q6u$=;wA%aNqiDuLO znuo%c+uZag17)4W+d?#NcAcXsI>Unt@{?uZvC6&Z?o_K>+XT?d|APiIqT+H-fs>>X zhK!$?@;Ky2kqd!&>1~TywUkmU(xWFOuXSkhNGs3kapyC{| zHIQB?f-O}!j=FGm{}}FJh4+7EkcA8|-**~*qhy@0)YIG(B{w(6KcBmqX}Q5I^2FDF z;6w=<#&ed#F;RPK#oybybN0qEL}(@dB~Fw|BX!L=)L{)pO8W7itqaXs-nE+Mwls%o zYmUyA=8y;*=#_)h5_XjLJ-{`k+oR{`^l1KjnF1E(Cd!^W8nP)(Dm?4H~!#?qVY_RGR=mFA$BVid!N>@MeEZEacG*5{9DF_{g z{=jr|z{y18_jxtl4~^G-xprA)&9ClMj&8?J`C4B)-o9zl4XcwRl}3OgV_4oMn*e&X^9YaYg~`>dYOfqejQ!O^}gW#1N3l7WElaener z(}K=X@Z~4Z(~VTz_*!DW{BRs3cE|%?hK3I1aW>?wR2;7NR6?C{SVAYCa}Q~M2GQb z5af)KD^<-u9dE8~-PB+v)nCEC{OfVNUhVMRc-y+Cp4_lOBXN&&-5{_v!fu})yJ5i< zd&fI%jm#zJnLx7Nd82Q%HEpZs%A*E4#>`$j7Wi0O}o93N3&Ao>&OpU<+K7GE!Q6S$rH*QEvII|aOVxO(^DV8w;^UMui2 zULONR9c)!yv9QFOp*R_BJv7-0qr!}o7p{wIfOruAr#cMrz%f;HzfAfreM5)P*rQO` zNzLjkE6X=Y@}(PJ13ChXDr-;@NTtj+ruyk#R!qYiZUJ7{nqNcZ#n4>yCphzEoYfHf z$s_w%3qkLf${V?B(m=SRDc169e#{pwc9w({A6X78+-&IdN+0agLRBA?MyrYRS9hmPdnn&>J(CjX&pbUDJT2dOu1MefAf;kH)#YkaG55S&YW zD6=wGe5QcyT#+flRnTDsrp%n2FnA|)6!L&oxar0BC7@qWbHHlNc=!m6B>OSN?40>)>P{rm4 z_dXW&<-EWBNz;O?=*}TtFo%7pjY3$j@FwM~640$hrk#R~@34#wP~B7MYI$f?Y7sbJBY4XZ7$-u8o>{Z)#$}@U)R0;qvf*H zeJappF-&!5o%vR8bwG*85M92W<$fj0yx}#k>AMl`=@*R}kMXv&_9sS^uLQj_ash#7 z_%p3^t1vs3-NK^ky0WnE7rS|`p&19w9PB72s*COTzX>1PaChoP$kDHY?|bA|HRNDr zkA41j1T&}+7G{-WRP$$}XNx=nCzoQC-ViiFR~}2Cu9_=2reD9@Gmm>khiA zM~OBL7e=y1Iu@kx$P4T<(uIn)Sylrz1w`X!WhlQ?;BgPAIy{4d3PQpd(^q z9?pC>bcb|9P?n~+-Nuq3gps)6^YqEM)qFG=Jtu=Q`__BhID{K$nd>}$?}^J4$-di> zuq{aG6uOO4Aa^`K(*U^}`|CEAR;QB+ZiCVXSiw&hzQ~EJq#~7Om@2V0~(6&dPS9$sB40is=9i z3CR8HoSWwZ_FxX-A$l%@mI%($y69A!UIA*nBZsMV_wqUs9OAq&c9;ii+yNt1+S(5^ ze;$c4uqP@^f&A=yuen1uG>w`GNaHgeTB@+N+1IPX@8QD%R^I>d+b#Kp1yCOZ?YGy*h1fH32Do+XGua zLUcwc7;%vX&`UBq1EPMG}A_^NP-VvoI92Y??4&h2^A)hm!iVugn~Zub;=gH3gj_>2syCC;sy~w&F zn$mR4Sp;@d@bL_um*QkLFiOFtGw&B80|O0F_^jwj!+FCd<$f{A)91tcEZNmyhHA3p zq)>daj}i#PdhJCet+xVUmr)0cFV+-o*TaDC(S*xQbEi6dA}9ZJ*_4L)@D> zdQSJH`mU92wLu+*x}WB9gLgZ_L=W)BO7T*{-bNrgjC$EWsQirjuBM)uljg9tzdFzF zA2pk@>K?r^!)>?zs-LHm*~d(_;b^x8CBP+pfFG$5Ti>WA{4|lQ%^ZYRlky#@7ANmHMQBitl|fmQU55j*=Ewm;R&tl={j z>W9b;7D8j70*B8%vk8plu!5~rMvyPm)Pj{(qOvZWg*ZCWF|=8(7-L}$IQH~Eu%3U% z2qMdZMViBDh4x(1&D@(giJY^h #NW9ZH2Pr;f6ys{|Tz3t|wW~ZQLXY$gNs*!jz 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 V=?Vy*0{A-xy#75T0dHHN{{`4r%-H|{ literal 0 HcmV?d00001 From 6b57552a217d742495067dbe8427e0bd10dd9630 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 13 Aug 2022 20:57:14 -0400 Subject: [PATCH 0385/1248] Messy snapshot of chapter 3 after copyedit check, ch4 on start check yes i messed up my commits --- nostarch/chapter03.md | 113 +++++++---------------------------- nostarch/chapter04.md | 97 +----------------------------- nostarch/docx/chapter03.docx | Bin 86139 -> 101617 bytes 3 files changed, 24 insertions(+), 186 deletions(-) diff --git a/nostarch/chapter03.md b/nostarch/chapter03.md index 416fe92ed5..c64f71d8c3 100644 --- a/nostarch/chapter03.md +++ b/nostarch/chapter03.md @@ -353,7 +353,7 @@ using the `let` keyword. By using `let`, we can perform a few transformations on a value but have the variable be immutable after those transformations have been completed. - The other difference between `mut` and shadowing is that because we’re +The other difference between `mut` and shadowing is that because we’re effectively creating a new variable when we use the `let` keyword again, we can change the type of the value but reuse the same name. For example, say our program asks a user to show how many spaces they want between some text by @@ -670,8 +670,8 @@ Floating-point numbers are represented according to the IEEE-754 standard. The Rust supports the basic mathematical operations you’d expect for all the number types: addition, subtraction, multiplication, division, and remainder. Integer -division rounds down to the nearest integer. The following code shows how you’d -use each numeric operation in a `let` statement: +division truncates toward zero to the nearest integer. The following code shows +how you’d use each numeric operation in a `let` statement: Filename: src/main.rs @@ -724,7 +724,7 @@ fn main() { ``` ``` - let floored = 2 / 3; // Results in 0 + let truncated = -5 / 3; // Results in -1 ``` ``` @@ -1152,10 +1152,7 @@ array, such as 10, you’ll see output like this: ``` thread 'main' panicked at 'index out of bounds: the len is 5 but the index is -``` - -``` - 10', src/main.rs:19:19 +10', src/main.rs:19:19 ``` ``` @@ -1545,58 +1542,6 @@ error[E0658]: `let` expressions in this position are unstable more information ``` -``` - -``` - -``` -warning: unnecessary parentheses around assigned value -``` - -``` - --> src/main.rs:2:13 -``` - -``` - | -``` - -``` -2 | let x = (let y = 6); -``` - -``` - | ^ ^ -``` - -``` - | -``` - -``` - = note: `#[warn(unused_parens)]` on by default -``` - -``` -help: remove these parentheses -``` - -``` - | -``` - -``` -2 - let x = (let y = 6); -``` - -``` -2 + let x = let y = 6; -``` - -``` - | -``` - The `let y = 6` statement does not return a value, so there isn’t anything for `x` to bind to. This is different from what happens in other languages, such as C and Ruby, where the assignment returns the value of the assignment. In those @@ -1618,7 +1563,7 @@ fn main() { ``` ``` - let y = { + 1 let y = {2 ``` ``` @@ -1626,7 +1571,7 @@ fn main() { ``` ``` - x + 1 + 3 x + 1 ``` ``` @@ -1645,27 +1590,15 @@ fn main() { } ``` -This expression: - -``` -{ -``` - -``` - let x = 3; -``` - -``` - x + 1 -``` - -``` -} -``` - +The expression [2] is a block that, in this case, evaluates to `4`. That value +gets bound to `y` as part of the `let` statement [1]. Note the line without a +semicolon at the end [3], which is unlike most of the lines you’ve seen so far. +Expressions do not include ending semicolons. If you add a semicolon to the end +of an expression, you turn it into a statement, and it will then not return a +value. Keep this in mind as you explore function return values and expressions +next. -Unmatched: BodyContinued - ### Functions with Return Values +### Functions with Return Values Functions can return values to the code that calls them. We don’t name return values, but we must declare their type after an arrow (`->`). In Rust, the @@ -2263,11 +2196,11 @@ number is divisible by 3 ``` When this program executes, it checks each `if` expression in turn and executes -the first body for which the condition holds true. Note that even though 6 is -divisible by 2, we don’t see the output `number is divisible by 2`, nor do we -see the `number is not divisible by 4, 3, or 2` text from the `else` block. -That’s because Rust only executes the block for the first true condition, and -once it finds one, it doesn’t even check the rest. +the first body for which the condition evaluates to `true`. Note that even +though 6 is divisible by 2, we don’t see the output `number is divisible by 2`, +nor do we see the `number is not divisible by 4, 3, or 2` text from the `else` +block. That’s because Rust only executes the block for the first true +condition, and once it finds one, it doesn’t even check the rest. Using too many `else if` expressions can clutter your code, so if you have more than one, you might want to refactor your code. Chapter 6 describes a powerful @@ -2782,11 +2715,11 @@ fn main() { } ``` -Using a `while` loop to run code while a condition holds true +Using a `while` loop to run code while a condition evaluates to `true` This construct eliminates a lot of nesting that would be necessary if you used -`loop`, `if`, `else`, and `break`, and it’s clearer. While a condition holds -true, the code runs; otherwise, it exits the loop. +`loop`, `if`, `else`, and `break`, and it’s clearer. While a condition +evaluates to `true`, the code runs; otherwise, it exits the loop. #### Looping Through a Collection with for diff --git a/nostarch/chapter04.md b/nostarch/chapter04.md index cbcad103e2..5f6237b161 100644 --- a/nostarch/chapter04.md +++ b/nostarch/chapter04.md @@ -25,12 +25,6 @@ through a system of ownership with a set of rules that the compiler checks. If any of the rules are violated, the program won’t compile. None of the features of ownership will slow down your program while it’s running. - - - Because ownership is a new concept for many programmers, it does take some time to get used to. The good news is that the more experienced you become with Rust and the rules of the ownership system, the easier you’ll find it to naturally @@ -81,14 +75,7 @@ strings. > requires more work, because the allocator must first find a big enough space > to hold the data and then perform bookkeeping to prepare for the next > allocation. - - - - +> > Accessing data in the heap is slower than accessing data on the stack because > you have to follow a pointer to get there. Contemporary processors are faster > if they jump around less in memory. Continuing the analogy, consider a server @@ -99,30 +86,11 @@ do the allocation step but try to avoid the system step where possible. > processor can do its job better if it works on data that’s close to other > data (as it is on the stack) rather than farther away (as it can be on the > heap). - - - - > > When your code calls a function, the values passed into the function > (including, potentially, pointers to data on the heap) and the function’s > local variables get pushed onto the stack. When the function is over, those > values get popped off the stack. - - - - > > Keeping track of what parts of code are using what data on the heap, > minimizing the amount of duplicate data on the heap, and cleaning up unused @@ -140,14 +108,6 @@ work through the examples that illustrate them: * There can only be one owner at a time. * When the owner goes out of scope, the value will be dropped. - - - ### Variable Scope Now that we’re past basic Rust syntax, we won’t include all the `fn main() {` @@ -268,12 +228,6 @@ we’ll waste memory. If we do it too early, we’ll have an invalid variable. I we do it twice, that’s a bug too. We need to pair exactly one `allocate` with exactly one `free`. - - - Rust takes a different path: the memory is automatically returned once the variable that owns it goes out of scope. Here’s a version of our scope example from Listing 4-1 using a `String` instead of a string literal: @@ -340,20 +294,6 @@ heap that holds the contents. String in memory - - - Figure 4-1: Representation in memory of a `String` holding the value `"hello"` bound to `s1` @@ -488,22 +428,6 @@ traits in Chapter 10). If a type implements the `Copy` trait, variables that use it do not move, but rather are trivially copied, making them still valid after assignment to another variable. - - - - - - Rust won’t let us annotate a type with `Copy` if the type, or any of its parts, has implemented the `Drop` trait. If the type needs something special to happen when the value goes out of scope and we add the `Copy` annotation to that type, @@ -655,12 +579,6 @@ the data stored at that address; that data is owned by some other variable. Unlike a pointer, a reference is guaranteed to point to a valid value of a particular type for the life of that reference. - - - Here is how you would define and use a `calculate_length` function that has a reference to an object as a parameter instead of taking ownership of the value: @@ -790,13 +708,6 @@ Mutable references have one big restriction: if you have a mutable reference to a value, you can have no other references to that value. This code that attempts to create two mutable references to `s` will fail: - - - Filename: src/main.rs ``` @@ -1030,12 +941,6 @@ words separated by spaces and returns the first word it finds in that string. If the function doesn’t find a space in the string, the whole string must be one word, so the entire string should be returned. - - - Let’s work through how we’d write the signature of this function without using slices, to understand the problem that slices will solve: diff --git a/nostarch/docx/chapter03.docx b/nostarch/docx/chapter03.docx index 8808e2ac1de1a893741c9a5451d9ac6f10a7b830..3deddeb9f641c72f28968ad968eccb4e8f266a3a 100644 GIT binary patch delta 90401 zcmV)PK()X7pat=n2Cy~?3lL-fW)=Pb02u!XlR*j?e|wYT#*yd$7jfSK?%24H);&$U z0k&4X0f3-qZe>|9Gq!bS`y@13?1l#fcmOy(ZLcHrA?}}z*!^<)Bv+Y*Hvtj=A5Cg7 zAx-xHWIeJnf0db)ne{LK`f2HLA4wRwf&cZDaKm45#GeIo*MIo>>i6%buk;75<{Dno~5-`42M$Fz};+X(P+>7}20S_v&h ztqIyDY#H(f+YCQhyQRlQzP&|(Z?T%tMD~p~Ln!x|j$}zWIPbU@X$r&@T7pm7fVk0s zIwLJNi?j_rX=60Yr5oCDTZ&cM4qFvyf5*)UE40MG>R<{DMDuw5*r^pUrRxa3>%`8Z z6J?AJEs}17QnKcrmjxQF9`+N2--N+>mAB^Z*V>yL5}!ah>CjdpP(>k+_8ZK*M`uNm zayh$w^WX=ebMMg+QSsm?hjX|B@Hb@?_<_HYPxu_xngfivx}#dveK3E9pDX%Kf4*Hg zq4S0^rD}+ZsN2RBKBaq73{Pd#lubi7>C;=P!Oh=(eZ}+RsWcUY?9qfQoV6EkzWELw zO*BE~E$n#pU5G#4#m^oc>g`8|g8lp7S;Ex_o`>vpI1T(bqOYB3=DP1Go#-r=E}ige z!;f5OoH$WzM6OeOX(!L%{Udy^fA*WRC@wrU-MP#9_Ji-jAXwnNUrWUN^|bd0e2<5lCHQvKXQNm8~5j!yLwHWxp6IAf5T7nTEw5$ zHT?)QoweD2SPj#S2=HJ`iZgzsZ$ghMB)|v$>@lF5`w#DfnZT>Mu8lPrm)VWtAbh4q z1+o`3j12i*2#jY>WnS0Vn`C)PjQ2Y2qLBl(PA0zlgA=+SgAqrK7w)&~*kP&|e5ip+ z#ZI2c{cCqVCw{qE=e}X#e|LYk4?FE{br&;zXZ*%~Yfrh-@&H%0;F?{%ACwMteAaPs z?xejIw_#w!pXXy56_}r43w*PT)uKI~>aw7ev0Bj$emarFmRQaHpnNm|v&ck)@?@0! zOkalX!($AsdK4oFmA83-|6B!hkJI@vpG+wI>g8kmE<}RGXhfu%f0Z~9NLkdZi5*Jx zD&y7+t(z>Afok98T4UF~9rb}TWgDFBH=tt^uom?8Ui&-w(Cl<5Xq5D^VT%@kULp|&l4J{IW-T!#W6r*e`r((Xsoc6a<0%Q>Qh4y1d!`8G}@{#mAXM=^5(O% z@OMF-cAii-abkx9f3_Laz&)@|8?dgzSK7H^onWa`f!8YDOi>z}x-D4Uunt>q0JcF5 zY>$old1B+cnd4E88_;o2bkqlQycBd)&51UdnpJdEP21LmOu5@19i;&sTchLnJkjxu zACm_%z~kQVI3D2fQs7aM4BO&WkhKClYBoQ%ruG1jF9DA_f0F(D;Bo2&PVD**uf7Xh zKORtWPn6X80VOLOHa=IB)I>p(#3?xUivdHrrOT7)bU?|MKuM(W`Jv>u>m>=@8TUKd z4vVxMFtR^J3Ij%73`S0Qs!Hk*tya_|Ws_Hx37FplMxGoaF$m!NFp^S=GlPIGlaFfT zfROzWQXCMnf5Ke?f36Uz3L;N+MmUoxLZo4ex^l>qngJr)LnH*f4XE6xHE}Lbspx`W8TON`ym1mk<^Twy`xbrelatuHRxa<#?L$b}~z@;=XL`zmGC)|o5YhzLF7*3wN z8S<_x@OP%!Gt;#{8{!@J#JVAKW&`Waw)~E$E0RS`=?d0S=u)RsJP;wWa&Jkz4t?$qj<+5HAoqdGA&q7OF7>m8OGC3ISp{G$9$zbyF>hG8M7Dy< zf8@>JWURp7nWn{9!E!i$-V^GEWSA<{iD#P(!>h(b5sa!Ct@EZOO@=zQ2Z6e?O>Xhy zFz~pk7d#Dc*B|bN)RqmnJKxA{QIzRTL(wZkMrI)D6+lf0ZGK{6(<(#91~)Mt$x0a}VOge@mCvg_J|8 zz|P%*uabBX;aWj@HyQbi@Nr18*}%uM4TV%qs>Jr0o(}kUa(p~-l1-6O ze~(Et?t*iD&fz=~x8U0Y4P!smHanglfV)3%4=FzzzjH2Kf2M3q zEps@He-Yq5)0CgLWJO}sahZzyO%SXG2f!XUIpq3m;N> z4sh5K4t1d9N#U@)+6Ymb0F{5hf51&{5eCaadE5&vVYLUetfJ-FhP-RKC{JajqCE2E zR2PlmMxB>IOQiAnp(WrV_l-0oq729SrT-e}I9w5Savnch)gtk+GhK3~fQQgoE?K02KO?J3I)6P`6;-wDiCT%u zlgENM;l;A@ax${Me}N3$mnQ3bs%>yHHXv>md?X?LXF^vlesp5aS*-|_HV8cSmO&JA zgnsCmTNM@px>`FATirwjqI4Nx!xr1r(|*K&0%DKB6P-7Oh^HX@0JDC(j^Z2cw~k*w z=ZJfBJ`!%Zo;|{+XN*mqt?|y6KnqF(7dRp$H{7>@Pq<(Ke{{*214rP;WDe7gi)`eC zgj@UW|6LO}aRK^WUph7J*D?1*e*Wn{Jdc~Z(QF-obdV*RJ5mKe1&9Rm#Zq+S)5>%5 z_a7;-c4c^8gph=IY33R;66oBboF{HtAhBppEYqweX=|pc36_NR&k2#(4Cc=-jll0# zWacj1nd5oSf7je|ux4E5QP8D0avxC6`{;zObMKMpn!9%*cgDq35qF@p z&BaR^NDfF76t7r#!P5=*9(im5T<4?-fs{b^1cZ-mMksR$I$xvkA^9kW{sLfl$lW-14?Z|*O0T2y18^ul-V=Pb`F_bLbe=t<3q7Z4xpOP3Fyf7)Ko&||Z z-fR)CPoSHZBrMm<(Xrb`FV|o3(tAO@mBy%-V{3g(9YmKN9d4apsvD=czmlZ+9ueuGNn*nyHQFiQ)<_Y5M15@Pq!Wv zBF0|Jw_{LOjsCR5tbNsQl+3WSg=`b3j-!b0fBvno?mO*SMKyK43g5P+Ol`XyyKxFF z>eC?=DT-zW&t#%u<*7!%w*1rxqc&IsJ0d|1yhOi^<~Mi!vbX$A?0D|1x;90bJoql( zAau<9rn`IcXb#7XRPiR<{Z?Q6h3GZ;>IFWizGy_pt zQ;G8__0cTW@fy5Y|0`HuI5q0~qG-r103RLBb8Fy%l41L3WL24}rSpyQ&iH*u7TG3W zvaB#Ps>=}z)%G$~uY2RW3{5nn)`_}j>CL6m1c7#SHM_?-l}(z?-FCHf8*eK z9eNkKI)o{+X(}f4HY}bu8NFLtH~j}n8365*W~<<6#I7|IMv2~DXZN!R4rcggJNzrU z(Y;!(W9QxlL@PT2O5aB9oPC>x7$};eE1JCJE9h$}eg!i`t6$084MGxfQ?WX<$y69) zDa}&RHd#_cvm74T(drN^Nt#v|P9XFaNG+CZ z`>tM%ZKRzL2;!~rx3rlS9bmKMfx`zrn|!Fi?DR>^xON?eq%NN#SO5Ief4+-@uuy;m z-HjQu|NPT`RcLz5<=nD0b5^2lmdtI#`iGgY;Tf0WtA$K##tj8mX% z$AD^TENk_fSMAKKvBC?TAwM0rTSw4*7Wp15whlkpHH&@&j_-mJ=ZCSR9uT9>;aA$%cmW_bi+Io*h(|0MzCONgrX*K-J?$D=w3Z;bG4 zKMuI3(2Xzt;1Um`XHe4;OSeBc$ysIWd;s#yKRSMlF%ayue=c$s1kQ3He%y(kF|-;_ zduQx>mrf2`7o(o3X$bMHc*G5a2v(S7PuXBeDaFq8bGAwu>e9*a z4T*pL=|3XO6@WNi$UcF!e|k)Un(4yRnPZ+wA{7hgV-Th?#jNV&8<$RuC|Hu%g~%6} zDm%=7qT&Iwf2Qof1?#xH;G_E3INlOWMXua>DJ!zBPprL8scOvNLa^G=&ER5S+}$4^ z3E)X85&)_h&R%nnkb!TheFm@YF=vC)(ZSdvCUG;zr_2{a-cAzO*@AoevBd6}J_JP^ zFWn^qj$#32e@HvV+@k9(W?sqV*;nx@4KsO|XcOX?f7)7O{PZ+#Lnp_mbHldCsAMXotL>kF;j5#J`+!4;XdyL%N z4QV?;_zc<`3r*YJ<}Q!RH&o{d9j`jznG-$)$N@W-XFm{bgRqjQDAHI4%dCK~k}jy? zgfAzLe_R&A9@I1So+9*h7LN!^_af5Tot5eKu_C*I#rlml3TLCGpgBRBezH@9Jf5KCcXmr7HoW_vWCD^f3_{$yTll`E&L<-W zhJw4>T5%uMY8$+vi`K-3vfjm9Cs`9kK`EEx*&2dW(yOmsub|_kz!7=Qq7H;dNAQuq5pHg?oWSOTCHV&0!@Uee{if7~WzI-ov*`#|C8$(>=rvh27zKg9m=(~oV)Eoq|2 zW47@??q-gE_3D2-#9wg*N71c(TfP9bVMnkOx`SfLw}HM}5ar)n&{7-ArfsT~qtee9 z8bt2j!5Zx5DAM?`sF@gIJ5X^OMeGN8so3&j&O}t1VaK9>e<~GP_PqA zG?qqvvN1Qr3r8&YsdYOZUGKNVr~4q8f9E_9lTPsi@Y zOZ*v`W9khZjN?NcEiAiFvY@(DP|6}&4||$4ol2rzvHr!WJ+XKz_ZRnpJ$8C=GT1Ae zz;sNU-m6?%du1V2l%*N0wO zw2n#Y9T%-W`gUW{T1OG)n<1UhL=Sh@43V+axLx&f8#RD>7=_3%gtkp3w7+N zfj)2A{q|I+_82y^U+G8-;m6(vMjTBBK6UQsu&PihVr_PQkym(i<0g4gnrIVKGqYj# z+4*1A;OVP%yxbxu zd$Yiz5GyEJO!wZbYC^EW^j9bufv`hCa=lDy1K|A_iB}D7$GUV%_)rZY<8r9v?z5XP zHmJfrlV~MKfNN@kA~&r9x{Xx5G8agUOdn&%11SlZe=`O0-;!J>YG$J;?n1GERG8R? zIuG#nIHu8EIz4di6bL?m+lc;yicRXPnY)XHJEQvp?#-by`#`7uL^X*8T*rwtbY}52 zN0Qq$yh|??QQsHt7+6FF^(SuSQo9jIRS}uY5f5Ih?c?j2<(d|~va>3D|0V@yX!y zwF@X8z!FEO7KOq3;qj)*YITuxnrQMS4<5Z@f9$U$NVbWWrT4Z{_^~3W*~RK7^-uOF zI9z0fpK^sX+oI2U?E})B5&XheK5P zKFoTaymYil*`Sa_kSKa+1X5jgvG&--Xz(2CqamU#p@bN_YTQlYXt0J}844=HJ}Sl~ zf7epu8Wk_3k(2vn3haWEYtJr%dMnqITSlM}d3h`yXhw!dM?~SYY3I(Jt8(dJWUm>t zcZv6#>sI$_UbP&)(W0Dy-0=pT!!O<4$88**G} z1J9|1tA$W?yglVyg(^2TPk+>R*H~D#f50IfFAg~shinx7JDOxerPgdeZPDp5B;c6S zi{U!ZdY~wEDhq;ODW{lT($hhvSKmEld}oe9t)0iw^NflTxN}!6&I?_iTZDn1c|bGO z9IAOXfM`LuJDNlw+%;DrRJfx*rgyYj&K1+YdLcY-&_P&K;oPme)uc3*ZB^YHfBC)c zCXhnu_NKmS=iQ^P242I;><#uterZl>ZIn5A%3DGS=gNbylBURlgb)>$G*P-+?dz-e zSg-h7^2EIjmW~e-#kM?8 z3;5_SkU)9N1jMr6CuiYV;$JFv7(Rjrh&QF7jcU)1l(8bp6a6&B`!2Q!_>}5(Nk-5$ zUB&?x zeymuau>1nptZSg!g|J!In6#6z*yoCMy&0*KqMclx+{j4hkRpgzT0W7DQr&*=1Q!8erXV=1+Bg>^+cX4iQmGgy$+n{F z3ro9*CPqXP}R8B5ipgewq^JBEqy+YfT`=d(Ic62bMle< z)7po-tC#NI=!0L=NB8Ro*IxvG;bO}FB>p1$5>CGO8;Nh@;p0VhN}+5h(z$aLxVLNH z2SNCe5qgBA&w2jG7St9bS(GNjjYJt{*J#RZN=Q@ekafzoe*+zx>8Q4#qpYfisG*an zNJndGn!IlArlY9K2D)+&LB~`_Y$VR^L-#+zA!A552hNFDl6GmsVk2AKiWc3-_v8Yz&)jlJ`-oG`DCa#I;t9t*7^=JigQERr(GaqT$0))}J>UA0XjZI{l; zQ9|#?pgh`?8rrFIc&Y18%it(;!F zYruC5VcHL;>p51drP@Wm_QUIXq|=dFgn@3mv2;C$IRvRX$oN4;r9sB?AZ@irx_$#S z%8{|j9#qzV(-75sik$ za?ttJe{$C-v83*U;KR}hKNR!MH9YTt_~Ngx;1UF=L>DpJu=eA~IPBv;ybopquV{)+ z|KIWz)Gvx(QFUD#SHF@cr_dqco61S2ph>2QXK4k)PnJZ*nBdJO16m#P20Qj? zZTP(=&Kwt{!-T<`QC-jZ`p;$&ZoBsBk|Ju&_ ze+A2DB<|ebVGl2$hzI&UlR|g!@5~G8U^>)!xOEP`+rUh*u6flT%l$(QBz_{q&*kKoNFK@pnONMEx*gS@yNHIQC}t(>L7vdPbu8s6-#vEMn)8Co zP0E3ave(R8O1TM32NpOGoUBbtd@N6Oe|tYVIPEf?zu_`{EuYF?*R3mq_VequyF=%$ zP{}$gK=boY{|_$5Nl$^E9LU>CKgVvipOcvfBA;)7>xkv5wXNaXZ&rP8W`JSty{w71 zmV><=%6ca$i$@u;M-Db#R)r2m8dGf{PvnJjyzPDT+p(AJS^J1MzaOaI!)8u5e?6+R z&Tlw85v_Do(0jXI*wNs&>{-h8u2NNfRO7;9KDT`bS+@Zt?z(z##HI{iTMw6(+2$U9eZ@?fteV zphW#(A~J&|-ch!sGB`t3C2TE0OvxyBk#N`0 zQ=+uIcxN99{a1x9M-}=?UpcH}*8EGtdi{Wd?RBG)zRDDv+JdZ`yO#l9mxA=!sZ2{E z=f&RK}{ugsk2$*u98>S{js$gZR=}ndPb$2#R1&bH$ z>YYuZC8~U(UfSl~QJz8i@G!x49jF1bN<{E5q|I&1^r8`Fnqh@G$A9LcS+IiZ1^k(} z#!w|7_k$PQJ6`(k>Cv4%e_}nWi?6hgWv13xeVbbZVaa8;1ahP$WLU8kpD=d<2pN;b zHcY7UhAt~utF6FuM`RoX?zY5JNY zpMW_c(84aA3Bg+mQbzlM3x6oHrI&sr6j^(7Mgpkw6D(J2yjLuSf4m#GlcvmrC8eZC zWL(o3i!Dr*l2UNIGnTxoPG>C8TB~p!z5AiHQphDNj#ZjU`joAC-Zf^kwHrx~W5(SJ zly_Y^b!tDV?niS?^y#pcT>`H39>HH7=(c~r)gh&2=TWNOBmAszSX~^rN^P)&pN}o( zg|6C&dDD@0w^*fvf6i}ftWqU;Rn#2kX?_=dOs)i=j)Y#6K?eI)9 zMPFLG^k7l5CPqco|BUmKkdWN_*Kck6hu6RR{o8jxy!rNrceeGrZzu0=xwRxhi4LCo zXZDxWrci>Q^J9Iyp~;GpW=`{>p?zpRXL-}rE-NBR7Q4_ z>={M*=-tC;m4>Z}qNk{yMguK$)n*OaY&=PmWqDAhieTC0e$vYllbe&XRqfD8xxFjy z&vC;T^A+1YR&h)%sZtDixo|o)>L5UN>H0zV8tSFP_pxyL<{Ok+x3o_A*xnI56z)aP z0}rxhcv~#Pf0_~Jf-vrWciIj?IQ7i4*s23CWjz(!sc;9yfg{GkftMpC8EQHh^yOA= zlxovg&!B+%t-o{cEkXz2_|uJ(O2aTkaN4i}vfH}bBfg{6Xzy~5%98$cSKc#tG^xJx z1s-s&m-i%ux9oOdJh62+DhTVCdt3OfnY`FJ9RW!q9d+xE-h(cE_Rk@GE zZ-mtxoeFg6?%-1zE&!<;>|F$DFH~mQ;4&oASXJc%@`}1Upx6yrhhFYoYtS_)`=Fe3 zkd5dLe{K*@_Zon@oTc!1BX_QYyPbtaI-bX^S1S_EoQNe5zbMYFA@DGo1z{l`7{byj zv9cv@>Fz|`Aq3^|^;_pYgI7r4|9mvKJePWy3o_a=8j(Nyf( z52(9CcYne$#kAe{diYE_5UhTD9UZ+V0Ovdce{0;y%^^W`$|izrgUIAz5|w3WvTZWQ z;2tT@9r2l2HRz!TVHd$*aJrQwHX)>Sc<$1L6G}X}ZF~93k+f#IuO-o#c#?|a=D@R( zhB0^qqtQ9KRzZX_!TYs27H5N3sh~|mb?z6P$&>Sp$HBO}QyzAc>M^)o#$bS9W(f)1 zf5r1PM<a?ybtI#Ty`rS(jbY! zgo-kCKG4o16irdr%QqNSqT2+%dyHSfg;Q_2`yYP)_M3{2I_tQkPuw|eR;@g#T_O23 z{kLB9M+%Lh2PJ$$Bv1HeE+A1UpT$A=e@qG165aZZ^6oK?SJCZgG!JGsA!U$Pfbcg# z_%I4nP8lI<`~ZA$^B6BT0^hSav>Ry8qnHMIf=0d!;I?m{{<>s*%Z$GkqIqOh^pNwv z!;()0EKXw2sQEExRm9j?Ut+N&c~F(n<=Th9_wWWZ2RyTrrz4THW3wkY9@?!)e;sDj z9gfFk-d6M}7Cr;3+=a4npsrN`yy_;|52qlH z@#W!nPppOf>NKji(nW5t2z<%Kf7W-Q>!dHSPWr9?c0?SpV!WQ_bv0xQ!Qx@IR#J+0x<-Y;rKBO z)(?;1d;mbnWXvhz4=XJT5XA8Cl9>wq%6KY^Qbrss_l^idfhUQA&u;$(NQ&wIl^cL> zxHpg{bPhKm??;VC;;rytf9BEoNLa{!;1j?X$dF*049i4;?5HP93`l`@##|LHlI7wF zQI-yzB%3CfjVn-3Fk=Zgfbm8di^@7}k0ASo`oN+t=_jfWT z@ra1kR*W8mCdIPQnsLtmb6=^K8sV8*9}NjE?|zTX~xvRtF(5^?A&e( zF(Oo5BIhaHz8}_*f5u6vjh0iqjswb7pxSPAPiwrW6cV^u_nIY6%<>UVY5aBdBPjQ* z;^x@C-VHa%jkvv|(vcr4X9m9Vw0@RD6`{7-{rwcS(g3pS1+YRH+JCS{taxFBZbtIa z4c2f-%0796Cv~(-hhkxr99bSQ474rVEucJHeqF+rAl!B*e^T|OtQZV#c-=aW7NRmM>NiBxgR^@?4ZRr+xMtjcek zdxE6wKopo-t-jLRGaSxF;ETEm+uZl4j8%E8?u zrJ@3VzT|6=Z~BKK3ipZonp4{3^2&m#jd|%jGSc@TYyIpbLzH=IVhv1_e5SFc?{0Sb z#QmBRTBV1}ye;a}i%-FC*a~e~RZXjMf6IVFn~c*2)m7UNruuZC=1yvsMe(0Gv5hDy z>SU~%e^p=gK;C-tu0q$3J^xo-*H+VkQ;b^ZWNt|G4_H%`&Ky zDMdtS;PRcz@Q)VMlnuoYRQZ>>zf1&bl4_8BHt@<;UTGHBF0x4#V3U&j;uYXS(fh8A z2&#&z2xGYtsH@1js*KG`zKx_!JqH#Phygjwf1!NuLe+p0*)|&P=^fhtQgf`AnF+^H z2HD|ubBwAaJ~%CB)cAlp26&p0IRcxSstm86x9`Ok;r_Yc(>%%;6V-6vk!C(`(078+ zeQ>wGGQZ*4o~O&g=t;BX){JhaJve=v1JMG(es7CGlBMWO5vHw)+&IOKD4Z zaWQ5a(sik55G?yDKkf!er`UcJl6Hs@Xx{oC+>b{(w>rRzA6YFCx9!fKyNpLX>uY&Vj6qqwz*^tERe-NS+AW-*c`ofOArmy|emJ_-(+KXxWP5@cy zi9psLY*CrDat&HHMrZ`sx0DymK2cM7LuOT8GD3aE zzKMU@8nVVuq_LFevaj$Wp@E2;Yh7TnEBKi`%^!$w^w28$K3|mqRv2vU4unINj zB5&6|CS(1`2t7j5=RE&o8){E^e^pZPdV+!4K&^JiOBMaK0n#m1HKD3)PPD6dSq@_er(pF&ri@~dzm3JcRY)#spdJYwDMe=Mm7O!4%F zvY1Ydopv@P^%V# z$Ei_Em6I1P&R4#&Aq;~M^028T?#yQHoN|xj!3B09USbzgevjM-pA|^Q3WJ3-n_y#& zPdb(QHuKp1Q?dFMH~2oRf0JO>4QHka3FkbazM9ZAupT60tVjrzhy2IZt;gtfElNJA&!~?vlbNL+(Y4H8Qd8XPGwm)n6ci?xCDEpcQ3D zGQTPHJ8Dpm$EIQ%6*EIpRCzkKTbLQm38)DPlQ%sRP>UO2$D;AVfB05Zno3%ghn;M9 zsw7A}D;0RMg1hxSfUOf?5?J91)wEptsUU4r9XSX_!|_J0@Td2}mNxxxLpBd8UAqU# zQVQLVgl_A2cFB~&Vmu4WgnYs(muJ6q_QaFzyDaBCI4&IX<7QO1VwVJ+Gge;*kN>F& zlBcw$yG=;amCmxHe{Z-cRRxpl4X-gFx~5FrrBNa;O7#Iw?CGqr6m|3%JaO~P8$lhHMhVwntyytx90b&03Y{61%IF$l48v^-7x6${rL-9M8zd6_%(M$A6&Hwe+iZ}QRh`_pl>(&vR`gI z;(yU9@>)>FnyKngzNA2AnU`flw14SA#7T{T<3vWVmDt{N3l*$b>%pO@g_XH+*Go_> zt)p-Wli0Q!95lY?4ylz?2nA~0aJerreq2W&C?S@5WZpz-Wa2Bhp=}9u?T&f7e?dLsTK_;|5;FW9*`=a=QzvB9w0lp8S@~ae%&$GS9n5iW|W0 z1-E=!A*kRQZ&h|gmnB}3hxFA}iWr>A^-y*vHa`)Ce<9y+Cyje6x|(c{4NC#XYE6VQa+KAb8LnLIOO%fb}w5;CQ2tVv6?8A0M zckIjl#r}=IU_W8=WCCO&34oa(0Ex2nV9C57GtW7B?w5JIoEC(C*!5&B!jj<`$^b1@ z`uA;vo^EQmj*f}AEgbzBq;2F`HtVVWoWYNjd|DzY2PFe!UdV28D+dNN#qng4sr!rp zfRKgRRrclmntr&rQVwppN8 ze>Qpgm!w*NQO!&iop{omnXCkstcRi}?v$BKEhV0r43FH)KqjxTz!9BFkATyVDObMGyCQLKyse$HeGD9W5@O+bhr~DZ0e-+RIb8!tBX@<53B9juNifSv48-T*nrywnI z9`P>f1nHxgo|oN`{2A;z{Fs24oMp(!!I?)pKL{ec53fKg$F9R!mVJ<5kR_zwAodUw zyB%jI!Q)Rk=mMcd$W}gQ9#8Yj4%3Jl_@&|Nfj!PNB5Elfj#D>{NNf~ZuV*`4e?F#) z*639SZ&jEjnIAR=R;ZtKusIWif)j;z?5+6|TC_h!PVV;>{TiR`Zcvqq+hl{O~*(@ig!o$5jf20eT^WC)Q zsVK)7dI(LV8CkweCh1LzjD;K~YT;S+IW`>D8MYY8o|6aw@Xd4Sk3}w1VL+TZIM#RB z&is+`&2^rv^Ghk8#52Uea3jWSz62lRd1V9j+`up*N4H(J7qk_+ifv<)<3zbZuU_7N zPLd^Xj5*vWOj;%HhzDU9f6)9hosfcagk^R@AT8B9_#7L2dLfblQ6)8GFr}ATipv0D zz`>{T_IjQ}ngFi|l3)*;_&wxUvJ)ZGp}Gd_Z|-Ui^b5RmTMS3!;0*djmnH_CFEUx^1=0#l@_wII>>I?iFHeO1Y0ecMYM7dCjB>}QrFiaGQ5mwx;I1K9iFStR^<*5zeuwaZUXK&o zHe{F3*U&hjmJ+jhE-B2QYbuJIUXLiw3Sofj1YJVjb`?YM30%#MD_aS}gK^BuEYDNi zDY~qYDQmtb*#g-Me-OPrB;-5RD!jopS;roV%!pWQ=E*9ZJTQPU6KU_saumdn*4kWt zGemTM-yo!#RbUU1K({94(x_oUb$WEst0MHeI8a;LT9i!;4tKUF5Vg03Dx%7%>G*A* zl-C#F(JH=iF7Qz9SOEiIyK=zr zG^^=)knTHfz(;|KCNWT~RfS^|D!N^Xjq_jgN}kdIDA;cm`O=`EaQro2B4bMW_1DUg zFSc376j;EjjGWO9cX_kJ#Lu9x{up5@CyAI}j&*`ZEEy%Tg z5Ayg@+Gr}|TI=dJ=UBgc@$#JHO}_Z%C#Weas`3AUe{Uk7EIYD-U{Hm$;;EjYYaD$k zntPock!{lmzQZc@Yg{%x%@$ui|CP{UTOX>Uv}=rt_9yqN2eCc}W^I~xSKOSUx@6m3 z>O(KOimx-$YLH89sJN55o~8Sy*H^euy=+{L@G(j7T(}A13+xT6H}1PLRT7m`Aio{GR;W}8w@}wT2+!xA{($xP8}53rCfv~ z_g%3(qEb_Q&C;L8Ew`hux%9Up#;C;v>wK>_>8u)eYCxB&hZZ{6GrC%D8(rzU$lk%- zc(;>$Ej7P2ALgn4l}%F%t>C#aL`l_U^{;BHfB)r@)jV>{n3*_hJz#akS0mkFvbmq> zouT)dB4G8>;ef9hA@G_w+xZ#3E&PP1(pT18MKR51S}mCXUFnOh&mIj=!w5}N^`8m% z5aCu!B_Yg))Zp*rV7h&u2Rxh& zfvu%}GE_`UF@0epvlD8lrMhIOh+(AHbBPx~=r|ZkY7rb=BCA`Qf@ z3FUel>P~dvO+~iv164vWS1V9d%@>waomd976j$OX0h2&ky56Ddf?3Z=>-KuJMWMi! zIu!0SIE)3rCz@i`D-n!dck_l23arjid4o7}BRf@#N7uQ^OwV;AwysPGT|4rEf1~Qk zY82JSRe9qMlO~U`*8b#vtrx6=tP=dnVvQTCBb#Mbq!pi&@WyQny7guyEmtWbkNdJV zgRt(V?PB400v`T!u}V&3=hpYTV^S=8pqZ$dfm&i8H7H_{EW$MIZxwULY9d% zkM9u#C)xW&`j?ZB{2=QoPe}NNe^^q*T$MRkvhWB<^+yN)v1nrO=gk}nN!A&uSi*x< zpk}G4Mmw+Uvg9K5njVgb5>2l_$zhEWyCL>9N~i5R*y`KYD4FljEYPgeC^a<*Z9iZ; zf_kA5m@-z5J2O8^mmM)H9W+Y67mZTL@KWE(PNn=tkluRNC=0@&+i5)Ef8yHL#c6q^ zd~@Bnj_s-Pelqp7p&vR<$e2!srv`>+wYsBv7U&e28X~E<_FKicREg&XKW|vgV3?BI zg0kBm&5>MBj{_-2yTT++kZ5VPh-akOa)FcqC^Ur_H&hxybiZ|dM!pT2kKa<%3{Ppx zAZ!Hse#%}YO|W^-9Uk14e+769a9$0UNp&!fil?mO9)`~_kD>3hP`eW%dK%oZmaoX( zI6gmWDINi}S-_NKbf-#5#V@1=JK$k=tbsYV7-|~20{OCP8sikFQA>5x9WJ-n5-uL> z^OPOx)80a>Shs zvS~Jj>Bvx*%ifz7J|g54CB)j`@iH|t2*wHPP)l(+0{h@1y&kX4p=$Y>rjFB~jarHa zj+v(sGI2v3++E9<|rGvD6QOAwpyALQ@F^Y*GZGTipiy&p5 zO4T-);&rk$)KWQU@#21MLs_5j3O2%9Ld9byBa%yE=r%QwLDl}$t{$P6g=QCjfQg<< zNmHfkbd5Wq;4_{}Z}A9K?M%Vb{dlQVWD{fit8r%c`YZ+gf0ovUN*6S^F-U6{&?N7R z8RGHSM7zDRo^$;a`MWW!aLvG#=D{v&$p4s8xV1N`UvZxH=u+kdxTn{Ej9#sBI2H%7KVvYm<+r8;$v(0=#yItmED{qqAB=4lP^P7-(z0;i?f)*#?C6aT#;ML};H~GYvrpVW+7@rc&S9pgP}f{XvwsOnPm2l#yV{-r66+S%=fc3y005+Sw zLVtzui+t{&_%b6+w;Z1dl#C<36hqYvpPhQAsirDBxS7`z5?`i1lK66b-3}SAjj33! zYU?M+IG&!@#(H3{O={|cQ=u8UMx@|87ut6yyHnoM}nz=;s>h3#A*yZvTcvFFMK)@EM84+2j?5Q;ahgV`fYU2a_qopwSQqJUY+)}KlmdsYWs(w7aI?kay zDfzUVrIU0m0g%rtP^MPIM09KwWq-F$JS0oG{mC2^hH&H|wpYTm{n`C?5nLrOuY8@s zs9}uaqNPJQix_w2hBCCWXeUGDz=_%(wl@eUt`^Dr7%IfReEy&5qUe@)m#wBbj7uV5 zppHxiB|)FO_+x_GEWTfm@?6FYrc2mEKVRnTnMyX7^I^5xsJaXMaHN(m*JyBGrCzahiMPn>xFw6RUvSJ)h|}jvRu=)Lyxu4t+nWvIWBFv2F4ud4Q#zBB_NP}=$$yt{RR-M-$93v! zxlY&Yh|>uGx?yVwSyH-~AP$Y0(jAEGK{VG!fycd7XnMBerP&Q>et}zJl=QyIp?&ci z#Csc;>&3R{+E%6N80`Xt2e{GJ&*)KoGzj7(1Q34aeu=ru_kx6V3WHVbR5^w zt{;RRZszM$k`RQ^QDNM=W`@2fkLc9blUj<0I&r9opG*Xr4fcBGu}22fL(H8{Q_}r? zcHiDaym3EW)!n^F3eRFkde{3t#C|wvbPN_P?+A5+8xfFLA$-#Hu5Fj&_>KC8#}&AU zHV7}$J(*C1$A8s;CAiuw7T`qBZUs7U$BJ&wm4Oefj+NM=;N* zcNm#Ev4qnbfYO)Ge+7bAAdQ%0)>kP7u1?uEa_uzJ2Iw73>@}Ba2(hpzibych+xxrK7YI(IEdK5*IwzRty}x!)#~__ ze=*PwuhU)B+O=vJ8MY_0wH{6cT_CC%+rtJU=$pWuev1;OGIytfzNwJBl30qu_~JiU&_sq=;gq z*K_f;&+n?G{e+Zv=1x`_`AMWj#N}+!9Yew|7HM*G#Msm2410r}aeTmWab1W~xDRcz=k*AWlJSMg;$J<`Fc*InJ$1W6+IE zC92Gp8;s#lONlcaF=eaQQ*j6YLGN>mpbkvU)6G%vK`qsnpccbYuV)pXslvyFXf%t@ zs6jWc7R|n*%V9VQnyICD(EJWE38xUy%T~$DOGucOKBoC5o=JHEM#VZ?fd;#$?+VYa z>wgmj2k)p#<|T_Ej~E?$J9j))4ad2o)KXl=>lSm;i+4jJuU8QCb#;GY6durZ(C-Y7 zWnr#$Ka&1k`%`&>2na<@4`DVoRNlfKfgp8c9)GChj3TtAB&mLt#M4*Op!$>YPL^f< zQ(cw5cSr_*U|8bJdz_RU&tdux%$|%(AAh%W8&9QtnM~4~G&xk6(G_+FLD$u$IAt+=wAQ2lo~OGc6gQMqSnW2c(&>rE?d^D z$(9z76rk-EHCNM#UvZx$lrK__-{RwVNwV8zg$oTa%}OP1=??DU#%+pEvr_T2lz*<9 zAfzF}T>+4n(p&5)1}6+em3PyLi4=w+#@!SuwaSp&DMax@&Cu|CS(-vz-FHILuyIGk zN7pHw-e{^qm_ARZf^#1^or*kye+-qbM27CLE%E9bY`C%o!wv9*dub6BDKfekEaMDy z(+Z9mLq+Yg`38(WqKC1MYKR;Is(&52B3*inFp?v-+lCfdz6??3CkEZ{Qw)V<%}|A3 z)P?4%u2OYvyO@Q^*#mb}J-qeG;Vn(t<+rii2k!(A+6NwhtNU*vKIWmPcS42Yn?J z*Qni`$g_ZXIQBbruZ~9aA^o(BR(wq{jEG_2BPmq2u6lvSihNZ;uNym*KMCRSLxP!5 zgW%{;kn%JHNBtwKmn?E*-GA1q>s;L?pJD-C-+Aj#nKkR0sam85D4p%6`>N*YRXhKy zVa@WVo10!3tEuURX-7=6hjAFI>Upjo1dId6QY=M74EJd<*56OotvY#!D!Q+Swd#tY zYs@-V89?-zsdjC8ZChq!vr3H;*_IWMaRFZ;Q_ZYu8-%V*)v`>_^nVPHP2;;d?7(&m z9cr^__n&DvveP~X;q;iQmoDPfeKS{8I+W~wJzN#pRG!7;;apu~kUq23t}`I5P!A$J z2amq_o)vm7o|*SGvejz^{XqUpHH)JwcQs{A^KFk2UE^?9Gm;fWV|$~?wyc{rsfBw& z-1UB)NG~=v?nU{sg@4O-sO{{P%XTS(eZ2hq`kvHkbmHl*kKQ0b<3npbv-pmE&MhO9 zLx0a55tz1*r+1tbi=Sk3XcLJOg5E$@*Y;Mc#UpEXFR~b1!s{0HAyh)Fyj7e_wV}|! zvJ~H_)W~sd?%T@dO4>n7Cy)j}Hd)D>>AcB03J4O&gXp$*w0}c zN`FXnTaYLeQydeCG=YaWIi*70^cjQ#f#eKSe|-83x~*$w%NhJ)Q_%lASxm~Dp(ulP zb!ZRyBu&xfPUlH3{gm8Ezhv`x0h_pW7kT|VlYIYW{M1P{gZ|QF;a#py!D{iVh|BtJ z6`&>9${kkW)_-X&%@i#Mi*bHA|Jlar(4SOYvyfR6C4xF-<-}UMk{}GsyMLijLu; z8ScHF_Hc%~(ji{ZAghoyYiN~Ln8V>|w-gVasD?HD;i=El_EqEsDbmYTItR~No~}2z zRXgPE5`R`p_$l;wAE@N3wVfRAAz%c-AiHbr6L(aubi+Z?9M6%EN}}WBwmqyo;wkfN zo=ACy489>2#R=TdTWFO`e~#ZL-YSVdVEtr$g_MTfEoMa-#pBct-uoxXtdtTA+^9vU0an$1AfPE+~eb zUeCyZoeq8E8iGz{AP3es<=NCyTw|-Eb zd-pb*D6(N0wqeWF?@&&4v{13feR7aB!+(xEj1W3($7)pu5y_OxM_^tdX#p zX=*ANq;wFZ0@q>(XNtzO5wz)(9IOw#ja5O_r>|)P3oj|{KaYEFP3XL4x3D_>VJ{x zhRSZNI46H8LQSCu!*c4FPECx4gX!#rX{f-NRx#0drgJMqq2ZKOJLa`TDX(kq$E2LU zd0+JW!LxYrfGud;0R4a=9K>LdS!bX@Q9TcYC>x3*9s?u9W*ek%T_@|iBw0u@H2G(C zLvyQ&A$J&qT8Y8Ed#1~Zr3hP~Tz_80hMP?huh1n{4Wk7h-2FxvlHS{1aS{6g2-Bas zgh)MK(KX*tOk8I~@fA~r`B%ry(CUeW9C7n|y*ecDE3H@e5G9=ur5M_VZP^4&?k)O< zWt%nH#vaF@*qmc++r>>V&)k_>!h|P5iN*>3^O`d?L;z z)i7TjShCy1R95G0UxOp`MMkzyCYx2+w+}=JdLMEIV9Nc12+6yQ6IaKlKwMoXNKB{M zDnFP02+^!9CBgHKCVjbP_wC;PK}HSn;EZ-3oiJ(BnD1cLh#NsIQ) z46$+pRGii;+7It$GW{=VJ(QLkXxvgv8@_(s9?BLs$SRqkCnnetLTrn+ zao$J8GtSP6#oC|FVHn-a;uZr}7cb>#GH}CCHOxp93!MyHYAGHAm&P0CD1tuEB5vbe z6>hd^mJI6v>VM|zT4aqws=3Ls@E}qS#BKgkoePf`%jeQ-gg88hC9QTg>l-kKPp}Kf zW6xNDu_byD4?G$E!!fME9=b>bb1)T$1t%(kY}old{D*9urc!c<-_W;)ZJ?8eU1)n>9S* z)B&-LgMZ^_;WmecTty@f(dnrd|HB&1N2p>Lq2tA!1>Rm zUy|8990`{@R&@j{4@+h*ZKG8w2!jP$pUjR~NZ1E|UfJYDy`7|asw3msP;_U!KsR+8 z=Z)rqcC2nS8fKkcn4QX_j8Eph_2%TBz7fVLDWG;PfR2 zDXO~eIcCI|?7C~{vKj934I4?Z@4Unx(|ql1X0v2nA;=Z$XTwegG1o9vMJ7Py+m$(J z|9`OJ@JCQ;QW%^$!=m#A6;ZMpx__E#Gp%_QMb%}`gg!zeD{@7u>B1bBg8l0P`mNc3-KJh^XV^Eh3_p57%QueEwEbjaRL#DK3h@hJQL_ z2DXz22hiUAR!oNVig^JUW(KaRt9T+7T@Il`qdsOB($^)!XmLe^0ywu~={n11NsOBb zrIQ%@Z|-grkQRl=xQiK?(RSfaHl2SkIaq>@!`vEM7K-O|K7cIj5JPIJu(fo0bO?cY z@#4S)+kK^OA*|g}JhHGtqGD{m*MCEam?}C<5ecD| zD0s}i{dB@x2RYBvqKLut$(2!%F$dy zxRShEHPmh?9&GG4yAtg{*5}bUkRsTDtgQj2EPL)q4KR00i6CWb0txm}?DJq8DCyuj zYT#P3Zba@l4QZ&Q`1I9U$kzj;gZHK(2d!?GSNpATwge)u$qpW!!&o~2N{vt@>0eSd}-B+<6(zuM3qOlkR!g;ibpJEm=0PD@KM6SoxGGf%Y0 z*KLm(2QJHstE$dXk(4MflwBnQHcwPrcWuIAYR!`$l6dNOHcKcnwK{aWqIzBo#YuSC zMwNbODf{3p#VS{>jUohhvA&ARL;s8q4ZC19^E#@=jjU?lvhZCfFMlmV_Ocb2zQqI( z4PUnGD8R(iqg74?zeXK7(hv-U6zq7GXVPt)Ln93;{e}=3q~tJ=XIAN!n$3{)Vl%%+ zQmB0;CgY#91c_I?DU3rU&=z|qk;!r_Jw8^^{sH?jm;)2&!pM~N>LQ4KVDxUuOn=f;=^DBu0ANg={GBc&=wkj#LZ8Q(q#u*nJ;}S>PPc({>U5wS zqZU|>1fT1KRGehcmtmT$7Lxz-9}r*&*{`zA``cNO?-#>xgk=I5rbB__5Z(9dRf8OA zNS%$BMaMo)T=cN?AjiDIoi)%ZlQf4h5|TTcHFGY~M)|z5lYfi)_@?PuVQ3X2XG;-V z+qL+35qn6pd<+@FKO`&S-iB1`Pcf9?kaYF@HoMys7NvxNWJ_F;&yx+SIl69Y787hR zT}@SNQrX=j%qbR~8Hu4CyDPq*!HVEEAB zyFpAILGQ&&>3_d*fX`ARTMux{|7Y+uvvTw^OVFFr_mX-pelU6B zbJFl_IGv(6wiBKF>Bga+`%4KaKZu01l7tvlr~$~HAGmJF7{6aJhx_jwKr?(*Gi=aikn`nC&03qx)qv;3Ar48!&Ws76P*Y z+V6_VxU=7trjM%oxHw$#Vo!%_BhPLtb&I|3mO9QkEEt0A^MvB@5(~%4NdTj$`a8>( z3B>rbMSokg#KN)M{b-5W_8lB-+>e$p5f<8ctdX}EA%K+I&)}R^YW-9I;P+bqFjA+E_vp=R$$uyos8j1z!;)Q{QR_{`H$z80ia9+Z z4Yehvm2Z~IY_%r+Os?Y`L46*hztKPGB%aYUSk8eaogi?)3o4o!)KJ|9u^Uq?5wPa2 zR*qA=SoG9$0>chv{P8{qBUF@o{>~pq#|_%1789eQ;M7t)ou+^k=Fv2x?2uUBkk;$F zmVZ3b_(*Cg9!B{)=|u^Nf>5*7OFjnK>!B(P@?@a52RiA+?;ad_JMlshvn@X3&S*#} zHZ;xB$LS?VEhU1EOT?|{+s;{3-sibG^%cxF*XtFDx-_#TyF-pq1143?@MOaLhsGqe z6b~lPq!+jM%iCn}@)Cq31sKla%05rVaeuoy_#YZ{YS-6%#Tf-B)KWY+AqbIPoOQ%W zuP1Ah7q)8J+BiNGYAGHN3d5||qjcg)bEJ!>&|eCxuq|v!v~7xcsZkxg=|cx0y1gTr zmAj>Q@K=kndX6BP`H#TS;E}A`<5hk8mHMrSX1sG@<`B4E2y9R^1HBnma-{35{(p9b zs0P`>`G=P{mEq8ps|EM|E#N$wsI#RP*q7QUr=z3K>&77~MY~!fkTjT8QD{ZpI5jcU zQap^JBsuBDZ(m+kiANASy`GT+JEBH!^Ih~*P1VCuutP1ygPkfu`0&u{X*x;bY5Ebz z!Qcz^GT0F{@|v%fZ76{@jv7iW#eajm3+Y7(2~m$luZL>WK;207v~d^{wGOx>E9TZUksMKSP^FH=^O*-*Z z$d_0pkY+d~gJ~KVYX=p&0iU|7`sz477iuXU*6o-`*yWb23jC+3E*(k*DzeTli!DoeR9f3VwEb zdy~{xX+OXwYqlq%GgNOt2Y-gMEE&;u4!}Pk>yD? zhY>Y6O{9{^;IQz#mtW9qko?wk9d*9=-KPC zMFmS$G+9ttF?&RTufD14)xMt91Y5s&R&tZ9lEtJu%x^0eg+tH<5DY24|{P^fy7%}5_T zX##`#a0yz!S6FyoXnzaa#GFl@NJ%`o-42AaxM6auXUTz)ZT;p}=WBFv0Kq(! zeTJ-QhGwvB1j7JntlCcMQM;_&dimm4S=nd!iW1tmr`vPg3qVV(vQIN*-*;uOS)Rey ze67*X#YKHuTRmJ=&5aZnN2s3R+6q^wdCNC*>3hkLekUpNcYhqvl_SToY?EP}rw84J z(*3cd{w1t3g^=mTx(x{|s85YdKACN-gz!$uZ6i=}gkkHJ%%41iBlU z;S;TBR-!P7{0JsnJd@F(8`_fO)WH92IWj!mdxkF0C0(wv>1MJnCb9MW2KUdLM z7Mq1i@r}! zmvl|~jbv~+=6%Oj9r@XHQ;I>JE_AwXdb;Vdb~Q4!0|U2x?GtF4gYE%2NG;GFLsQ)l zk_3`ZK$JMEC&hC^^JEuY&moxrdbQOw1A)FDNPn+L&~Y}9#ZtilwMW?D=?)CdwvFn@ z7`?KMeu`VAETn75GJ;NiF?xTMLR;(e0~@4BqgcGEB>lQdZdg>g%Vn~drk^Bl#KTJy zq?g5@DaI#`+^boduVH)-bgC)I7cdyF@x%e}?tV3{%cs$?l&DRExc)$8v1z$qkr- zwAT_=umwg;*4>|$tA%fB$r_m8mu68R1Ax3;`d4Z3MrK(&@pYI?_h0ZJA5ibiaXLc8EjO@V1(pjtQhB)!+#_e zuUDJK^YLzQz?RbSEEm|`)p?0f(ic2iB+~W$8ex(wj7a z1alzMLEs50K>LHcaUuW%P+*{!8m%TY60l3&){q3aDRm>6;ePzTJShfb;DP5sE~bXT=yij|_K*{*H#>7Of<0uAb`E){- z5h7dvrnju z1ErG1!_!w?mBmusc74?a4%wRO26f8tS>EKH{VmkTO7PqMEx2vA;Hf0%h=NDp&Tm() zlF*mWfAh1&dev;uQ1sc~sedcUJfokw69+ivxWcmq`bBay%kI8>{`;8BqJ<$;B2cmiL> zXfMD1S~>E?zQg%Q-wXp$nhG!tb`DL@sIhHT^I6msFAj4z>y{T>sefBH%H2|Z#7`Q5 z=lal7lxLm&IE%odmFHh23!HS`+lH@NgFW5A%Gt`ZPl^x^zp7MB6vD3)^sIP-)Zs$` zSUjM(CIHKfUaEelVTv3Rw56g%YV8y`+0tCyvl$x^v0YiUe7wdMyn;5O9ayfmwKB&I zz^dZS>>g79c1t;jsDECRZ9KmM&w(c*{7Ryj-R8be(=oqBE#mwrfAEP2p8NZfK%4(i*D0a<1zySqZ!Gnm$n-cbdv#ea+Y_DpG!03cyEhaD6Q z84Tt8%CmV=hAneQVVowDS-cu70(+Q5`!#2aU`=!VA?7cm2~cvXIf5VY%`}Y zUJAioyYCvVRQ))Y=>M6t13>m{kgmY6{dk0nT@;j8u==I6$k?81^mXQT2H0n^28oeM zqupc#;`4iuqJQ3S!-bFA#0PH?6NJQGxC@XHvsrBNO+1sf>IhGWS_y0`atvnjryNC= zss|W`T@}iXk(v_>^UJzrqO18Fr!K)K7UtIj+wfhMv3<4RYngxA9>|?Y-%H>AAUxlt9uiFIK>+h2LWcqFr zLu$?eD%;-#OJ#48_gNzS;k6Xbvp?^ejn};al*YV@VZ}!-|L=eQum3v~A#%`}p{q)$ z;Kmux;(q|3#gjV%d6}A{v&|e`Gg2b=Y3Gjol&up|%669&S-SU+*nKf0&n^m6^O5l^x7y?w-DGoy|#p6c(R(e5$gN&%%88duAg3P^@uTLInXLm(!mfzEyaTv8Y|L^Z@VF;*MH-68x)mG*>aiX2`*ShyG6%py3P!j zINrN;Ro?ruf*MlXrrGA2=k|990yhwuqgtwE;McpAZtlL{IkZ}XFXqt=8qh;F#@U_X zUmK{MMws~QxC02Q5|(P3UPOj#>^Aa^^n#|Rmpqq}ADx^PwFk+oZ7`VOt9qn$Cr;}7 zoqvh5{*hJi*M`w)*dHK!no^D{J?(h<`Z0*j&pXNc*b$HX1Hv^;e57F0HRsK9xD#3rlP2C%ILlbX@ zoQsCm5xy=fws05CPAr~UiigGjVUgk)MSpK5@eD2XFA!|wq4#2$!`HE4?Zep`-44Zf zTYJSv2UWWc>ZRH{$Hl+tTAIWQX-lezQfJv(nrAC)$}dK{LRWu=Is^BO|N8a0i2L>%B;{VUyx9~P@WoiBuc6QNm z&@L6<4+k;8CpxpUGeM^s!6L{ev_#w7l1ViwmCN1JK>o%6Gk-3>WbZkbq)3XCE-6wL z9TgIkOP0iY&pr3N&v#NTfjiCJCx7wNIE4J`pLp`;Xi~0ggY<@5o}+o*(aReRkKnI= za?hK50`GYP5HO79%S{@73T7v}7Po(npMy_90;n9n{rX>p?ECH4|0bqTL@YKyb0l)+ zg}h-NNAqBX4P4nRzUI;xM)W1z1eR!f3t04nht>Sy7oo`a88idlpcooipITyj&50?#n zhP8$D!7L=~^!+-Qd8Bpp?2$wDLgH+^cEa(nwlGsa};7n3@6 zzco{_My{4+9cTi}zMy(CM>K)SU0UH9n!t)v*rooV4zCiM%3WH~_7Yg*Ma9`pSfTXM zB-L~46}k+ZD_4>OU6(Zg=iZXvtg_~Z8l#r>edH!90rgkdWQ!QpS$}V*T#54@#XJ=f zR_VHzgdN-Eha+LV!Et-L$^;rN9Hl9|=~Vb>ybSmDQGLTvfLWT6WPf6tKB{`|$2Ih^ zubwgYJ|y7}=icQ`gFE*3#?t1uQ?N|wQ7kM|cqA+bQ0?K{!y_#Z?AV^#uoLF?RMwSt zXisG(EMt4>kUYV_&3_#SsEFbX-!@FglO3V6%hrpVOOImV=9CJ)g3r3bYY)0JhBN7e zc}~xyWzv{nYNmFYva8agSk7d77&qDRbUTwlch+(yB{N*Nk$Tg?32?8VF+ZLp;d zIKR08ID^+(tiktL*=A#RI8KYny2I!3(+Y+vU>AByJ)-6h;eWz++t9Ixwe2%4IN0+U`!?lYejL6oBW~s~VdmjMy%G_8_GTvMaipTWb?gEL|sNBs4bl7D2CE@m>;l zjr!-?wZ9DKtyD*rt5Lo7gkduXkjQ^X;>{`_!Jdr@g2ci)MvQM*6D{n?vD@1g2+Nzo zK%FhjKyl%z{N#or=KMLOKql3&dkl~8G|5ONPimqu0wD%3cA6&c7VF?Gw5vW z+5t7&p?npyud73ry1FLS2eAo?%bS_4(f1NMuBcl@Apf**G&u8-Sy4$a%krG;0OXoR z=$JQ&|MCI13kzV-HCj7^>+QNmlMGSS#aee2??v_ z#fERFhJUZ=bfHdeUupVS2SOE3u5ub)s!?=Fdt%<_9)bvp1P~TEzNcyy63XlNA;7^Y zJ{N7C?#K`1x0%+(5(PSrFIc~{EqN-6mh6if(S5`gF@Fgo1Wd;HDU}B|%Q8i@Buzs+@scc) zWnR-Py9y)IQI;8|;2MR}A77T0G`8BQ4Nv+2P^l%?vg1(t6$%(>QEmR_4%N}R%7U47M) zTYoymx^}pwEG8VAcT~1`GcwS=)7rk?mCZT@m(HHewtK9QdQju}2ck=pfDnf0P3kk; zy>QP-h=5X1!};{&ze@v999R^e&5$jed$I!7(Q6~>)WOM8x?VF5XGE{!lopH93DFs` zAd*2nEZP)+zd=(4Y?jBjNSZ}>e;)vKN`JNbTY@ZNS_O=z7%|rFpqGQVpZ-&j)nS5( zwty1Ictyu|yg?eF%e@8G$!J8Z`3|$!WRo`~6SG3)u!<%-ic2dM2lO}JDkz(x+JfeS z^>Klb0cv#vWfNS-;Z;P1ypXS5tmL!THme)%DwM=)?p~FzxsCo6_YHTY@ccEW&VR@Y z!dGmtY_cc2)`jRf&$2)t365@>9@Yq#g{7g}u0qF03`n%|8=D1j9v_eg+B6*fvYzcI zgt7O3@37bDE{qn?o`Hq~u`@#G2W^PFmFhv%?sJYB{Fo+I$m&6CQ&P;%+1R`c1fx!e z(UeCaW-#|R>DIa@Hpo0it34qmn1A1PuFc$XcHyw*XJt@DMT{_522X^KX7x3cJ;zRE zq||e4nY1H2QjW{gVJp4L5=xI^i5V;c@}A9ny@7t58*or)*tBbD!k{~3Yc21qJ3hqR z1E}Ul7$Ut0KZOebN6s9Vc!R!db~Ua6I&RL~m3XdK;udcE%7@-{u=UpSM}L|t;I^l~ zl?F(NYvR>^1UD^Yf*@CIO>lV=LM`Pym@CS%@+$Vp1pN|Kvt>cSs>6$o*WE8sb(K8F zf(-qId@O!RA3sDD4c^oF$@6H-?p$3{Mdvb=or#66K3{V$*WBO1p(X6Zgy3tsnj+bg zcVnA(r)j$E+6dNlVV}M1vwtGS=6V_Z;pz+Os6w|JF}hxeCvwC6@UFbN}B&?Uje zvi}RcS%V^qE4r3#)CaJek}dNn*M}t9xdlatqq|Dths1y4?!zQqXK5}>*P!hS=^7ep z03>`GZFuE4N(E|V#(j&9OVsw6+DiI)8HY)^ffTb}xD;4fGzxi$qJKGdt$2?9$8$Kp zmIY#xa6{-A0x%A;T@nObo?(6Ev(EWHy&i{xpO0PONb72?kYiuhXmD14KXz?14y7SP z{`}=KIJC@utp}CZQtbidKy7!3m4*iY%FeSFcLTM(qOS~BI1j0k8+-?2d0HDSPIPH8 zzfMD*S&VlpSBO+ur++(v&-O>`nLBjrg%KcoU8APVbt{^8bPi)~+l@+&*Sp{px-uLI zl9o8;`@grZp*X93Z8_-OvBhCe(A$$G!>Xg%WG{AIa*yJTeoyKZb1yyWn3#LF_Ub|R z*BEhs-|TjYyh?m{>x*iv*Ro|H!yGD>*wKSf996OkNc-_Uh<_5>Yn|q(?6Cb3G(9)IPV2 z?eR20R8J)4wvS>GbMczHnzeIB=N#jpTYZ(PT0i3aWg6!M$iogfT^2YpcliSKwi__t zz{d`fFkaBf41aBeXzW;kKB+BRiL~q*+c=?0-qwU8>V7o)k|Lu+%xbw!ECE&IG!l&%*Fft29LXC zTQy!W1=GIFV%#rlvQ*jUA!m^>3D-G38JgeuRDg+W&}K}9gj3u%E`Of3wG?V5sK)AL~E+0^U|E3dBtHYFZRlrICNI_`>yAr9nr~e;y}bmc_ L|YDw2S^ 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 WcCe1J%&vA+x`o>rw!ofutW!m2Kc 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 Imkkz~88 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 delta 74897 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%0A@+0DhPr|#W7aYEr(eGvh0a&d&w14Sg zp(eTFE*5bbV2yj4!9BO_iM5T4bpg-Un^)pPN}1vO(N&kG7`$An=Ru>pc$r|SWP!~O zMV)&i@l64Z30)pPL?J?Cy`T6q;)(ogx#3}s#ht`Z!_?m5Q{+RlIO7n99p=ODZ{hy| zd1Ujw{qEfrXHF&*+>;nOxMqIC*?$jVM85Tc`<=h=>EEDM_Mgc*$?{hh(r>r`tWnhr z?4PG$Z9fM|eEAqoK?vb>T1g8H3xpZNk?MR0;pM!LgC_T{YHW01(jpV5T!P7`yCj~E zL&zU~!;?SHR}1l2%X2i(d-n21t2h7QH}1 zPhxV@W5AjWuLW*NS&R+owCJu3G|;xdBe_1^tZEB$Va}&IWPeL6PlI@kpCtZMCtwqW z=vhtL6ROk!N|9A`M^~lDNTh9L$ZDy6xvc%vO`lmSU8dTvrZLMphJD>Yi~(iHA7FPK zOORDo1>N)#Rwp+zj3ybPs*ANGAMYue<0z|p#4rqV1c+MA!f$So{%sD5`gAqgYwH%0iFF2+x^Bu%T2eUlwe)eP}VL!_+H7SS!3PvVyJvPA`_V$mW6wF%i=%4&f3PaZ2+K6fBWZ2K-4M1&`*L z@f8$Lkkig%zg{dI@{tEwDc8H&{WPXoB-AxT8{I-JK)|KM|6y@_&_PoOp~nl_-hcEu zr&_JZ2!BFsQx6~}+2l>htOMl=n(Qbp1=AZ)Gqh#5@$Wx8_Gi4QV~(fNk)4@VE&%<7Sg z%WW`2U~+Q5jk$Z!$qxV}3gcR)&}zus(|AeIo+(W(pb&e~xpwKr(gKco;X{Qh82N1S zz<;LLPlGf|mXmA=^`eXokPsK-R`wB`@vu`vuWD<8%bSq8DTni1QI?g17^Wk1NL9_2 z1qG9sXXD=AAysviJjXivnKMI?Z>vMPivy~P2Jh+o(er4_?p$3{MeH#;v(Q!+diD8& zd%EC$hMNpwr%wHFrmHEEeWGLXG)&h+kj8&+J=wQQpf!|T|ZW1;aJl4vjOHcW0fY^(%#7ba=O z(i9khN8cAB@br!eedY9;dEg6lr6J>rdxsa7sO>Ygm5kL)v81z|@+$=}O|4~jie)Ow*(>PAL(swjj3ag`A=Fh(P;o-WnY2KyP9=nj?V5sKv-!NB zJECF?U2pw@lO}n(WL3alA>P{8j}s9dR)|>BMZ|7_WOo5{YvfmYc7JEw*sRvP)t7e@ zrXdNkoiO3ZvlevN0T#hcpiRYOt!`}kNaOr zP+#3qY!BNBPFWe`au0k0rILR1lvhsDP9{XH^=BNkFmFrD?3PtnMq!VfV4mrqK_3wI zFgtW`eiA1jelW5WODk&fPWbgLNqQXtHiW6J(WPRM9a7SAcut=^9}(qQb@IVzV~=Nj#g;X`Ppg;^<`sZbR#^Vw4+->4dJ_cE*ZYIsZ zj}MP+#(%T6MaMGAY_}aUzl0>+zR4ZFxP_Qo3Mwl+@EU?t`LXZq5O4CTv>-~MEgM+Q zpFILMR$Ss0N*%jPKmb2?>hkFv{-HyiceCJg2+cD9n+gsnxuX)QQoJh&A>TicWp8=R zvtSNUQ}u#56#33b@^m}TB@#s@Ov8Byv$IM!d4C|&fe&zz#GgXI-@1Lu^+h!G6SyJ} zmpXx8`q?N!g>bJZz@WyV-jxVm7bL*;gBV~fqwM?U-5ux>q87lWQQbn68?{m~&cZA1 zgbc@zvF;Lm- zo&t3Pqxk4EPEkNrHt4APpi;qq0ogV5*8?ODD}BJkbPldb2p44!7!EsjO0aT`3%X^{ z&``l~>)+0x6{V!xOBa(u*A?w+Io}*RHGe{wwnbQ+InEPu%sx3~K`ca|OB_()Jy&zj zL73t_?R|g{g+XCTAr$k~@BC;8_{SfJ3SfWzef+8TwG&L}-+w#B z(llEWE#9of(s)lI>cWCZ`j=*>|2ybmOuXc(7w1Z2wGXvMG_k_vnF*Sq#bQHv518vx zA>z?vt&>G?I-$(WP-Gm94s-tx4zpm7MGt9>3=P6iVVZ zobqqG1xKVbc9J`{za_FMWojT3TflRUEYZY+qqL36%c0{G-sHmzf35M_`)+2yjEc)of zD9l2C7XDnipulyG`Rhd;3@w+0!OfN8{Nry<$8zbrr~Got=#gWvmb&mEK!4m~KWTAH zcaV)2ON^DgLCm%49bG^MA$^D+BaU2OJN4&_wxp@<8R5U6Z;>jOz!m6(_o>o!3~n^_VMSfteW$dr1L` zHiy|GDzBpk+f6O)xPR%{`+sLzefG3M-6|{_(Q5f*q)}GCl6iFb+5c+7zxJ?UqY$@C zC?-7q7%PU^iL6b+G=TE!tIA_Q*TDN~Mo94_SH@ZM;~SxE8gz`#hSFqA+CfQJne{j1 za!;Sw{Bb0~dXEE+j%@o(%Z$wSNtD{KGcwJ5pRCitW&5mgUDHA~tbcLCv`j(QElIZO zo{TALf{GXbLo(4ZTp~(^E?7B1Cp|nYqmS7A5D-bl@s2)bGl;`XYi1yiPmK`VKyHt} zsi3j;?20SySQMtLu)pPQ0~&+GE?DxHqYp3k8do8DL~ta#CQrO!+L}TKoewBar;6NV z^R_3~C-{EBx2t{y-haH#^P%`jq!ZX?)Dzc5`sb$^a#Ge%jhQ2W+0%sNi@ z=moQ`zEGI;HqzAyx7!V*OGgd4L9!qoJxlmE;t7p%sKjDDn*qxe6%dBpkMK~lFo^UV z_{{epyU(u%xJ%;ssEjCVVZ>p5iwe(H9{i@+-M3WBcJ?%0>;SP=9Y@*Hz-Jhdr-ajL zr1g>peCSh~zkdR~g!Ood#P;J}tI<}DMqz9G*t8g- zeVrnERFkhI*aC05HD(e8!xib+^C6k(7-Fv91{qc`rU6+NSilE=u?PU>iq_d@&mg z%-L*bo`0E*&<(O6?daq6&ASr}$#ONE40dLrjV!d9e*E2xds#)92GcmNucP4cRVNlxHNzHkYd;li zduK7#REcjco%2vz)m9i^UlV^5e2Okyqk6V0*MBh-&vad}pt#P4QvRnJm9MLN-{5=qo; z(OnyFaptB*%ZfsJ4aJl{!w@F?X9pINRo4_${(Rr+CbGn3nRl`}f}_~BAe~#jy3v)8 zEq@I<5tb)z5?R2xufCs+d52Cn-tUO1dGu2NUE+M!fZfg9Xs&EZ65>vupt;dJ)6_NL z9MWX{z6}O&5Cvz(C9&cDq4Zr-$ zC1o>O!Gc-{1D14?Nyx3TY1jIM%ma6&9d+pT#>np6G+~Hw$2CKVt<)7 znn@0(Tf$4#VU1MB`zKJlR2ZgeWiaFBFiJCsim}vGju-`HThzQ2bx+4m35GF8WcmTX z7z7?6RDb>DKM5y5sT<*g1!09={iTvDc#>aIQdBK+l0lx zraTV9OxX1{UPe>me=*b~C`42coq}R7p)_=g z^cE!{@Lv;QUR9P|3kLaLhcneoMVCcmyfo+7XWDtr#S0eXD9(awbfpjs^?%>L|Ka_I zpDfe<=MUeTw)G<@S(Yl4TQ(iQ~{W+u72UhAp$pFb{I1SvYTX7P>B)3z7teQ&5e) zh|y8IW8St;6guq`XnRb}Cx3Z6)&5YCEh;o7&{^;l#Y8F3U&VoFA zq6VAnKO>(>sk?FyNaSF(+b8553psKIpsw&OF)j0XFb#>)Avzb_W$L}qSS0k30v>h_ zmd!|3_-v;+lMb+b!)Qr1eVP;Ls`hghy}9U?|; z)05kwZ7EVjGn=T2YpSAKt8P<8TY{qYf!X9x5x5l{Ie(aGK%|{K4zB0K*+T;ll8CUa z^!Dw~KvJI||3q$~QBhPfk2|9#j1?pb=ZiSWU_^Dn^m+Iz_wN2bd*9yMxRvbrRXFz! zW;z(R%=g2=7~n(P33f0yNE(~D8)VY7MA@9CNG(a(?RfzC5c|&pGhZ&BWKY#0DUzb3 zBZ-tvhkuO#?YJfKoT@r?>iH|0U)len6GKK2)IWCz<-)Isff>vm3M41OkA&6M?u)u* zL=)`(B5s)0BqNQfSoB8Y#Q_R;dn14HpP%AnUhpEnbr4S^W@N^zy>#dPEQIqO`A?hE z!g6=2)>JS=6O>m)DaxiG>w>dUcEeMOoytzBIe#G*llGFfNF(o)k8!R`o(YJ-VE`t2 zBua@0jTdq$E*2&r6_SJ|YLNmP_EFh4Srq5>f}gz65KszDR2RKWVL(y>971}m;UOvU zv7t=Mhx0_tUQjTNb2m5=WjKirJr%D^C{ZZ;Vm4VN(p1XG++X1IkvL+hTah(el0>Uf z8-FPawkhz4qTHq4d80TrqN+KfEsx!p1^JFcA`vY?xB2PdyUn{I-wqX1t>!1*EwP%e zK+T2oU$OSEnzkjPe>rF}@6cneZ1M_@R~&_CuMl}r41u2?iwlDh5<;;=!8QgjJzde4 zsfJ#&UDq+3HwyowO%+v;$9WdjYj68-F@IfwvL>5~jqutdDH*RolajhLd>P@Bc+)ae z4daX>saX{nuh{ZbwHpW#vSaG9q-}`N4bfg#(d2hN^{Ai#r1Y_hAnx5WEd}YV^XIaW zx%%+oa<|}*qpLmmagH#2G+uB-tO?s5$jee%t~pyL;d427n9GQDU9S#$f(gX5I)5^! z%Fs!1M@|uU=ik#X0<`@!119aNKy@5VGTla_izrS-)9f7Bb^w7&P!LeUF@q=-gz(E_ z^8~S*$3lJJp(>R{K%@+hRde3=(A&(~-_<;GR$hVEi_UD?VEbRfGDssWd6?(D@@U)@ z;p1_0CHu-Ef%K8(<I-GM4UPa526M5$^;$-+;swvrF80PhW^Vm;mf$|Je zAk-d#oM~>Hk{>s&P&aB#!B-zbLYrLk3GH-ynGgQOou)-+kd|)M#huQ19Ao3C{Ncbz%uCh#wI!)!3 zLVLd2i#h-EDugn>gAcvXy}Vc_aOF(6uS4=L{VC?oZJr{nNRC(^Oy8AY+j@Mr_X#*U z(CiRoSYR`BjhH^*{Rfx@=zp4`FM-{Nh+x2y|K(*%HWksTYdy(!Y}*pLo-;q#$m6f~ z)?xFGWFXX9_5JxT4;^GH4(Cm_w!^)&^G_5cf&4eltlfY9IL^jU4jhh672_j65hgtM zZV`n3&Gq$le%Ynh-Xf4Wb}@Aa=yuf8@SjM}P4u3zos($S;0J zes#CL528i<14pcodp~=ZegU@+KM{47A`Def6x$vC;P3vqKpcuFf`jmp68aiRzmfTm z4AhonK{ic(97JB|>{>wv0|5oiwoO4AYlaE}Zl&{BE zTsFvB0De7;$EMH?d4Gr`PUeJ)W$h$*{~WY-d-%(N1O<0Jsj$OMhJLY-`Njt$$~04l#DN zHM`-eO=Nk~TSubsb-A;KsI|O$&#LGq+XY1sHC0!qjXEC1kWE8zhnyT`s*`~5YaWi? z_*e)n@_6XhIW3B`kyUn$e_Qq)B{}Ae7nVI0(1pQ_^m+d6bBnEka7Lify(Aiq#Rm70 zm#q^&hb^kqV}Af*%Vz5cUU@{ratF&Uz!?GnmB}8UA7Pe|#ZaV_6nj>(hd9N}<;$FK zAN<)v6o5j0rgv-cwTmsh{Q>!+ffxC0(TA)OS8EOUOvi~TAXNrXT#y1N5w-^ zaVtND2yF(ytmKrfcXupZh>*ZjY`p3Bu%Ek3GzR))@qhkjcWj|SMac}o89hKPf}@vr z_5(Xg#l|Qa9jvIA-QQxWucjb3eNKSdRn;ej8d`Y(s6u_A99D)_=?tA1$N0#qE{cL9 zU8XVOk|s%~=jf{(-wf0%O4Q=*Ide}w=gsHPOIT=9mIRUJ+L|dL#Bo)ATvwF^9ZmWU z<>#$72!HBiSHuUn$QgWl4T7>I3yv^OyDUF*!c5?;#uSBZbc)6sqPBJVf4P#&)b^#w zHqVQLm)Bhvg6Rq>mU@pOkt?&U)Ajj=3nYNFqRY#gE;p`Tacc02q-@5={KD13>#fXE3|-X)ZJeroNUir*nI-6==or#? zvmU%zPpQljCZfRN{qmM8se)vUTsXvqE-JGGajH1#bhK{Di+bBsR9NV!YQofMTIGTy z8GoW-bq$R5`f7_PkRfK8UP&;NA+ZCAQNT_u1Ds54D<`i0Gy8IHX_tBSyaFNI^}WVg zPD?5DznPt-LX`@_m!QxTTI)(M)75v zE5$(fr8i4rj(BLVRx&n76e}-CaFj+JyniAGhwKfK(_%k^$N_C5|k z0VoY3l-m!S@68@IHcmdwYxt$Q9@%Ud+`$}0v_AvP#OF{;dC3Q`_=ZdT|FaGdM}GxL z;zi_2LsJ!j>E8-M&!)fy>XtpIrK~~{c_GXO;3EGK>|EcU7Z~bL2?ifsa({lyuo@ln=?aE=#Hc?O$EqLPLoAqxV3M zCi(c1YzBt7)#`Ce6mn{%6~1W2rB1PKcIaYA&e+l;`wfFnu-71ENoz>5sHuj~Olv5T zACT#XtYP;R0jLk)~^cF3TfE$T2!l zQl^f^+l>?)FI$qM^KWHP;D4?ZTmYT@6oYGq6Y60KQ0c+-nAh5=hxWgXC3FqFg4q-6 zkhjyEnZxVYxN0<1uz+s=ik}8Usrw@@YLK%@iT&(2|EZTn9+hXyvzw_ui*Z#i%-$Y( zw^93DF%TnHy{r|CgQIy^>KBBwp!gOXDBem|>4n*Q7lRV%3&y0o(|_695?O`t)SG!y zd+c?)IV13v?KDvXdDGM_LFzh)GuYfz0jrudONAkhJ>kCbS0yNDG2U;sP7-p}hR=}5 zKuq8LOg=4%^;*zT^QulHQXl(dMj2%|(@=?;TQJBkf9B7Dp@osQffnV~X>ZB*_5$Rs zr=NQESpvAKZJV}jH-CbUyudrWrFV^!Jl3UeiNv{e>5?T(ZB-eA$9wtLYhAjinwFuA zb?FCLa3W%;#8j6qxVmQ9!Z^R~AQw783{_;+Fys-axX{^c@kOPc6K(!9ig3QUrKl9Z0q3ZhxKo+CtXPLsDo4T>KLg@3UK!HRRSV4LL!z$#gl_@kwu zlmi-vP6`~IM)PEwO~1eM02UCQuqK)fL zlBW&}Hd=!O`*)jvc>iv{CX3j=+iG?fgqc|OS%0!FP`N?+SAGIrX*f`k^Qfu=k)Ow0 z6lYxGXX_+lMoaC>-9kTP!omEBq3Ssd;PS7L!Go>v`fob52b53BR9{ zCx5^s8c}@DYwtzvgCO2W!VS;=Z@SEVS>{CIfQ4jjySsvS?{B0d)!j0}^zR;UR5khXZ zQDvVet(k6mNwXBk!Es6zjUpSmX{mPC0Dr&(sP(x0F83wLjk!iw+6xn+=bxePa=yo; zoNzW2a>AkXN?>;Q&^|F7fbH1+E-!^%-D0y4EhTEU7#Pu8aTIY<_CJ>)!2HR7hA9T< z5mtTTuOjY`=oH;^(tF{Gk!z>1;`Hrv&)n}hwO*6nFQ=P?V$dm?ENHH%HIjk6&VS3Q z!oNf^aDYvKiegPg5hpQ?300uhaZP}lDf70?vp5UC2=eXD{_jvK?PL|jDQ{cC*z8wG zB}=1=C_4_%yN!}8L7Cc`s9n0r9@Qbe=WGx21znNw@ZD?nb1fboPTB3DDGL&+D0&rK zCcvmG?@Jc>;GL;8lXyEHCNRUxkK z8|NgRxCknC$EXhA$bPY{@bsuB-_V>#j#7Q+R}I?<_jO3V4t-Id>1@-)kAK$7JA|AG z$^XDG2!zK=TGh@SCuD<)&G&MI6s?BnnI7RZ@cizj%J#w*{oO9 zHCcA1UE^R6D)l?B00d#W0&s3N{^ytIW|5x)m@>Fkunt!HF6nC5wXZL0QEnFU*g=;1 z;bKd)+H5~X(OeU!7gg_DSAUmHMeh2(eO(oFl@v!k%%7M0KpR-%FXF^6=SpI7kh=5R zanf!s=!0&1xA$}V-CKF-P~;yX*ZJJ^BA|3tR2pt(4p7)EEC(T9n8!GxfN+&)a~Mzn z$#KAtVrl-6ElCvYrZN^SQ&w$l6D_@*c|SzQ-PQ%yWXcu5^f)j%WvYvcBsFHN2vb2drkJrhm+E`v^1I+@*~F*SJX?{+VFHX!rSyR}ZUkk& zXIq?^f~WNFZO^t({eSa%`yXZ9=5-g--Tj=@OUMl7UEi9_^g9b^stA&4_GdO+g6;VJ z;j;af`WZR?tY6KJUlD(09aYlj+`Es&Z28F4PV30B?yCLupIm~q=sdl-6aD`EZ|<`% zxr&2yBi;xy15+han!^0FK{FM5c;23x{s#m9culkg#qDqW-G3$c$6WdMO7*SC{R8{A zPxJ(3L6Hrfsi5}t@{qZ%abRZ<8C(AOOYw(+t*R^wlG_Y_4~(tHq#)mzYL!%RDk&Op zV7UA{CZ9VX{{0?uD*nx;zOz~aK!Ksqu5A>}F>qZ}Y(+5D{=#yX;QBEM^bWb+PEkQI z1XJM~KpK)VHGd_?90)~)HyJ%bKk@r1uPXWvH~E37Hs|3?EeI*bDdxX1{argl)w&H4 z+hIx~*YaayZM%0ce_&4EWTKUK}BH2*X;`L)_+DYoAsuspXQ#DAoID8M1E!ue)_9- zpp+n*0jlN-Rn*GMGCzsn7hiltq!!)&tM*M@(k#9ew2}8hZu=iVnSOP{5frT zV1Ll(iskT%JRNj=LmYT2`>3Fm#K2TlR8-AX1|9Se->O^8z(3JaT#M%$M%KXiH*o*= z+|ZQ3yMk@@I0xerJba^x?0RVGFPooO&Zat59TWS(hRfF%N>%sHR|fv^f}%-ckJu;| z;Ggs+6XTmu*T?_-9t_@h>u8<&^B>X9O@F`m;Ufo_;Lp$-4m4+BwjpY&tFQzjUoW!< z-Vbq00|tq|j41|l>Q_A%1}@6_RFxfd*hjV&?)hb@Tv?Umsb~+{$CL(M7(vY0_ve_i znlg1{Qy+A33mW6Y=Hc&ZJUkA)%u)nFLLLm4gKsm^!=^=bWh(MbYyi;_9FwOVR)1&m zFaMWU2AQUeY3uMz9OpwhJQg*KaH#-hbd#LGw<1>h;o58HHi>;G6pqlrw{Xz~WIZ@2tXE}mSO9@Qe!q29Cb;2AE+h^C-ZocmFLV=xBZxMs zPKU&s^$sIjAoDLw!wpd84G3cu+P{Cl`2^=*`q=tZfe(J!K>{ob{)L~Hp6+m>IK2>& za=Z=R^f9!4t+z*Qn&)PZOK+CMTeBP|oXJK06PM1&wZYwm@$3^fgDETi94Czoofflo z5oWMWJ(9D1cd9!T1*ymChBqTD zt0aiBF#6TI|A2&08F_yursIDN_xI<2{s$ZIm&?0Tw&uiNhKa*8#mSw@y4{@O)DzK$ z00E8Jtc|n6;-9Efp4VJ=6ug3lEViF0ONMHRgV+6C5pBOk&2IM@4)4n5Xi^^}E33_? z@v`c;>S*&FbFHX`tMD?ySXPLpT7oIt*l~F2YsHSEEQr=VqOf;Cy~BU;TLjCa(LIRY zUX=h~khi?5hjVKr-FnxFLEJhF(g{0&+72(v4YGTP<=tU3VqXj1nH_IDv#*G|mlkQB z*FEgHGT-@6F{EsPOTDdlTTyO3xm)EN29b}|R`)YxeP2PMC zpra-E^5hr!0#NKNWsYbi7uFUAKpCvWD9<__Yl*|?!w^UiwG<;x22PFkcl}S_U(u_R zT%k*-JM{2`fS(ou)JY#}*@tdc<}Pb<2$4Zm#LtM>J#~&;x0`>MnyJgvS7KuR!T07! ziX*56+oGSni{npAFZuLs1{Y~j-Hk2Zk+&pVE$5%Shg9c#O2GG&fb^~Hk3cfeNBsC9 zo(a67DY{}v`@Vx+uGR0Tx~>_9SpUwHaBZ_ty76v~b}{rc#k4N>4HcIEg?nv?Y};bA z-RsozSG6TorjCCsYcA})B1`~^?^-(K|GE^WmntW(kQVB5>c=p@Ae}o97#zw{(qH+})bUDY^OA2~OfC z?%n=3oM_o04#g2`{{pL@p#l!8jV?#DDt`+*saijhK1Y9X^t_DM`AOR<;9dj~1^&Iv zdMl+ndFd1N1M}6~kyC-jOSy>&_uqLDcfM8MgBl7fq-QmK`|^rPLf<{-VDP=U8v74p zAHK#X|M@9S=6H3dD}NR&o@wb0iVr=eV4XAa;I-OSB@@#^z|hqo->DcZT(De)!7Rwa z=Lz=*V)uU#Et%Ku(COPCvTubD^kyhJK5~AuMEiN(F-%u$+^?dlD3;sF_{Qq}`bMjf zBvW+6sWVP%Eu}IdSJb2b?hB4$Lj{t^R+l8I1`)e4^|W7=kUt6oH5F$nYO*m>vk*&` zP`@G>Q$n}?fEh1DwD#Qzyk%>=)gNN@05#PSb(4RhF4?+b4qiCABH!UGFTDnsMxM)# zD_KoP|E(N6P2z1;utr^cP;z!uPkpAb#kuT|Xs-^sA@MngT1D|D7K4$tE86!${)Rq}M?V@sCN&?=)l*ypl=`j*Hy+z} z6z6~EpZ@P(A?65sjn>OMzcDnRt1Z{W2$jhCqW6+{#ZD{wxchLDL2E zN*FMDVG7gE;Ce!SL-qf+iM&937lM`;ZVG&;r--k5YZ)#b%KcA2RZSA+B&>BC9o%>Q zY$91lfWn=Z=a9<>zy`=Iy3SVXj7uNlbvS?L!Z`lKVY(hZ#u6%$HB%BLvth$Xj=`%u zPJSP47{b$E?_?^xigzS~<_|0H&wqL7C|Gfb^TZ1x^I(49G9v$e_AdPb3?67))HS2?(+`)Z57W?8T_*;LQ*`6naOFW&YhiCk3#j4-+`o^yMazKKfJcxt7 zL#_5w&KjhRp_I3*+=EiRxu1DK2rgX_Kggb9$UMhM=0zEIM|{4zZGCw{E`lU4 zaiO)yy-;;u!1olrgI1J+_ z7_U`(`E|S1C2E$b3Jq)F7i@JE3QA#0AJ`@@$x72zb{x%`Ivc9IMO*7ze-=Y8$BRUd zne|htLLWRp(1b=Oa#G0qXxV@I++Sed32Xubl(bZlQ9bl^P1H>AaI?CB|vHro614HRq~+YG=9 zmcpyW+WritcED9HY@h*WfLcZ)h}87Y##`;I~~8?RABMisWxuM?}FI z@OtehD$#OZA2T0f!ddH#3l`vZuR^k$7tai|;iOcdQ3zS1jJOa$=3Xe;AKcCD6*q(V zbFlOvpOW>K@Js0EmA%fq|7{_dEX-26rJOTr>~u?@B>k_w-fkX@jsh=kl*am z){0}wn&>v|Pl5bek#Q>Hg|D~)hIx41u`G3j2rS8WT$o37UEZ0hqu;n+eV-oY;Z;MF zZF}&;AKG^(DTaT+JIdhu;QAMzZo)jWWeS#Kjy`>%?O2>5L3L%Qi z0(SKRJTsUh2nO_yj9TrWRzru4MR6&zZ5e8_9(Yt-dx<6rvMZaym|8E0w&``*M0r+8 zJYUZc0g`&T*v?1G&zL&JG{Z49scE4}E-$LQ)AbDau~UC+D+qLMrj=>3qk z?ypl!QUsCbo6VNLVC{~I==&)z@%j%p+%ia)UN(aUF{tlj3TsSFSD@9KBSm)$^?PdA zRYFEL+KpHT-)|?d>Pl0=lE%2v0j=>5mg8@ms_qygP*ZXIHSQnW`EH0}8=@k(Z;Q))K z5Os$)ZE4gLECk&^!j>IQAh+P&1UL_7{#)shu!#Gfkk zw@w+r9^TMY#nm*cQLLgEjv|}WQLgK9P5->-9{hiBb<=b!tNC7V>B@Ys?Im%@{VA9| z#9<2mP)+#i?*-w5px(&RQ3+qy;?3iCm*;rf_c$XiQ!vkwopxk{JCoDIU&fCO0#>s6 zGVb?m0-jDO;s`YlPfJ=KV=S+h&9}s1z5p+GoEVIAwRa-5Ya&_Gc~dqU30;AACDGO3 zw_Sf~qSpt!0A3&s19D4p|9SWR)jkb_y)^6*b(U+D(1isaM{ew~zzp^vSf?Y&`*z5LtieXjBZ!-$vW$-j@` z2~$h@qwmqdC)^CM7lJf}4m&y_BVZjN)>nU}A4JX(2ZA=A2H3{gZ0p?rk`qh(3ZMAg z9dN1loI@@YbGeFfTy-_sHE}NiKpTaP`}ym-&2@%|J$opb8H5(35cwbcEh4UZTpUZ)pGc*2FzJrBB}X9W49a zp3>Kt>{pq7C+CClI%2(@@2eqLZ7;^Ld+q;ZEpLEh(~9@6pb|UFc~G}-zRJ8X zm^H<;IDWn8za5lh#?*ebdYy`08n2UCbs{8niJ%n0PpIJ@+(+OdfgG;<7^a;iM4gt` z9X?>_#K8S8y=NGQIOo=>zgT~VEVrCMG@oEysD6A1HDH_Jcw7n@5)>vlolLb}lH$r5 z54#>S9YC$?YcN2=n3$4r63!V&C>oM17|oeel5NSBWt6d&q2H+0S*u(y58@@cjb??Y zkqZ_Uk%BD+f>`{ThIgJ~E)Bi(0q!U8bY33It5_enmO%t_de`I!oMeCA?D3p%ZVa{p zz3`~UCOn2u-TBWk`HOim`#SDlyw#Q5E+O49j((@jl97)SA;{f33)l0WAmy&F_dm8< zGa`n0wzG$Pr^k&@m|C)=S_cA&`oDd$yaEEE=pN-iW&#OREkjlL3jw?i zq?3V4F3cVG!ZaqgD@B2rH^3LDuvd^5z>{DamMpr$)RdYvDUN^1D}wS8LOj6kazU{q zUK(M2O7b1oUCz6v#S_0^Bp)T;?nXN3E)UnUPtQN*gW-P9Xc4AzW2}QdD|KI7cF0 z5Py(MeT*zGA(($Prz0E#XuL~^t9(^dI+W2Fa70+0z7CGmt~Z@|dH5hDS&oL}-Ng`O z$34y~@XAq~c^ND6y&+nX;xyV&R8w&j9qrHYl0Ha7$*^p9?2|b4k`{TxmQ{DWCH89+ z^5@*^SXE3xS4N-yAfa2WAtr6AD!MdcVU(JH2?bZxC0l=Pj(HS_<71dg*O-w*FnF-& z2z_$st|{RAKSADZ6LY%a=J9L|KhZRG5sE6RxN`ix8vQFP9Eio!{;qkD&ekcGZZ+Oo zspD0SMC%iet?D;*RXU!0dz&}FmV?i-76MnKIe&aT1Mug>UocVh=b!%d_4+OhQj8>f zoQ+my7Sn$p(n%2i{L{bp5xdqZa~`pCx*j5S(yTRCkU^)efrWhZ@9k3bf?X+8(P1I; zUM5yLWN>KGQEOKC_68YV5+t31U1YcQ>cs1^>!teU<694QwB}S;lifxPZ$7#wfMw4| zYNg88>(b{=1zEQa%S4+19@9CXe-QW^rGgK7pxJ+61!bpy{__s#FSej*9lk zcCCMFqdvA$SE}SCrycRyrhDUDvbTm>YRwPY*u$Jq=p5eg0TR)#<;vME7v~7HWU22>*(T;4E1;YpSXgIohg|cc7V9DY9cT zSm71#+EZ1wj<@)B!k3>VTUUS-am?*j<3w?;_6bI(1zfarHX#QXN^8PraIiy|SA0k! zs` zw4W3fg251si9{*k3vFbBS;0PLl4yrpOv?}9roY(2+aC}wIRCRhTNh2R82>?`1CsB5 z`l;QZ=%HRHTvGvqp#x{bI9{cbrp9WkgOVNDQ0>c90E)V7>H_Y0r|F3sK7uB&tv#lv ziXJ1i2|oslkMAp#+Gk2uI= z`FW>U+drXU-7a#PY3c@##(FjVt}C`JSY6M=cwGjp*;C8?ODP-9LkwP2`NTrHOT1|I z0RNZwqSb8j@-ip)$bZLc#w($N_4Yy=xFMluxn`y0y#Nty;lJX3{^?&|LE(Qr)~8lX znWdjyq5FdWgm?VV$$@zjfSkY$;~=Tcexo>}d!EPmbA9VH=R&@lgLE9YvP9R?ECn@m zMSsYuEXs;7DsjW12{3Ac2kh=xbiSTc7>@T zjOAhbk9l6TRMsm=EcHslbn3{WGx+Ii?YrY$(ULS}@N<{?mz-cx2+n_R!t6^+sc12TXc~26 z9fxR=W?7kfc=rVJnd@}=o*kCqx#F@iz0I>i-F~j^x(Ma~me}0OSL-DB# zEd3Uyh=3DMAyq3OUWi}pdQM|;{RMg;ob07Og|6A$6SD^&a>aRB2b2IntQ9`<=p})7 z7xok&qK56+f`O&@7o+X%BM#^di6}zqI^vWG_g&tgk2I@=rfGke4>HI;nDScz?v~nw z9+w_0m;O8;YAGbLxgb1gE(iw{aIDc0l_*S%zU4*L3~x%*cru*ji^pvYp`A4d_Oe*crZH5{w_FED@d zei_;&-B?VeNJ)P?x?`qlXtZuB|K-jaX_lStttC6UV@8r~(b&z#mW~-{j)BpYN|T6Q1pMS@#2Z`e0=NA5n>>HIxb-4j=Wyr(OBJa?$Ex7l|5S{P|kj!%gxB_+5 z>&X^|p!|RS2Os6%Y&zY!*+abh(VaULw-oJ>Vr-J1?-A>sSW04LR_P&!&nIVwvk zhjBch-1Ak5R*?29QOElp7nUd*5iOJiP9DHWMEZXzSTR(c4Wjy*>N==2UIIAT@TW%Q zPH+S!{#}rj)xfp4UAHIfd0SUBV;r4O(DFm_48_%mBAb_;&;2h^$7h=LU6&d&Wu?)!BV6OU>c{EhtLcjQ-h>-!*D#6NHuk$yjWmwo|p zcYY!XEak$yD+uJ~7|Xm4a)J9Mze_$+LSKI)=}VFS$UtmS&<#ZtM`D)>d#gB+g^IQ) zm~K;KMVnVta&vS{#n;s{`A46k?qYuWPGFhB=n3w@Tdn+vX@HF=se&f(qjou{%4@9)Y*2rz zwq#1`w9%Q=6K#iq8cJK&${^&u7esUbSQy8jim4vQ_*05*Np`~=R7FE`gw98o_A9;r z9{>RV|LlDWbK}U7=3lAl*z?)9k{a)aW?L6{+Os=8&&{-Nz3Z^IL9!%b1p+hxiY<>P zV*Z9BcK_V`lB>)DND$(qC=nE?K}Ubs(_&LV)mNEW`A#yw&Wm{T?Kk;{car1e4ZrN#WWhy5AUWqEolBg z-`)HJf$x<3oA^jly$oI@`KqlN@9K~E`>PKd@6W$09}~*H^$;Z=-hCaHG>?B0H%msX zCEN_7{4OK;EM0ji`~NBY`;^RO?RpyJ(O07n?^He1oWM}t;io12T*9Yj^=GlB1|qA= zY<=j{+h~@QPygi`_{cEzz|?S0Q@+^g%AUMzL}4>~Kn}aA;90w{!<-)>#LFhrIEmRK z26>bY$Fv|1(v^HAkzd}%3B7-Q|Ni|n&;FAR%i?|gjb8~IfMocJtIB$R06PwVgmD@d zV>%)u`au3TOS5SiPvXC_5B`yTG??AR>23BWQZnkN zS&pNU{U0SuNSPEU$8o_v8PSc`Fn@7_R@UCRUzJf358J0VnHA;s=kDGR8Bh}KSY2Sq zGGmX8tE)7E_VNZu5lcO7__LMp5=$9E*JTeiFs$RW5&`y~tLmN`9}sEXgn> zfZi{EMZOn+PYpH8mHZyQ?Gl6iNthr@XOjWV$p@l-DS)k^xQ61XEhXjruwB19N%mYX zbc3F9c2Q1zTN925M@mZI8=l?cx)WFUGtJ|)OwuoY`L2Q(tcY@)Q~K^#LOg04p5<9i zkM=IKe-NQvO}Bq6MeS*~Li0uhG+nW5)d*Tzpeos>ABO&cK|3v5_TzY$S^7-NCf;br z30tL0D~z%?&7zVr!ICjk41S^{yX|J>>h`A|maWk_P{tExj78~)e9NqP5T4n*U_WnK z$okElo;`*pr;r(@ORnVF-YNsKPXb5R`a9s{<2ah?*}8vZY5lFUmCL$|fL)L1W|F?V{KZ}QC24q!uC;4R z0AJOSRaaLbQqbeOMP&R<082%d9Y4@}?ytFDBY#8NbU(Xa4tz;hG*I|^7~wlb`7KRH zG^e9)qC0=;<}|v;6>TQg+9~j7{6pyHDZ9#;)cpj3j!zflHk&amH%?1>M{^M=VTFq1 zYOVYPSvQ@)w!me2$RjyD%M5QZ2G=Maa_a{IjA$b)kUfdG-KMbOtR#0CMxUx9zaqa+ zllWdV()98e-wmA6j8ShvirH{XqJrT!ctm6CpQC?==(}MaPsO4*oh~<)KR%T3L zV5ld_BSy)}?08FNcJBktOSY2q(q-pB8Gfj?aO=1F=!*PXHX{)Jh43w-ha?`xfHk9u zWF9>hglUow@u*v@U(Y)*kIV5A4LI1iggATUGk{1knX`37DUZpY>OL?tV31_PdpO>< zz14pup{;*FmNJr`k12z+zC7asxq|*>7A3IAPN0-tx^TE%8nJD5_CrP&!!Z*8^ff48 z{X zWlv+o(}TMU+>LScBAd{14F2MbUCcQcfGPPa%`>ssx@vfyr1nm>-6tRtCe~a>)$Be~ zp+-|MwyxQd>%!)`2ko>xICZVUG65VN49Mu+7$YK*WBZGrOA1#aq+sfbBk9M9654;3 z2=FhH}6EN&T5@&-}HUUR@<(9U$JDS z0={V}1YSaLgv=PiH8C#TWCa;KvY#e{7)4blQt1FrGVp44vNj;R7q2c(!NuL#`kpez z;@Rt;e9Atil?oIQ|B_+_%#e^;At2Rs9mxomEO|Vw>kR!%s;A+WsX*=CUHW!-_9p6v-5G{v+e%+wzmsy7{-ysxH1a{z$E16@>M3Rq z@J@i&`k0tuI*K3SA|9|^FilVs^DD`kZU%wUR~hU?{RdKMa7*e|#i?8JbXyAi{^B_d zb*p03t%Wwb@IyeSM}1%FR>Xg)Tk$Q`x9vV_{4mt5h{goez}NI%rifCv5GkvM?ip&Y zhCG{;A;D->6}cel1<7(zx|S7Fc4fPd&g`aZ5rPg}Q(?Mwk0wV`DAuKE&}_hI)r?4z zDJy<(=sHr>mNb=bq;oIxb3ywEk*{f<-R04QjG?#==qjG-?X`ASuE~9&T zMV#A`$%DElOa0Ri2|~|z`V`Au2heG!OIdSe!;^Y8*m(*E z=yYl7mhH%44|XlEH@Sa>1h7;+*$Az$oy+LSimJTvG^T%rS`f@(sx>+KnGRv@t2WZGS%OPMtTI^%f^IMC4dBqJjm%NR0sM%s?hy^S2am~2g9M#V>4_WB2`I-h^A;AWKZZke^F%k|q% zbKRbJ!S*)=@P4i8pj)~XFe`Iab&xGbF>D#^k#kiY4$4x$ zFECX)%g7{3A73Sz?iuPt!D~#DSqW~dNAPYzqW1+UGKh+S?`j-9P%_E#*S=yf0UU`M zRyB$5#${C;oiS3rjfQ2`*um9SPl_oix(~jn<`PU#@m+s=^P&8Ky`_C3-Z+|;txgb6 z_V$biZ@|!a@zIZHG0fuu6O0j=W^OgIn0tC}RVqr6#c zr?maahrMyD+oyo4?t&H~g4ba3)pWz-xO`rt-T=alRkHsK#OLLw`1aFfoL)wkpAuSr zx-815q!WLdmi)!*pMoCIr)37#w%@O zeiaO+68NUsw*}uJV+gNcSUO@qpr1o1{m7LxOR@V5Fd>8&H6qMNUZVXy(HBW~#2`Ni z;ckD*ie`Fe-(+I_?o^d2`8p$=aT0*zK0& zKjRBWBmvGeB||mM_ADbkP;?bzr-uYBa1~3Fw}Vz`YF;!20dqVn!a+^48mk7LVzv!b z#5*bz-ep)Emfco6#x3<@0SeJ9+48)wt%!fq zBJWZ%pk#o}dK(ir22nvrwS`$*NQ|oc=87AoX0!19+gWoMD8m(^zH^A|kE7|7riIX` z49E0k*={FhJEpDMGTc_ZMnF$F5ma$yOVNy8uh`Cw-6ewRmg-0@j&^~%tU`s zNywk02aYfILqm6;!T}ONp)^gl+&=fY7TB9iL|p((Lvk(Ea9i?2F?3Z6afI9%X- z)`3lElwv;FE5nN?UCq+KQa)rxGXiW~He2eu247euNxNi_}UNs#93 z5Z*vPR_Gh9+1t88^dk_5e^-CRpWg|_;(b|imGd9?uz|8PI|yCX?I~*)WgR*eFR@F( zSG_*@tG-f2V)2r1Nsi{WL6cNZ39*~4uC)JYRBZ{mIcg!ZnP~-TAh#+!72R}H zQ-@DqDr)hSn=Ye&jrYEg@M#{Oj9Hh1U?plaE5{jIlQSFT^pW@(dl!5@VzkS?Bq_?J zWL-+?N6EgHt!qj8_w9dct6sX$s_M5M{!To%JOIt{99hAPjc#-Ns}(9yg*-$UQpMFP~oKL(O2S%11FP)vz8I8JK%#A8Lx`<>tYBFF9-hOS|H z@#_{4bzc=~h{;Lx!1r3rN1{TyjRM5vpNZAw$?JY(m~Vg8YIL~aHV;+bH`{6TN~nacV?xO0r3YXA%Zb(%JxRViSwA*U5v(&v z3oI{!MORY2&a_(D(59ERcG6`+TPJWHWccVhKnc4LF?((B$!o{7cFQ2h?e8AR$kAD@?CHg_PfljB@fo^Y|9?!#RA6I~WS_2zoo_k31$b zr`Sv9Bw)RPs=)$Scb1Ge7r%ObFOnwX(Gev7GmeaxS(dL#j)zrO<`LwzCy$H)*@`A{ z%G46J*?fPNf-L%S528N6VmjIQk}Ht9AnP64RHDpH=x3D5{9h)~Jtenv&c1p#V+t3$ ztRbOxkj+XwdWfl?I~a_LW2gtfg6Dfmr=-jyUd*tVnm&Gt+Ocp%#OcCkqUnZWUV=i2Gen zKAP^Dmi?sDkYu}>s-i>ifaLRP1!!OK&eYj$NwK%x?F>tEs+uCEL9W&sq2#Js+zu%p zGLL`xK4nzgUkD1Pu5L`c!l!xm5RaJ1C_vX>0%ZGB8+^O=qWr34ddsj)iO62!%e}d% z3b(N3Lyr9ka-1(vi*;sw70^Tw%lz2GkA~z84oIj93@PJ`$}&uuZ3Da?PbPE}GmD2^ z(E||FU>mTn4(MHs^|H+P5lyb?>fFJfk;i}7T@d90p3Vg*#Yo$Dtwzk~nFDb^G+C@= zZ)c?OT=^$*=_$UVhry91WFAv$9aQZ^NdbfM7#~tf?s+HrTTVIG-RRca*jkj*FS=P8 z6HcwJLeE-TXStJ1`|F6K$k&ySfE-q=Kh07h89{$# z=_OoMT*3SV4ffnEzk}O;s$sUY(xn0i%Uq{n3g`;;o(OpD`Mt57 z##UQVKV{~1tCKe`T-mI7O19>jy4s4LNv0d9w)Ivt&&^KuSCYPm^=sVI$9a}BRf;A_ z!JSK6)as0>swh7BU+yAdXZ!({+Kqo`WilHSa2R?7zMKTdVK7aNsZ22>W&<$b3V{Ax zWi}O(xqQ8%ikqHeL=re4B*@`vbC3tjE2o8li#p96h94A%#E7 z8eP=tz7VU#l>=KcEx9M#ofwOh=qje}N~Y5HDyU_s2xx|*Foi^Kfu`u5ugT7`nCmd0 zon~D#choNjGB4|yp`-8$hEIRq@=P<83yJNIJ}eKRfP!|@D<Vkl%VtILxM?-( zw|ROxD>pycd4io;m&@XS?Mal*q689tew%@TjtK}6v)7B+beiQn(!nhGK^8Gnz8JHQ znE8Gxcu2k~oBC!F`xpA?MRgQ7Z>7Jgl5kCfd8wEmW#w95roZmPg^PbTub#@V%#+LE zF)5vyU_k15KAV;>Rf zwqc=()^tFss;wWU(7Gx6`{w6QZiSZ?J?pY8TaM9P&D@(fKhi8fM%U2h>SO$8k2G?Ex~Iv8_53p3SKH&ZMg!uz*EDACI?wj9p2G>NUf{a2`fR13 zlReJ&(t|`0*;lXnv$ulXp}@96$2XiOt5a@ z+3Mt~k9?Z6kYO+V$Vh&R*;{?1!9?tnXC3Ah`8RfWljspL4d6d%R-%6nd^eba(Fqlb zIO+r_vG%@2wuV6r_}=HCM|GC)(Hfxt;&2V@60WtvH6ec?2j8aZjGbqtTfq>jy9zPlu|%yTQkmplA}s=dy@yu^BU`lY3_CYmO_;UcdySW8O0zl#burFd8)eXfkmyuR3)k{m1h0X9`L;f(5_Tf z^AvkCul;`^r?*1q|I?5E^?zq^i4@?VDiaYe%OUxV{2C7Wryu`&+W{jmhdJO1(_KL4 zPgHZ^#;ohsAc7wM?^Dfv>v|drOFGt_J z@0V>-7Vffn)Ke!o$!Q}S$7!+HfN;OaZLHHmYr}u4vdvS~pPoT=Fkv8Tmb)9Sb!UTO zT5xODM_IboHDP0U8nGAs;SVeOd5_4hp{~Pf4p;{OneQzPVH>vRU_rosW(D>+sIGXp z*$0oytDc)y{953xCa&5Cu+IIi>$Vg+tvY^PGIYa`QELCZ?2QdcOV#|%*=`@!Gga&= zt>AyCQw-KAi*+$I`?t!5;zc$MemZ+rVz$D4Jgt+m9!X9i>AAKPIV_+{!$H;h!NLTA zEUvq(D(XIWC{nm27yA^E7lsprlJ2zp6RK-Vwx_(P>|j-iM|q)Gnq%?sz*>3nveL|k zjx6t)ucfl9aHEdQ7hQc=X-k@`S|;Dg3oL((wRN2`y1naS(sGsqC0{<^fY?hI{kp4P ziHfrl*Hn|X3M^ND2hGM-HK`@FD^MFnnQWc>q(o_CZ)*Ow-aYw$d^|1=z7=a^0w8Q$ zxlz4o9X|xFWhq+g{xnoyQYB?+Eu7!|x!b?~yR>RAVg z>XSdmqiO=h>!J#!(e1yag=c5@$sh<7}Q12*e3hn3{&` zxMn}awnlQl>PXeHeI@YvQoij(57m*hB$F95%AG;LmwX_S&_qpHwiI9Ku1|mZkpN!5 zJGKH_4b7f>gvh7TK|Y9A+DfLbX-aVRbAG$W7yi_&`HvrnEHt0nunkQy-Y9QMz8P4a z+n0a{(GHHnsU$liA4!NkH7Br5-#bnVu(O94{_y;l8tMN<6cIi(9m`Wq>onTd4+Pt|*+y24wiS%s_yu4OB&kdJIDhA*p7i+M=UPRqsZQs}g|@CreX3NoU@ z1g4}%%NZvS2I(v=jQ9EWXA5}0A#8~=SfV8UD;BH^k8OXRyXu+ym0o|kQBNOqF*9oYn)B4 z(sK=gM&2JLzYQY@8x};7u2x?7e!Z3Mhqe?b;k#qlRo!NVtJMaxZ2zWU#>#9E7n3Q|Nb%|$G8y+UXw^4hfpcH!P?psUSuqc0!C@bgiep9hd<9xUD23r3X zAXqdcLH!k&3G=GLD%&+A;f(4$AQP^V4#;whqzY`k3bs?Rka~i0?f?twWb@oP1tN-$ zxO`zGTtWhE<(OIs^vZ>W3Jq7}aDF%+yT>V0)H*v^Fsj+)f0<<^y&}J1Op24ZmcvUb zn|ThI!v%jN7NY_ok{4+Bn&deKNWeab0%+|yHNkddUkQ8owzCCk{?(f3pyd+ zOax~=@RY#!&mQLuENd!`>;^r{icyiMBvf=W&|H7LZ$~Wz>#8(tvgr4V9|WbMY0HdP zjh>!`fsb#SLh%E!1#{$m+1I?Dz=d&!Kj?rE8boFKzG`8ucn_}-yh7<}p645Z)7w}3 z2!~2J{Xi5U!5~Yr<0*D)_+*cgMay%dz z;*|j&Wwc0t`tk2&BY%ryi!`xlW!pG}EQOi60C0EEZZT4yyyvi2#xeta6@Vo}!`^=( zL753+e!B=IE$D`<}wH%DC>?bt9F0WtwYcj0Z=hy zLp6Gbdz*h(>#jFkGrkh~mfnZvpUr>2Mre6TDEA0Hmw$~gv<%Db0c`W{YTfdB@D$TG zCChF#d+Di9oPWXGk>no11%ge-uMi3Py5WW)Y_xj-ZAm~N0(d-W$(t~?T9R>ur4O%1)9)LgdIZXEkst*KvW9fz?ZO(Oc@ZP4aK@x%9iF1RlBQ*urnxtePLw~r@dNP z$ouua86(g_1v_yx^lrm(4O?-R`t(ypdUZGThc7pdv7ymxTgXK|d=FlRt6U_K$6jGb zdOv+&0pFhW_quDiy4q)%ZWnN5Sx(ER36l>*6-n1qd|izFAYyYr6jKSDQ0?n7cH+C5UHd%;`iC#Xa%weQ(k$OP`$qWdcc(LbLJq8+ zh=ho!Vo~9$9@F(h$Lhxd?gUpPPn+q(lA;(bNAz1^M8!9CUGn=WPCIF3DapV7D*X7n zF#O^RK~XMQj;DXf{S28JW1;d0EijoD*KXaxE)7l74UEqn5H#J?ec9U%TII&^BJAjS zC;T?=; z1r_zEAAm4AA@4ps^m7akJ(qRrYA+174ig&XG_ND{tyA0f;7>2<8mn4J1 zG4r@!{}PwzGOjA~Ad<4Oj`!ji>{2GZtV2(GY3@|BrS&s8;b~nC^E{9o? z&>@gWl_P(2o8?NO?>1VWGvt< zHn?}P(Cw21g>_3cH}3*RC9J19*>Y4l)LZ#{8nc2uJH(8tGt~ihpHbaremKscV>DB& zAiCJunbQ?iWgYE_}*J~7U&;>{I?d{7MKo9KodHlEPSt|pP2M$ z`8OJ-R1{B@jJ^-s0>1silu8gNArSC!yZI znk#<=df!b{3~2}m$LWZE7H!C`$ZW?B=BvL!54R>+k`YLKJa{MZa912BonIv7mqZt9 zHOcf5U)OtpcLKZ`Mre#9EUwA-KfJpj(H{~0KM92u^f2(`H!v!F{qD@b2^_oa*zKum zJymh06>T*q`L3+Uw%cR73tN#$l^z;OV5xt7HF|}nPf+qP}nNyoPBq@ypkZQD*dNyoO$j&1AaoO|yW|HJ>bcGZ5_ zW7HaJ?V5AeWY>LGi)+I^*mJ?rzAa|o5>k?ZfbVjC`mL%3ou%NzPoAS2uDJfS$bR{w zzv?G;$N^u1h7RU&Hsmc=9IW+JLY;6}L?>KlWH!XX#0-pgJKW70fZzdcs(2? z?nBSs4j|;pn={a(_u{)XT1lq?B5&+!1%|04u)z^Thw)<&?gbZLDnG&|oIj zU&gFcuUl|M-|1{ zPTK0Z@~DE2FtgX>@wdaiS-A74q8IcAm3eiWf@*(K+wzB`{e;-pe#Pi7(j7chF34AJ zrCD^!ls|1JK4Q_3V2!6DLtLz%GwVhb&;%Dy%Q7?}c)_h0mq!>{;$Q^Zy-NZ9dBM3c z^T5$_E9rb;k=OIh#P`B_Nx>OVZ&}N_eZEbs8_seBjN{OwNy7AvioONje`A!1w9<1DXI9PV!z1Q-;jMc|LQ3G31Q_L^&Vkk^R zTMJIK!YDH%<%R3u>LXs*gHr(vLOgIx6x=V7zDwWGA=Gy%W(PhI(q+%=&u zRMHe{=`}a%ixxXW!itY93l?rVcyhT1_Gx@8IR$MjLzjMB!pqNwnG_4K^otzXq?ss_ z*=PdeXi|dPm&|Y25=ekhoZLH!J-^A@$v zo}|Rv`7`bzUs~Ina!}qX<;{kZ_Tsxrf|-6t&#^gSiKGY2MF(MvQvQK9zGBVeN6o)=C9K-^A^bABHq%%q$rr!{EE++z^XQWHg#I zM~|Tl^0tA+G~+0asH@sSwph_GU?-px=wV@h+>E2>gLdadODe!57zF+{DC5)!noQkO z{y>s=5lr@-Uw_IW>!|rDR1{C@oT|hrUu4+gICT$l4+cFqE2v`QgL@B)+EUJJZ^EP? zE4p*gZD!PL?q&xay zDJD|}(Sj>^R{?;QV!hS&8g(1dHKWBvJX<61p}rEmaOUf}yLY%$mbyn7x+IFJ=Bz!} z>a7MS9vPy;$FtP8Xo)wp>NRyI%sus@UgI&=me&5ni1L-7drA)Ae}+HROt%8FZP_U- zs-`Oo`+l*L;~JcH(8$4#VxqFpivNf3u?2U#W{4d9DiCnrCBLE}2P=E*J=+$@ph}pZ zQHoK?pNXC+@(7$*j8%GDY>{cQ)?Fgn)*%|WyaJhB{)f0rf9P{d3p%qgL22V>Iz2MeCp6_9a_2xJLa#i-h~tk zbd00`cTxfMcR>D9Z>-U@A7&{XF-lvrPj!xpK0!BuwX4vz;N5gYSh`n#b!q#MF7 zX^Pt|EEz%=i5oso@3dRZN0Z@mGAOfey~p)KxW1;D_T%@im~@fMyKM>Eyrg!a+Xw}6 z#{)DCkh_stw~5w`oM^Wn*gk9o7m*5}Q1uExx|Unh!a6~}!o7kXDiu%12x{3!_>Nac^wN3a$X-f%z-s-gOMt3?gg4V4@c?S6%__h zAV2%uYi^SbOroamrSKUKES6c@?CaIwck$r>|JwgC7%o!B+EXh*ZOn^o&o?`zw^}W_*=_he~4$lUL+Mr#+)h@b%Bi z7Pu**z#!?c6ll7QRDlE^zBqR@6W+lugeO#(cwUM!mlF#5@Ye~4s95`#@Qi-l<$NFN z69aQJI5N6e$$g-U0y@2NVM~4>uk z?1tdu89Xn=$+Uljf=hdjIwJ!E4N>T{=tekvnFsnpirXy|ZAZoB% zL^nEXCW8B`lYY`@6dP#Gwr6{Q{Tn+(KaET<6;3~D13jyr4r5zJsAluf#Ntlh#u);szw_GQ+)}@)P(zJKSE+X1^Kv}ejH#YYmiaKK@u51)NK?d?f+he&=7xSiup4EA& zwqs>mX;6cq=Bv3>=hX^e80!LFUoKpX+gf5Y~pdYLwS#zOrN zxxqrH_gCQXzGpUpu^d#el}Zcnftr}N(u)733uhsYj&uxdmMzAZp9PLR`46n?-!X#7 zl3;=6U`oC{mvkfdMpiuMwCQs)DgFq0!=R6#EN|*C3gP8Oz`TVrGba?C9c*diXX}0RbF8b*I{}K89|O(~?J~De>-*$p}xO*ClW??u03qjxIQb zQQ^A#o%Ve_d(1$(kx9h}ZY{Ht#0e&6`;#NkEqUz$Fu;pz5u$e-k3Zwba#JR(p1Njw z8wdTDe$PtN&zIl)Kw?c<{%hZEc>Ci!WVbXe)&GxDXX3q!ke-QUbiks2$o-uju|jA& zAqtzJISLbL051(|~&E{G|471UpC z29S@Z?^nTrtr)FW_ERNf~8~6*Vkoj zvW_jV7Rg@MS4S6$G{B zG5~k*StfiQFqB}As`!e1qvwHS`uHG0>26mGlUj1VmrNDFZwKQ6LXVyd925;8Lu zM61fHc#Ufw{P<{J$|$cHOEU7U_>fDvE?cvwH-v1Hp;Uy~^rC28ICRmQm=c37p}>Ky z>DBUcn)JS1G>y}mxFll~M2Nv)7x<(90m%VdlCVlCYtZp- z?l)|RZjGA4P*r}PXHn?j`pmBU9G1=1=zT8Ix*^qVErd)gB;ou_p``5i<>OV?h| zRlW_$NVxyc07{lC4szqjdG7Cwi0f1S3gCY&^J3g`{Jx(uANeVBa`RTzg-++KKI07!HW1K9~!TI*>e zZShQ^mYBBe%}`o&dSq`VBfoO=xRSHYkJ`M zYd_9q&jXr_CNd9Gfe2koUH56jEH(Z(aE()&cc{WkWn<%Wt574`dE}c|nKRiDy~~1J zSS?S|1`F0Nel4wYEHS(G67Q{8NH)>jO^EH_I%ZsMT<`Xl~>tM5Q9!s?x~g;a~Gp76Rv^^Lb`w`MJUWyQ3)5()^{rn zpjC3r(IXpRsxJPEeGnsUc-JQWNan-DkMW6l+H4u@_siDptAssk9$i`q{4HC+l#^Ka z@_VE`_&OtEG&#(KWs_R5_bUq^){u6GK`7J7Z!_|Q<+0_f#w}hQ*N=pTp(HX@Vk5^P zNa@F|i1l-G7|D%c_R*EdDtSIgRllE}U*@R;EHC-&k=N0#-1m?6AY#;51+_8FxB?D_ zGE?IczLC^nyQRE;fsi!mutM9jbLed~Az(MWK`uP)vA1o6{W)UL+zDh}{%g$UT^VZ1 zUhq-Z22g+=%%GrSG=Ol(Q@foGN0|c9mBlGOe}_?7w0Q{UU+LF;w}~SFS3&?f(&M>- zL4kl&{%4(=IM~^l*}ML?&WlrJ9rlTk{I6**0YcqntJ6glOU25lZcDOiEn5@YDUmp4o`ta_)DSGe{KR{cSKc(X^fmZZ~VG9V~z+| zQb&Uw$xr(Myh{69bUlDhhC)qf;SzQzqbcY_9SKJc)5yA;E?5{y zf5R}NS@D<|iK+UgO3+L=kN`FOc~`7c!mKQK(hxns{2|kPyKE*RsoT7?E2^%UYX56_IyEuK9?nHSa zA^Y9*!wHpvFAnthdj+_gM*0;!XKU(`ua5_sK^2!rO34Gxa&i!13LEuA<{44wydg^s zapw#GuO78aU&B;*rs%0>zEvQ!0Q`x$Co*SOazc<2!Y|H}M~rlCB>0)fMi$J}vC1>v zMj;#bflh#(=mN-``SQ2cV)XB!UMKGk{IEwpb@pQ{^bw;Plb~Gon<8dPprlnY{wS1X zzafQG%|w(1vJTSu`{+!L_8_j?U#*|(!Y>5?wcHlAC-!w;9TeDSF76;T{PG1+`)>0| z7a5lFWRlpcHf5{3@jenR0w@-|6l6zwvdH&jy$;3^z3PN2=IusbwE`07F|7Xks&FZL z6>xA@@#cRg0Yer4hUJCwg`vd+@m}wLA$5T@S)xdEe@{%YjM0(eJ+*jItzn;JiDAzH z4z?QxbSSaC4yiU>mSgnQ1tI-4jP9Cmd;reJb%9o_&84`BE*m+&T}7Li+W+dL!MLsQ z5eUva_4Yx|#rD!S^4Q-;*q4VwQa;|?;c(hSB#)=65n`ya68=6?oPzPCyp&Ks`qY$d zo=8i^2IK75R0jLI^QR#^KOGewlWl&HSRA!KT&{ad*~BVPAF*CYB~j^8s_@O$GLBwO{fn&Jh}8c{WGiT{l`XtZ*bzWJ@aYg^HR67YkOxqwrcOAM-~uw z`aJ1rcH64;IHQ0m8XdZ1<6TD9V^bN!?OXd-r&a@C)`>d`E(`X;AX z{-zfUGe~_J538yhmH4pf+39|Hd1I2JRZiyA2yCj-K*wt39C&-%<3ikM1nf+Wl-!0| zQmQ0B?OYw7zgw;ETrV3S^0%<>HSWw`sm()H!~8!=43-belMVOA0t^r|D1E+C}VJ_)%^5!17tsM%w(SFcD~LJ z+AOd<++JS&OxKtY^=O8h2Mo>Ru5Y2DmQvPCB)OQ~ThO07;i%t7j9WYPY2k6O&0LQ?Y7svpaTq~wCV&(PzTTOp_Rly8@Z-pw z5#vlsN4hh*&IiiCeV;zeR+ks252IG&n!w70vy*J7?M;q_!7!qzWmxUuQB!cGoG$L&B;31T(8H_@Q%-iB>4Ix zzB1K=d$xSb6~7oWa$&X;wXdXDd-8I>#8uQ|e10#FSWLk>=<{FmUM$A};)jzjeF}W| ztB37+xN(ygTxLpNx*k~uEKG7m62y@r1XJ7ueO*{MKTCIN0HHR z(dyNF6W#!E|Go3|QW{*5w>{p|H?pmAkLZ)zZnF&QY|D>dRlGBAc;}iK!%h!OD{nP~ zay>~du^1i}ARGmvk>tz&WpmRxelVAid!~yD7S-h)E-^*_~ z<2ZaAKrKpEuV8cqmVt7lz%*t|Aa+HUnnRT`KpR5?UJWbl97QcP&uK~tt92vObc1)T z*vh>78%6_PU$LQ@?Ja)1@6plxZ-A=HG}^Y^wD>UJuI^8xG1i#puprl&SUI$_H-rs^ zG%+lliKIdYlo}$gv=|{Ba$F+d-SUt%SJEa1a2NwN;yj6OlRa3Zh03z1auqG*Ngzpq zJhLw^m+pXXf?t}yPh!LkC4nxd!vvwjOi&}`nL8NngtbR*43l_;wVkIs1W6ibl0zzn ze!}djPO#yrUy0oZbtvbF8TsgmDJ9(;&?QSygIN${=6AuW*`M7z9@LrpL&-A z;5HixO;XDoH#^?PkKQkX$W24`io%zvTKV&J`@?)hWIy3Z3rG(IDrA^CvvH?}dZEQImq-l1fL%!6uQCmPz>uBNt3QEgKJ(&clsR@A&SL&cxD%yPv31%oc z*|~p_&aY;*c*w*}{$&*{a)foHF;{gZ6!PO(VHhe+&Q%iW+8qB*dhjIRt5!6Q-Ed7A z`>2buuP;yDq+ z%9vD56lkZ_Sd@RhLDo5pLv6=Ub{x&b!O0lLLH(*aeeAg-l@jh$H3-Phw{p^S4!OT$ zG}f7eT;SHEmv$8>UHY77tx|6oz_zF-bMlk=-%-cPOt__z>xIrqk}%-zi87Lz!6VXR z=*7*!bu=^nG_Mkv)`}D%o-zSS>66Hep{e=I%O4}1NfB3ysI-R@a*WsasDysqMHg8P zQOgB8=eLh@@v5Scl8=Il>)_n*H52Jp5sR7fDTd@BcC<8XsaLqHO~RB?BB__cYH_ zSm8z@(5NW!?x|<+TBS_O(PHUS+TcbQDosj=)%4JRN0*=Emna2jRd3KJZHH1r71~%j z#@9B$_MrtF(nm^A6cn1RQdAa$w5km%1hF#7!0(sjf8!;9YxJ;vp6^;_S_KusPsvTr zs#`I11$O3#*e$lRk<$U%Au7h8_am{1!OyeR$yOWzP;*>}%M#KTK`l$r6It%M9*)P& zn0Uu>9Z4uFAg*QTwYKNI%0Vl_5OXIcY_)!;qj1v#Y-8o29r;Djt8eF)xJ%MG#e>~q zl(-C%oip)ti2-j#O%d?W)X_$rMN#PO9R@YHwI$f*)c^dUFhKwtpaW)u+iQ-r@+NG! z4P-dPEKe~K>CrQo(I^o2F@rp2e3|MnlE7r#dcoc@Qo|{BCO@PX(IZTfR9IbDCUxpq z4QsdI7I+hR4y9W7!{6;*a^b@nRkxMD*xB%1Uc~(4gYSRL+T+t96Z&DgU=zUOB%>m| zC)>*DpEiO$eWn4Xh0^VT3OL7(@FDThe@mq^jpB@0p5eQHar}65YnkaXv#y!LOIB^8 zX|UPVlnPfu&sEGxO2-}Vq0w<7;n!c5OhK=jXhx2~mI_Iw6)tm5>dwBBCqxmEnr`({ZUGH}JB!((zt zMI&pXT4W$BMXQqtCR*G~haB@_8>#se%UEi;SB10#C8KoN59lL%a?dS`N?Pu%C75W08N#HUxpAj=8TJ$TU+x&tek!EY8 zP8(%5Bp|!fPIqXT4y#}Y+>@I@KXr1;i}!B=(Lfvc!%Cc-Z!Ct3hm4x2X+kh?a~eh4 zn!x$y^#Dg*USg?Be>c^nCxTKN=rzq3i^|Ults}sQW{|;^NA5CmqaEp~V*Fa@S6xJEW)YIeKS}H(OHc-$ zz1%g7jk`2%lID<-?C7_S{IaXCpNf)y+CzC)emO?b`r}hen-CCpKrD$2BWSP2I%8k3 zLsPG=c%UioE~F{IZVSh{ue;;i_bNfH3Aqku5OBLj+`mmLHOKxov|SOR18?_alj%bP z9O0H2!qqKmZ)wJr_`q139Jde5Nr;OyDfXQgxcs(f9JqUk7Pv}iT zDAzBmaN&?%4M-#8r$OtI+oDF;!AU9tf*miKK(t`8Zy^hCpXs5;Uhw##s&2N%h_nWu zIiSWg{{ln?~>}8ujZR}7d1jY=a64$uacD-=3IxS z29Yr~W!DUa!o=Rmh|($&&rpn1g^1G$OIy(+n}yf(6yuiRu6%i==g+;uJPiF zEy7m&56Spus;a!Y?^x~^YuGs?;8)dwAsQ0A3&j2UP4FQ-4zi;@Vay`5ilKN>reyfD zCqWes28VWJRedzicKbO&&WR&A7mwb}2GZR5@MZLgU6@1tu!1W*ffCY2euoP9I~`22 zuc#~!YJEv~0Ev{G+iuJ#FNB$6DQ1y_h3^zol+r^uw&?9a5;8v zZ#)A^=b2T9vT|H4;YczE&8E?=U6_*GW3 zM&s3q18vHYa10dhb=$Kl9e6RS(R16gEJJv)Jx@y9jZya|bZ`s9HJX@fOY;%ZC-Suf zhhUzxoaOewTz0YYXn}prIeImYXq5Y-FN`2&w5&r<0`=c z5&6h@#Sl=npfIzKws3eq`Z}K6J_Q`KaGyi?A(gIZQ{nhaHZ^4eZV|Z+J^}q&G-XL>nuO_d_AYNw9WGHKC`@ok#3~?dDMkcP)-r z!jz%p^IK^HxF+sbq7g&vgprf|%Zw>OPZvDazCfy3+!pn+*F4DM zvUR<@x!cby}KEj)YJZ{KrjWW9xyEl4h&)VT?Mc6~VA>t{1J82$^U z2Ru}DxO=^Q>^I2kuIKVmGTPlW$m^{u5Vq?0oylhT*|Mf_sBByjAPlJXWJ|(!epFw! zy-%5cJ81$w!@ny}2ZIlTWE?!IrarxhersI=G)CGw&;JMl9vlKX-+vP_5|ZF*Og!gc zJb11UhPuAZ<4RwDEjoTZY}^iotqd@-+Kqc<*XiRS?t5)~i;(mxq-@On5H|*-wzIJK)Ciu*<3a=f!TW8ZTCYdG?=aacsbtFpxEqKKwrb&kA%}JsU7FK*u4A32kJD z@{*URhZ17Gm|8~J%7*jt_c^3v3~KeiC|k;ShaQuDa(o@|gODulp8Mm?o1+G_-;Tz^ z&g5-WnPF6hiIvF{0~mk5zL<52dU;4x5^2X;PbTTSHhn)EsSC|SQjp|$-gP1T6F8{Z zwhAY?a|~^*hQS(K`YL{@11`7l^hd0Fj+6I9GSEhh(9|{7sm80p^L8TmkfW^e=)>le zMPZnpdU@qojqzxCCD?Ep2N6BDAcs(eZbF#P-}~13Fom2GoLxb-NXn zz|`r5>E`Exz3EiP@5I-Y7BTQ+1ReueH9wJGS+YP(%;t#6g(3!&@JZJ$akT`79y0X#LEp68y|DsvLaZ;e-JK~ksR`hakH~5_c96vz3%7&aLS5tfHG$!Qp}{;Kwt=%(_DgbW z?!~S-&7KUyFNh^jjdRg0X=7vXV>~=mn%eTtIet984G&G&TNg}ePdEh_5G-8Sxvj>huBMh&NL1m8p)~h_tr_0oaVW{Q6(f!>-P*Ru)7c zptG+3g5+tp5x}Tv@tnZmfOhn5##s+25HL$d3JmIm#2-oUYU7pyb0?L1=}C(*Z39!Q z*{HLh*P4JFVS$iAWt~#u+ijd>WHFh}m?t9#stV81>ooVlh>O%wS)KvLeN`Eee%RdI zK6^WRZC&6YS!U?ONZbnGo#Sg)*PsR!!2NhU$MWL&iBnw%_v~AK|1*P+O ziks4{c+6Cdjht&GR$qDjeKf_O`*^%0$sU~J@shHqoGZlS=L=5Cf5sbHAYk+F`)Y|S zlCIZB<<9N#xm#JuXdjEpZnnA*OiHT|s^ZLebwcT~H3KpuEtzdI68)QOb_xG?**f7H&A-l-EC87ZWYul^NhgFiZAOGEMP+8&(f zy!b>MdT&1WIDKD>`xj%#@Z556zNvqcIJqMIWltBR_x8pF$h5`iV=*d!{AZ}(7@c~q z)lMT37E;SL&ovRk7Xjp{J$Zket0Ba)7z=MVun4CUz_K-C+m>F&k0}cl8q8i1{trHb z;R0Z>odkZndx>cy+yu%HkLTkITu%n12r@QClD22c;+16Qs={4hs(I+FT&2XlhoMQt z4ME^;F4^k^$dt2?Q8tXViR(V6{F*etj8!0qu+9+)XTYWGW>?q zUp-!2)^Lsf^Cf1P0_agN1|)v`@C7eFpE6!33M|9`>w0)d3K$EBDiF&6sX$L8$S;pK zsFX(Ch3h}wcVqti=HCH(ZgH)29QR}&D16}e4s}&TfKXqavb<77@~9;~2V4=`n0&hu z`g_WCq(s73kB068#GnUi5rmPbe*^DRJ_KY#?>nQD@to*{UuKB_HbjC(3k^VwmIV~d z+RO(4nDZETCGf3x%Y~o-!sPtx+3gg#yoNVVuVYZ!UpEq3k4ER-bOe~+oy{Oc~^ z7XUR6hgy@cq8vEe-wZmy8IC`{%MvwA*yj;obJG>H+*g+5_A1PdHbwDqxdXooB@7IQ zC>fql5DTDGTv$5wf*kssSp<@W-174OJnxYQI^rVfm9umMWm-%@jsYS9n;beOn0Mq1 zWt%{Y{lr+tdsk#DUem*#k0;K?i7(;)X(<#aXoRwv!X5*`O>;m#Jf*XLA`o9ftgHi? zH=dLSUz)ROagTuCxqNNYJT{g`gGv*iS6k}ou5%%h9QP~=5#@Y9?Qxly>vgG^m~Al9 zH5Uj}OKbUqCx{C8v%61w16a?R`SbT8FNCwQ+QPI32(YtxZjI7?5!2b1OD;DCLNpB# z*4Mk(t8tdG&UFSvNi9?&*Z#)xtViZ4mQq5*Fk>jeb*{Jn-1r{5X19RrLazGnawb zE7cIP1RhF95+W}5xb_ut;F`6UPek&8Yofz}H;J)gLQ2umN%$|gOxp6qttshg8Jgyn zTj^yDUnIAi3R(MM$X_i`=uicr^FZD@QEbb~|IC@=uNI>$wg8(}q4@$Ss@NAz@gP-} zX{+s-6#u)piHLHj{*!exXF3B|+pD4(nme-ZmuzCS2&=0UlFaIaCe%64!R@Z>z_Yue z@L?Nq^m`dp<5}L6e>oBPy0|ft<#MY(s_k7-F@4o`;~2o z;d`;?#fRx$!1HUkd(Z1b7!4s!WOWCh%L&?}NgZLTu969AFN8p-AYg^s#4izX`ckDn^ztaU7`jbl`1{uOV& zB2ze~sxlS5HI@@=QP^{>{YhQ*%{mUAs&WS|OTf%Rl7>U{$DonCu`<`LTv}F(SLFzhiS^b7+XOJG(zR^oeZrSZ5qXwM!c}OekCno!(*0%Iv zc1Cl4*d%OfsDfd+&_uq5FW_Lme z3Oy~QJp#UUte?6velHR$0T4c{0GOpHIBlF8kEynI!`nM2QUC`Oq_z855Xb^A#L9>6 zzhi+y`i}$X+W>d|)#$Uvuyk70XEN2EzYV6%by)iNlf`)0dRFHQx*KI#0kTyRN(ea@ zIYG>!aLh){#c7m|PIzH)SzPTMz=ZZnphA@lnI5?g5VC6vQ#_h}MH+!Vuu0s6GRu?k zrl4awlFCmvO{p3Z3;wAsB3@Q_E=mlAYou^0IuHvBBmgq+dM*2LUV+}N?feZ~A8(VL zZQC{lcL?ycg>iK6;@{)j+on45=nvx4UxrfxTxaCR9t5>b z;!LV_=IBxA!DOTS-Gxn1O3N6fEW4fQJ!{xKghqy)yO{yDj$VdsrmBhrM+%8Wrd_J3 z0j{K0mQSeaf&>RSiCLx{jHv;(hE|5pv0(~J<-*_P3SU?u*u8)svvyyCe(n zH|?nJCm4rh3jK;?b4688US)8l+M+ecl@B&O%|&DIdz0TM5a^IdS7kV3T-)VG+GcE8 zQ*BEyW^oW4rW2VWPAoDUm7b#D%mO)E^fXi(c>O^vJda-#YAZDc5lyG#*6T-pPMhpm z^s(m{X*5v~m6@rvW&m@}3eJj3`xL2Cfx_wy4>k1Z!h5zC>P~$cWYj3v5(7{764J=rW!Tfd2^d&W8^YE z$Y4)@8HJECWQZz^xFoRkRsUyBrAk=8?7OKj?p}+^(3z@d&drAqdJ7*|IqqJGuSou% zoAru1H>$4Y=dU(oecs0og^(3!kC&ChPHhcX?bsN&WQJ0=`2f-l7XJW-GJ8f1*j6t0 zauCly+VvPdAAq&f#T&g^jB3!G!$o`g7ltx-n?4Wj79GUyiHa?ro4@-iol57{!V}n} z{&JW6ehNFS`OvL84lv#x$E9D|Y6-}M?iE}H?AW1ns`B=V2Ayabb(wJ9 zc7}C;&WDtrWfNK@McZ+Yo^{2{TX5x=+QvqS?^|>=AixFaQkliKl}uH>Hg%gpZ{C7M zWa*&t=u#P5FI9L%$t_j*J236sswp}Nuf)`QBw0-qDsC4GPP|gh0TwH;8=P;E@uSeO zHOCHk80+_E1A8KwIy$dQn+0``{ne|V*PjthZ-MSj6FQ}ez5C=e@92q?lL`J|`Wvd8 zS2u$kz|WdJyO#GEOSA@eem391Xrg6)`%D>pVh9VK_}PIJBlX5VjQPfure;$XbN(|( zx5?7Bi%Zzb5jwEZU#F7&yiZp574 z6UG&&>QPwQ-;j~^BgFc)dcVPxlMA!X0vc}Ol_@7Lj%Ue7byEM>FujD12JGMfP#_6#v|WA zJ#M?vg^u3?pW5B%+&$~&Y8C;Bw+82vInCcPT<@kLzw5){?be(tIL@cm3)kcJhBo;! z-hr6EcD!5I_7`?*ryVXPjGZ&GIn)mYQMOJYuW0WVsd6P|?zqHDV2b^xTdt@o>Oz9e z33kT8F%J?g{D-ixjl3q_067I|D&7l6Dl{!D+*#*&*xYuJsEHI$k+tn%(SqIfB&S-Hee7-GFP4P4>C{j1${p6X*Yjfg9sKas11=f#ZkaP_{eRfHHd>Ui`Yo~ zLc)f^VtVB8Q(QAEkql-T*FiZGf|C~mLULt~Bh6LCARw=RfT)cEL_Y+IbSwSRSZm2R ztnB~-8h{`HS}nC!Z+8MG3LbT%KYigyeAj~klMDwkAi*;fBGZ17 zvK_{=%Vj~K@6q4@8s~eymCvfo5`vd5{X!Sf?LL!H2Tvhyj zQ`O6lwCJhKs{I-*eczkt1GlqH>=T;Rn5$2*&!K%p*X$)z#-CgH2a?_Ge1!YWgqh03mgK-}mg%)+CGrWYaMF6%!r2q_S0YD@M? zrE*QTAOneD)`BVkP(UAQDsq#`SpVTvp$&5Gu?X(ht;B*5xSQydlNM=d-S{5-7tCJn zSbQQGg+5)g3Va+-rircH49AAm=x@`078r<3^d1a+R%jmdOZG(9P3Zm?(Rrn)b~Ned z@m}h_lyI7>U@Y5tqWZp6j`P1QkTh&`cPB>lkzqeI$k7HbfS@@l>~y`61D)BCZN^vQ zupz~^Bv)f)Xs^YsVL$%?OX(?HEj7!Jkhot)(CT5@%X3a6O+t9VZ)5#(IUa*zsdTwg zprLa#kBqwmTSWq%CUc!jrT{gSeIX#OWNoN8G`kzNH=^wE`ws5Wwxv#DV}Tr=zCP}g z#)I!K*LQ9>;DcbzHC$qDq<@6phH_KgvGcZkRu>%e5$}hCcmlNPZG~l`#!O_@x#6Ta z(^|=$R?UTA0~+Nu-8*Am3&g|W#1f9O=oF$51+P$V53_}Q%A^tn;c=wFJdV)D-tRyj zrzLCBHs^jRHMyl_22^ETeonE{mhqajJE5Cc3P4b+w+4J-!(ZArR+>InQp@@~6R0cHROm{9YugE41BDK4asHkvu; zc`qqgO6!P!eZtVh4w*VUJ9c|}dCT(gA7*%f*##$}ig^Lw39$@?Y%0v^@H~%%yYLWoY6B- zZ7k65GC_p`xFBV@ThLYl{N^YMWyvh;Or2)6PKWBt zt@Q6aS+YG%LZ;VDHLJVeEYHf@jT<`e_*2Pf`j-}hDuO$zx*nU1xjUtnC9KZD@af|Z zdaXH5xf+jFtwxN;(qrkfQi_breh1HZL^MvP<8=!%pf|6|RH9|PtHh8uB_s3;bdet? zw$Sf}43AB!YJcKwIt=uAv!&=hv3A-U@RT_H3kAaH1d>z`ujGIl2d;?drTX~lVF%=X z0_>Y2)>mY{o-o0Q^A^WZU-)@N*6)99lqp>P45I(p@~mJ$KuB%5>cE7+fGj4YzZz!% zp-s-vWFOlDPc?Gu=lV+tn6>iexfW(u+c#u}@Y-^=hxgtx2-Kl_a;vO4_{(1}DmMeg?3w@Ws zdtxr`feBkkM@2hmtCksL)XG%u0r`8So0f1rdn5QYRQI*V+9AsB+6Nh4D_JMOq<+g7 zYqSCW9Gkw}E&EtY6*V@@tSYa5Nh1UXB{Kv>(v>H4s&6FKDe_}BAeG+YSw+T6j#JXU z-LX8LeBym5J24^5&puNI<|?JZK^e==Z7=Y+7Bs*j-!xmKfz}&|l5{J>XstmyuUG_L zy1BSGtbFEX{^rP13y)I&&~V}JF1l@fS@muTxQrj~38`ZbBQL|>;pG}_B!#Traaj9F zHaI^=SU;5W`a=n4z+t~Y4JVH-`!aT_j0W+up@(BO$1sbLQ=0!SM*}Mle7M7s8~TMy zfQQRB5^mg(JC0WcDYuE)3J##&-gV0{gr5SmALF|@jABWrhwPfa%PrRYn`X;t$1y-9 zgFaDNRv9r&a zTBr$9X9O?jzj+I1evxaQ2v(1O+%w4OYG-6-&mBT6+LHo4elY!`8E^5Zi(Zg4wL#cL z-~CTTfSbHsOuyJn#~VaTSbHu&CrI4%xT5g`Ye(FP;v4KYD?$+2RhN(Bzl>vFJ}mBT z&X_LH7ced-XKe53kswG1V7oJfF4yi5SW2P6S2LujA&Umx8z|p?k3dSP@6#7TL?Oo) zUlJBYLV12nXV=1kF>BpyI%h4aX+{+@>@LG$CTg ziOS91^UQMsro`;BAc3y#Y#3_&jXmEAIIsp&x;MiMGi2ZM|LN;1qvBZFZW$nWaF^f~ zBm{SN2rj`rxFiIZ!QE}ppo0t!gF6ZC?(Xiv!{xm1`R@7d`EmQlv#M6@r)zbu>R#1d zd+#D_T)0~6oi{uP)M-RnUkj{NXZ93vtptvAV(W+$AdJHLKA^X)=T9}qQo3q~hwebG6kYYS61NYrbn3$C0YNB)6 zPZ@jkJHvLT@OVyJs-p+FYOJFNNaZzPyoRQqm3MSiYY13=Oyi80t>f>CCa3~iS0WefM^1Uw)-(@CNV zZ}QKZE|!R%l5d!Ck09P8jp4=4oIsdp(5!Xs9u=z3W*3I(M_3!-MBZQwSi z@OGIL61ZzUs0^POt-BEO$J>T3`M~#Iron&SzB+;Ep;_MP4;F^Y#nSJ2AQw3u(s4QlRu#9&t>3wA zZZ&MnZZzKfg3WQi+vfa~Qt<4qWoc7X_Q`K>;y~gb$@s zm`ipacP*>CQeQ#3L1?>{l(eDuJ`sX*>FjJAdg-0Rb|nCgS}@%3Fa$Qe61tJfW#sVl zqiy?c2wN?X6Mj8)p*wBnbZwFuqi-00^fiU|=dj%d8b@t#ZI>pZpm4WXRU2!FnKi02 zse%{Tr#QbJ_NdJL8SEijazQ?P?1G>rA6(%)A3PILd^0`c@Nd)YJzd-;mI?zRozuEA zm>)83YT~e5yhYGhc4lkP5jzHG(Un={jl5C=rLKT%536opjNd)5hD~x`;PDADxf3A_ zCxSWhJv=w+t^(#9+KN0T(}t(eI?lhS4h>{5%kCKo9Hq1uCS2*n+qJ{Y>9Ks4+KI-r zd_MeOhKu?EW6)?+8Y3VmB7Lxf(dP;(Zd)5)ef}l5@XJr*jS-ZS;ojEnjJ`LHhI|vX z*hobHdJvWcfD9W{OO(zOcg&~ybtD7FM27E%h+!rpSp^vIm#!;&l`(d)(r&@D5i!xeAK3OoE)LC`d?JPURQUAYYH;Y0@3STNj zch?wl7(!N)^2tYYsLZBR_lu_Tj9R8$nN3uWI)%RsX!KTl+eJNST4W9G*X2~Dm;KEea_pH_ zj3IxOOJ75Y%FLGuwOq(Z9_Y>r@Rs>Vz*6Y-%DE#`P&DoFS@0l>%(|1MuR*QkpU`X) zT4tec1Uk0@FoWu>09e3RJoNufdVn>$V9vzl)ZtZ~tadA#kH#6pDY_?eT?<6|mHUFz zNY?VHjmu_dBGPFIYcu*xByb0Zf#bUhcSC#+En=`*NaMOCPg^olTa?XYE)Um4Ut{-o zPxKeE9=5_li{_QnnH)E1?F#0BXtj?EKqTN0Z!B`yc)YDUDlY#f!XMtBvf?7`<>S#> zqwkTe^%&qrMl>E2ijx|YdVn>$zZuoGL}bFU&Y9hKX7;hG@lFc^Vr5U}Ei^tm(dH=y zE9^;oCAinNWI72IqE8=c2O-GaA>AGGnen6xVC8@{ARAit?QW%;nEWyBm;Nsp`^_xgy;5}wSV5|f1!TKagB^8?}+Vts+BTP-~ zt(8o?bw-oD;Zg|`LEW=8gEfh;O~pyO){@5In?>|->-ZU!@k&3~3Hv0Nt?h4Y`)aDH zZv^40S_3un0uUAUb6`{@s&wPne`L!Y#C8)+3KvCPG&fS8z9F)omQvA}_@g9^=a?ZaSK6kBiD4XOsx*6mpc`QSsYGyGgP3>f3AE0FB!K*ns@A z-I1(;b#RqiEI|Zy*(vM6O^(#9f|qNb{7xiMx%sc5aP^5S@FaDGDV@E%_JDbK(VJMr zE%jwsyqtM6C_g?sKZ%|nVN<>4n~#fPOaAlLZ^A69*Q7CJK0#=InVc^9H^PS2`#xn^ zU&!F-xSqS!Ki}p5p2hw%KknIb;RalmdKufoFknc@J?oMnP{OeHJJUxMhR6%73#|E` ztD4y&d#66)yEYU$;lO@g)TQ*Zu+F5*X&nzp5br@}_)t%tbbXQ{8s5~w7i)!@#}S5Z zDXn}uXFh)LR{x+x_3lr(pgY&xcWb}COG(9YAFYK66=53-??dv^a$xTtkUe(1Ss1IQ&dkv{ z_WYAwMX$mAhM+tBHUgg|Ya?KWvsy?5eUpCHCSnS%@|5M7=7nuq6sLyZK+Pd8&`$1x zGr4Xm!Z87U#gj1ZsR$i`KE+t{NED2>-`MKEg@3JW>D#KwvsbIDJ$ z`KI&Zedmn6?jrY>IZi-ygC~)Jm#J~N^OxgBzJO${34e#mKf$cEDaP@tP8Ly<>j@S8 zE5n%;33}7aaQ4MqlvaTEuN$(DQ9K;n3#ZbYQZ`sM2C#ZY+<=dDa11nDMt+XFiO|QK zjnG&)(L~FDzglr|?a;C)oOybOwac}@T&`V;da&^dk*O=+Cd>k(G+# zH%tUh#%CPKUw%Z$F5*Z+^7IcrrgLSMC1!`rtovwG0 zxuVnZTLryO?oxe456nEc?0YN5)LRTQZY9mg>TZAGI%oDblOQzngZOIR72;sYB*dhVoqhg}H zbP0^N!;eiw8XWNZgBJ%UUUwxmw+h`Bw8c@~n%nUc6v4>1@S!-)Y+nQJ6bOTy8rSp8 zWLAE9tzDo!b%k_&YrB@M7Bp51;IsO5!}%tkk?fr=sl@`Z*7HZR?EcM}w;1(zjrqpM z9a$e|$`OYcfcV{2dyTJVhb3CWnHc5l^B2a;D}G19C@V8)GuMNWFi%@W%M-3AXN>E_z4PTu6`$G8BsRTE7;X??Lpa-kKKfN8bq1MPwUbmF-l4WoYt>P{! zX8vTwpNbzV*y=i;*>&DWmJ~HLIw|U=4cKvRs1n)~|I=4QeyL zu3LYV(*2A;gA|3EQRq0e_Dw(i#X#r^+QL^T!0W40@hppMzaK{2sd)!=YM%t?egWL~ z$>w)+B^3ELhI^K3&ZkKA~-9SmPf1^xa5QzIqOW4N(SsUi{mk@XG0$c zH@qHY;s_}RH5-Y*Qrpm&xYZtR3Ywz{S7Tfdi)rFm=8pAlRopNSDt;-L{5X2lRp@dE zmoj@`aB8-MhPdu5nT8=;zrJi5i;_zfh^5e-iPCqeA7_p-a$zBY`=DO_z^G|_Bq3VI zj~J2MalD}0t(Rc<62;FhmkV1RE?6#y3GdqmR+-c|xt)D)Fx>dDkck z3pL@T>`LHu91i`%e=Bs(kBuMJ0J-n-f3v!esapn3%?8|vcbJ(7GR1h+lv>Oue!_6hB^S>ChcNM` zs(UiV*u?yRoiFFe%)61#xEC(s^L>7OG)DwxV{_!@y>+02}0%baG z&wkz^pXJ_hif!{unlLkb4tiyziYQ#qtkpra)y7{B_h#G z=RhzB>G`DwmiUontq2Un+TC{f`1U^j%Ws(QxIgc)lY~qZwG=RWYWwvD2PA)dnFzHu zh~HK+t%fa!>eh;VW;IcTjSz~?NcgEy>LtApx7#$P9{6rU=Ej$YbhnQhn4qA>VA6IAqLQOTRD zCh*lqdFct-E#B6j?g(_x(QEW(e0oauHpf=x z=$ma1EeoO?3iUJu{`lV4W~*ywi+t-UMzwK=&$^A=bPnh$IMKt6bt+!H zOH&=jYEF~ect%%0+{C30aXDp^>KB`c##T!;##43t;3=I7G_l2sAV6!&w+dYgtB?d~ z7{}HK4cg?{)uhu&d7-I$a_OIR3JK^d-=|1h)ggY#5Gm~Pks`bZz*9N#UoUA?6M)*B z`RHdh8TN6ZUF@V@GHx+;kRp4miV5U$l#L1o6K7JuLrGFXN3b7EMx zrPD5A!qoQk(zZ?z z*(;qM;y=-uXwW?8Q(>haV2HN2=%6TgUm!!0n4T~woqNV4A+D+)dIb49X$oX8*}Of`6s9~V_d5%ja79EcTaU}#GC)A&^3&2<=;)fh3hiZ)`0D=5-XatvYmdcIZe~VMDXP7)U)yUz`T2ffA|Zln=UX^F zWu9;m($H2|{%Jha2Q^9!m>I{R9ub$6@>w8(tyU<(6<%&TNuDLDQG$8RJhaD>jAa%3 z5&=scTBE8vYekJLC#7c*X4#gUZeA*@SqEK!9n-a*Ax4=#b5O^xSyS;?_1nyv&-ZqT z75b>p3ZigoGfKx9_-1}pc%n?Zlr66nByclePBla7@;Ei{yC`u1D1JDeCM2;g77nRS zFX}*qP8t;&8_dOBlI2_`lJ{2Ql+10SN;(TVunSka_&@e?;h| z|v4xFGudMiIh(lJ9XWCYVPG_;v zTAJ-e3mak3sf~;Pu$|{NqHyRe{~Uu&-Hu_yYWH)AM~}+P3T0~!u4Q}zGue|AI<*uZ zzE%<*RxA^^`bf3cJ`ij4qkl8XT@QV^J+HMPC32AKji_6g-=KY0YIo-iBZ{`a!ZS-Y zxvBEqwTd%pNqZ>zD-~EdKEHWHD1QT`&Up*`Cxt_&9aOXre381eC>U7&3h?ZzXgxIw zty-?#MDL5L!O~G}Bwj({IldV~p!eX|iN2*R_a0E{wz-nBmaJ!ae0yfpS87}sHO`A& z?e;aOF7Qy8h}^KzTaS@tehh}!2%z%I-tUEqw6B?Lvy`P$Ck+WHFg0C^TUB$?ir7l->PnSl zt~fR8c3ji=LP;x7V^{_b^vKBttODTyUe;T~i=tcXpXPZN> z3;k+Lse(h@5ma!OA2CR=a!6Be)w|SsQdsdl$K~OTgT>^nTRrK@l>0KdYmbYU#2(gED zHXW3#f0wvo;N$%&${~(J{yq!570I22Q^pw8yF-cSRbfqL>-N)P%$l@^rY!7iR7|rDEWCl2j?wj!|dg-%CKeI0xd#B>T}()nF>F&Z>fts@)>I0j5cpS4?v!W z+hV=-z1;DCm8SSR`q+BxT*a{=^G_iq(x&bnG@7QMdk&PW99|Tkke~7qNB2>a(&$VB zrS}7dD3EYmL=&m?rlndEl{K{$?W_zTK4s?;rz4{Q8%x)mOH=OYfFR=X6nUO+UVp}t zq%SCrpH8cZz}L~w=_NO3;*M1^O5AcJwmFJUAJ&8h3>-DILoQ=V zzF9R>FK^iP(AAc(tOy#vOY0E~C$nY&L&~BJ9^Qm2-{5!0xUJZuE-Z=r=*8{X^iR2L z0MFuV15|=Lqa9fY@!YjuQ)-faB!3wm7Aobf%879~<8~vieozOclQu##ZfUZM0uP?K z87bWgc++JHbfskPPvW0E%ASP4%o73AwN0d)JqBaNFOn1{OE(X8WJ73!h~mJnJ9ow6 zafLFL*sM%|sozvzXHp$d9fU{F$&%uj)XJ%}ec&mV?2^>hez%Ry+-|i!K6>0_Rf<9* zCfwW)+?m2hR>adCykzsK+c_`7?1K)P&(RomkT1V^d|ToWczOe0I>dltL{nyg ztDoljg%apjg1Up_OuSA`Nm~Hyu#j`SwNFb14dxhx*?8^AYO$YeWA@RB3M8` z08;z?b^$-Zp0ZS(>tm@b?I@0XbiC~ckTzo3j6pRv3zcZS18)6u=$#gj%!_MZEr1E;GqT*blNPJ!uZa6q7K%k;0bmV#-UloVYeb7eKTn3*Op)1DK7?K_2(X|MC_%aqsI zqJ$CTLZ?CCI7TOfdGtBKbLervJ$-S~27&s^ReM`HP6zhvy;G0fD89(b1K(opX^t1; zUeMqk&3UcX=*$E7$dxYvMK>-gfyr#!#WppXy|Lx^#_Ks^PfSb6{n-n=8k>myU3k=~ zyV3(Kyte}rDg*_ZC_q?gT|LPZwKR2sL4?q}JyPmJcs%Qm5c=G-{G-(czMGH1;pBv> zuM-%e;OVR(C7m8z@QBmQy6QRK>FF30-#u%!Rgp2%_rI%m7 zFqTY{9QBlvo#ZUUUekXALy^kK6;Kk??m+soAf|2a`gI_BwCO6>AqBEUXz-7d9z%s= zO(EQvcDy2?xV|sKazzmlb;GT61ycQ81FRh2)EPw)%_@}LAE>^afMK`(()8@4OF27T z=bm?y{>e>+YD7^IYZyj;rJ!K_?i5ASzm^XPV!V&TkjnXuA0=(VWzQ)~!ompd0NY`q zD*QlyD6k`iKhAZ#%1s!%ppsyy3CF8i(7`OI5QeVHa$;Qxpy{jrX{B&Q(7Q=<7Y8#p z{}Y2PJlsSbhxHoV7*JS!boUnC9bxgWYX$PPD*z!iJ z#}M|*JtJ!jC<*KiYFwB4`C1A;wUD1hy{&bjMF18RO;hg6lV&HKJP7c$Gn5=0e61`f zw1jho#8>?CcxfysB=~-7;{U68rItO{^#iN?;o^}&mDOjx0^lfVd42yn^U4u;#mU>V zyZhj~nTqNt_#3(ECNA^RGhIltd_L<9Np#>R|JB*bc*}EQdeuAT+YF)} z#Y^BWWmq%NXp(H zxIU?vuD5)93vI?iRkQKtr5tDZSc{^8k{eCaKY8y2O*yNBwUkyoYCZP1f^#YoDdwh5 zZZTT+Lfcj)&Nd~^o+KI`*FG0CTVwI>f@6S3XhwYbZu;9sYD~!jwK`@VgrDqHob0Z3 zMx&%b2}JQS=0g5BWJ;H)+LO(5kv+9^SbNe!*o*sOA;akdJ!Cd)WfTaRTsxLehe0lCOl1Yh)N0+*eA-e|#1H z$8S!~{BO%SJ;%kr#dwmwi1fJyn1JMF2+r7&u%9i7DOY1h%is0U{knmQ0w0k?>+oxZhDLrh$G%E4PjrRPt=p zj47GwCL=#mJ9C5NP=gyNYPG+q6~ zqh}a2qy2uwp&x!)N#=JGd9B0!BAQGwK7xc>Z3fx4dxDENQ91nY6^F|aSQB>(~ zIo=TMlq~RT_BC%bbU#sRO1ACW<})lP0;Rz{E}i=5&mr};Y)AI=us>eSarDlxAsL4v zF`DV7PXLwW4E9|>6rG?rEAj|IL2f?_uXX(F@7mc_1!bnkhe_S>S2^CE!`p+N-Cpi` zPub)5R|Mh8zKuz$f$6)fF>0w%C9eGEC7cbZTyelFZ2<38>w6c@d}PzH)GLF0YBz_3yAUpXGm|H$#;jQP*aCfKyN;5I8-N->srm6GwsO#Umz zt4$^Gqf9Z+XZZSRCTbrqMZ|8O>qSLIZ?mvj@kA$m=x#*)G<{iM!B5;0TYn~Px`Dw+ z{n3Pnu--}D|=7$}Ywxlti3OEt7&eN#_ z8>7=34BSbpvj~ouY=ep|LQd3e4bS&;2{%X1gwiml+*LrurDxDV2w({{nnmuN!XOOH zISLYJEEK>=_HXOj*Wvf~kv9zkq6h;}ll|NF^M3#^F!6IRAmcEAAe{dq3@AGcK*#iN z>%@Ps_#6Kk*r4h#04^w;1c3SWAC&Yq42Uuuz(V$KZ@GUU;X5!O+i(CC**|Jk7#N~| z+FwhO_x~YE;(*%10R&|K5+439WaA^uUou2$(toim{}+T96~q<+kb#A~1$jgOgkk%z zK}`_=0a*9fue1mN9qIq2%e_9oe|e(*b8HfTcq0MSZ~jB)0vSgF@Lh01;Sv3XotFfbDNa&)2Be1Qse#SQLPg^xtoYe|mwJ1@%M$ N=ny>RUpad){|Df$A$ Date: Sun, 14 Aug 2022 13:47:10 -0400 Subject: [PATCH 0386/1248] Snapshot of ch4 from nostarch --- nostarch/chapter04.md | 1234 +++++++++++++++++++++++++++++----- nostarch/docx/chapter04.docx | Bin 0 -> 77627 bytes 2 files changed, 1061 insertions(+), 173 deletions(-) create mode 100644 nostarch/docx/chapter04.docx diff --git a/nostarch/chapter04.md b/nostarch/chapter04.md index 5f6237b161..a87deea87c 100644 --- a/nostarch/chapter04.md +++ b/nostarch/chapter04.md @@ -18,7 +18,7 @@ features: borrowing, slices, and how Rust lays data out in memory. *Ownership* is a set of rules that governs how a Rust program manages memory. All programs have to manage the way they use a computer’s memory while running. -Some languages have garbage collection that regularly looks for no-longer used +Some languages have garbage collection that regularly looks for no-longer-used memory as the program runs; in other languages, the programmer must explicitly allocate and free the memory. Rust uses a third approach: memory is managed through a system of ownership with a set of rules that the compiler checks. If @@ -35,6 +35,9 @@ the features that make Rust unique. In this chapter, you’ll learn ownership by working through some examples that focus on a very common data structure: strings. + +Unmatched: BoxType + > ### The Stack and the Heap > > Many programming languages don’t require you to think about the stack and the @@ -65,16 +68,15 @@ strings. > known, fixed size, you can store the pointer on the stack, but when you want > the actual data, you must follow the pointer. Think of being seated at a > restaurant. When you enter, you state the number of people in your group, and -> the staff finds an empty table that fits everyone and leads you there. If +> the host finds an empty table that fits everyone and leads you there. If > someone in your group comes late, they can ask where you’ve been seated to > find you. > > Pushing to the stack is faster than allocating on the heap because the > allocator never has to search for a place to store new data; that location is > always at the top of the stack. Comparatively, allocating space on the heap -> requires more work, because the allocator must first find a big enough space -> to hold the data and then perform bookkeeping to prepare for the next -> allocation. +> requires more work because the allocator must first find a big enough space to +> hold the data and then perform bookkeeping to prepare for the next allocation. > > Accessing data in the heap is slower than accessing data on the stack because > you have to follow a pointer to get there. Contemporary processors are faster @@ -130,34 +132,46 @@ which it’s declared until the end of the current *scope*. Listing 4-1 shows a program with comments annotating where the variable `s` would be valid. ``` -{ // s is not valid here, it’s not yet declared - let s = "hello"; // s is valid from this point forward. +{ // s is not valid here, since it's not yet declared +``` + +``` + let s = "hello"; // s is valid from this point forward +``` + +``` +``` + +``` // do stuff with s +``` + +``` } // this scope is now over, and s is no longer valid ``` -Listing 4-1: A variable and the scope in which it is valid +A variable and the scope in which it is valid In other words, there are two important points in time here: -* When `s` comes *into scope*, it is valid. -* It remains valid until it goes *out of scope*. +* When `s` comes *into* scope, it is valid. +* It remains valid until it goes *out of* scope. At this point, the relationship between scopes and when variables are valid is similar to that in other programming languages. Now we’ll build on top of this understanding by introducing the `String` type. -### The `String` Type +### The String Type To illustrate the rules of ownership, we need a data type that is more complex -than those we covered in the “Data Types” section of Chapter 3. The types -covered previously are all a known size, can be stored on the stack and popped -off the stack when their scope is over, and can be quickly and trivially copied -to make a new, independent instance if another part of code needs to use the -same value in a different scope. But we want to look at data that is stored on -the heap and explore how Rust knows when to clean up that data, and the -`String` type is a great example. +than those we covered in “Data Types” on page XX. The types covered previously +are of a known size, can be stored on the stack and popped off the stack when +their scope is over, and can be quickly and trivially copied to make a new, +independent instance if another part of code needs to use the same value in a +different scope. But we want to look at data that is stored on the heap and +explore how Rust knows when to clean up that data, and the `String` type is a +great example. We’ll concentrate on the parts of `String` that relate to ownership. These aspects also apply to other complex data types, whether they are provided by @@ -180,22 +194,34 @@ let s = String::from("hello"); The double colon `::` operator allows us to namespace this particular `from` function under the `String` type rather than using some sort of name like -`string_from`. We’ll discuss this syntax more in the “Method Syntax” section of -Chapter 5 and when we talk about namespacing with modules in “Paths for -Referring to an Item in the Module Tree” in Chapter 7. +`string_from`. We’ll discuss this syntax more in “Method Syntax” on page XX and +when we talk about namespacing with modules in “Paths for Referring to an Item +in the Module Tree” on page XX. This kind of string *can* be mutated: ``` let mut s = String::from("hello"); +``` + +``` + +``` +``` s.push_str(", world!"); // push_str() appends a literal to a String +``` + +``` + +``` +``` println!("{}", s); // This will print `hello, world!` ``` So, what’s the difference here? Why can `String` be mutated but literals -cannot? The difference is how these two types deal with memory. +cannot? The difference is in how these two types deal with memory. ### Memory and Allocation @@ -211,17 +237,16 @@ we need to allocate an amount of memory on the heap, unknown at compile time, to hold the contents. This means: * The memory must be requested from the memory allocator at runtime. -* We need a way of returning this memory to the allocator when we’re - done with our `String`. - +* We need a way of returning this memory to the allocator when we’re done with +our `String`. That first part is done by us: when we call `String::from`, its implementation requests the memory it needs. This is pretty much universal in programming languages. -However, the second part is different. In languages with a *garbage collector -(GC)*, the GC keeps track of and cleans up memory that isn’t being used +However, the second part is different. In languages with a *garbage collector* +*(GC)*, the GC keeps track of and cleans up memory that isn’t being used anymore, and we don’t need to think about it. In most languages without a GC, -it’s our responsibility to identify when memory is no longer being used and +it’s our responsibility to identify when memory is no longer being used and to call code to explicitly free it, just as we did to request it. Doing this correctly has historically been a difficult programming problem. If we forget, we’ll waste memory. If we do it too early, we’ll have an invalid variable. If @@ -234,10 +259,25 @@ from Listing 4-1 using a `String` instead of a string literal: ``` { +``` + +``` let s = String::from("hello"); // s is valid from this point forward +``` + +``` + +``` +``` // do stuff with s +``` + +``` } // this scope is now over, and s is no +``` + +``` // longer valid ``` @@ -247,27 +287,30 @@ scope, Rust calls a special function for us. This function is called `drop`, and it’s where the author of `String` can put the code to return the memory. Rust calls `drop` automatically at the closing curly bracket. -> Note: In C++, this pattern of deallocating resources at the end of an item’s -> lifetime is sometimes called *Resource Acquisition Is Initialization (RAII)*. -> The `drop` function in Rust will be familiar to you if you’ve used RAII -> patterns. +> NoteIn C++, this pattern of deallocating resources at the end of an item’s +lifetime is sometimes called *Resource Acquisition Is Initialization* *(RAII)*. +The `drop` function in Rust will be familiar to you if you’ve used RAII +patterns. This pattern has a profound impact on the way Rust code is written. It may seem simple right now, but the behavior of code can be unexpected in more complicated situations when we want to have multiple variables use the data we’ve allocated on the heap. Let’s explore some of those situations now. -#### Ways Variables and Data Interact: Move +#### Variables and Data Interacting with Move Multiple variables can interact with the same data in different ways in Rust. Let’s look at an example using an integer in Listing 4-2. ``` let x = 5; +``` + +``` let y = x; ``` -Listing 4-2: Assigning the integer value of variable `x` to `y` +Assigning the integer value of variable `x` to `y` We can probably guess what this is doing: “bind the value `5` to `x`; then make a copy of the value in `x` and bind it to `y`.” We now have two variables, `x` @@ -279,6 +322,9 @@ Now let’s look at the `String` version: ``` let s1 = String::from("hello"); +``` + +``` let s2 = s1; ``` @@ -292,54 +338,61 @@ the memory that holds the contents of the string, a length, and a capacity. This group of data is stored on the stack. On the right is the memory on the heap that holds the contents. -String in memory -Figure 4-1: Representation in memory of a `String` holding the value `"hello"` -bound to `s1` +Unmatched: GraphicSlug -The length is how much memory, in bytes, the contents of the `String` is +Unmatched: CaptionLine + The length is how much memory, in bytes, the contents of the `String` are currently using. The capacity is the total amount of memory, in bytes, that the -`String` has received from the allocator. The difference between length -and capacity matters, but not in this context, so for now, it’s fine to ignore -the capacity. +`String` has received from the allocator. The difference between length and +capacity matters, but not in this context, so for now, it’s fine to ignore the +capacity. When we assign `s1` to `s2`, the `String` data is copied, meaning we copy the pointer, the length, and the capacity that are on the stack. We do not copy the data on the heap that the pointer refers to. In other words, the data representation in memory looks like Figure 4-2. -s1 and s2 pointing to the same value -Figure 4-2: Representation in memory of the variable `s2` that has a copy of -the pointer, length, and capacity of `s1` +Unmatched: GraphicSlug -The representation does *not* look like Figure 4-3, which is what memory would -look like if Rust instead copied the heap data as well. If Rust did this, the -operation `s2 = s1` could be very expensive in terms of runtime performance if -the data on the heap were large. +Unmatched: CaptionLine + The representation does *not* look like Figure 4-3, which is what memory +would look like if Rust instead copied the heap data as well. If Rust did this, +the operation `s2 = s1` could be very expensive in terms of runtime performance +if the data on the heap were large. -s1 and s2 to two places -Figure 4-3: Another possibility for what `s2 = s1` might do if Rust copied the -heap data as well +Unmatched: GraphicSlug -Earlier, we said that when a variable goes out of scope, Rust automatically -calls the `drop` function and cleans up the heap memory for that variable. But -Figure 4-2 shows both data pointers pointing to the same location. This is a -problem: when `s2` and `s1` go out of scope, they will both try to free the -same memory. This is known as a *double free* error and is one of the memory -safety bugs we mentioned previously. Freeing memory twice can lead to memory -corruption, which can potentially lead to security vulnerabilities. +Unmatched: CaptionLine + Earlier, we said that when a variable goes out of scope, Rust +automatically calls the `drop` function and cleans up the heap memory for that +variable. But Figure 4-2 shows both data pointers pointing to the same +location. This is a problem: when `s2` and `s1` go out of scope, they will both +try to free the same memory. This is known as a *double free* error and is one +of the memory safety bugs we mentioned previously. Freeing memory twice can +lead to memory corruption, which can potentially lead to security +vulnerabilities. -To ensure memory safety, after the line `let s2 = s1`, Rust considers `s1` as +To ensure memory safety, after the line `let s2 =` `s1`, Rust considers `s1` as no longer valid. Therefore, Rust doesn’t need to free anything when `s1` goes out of scope. Check out what happens when you try to use `s1` after `s2` is created; it won’t work: ``` let s1 = String::from("hello"); +``` + +``` let s2 = s1; +``` + +``` + +``` +``` println!("{}, world!", s1); ``` @@ -348,36 +401,67 @@ invalidated reference: ``` error[E0382]: borrow of moved value: `s1` +``` + +``` --> src/main.rs:5:28 +``` + +``` | +``` + +``` 2 | let s1 = String::from("hello"); - | -- move occurs because `s1` has type `String`, which does not implement the `Copy` trait +``` + +``` + | -- move occurs because `s1` has type `String`, which +``` + +``` + does not implement the `Copy` trait +``` + +``` 3 | let s2 = s1; +``` + +``` | -- value moved here +``` + +``` 4 | +``` + +``` 5 | println!("{}, world!", s1); +``` + +``` | ^^ value borrowed here after move ``` If you’ve heard the terms *shallow copy* and *deep copy* while working with other languages, the concept of copying the pointer, length, and capacity without copying the data probably sounds like making a shallow copy. But -because Rust also invalidates the first variable, instead of calling it a -shallow copy, it’s known as a *move*. In this example, we would say that -`s1` was *moved* into `s2`. So what actually happens is shown in Figure 4-4. +because Rust also invalidates the first variable, instead of being called a +shallow copy, it’s known as a *move*. In this example, we would say that `s1` +was *moved* into `s2`. So, what actually happens is shown in Figure 4-4. -s1 moved to s2 -Figure 4-4: Representation in memory after `s1` has been invalidated +Unmatched: GraphicSlug -That solves our problem! With only `s2` valid, when it goes out of scope, it -alone will free the memory, and we’re done. +Unmatched: CaptionLine + That solves our problem! With only `s2` valid, when it goes out of scope +it alone will free the memory, and we’re done. In addition, there’s a design choice that’s implied by this: Rust will never automatically create “deep” copies of your data. Therefore, any *automatic* copying can be assumed to be inexpensive in terms of runtime performance. -#### Ways Variables and Data Interact: Clone +#### With Clone If we *do* want to deeply copy the heap data of the `String`, not just the stack data, we can use a common method called `clone`. We’ll discuss method @@ -388,8 +472,17 @@ Here’s an example of the `clone` method in action: ``` let s1 = String::from("hello"); +``` + +``` let s2 = s1.clone(); +``` + +``` + +``` +``` println!("s1 = {}, s2 = {}", s1, s2); ``` @@ -402,13 +495,22 @@ different is going on. #### Stack-Only Data: Copy -There’s another wrinkle we haven’t talked about yet. This code using integers – -part of which was shown in Listing 4-2 – works and is valid: +There’s another wrinkle we haven’t talked about yet. This code using +integers—part of which was shown in Listing 4-2—works and is valid: ``` let x = 5; +``` + +``` let y = x; +``` + +``` + +``` +``` println!("x = {}, y = {}", x, y); ``` @@ -420,7 +522,7 @@ time are stored entirely on the stack, so copies of the actual values are quick to make. That means there’s no reason we would want to prevent `x` from being valid after we create the variable `y`. In other words, there’s no difference between deep and shallow copying here, so calling `clone` wouldn’t do anything -different from the usual shallow copying and we can leave it out. +different from the usual shallow copying, and we can leave it out. Rust has a special annotation called the `Copy` trait that we can place on types that are stored on the stack, as integers are (we’ll talk more about @@ -432,9 +534,9 @@ Rust won’t let us annotate a type with `Copy` if the type, or any of its parts has implemented the `Drop` trait. If the type needs something special to happen when the value goes out of scope and we add the `Copy` annotation to that type, we’ll get a compile-time error. To learn about how to add the `Copy` annotation -to your type to implement the trait, see “Derivable Traits” in Appendix C. +to your type to implement the trait, see “Derivable Traits” on page XX. -So what types implement the `Copy` trait? You can check the documentation for +So, what types implement the `Copy` trait? You can check the documentation for the given type to be sure, but as a general rule, any group of simple scalar values can implement `Copy`, and nothing that requires allocation or is some form of resource can implement `Copy`. Here are some of the types that @@ -442,11 +544,10 @@ implement `Copy`: * All the integer types, such as `u32`. * The Boolean type, `bool`, with values `true` and `false`. -* All the floating point types, such as `f64`. +* All the floating-point types, such as `f64`. * The character type, `char`. * Tuples, if they only contain types that also implement `Copy`. For example, - `(i32, i32)` implements `Copy`, but `(i32, String)` does not. - +`(i32, i32)` implements `Copy`, but `(i32, String)` does not. ### Ownership and Functions The mechanics of passing a value to a function are similar to those when @@ -458,31 +559,98 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let s = String::from("hello"); // s comes into scope +``` + +``` +``` + +``` takes_ownership(s); // s's value moves into the function... +``` + +``` // ... and so is no longer valid here +``` + +``` + +``` +``` let x = 5; // x comes into scope +``` + +``` + +``` +``` makes_copy(x); // x would move into the function, +``` + +``` // but i32 is Copy, so it's okay to still +``` + +``` // use x afterward +``` + +``` + +``` + +``` +} // Here, x goes out of scope, then s. However, because s's value was moved, +nothing +``` -} // Here, x goes out of scope, then s. But because s's value was moved, nothing - // special happens. +``` + // special happens +``` + +``` +``` + +``` fn takes_ownership(some_string: String) { // some_string comes into scope +``` + +``` println!("{}", some_string); +``` + +``` } // Here, some_string goes out of scope and `drop` is called. The backing - // memory is freed. +``` + +``` + // memory is freed +``` + +``` + +``` +``` fn makes_copy(some_integer: i32) { // some_integer comes into scope +``` + +``` println!("{}", some_integer); -} // Here, some_integer goes out of scope. Nothing special happens. ``` -Listing 4-3: Functions with ownership and scope annotated +``` +} // Here, some_integer goes out of scope. Nothing special happens +``` + +Functions with ownership and scope annotated If we tried to use `s` after the call to `takes_ownership`, Rust would throw a compile-time error. These static checks protect us from mistakes. Try adding @@ -491,45 +659,129 @@ the ownership rules prevent you from doing so. ### Return Values and Scope -Returning values can also transfer ownership. Listing 4-4 shows an example -of a function that returns some value, with similar annotations as those in -Listing 4-3. +Returning values can also transfer ownership. Listing 4-4 shows an example of a +function that returns some value, with similar annotations as those in Listing +4-3. Filename: src/main.rs ``` fn main() { +``` + +``` let s1 = gives_ownership(); // gives_ownership moves its return +``` + +``` // value into s1 +``` + +``` + +``` +``` let s2 = String::from("hello"); // s2 comes into scope +``` + +``` + +``` +``` let s3 = takes_and_gives_back(s2); // s2 is moved into +``` + +``` // takes_and_gives_back, which also +``` + +``` // moves its return value into s3 +``` + +``` } // Here, s3 goes out of scope and is dropped. s2 was moved, so nothing - // happens. s1 goes out of scope and is dropped. +``` +``` + // happens. s1 goes out of scope and is dropped +``` + +``` + +``` + +``` fn gives_ownership() -> String { // gives_ownership will move its +``` + +``` // return value into the function +``` + +``` // that calls it +``` + +``` + +``` +``` let some_string = String::from("yours"); // some_string comes into scope +``` + +``` + +``` +``` some_string // some_string is returned and +``` + +``` // moves out to the calling +``` + +``` // function +``` + +``` } +``` + +``` + +``` -// This function takes a String and returns one +``` +// This function takes a String and returns a String +``` + +``` fn takes_and_gives_back(a_string: String) -> String { // a_string comes into +``` + +``` // scope +``` +``` + +``` + +``` a_string // a_string is returned and moves out to the calling function +``` + +``` } ``` -Listing 4-4: Transferring ownership of return values +Transferring ownership of return values The ownership of a variable follows the same pattern every time: assigning a value to another variable moves it. When a variable that includes data on the @@ -548,21 +800,57 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let s1 = String::from("hello"); +``` +``` + +``` + +``` let (s2, len) = calculate_length(s1); +``` + +``` + +``` +``` println!("The length of '{}' is {}.", s2, len); +``` + +``` } +``` +``` + +``` + +``` fn calculate_length(s: String) -> (String, usize) { +``` + +``` let length = s.len(); // len() returns the length of a String +``` + +``` +``` + +``` (s, length) +``` + +``` } ``` -Listing 4-5: Returning ownership of parameters +Returning ownership of parameters But this is too much ceremony and a lot of work for a concept that should be common. Luckily for us, Rust has a feature for using a value without @@ -586,15 +874,45 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let s1 = String::from("hello"); +``` + +``` +``` + +``` let len = calculate_length(&s1); +``` + +``` +``` + +``` println!("The length of '{}' is {}.", s1, len); +``` + +``` } +``` +``` + +``` + +``` fn calculate_length(s: &String) -> usize { +``` + +``` s.len() +``` + +``` } ``` @@ -604,20 +922,26 @@ function return value is gone. Second, note that we pass `&s1` into `String`. These ampersands represent *references*, and they allow you to refer to some value without taking ownership of it. Figure 4-5 depicts this concept. -&String s pointing at String s1 -Figure 4-5: A diagram of `&String s` pointing at `String s1` +Unmatched: GraphicSlug -> Note: The opposite of referencing by using `&` is *dereferencing*, which is -> accomplished with the dereference operator, `*`. We’ll see some uses of the -> dereference operator in Chapter 8 and discuss details of dereferencing in -> Chapter 15. +Unmatched: CaptionLine + > NoteThe opposite of referencing by using `&` is *dereferencing*, which +is accomplished with the dereference operator, `*`. We’ll see some uses of the +dereference operator in Chapter 8 and discuss details of dereferencing in +Chapter 15. Let’s take a closer look at the function call here: ``` let s1 = String::from("hello"); +``` + +``` + +``` +``` let len = calculate_length(&s1); ``` @@ -630,14 +954,23 @@ the parameter `s` is a reference. Let’s add some explanatory annotations: ``` fn calculate_length(s: &String) -> usize { // s is a reference to a String +``` + +``` s.len() +``` + +``` } // Here, s goes out of scope. But because it does not have ownership of what - // it refers to, it is not dropped. +``` + +``` + // it refers to, it is not dropped ``` The scope in which the variable `s` is valid is the same as any function parameter’s scope, but the value pointed to by the reference is not dropped -when `s` stops being used because `s` doesn’t have ownership. When functions +when `s` stops being used, because `s` doesn’t have ownership. When functions have references as parameters instead of the actual values, we won’t need to return the values in order to give back ownership, because we never had ownership. @@ -646,35 +979,80 @@ We call the action of creating a reference *borrowing*. As in real life, if a person owns something, you can borrow it from them. When you’re done, you have to give it back. You don’t own it. -So what happens if we try to modify something we’re borrowing? Try the code in +So, what happens if we try to modify something we’re borrowing? Try the code in Listing 4-6. Spoiler alert: it doesn’t work! Filename: src/main.rs ``` fn main() { +``` + +``` let s = String::from("hello"); +``` + +``` + +``` +``` change(&s); +``` + +``` } +``` + +``` + +``` +``` fn change(some_string: &String) { +``` + +``` some_string.push_str(", world"); +``` + +``` } ``` -Listing 4-6: Attempting to modify a borrowed value +Attempting to modify a borrowed value Here’s the error: ``` -error[E0596]: cannot borrow `*some_string` as mutable, as it is behind a `&` reference +error[E0596]: cannot borrow `*some_string` as mutable, as it is behind a `&` +reference +``` + +``` --> src/main.rs:8:5 +``` + +``` | +``` + +``` 7 | fn change(some_string: &String) { - | ------- help: consider changing this to be a mutable reference: `&mut String` +``` + +``` + | ------- help: consider changing this to be a mutable +reference: `&mut String` +``` + +``` 8 | some_string.push_str(", world"); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `some_string` is a `&` reference, so the data it refers to cannot be borrowed as mutable +``` + +``` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `some_string` is a `&` reference, so +the data it refers to cannot be borrowed as mutable ``` Just as variables are immutable by default, so are references. We’re not @@ -689,17 +1067,41 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let mut s = String::from("hello"); +``` +``` + +``` + +``` change(&mut s); +``` + +``` } +``` + +``` + +``` +``` fn change(some_string: &mut String) { +``` + +``` some_string.push_str(", world"); +``` + +``` } ``` -First, we change `s` to be `mut`. Then we create a mutable reference with `&mut +First we change `s` to be `mut`. Then we create a mutable reference with `&mut s` where we call the `change` function, and update the function signature to accept a mutable reference with `some_string: &mut String`. This makes it very clear that the `change` function will mutate the value it borrows. @@ -712,10 +1114,25 @@ Filename: src/main.rs ``` let mut s = String::from("hello"); +``` + +``` + +``` +``` let r1 = &mut s; +``` + +``` let r2 = &mut s; +``` + +``` +``` + +``` println!("{}, {}", r1, r2); ``` @@ -723,14 +1140,41 @@ Here’s the error: ``` error[E0499]: cannot borrow `s` as mutable more than once at a time +``` + +``` --> src/main.rs:5:14 +``` + +``` | +``` + +``` 4 | let r1 = &mut s; +``` + +``` | ------ first mutable borrow occurs here +``` + +``` 5 | let r2 = &mut s; +``` + +``` | ^^^^^^ second mutable borrow occurs here +``` + +``` 6 | +``` + +``` 7 | println!("{}, {}", r1, r2); +``` + +``` | -- first borrow later used here ``` @@ -742,7 +1186,7 @@ in `r2` that borrows the same data as `r1`. The restriction preventing multiple mutable references to the same data at the same time allows for mutation but in a very controlled fashion. It’s something -that new Rustaceans struggle with, because most languages let you mutate +that new Rustaceans struggle with because most languages let you mutate whenever you’d like. The benefit of having this restriction is that Rust can prevent data races at compile time. A *data race* is similar to a race condition and happens when these three behaviors occur: @@ -750,21 +1194,38 @@ condition and happens when these three behaviors occur: * Two or more pointers access the same data at the same time. * At least one of the pointers is being used to write to the data. * There’s no mechanism being used to synchronize access to the data. - Data races cause undefined behavior and can be difficult to diagnose and fix -when you’re trying to track them down at runtime; Rust prevents this problem -by refusing to compile code with data races! +when you’re trying to track them down at runtime; Rust prevents this problem by +refusing to compile code with data races! As always, we can use curly brackets to create a new scope, allowing for multiple mutable references, just not *simultaneous* ones: ``` let mut s = String::from("hello"); +``` + +``` +``` + +``` { +``` + +``` let r1 = &mut s; -} // r1 goes out of scope here, so we can make a new reference with no problems. +``` + +``` +} // r1 goes out of scope here, so we can make a new reference with no problems +``` + +``` +``` + +``` let r2 = &mut s; ``` @@ -773,27 +1234,76 @@ This code results in an error: ``` let mut s = String::from("hello"); +``` +``` + +``` + +``` let r1 = &s; // no problem +``` + +``` let r2 = &s; // no problem +``` + +``` let r3 = &mut s; // BIG PROBLEM +``` +``` + +``` + +``` println!("{}, {}, and {}", r1, r2, r3); ``` Here’s the error: ``` -error[E0502]: cannot borrow `s` as mutable because it is also borrowed as immutable +error[E0502]: cannot borrow `s` as mutable because it is also borrowed as +immutable +``` + +``` --> src/main.rs:6:14 +``` + +``` | +``` + +``` 4 | let r1 = &s; // no problem +``` + +``` | -- immutable borrow occurs here +``` + +``` 5 | let r2 = &s; // no problem +``` + +``` 6 | let r3 = &mut s; // BIG PROBLEM +``` + +``` | ^^^^^^ mutable borrow occurs here +``` + +``` 7 | +``` + +``` 8 | println!("{}, {}, and {}", r1, r2, r3); +``` + +``` | -- immutable borrow later used here ``` @@ -812,13 +1322,37 @@ occurs before the mutable reference is introduced: ``` let mut s = String::from("hello"); +``` +``` + +``` + +``` let r1 = &s; // no problem +``` + +``` let r2 = &s; // no problem +``` + +``` println!("{} and {}", r1, r2); +``` + +``` // variables r1 and r2 will not be used after this point +``` + +``` + +``` +``` let r3 = &mut s; // no problem +``` + +``` println!("{}", r3); ``` @@ -826,9 +1360,10 @@ The scopes of the immutable references `r1` and `r2` end after the `println!` where they are last used, which is before the mutable reference `r3` is created. These scopes don’t overlap, so this code is allowed. The ability of the compiler to tell that a reference is no longer being used at a point before -the end of the scope is called *Non-Lexical Lifetimes* (NLL for short), and you -can read more about it in The Edition Guide at -*https://doc.rust-lang.org/edition-guide/rust-2018/ownership-and-lifetimes/non-lexical-lifetimes.html*. +the end of the scope is a feature called *n**on-**l**exical* *l**ifetimes* (NLL +for short), and you can read more about it in The Edition Guide at +*https://doc.rust-lang.org/edition-guide/rust-2018/ownership-and-lifetimes/non-l +exical-lifetimes.html*. Even though borrowing errors may be frustrating at times, remember that it’s the Rust compiler pointing out a potential bug early (at compile time rather @@ -837,10 +1372,10 @@ have to track down why your data isn’t what you thought it was. ### Dangling References -In languages with pointers, it’s easy to erroneously create a *dangling -pointer*--a pointer that references a location in memory that may have been -given to someone else--by freeing some memory while preserving a pointer to -that memory. In Rust, by contrast, the compiler guarantees that references will +In languages with pointers, it’s easy to erroneously create a *dangling* +*pointer*—a pointer that references a location in memory that may have been +given to someone else—by freeing some memory while preserving a pointer to that +memory. In Rust, by contrast, the compiler guarantees that references will never be dangling references: if you have a reference to some data, the compiler will ensure that the data will not go out of scope before the reference to the data does. @@ -852,13 +1387,37 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let reference_to_nothing = dangle(); +``` + +``` } +``` + +``` +``` + +``` fn dangle() -> &String { +``` + +``` let s = String::from("hello"); +``` + +``` +``` + +``` &s +``` + +``` } ``` @@ -866,15 +1425,49 @@ Here’s the error: ``` error[E0106]: missing lifetime specifier +``` + +``` --> src/main.rs:5:16 +``` + +``` | +``` + +``` 5 | fn dangle() -> &String { +``` + +``` | ^ expected named lifetime parameter +``` + +``` | - = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from +``` + +``` + = help: this function's return type contains a borrowed value, +``` + +``` +but there is no value for it to be borrowed from +``` + +``` help: consider using the `'static` lifetime +``` + +``` | +``` + +``` 5 | fn dangle() -> &'static String { +``` + +``` | ~~~~~~~~ ``` @@ -884,6 +1477,9 @@ about lifetimes, the message does contain the key to why this code is a problem: ``` this function's return type contains a borrowed value, but there is no value +``` + +``` for it to be borrowed from ``` @@ -894,11 +1490,29 @@ Filename: src/main.rs ``` fn dangle() -> &String { // dangle returns a reference to a String +``` + +``` +``` + +``` let s = String::from("hello"); // s is a new String +``` + +``` +``` + +``` &s // we return a reference to the String, s -} // Here, s goes out of scope, and is dropped. Its memory goes away. +``` + +``` +} // Here, s goes out of scope and is dropped, so its memory goes away +``` + +``` // Danger! ``` @@ -911,9 +1525,21 @@ The solution here is to return the `String` directly: ``` fn no_dangle() -> String { +``` + +``` let s = String::from("hello"); +``` +``` + +``` + +``` s +``` + +``` } ``` @@ -925,9 +1551,8 @@ deallocated. Let’s recap what we’ve discussed about references: * At any given time, you can have *either* one mutable reference *or* any - number of immutable references. +number of immutable references. * References must always be valid. - Next, we’ll look at a different kind of reference: slices. ## The Slice Type @@ -941,48 +1566,78 @@ words separated by spaces and returns the first word it finds in that string. If the function doesn’t find a space in the string, the whole string must be one word, so the entire string should be returned. -Let’s work through how we’d write the signature of this function without using -slices, to understand the problem that slices will solve: +Let’s work through how we’d write the signature of this function without using +slices, to understand the problem that slices will solve: + +``` +fn first_word(s: &String) -> ? +``` + +The `first_word` function has a `&String` as a parameter. We don’t want +ownership, so this is fine. But what should we return? We don’t really have a +way to talk about *part* of a string. However, we could return the index of the +end of the word, indicated by a space. Let’s try that, as shown in Listing 4-7. + +Filename: src/main.rs + +``` +fn first_word(s: &String) -> usize { +``` + +``` + 1 let bytes = s.as_bytes(); +``` + +``` + +``` + +``` + for (2 i, &item) in 3 bytes.iter().enumerate() { +``` + +``` + 4 if item == b' ' { +``` + +``` + return i; +``` ``` -fn first_word(s: &String) -> ? + } ``` -The `first_word` function has a `&String` as a parameter. We don’t want -ownership, so this is fine. But what should we return? We don’t really have a -way to talk about *part* of a string. However, we could return the index of the -end of the word, indicated by a space. Let’s try that, as shown in Listing 4-7. +``` + } +``` -Filename: src/main.rs +``` ``` -fn first_word(s: &String) -> usize { - [1] let bytes = s.as_bytes(); - for (i, &item)[2] in bytes.iter()[3].enumerate() { - [4] if item == b' ' { - return i; - } - } +``` + 5 s.len() +``` - [5] s.len() +``` } ``` -Listing 4-7: The `first_word` function that returns a byte index value into the -`String` parameter +The `first_word` function that returns a byte index value into the `String` +parameter Because we need to go through the `String` element by element and check whether a value is a space, we’ll convert our `String` to an array of bytes using the `as_bytes` method [1]. -Next, we create an iterator over the array of bytes using the `iter` method [3]. -We’ll discuss iterators in more detail in Chapter 13. For now, know that `iter` -is a method that returns each element in a collection and that `enumerate` -wraps the result of `iter` and returns each element as part of a tuple instead. -The first element of the tuple returned from `enumerate` is the index, and the -second element is a reference to the element. This is a bit more convenient -than calculating the index ourselves. +Next, we create an iterator over the array of bytes using the `iter` method +[3]. We’ll discuss iterators in more detail in Chapter 13. For now, know that +`iter` is a method that returns each element in a collection and that +`enumerate` wraps the result of `iter` and returns each element as part of a +tuple instead. The first element of the tuple returned from `enumerate` is the +index, and the second element is a reference to the element. This is a bit more +convenient than calculating the index ourselves. Because the `enumerate` method returns a tuple, we can use patterns to destructure that tuple. We’ll be discussing patterns more in Chapter 6. In the @@ -1005,19 +1660,46 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let mut s = String::from("hello world"); +``` + +``` + +``` +``` let word = first_word(&s); // word will get the value 5 +``` + +``` + +``` +``` s.clear(); // this empties the String, making it equal to "" +``` + +``` + +``` +``` // word still has the value 5 here, but there's no more string that +``` + +``` // we could meaningfully use the value 5 with. word is now totally invalid! +``` + +``` } ``` -Listing 4-8: Storing the result from calling the `first_word` function and then -changing the `String` contents +Storing the result from calling the `first_word` function and then changing the +`String` contents This program compiles without any errors and would also do so if we used `word` after calling `s.clear()`. Because `word` isn’t connected to the state of `s` @@ -1035,8 +1717,8 @@ fn second_word(s: &String) -> (usize, usize) { Now we’re tracking a starting *and* an ending index, and we have even more values that were calculated from data in a particular state but aren’t tied to -that state at all. We have three unrelated variables floating around that -need to be kept in sync. +that state at all. We have three unrelated variables floating around that need +to be kept in sync. Luckily, Rust has a solution to this problem: string slices. @@ -1046,8 +1728,17 @@ A *string slice* is a reference to part of a `String`, and it looks like this: ``` let s = String::from("hello world"); +``` + +``` + +``` +``` let hello = &s[0..5]; +``` + +``` let world = &s[6..11]; ``` @@ -1057,23 +1748,32 @@ using a range within brackets by specifying `[starting_index..ending_index]`, where `starting_index` is the first position in the slice and `ending_index` is one more than the last position in the slice. Internally, the slice data structure stores the starting position and the length of the slice, which -corresponds to `ending_index` minus `starting_index`. So in the case of `let +corresponds to `ending_index` minus `starting_index`. So, in the case of `let world = &s[6..11];`, `world` would be a slice that contains a pointer to the byte at index 6 of `s` with a length value of 5. Figure 4-6 shows this in a diagram. -world containing a pointer to the byte at index 6 of String s and a length 5 -Figure 4-6: String slice referring to part of a `String` +Unmatched: GraphicSlug -With Rust’s `..` range syntax, if you want to start at index zero, you can drop -the value before the two periods. In other words, these are equal: +Unmatched: CaptionLine + With Rust’s `..` range syntax, if you want to start at index zero, you +can drop the value before the two periods. In other words, these are equal: ``` let s = String::from("hello"); +``` + +``` + +``` +``` let slice = &s[0..2]; +``` + +``` let slice = &s[..2]; ``` @@ -1082,10 +1782,25 @@ can drop the trailing number. That means these are equal: ``` let s = String::from("hello"); +``` + +``` + +``` +``` let len = s.len(); +``` + +``` + +``` +``` let slice = &s[3..len]; +``` + +``` let slice = &s[3..]; ``` @@ -1094,19 +1809,34 @@ are equal: ``` let s = String::from("hello"); +``` + +``` + +``` +``` let len = s.len(); +``` + +``` +``` + +``` let slice = &s[0..len]; +``` + +``` let slice = &s[..]; ``` -> Note: String slice range indices must occur at valid UTF-8 character -> boundaries. If you attempt to create a string slice in the middle of a -> multibyte character, your program will exit with an error. For the purposes -> of introducing string slices, we are assuming ASCII only in this section; a -> more thorough discussion of UTF-8 handling is in the “Storing UTF-8 Encoded -> Text with Strings” section of Chapter 8. +> NoteString slice range indices must occur at valid UTF-8 character +boundaries. If you attempt to create a string slice in the middle of a +multibyte character, your program will exit with an error. For the purposes of +introducing string slices, we are assuming ASCII only in this section; a more +thorough discussion of UTF-8 handling is in “Storing UTF-8 Encoded Text with +Strings” on page XX. With all this information in mind, let’s rewrite `first_word` to return a slice. The type that signifies “string slice” is written as `&str`: @@ -1115,22 +1845,52 @@ Filename: src/main.rs ``` fn first_word(s: &String) -> &str { +``` + +``` let bytes = s.as_bytes(); +``` + +``` +``` + +``` for (i, &item) in bytes.iter().enumerate() { +``` + +``` if item == b' ' { +``` + +``` return &s[0..i]; +``` + +``` } +``` + +``` } +``` +``` + +``` + +``` &s[..] +``` + +``` } ``` -We get the index for the end of the word in the same way as we did in Listing -4-7, by looking for the first occurrence of a space. When we find a space, we -return a string slice using the start of the string and the index of the space -as the starting and ending indices. +We get the index for the end of the word the same way we did in Listing 4-7, by +looking for the first occurrence of a space. When we find a space, we return a +string slice using the start of the string and the index of the space as the +starting and ending indices. Now when we call `first_word`, we get back a single value that is tied to the underlying data. The value is made up of a reference to the starting point of @@ -1142,7 +1902,7 @@ Returning a slice would also work for a `second_word` function: fn second_word(s: &String) -> &str { ``` -We now have a straightforward API that’s much harder to mess up, because the +We now have a straightforward API that’s much harder to mess up because the compiler will ensure the references into the `String` remain valid. Remember the bug in the program in Listing 4-8, when we got the index to the end of the first word but then cleared the string so our index was invalid? That code was @@ -1156,13 +1916,37 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let mut s = String::from("hello world"); +``` + +``` + +``` +``` let word = first_word(&s); +``` + +``` +``` + +``` s.clear(); // error! +``` +``` + +``` + +``` println!("the first word is: {}", word); +``` + +``` } ``` @@ -1170,16 +1954,49 @@ Here’s the compiler error: ``` error[E0502]: cannot borrow `s` as mutable because it is also borrowed as +``` + +``` immutable +``` + +``` --> src/main.rs:18:5 +``` + +``` | +``` + +``` 16 | let word = first_word(&s); +``` + +``` | -- immutable borrow occurs here +``` + +``` 17 | +``` + +``` 18 | s.clear(); // error! +``` + +``` | ^^^^^^^^^ mutable borrow occurs here +``` + +``` 19 | +``` + +``` 20 | println!("the first word is: {}", word); +``` + +``` | ---- immutable borrow later used here ``` @@ -1192,7 +2009,7 @@ reference in `clear` and the immutable reference in `word` from existing at the same time, and compilation fails. Not only has Rust made our API easier to use, but it has also eliminated an entire class of errors at compile time! -#### String Literals Are Slices +#### String Literals as Slices Recall that we talked about string literals being stored inside the binary. Now that we know about slices, we can properly understand string literals: @@ -1222,58 +2039,128 @@ and `&str` values. fn first_word(s: &str) -> &str { ``` -Listing 4-9: Improving the `first_word` function by using a string slice for -the type of the `s` parameter +Improving the `first_word` function by using a string slice for the type of the +`s` parameter If we have a string slice, we can pass that directly. If we have a `String`, we can pass a slice of the `String` or a reference to the `String`. This flexibility takes advantage of *deref coercions*, a feature we will cover in -the “Implicit Deref Coercions with Functions and Methods” section of Chapter -15. Defining a function to take a string slice instead of a reference to a -`String` makes our API more general and useful without losing any functionality: +“Implicit Deref Coercions with Functions and Methods” on page XX. + +Defining a function to take a string slice instead of a reference to a `String` +makes our API more general and useful without losing any functionality: Filename: src/main.rs ``` fn main() { +``` + +``` let my_string = String::from("hello world"); +``` + +``` +``` + +``` // `first_word` works on slices of `String`s, whether partial or whole +``` + +``` let word = first_word(&my_string[0..6]); +``` + +``` let word = first_word(&my_string[..]); +``` + +``` // `first_word` also works on references to `String`s, which are equivalent +``` + +``` // to whole slices of `String`s +``` + +``` let word = first_word(&my_string); +``` + +``` + +``` +``` let my_string_literal = "hello world"; +``` + +``` + +``` +``` // `first_word` works on slices of string literals, whether partial or whole +``` + +``` let word = first_word(&my_string_literal[0..6]); +``` + +``` let word = first_word(&my_string_literal[..]); +``` + +``` + +``` +``` // Because string literals *are* string slices already, +``` + +``` // this works too, without the slice syntax! +``` + +``` let word = first_word(my_string_literal); +``` + +``` } ``` ### Other Slices String slices, as you might imagine, are specific to strings. But there’s a -more general slice type, too. Consider this array: +more general slice type too. Consider this array: ``` let a = [1, 2, 3, 4, 5]; ``` -Just as we might want to refer to a part of a string, we might want to refer -to part of an array. We’d do so like this: +Just as we might want to refer to part of a string, we might want to refer to +part of an array. We’d do so like this: ``` let a = [1, 2, 3, 4, 5]; +``` + +``` + +``` +``` let slice = &a[1..3]; +``` + +``` +``` + +``` assert_eq!(slice, &[2, 3]); ``` @@ -1293,3 +2180,4 @@ means you don’t have to write and debug extra code to get this control. Ownership affects how lots of other parts of Rust work, so we’ll talk about these concepts further throughout the rest of the book. Let’s move on to Chapter 5 and look at grouping pieces of data together in a `struct`. + diff --git a/nostarch/docx/chapter04.docx b/nostarch/docx/chapter04.docx new file mode 100644 index 0000000000000000000000000000000000000000..fd60971a8dcc5a459c4bb41fe89808e951f6e888 GIT binary patch literal 77627 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�)NhWHdic(2U6*PA` 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 Date: Sun, 14 Aug 2022 21:23:26 -0400 Subject: [PATCH 0387/1248] Changing my notes again --- TODO.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/TODO.md b/TODO.md index 067871a472..8c465855e4 100644 --- a/TODO.md +++ b/TODO.md @@ -1,14 +1,16 @@ # In each chapter - [ ] Manual regeneration -- [ ] Check updated output - [ ] Check for upstream changes from last snapshot - [ ] Check diff +- [ ] Check updated output - [ ] Answer all comments - [ ] Check indentation of --snip-- - [ ] Check cross references - [ ] Gray out unchanged lines - [ ] Check line wrapping +- [ ] Check println style and error messages +- [ ] Add alt text to images - [ ] Index tags - [ ] search for "convention" conventions:naming:of blah - [ ] check for double spaces, spaces at the end of paragraphs From 0b630e51a9bc335160b942d47cb7a4c504e6d406 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 14 Aug 2022 21:23:58 -0400 Subject: [PATCH 0388/1248] Messy snapshot of chapter 4 after copyedit check --- nostarch/chapter04.md | 201 ++++++++++++++++++----------------- nostarch/docx/chapter04.docx | Bin 77627 -> 88687 bytes 2 files changed, 104 insertions(+), 97 deletions(-) diff --git a/nostarch/chapter04.md b/nostarch/chapter04.md index a87deea87c..bc94b2e478 100644 --- a/nostarch/chapter04.md +++ b/nostarch/chapter04.md @@ -39,67 +39,72 @@ strings. Unmatched: BoxType > ### The Stack and the Heap -> + + > Many programming languages don’t require you to think about the stack and the -> heap very often. But in a systems programming language like Rust, whether a -> value is on the stack or the heap affects how the language behaves and why -> you have to make certain decisions. Parts of ownership will be described in -> relation to the stack and the heap later in this chapter, so here is a brief -> explanation in preparation. -> +heap very often. But in a systems programming language like Rust, whether a +value is on the stack or the heap affects how the language behaves and why you +have to make certain decisions. Parts of ownership will be described in +relation to the stack and the heap later in this chapter, so here is a brief +explanation in preparation. + + > Both the stack and the heap are parts of memory available to your code to use -> at runtime, but they are structured in different ways. The stack stores -> values in the order it gets them and removes the values in the opposite -> order. This is referred to as *last in, first out*. Think of a stack of -> plates: when you add more plates, you put them on top of the pile, and when -> you need a plate, you take one off the top. Adding or removing plates from -> the middle or bottom wouldn’t work as well! Adding data is called *pushing -> onto the stack*, and removing data is called *popping off the stack*. All -> data stored on the stack must have a known, fixed size. Data with an unknown -> size at compile time or a size that might change must be stored on the heap -> instead. -> +at runtime, but they are structured in different ways. The stack stores values +in the order it gets them and removes the values in the opposite order. This is +referred to as *last in, first out*. Think of a stack of plates: when you add +more plates, you put them on top of the pile, and when you need a plate, you +take one off the top. Adding or removing plates from the middle or bottom +wouldn’t work as well! Adding data is called *pushing* *onto the stack*, and +removing data is called *popping off the stack*. All data stored on the stack +must have a known, fixed size. Data with an unknown size at compile time or a +size that might change must be stored on the heap instead. + + > The heap is less organized: when you put data on the heap, you request a -> certain amount of space. The memory allocator finds an empty spot in the heap -> that is big enough, marks it as being in use, and returns a *pointer*, which -> is the address of that location. This process is called *allocating on the -> heap* and is sometimes abbreviated as just *allocating* (pushing values onto -> the stack is not considered allocating). Because the pointer to the heap is a -> known, fixed size, you can store the pointer on the stack, but when you want -> the actual data, you must follow the pointer. Think of being seated at a -> restaurant. When you enter, you state the number of people in your group, and -> the host finds an empty table that fits everyone and leads you there. If -> someone in your group comes late, they can ask where you’ve been seated to -> find you. -> +certain amount of space. The memory allocator finds an empty spot in the heap +that is big enough, marks it as being in use, and returns a *pointer*, which is +the address of that location. This process is called *allocating on the* *heap* +and is sometimes abbreviated as just *allocating* (pushing values onto the +stack is not considered allocating). Because the pointer to the heap is a +known, fixed size, you can store the pointer on the stack, but when you want +the actual data, you must follow the pointer. Think of being seated at a +restaurant. When you enter, you state the number of people in your group, and +the host finds an empty table that fits everyone and leads you there. If +someone in your group comes late, they can ask where you’ve been seated to find +you. + + > Pushing to the stack is faster than allocating on the heap because the -> allocator never has to search for a place to store new data; that location is -> always at the top of the stack. Comparatively, allocating space on the heap -> requires more work because the allocator must first find a big enough space to -> hold the data and then perform bookkeeping to prepare for the next allocation. -> +allocator never has to search for a place to store new data; that location is +always at the top of the stack. Comparatively, allocating space on the heap +requires more work because the allocator must first find a big enough space to +hold the data and then perform bookkeeping to prepare for the next allocation. + + > Accessing data in the heap is slower than accessing data on the stack because -> you have to follow a pointer to get there. Contemporary processors are faster -> if they jump around less in memory. Continuing the analogy, consider a server -> at a restaurant taking orders from many tables. It’s most efficient to get -> all the orders at one table before moving on to the next table. Taking an -> order from table A, then an order from table B, then one from A again, and -> then one from B again would be a much slower process. By the same token, a -> processor can do its job better if it works on data that’s close to other -> data (as it is on the stack) rather than farther away (as it can be on the -> heap). -> +you have to follow a pointer to get there. Contemporary processors are faster +if they jump around less in memory. Continuing the analogy, consider a server +at a restaurant taking orders from many tables. It’s most efficient to get all +the orders at one table before moving on to the next table. Taking an order +from table A, then an order from table B, then one from A again, and then one +from B again would be a much slower process. By the same token, a processor can +do its job better if it works on data that’s close to other data (as it is on +the stack) rather than farther away (as it can be on the heap). + + > When your code calls a function, the values passed into the function -> (including, potentially, pointers to data on the heap) and the function’s -> local variables get pushed onto the stack. When the function is over, those -> values get popped off the stack. -> +(including, potentially, pointers to data on the heap) and the function’s local +variables get pushed onto the stack. When the function is over, those values +get popped off the stack. + + > Keeping track of what parts of code are using what data on the heap, -> minimizing the amount of duplicate data on the heap, and cleaning up unused -> data on the heap so you don’t run out of space are all problems that ownership -> addresses. Once you understand ownership, you won’t need to think about the -> stack and the heap very often, but knowing that the main purpose of ownership -> is to manage heap data can help explain why it works the way it does. +minimizing the amount of duplicate data on the heap, and cleaning up unused +data on the heap so you don’t run out of space are all problems that ownership +addresses. Once you understand ownership, you won’t need to think about the +stack and the heap very often, but knowing that the main purpose of ownership +is to manage heap data can help explain why it works the way it does. ### Ownership Rules @@ -109,7 +114,6 @@ work through the examples that illustrate them: * Each value in Rust has an *owner*. * There can only be one owner at a time. * When the owner goes out of scope, the value will be dropped. - ### Variable Scope Now that we’re past basic Rust syntax, we won’t include all the `fn main() {` @@ -157,7 +161,6 @@ In other words, there are two important points in time here: * When `s` comes *into* scope, it is valid. * It remains valid until it goes *out of* scope. - At this point, the relationship between scopes and when variables are valid is similar to that in other programming languages. Now we’ll build on top of this understanding by introducing the `String` type. @@ -217,7 +220,7 @@ s.push_str(", world!"); // push_str() appends a literal to a String ``` ``` -println!("{}", s); // This will print `hello, world!` +println!("{s}"); // This will print `hello, world!` ``` So, what’s the difference here? Why can `String` be mutated but literals @@ -375,10 +378,10 @@ of the memory safety bugs we mentioned previously. Freeing memory twice can lead to memory corruption, which can potentially lead to security vulnerabilities. -To ensure memory safety, after the line `let s2 =` `s1`, Rust considers `s1` as -no longer valid. Therefore, Rust doesn’t need to free anything when `s1` goes -out of scope. Check out what happens when you try to use `s1` after `s2` is -created; it won’t work: +To ensure memory safety, after the line `let s2 =` `s1``;`, Rust considers `s1` +as no longer valid. Therefore, Rust doesn’t need to free anything when `s1` +goes out of scope. Check out what happens when you try to use `s1` after `s2` +is created; it won’t work: ``` let s1 = String::from("hello"); @@ -393,7 +396,7 @@ let s2 = s1; ``` ``` -println!("{}, world!", s1); +println!("{s1}, world!"); ``` You’ll get an error like this because Rust prevents you from using the @@ -436,11 +439,11 @@ error[E0382]: borrow of moved value: `s1` ``` ``` -5 | println!("{}, world!", s1); +5 | println!("{s1}, world!"); ``` ``` - | ^^ value borrowed here after move + | ^^ value borrowed here after move ``` If you’ve heard the terms *shallow copy* and *deep copy* while working with @@ -461,7 +464,7 @@ In addition, there’s a design choice that’s implied by this: Rust will never automatically create “deep” copies of your data. Therefore, any *automatic* copying can be assumed to be inexpensive in terms of runtime performance. -#### With Clone +#### Variables and Data Interacting With Clone If we *do* want to deeply copy the heap data of the `String`, not just the stack data, we can use a common method called `clone`. We’ll discuss method @@ -483,7 +486,7 @@ let s2 = s1.clone(); ``` ``` -println!("s1 = {}, s2 = {}", s1, s2); +println!("s1 = {s1}, s2 = {s2}"); ``` This works just fine and explicitly produces the behavior shown in Figure 4-3, @@ -511,7 +514,7 @@ let y = x; ``` ``` -println!("x = {}, y = {}", x, y); +println!("x = {x}, y = {y}"); ``` But this code seems to contradict what we just learned: we don’t have a call to @@ -607,11 +610,10 @@ fn main() { ``` } // Here, x goes out of scope, then s. However, because s's value was moved, -nothing ``` ``` - // special happens + // nothing special happens ``` ``` @@ -623,7 +625,7 @@ fn takes_ownership(some_string: String) { // some_string comes into scope ``` ``` - println!("{}", some_string); + println!("{some_string}"); ``` ``` @@ -643,7 +645,7 @@ fn makes_copy(some_integer: i32) { // some_integer comes into scope ``` ``` - println!("{}", some_integer); + println!("{some_integer}"); ``` ``` @@ -819,7 +821,7 @@ fn main() { ``` ``` - println!("The length of '{}' is {}.", s2, len); + println!("The length of '{s2}' is {len}."); ``` ``` @@ -893,7 +895,7 @@ fn main() { ``` ``` - println!("The length of '{}' is {}.", s1, len); + println!("The length of '{s1}' is {len}."); ``` ``` @@ -965,7 +967,7 @@ fn calculate_length(s: &String) -> usize { // s is a reference to a String ``` ``` - // it refers to, it is not dropped + // it refers to, the String is not dropped ``` The scope in which the variable `s` is valid is the same as any function @@ -1133,7 +1135,7 @@ Filename: src/main.rs ``` ``` - println!("{}, {}", r1, r2); + println!("{r1}, {r2}"); ``` Here’s the error: @@ -1171,11 +1173,11 @@ error[E0499]: cannot borrow `s` as mutable more than once at a time ``` ``` -7 | println!("{}, {}", r1, r2); +7 | println!("{r1}, {r2}"); ``` ``` - | -- first borrow later used here + | -- first borrow later used here ``` This error says that this code is invalid because we cannot borrow `s` as @@ -1257,7 +1259,7 @@ let r3 = &mut s; // BIG PROBLEM ``` ``` -println!("{}, {}, and {}", r1, r2, r3); +println!("{r1}, {r2}, and {r3}"); ``` Here’s the error: @@ -1300,11 +1302,11 @@ immutable ``` ``` -8 | println!("{}, {}, and {}", r1, r2, r3); +8 | println!("{r1}, {r2}, and {r3}"); ``` ``` - | -- immutable borrow later used here + | -- immutable borrow later used here ``` Whew! We *also* cannot have a mutable reference while we have an immutable one @@ -1337,7 +1339,7 @@ let r2 = &s; // no problem ``` ``` -println!("{} and {}", r1, r2); +println!("{r1} and {r2}"); ``` ``` @@ -1353,17 +1355,14 @@ let r3 = &mut s; // no problem ``` ``` -println!("{}", r3); +println!("{r3}"); ``` The scopes of the immutable references `r1` and `r2` end after the `println!` where they are last used, which is before the mutable reference `r3` is -created. These scopes don’t overlap, so this code is allowed. The ability of -the compiler to tell that a reference is no longer being used at a point before -the end of the scope is a feature called *n**on-**l**exical* *l**ifetimes* (NLL -for short), and you can read more about it in The Edition Guide at -*https://doc.rust-lang.org/edition-guide/rust-2018/ownership-and-lifetimes/non-l -exical-lifetimes.html*. +created. These scopes don’t overlap, so this code is allowed: the compiler can +tell that the reference is no longer being used at a point before the end of +the scope. Even though borrowing errors may be frustrating at times, remember that it’s the Rust compiler pointing out a potential bug early (at compile time rather @@ -1476,11 +1475,11 @@ discuss lifetimes in detail in Chapter 10. But, if you disregard the parts about lifetimes, the message does contain the key to why this code is a problem: ``` -this function's return type contains a borrowed value, but there is no value +this function's return type contains a borrowed value, but there ``` ``` -for it to be borrowed from +is no value for it to be borrowed from ``` Let’s take a closer look at exactly what’s happening at each stage of our @@ -1943,7 +1942,7 @@ fn main() { ``` ``` - println!("the first word is: {}", word); + println!("the first word is: {word}"); ``` ``` @@ -1993,11 +1992,11 @@ immutable ``` ``` -20 | println!("the first word is: {}", word); +20 | println!("the first word is: {word}"); ``` ``` - | ---- immutable borrow later used here + | ---- immutable borrow later used here ``` Recall from the borrowing rules that if we have an immutable reference to @@ -2065,7 +2064,11 @@ fn main() { ``` ``` - // `first_word` works on slices of `String`s, whether partial or whole + // `first_word` works on slices of `String`s, whether partial +``` + +``` + // or whole ``` ``` @@ -2077,11 +2080,11 @@ fn main() { ``` ``` - // `first_word` also works on references to `String`s, which are equivalent + // `first_word` also works on references to `String`s, which ``` ``` - // to whole slices of `String`s + // are equivalent to whole slices of `String`s ``` ``` @@ -2101,7 +2104,11 @@ fn main() { ``` ``` - // `first_word` works on slices of string literals, whether partial or whole + // `first_word` works on slices of string literals, +``` + +``` + // whether partial or whole ``` ``` diff --git a/nostarch/docx/chapter04.docx b/nostarch/docx/chapter04.docx index fd60971a8dcc5a459c4bb41fe89808e951f6e888..a0f820890dff922e41d7456e60f8a6792a311525 100644 GIT binary patch delta 80371 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�b5 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

k0ZL_s(vlxsKzxn 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%0D~MRmS&G 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

8$7|8_z0aV~V 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

0DX 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 From ea1b16fcb15178f94adea4605eb74a75fe419e71 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 15 Aug 2022 12:10:37 -0400 Subject: [PATCH 0389/1248] Snapshot of chapter 5 from copyedit --- nostarch/chapter05.md | 1298 ++++++++++++++++++++++++++-------- nostarch/docx/chapter05.docx | Bin 0 -> 67672 bytes 2 files changed, 1004 insertions(+), 294 deletions(-) create mode 100644 nostarch/docx/chapter05.docx diff --git a/nostarch/chapter05.md b/nostarch/chapter05.md index 356ba82af7..7b5dd78d27 100644 --- a/nostarch/chapter05.md +++ b/nostarch/chapter05.md @@ -19,16 +19,16 @@ We’ll demonstrate how to define and instantiate structs. We’ll discuss how t define associated functions, especially the kind of associated functions called *methods*, to specify behavior associated with a struct type. Structs and enums (discussed in Chapter 6) are the building blocks for creating new types in your -program’s domain to take full advantage of Rust’s compile time type checking. +program’s domain to take full advantage of Rust’s compile-time type checking. ## Defining and Instantiating Structs -Structs are similar to tuples, discussed in “The Tuple Type” section, in that -both hold multiple related values. Like tuples, the pieces of a struct can be -different types. Unlike with tuples, in a struct you’ll name each piece of data -so it’s clear what the values mean. Adding these names means that structs are -more flexible than tuples: you don’t have to rely on the order of the data to -specify or access the values of an instance. +Structs are similar to tuples, discussed in “The Tuple Type” on page XX, in +that both hold multiple related values. Like tuples, the pieces of a struct can +be different types. Unlike with tuples, in a struct you’ll name each piece of +data so it’s clear what the values mean. Adding these names means that structs +are more flexible than tuples: you don’t have to rely on the order of the data +to specify or access the values of an instance. To define a struct, we enter the keyword `struct` and name the entire struct. A struct’s name should describe the significance of the pieces of data being @@ -38,14 +38,32 @@ struct that stores information about a user account. ``` struct User { +``` + +``` active: bool, +``` + +``` username: String, +``` + +``` email: String, +``` + +``` sign_in_count: u64, +``` + +``` } ``` -Listing 5-1: A `User` struct definition +A `User` struct definition + +PROD: This should be called Listing 5-1. Please fix, and please renumber +remaining listings consecutively (e.g., Listing 5-2, Listing 5-3, etc.). To use a struct after we’ve defined it, we create an *instance* of that struct by specifying concrete values for each of the fields. We create an instance by @@ -59,16 +77,37 @@ example, we can declare a particular user as shown in Listing 5-2. ``` fn main() { +``` + +``` let user1 = User { - email: String::from("someone@example.com"), - username: String::from("someusername123"), +``` + +``` active: true, +``` + +``` + username: String::from("someusername123"), +``` + +``` + email: String::from("someone@example.com"), +``` + +``` sign_in_count: 1, +``` + +``` }; +``` + +``` } ``` -Listing 5-2: Creating an instance of the `User` struct +Creating an instance of the `User` struct To get a specific value from a struct, we use dot notation. For example, to access this user’s email address, we use `user1.email`. If the instance is @@ -76,27 +115,47 @@ mutable, we can change a value by using the dot notation and assigning into a particular field. Listing 5-3 shows how to change the value in the `email` field of a mutable `User` instance. - - - ``` fn main() { +``` + +``` let mut user1 = User { - email: String::from("someone@example.com"), - username: String::from("someusername123"), +``` + +``` active: true, +``` + +``` + username: String::from("someusername123"), +``` + +``` + email: String::from("someone@example.com"), +``` + +``` sign_in_count: 1, +``` + +``` }; +``` +``` + +``` + +``` user1.email = String::from("anotheremail@example.com"); +``` + +``` } ``` -Listing 5-3: Changing the value in the `email` field of a `User` instance +Changing the value in the `email` field of a `User` instance Note that the entire instance must be mutable; Rust doesn’t allow us to mark only certain fields as mutable. As with any expression, we can construct a new @@ -109,17 +168,38 @@ the `sign_in_count` gets a value of `1`. ``` fn build_user(email: String, username: String) -> User { +``` + +``` User { - email: email, - username: username, +``` + +``` active: true, +``` + +``` + username: username, +``` + +``` + email: email, +``` + +``` sign_in_count: 1, +``` + +``` } +``` + +``` } ``` -Listing 5-4: A `build_user` function that takes an email and username and -returns a `User` instance +A `build_user` function that takes an email and username and returns a `User` +instance It makes sense to name the function parameters with the same name as the struct fields, but having to repeat the `email` and `username` field names and @@ -130,22 +210,43 @@ would get even more annoying. Luckily, there’s a convenient shorthand! Because the parameter names and the struct field names are exactly the same in Listing 5-4, we can use the *field init shorthand* syntax to rewrite -`build_user` so that it behaves exactly the same but doesn’t have the -repetition of `email` and `username`, as shown in Listing 5-5. +`build_user` so it behaves exactly the same but doesn’t have the repetition of +`email` and `username`, as shown in Listing 5-5. ``` fn build_user(email: String, username: String) -> User { +``` + +``` User { - email, - username, +``` + +``` active: true, +``` + +``` + username, +``` + +``` + email, +``` + +``` sign_in_count: 1, +``` + +``` } +``` + +``` } ``` -Listing 5-5: A `build_user` function that uses field init shorthand because the -`email` and `username` parameters have the same name as struct fields +A `build_user` function that uses field init shorthand because the `email` and +`username` parameters have the same name as struct fields Here, we’re creating a new instance of the `User` struct, which has a field named `email`. We want to set the `email` field’s value to the value in the @@ -153,7 +254,7 @@ named `email`. We want to set the `email` field’s value to the value in the the `email` parameter have the same name, we only need to write `email` rather than `email: email`. -### Creating Instances From Other Instances With Struct Update Syntax +### Creating Instances from Other Instances with Struct Update Syntax It’s often useful to create a new instance of a struct that includes most of the values from another instance, but changes some. You can do this using @@ -165,18 +266,45 @@ otherwise use the same values from `user1` that we created in Listing 5-2. ``` fn main() { - // --snip-- +``` + +``` + --snip-- +``` + +``` +``` + +``` let user2 = User { +``` + +``` active: user1.active, +``` + +``` username: user1.username, +``` + +``` email: String::from("another@example.com"), +``` + +``` sign_in_count: user1.sign_in_count, +``` + +``` }; +``` + +``` } ``` -Listing 5-6: Creating a new `User` instance using one of the values from `user1` +Creating a new `User` instance using one of the values from `user1` Using struct update syntax, we can achieve the same effect with less code, as shown in Listing 5-7. The syntax `..` specifies that the remaining fields not @@ -184,17 +312,42 @@ explicitly set should have the same value as the fields in the given instance. ``` fn main() { - // --snip-- +``` +``` + --snip-- +``` + +``` + +``` + +``` + +``` + +``` let user2 = User { +``` + +``` email: String::from("another@example.com"), +``` + +``` ..user1 +``` + +``` }; +``` + +``` } ``` -Listing 5-7: Using struct update syntax to set a new `email` value for a `User` -instance but use the rest of the values from `user1` +Using struct update syntax to set a new `email` value for a `User` instance but +to use the rest of the values from `user1` The code in Listing 5-7 also creates an instance in `user2` that has a different value for `email` but has the same values for the `username`, @@ -204,45 +357,58 @@ corresponding fields in `user1`, but we can choose to specify values for as many fields as we want in any order, regardless of the order of the fields in the struct’s definition. -Note that the struct update syntax uses `=` like an assignment; this is -because it moves the data, just as we saw in the “Ways Variables and Data -Interact: Move” section. In this example, we can no longer use `user1` after -creating `user2` because the `String` in the `username` field of `user1` was -moved into `user2`. If we had given `user2` new `String` values for both -`email` and `username`, and thus only used the `active` and `sign_in_count` -values from `user1`, then `user1` would still be valid after creating `user2`. -The types of `active` and `sign_in_count` are types that implement the `Copy` -trait, so the behavior we discussed in the “Stack-Only Data: Copy” section -would apply. - - - - -### Using Tuple Structs without Named Fields to Create Different Types - -Rust also supports structs that look similar to tuples, called *tuple -structs*. Tuple structs have the added meaning the struct name provides but +Note that the struct update syntax uses `=` like an assignment; this is because +it moves the data, just as we saw in “Ways Variables and Data Interact: Move” +on page XX. In this example, we can no longer use `user1` after creating +`user2` because the `String` in the `username` field of `user1` was moved into +`user2`. If we had given `user2` new `String` values for both `email` and +`username`, and thus only used the `active` and `sign_in_count` values from +`user1`, then `user1` would still be valid after creating `user2`. Both +`active` and `sign_in_count` are types that implement the `Copy` trait, so the +behavior we discussed in “Stack-Only Data: Copy” on page XX would apply. + +### Using Tuple Structs Without Named Fields to Create Different Types + +Rust also supports structs that look similar to tuples, called *tuple* +*structs*. Tuple structs have the added meaning the struct name provides but don’t have names associated with their fields; rather, they just have the types of the fields. Tuple structs are useful when you want to give the whole tuple a -name and make the tuple a different type from other tuples, and when naming each -field as in a regular struct would be verbose or redundant. +name and make the tuple a different type from other tuples, and when naming +each field as in a regular struct would be verbose or redundant. To define a tuple struct, start with the `struct` keyword and the struct name -followed by the types in the tuple. For example, here we define and use -two tuple structs named `Color` and `Point`: +followed by the types in the tuple. For example, here we define and use two +tuple structs named `Color` and `Point`: ``` struct Color(i32, i32, i32); +``` + +``` struct Point(i32, i32, i32); +``` + +``` +``` + +``` fn main() { +``` + +``` let black = Color(0, 0, 0); +``` + +``` let origin = Point(0, 0, 0); +``` + +``` } ``` -Note that the `black` and `origin` values are different types, because they’re +Note that the `black` and `origin` values are different types because they’re instances of different tuple structs. Each struct you define is its own type, even though the fields within the struct might have the same types. For example, a function that takes a parameter of type `Color` cannot take a @@ -251,41 +417,38 @@ values. Otherwise, tuple struct instances are similar to tuples in that you can destructure them into their individual pieces, and you can use a `.` followed by the index to access an individual value. - - - ### Unit-Like Structs Without Any Fields You can also define structs that don’t have any fields! These are called *unit-like structs* because they behave similarly to `()`, the unit type that -we mentioned in “The Tuple Type” section. Unit-like structs can be useful when -you need to implement a trait on some type but don’t have any data that you -want to store in the type itself. We’ll discuss traits in Chapter 10. Here’s an -example of declaring and instantiating a unit struct named `AlwaysEqual`: +we mentioned in “The Tuple Type” on page XX. Unit-like structs can be useful +when you need to implement a trait on some type but don’t have any data that +you want to store in the type itself. We’ll discuss traits in Chapter 10. +Here’s an example of declaring and instantiating a unit struct named +`AlwaysEqual`: ``` struct AlwaysEqual; +``` +``` + +``` + +``` fn main() { +``` + +``` let subject = AlwaysEqual; +``` + +``` } ``` -To define `AlwaysEqual`, we use the `struct` keyword, the name we want, then a -semicolon. No need for curly brackets or parentheses! Then we can get an +To define `AlwaysEqual`, we use the `struct` keyword, the name we want, and +then a semicolon. No need for curly brackets or parentheses! Then we can get an instance of `AlwaysEqual` in the `subject` variable in a similar way: using the name we defined, without any curly brackets or parentheses. Imagine that later we’ll implement behavior for this type such that every instance of @@ -294,75 +457,118 @@ have a known result for testing purposes. We wouldn’t need any data to implement that behavior! You’ll see in Chapter 10 how to define traits and implement them on any type, including unit-like structs. + +Unmatched: BoxType + > ### Ownership of Struct Data -> + + > In the `User` struct definition in Listing 5-1, we used the owned `String` -> type rather than the `&str` string slice type. This is a deliberate choice -> because we want each instance of this struct to own all of its data and for -> that data to be valid for as long as the entire struct is valid. -> +type rather than the `&str` string slice type. This is a deliberate choice +because we want each instance of this struct to own all of its data and for +that data to be valid for as long as the entire struct is valid. + + > It’s also possible for structs to store references to data owned by something -> else, but to do so requires the use of *lifetimes*, a Rust feature that we’ll -> discuss in Chapter 10. Lifetimes ensure that the data referenced by a struct -> is valid for as long as the struct is. Let’s say you try to store a reference -> in a struct without specifying lifetimes, like the following; this won’t work: -> -> Filename: src/main.rs -> -> ``` -> struct User { -> username: &str, -> email: &str, -> sign_in_count: u64, -> active: bool, -> } -> -> fn main() { -> let user1 = User { -> email: "someone@example.com", -> username: "someusername123", -> active: true, -> sign_in_count: 1, -> }; -> } -> ``` -> +else, but to do so requires the use of *lifetimes*, a Rust feature that we’ll +discuss in Chapter 10. Lifetimes ensure that the data referenced by a struct is +valid for as long as the struct is. Let’s say you try to store a reference in a +struct without specifying lifetimes, like the following in *src/main.rs*; this +won’t work: + + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + > The compiler will complain that it needs lifetime specifiers: -> -> ``` -> $ cargo run -> Compiling structs v0.1.0 (file:///projects/structs) -> error[E0106]: missing lifetime specifier -> --> src/main.rs:3:15 -> | -> 3 | username: &str, -> | ^ expected named lifetime parameter -> | -> help: consider introducing a named lifetime parameter -> | -> 1 ~ struct User<'a> { -> 2 | active: bool, -> 3 ~ username: &'a str, -> | -> -> error[E0106]: missing lifetime specifier -> --> src/main.rs:4:12 -> | -> 4 | email: &str, -> | ^ expected named lifetime parameter -> | -> help: consider introducing a named lifetime parameter -> | -> 1 ~ struct User<'a> { -> 2 | active: bool, -> 3 | username: &str, -> 4 ~ email: &'a str, -> | -> ``` -> + + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + > In Chapter 10, we’ll discuss how to fix these errors so you can store -> references in structs, but for now, we’ll fix errors like these using owned -> types like `String` instead of references like `&str`. +references in structs, but for now, we’ll fix errors like these using owned +types like `String` instead of references like `&str`. ## An Example Program Using Structs @@ -379,30 +585,78 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let width1 = 30; +``` + +``` let height1 = 50; +``` + +``` + +``` +``` println!( +``` + +``` "The area of the rectangle is {} square pixels.", +``` + +``` area(width1, height1) +``` + +``` ); +``` + +``` } +``` + +``` +``` + +``` fn area(width: u32, height: u32) -> u32 { +``` + +``` width * height +``` + +``` } ``` -Listing 5-8: Calculating the area of a rectangle specified by separate width -and height variables +Calculating the area of a rectangle specified by separate width and height +variables Now, run this program using `cargo run`: ``` $ cargo run +``` + +``` Compiling rectangles v0.1.0 (file:///projects/rectangles) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.42s +``` + +``` Running `target/debug/rectangles` +``` + +``` The area of the rectangle is 1500 square pixels. ``` @@ -417,10 +671,10 @@ fn area(width: u32, height: u32) -> u32 { ``` The `area` function is supposed to calculate the area of one rectangle, but the -function we wrote has two parameters, and it's not clear anywhere in our +function we wrote has two parameters, and it’s not clear anywhere in our program that the parameters are related. It would be more readable and more manageable to group width and height together. We’ve already discussed one way -we might do that in “The Tuple Type” section of Chapter 3: by using tuples. +we might do that in “The Tuple Type” on page XX: by using tuples. ### Refactoring with Tuples @@ -430,20 +684,53 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let rect1 = (30, 50); +``` + +``` +``` + +``` println!( +``` + +``` "The area of the rectangle is {} square pixels.", +``` + +``` area(rect1) +``` + +``` ); +``` + +``` } +``` +``` + +``` + +``` fn area(dimensions: (u32, u32)) -> u32 { +``` + +``` dimensions.0 * dimensions.1 +``` + +``` } ``` -Listing 5-9: Specifying the width and height of the rectangle with a tuple +Specifying the width and height of the rectangle with a tuple In one way, this program is better. Tuples let us add a bit of structure, and we’re now passing just one argument. But in another way, this version is less @@ -467,30 +754,87 @@ Filename: src/main.rs ``` struct Rectangle { +``` + +``` width: u32, +``` + +``` height: u32, +``` + +``` } +``` +``` + +``` + +``` fn main() { +``` + +``` let rect1 = Rectangle { +``` + +``` width: 30, +``` + +``` height: 50, +``` + +``` }; +``` + +``` +``` + +``` println!( +``` + +``` "The area of the rectangle is {} square pixels.", +``` + +``` area(&rect1) +``` + +``` ); +``` + +``` } +``` + +``` + +``` +``` fn area(rectangle: &Rectangle) -> u32 { +``` + +``` rectangle.width * rectangle.height +``` + +``` } ``` -Listing 5-10: Defining a `Rectangle` struct +Defining a `Rectangle` struct -Here we’ve defined a struct and named it `Rectangle`. Inside the curly +Here, we’ve defined a struct and named it `Rectangle`. Inside the curly brackets, we defined the fields as `width` and `height`, both of which have type `u32`. Then in `main`, we created a particular instance of `Rectangle` that has a width of 30 and a height of 50. @@ -511,14 +855,6 @@ width and height are related to each other, and it gives descriptive names to the values rather than using the tuple index values of `0` and `1`. This is a win for clarity. - - - ### Adding Useful Functionality with Derived Traits It’d be useful to be able to print an instance of `Rectangle` while we’re @@ -530,21 +866,57 @@ Filename: src/main.rs ``` struct Rectangle { +``` + +``` width: u32, +``` + +``` height: u32, +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` let rect1 = Rectangle { +``` + +``` width: 30, +``` + +``` height: 50, +``` + +``` }; +``` + +``` + +``` +``` println!("rect1 is {}", rect1); +``` + +``` } ``` -Listing 5-11: Attempting to print a `Rectangle` instance +Attempting to print a `Rectangle` instance When we compile this code, we get an error with this core message: @@ -555,7 +927,7 @@ error[E0277]: `Rectangle` doesn't implement `std::fmt::Display` The `println!` macro can do many kinds of formatting, and by default, the curly brackets tell `println!` to use formatting known as `Display`: output intended for direct end user consumption. The primitive types we’ve seen so far -implement `Display` by default, because there’s only one way you’d want to show +implement `Display` by default because there’s only one way you’d want to show a `1` or any other primitive type to a user. But with structs, the way `println!` should format the output is less clear because there are more display possibilities: Do you want commas or not? Do you want to print the @@ -567,7 +939,11 @@ If we continue reading the errors, we’ll find this helpful note: ``` = help: the trait `std::fmt::Display` is not implemented for `Rectangle` -= note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead +``` + +``` += note: in format strings you may be able to use `{:?}` (or {:#?} for +pretty-print) instead ``` Let’s try it! The `println!` macro call will now look like `println!("rect1 is @@ -586,6 +962,9 @@ But again, the compiler gives us a helpful note: ``` = help: the trait `Debug` is not implemented for `Rectangle` +``` + +``` = note: add `#[derive(Debug)]` or manually implement `Debug` ``` @@ -598,82 +977,196 @@ Filename: src/main.rs ``` #[derive(Debug)] +``` + +``` struct Rectangle { +``` + +``` width: u32, +``` + +``` height: u32, +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let rect1 = Rectangle { +``` + +``` width: 30, +``` + +``` height: 50, +``` + +``` }; +``` + +``` + +``` +``` println!("rect1 is {:?}", rect1); +``` + +``` } ``` -Listing 5-12: Adding the attribute to derive the `Debug` trait and printing the -`Rectangle` instance using debug formatting +Adding the attribute to derive the `Debug` trait and printing the `Rectangle` +instance using debug formatting Now when we run the program, we won’t get any errors, and we’ll see the following output: ``` $ cargo run +``` + +``` Compiling rectangles v0.1.0 (file:///projects/rectangles) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.48s +``` + +``` Running `target/debug/rectangles` +``` + +``` rect1 is Rectangle { width: 30, height: 50 } ``` Nice! It’s not the prettiest output, but it shows the values of all the fields for this instance, which would definitely help during debugging. When we have larger structs, it’s useful to have output that’s a bit easier to read; in -those cases, we can use `{:#?}` instead of `{:?}` in the `println!` string. -In this example, using the `{:#?}` style will output: +those cases, we can use `{:#?}` instead of `{:?}` in the `println!` string. In +this example, using the `{:#?}` style will output the following: ``` $ cargo run +``` + +``` Compiling rectangles v0.1.0 (file:///projects/rectangles) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.48s +``` + +``` Running `target/debug/rectangles` +``` + +``` rect1 is Rectangle { +``` + +``` width: 30, +``` + +``` height: 50, +``` + +``` } ``` Another way to print out a value using the `Debug` format is to use the `dbg!` -macro, which takes ownership of an expression (as opposed to `println!` that +macro, which takes ownership of an expression (as opposed to `println!`, which takes a reference), prints the file and line number of where that `dbg!` macro -call occurs in your code along with the resulting value of that expression, and +call occurs in your code along with the resultant value of that expression, and returns ownership of the value. -> Note: Calling the `dbg!` macro prints to the standard error console stream -> (`stderr`), as opposed to `println!` which prints to the standard output -> console stream (`stdout`). We’ll talk more about `stderr` and `stdout` in the -> “Writing Error Messages to Standard Error Instead of Standard Output” section -> in Chapter 12. +> NoteCalling the `dbg!` macro prints to the standard error console stream +(`stderr`), as opposed to `println!` which prints to the standard output +console stream (`stdout`). We’ll talk more about `stderr` and `stdout` in +“Writing Error Messages to Standard Error Instead of Standard Output” on page +XX. Here’s an example where we’re interested in the value that gets assigned to the `width` field, as well as the value of the whole struct in `rect1`: ``` #[derive(Debug)] +``` + +``` struct Rectangle { +``` + +``` width: u32, +``` + +``` height: u32, +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let scale = 2; +``` + +``` let rect1 = Rectangle { +``` + +``` width: dbg!(30 * scale), +``` + +``` height: 50, +``` + +``` }; +``` + +``` + +``` +``` dbg!(&rect1); +``` + +``` } ``` @@ -683,26 +1176,44 @@ same value as if we didn’t have the `dbg!` call there. We don’t want `dbg!` take ownership of `rect1`, so we use a reference to `rect1` in the next call. Here’s what the output of this example looks like: - - - ``` $ cargo run +``` + +``` Compiling rectangles v0.1.0 (file:///projects/rectangles) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.61s +``` + +``` Running `target/debug/rectangles` +``` + +``` [src/main.rs:10] 30 * scale = 60 +``` + +``` [src/main.rs:14] &rect1 = Rectangle { +``` + +``` width: 60, +``` + +``` height: 50, +``` + +``` } ``` -We can see the first bit of output came from *src/main.rs* line 10, where we’re -debugging the expression `30 * scale`, and its resulting value is 60 (the +We can see the first bit of output came from line 10 in *src/main.rs*, where +we’re debugging the expression `30 * scale`, and its resultant value is 60 (the `Debug` formatting implemented for integers is to print only their value). The `dbg!` call on line 14 of *src/main.rs* outputs the value of `&rect1`, which is the `Rectangle` struct. This output uses the pretty `Debug` formatting of the @@ -718,10 +1229,10 @@ your own traits in Chapter 10. There are also many attributes other than Reference at *https://doc.rust-lang.org/reference/attributes.html*. Our `area` function is very specific: it only computes the area of rectangles. -It would be helpful to tie this behavior more closely to our `Rectangle` -struct, because it won’t work with any other type. Let’s look at how we can -continue to refactor this code by turning the `area` function into an `area` -*method* defined on our `Rectangle` type. +It would be helpful to tie this behavior more closely to our `Rectangle` struct +because it won’t work with any other type. Let’s look at how we can continue to +refactor this code by turning the `area` function into an `area` *method* +defined on our `Rectangle` type. ## Method Syntax @@ -729,18 +1240,9 @@ continue to refactor this code by turning the `area` function into an `area` name, they can have parameters and a return value, and they contain some code that’s run when the method is called from somewhere else. Unlike functions, methods are defined within the context of a struct (or an enum or a trait -object, which we cover in Chapters 6 and 17, respectively), and their first -parameter is always `self`, which represents the instance of the struct the -method is being called on. - - - +object, which we cover in Chapter 6 and Chapter 17, respectively), and their +first parameter is always `self`, which represents the instance of the struct +the method is being called on. ### Defining Methods @@ -751,32 +1253,98 @@ in Listing 5-13. Filename: src/main.rs ``` -#[derive(Debug)] -struct Rectangle { - width: u32, +#[derive(Debug)] +``` + +``` +struct Rectangle { +``` + +``` + width: u32, +``` + +``` height: u32, +``` + +``` } +``` +``` + +``` + +``` impl Rectangle { +``` + +``` fn area(&self) -> u32 { +``` + +``` self.width * self.height +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` let rect1 = Rectangle { +``` + +``` width: 30, +``` + +``` height: 50, +``` + +``` }; +``` + +``` + +``` +``` println!( +``` + +``` "The area of the rectangle is {} square pixels.", +``` + +``` rect1.area() +``` + +``` ); +``` + +``` } ``` -Listing 5-13: Defining an `area` method on the `Rectangle` struct +Defining an `area` method on the `Rectangle` struct To define the function within the context of `Rectangle`, we start an `impl` (implementation) block for `Rectangle`. Everything within this `impl` block @@ -798,21 +1366,21 @@ indicate this method borrows the `Self` instance, just as we did in `rectangle: &Rectangle`. Methods can take ownership of `self`, borrow `self` immutably as we’ve done here, or borrow `self` mutably, just as they can any other parameter. -We’ve chosen `&self` here for the same reason we used `&Rectangle` in the -function version: we don’t want to take ownership, and we just want to read the -data in the struct, not write to it. If we wanted to change the instance that -we’ve called the method on as part of what the method does, we’d use `&mut -self` as the first parameter. Having a method that takes ownership of the -instance by using just `self` as the first parameter is rare; this technique is -usually used when the method transforms `self` into something else and you want -to prevent the caller from using the original instance after the transformation. - -The main reason for using methods instead of functions, in addition to providing -method syntax and not having to repeat the type of `self` in every method’s -signature, is for organization. We’ve put all the things we can do with an -instance of a type in one `impl` block rather than making future users of our -code search for capabilities of `Rectangle` in various places in the library we -provide. +We chose `&self` here for the same reason we used `&Rectangle` in the function +version: we don’t want to take ownership, and we just want to read the data in +the struct, not write to it. If we wanted to change the instance that we’ve +called the method on as part of what the method does, we’d use `&mut self` as +the first parameter. Having a method that takes ownership of the instance by +using just `self` as the first parameter is rare; this technique is usually +used when the method transforms `self` into something else and you want to +prevent the caller from using the original instance after the transformation. + +The main reason for using methods instead of functions, in addition to +providing method syntax and not having to repeat the type of `self` in every +method’s signature, is for organization. We’ve put all the things we can do +with an instance of a type in one `impl` block rather than making future users +of our code search for capabilities of `Rectangle` in various places in the +library we provide. Note that we can choose to give a method the same name as one of the struct’s fields. For example, we can define a method on `Rectangle` also named `width`: @@ -821,25 +1389,70 @@ Filename: src/main.rs ``` impl Rectangle { +``` + +``` fn width(&self) -> bool { +``` + +``` self.width > 0 +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` let rect1 = Rectangle { +``` + +``` width: 30, +``` + +``` height: 50, +``` + +``` }; +``` + +``` + +``` +``` if rect1.width() { +``` + +``` println!("The rectangle has a nonzero width; it is {}", rect1.width); +``` + +``` } +``` + +``` } ``` Here, we’re choosing to make the `width` method return `true` if the value in -the instance’s `width` field is greater than 0, and `false` if the value is 0: +the instance’s `width` field is greater than 0 and `false` if the value is 0: we can use a field within a method of the same name for any purpose. In `main`, when we follow `rect1.width` with parentheses, Rust knows we mean the method `width`. When we don’t use parentheses, Rust knows we mean the field `width`. @@ -849,43 +1462,48 @@ want it to only return the value in the field and do nothing else. Methods like this are called *getters*, and Rust does not implement them automatically for struct fields as some other languages do. Getters are useful because you can make the field private but the method public and thus enable read-only access -to that field as part of the type’s public API. We will be discussing what -public and private are and how to designate a field or method as public or -private in Chapter 7. +to that field as part of the type’s public API. We will discuss what public and +private are and how to designate a field or method as public or private in +Chapter 7. + + +Unmatched: BoxType + +> ### Where’s the -> Operator? + -> ### Where’s the `->` Operator? -> > In C and C++, two different operators are used for calling methods: you use -> `.` if you’re calling a method on the object directly and `->` if you’re -> calling the method on a pointer to the object and need to dereference the -> pointer first. In other words, if `object` is a pointer, -> `object->something()` is similar to `(*object).something()`. -> +`.` if you’re calling a method on the object directly and `->` if you’re +calling the method on a pointer to the object and need to dereference the +pointer first. In other words, if `object` is a pointer, `object->something()` +is similar to `(*object).something()`. + + > Rust doesn’t have an equivalent to the `->` operator; instead, Rust has a -> feature called *automatic referencing and dereferencing*. Calling methods is -> one of the few places in Rust that has this behavior. -> +feature called *automatic referencing and dereferencing*. Calling methods is +one of the few places in Rust that has this behavior. + + > Here’s how it works: when you call a method with `object.something()`, Rust -> automatically adds in `&`, `&mut`, or `*` so `object` matches the signature of -> the method. In other words, the following are the same: -> -> -> ``` -> p1.distance(&p2); -> (&p1).distance(&p2); -> ``` -> +automatically adds in `&`, `&mut`, or `*` so `object` matches the signature of +the method. In other words, the following are the same: + + +Unmatched: BoxCode + +Unmatched: BoxCode + > The first one looks much cleaner. This automatic referencing behavior works -> because methods have a clear receiver—the type of `self`. Given the receiver -> and name of a method, Rust can figure out definitively whether the method is -> reading (`&self`), mutating (`&mut self`), or consuming (`self`). The fact -> that Rust makes borrowing implicit for method receivers is a big part of -> making ownership ergonomic in practice. +because methods have a clear receiver—the type of `self`. Given the receiver +and name of a method, Rust can figure out definitively whether the method is +reading (`&self`), mutating (`&mut self`), or consuming (`self`). The fact that +Rust makes borrowing implicit for method receivers is a big part of making +ownership ergonomic in practice. ### Methods with More Parameters Let’s practice using methods by implementing a second method on the `Rectangle` -struct. This time, we want an instance of `Rectangle` to take another instance +struct. This time we want an instance of `Rectangle` to take another instance of `Rectangle` and return `true` if the second `Rectangle` can fit completely within `self` (the first `Rectangle`); otherwise it should return `false`. That is, once we’ve defined the `can_hold` method, we want to be able to write the @@ -895,32 +1513,83 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let rect1 = Rectangle { +``` + +``` width: 30, +``` + +``` height: 50, +``` + +``` }; +``` + +``` let rect2 = Rectangle { +``` + +``` width: 10, +``` + +``` height: 40, +``` + +``` }; +``` + +``` let rect3 = Rectangle { +``` + +``` width: 60, +``` + +``` height: 45, +``` + +``` }; +``` + +``` + +``` +``` println!("Can rect1 hold rect2? {}", rect1.can_hold(&rect2)); +``` + +``` println!("Can rect1 hold rect3? {}", rect1.can_hold(&rect3)); +``` + +``` } ``` -Listing 5-14: Using the as-yet-unwritten `can_hold` method +Using the as-yet-unwritten `can_hold` method -And the expected output would look like the following, because both dimensions -of `rect2` are smaller than the dimensions of `rect1` but `rect3` is wider than +The expected output would look like the following because both dimensions of +`rect2` are smaller than the dimensions of `rect1` but `rect3` is wider than `rect1`: ``` Can rect1 hold rect2? true +``` + +``` Can rect1 hold rect3? false ``` @@ -934,7 +1603,7 @@ read `rect2` (rather than write, which would mean we’d need a mutable borrow), and we want `main` to retain ownership of `rect2` so we can use it again after calling the `can_hold` method. The return value of `can_hold` will be a Boolean, and the implementation will check whether the width and height of -`self` are both greater than the width and height of the other `Rectangle`, +`self` are greater than the width and height of the other `Rectangle`, respectively. Let’s add the new `can_hold` method to the `impl` block from Listing 5-13, shown in Listing 5-15. @@ -942,18 +1611,42 @@ Filename: src/main.rs ``` impl Rectangle { +``` + +``` fn area(&self) -> u32 { +``` + +``` self.width * self.height +``` + +``` } +``` + +``` + +``` +``` fn can_hold(&self, other: &Rectangle) -> bool { +``` + +``` self.width > other.width && self.height > other.height +``` + +``` } +``` + +``` } ``` -Listing 5-15: Implementing the `can_hold` method on `Rectangle` that takes -another `Rectangle` instance as a parameter +Implementing the `can_hold` method on `Rectangle` that takes another +`Rectangle` instance as a parameter When we run this code with the `main` function in Listing 5-14, we’ll get our desired output. Methods can take multiple parameters that we add to the @@ -981,12 +1674,33 @@ Filename: src/main.rs ``` impl Rectangle { - fn square(size: u32) -> Self [1] { - Self [2] { +``` + +``` + fn square(size: u32) -> 1 Self { +``` + +``` + 2 Self { +``` + +``` width: size, +``` + +``` height: size, +``` + +``` } +``` + +``` } +``` + +``` } ``` @@ -999,33 +1713,57 @@ To call this associated function, we use the `::` syntax with the struct name; the struct: the `::` syntax is used for both associated functions and namespaces created by modules. We’ll discuss modules in Chapter 7. - - - -### Multiple `impl` Blocks +### Multiple impl Blocks Each struct is allowed to have multiple `impl` blocks. For example, Listing -5-15 is equivalent to the code shown in Listing 5-16, which has each method -in its own `impl` block. +5-15 is equivalent to the code shown in Listing 5-16, which has each method in +its own `impl` block. ``` impl Rectangle { +``` + +``` fn area(&self) -> u32 { +``` + +``` self.width * self.height +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` impl Rectangle { +``` + +``` fn can_hold(&self, other: &Rectangle) -> bool { +``` + +``` self.width > other.width && self.height > other.height +``` + +``` } +``` + +``` } ``` -Listing 5-16: Rewriting Listing 5-15 using multiple `impl` blocks +Rewriting Listing 5-15 using multiple `impl` blocks There’s no reason to separate these methods into multiple `impl` blocks here, but this is valid syntax. We’ll see a case in which multiple `impl` blocks are @@ -1043,31 +1781,3 @@ structs have. But structs aren’t the only way you can create custom types: let’s turn to Rust’s enum feature to add another tool to your toolbox. - - diff --git a/nostarch/docx/chapter05.docx b/nostarch/docx/chapter05.docx new file mode 100644 index 0000000000000000000000000000000000000000..cd6cc00e09220efbf194eca2f056adb37dc7cc0d GIT binary patch literal 67672 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 z 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

PkPQx}s3fn(v#`SKlD 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

?;(o&#VE$}Xb9wGvS*-vlCb;f)51<)6c74B$Eq z;YBcF9WEr0Gt9Pd+FOv_H;>1p0NQ%DcD&{;#E89_=esD9jja6L@7UVk-*PX!Nv~6v zdZKFds+Cc))3XP)LtY%&D%R?26gf(EdBcXJ1OoXvr2&zT*-ECw8j+fM3_@=Gf5>sb zvO6a%w>#_HD7NO?rkPK}T7FD6G zkJuF?)KTyNJ84$Ob`YA^dTo=NZbsY8e}R!Uq{dxl0e6O!kAy}>0% z2pXdp_B%M%ei%N&fj@}}~7mOTE+hL6JL zBD$3k@t#QZ>o5N&uXbn&JTi^k{ya-``16uYp zVOWt~Lf1?^SQ;0gZ7k(xPd!7R3za<}zwa7h^&X>ey6>-XT3XWZs&=2=0V{(WoG^&f zS#zsvY=%PjJ!mkh$gZo&>6)V0OgtUzE2)HHe{k4;oBI<1)6fTRySutV=5 zukAW_I%H_yi*Ya{dI*DXMy(SKmFE#?~!E`0LkjB#F9dnyQKQ39CyN zlx!3Aa67NE#!S*5>AHoVigj1yYt>@Z-06JHea+PS4g6>o{<$=0X9}t16lIYSjgUf6 zrwI*++9;V>Uu`3_tYt3HJJ!PiX^M6;{QVCs75wbQ1TM$oX_)%W9;(T1J>gxjXzd(- z>BThG1iMp=M#rHOY$it|w4=xKuhY<9+bevK=eq7jB+H!S2A7(!AvIvoaYX+!n`O#X zidNHt8reL|#d)A^I-G!Ka4CdOUW~q^b|a~`OYgi}>79#~srDtQ+P$kQvSc7K-GUy? zd*_f?KgR(Vs;2j3r@70BU1@k~^6dy9+?P6v+=p8J3;EV7kb}T{6{|Op`W?7axzKnc zjdupt)x^F-#kV;S_%}t`-9T;)LzA_>-5kj6o1rZi;4GC=RT3LSP<(TmR^D0D%95rk z9qFPDcG0vFmo`ugSriS8r@8V%+CtN+T(s3?+b~V7xmi%ZEln%+Y^|qbcz+=$m!?&A zA5dWpI;J6B)WI&AR_D?NveX*@+VX|8Jftl&t;S`=I+mnL&c#8fN7EXX-jn6?k8IcM zt|wWFZd~lhR$*D7(A#d1Wl13E%-r~YFGJ4f`Dj+Fia&qPSFdVVMn^H5!!Q4Ba6{R` z4TX~%a$i;Y#>M_;+~7iXmjJF)#F54&qDehX)f@(=QX|ny&75nAmR(rb?mY3rpe_<_ zzXtm=gLR(*;O5N>Np8{rZiN!k&;{b@F2OjYLUnqQDcY69kZAYifs9~A$2>|0)o7LL zg?0zXQ;!JpW&sc)e7?54sD$Yx?+#eEVlVqII_Z9`iV9+G@~OJmi1(6X?|)Spzpu6e-F z4@ZxzAua2qz>dnCK#fp^FT5+SJ%i29IhPgK3*HP`6roO$HJ-JRz|fnTwE{Fk%o=O$ z5g0G;WI|YVC>Bo$r8odx7Xa)T+RSIXn8f1Bg!cafXHA5h7{;{N=|u_O|X;lh50 z43ySIAb`ageBa91ao`{1j$b3x-)+F&nq5+tG$ILoQmI$G-RT$VFqh^YQV-01faSZB z790S>ixzPg zF38wAM^iF-TmpT;@*Xze1glZ_04SQ<$SyprrFjujs+EV7F9o=VR}_~5+JU{}YhqK# zy~7IYYbsxw`MX9I7&3dSBDQvpYo-4Iw@`?xbSvZl4(^zp#eg(4!L?=u+$fASD5T8~ zuKC&u(mBE;3TGSwQ`0*e*{=ys~4nixAp@^n_xd+`!Xr5|A&5?B3?w`GeSaT>9 zTXrlJR&kM)ZTfFH*$;>Engt~H0)A4Mo?JB!X&}tk+iqC0X(Kw=g$=vtMkF)xApZau zf&VCL&GPrS^{62^hN?N2Qu%uHsA$NBh-iryY67*mh$d-Hr)O1gMUX`^p3VCENW~C;G2;7*~sO1K7k_IEZ9H{`H0sPyqzx`wG8D7=AbdH+eU4(m^y^FsLcsX zV;J^p2vcw(zmW^$CHBBj4&m=A8mu?(Np53IuO?i{E zSQoNZP>Dk=?!1{psgc+4QA_p0CdQXmUN}8i8w@9R+_Yiajl5|}$P z4od@=8=+=BH6>VG?PXKp7gk?*$6SH*)FYPQDAO=6pD6LZC`<*RE~v~Z9+yjQ3)u!V zWN=|X;+M^QOQh&q22<_&P=)#eC3}z@APcWQ>kjtf`{qvPmn5Q5#r^%JGKAgZ6*vq~ zVA4jq=Z3AxDI|=ln;%`TI}b9yEarDB{TsF8NQTs}w47<0XxQ@LoLkOna3L$ooGKxv zXY#o=pq0W2AZg%Pg=twZ*$gMWgjqz(A@MbF{D{(pwV7GjtBb{ARh7FKcSC=tL?|wQ zY|leR*TJs~y4TR&eNuhY*xuHq6=Np8t^lQfp6j!AL2S;;el$!yKcURb%IZKwQul$} z3Ii(JL|r3ZJ|&_8P8m&@x}Q5oX0dr&Qt(<`+wd z;jX}cJT1+;;E5E-4J8*5#D{repdw+6AdM)hmANp*I>pu^oG;kQc_CC0dJy-7!UzkE z;hZ2N-_XrMxqS$R?ZQ1-$kf5)g(+_L)o8MFvsv9I?8Hc(y%E=lblvQCEXk}S^c2~a ztif!(Q;cZQvIW|nUE&Y!9-8dr0|I=5)fmqG7L;??w*P$KXI*pfp>sk zE_P>GCfzR1Xeg%+il?#Bx`&6*2Nf9GNT{&-8)?+|?7beE>9Q83`YHGs-bWIaVMYNw zSc8%@7gxttH>^ZHv;tLNXXU=RfUJ1~_C_Llc2Qv>k-8uZ7q0KinC392%dNLzvHRQZ z?~8FYEVGY8or5iyWHY{b#~1|uPjEZFn{{JhM7PxDlxl>7ihD*$1to-{XFjQyDNi2+ zJcqMPLUNBPqU=1YN5R@C$BWo+{ z8R6=3h7T1p^;y3Ez;w87XA5jsX^AB`w$H(#ONbNOnbW+fZ_3VoaU+k%A3S-_fi_dM z3vOtuAC5ZklHDS=QBxQ&nWvGjQ+GDUGUs&wgeT=4oicg(4+UYV4KJd|+_?8F+S_zqtVCyx=^I*x6(ij84{y?uc)Kbg2<-@A1;wGBt6ut z2G{?IU0|Q_t%Dp#N-^7PP?qFvaNaCor3bqRKKM@=Pco3x@nFF=O%-r?x5pC1hMDg* z3{``ceax1uEk;Ywu4S%a+|3u~ITqHc@dZcGQWeB=quBn2)fVd8+23#w{d9xQ-c#e7 zn(AAs?UD0k7I=U8&0w3t!HTZ{|Dxr7SRq5+?)jkkmzmNfW4W?~hI(EB^}<>xgNqgx zh;bG)ibdK<;7CaoPWzGH+T@G^7?boi`8>Dk&dT&lsZwkn6ow*?@{Qw(90wvW3Y-ln z^G#J>_RL+6)%olO&{1_Nn)6*&mCvtcOUeKMlPB42sZtVMnJ3hHo>@%UW7#Kj*Ji=3 zR}e@?iKU+L<2u33H`|R5y;gFWBpdT?vU*-saWEJ7wt`v88SH?H??CWhH*KQP_?+iG zfQxrNseI(cg!uV7&etcnW-SBeN*@C1alyDl{MzWPWW|<3apeAXMG+>bq>}M)lIKA& zra2WBrD(fCUX#GCJn@4AYYSuWC>q9BOvOZ?R9cdyC2qld+d>0Nu|Xfn@I1Cm;P03= zGG-d4?3-po_6Y*ww)^ z?~=~ETf0Mo0E>28=p7|O7TA7Kkbfyh-_lsy7V`PHGPz3uJS~swz|e)GUfv#klhAkA zJI%DUONK$-m(?}I;)*%sWL`<(7>g{~*_9W$V%vI|NfVcRD^v5dD9?^^3^t#i|Ln(} zEd+wUB6fNT!jxo#?W9HevvHBH9!yULp!`~Y$$JR(;z1rFbgBpMgj?oyOm&*P^xv^;Mqxq322D*q2{^{` zA4{_%mfbr5$`j)gy#hKH-!32>UN2r7KLPWT5EOvWBEJAehPW3*p}H|~-G^gsL*eZ% z44Z^!Z;>0bboXLBJYc?^pqgPjpv>S6Lem%?v<(!B@f~DLty(Zv4ZsQn9Bq_EWziG+ zmHB~Q((0Ab^J8<5^H(~Sij=g~xdcxh$2pImrJ)J~h+K`u%#RXQGO@^gAk~Qlwq=EZ zCZRyU$*TIe=tAK%42*0Cj_Gercj&v7khN-N@h(p9`-sQQ1VQSjO)O~xd^*CN z`iwZieofMU_GmsESP=PY5)P2&2khear}YHaJrr+_xGCIU0McC;(sp5C8xG1OS4@-CaFE007g_002n89#>n3-z}G|t&@$dld&VM zo3+(a%D7D-J-Xiw(KHwSb-9Kh+EP(y6V8)rb2hkLG^FYs;bzd$)u_pIlC;P_a|ejq z&7V`>(9KSw>1^PX2)h>hFRWQ-dLeECt6qEGUY;4%nnGqH$SICNte2o<&(^QE!DcQAV>w+y5pfpKFXpxKuSE&`4L$#h`X zIGj8OENsr0LK37D(RH9x0AqOzuS<;YqyP{=p-Q0VMgHJ#J}DsNJ?;Bl|+Wi^u9S`|4e7PS~tit`+Q7u-7uj zVl5pGQkUj;9x>2iX*C64q*KzEtn#QZ8_v0M=Ek(hR#O=KB%I?l1t8Yi{>#CbCi2d~HsPf_cmI9!HXSL>$9N+a*YFoODkBum;IqDIh8Cu&&13OS=LSK|xcX_%|RQ=S=ZGmoT&6Tf4t(1C5tYB6Ato%gQ^Jke4M4WryzH`v- z1lLUsnzd@x;QqwcX*=CiB4qQFUE%#=`Tvjhq{18c{$I3@{-Pc6f6;DiWAy(4`zAd? z$PMT_T);J4vw8&05ZneajRSPTGa!0IOHdf}?`)$@*Rtj4Eq+zmWdZ2%H6%53N!hcBvGXL2&a={J|-@9!tW7CRhkdO3RncAa*yitWv(RXVnhp!+0fp=Mx+ zn#68mDmErjQV8<|g^(xI$#5i1t0`1OnDA**GL)-eNrk<)zfYve_{x^IuAy&mmaYBq zgY23Wx42O>b}`~1$@!r<`?@gUb4WBHd3rz)j4+=BlwIhkL|DrJ%()-|Wne{Sm}k-s zcmKh=jvP_2(1HP`d0p0;ojctZ8Hw*D&VZiVA&eb>)ynDF{oE<-H&26&A!PkA0C(*a zZ==GySPZ{-*NB4Lx6QRChEcV8N;LVS5TL4NWL@8nv9c}LD(s;luMo=BfE<1F?1;5rid1}Q z{&s2>>n*XhIXDhlWg?VqF4>d!ys6IE(}j{)DI)Er9)WE4X*0))PGz3F4z{ygr2q&UhrgT! z_o|({qF>>BhT$YYfDgyOT0;nj=O3`|;M~BaZ);3PCBCZm*DDrRG@a**cR$HDivX4X zc{g8BY*s#?dgNoec&gzc1q+DK^r}0(`{>1E>g@44CN}vO1|i|TaBuOa5|=Q17C0k_ z=0>&GRexGYai6#^imd23I{dN5%ICG;xGSF!2^r)ue5;R!PLXoEOt}btQvL4{g@m5% zm`D_=w1_$+2rpOm}ca?`b%FI+M4n!qrGiWEChw*=m0ef{e z|Ag7cAT7H`-ixoYdI9NKVlP}evu$WjO##+k`V}js5I6r-FK-~{fX3m>JX|YhE{kI5 z?)5T;>e{w$PCp^-_+8d9gz8q-u(q6&bOEmGJO2H7RxNGR9KedhshQdLOkGjKGVTHt zi6RYkG{c$YX5=s$TW2Bjg59%B1W7BP48Cl54A)GuWaya`fd?RMQ=bPZx0eiA1J?#; z;zUq}?!yB4<8qlmcbd{fP3$e8w0zGi%b+}ja({3ZOP9kdTKbZcwexZO`2Dr$$;VYz zvrkN|$n*0Z*^B2B@$K=s{Q$1pe%BE8^HnvqMYq6(5NxdAJi~EBpY-F4b}6WWaneCPn3OfE;prV7M%7bM$qLq>~AG_nJId zyM#6+`&YEFWr*N_oe)G`^zuqT0N22kl=9gj<=sz$N9hz=z*-`k`goR?B%@Sd$sE!a zr2{3{CDpUu9lep&zGjiwLJVqDHrjqFV(da)gq8$;WPpxCn=;Hv z99?YNPyDQ)onnN<*)`9(ZLnu@#2$kJg~y4Y)^H|r%-Uxy+%AjLxkN&F$cGr7K!joA zaH1T9PAx1)2-~iKeyf#&BKYHSqeo;gL2?mfo{MOo5^`YjiQPm<8s=d_x;DoAzF`DM zXmn>%Iv(lj`-TzT#zpUKqF zB;P$R8$xp)CIz*{;cPl+nc7amoTYH1t7*%ql=&gi9r+wg|BEueMYFYlK!Kjf|GCqc z9&%C(M!}?+g?Iqap8C&aC5CHGCtGB=LkrUB;SpqDd7|_Bv@){P1e4R&{YvIjNvKy= zOBcabiXM7tpWL}@phj8~x2^{8Y|Su6Um(n^e}1qjpi8r^AW>Lxp;8E5*&0FO5-(U(+WEUnk%S{6JzMc-lS@3CC{$>F%TCQ=Q_*Jp5z%$iBpJR zY*RsoOTq6of3>YPy3YHVP>s$~QB}>}gA4V(rj^xC0BFM+aV%xEyW4M%(s?YD z+$Q+np)uJ|c{BgYeR$y&#NIpN3K0IC(~&XN?_meXzA8vA(a?aj{Xt8b%(i!_XP=p0 zeu+^+gN?ZwqvN^VW^Yz(u5lzA=zT9|reU zFAFxkiKd^^U|~U{K`tZ=j4ZKk#*O)-l#Flcr5eE6Q?|{4RX=2veKXtP;C+3FBRC$0 zhKr0<&Yl*`igNwHI_Uu|-7|v3_Mm|z$+dGTy?e65DxAMNWO8YIQYXc|;y{wyp#bDs z`nx0GvpGt7!sh$GmK-cYFHRL8006hh|7R0sXlre4Y~%Dl6~|QSwoN5F!sw0KhHG8h zMsf?NGz17sdB$9oNBzRQ`Rw1zY-rg!DD-twX4g{z7u{>_@fgUXLWzzzi{c%GzMNcB z?jMZA%*|D55h_aJ!?(4%S{mSa?gNI&RKvr~#m@=0IA!8ki3vwe))i&U*2G-jj`Dyo zQ;g|kVZSkBdDQte@gz#1#UuqmCc;`KG)USvL7hRPL^?F;0+V48D}%|F^G?CrFiFUZ zY4IMy1v9&OOEyhvanKP=cKX5~2oYUZm`=7K7O@gvn1Mfj_<~k=g;_gg`Q_c5K(Mqx z{%T^xFN_P}dm*Xuw+!Q*QAgN`pOfNZ4ihn;Gte1>djXMABujnZYCp!8JzY~`-X)m?sIFp)>q9J{UbeZ>zZ>-n+VRGBd&hNBY`A@M&9rbD$`Q39X=$-*);$vZ16-kXn^-(EEnTg6X#ns5LlCdr z)SF;>_0#5SI#@!TsVh?&$0JVawnsK_JomIrp8*(E?H3{gHoaMzX%vVF9H^XRioUWO zTHBmkTE&L%4TEnx_l)Zc>tp9}U1;hT@W^=7WdyGNw11{C#X?f#DVZqT)=jnJ&r-O7 z9Q*U{m(BR~1js+ic}wYDyl}3Hzn~j7d{hXk1yntKId4`^||P2_?{`GFb#`C>2EI|0jXkvfFd3Njsde}&6KK|E!plTDZSIQ zgraXg22=u3iP(6)`mcEN}3qcFmgS#0{(KI9umasFS_4JsjL}pDNKU!Q$y#fSfxw=B( zjBz4TGJW}jAig&&9z~5(C~-718V)f8t@V=bP^RB9$k8nsqO=tM3KB%VPC=+P8Mopo zfAm)NdRagJcwt0&(Z@vTp|J05a*D}n@T@$4Bhx>A1Q5)}e<1U z>reUG7%rThH#e6&HQS^29AC-W>9JA^COOSSiphMfv1n@0=w?cZhm98gT4+szZd56O z2;qV>wKod1nEvLGgs^9jystXC;NmwCc%7-s}T3FjN3 zF6GvLso)5bn^>9S2vi`Fan-?Mb4<+3sf{9KI_a}rc55kleibBdjK$e(2k)yp88z_r zycr{^Y%+&)!}ztJl(UX+MYCZ zi79NVH5>DfMwnkHnXZ5;@#!hR`{&pqV9P( z9&w+5F}39FV$bEmdDjt%ofHSh zuV7)fADpBSx?HrCi`!mJp8jiY(5)W;dvM3yTMQ0W^{cY0i=KMx4)0ug3@pX`|>-tgK(&;0#_vNDPitLTEt6ST7mpXWD zQLl5;Vcv$NI{4^DgU*y%s^3ye3x9ZW!aTI>p&qsQ_3T5bW7G2TGFZU(<$BHV9q%5i zbKqjH{*q~)bLVlXCOqiU=!@?1@nCk*%Zcd^e=5NHxkJcXrFMGC>+lSo@?p0ElR&OJl@%Or2s(O1MVH-#NuWSb+CkEc}oryX#}7K}dfdodSl zFngq}BxiOMBgNMS`@ubHKfHeHlf@thwoX@eGL(-cg8kvC3Zc^J;CoIt&{r8+zj_GQH!Tj-mdO&G(XT z`YIScbvG{h)wxqg*Q;y&=`aB0c)3{q{k{X>>%B&IhxfYFC%ZM%oR4h>@yaOT;Q8aq z$rF9_O26^5<)*9}>h#Kmvwxe}xhd$l)2Ewg_?m7clMwyzf`o6T9h0?pOE$Lhn|-s# z>$86I(cMH4SCttF@gtweWt@76#QRLO(lAvmwaQBu`+3pjOGGK%k|{gW%{(J?r+4R5 z``Om#pMQ!#$Lp|CCNP7(*9s>e2P&)Yd;|7~4+Bm)HQGz)v|Q-4d)#gSpNrv(&!r3e zlUNVmthV=oPW}ORpTV;0A+m=>b_U|dNxjzRy^`(-X&?_9&Bw=eT}Ie~7UA*MaD-CqHNADO_ZH7%=K2_3 zXVkVB;mgfo-KPr|TyMgWbLFN^Yu?BMz$bTKW9ZL(>|)((wpb`n_}1ZK+FiLV;m!N2 zyMQjYFK)|o6E}|zNRIHCHCqoJtLH|TDUJ_1xP_O;^|SwD@udo}B_kUht~fs0&=2yH zKRI@5gl7mpj+u`dcmW&4T{drL=U54q7cJJk;ZHk<(xZ%AAr&7=5pTQ2TY?z6=_CHEq z>mE7#kqoi>(f-zn-X=U<1y-`{qwpO3Tp96a3i`!c)U|9Bw( z`G}l!(!?*o;Hut?*rXMotkLsj^InnXbadqHn(nF;V}m~bng87G#|0l&?G*zkr=R`=Zm)8U?c{yIv5!8O`eg|cUROXfg`uFDEBqc>*bEm$RGJD{wCWgE zxX6sDM8;xL&g28MK$)KG;Rk3Q1;-GoNq#|3m^5;=(AuRfc7Nc&J*vJZIP7@q@T-0c zDiX1r>Y`p%&82^X^}rq55ha44D4uff%iL&C?*0c!fr2#5ZH00Q*tTGp3U*6_8eE_v zLK_^FCuN7&Xrzf`-fn8%C~y=hx7~uldc8sWOb7_x{BVjDOcM1}djD%*n;80ZUz-%n zeL6S{@;(~coLH3jg}^{qku8k8oab+BgTS79lLZp4jAit(9~Kc(lCaIVq8_gLA#u(q zW^UfM9a%wOM_)D~;^Img0>iH6h^Dl_q{vX`_C4tV?@n1%`SS<}H9>#GgjqadBg24W zUsEw5FFGQ&B^m*xkmq!wMP2Z5J2|f?IbDBewsoMZ0DUoRkqrGdvmJAPl!|SMZuGx`Z|9MlmshoENSvYGVc*913Zcx+;yz{09ltJ zN&E1Y0;#>UKN_hj!Zc8h7}la-CsCG7-AuTuht;@9W#H(?BBsi|fRwNh4{DACSasTM z7t7o=1f7s^@!xhZi#muYRWoR6&a&tLZtI~35E@Ntu6_uO{63QyW3q(cLG0pxe*4?9 z8;54{M%JiDnbeFx&BBb?DB9&kw-Wuyk~27gDB`rREd&XcWO>-){Y9Y;{Ne}lqQ!N% zqbWyOEHSmkD1e*5jNq6bNKEdn((A~wR(X2mQ$6PDz0|86G!6W)+{~&$V|s*DL_9vlC)&PY{+UV zP7WirMOF*4I?^Fz|5b(~!X_V90oHNt zxnhJ7+nT&V1-0D5o#aEl8fvYFVwQSE^q2y80L5)y)oCV^x=tBXA$(kg9&yx`Qaz+P zEn>p(qM%`_Eu!$OHgIcR8tZbNg^56*eMOrY${{JhIrv2kTC4oVOcKhDMkdj5Xqixu zaYeLRye2;dp}=0WJUU^`(qhyZ+Esup;4rQ0Z|HKhYTHHyPbBJJ&++;ogaZ*{=0f{s zac~pL!uTi)@;grSSZi*A8Y*B(NKJ3RP)0+-j5{@xWPQ zm^TjXbAG3Qa5mH)1y)mrWeF1PL&kAZSTU*|jMZJM@+g4{8l{H* zLVKt>s<7v^ghe#B%XI4DJB&rrA}RTrY9m~&p8!2PD~e56q&H^wj{#%qh3Mijz4vw=sQR?9k4GwYrMXiG$#Fuy&gNAbgb-WW!8<|s4-SzPy+P&kNN zXHThTZ6#h+=WMRIvsamiMZD7fb#(rlF8Fed;%ai{6weH~79%ZtMY@pGKV!`a3zj2iseF=}^=9HO*dqZd;mC5EU>KUF z6dGfsH8!LK`>ZuZH$U5i=8YE2+9i2*bpfY=b!AI(!jX&msr|&7lmv`mHOX<9K`ztk znmH2+CV!+|&g;5by0F^kaW@_m>ce*}ElQGRUNBD>L8Kb{X4w+72R|TP?9tYl6R2e) zA?6e3LgbhQ%~{wOWi2{NS0hbZ%GR=tK8&8xWiZA%^zh>{NTQH^rCnBu*oR{4f4ZPoL<2wM(X`jwMU5_5yosn%qiKVASGVESqL=v-Jz>M ziV*e*_cM+BC({VTgxcMM#gHivB~=kb_r%GQI!KZ#95`?;T-v2Wi9Yk%270UUg%3NR z3BY#6pe8WAMv#~t*$?4EI088=+=diUqi)$<;Z&6=O@f$Vai=L`3ZwNXL4Rw*oC5P^?g3Dz@YP1gPZNTN`@mG*)VPe)5n z1?;pnAOzH8bp`8?wCWMuM^s`FqDS3T#Y@K1xYEJ3W8pPaW!)jh*(<`O*|mR3&%RKq z=qXL?@(~A2=;DYtG}F-d25fDTu&oyM%9sF^nVmxNRsjM*TIf?o1&5GIDuoTOUC#(f z5N(QZ$q6Xern=WE&J_H-h0%W#+)1YUV=;njK~#+M@*C=Bg*wK*(r^B%pyA2eEnWSH z_Du~1(DRxxwpSt(4!5-`gc`(NBX~FxbW0=utcF+_QXoKY;6=#Ub;GPVl56lQs_{D< za=AT_@U})Dl=C;RLJK#=;ZVgY;}!1Nk!Tgj#xQ~z%@9(zC@RA6$G!4Fj(JuM+`*`uz5m^zaG)r*WA6CQ}%NE zXCxO*AjXnbkKz(hsMLR#FWE3C{&s8bAyM)vywn+Moh+E~grD=tXOJZ68f#i3OY# zXcbj?+jozayJw>1Gai6=Z2!fnWoT!WUhRzg(8my7*ncTZ5->I6P{r4tkAQb0sFZ~- zn$+h??;s@^MN)(c`yFj+Lo!;r7KH9qnGp9Igp73qXv08k?rvBh?O#=m;aD-Hoflwd zh9D){zEh-DLO3!+s>aBV9Y=TH|KjC;vFX;@PE_tpOd7`IPE5+vu8iX5Ywbo0x!$#O z!CZH6+p~Qigid4hUfi@A{$RKBY-RUXRua|ex>l;-b`E2tVRYo|VxoL}ygi)1GUok} zi>h;8-}QZQue!&r@%j8{-8S+U34-U_>|08%^W_jyOj8wvN`6LpQ( zp@SEDGeLN^jf*8qH@l(h)po`w(?l_;-_f;p6LQ?~Axzj8^E9)#Sb1&lnbzahqIbN% zol2DCx|Y4e&u!%f3G=BF%@)>PGYqD z=D&WxjLU$4PhKO?)+Px?+2~>bK({bj1P{2Q| z5Q6$0MtbKEX;0iMr5Qss-BDzRU9KeCq_wAwU}A&YRwSO;dk;a8kW0qEpy%)O9&b|K zgI>~E#z1bION5P~B9zzYMz0S^5i7wOX$hqpm}sO>oXhNC$IKqU^9 zO`&6HoV%uTtQ8~Y(vqYQm|*lDNf$Bdv{Rm;`H6|5(98>vU5Un*Hf>i<^>gohOLs{= z=ySd9ag2%D=}UOdCeg3Nh5TLpwZr5pC$WwA`D{xC$7+?j>;~A%1qbjCt0S;{eN3VNN^cBRlV*`ZfU?rR6!DOBD9o+kogr~- zJjowSb`XBor}Qu@RE@u_&TN+?aB^(kZ_$ zmS6+;V+x9i3)a=&OBZ^MosApoodU#h!nP&Ur~S{)Kj$_A?ku!yMznq}#FKsS1IeA( z`01UK#l6taz{KCIw}0sNrNn-_0U)#a{#Q8eo7QoC!U6y+W&R&&p^dY(fw99c75+cU z6P<0F!w$qAx;a+}AP_S;Ry2x;gn&j*y-AnO;heyOOSEoPD-tx-6c`Oz)^01jl34jX zx@9$TiLbQ;Gsz+&tse% zu0;#4434X}udX(9hkixw;x>QgJy3YKU!iRuv4^+~<`Duq$aOSPaOYK*K?q0$id0x6 zLNbVB9Molys-zf~iO-xRQZkA%xT-JUaIL%Iw!Fd)nlt104oBxVqI<7dZ^HJXGhbhP z_Q>djOF|qOYVdqi%n;ox|B%8oD_nwtjFNBFe99o=tW+$FO{>rzNr3b% za*pMC?)atXT&bI7mYA$TTP=Q0xm@5|x2qG*X{skiknfl+2Hl&U&}bmT@A%dsF@x^~ zr1X>h0k8zR9kAq3KVqzs9xUo`lun_dpr9Xh z7T$G6c0IO%7Ar;KX&1!^ZcBXv6wMs9!P%FyZ`!;pe%mhc-U=NuoscCqGR8TtOSJ7| zIeD1ajuUVHyXEZ#Q@GX*FCHoW(ng5uGfd6@Llz_GTc_J?d&$}Sgc{ATiU(2caMLPr zNt>YSdQrKcix+N-|vgG}fT*ZcV;Z z@a5;ql2B{gfq1rwa=cG*pX<^NSzl>l`VGZ)wtsl<#%Jj+KFITGYeqoE7eM)l4N`Xk zr4S~A7$}HJL{JIlaPoh?9{70tj06#-`5Vy{so1=XmUKr?MWI~8D9-`O{NfPErIdgt z!d>cbhShpKX2H!=YG_-Yz>npZK5komU;KzbKmCAk9Nau`ywa z*qI-w!XLnxDoJ$r`hF*@<#B}Qme;Moii~h5^lL= zJ0zcAZRJvLGpeC{4Gn!RKofk%)nU^Gb0I`eqcYHV{Waf6!?T27b0q{jo(ncssE!(z zvLdB9iH3`yF(7;&CgbfgdYFl(n~J`=fQ3KQDtR~rp2cx$WW}ilzP-@7VFZB_Q(hBs zer_nBu{>@$0x7;E#MEV82{JD?@y`L6&nt`XfJQskLO=medWB*I1r060c1}P#D_VJr zM|35=7u34!S0*~h%8J$E-Imod}fjfqI^4d~y(LzzA zWUq)N+mU6_19QaJ=(2sX`pJxc)t8;Ey z(@Cyub2Y(1#L~oL2ubLjzVyWM0MabMmQub=)~!-2%HlKebjBoJV#~4XeS%&b(ed-! z!bvB=6#@x8I*izFZ@n%~L|z4ZRTihulnkEU?7MYFdEe))V|D2oo99Yy>rl|ft~SA+ zYvi~V7Ih%-d=I&d$DZzSPJd-P%JQCC(+jbumS82=3N9Mu-fjWw-;roSnrRXkcc*cW z*96)hr62xM=FbW@oa)hK~S7O2c^F-Vn$A4_|ug zEd`RGlXOimZ;`nmUgYc6A;i$cyIcv@&^1Y2jG7)!1DA`@7E=Q4VJ5Nk($lPIIe+q7 zhLx{Ex()%aQ=~n{sQnQxGNWo?AcI>_6=5$LxQ%UX8a@Lx%B^7+IV?^pzuH%U7H9m5 zi_`{cXB2RE>tZ}m8XPc;G8e=(+7^ua&M&{WZo?ywGgqwWAapw}-Sl5GBu^_Z1_%A= zbPl@cy<|Y2U@zwX1kvfpcK=$=kFb`z|FL?ynY|7w-ZwZu?DnKmBj{l8wA%RKbQe3m zHTJP28r+ICmBR92WvHus+r3o(mMFUxv9?E;Tmzh!*)&$Q;t*u|a;i9WmN z<%L{`9AE8!a%@RmS=!a5IM0hcSkIdc-O3A@$}qpxFsgIz>zWyjp#OHqi-)s`=j~9i z#i4Xn$G7BIGQ|HO?Ixxg2cJLs$U6eHL9rP3NfL4SurY0vx4cJDD!xhWLL+IPEZ}84 zhi9BT9xB6O>``Vnjj~=E4v+da7)?+u!K*o8zQ8)TIYa%SY^{MsT`j|_K4HGdI;n}n z);4kJSY&K0?QYzluPB?|0y*zevVO`rxuL$WaYR&<#cGY5SuNctXOxm$Uz|Kn1)Z4` zk8_>u;y?fp?@u-WOIonM!|%wwY9j5=_%50FvzR<9aYMwR^tP3+3f|1Uuxw{y9B8+D z>@Qh`&#o%7PhU1tD;sdSShVc$-=N;k>Sxkw7l{`W3NJkh+J7-C$GRY7oFX|R$5Wf{5QIS zvP%CSX~h!zJo-v$OKJ7lc@IT-C?TtcM^O_F=GkGnNmTIYJ@cvb335?7=TB5brI(I{ z)%j7PRr13GyGjjnm+TtRPJ-pOYOySmL}CXh*D?)Dd^Hd&qj@28&8HwX2YM%=)5$^& zX^(1fm@dr%WI>9AnZD+!6U8y9rWz>uQ$-G-g^DXhA~`3Nyswxuu2DAFQg;$`z3hB9 zT!VVx`Cn7&R*QlZ6~B=AUw6g(#b5BZWWf z+DVtBMqg73-vG(eYILxi{t!AJvyyuydeJ_Hk>EoVT2KDt=Jx%lQ?r!?5iHfkmnXSg z*B5OuAFj+ISbK}3aa+?waT@rpY?*}sS>}e()<%h7esp$9E$;T~$EveC&HQ&goR z6CkI}@`lEw4~0sG#$XQ<<#!mfA+NmU^^A#c^X2x7?-y7sya8Iy@vd!4>SqxAi9YeI zyg4NRWr~KA4pkUA_PtLPb(Q8^F(v6dmr&FbB1$B&Ns)i|lA@b#4?{VPiImR7epjm5 zHwD>s_U1*M-#5ry+a$k6@&6b~T-%_(M*Sk}X%cLi(^MKqNQ-_1)6{8MBXqi?ev3$m zMZll$dz;-aj`S7xrFCn$cJfH0x`jIe^GRZ0E#Po~?4 zVe&26l`G0+>m}9(N`4j|06U1~XRXXDh;z;m&Uz)8jjskGKFK~pdfWB%{OYYD(Wp=U zkCSf}ivA`WYknRb?TK_L*?mS-VaHA~!*j=}dI zDK-{!0PC$l_nDMQ6Ia@33oufxG76_i?p7YSO0WQveZ*D*T-zoyf2gdeTRkz*_(SrE z{FU|j_FUH znL!UD$q`B*TPu_Wfe`{Qk%H9XwTh)som&fl{UPh~;KK-2B`qyvf?Grd^Jy@3MFeAE zHI3Gg^floF@KSr*BJB@AagP7NSl5*Ox|uKO0rdkVpZ3 z9Jz8aba#hJGfFr7$tH?Z0`!mmVxaL1$ekQ+?tkG0_sj!DqLe89VP}PwT z&2bYZI8sJ^Cu31Ed&-oXisTm>ik{#zkVfJ!5$9uH5SR)}(6pME4d!jxVC3JDtH8wL zy`EM|O9(c%Y}3`V>%l_B99=c3?-#W^YCY6DrYjPHkWUcc#(|nTrr$h2#6?YiBUKWG+4Oqd9!S$C5`Q?0>W|A{J2g9 zq)1&gR$Dt`gkV}F`Y^a~cN_U=!F-|>o`q2s$UxnEP&4hjfUV-ZP)@7Z2c~4oLFR$& zpg&#U><-b0tp2RU;oJ1)_*4q0BugE8%| zgPW7RzvB+F)tOCxeds0e@Ni>O#nU?KHykRovW!t_7WQK5W_U`G5yH1>)&iu0#rinB zW}1`@YqmEFX7(HvFxKPsL+7`BclSD)>bCYrw>Gua9tD)=uJ|T&vDWS=mHqS4sPpx| zLKW1vXRGyBzDz^`tMrc0;p4Q)wD@UGiYr8U?7Y8jsrFsUPUGw((#&x(Aj3PK6k!?ajtj7iewpb#2l!kL^72l>aT#d0dZ z55gE7qufoYhQygBfn1PKQ+dcFnsWAtRGFcm|16aE5b}H^4`jCkR5zqn9`Nus765(cU9%6AkI2e&tzAp0^%*>7@y1R84&54U%X;NN&QSe%=jNZXJu2?6G8Za^(FVWqx zYTh_{)&^^Uux00~H!UgZt6y6yP?&%~yN$*E1rz1{Xm{@f49Y}ByJ(_DLz%ONFv%pf z3^k9R>++$s_UrTAp7qJrYevuyZ-P(WUX5>5C(F<^_M$Y7kQ8X2>-df8(!js%&>)vE z(-oJE%o8zu$1J}GW5E0}D;fNLUgR-Qg#ELsu}Yj~+=&62(URlpnt{sP>^{67Ig^FF zJz?8%i2Y3a*>2P14`QRs5LvuiM@h)SCISshE;m?u}7@gn}MtXD|o(*Rggq;Y`4yB++g+8Fj3r{ zde}(lElH;5n$)wQ=t;E-s{BOsvVCYFZ=8^RtNX-l#goI-fh`y&W~Wxvqz0c+Z$1M_ z6D8SUZ}=}X!Z5`P6)aH}aC`K8tavt9UO$Rbh*a;eM>lha98_!vpGNd2Zn{VoQtawI z-zhqUYWhxcyxXJew(RZwX#DI~gUICDlarz{2KAi^>xJOOw2s^>s*}>0*W1TrJG4Ru z0|UA{UO%+7re(V@bdZT1|9NVW00Y|67XiQcbe}j5ly?Aglk{Bv#xxuhpZ^|e!aZ`z z#Lk9$AaT>8d3hu!;ZrC#jM{5=Bzx^xkUy=mhXuAZl(Sy-y{I+=yglt|A?kb(#lf1_=vh0TRcIBGF z2%ef#$EVk3%RF;F^Lgx!*SnL2jW_ZuoLkT@&3CwU!zwqRU(W5~7*>#s|4d@@yD;1g zMxHPLa7B&-yiE8hF8o6nZewU|^Vd~4{*SBhzy{fOPC-{|N&YNE;JH~dlP3GRg%Cr`wa9KDuxJXj7Q=^w`}-DE zOw3TBkR;Sf*hro3g1H5{P@-fK=v+NSwg7sutU<=nQbj2KF9w}eO$V_irn~d&C_~Y! zRusSrqG{PKsNqu1;u0YJY~B+pr&UlAxaMW+}E#l8~e&; zan)3vTS&G^AUFkRLbN>^p}Dmk zCEwd_b}h8E%wTlZRymyQ!5~J$$}Aic7SqPGNru=V-9xaaJ2i0g=&=-U9X16_tr$uO ze@uW>9+WOC7Z&Q5crq_*jhmYIXznI7?VOfA+v_nOM@dE&(lm=U-ldP`1k%C6&w{QnJS(Jp>kB1ygeyEfkzJR~!d+lhE45;k*ICw`t}RE7&*7glE_uDS^NhF@BpMVqp^`e9%BOI%89 zD#=M&6t;Du{O&Tb4H|wbdi9Rr8cFUYT_o@8mFY!N7e(h#2)JYov|JA2-Xw` z$SE^l>;?kyhxh{Qh^|mB#>4E*IXsLCZf&G>cN&6cSG!w)J^r`%Jx|U12T_2*_5g(4 zsQ)ooXG1;tzq#I@CJtHsl6O~;n^hU~!biOWhrXF+@dQfFrXkV*i>crFg>lzLa57q@k zI7k_9d?n@x$YQU!83UZ)3HwoHTU63wjkMZJ%ur-i=?Pzq!rWc?nmP(_54!L=%+5s|&1zR@ z#QM31YR6{#!dTO_5@*3)Fu_%0Sy;oWe3%~t{8s<#)r4!#``GW6#erXrh^Y#kA*Y5) zwRfLYgk*Zdmp~;Qr0}{+gPPjnJtNKDBeof98c6 z&Um7wXcjw7o33W#Ute^g|2Ss0253G80M>^D1PN?ltuJF|ZDUWTZ*BL-l!Y)G446C< z2=JHxx0iqzS!+Lf)WD5|Q=X`H0T^LpNF7FujC_VE!;$soyW+ITnEH^{A84q!p+oCu zTORi}cku>xly>Kk%aEkka&(;xMBu_Qz*6HWQkh z?bJn%>ku;ux3Gpt!9*Eck5e-oA$p8qP>-btXSW+5p(kK(A0l3C8sSA4uJuuvwz+y(LPR;p`b^K)MP|Bdv|lQUI8GBSl8u}%5dn|GD!Jv56Er))_t&w;3D$u#oYu!i}anHRfWYOkIW`$Fz`vMP2D&L zItK-KaArii{F(10p-a-rJ#JR(2%%wP!{o{94Pmx*@_4EOVyeV4a{1wwU?px4Z&kI_ zt?nY$r2PlGa@D(VRCJ|P`*0v)pPeQ}Hg&aGG~NY^bg=ndEDKAe+v-=dJ$2y)h*9ql zH^fj8+?%#dZS}KRtI~ShCloHR zQDC+OSfdCS)iHs{f%F~i9jq-?EG_6v9Skl182|r>u0fbh0z{rk_@{0CAIj9f2?D3q z>UL_?)wW~v-%p+_>L@SRA`4hRtWecB;{11cMu;(~32(nB`1Tr*4?-Cq(4k!Z1i2R;rXQZP&uR0bYdV=XDC< z-$G?skcE#>q9vwNoSFFQ_8-^0WIY=PJ}z(HdebO-rq$xKCJsmwDvG@pDz&={{kza_ z;9(f30ni=q0o{l4U)}eA)pMm$eDHqsh(Z+G*G^F-l5+3ExmCma<15BWBs)k^qh345zL?FX?kz4A|sDv7H2#tdKRc^x*lM=*- zO^hx$_G^Li*F?L_rSua?!gD@WlG$JTP&Ww44zJ&hPov&2^7M+_5yXK&e9@J8wmCXA zcRq{Nbo~SyFJCjGZo_YkboH?r)x}rjJ4&ibv}QXUxsdvZ_SPNLznPN*54&48pg+g~ z{ece{oqw6rp90dKM)gOp{GlHG|6}!^XHwWiRR};u`)>1PbG^&NI(1cM7^y&l!hus9 zz8PCY?6dxeikay~`+h!^!y$R_+Yi~6wm>0GhMEGC%px-xOgy+xQt!NeyqJN8^!0bq zqE2<E((Ea zHou+mUi;T;bVRwyv(>gv#u&a$vRc zemkfL+<1h_UWDfmAtcC>2Rjuwp zP2nxrUIvSsZn9_e2#j0{w*lmwK-SQ1HjmG*?{Ean15~>f+%=yUx+gGG6B!OAV5N*V z6R;wghIb&_hpsO*m_8Ly5KQbn%$C3o5IUhaTlMBmJl#UJosf*L1|M*V=qMF^i(NYb zxt-Fx+q#xV6ds=qO3j?*l(E4Z#eBi2CwTFH1M9f3pAGQ$=GC<6St50DQ1U{~$(ZsK z^q$s!$T*=F-5wu-AWL^$AMmf*ai1CF^pW;KA;YLT@ZfT}K$j^v>y$W9Z?pjsOw|Uf zQt?0^0gs#{^B{BayUB=ny95FY+8`skzL}b}e=kDDk*bl25ov-q)S)q!a0G~awD7sm zP6n8)7oL~Wr4=yu=u9Jty12{?{RB<`$gxA6^m+_8t3#%99>O8Ti?qo~uvueBf-Z0!xMHd(dpBYNzx@7KVp{+nyo8K*d`M z!^zYq`8FO1ct+net#t76cBIfxZp8a)CHqaob$AJkPm?;D1RPomK~nR#Su>8FCXM9? zX=Nt@iIOPKak-|9Pk0!BWiIKtyVUH#XeSiuIpyFdSD&nuN{|P%0 z`$DWc2|f^a5dymw?% zl1ZF}BH)Z%pP>Y?-GTPmB)ib{S+~`|xT+bX2N|O5rm68CgXHpq1Y^=c$-GN^(gNb> zGGnOosmi-H2*-fb7+D)&QmIjk=*i-C~1#CP-A+wY0p?QCls5Km!7>!?TEQ&RI~y4$?_KGXN86g(2p@mJ>MdfJ&OVYsz8 zoVG&-A0=bOL)jJOmV6 znw2ZLmKfBz#pVU7J#C#XMPRkNYWhKbF`Niz*9>YWXa`!r9}q(h1T$|PzONFcEP9^P zV|Ug=7!U^uJr>|j89Dc`jSt6hIOo*T5wTJZf*H8xyyN6>$VzBmIePLIJkGa#E?uu^W(yVa$-n7noKl z0W!PqHZ74rs-M0AN#K%=>xrep!!(0`--fB>L2rFOdhSeiC8ISMFUPH-+n)!wGk1eP zZ*Fyb)*TTyI=P_ecOAJn*Jr(=zpyHaxcJc-sgil?!so&~s|uuLKOAjw$?SB|d3$k2 zDsX<^xTGm8gyKsimUBnS+&c&VSR?{ z=<~km7j2iC!o6Kd^xW$TxR$(%q9<3CSypYIlQQ(u>?`4~x*bm=n0?(N{#OZ1=X{4* z+4)!2;u~CLlgpz_=xr*^~Vqpgi2n!#Jv#&s`1_fzh6imS{1xo`yMBSZ?BcupGmzB{*oF2+H-eZs>7i zVd+AK?m5P?Ll=kItW~_X4$|~ex3kif5`da%%r0=|vQN2Z$M#^k_lCjO1$zdplUof+ zgr}!7W~JG8RzB&0RoN^yus76UsES@~5!u5UVQ7j*x}}ATF#1AqFEmU-aqFxK3Xd-w zA(Zw-IfaZEfS+4tRAdd&`$H&e=#>OX;R(ex&HhEdX8PC0 zsbc@+pG%SGE1y0$O)H%|Xos(2aX{ct9?dbhf=UY@PLx4&YyqIdIlO)%UJwOwy zSBspoydAlw#65SMeHH>fl*FYgJ1RtUUo_>cR+#woMzh|wA(GX6thpp2pF;WeI9;)` z9nOcWVtA&Q;wLL&q(-`M(P+}Rsl|0fI5*niDaWj0W1W#df=CLFM)hgdo_v}sLZCuG zn6B7Mj*bAs6$qEWv;DPkkl7aZ=ICiB`!WL~C*41qtIlE+yu{d$T9>=TEjykutUo)R zJuyUWUx(5xNq|OH!s0ko%}7ywmhtCmJB9z_>L5mW*%92&LNxaDXpTL=sw4UBg@#IX zLNqnSWM&jnEa-KkT?(^|5I_HA7ObWxuMMDG&W=}|L#abW!wUVgRsW(wL-;yDnyMl? zvm`}J*^$x^!SEa-zFA@9eJxh|?naEUcLrxdOgp1(D#U8r>*ZK9wzy`(64j-Nqhr~m zS|)Drig^VGGKyht@WNNK)eIP=>2Xznq^ifk%hYOe!OiX2$ADb~)Te(Il&E#8wF=~B zH6~(oKMT@7isPq#)rqY5!m;c;e%TZuiNI`@(D<95g~HzoD>g#&rCE%BBlsUGDnPAB zX4Ys*E(^d$+V-=E`)5)1&t}>?mAPQZz$MY8VjWKLsGN3suX|0szO3C7g4iCufmsb$ z$yY_*rx4J%s7YBD56}|+cmzmsa;UGN%fTJ= z7NLhJKf}0oHdpE0j}A;T6fVcGJn+-d8u_0C;u!)5U&4x&h&LU0(;Vz z=o<^uN^7mWJgxYT8POOPk6Ddn&$3#IW9VGG%o(DRtW0fS@a!dWVBzypZ&zXMTo9Lc zI<62Uf}Hr&S-v2Guw7<+!!BMQc%Y3%f21<@pKM1oVi?rQqVUNIeGd+UH@XRd1z!&c zk7#@&4zr5#+%z0TsW_~ejUwMj?Sr~^*=@o{%K{q0!ls$I)5^FNPB=7trop^c;-!>GQyF+X<&PC28uTxn~b13()8FU@#PUSZj8_y8+%x(<# zu=#O*;U06Cufz$>#fTz7)|_8C*SvaV;mo0I6Mr}nmUp(75qJyGyqYABz`uT3iR3A^ zrrC;QUtbCD*r9#$#`ivKu7dSMz;BLlGXV84R=b$0T!w!buP5+OSW*Ka*l!Q)DWg~o zxQMS;g0xnRDS#rMsLRYHss|mu{tiK^*d5Os+|O=2|u#8r&D#tc$}ntAw3 zBzb8;d?+>{XZ@Ua$#)JyuoFrQr^!&1Q56|cj^hh4$eb@yM)daRDn$^2S|O`W!DDmk zQw?dT_3ZkFLm)8<)H`#+dEi-)k3xmIzqmVO`$m93tOhk`0bNU*an7gSje$#i9NKDo<;MhpP-` z5bbM*!JDZL>7uuj0$!JR$ssSR_8UKju0-V^c_X8+n4Or?u9mTs(h!YVyf5=?3}P-2 zIKADrG2+XO2f=6L`zUoA4L)@4zGa2G(qQW1B`#V#4B!^ z`}Mio_fH@2KnA@>cJ{kAZ*G#+niFb`N(&Nn!>q}rP6SuFy&!aX<>z_$1W^;CCkX>4 zbC|O?$ebKOe7(YkpxJXt?8_Fz>OLogq2L)v^e}}Bz7wfPmzhpvA71WRh=@Fbh-Hb# zm@&F}qMkdcQ`_wss=j>wsD6R+ zaJ3JYKA(GkudnRrnwfGsC5U<2ROR0wC8j5f+BLUx@Iy8Uo3W%7y=Wl55>2uV#e5J; zydC#~O!S%`CxlO!e zn1q8pfx>y1%yuc}V6j?>VDBMU#E(Gs0s^TzTsNos`#gMzp}Zd*Xu?8e0y`YOJR0+S zD6+ee=r$xR4C_(cMY4|S4siGD31&}Z<9jBBe`}XMABnu#X3EoealJ5Q3(>k-V9M&&j=JzlW9&#jfGT^0-j329KS{~TH(xY>Tl1L zT!HzYg5@K7;#c;hsySUY;pQ#Rt@$Bo$3E)HiHJzn+3v4#5F;vJ5Q+G7Z5@+o_{D9ngY06cMD{?W=!18%~;xAFwn zcdLja_$P$nIs%F;I4oK4M%WDWapmJoL+mK;FcL~GVh{s8lI*Eni>bFl_^*!vzNOR- z#8H{l7WPrp4Mizl?|1~;p2(1ypZsCfAI?`R!Go`B6SgPsMNyjgFAj)r-ajZqGw4km zZokZn9`Y)wrW+AH;w4rWZtIj&Dfr?&e}mU%_pt7O2u8}*2uzVx6O=lEJW8_$<*!Dv zglKKFKuYn@qLF3_3e0U+tyH0T(V5^}xgDfK3Ghg#l2$K>GMR11h#@4gldX{x4ww}b zq=vGm#9g+RilJa0NO+MMl&(82Q1B^h@iDW7N2T&!s;LWTAZdHWf-{KW1=mA~mcvrQ z*pe!XIoPFazGG(Is&0hdGn|-@>4Wn=nn$rG(ZFMf(=|VlJ1_0JvZnYEB_<;@O-4Ps zu!bgRU>=h)ol!=YD2z3QzfM&s8f?TV97Ru&@qJ=}$4xesa3ehhg>f(mJB-nKvMwL9 zRoJr-l>B|Wa_oG>37ik99vNujjfb~QtQ!6 zF_!UQUP}+}4Hl*=$x@u`v+(#+@`R}lM=8osMLvp1`zFa%uteuuIXRD(eHvC$b+|kW zlH04Nzgwkbv=p$ihq~?t=V@u)`D{!1!M$F}zbKePZu!Ier2%J3>p@r+bsT24thDL| zKaN8RGJn@(_M2mxbdMGNYd0WrNwRsVEK4`ip^i?f<#^Kf-?#_ROka4DJou5l*b$&# z-c>gMJf6U_!O}uLgc9Y{zK0F@L2yd!f|$LDK|oYxD;;9n;ptasR#E50&neZ7JxV4f z$GRFI#Tr^@7pl$^S(Of#({+7s-2gosbzpgDl|%Dry~9RZn<{l||7^2RtH7lyygH+( zDd|qu>r>#~Jn27XUgR?bcz)?vc!EkcP(AGmiS+bl2+sVZ-YzXMlk{z&k9n7S>=gKz z|EZ)f=hU&^pbkuyE3`E)_4BSNx@F=#s@OgWI@P3j$w!=kJ!Euu-l_sy`4{@R;dEIR z64$e9np$Nl$LMz1q=p&L-bPWl0}Clm*)QXVs+MWOrRLo4=Ppcg*Y10u^K<4oG5ToN zq>4huy0@itnonNHshT5VmFn#V*n4o8XPyX^4%1C!3cdqLGnlrh6W`E1c1~~!@boL>4m1D8tZ~`b-KjD9ipJHX4zFg6 zU}m$OD9oh`y6}$oLP4VlPp$6$6YaQ0#TItpgWc!H*vnX*h?wt-R5e}XfKhoIp{@@i z>|9M{Ip@ICaso;owU!t!S)_KYQhKf8Xglqlj4}>IT%lb_%vFn3=^ft^VHB0l`soW2 zy<4DX3Mai}xs)P}PQc;5A@=UgM$)-R&JeAW?D-(;A}GlCM|QOnz;_?6Y*33D)+P zO|L+M|5Cl_f^H(1E=aqt2%@jfhaXyY!HzdZ*Z$bW!u+M4%U@EMOWbb01&q|1E+a|8 zdR~0}vdjtrL;pcqmYk2%3;RQ5xKh%YPE=j}cbxF^!zvpYb2u8hY3mST+r<^dmx^Up zWnXm*pga)kqJ(0#p^eG8wP6KW;VLsS=f3q#m{yvl6jpjZzbSesS&C8=q=A9>{Ri@In^QOt+6F?FgbC*9R&CDV>9EtV@B$5z?w zS~R3879QW{Ne+*7veq9Mx1^)VaF9M9>BNW^Cwc@?mRVxA;PY;z8ytT_@8S{G-R0jv zd@DwFFaCx$CuJtrq5hFqu_IjMyqV5@@|#_kWX*zi#r;$C;>&IUo^@!;zJ{ZpXoN*3 zBxfZ}-d%6Ui|66<7`P(Qn`PsZM#>#>5shBHqs8eq+F>z{=X@hI7z_`mnp{=B2JIA) z;OqhF)+^g~p*xA?21pJn+3sj85lJ5Dd<2Pw!@cM-5=pc?WgY!Ce3i#HQ1lGPS{I2y z9Kp|1!@{PjIpHKE-u?&>@Driy zJh7_l+zL5`_P}2EZ`0Q8c^^nC(&9%H>udaOCxpl1aKbe=g1a#aBK-0+ zt`WKs*iGo5%(;BomZZ$A=|vFe?USS@042gSAU;O*rT7efi&NYdonmOZOM91IE>>R` za94KOCFpf%2}Up>CR z3y?r@P^7>yt2xKT`t4Ps&#D5{_V&8HtI`9p*NN(qqByOR^^KJeFd?~ znW}A&zVMQ$wrnHz8YJuSZIJ)B*5s?CEX>zHQHqA3*=w1*NzeGEb8hN}SfhBt%qnD{Pg`Ovpv z5wq(S@`%GPM5z{1m@>1p{lz8s3goF@li9{+OB>d4paRFbJfiN-q(Ic zzU%1AzO0?iwvSQ3hffOF`L9AL{ZR9$!aLO?UFqg(1IueROZM0zmvD5DhG;OQ-yOtKY;j7OmeTwTsXl3^icN&KxIZ$AoFy*7D(EC38%RSd!z% zBGDygt>i_vDj**GW>xN1TV?wfoJ^$=5F@_#&*h`ctvH!uus+4Z_2CS8Y=NWLfb|QU zz3h&FJ{Erh-FTY68a{Zhi_Dyl^g)7tY{s^a8t*0srDbkMc7Pk~pnO_{OS)8$}p5zmfaT{w>?nyH8#&5h*Vxu_a zaL0({%7}8G??hj@lwQ;2;!XIrmo(s$x66&0y@;YJzq@(XM;N~Q0l{y(_fW_ml`mq9 zOiKkkb4O$wC*1(fnqd?KFFuG?q!eB9$uG*1MZC!R$NItXkIVI!m)55)WkR*SL(W!* z*0|n%tM`%(+__Uo+Q}}xEZq(QF7HsU!5&uF%1QvC(!M9*y@L47384nkAt(POXHpf zB*3&;XuTkQc4NVhKBv5|wwpHnZMS2g#L_RU`o z$S-ydUxBkwRN2`Ws#aEXeOcs%s+TTI-BuD#&o5@olYE|&zojhrBDk!jKS3;nMj&9! zSBITgP=qaHI>>FlSP0CKwQSaMMkp8sQ`%0>pIf~AMSRvI_HKQ%zazLR=jM zDLH8(vRS=ctJ)GR^^l`pu{x|!aj~vy@Rz~Uj2jwOxLfw68$xTbT~n6bysL@kHQD>* zx}oh=x}t{GjIe^Dk7Y*mdMxKFCG3|}x@ic?qx%+@Gi4b$cuo*&FzjRspU8YO>g>wr z>DDSoq7^3n3}Q8!gq0e;ER*}UglcsxRJh<9>;)_UvN64|QSce>z>+;D4@3>V1!jKF zf>W1sq^O!X(Wx$;ej@J8MCU%hlqD_{4V7hw8slm@%t)PLHq_mQ5LQUul@@;QNcNUT z@AF<|IgHQE4$?hljXjzI(mh^2N}Bja_x#0FEFWFaV7#;)>{c`KT#*ohKAFrLBGYo95HsTic-Vc2`9m> zB*&@l_t~BGYEi2j37dqdY-^z>S%WJ)8eTi5I9*@tDPb`X@{8aw&QA4z$fUk=jp{=e zDrdcHQjXH^<;lhz8OZ}U$MXkmh=>N+B#TCf+YZ2x4xjqa8|^O|3)qy*XIre@v#X~T zYGQiz)9Ov1HDXo!Dk$sOxQWC0mG@qXEw!hA+qsTOPRG9&H{-yqw3l!o9e)}i{m5PL zBNW=LbOkTo(d_=YHMhKN-L)aN8ZdKbs$C}X*KJM_Xvw>{31A;RntsbJEWW~&)kCE| zdHL|nmM5369NvHCye^lN6rJC{%4>B;l3l-qpgmBHkrq%Bu^hZ_S!30Wmi35ZGZm-F zJ5%9btYy*R?J?I^6CiZQwzhTHQwdFxf@Alt$bDS+W0{?idGc8fgPK!BbGLobJjVm7 zbS%8^3EWxh64%Y;6~%&B6i1I5zS9J}I~hXTYtY$Ikkx&MZNhO(@N8smzs^@Wvq>D# zE4re%VZp`Hs?%gS94bthCu)eX%Rn&6tFNQo>{DALJZmZQZAe~wVYuDauC!Ko4{fJ+ z6V0`hC!G~hONL6^2xiDLGG8@HS0P)SXnT}nlu(hTxxEe@d2kVEbk$V5l6kGCL(+Pi zJXSHfo1Pjg9Cx0N&0JiGmXFK`$M7hOmT62VKPr);%Y(dbr@{c|3d6^h@RkSl)F72r zrWvFN)dpWMhJ*}kf#hx8I`^<2U5ciOwtlbz^{wWICN02O7}7Z4JODQPEZdPe6ed@< z^CB5xjU!97ArW);aZuvpAff_Kg~Vx+M}@o_1e(e5?e+A>Z@eq{UFp*p+ium#lyr|f znRqiq#ai)Ckp!wF+1Uq2_bW=kl;0>!1=4W!*mWNB59uXF4s}bIVV=BJ7$>h@R=~PX zD;@~m{#9(E(lfAQ18}Au1*oI`M{M$+P-|iaf8=?{jb8&qSwkK8Bg$Ii0?=^K_;G~z zk;~e5Py+!}Be8B0*_-bvK0cbq=oi9KyU*hp*FsuabRzU6Jv*d zLVmqdrFviNr#_IwZ;zqTa&S=uECsRoe)U>kmdOtXG_$^?1Yw0~$>Z}|bY!$%(nVCtiHf<8R(3^?Pls;ImQjC-^n^(3jcpFi8= z1f`NM-)^yGow%gvT>I42ly=VGPI7yd{|W{O3_=62#{Z;t6`-CO?gF@z?gJc70Vy?p zThs*rl4U@~C2a*)8$)}|p9%mOiGLE{M`Jgf17K1BLkH;c|F%2<*? zo0`HmK+B5&0rk&BD8CkLz%PF&3I9X`lroM#(?0!d{a=}4psT@j{D6Sy#linb*!hd; z9I#h^F#Vn5_YL_yyX`NySJ=Phy8Rvhd%n)1OD$^zdLUKVuM}&>xlev+oqznQWZGrw5fJ)m2 literal 0 HcmV?d00001 From 8811365e53fd2d86efc64eafe115c1204159bf1d Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 15 Aug 2022 20:30:44 -0400 Subject: [PATCH 0390/1248] Messy snapshot of chapter 5 after checking copyedit --- nostarch/chapter05.md | 192 ++++++++++++++--------------------- nostarch/docx/chapter05.docx | Bin 67672 -> 77298 bytes 2 files changed, 75 insertions(+), 117 deletions(-) diff --git a/nostarch/chapter05.md b/nostarch/chapter05.md index 7b5dd78d27..a6f6a23667 100644 --- a/nostarch/chapter05.md +++ b/nostarch/chapter05.md @@ -1,8 +1,3 @@ - [TOC] @@ -36,6 +31,8 @@ grouped together. Then, inside curly brackets, we define the names and types of the pieces of data, which we call *fields*. For example, Listing 5-1 shows a struct that stores information about a user account. +Filename: src/main.rs + ``` struct User { ``` @@ -67,14 +64,16 @@ remaining listings consecutively (e.g., Listing 5-2, Listing 5-3, etc.). To use a struct after we’ve defined it, we create an *instance* of that struct by specifying concrete values for each of the fields. We create an instance by -stating the name of the struct and then add curly brackets containing `key: -value` pairs, where the keys are the names of the fields and the values are the +stating the name of the struct and then add curly brackets containing key: +value pairs, where the keys are the names of the fields and the values are the data we want to store in those fields. We don’t have to specify the fields in the same order in which we declared them in the struct. In other words, the struct definition is like a general template for the type, and instances fill in that template with particular data to create values of the type. For example, we can declare a particular user as shown in Listing 5-2. +Filename: src/main.rs + ``` fn main() { ``` @@ -115,6 +114,8 @@ mutable, we can change a value by using the dot notation and assigning into a particular field. Listing 5-3 shows how to change the value in the `email` field of a mutable `User` instance. +Filename: src/main.rs + ``` fn main() { ``` @@ -211,7 +212,7 @@ would get even more annoying. Luckily, there’s a convenient shorthand! Because the parameter names and the struct field names are exactly the same in Listing 5-4, we can use the *field init shorthand* syntax to rewrite `build_user` so it behaves exactly the same but doesn’t have the repetition of -`email` and `username`, as shown in Listing 5-5. +`username` and `em``ail`, as shown in Listing 5-5. ``` fn build_user(email: String, username: String) -> User { @@ -245,8 +246,8 @@ fn build_user(email: String, username: String) -> User { } ``` -A `build_user` function that uses field init shorthand because the `email` and -`username` parameters have the same name as struct fields +A `build_user` function that uses field init shorthand because the `username` +and `em``ail` parameters have the same name as struct fields Here, we’re creating a new instance of the `User` struct, which has a field named `email`. We want to set the `email` field’s value to the value in the @@ -264,6 +265,8 @@ First, in Listing 5-6 we show how to create a new `User` instance in `user2` regularly, without the update syntax. We set a new value for `email` but otherwise use the same values from `user1` that we created in Listing 5-2. +Filename: src/main.rs + ``` fn main() { ``` @@ -310,6 +313,8 @@ Using struct update syntax, we can achieve the same effect with less code, as shown in Listing 5-7. The syntax `..` specifies that the remaining fields not explicitly set should have the same value as the fields in the given instance. +Filename: src/main.rs + ``` fn main() { ``` @@ -358,7 +363,7 @@ many fields as we want in any order, regardless of the order of the fields in the struct’s definition. Note that the struct update syntax uses `=` like an assignment; this is because -it moves the data, just as we saw in “Ways Variables and Data Interact: Move” +it moves the data, just as we saw in “Variables and Data Interacting with Move” on page XX. In this example, we can no longer use `user1` after creating `user2` because the `String` in the `username` field of `user1` was moved into `user2`. If we had given `user2` new `String` values for both `email` and @@ -380,6 +385,8 @@ To define a tuple struct, start with the `struct` keyword and the struct name followed by the types in the tuple. For example, here we define and use two tuple structs named `Color` and `Point`: +Filename: src/main.rs + ``` struct Color(i32, i32, i32); ``` @@ -427,6 +434,8 @@ you want to store in the type itself. We’ll discuss traits in Chapter 10. Here’s an example of declaring and instantiating a unit struct named `AlwaysEqual`: +Filename: src/main.rs + ``` struct AlwaysEqual; ``` @@ -640,22 +649,6 @@ variables Now, run this program using `cargo run`: -``` -$ cargo run -``` - -``` - Compiling rectangles v0.1.0 (file:///projects/rectangles) -``` - -``` - Finished dev [unoptimized + debuginfo] target(s) in 0.42s -``` - -``` - Running `target/debug/rectangles` -``` - ``` The area of the rectangle is 1500 square pixels. ``` @@ -703,7 +696,7 @@ fn main() { ``` ``` - area(rect1) + 1 area(rect1) ``` ``` @@ -723,7 +716,7 @@ fn area(dimensions: (u32, u32)) -> u32 { ``` ``` - dimensions.0 * dimensions.1 + 2 dimensions.0 * dimensions.1 ``` ``` @@ -733,9 +726,9 @@ fn area(dimensions: (u32, u32)) -> u32 { Specifying the width and height of the rectangle with a tuple In one way, this program is better. Tuples let us add a bit of structure, and -we’re now passing just one argument. But in another way, this version is less -clear: tuples don’t name their elements, so we have to index into the parts of -the tuple, making our calculation less obvious. +we’re now passing just one argument [1]. But in another way, this version is +less clear: tuples don’t name their elements, so we have to index into the +parts of the tuple [2], making our calculation less obvious. Mixing up the width and height wouldn’t matter for the area calculation, but if we want to draw the rectangle on the screen, it would matter! We would have to @@ -753,11 +746,11 @@ parts, as shown in Listing 5-10. Filename: src/main.rs ``` -struct Rectangle { +1 struct Rectangle { ``` ``` - width: u32, + 2 width: u32, ``` ``` @@ -777,7 +770,7 @@ fn main() { ``` ``` - let rect1 = Rectangle { + 3 let rect1 = Rectangle { ``` ``` @@ -821,11 +814,11 @@ fn main() { ``` ``` -fn area(rectangle: &Rectangle) -> u32 { +4 fn area(rectangle: &Rectangle) -> u32 { ``` ``` - rectangle.width * rectangle.height + 5 rectangle.width * rectangle.height ``` ``` @@ -834,20 +827,20 @@ fn area(rectangle: &Rectangle) -> u32 { Defining a `Rectangle` struct -Here, we’ve defined a struct and named it `Rectangle`. Inside the curly +Here, we’ve defined a struct and named it `Rectangle` [1]. Inside the curly brackets, we defined the fields as `width` and `height`, both of which have -type `u32`. Then in `main`, we created a particular instance of `Rectangle` -that has a width of 30 and a height of 50. +type `u32` [2]. Then in `main`, we created a particular instance of `Rectangle` +that has a width of 30 and a height of 50 [3]. Our `area` function is now defined with one parameter, which we’ve named -`rectangle`, whose type is an immutable borrow of a struct `Rectangle` -instance. As mentioned in Chapter 4, we want to borrow the struct rather than -take ownership of it. This way, `main` retains its ownership and can continue -using `rect1`, which is the reason we use the `&` in the function signature and -where we call the function. +`rectangle`, whose type is an immutable borrow of a struct `Rectangle` instance +[4]. As mentioned in Chapter 4, we want to borrow the struct rather than take +ownership of it. This way, `main` retains its ownership and can continue using +`rect1`, which is the reason we use the `&` in the function signature and where +we call the function. The `area` function accesses the `width` and `height` fields of the `Rectangle` -instance (note that accessing fields of a borrowed struct instance does not +instance [5] (note that accessing fields of a borrowed struct instance does not move the field values, which is why you often see borrows of structs). Our function signature for `area` now says exactly what we mean: calculate the area of `Rectangle`, using its `width` and `height` fields. This conveys that the @@ -1037,22 +1030,6 @@ instance using debug formatting Now when we run the program, we won’t get any errors, and we’ll see the following output: -``` -$ cargo run -``` - -``` - Compiling rectangles v0.1.0 (file:///projects/rectangles) -``` - -``` - Finished dev [unoptimized + debuginfo] target(s) in 0.48s -``` - -``` - Running `target/debug/rectangles` -``` - ``` rect1 is Rectangle { width: 30, height: 50 } ``` @@ -1063,22 +1040,6 @@ larger structs, it’s useful to have output that’s a bit easier to read; in those cases, we can use `{:#?}` instead of `{:?}` in the `println!` string. In this example, using the `{:#?}` style will output the following: -``` -$ cargo run -``` - -``` - Compiling rectangles v0.1.0 (file:///projects/rectangles) -``` - -``` - Finished dev [unoptimized + debuginfo] target(s) in 0.48s -``` - -``` - Running `target/debug/rectangles` -``` - ``` rect1 is Rectangle { ``` @@ -1110,6 +1071,8 @@ XX. Here’s an example where we’re interested in the value that gets assigned to the `width` field, as well as the value of the whole struct in `rect1`: +Filename: src/main.rs + ``` #[derive(Debug)] ``` @@ -1147,7 +1110,7 @@ fn main() { ``` ``` - width: dbg!(30 * scale), + 1 width: dbg!(30 * scale), ``` ``` @@ -1163,34 +1126,18 @@ fn main() { ``` ``` - dbg!(&rect1); + 2 dbg!(&rect1); ``` ``` } ``` -We can put `dbg!` around the expression `30 * scale` and, because `dbg!` +We can put `dbg!` around the expression `30 * scale` [1] and, because `dbg!` returns ownership of the expression’s value, the `width` field will get the same value as if we didn’t have the `dbg!` call there. We don’t want `dbg!` to -take ownership of `rect1`, so we use a reference to `rect1` in the next call. -Here’s what the output of this example looks like: - -``` -$ cargo run -``` - -``` - Compiling rectangles v0.1.0 (file:///projects/rectangles) -``` - -``` - Finished dev [unoptimized + debuginfo] target(s) in 0.61s -``` - -``` - Running `target/debug/rectangles` -``` +take ownership of `rect1`, so we use a reference to `rect1` in the next call +[2]. Here’s what the output of this example looks like: ``` [src/main.rs:10] 30 * scale = 60 @@ -1212,13 +1159,12 @@ $ cargo run } ``` -We can see the first bit of output came from line 10 in *src/main.rs*, where -we’re debugging the expression `30 * scale`, and its resultant value is 60 (the -`Debug` formatting implemented for integers is to print only their value). The -`dbg!` call on line 14 of *src/main.rs* outputs the value of `&rect1`, which is -the `Rectangle` struct. This output uses the pretty `Debug` formatting of the -`Rectangle` type. The `dbg!` macro can be really helpful when you’re trying to -figure out what your code is doing! +We can see the first bit of output came from [1] where we’re debugging the +expression `30 * scale`, and its resultant value is 60 (the `Debug` formatting +implemented for integers is to print only their value). The `dbg!` call at [2] +outputs the value of `&rect1`, which is the `Rectangle` struct. This output +uses the pretty `Debug` formatting of the `Rectangle` type. The `dbg!` macro +can be really helpful when you’re trying to figure out what your code is doing! In addition to the `Debug` trait, Rust has provided a number of traits for us to use with the `derive` attribute that can add useful behavior to our custom @@ -1277,11 +1223,11 @@ struct Rectangle { ``` ``` -impl Rectangle { +1 impl Rectangle { ``` ``` - fn area(&self) -> u32 { + 2 fn area(&self) -> u32 { ``` ``` @@ -1333,7 +1279,7 @@ fn main() { ``` ``` - rect1.area() + 3 rect1.area() ``` ``` @@ -1347,14 +1293,14 @@ fn main() { Defining an `area` method on the `Rectangle` struct To define the function within the context of `Rectangle`, we start an `impl` -(implementation) block for `Rectangle`. Everything within this `impl` block +(implementation) block for `Rectangle` [1]. Everything within this `impl` block will be associated with the `Rectangle` type. Then we move the `area` function -within the `impl` curly brackets and change the first (and in this case, only) -parameter to be `self` in the signature and everywhere within the body. In -`main`, where we called the `area` function and passed `rect1` as an argument, -we can instead use *method syntax* to call the `area` method on our `Rectangle` -instance. The method syntax goes after an instance: we add a dot followed by -the method name, parentheses, and any arguments. +within the `impl` curly brackets [2] and change the first (and in this case, +only) parameter to be `self` in the signature and everywhere within the body. +In `main`, where we called the `area` function and passed `rect1` as an +argument, we can instead use *method syntax* to call the `area` method on our +`Rectangle` instance [3]. The method syntax goes after an instance: we add a +dot followed by the method name, parentheses, and any arguments. In the signature for `area`, we use `&self` instead of `rectangle: &Rectangle`. The `&self` is actually short for `self: &Self`. Within an `impl` block, the @@ -1440,7 +1386,19 @@ fn main() { ``` ``` - println!("The rectangle has a nonzero width; it is {}", rect1.width); + println!( +``` + +``` + "The rectangle has a nonzero width; it is {}", +``` + +``` + rect1.width +``` + +``` + ); ``` ``` diff --git a/nostarch/docx/chapter05.docx b/nostarch/docx/chapter05.docx index cd6cc00e09220efbf194eca2f056adb37dc7cc0d..05d12380158ef4600daa5279b736cae4783a010e 100644 GIT binary patch delta 67478 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 delta 57754 zcmV)0K+eDN+XUE<1hD-H4w4G81Ym*y05D1g01*I};V1zUf9!qfZsSOr;Qs~o9oWWV zPzBgBZ&I#F&+rht5>s83$aHOWFB)jj5@oYZks6Xpr+3jny+#8wFIP{p@kInFk|L#` zMCz!dQ7Aig1S7uq?(<*&?aLzIK6`QEN8!6GVZ>i?UO0_re)#n6>gNaNM!({c)D35D z5QW~mt2ZyXfBLuk|M@@u_4RHRO;-yqOgXefnB2WCr|+(w({y=vdz(z3y@i{M7XCDj zl4zcerqSXyn$P{Icl#Q}vs;lDc>LEgj;3Ccpyyd`_}NXa=yKC9Y^%*;_Z58^7L;$N z&u*N0U)E~~trt;l$G7_CLgF3^p%aS2=2BAYrPN#4f7Ql9@?Hy}U2UwS?6*?Q;ne+B z5;s@U_FGBXTuI+=r44jiY$ABH^g{IJJc<`?ivAft-7ehtWwpFP3oqT&fAj-CeM4*V zYPO8)hcA2V2z@JGVIj?0ub|y7qL~*+vuu^<-PI}%@96h$^6$ge@5uM*ulyTc!1h@5 zxbdy`exD z0wbw4u{N7r!+JrM?bEwk1Z3yiR}^@L+k_?ZZ?J5k{LE}83xvVz2k!-%0&oRJ=94WT zZY-cqJw{=Xt)bI3Zl`PNhIM>KvdY#Ww*u?^>Y^5xzZ1sE-#4kLs=#?flIUd=yjwfAe5_zKENi?t|06^T4KY%`yp z-6i6bi|O6_r!b1$#{lgJkq3t`oWnN&|3`=dzwn>l7yLThH3vNA>KftbSo_Usk``Vz{h3dm9Y!DGD4OHH z12=ricISmRe>97a%w9sDyro;d%}+-DNB*X(Z28{n-8`6CNXy{zzaHL}Xm5|+e-q-d z^ppFn>xT#-9?%s6dfz2WcZybB#$MvZpS`Pl4#AxJYs6g%H_{dN*Jtjp|Cjq~%3Xc$ zxijNhxQ5^6wTORP*XSd#biU^P+iEy&;sFk(Uh%}w=$$w~S`XksIDL+g2JyFtXe#ik zuIsXj5%Sqj(kOmImJ3ENShxvCe?P<&Jq?W~AEq}}!o}~ir#2$R*7K$Jh!p$~(I$s% zChmO*wo~dO1qQwHiBKziya>XYJr}lD+`+5&_`N@yd13jP?qd;A4qc8JBM*JhE)@M> z{BiPe;&7!)2V8B!#ltq#HvsE!{P4TK7rREMhV6UdY`yc_0(lbd2j479e-n9ZD3&w< zQBaU3iawTYQ5P7c3HiYXXc8S%lwH2)*un4+*E&mv_cLfB90CmI_+9`!&ri8eX!q$e zVu1s*+nd>G{J`ugxF(+~v(q$XY}yLwBn4(C^WsDq56rHH*|noS77F_QFCQi!e|Z1n ze{g>dxDw+OwyUoPqVRFqe{KEYt=JcIO)s_IAZ!quw!?XV)c;Up+ z0t177szBA~6^d9CG;&v<>G{Cv{d^lEq)$Hw#LR$S1UrKFIn&Zle~9hHEQF+dU4-;mr!Z*r92UfX1tCR*-S;08<6s+==e%P9~U%2Zt}%lfW3vj`V_khj@V#BR?xv5P#!p71>3Z<<$#tT zOJhua1r8{P7TT5pnWux&*N)xcDAf6}yN~F$rf5&V;lQ6lTulR)JAlh61DC5HnSQQZ zPMl08rtVa@f1GUS{6w~}nKp1a0!l_Mhjrr%;Br)%yW@-*l+bd2ieiuZljlN4_`v)2 z=Y8tH`zok6K3Co+Xp(7}Hqd^7_lcIGnTQ+*-nT|OM&5^`Z)a%G5)Sus;>}k9=d8jh zROz}0?Zy6QZ^k{uu0Pnfhj2e_;C>b46Zmswe}AgQ>x!g;7piFBYQn@Y3>+$E zXMgma!NphMh!~9L#}WVJrO(l9NPjz+-{}LttMWVPT=|`#YO*M+6;oG3J5ufOngj=R zkCnNddtEc(a)Um10Dl{*m@kLF@w}m``nY1wYPuj;6MLxaYt7&EGc9ALY>k+%*lqU# zVZg#mf4z9%b^G%=eJEny;B{x4p2C~FW(pFRSH-Y}tWIRp7<9SzybjBUGj!c0Ni_AL zNmTB)8+hCSJZ>o0+Td|#n}8wC3=w4`8=Le{IMHyFJ@X7)_Hk&9bdByH#|AtriP6ej7O5{+w&ujZS0f^s+X&jvv!~uHqBcdWN_GTa4C(n#M_XY2$LC_i1J`LmzqLxkMus8b>` zuDMqaeJ}_(JfSFtSo4h+r>ker&m zaW7%?iXkxb77-X((8uNV*$eZpyUm>VQo!MIk6w!Io_lrQ034X5VN4m7e;#;StN4ie zSh18zMe)&uF>hI7IibIQ#m9_hZ(S)og=eMrzfh_u;=wb*4Fs+kq&^Wk0Xv)wbnr3+ z8FBen{RD~Cgno?yX_~jQ7kZS=lWlq(>YHbwzH81)mL7UF2;Okx_7@)=Et=PUn46-H zd0YFq_j8*4q{w1>cG{u3e-pw647&LnBB^KhvyYU(0@R4?q?m#As!?ux0Qz{y_P%uH zTK}wXDDrziBaIJ+$0DX7z%abhUN#*!<;(ta?9HpUL2aPzhumY~24FU3Z5)PE--3X_ zREUKXSgVgXLd4AxZcVes-l6x3@hJiDA_3NT?2E>tCFzVo6qyL-f6M{JrJ$B0RXpI_ z*=NLkkrE2r>LW5?@Fy!9T=y*$FjH#f!%;VVICWBtb}8J?wX?PPAZTSi!cX`-L-Roa zhhGmpV&N>^U^P9(HYDBGEp}5{^p?8CI-|$bM^+-Xh^Noq6iLRXQT2g!S@5#0AbqGZ zI!&WLN7j+>5U;(Jf27Bn!E*u*F_Fo0Sh0ZNb4Z}wto5P7I6Cs^+I4Vq9p6Ak!Q>p>TyE>(Ts1qA>7sQmLSE!eQ>ym#)fI!+BpmO%P))g0CZ8)rNbV*6!VlaS zb9roeUT0eLc1410OV)Tt+7iO7(;9yJ^}imFuqB;uAqMc9m>dVP$Al`C)dhjW2{W{EiHmGjK^=6 zB6b3E6K4bj9oiHt{2B-?I7t5BGTkjfYy0z`ODDd~g?E7rnA<7ux~!uiVq2P^cUjKL zXx!f}mbP_of7C`|*kXBZYcE^8$3;Gk1ly5}zXrJh?)+`UbqQX($0&W~o}*ya6toy| zxT|U=IKhTo`X0=z0bfq$g_yb__jvIx%vs)A8(YC6?&lEu?y<)ug8;ht{MaP0fow(` z_VL{5GXW0320Wja4v-|`d}97i0}sMB;MoQgpaCt2e_)NWHbm(4#KVvvZ_s$x@5sfy zfQqeo;C=BQ102i@DOTKJcmFI35v)?~+5PN+vWW=k4dMX+uqd7(4vEkL{y_qwEY92W z#t!PF1oz|=29y_31Gqy-UD;D_RNBF9y^%wN8_Wx6Q zfe0E0e=*URIM2N|7zEGmo2R=j3(X&Vw4NJm+#^F!l)=-UhreONXzM=Opk~;8Qx;@9IXO~$0gI)e-^$To59-ZUa zN75CY20}%>M0Ms{o5UZ+Do31yxTHsVGhZW>D#89BZ!%;-! zBS8s4gn1M%T(Ial_Yr#WyWA>)M49O{T7@Z#P!MHXQ$^g)^7KAWE1I1=*O0>bXMp4X ze`5fkra1E0Rw^08UoQX~hywk%)71a$-Eogm6kIbvRz^R9saA^o2FPwg7Kk1s&mH$E zg*K)v(B&oDv`nW`(=$MK6T05Q^@BE`6-CjO1i7MU51`!yEvSTl^TWSkadpS7RG9_7 zl3|Ud39cm@;0w_D2LsR)MX?kWH>N6De}9gttCrF=&g@6WOcdT$#7cpQC<;XIFAEpiYUMj*82d?P>OT_85gE<}<7>oy2+%4XH}}6> zW3zZk{vAUS-6K-5W00;mnjes_C6LCPc+(Xi4zjer@kURhqD3bb{~=v-UOF9pJE~&; zmNF|u029e_DjK`2*^0$i`ug`Te?HDO!2b||TDf+`yK|g-3|X?DGndDV^NAx3XShLf zZ7+_4%*n~jx0`q-b~@!Q^QPqri?x0N`xfsX-?A)JKxKsV2#9I!-i5qD9PglxGU7ae zH01)YGr(|7_sT{lT(TKjNIbeG|3MxFGd3`ExtW^@Dx>~lx#`_+Yz zY()HuB=R0%p`G)bYUnKsO%*^yGI=f;9GEv@K81scK2#b}r})g92I$f;5-bRW*1?ze zAs68SMF=6082*KWqKThZOpbN&9rxsgz(;%8&X(%r`_x-3A)NvXe@wU(h`SI~Gn0-; znEJui&Qh0voHQSX%MXl`CXh~>`qLF;U(%p=rXH-r#2Hj@jO5b6kcW71q$ z{RCc$kyYT{u}7R_e^pl{!vsL?08yC;|s>pLU%>rDku+I*-ti}OW76d_7GXi9E2xtVqqz7yUiYIu~08!Vbwgur7fFKz(Cz+2hB)Yd#T-G zZYlP5cQ;1|`sON$7G4y3|4wy*5i%XGzOBV;0KgivOV?9?m_{I0DF!n&WulqYktl-@ ztG%ac1iE-tf7yEik_MaCROg@_BXC#-i~ewO0aprP^v+yr1RSYI=!dmrk0?bfy5SvX z#U`4?pPK7SHWtAI)rIj8+tSre9G+?0ApOK{w_Hr?nM zCj>E|gsRIrl2z4AFwN8iTV_BBdduC=Q8j<2GvYwn>yrl=@g!8`Pl-pI1KqG(1q5jh zvnb`le+c5$QCO)ZxcEA<`e)@8WqyLKH(a}e^=OF4qmPl=7648!}n>>!iDs>+V5s4{DICCk!J-#6rW?2wLG{Z3}H^Eg==xsktBc>{q z9?w$0Kq0V#L%mS3oabNB@*3J?kDfh`lxLCBe_k+XEAE^UU>HiIe48T2??b}0DK?cX zN0Tgds4L1Yt6d09lWbWv)at;}!F1R#9Uz2;sH}Y$jkg^MX+kXK#HqcEMB6&4mvQeP z3b*OO(fGPBnzVO}(4L|0j$hNmry%yPMc&FZ7sMcU2 ze=&m2858#pw^Y%z9xAkzUqz&AyrkK9P}Lxlc3#l|A&ENQm+6QTL9DoO6x9%H(Q4hh z;}mfSdG8?7UTmc{4uRcZy)c&ILH7uDoI#}hFqTq|LsU{o98)qhrNTE<)7C_pq$Qj^ z?(Pvi>Ku3X)&XmAx1fR5M2rxj)S~v@e_G&4QM;QcnoL1ftwk2qiNT*o&*0x@6it}e zwr&sEq&p$Z7DclRnKv*uxoB|KpH8tv!&IFCS#}~z!T-*^tH^ve#Puxr&9bh_f?=v{ zjx7x*4Gnhy&|-?yngW8FP>~~w>X=B$$LdFiKs)O=ErbxVc*%)_2+R?Kg2%s?e_fu+ z)6amok}dP5$yY2>Nfi)2ouR%QuS1 z42$t)lZ)?d-@D}{!;W)e1qQ`Hbgdt7=njE7Jo%r!Fw5HsXSo{>cdhLQf4Ib*ayUX@ zo#_d>eXLbI#20(nGq`@(cYKcv$j|l4djU|%Gjs6W;#EfI?vQO;v7B62?Wyb?BtI4=uH{Mg*M4a(2-5iY6=a39K-sF;m4mR^n&yIk zG4;l_Oi2|cm9l!tuo1Ef7g11)6B$mN44~|tkg$tK6c4(0#z8akf7RaGNw~wdj1^6{ zcuRFE%8_bM6vxrZeUi@=Nzb6^3F#`{ht^b+ouSmXJyG`7+)j$a-DIpN^^Hx`@nkZw zD*>B9zIB(eq8gGlHZiRa5Z(%5mdLmy3S)Dlg8A!(CQ~|r;7nxOu9jcPf~*Omjb%fJ zK>G@(J@ghBN!=Gbe?YFrrGKtI>66EDx@Ai(avwy4w;iz>g485+qDVNE=a{VNY$pl4 zPq_ug>ck5Z+&wywF5*(4@rozoKpPSdqV)Kw&(MNrlk)9x%6=q=1{!rT8ZN1Av7I{gM&Z7?Dd(WL=V6=c2 z9E*JRF^XOwfAy{8OTgg~;uOH`G;R>kZZPWHKr{NA99ZPBb!({DwNKXg+e0)JcvaVR zS)(1}vab~EXIci?5jOmsw*hf5(Z5Ig=00Wnu3+HiZdAO_`r8*o#V|CpVk7aYBaamW zD%>ws5h-P5nBLS~fd+vbx)Re-skVa=n6ST1E3-dQzneiCuXL zWOm~1YacL@nF9h^bDKlYz$I^C>V6^m#A}R1?MWeB3yuD*x+JP@apnaXCAXOXr#%ST zohUW=B+KxlKFPu~AoSD+#15LWiIBDj8>F8qh#2(BE^RoMHExXC*nBCRx?E z*WkE5AkRt}o3dcxIT+`j`a&kao-*|X`>Q*P7-oa=%7@%La()c7Vv7AW=UFM1YMLr; zKvDGiOV(JD3mrQd>Gu?IYxTIDu4?1fYNx%ff5cL@UnN4TR)X5u%RRKhs=d^1F}FSm zh&f!X(q2pzAG;}8yymbl(63x3!B3_FFpb%e3|kWomOAZ|izfV-lZvKJdyx^6j>u0tzBCKb!_Y?)MONtpb+8Q|a^*Kwq#XBM8=dK(k>^Otf6JC-V*US!{PAqlxxV*eJnZ7PU;i0`u9y~b?l||=^%dzFJ2xdgPL#oIf5t)& zF-b(qIO*h^j}yC)@^_wi;D$Xyjur}Uf55)h+^DqdZM}-8nj)|36>p?0C=TJC*s8Tc?r;U{>;Qc(mNg0AxBCxky z@%Je<@1l9?;S}omD!>COL3+S&&Z@H_n+QvMhkiH>Rx?D|izrFa+uM+=e^m`@=h!w) z==fUFpFKYSspBHUHxmvfwv4#HL@S&=J_FMh&v->b^Z4i3FE5?m#fl(3Nhsg`oIaIC zQLqJ77OK@1q9F73xa;2Rf5)VlPFbPj$4Po!PV!a3HiP8fd_ZiG{+KDC7ITi$`ql5r z8Uh!Hcv`N~piy~GFzFY{(x4DGS`lAfi4w8554?Qj8j06z9>wQuaw7(Lj^M_8{MAp$ zpzYkRQDpYL;a@-fQyTz<#VS-ZVFmypxdNLIS-7yKJG!M*$B2E!f6?of6NL>^<2QOR z3KP>51kx>PJNRUcccis0-7)xTk#>rBd+&pP1;=3ZkhqRq@})tShGffE`B@NNZfF?SFP%Mtk( z)38>{)@0KdkeCU|e*oQezeZt{{hKL2(9kB1Fora&0n$4mT|1JP`V!iYB$g#!GnC68 zBzPRySF&FTs+V45;w+kC31el*husNtrdgP>Br6l4+BW0s1t(iVtl{vorB!fH*35}+ z;jW@x0`06P6_!)qN}$`e9NpUqyjj=>%tc|Io_7L2Ljz-Te@sc8@D*XA3cRJsog>xx zyI8k%r6X;G>OACm%NTe1?0dyL8E-!K(5G>0y}(NnZi?szIx{p~di|9j!jre7SEu~H zrrU%@=3&v+G`*nuXmrFQa>>%0`g7ld&WN;SAD-76!g=YOMWoqX`2F5{U-DUj;BZDa z3mw(UNnphPe@uHs(xcPSiDWujo2i1bFy>Vodv^wv0HD>*%cxl9*s!a!pT&tYRvmR+ zu-OQ{!ONJ#=fqw{NfivC;%rwe-H{w+Yt_@aITR<_L>EmK4}l{}4jIG5M9<}qpXPL` zK9)plJan4hNojkzOEp21B%wN#eE{z<+)L_2z7C`&SL*%nDD?GR|^>_Td`<+DP%9(_yQB-Rk? z3$lMsF#n;jZ0n65dh*<>2Dz7&#nu_pda0=oQ?FO0K0{hUW|bgs+fiESIeXibi@f`A zE1Hdje_nw6*Yk1~DoFLV$9Pg_k$ngzv}9OYOvmB5XPb`+{w{FyRUBcQ8zfmCCLT0% z+FVCwa>Z^gT&8`F%wXov=Uxn5``7%i7hral4T)j7k#LB%-CHRr;KA-55yjo#mkotu z-*ubAk?fE|FXp@EXxWNdzHFzV6XI>0LgPz=YhC`ZEOT}+w zfB(pD`qF`c1vNGkaar5Un?p}4Xn#?9-fg{)LKBUNj5Xt8#)c)R20vjix2Xl4z1WSu z3|sAA3H~uk!H}U5(pp1%1%1MLVFd3EWm{a}zre&Og#RGE7f8SSj#TscEaZK3Hk&n8 z^HUBQX%hVs!P>p%{tj}Eka6Nd>1Fj{f9s-Yz4dq$rLoay84_91v?7=j34eUYcod>M zuuexQSm?EA^5@u_=cb~Ct2MJDm)g5Bc?s0@kw3&a;*nL$X!zT&|5brC(l-E?HoDB} zv@LOW=PGsE@AzE5xNiyfzw?1}pgG$J*IENE->*c^T^f?Gshrm_mZio}#}+f28~w(Jck-j zvrSWp@dxIIULYDmA^we}3kfD&-2MBH4;hh7aE@o3X+GL{H z3d7Ngi+)Po>C4Sepq4_QZn<=6kmTsg7mUHZO4i}zYxR?%~ zy#t#28QzX?bNE$C!|q$#;t^0W(0*?()GQtCQf4NCle@N@UA(>Fg4ejxJg9nV= zkaRh+gZkw#OWvFaB9_0i4&%cH$bmXRnfi++Ra6gfFpjj#-!hUx;9INS2s2JRlOb!x z%*;<(C#KY$asR`l_rGi-=%dVK$l%o<|N0S6<#R}mX&Q03A(Y42c`e8T7~2&<)X_+m z{ZUtfE~z>{f5A3cu@QsgNTx%Ef*+AV^);=b{tiFlltHLgN>IT8iX^H#ICBTn3L{zaqYcC(iA=4Hbq;1_zl}jO4+>eWABZ4#us^3gO;Kn2L;k$(S8{4TA|S0(9iLQRt?>@$rmp&O(c zf9-ns7`W3H?j2=%{51#vv9UYJGI?n-ATUMX?Qo7_{|PB@?1h8 zZNm{aai`CjVGgc7YT!bT17tcvBY(KM(>8)i?>(qmftb=0@p{n4BH#s~Mms&i!hd=$ zxNC89EsT5EoKDje3@$fcg*eNJvLW{c$cO`myYL{j0{ph%hwO#=yD{abe{L8? zWbY^L6xZhL41NL@#*F*$9c^E=e_IVa^QJOfPe)Je<#hMd8H{et!wrDl=@dF!;U=B= zMPih01aBiIc9bt=TC$>;m3*laSt@PnR48|KIb6QUAv#E)^D<`l&{%gvkVEgv+yFf7e_0xY0Zoic(kR9q z{Ig^d@Sb_We8l~Nxc5JUAgfCyN8j4~7^9mdQlIE14z@tI9MQI)bB~1^;JKrd!TwdT z0-lApH~-kd#rPIDJ>tIiVz^W=49^iKsY4NaeZ48t@bHY}5R?^gwxoVGH5uz#g`BLO z!U{(4>b@nD|3t>~fA;nFHMH1LaYR|MwMw+=D-Q9|doNrLQ>1h(3bul0MEwpkMii0P zG}*rR({+XiS5K?h090ic#P}n zwu>%?mW8iKgBAC6F>K_B+%^?omUP<`Dp^iE;Ojo|7Cv+RtLe<#N0j6V=2jF?7NO%5K8tyn$c-Y?uI;M}C(*4<*sAL%f!)Sa>R=H$({ z$nZKpA^wkKHHB0iv~BOR7r(8?9FnehCp$tf#MG^Vh(PG#CvzS=8vIKeFeF2mNGT%Z zXK_m}es-5o2hRZBjyBp0Q0|HMk9!Fr`3yY_=~)D~e>^fobGeF_5vGn`JW`HGyoOj( zti6Vp4u=K-QfM0Ju8Hpt++U&5s{gP`8Y1V{0DEFfHNkOgy7z{(@H zp3zSOd`JK_C5!yY>sK4ndW1q+4-ybwoILx>n`lmxgl>TOlM~k@(+FFVX*An5<*^C6 zM=_a3P({(eF2VH`AMPO#bkWwwY+!1~V7hg!fBcj|7*r0D#q(a7Ipsp;iy@W!KxsXNhdync%WxE% zpkV=Q$BIDY*Xv}PkE%a$A*;CkZr9^?0Bd|SOq)nrDKs&-F1vu5_OhqJT4GNMo zNo=I`umCc&7|+gv-+=0n#G*v$#pB$BTbz95(c}W#5RjEXR6xGmdS-)`Jzc1L| zlhMIAixt_gi4R^YfO?+Gnx&D%*>pnue;U3i!hav%aKa4KJh3p$bH>7k)P(>lL?9Ii z4jw^&_t^W-6~aP-kwC#aJ*WHS+y?&KOJUGtKST%RUAUp%+;eHEhzpa%vCaOwyvr=% zY4AmCdk}uRVsy37$Grew#Qg|qmz2biWJz)w0J_FJE@yj~(Ycf_UN~*sXJWHXf57IF z6~V?M;vsS0aCul7e>oBH!N&_;7Ed`)Jr<62)_UA8Im z3a$}sWwQDys<$k!+A#% zPj4Y(XcU*_=xx`%f4?IN`zy^De}0YP7nU?Y%~2ek$Blc7im50nrl#lV-K>f!O#`o7 z5YXIY}Aq8WQU3QG&NE zq!Lt{V5ydYx~`Ee@7%qxjJ~K zn9>CmTQ)3y%+g>=6y*tDEy<|Gqsk`>S5$rnUlDz&)fE+qq7*c0eMK-k_94m_D|z>O zy>Ig1kHEc4u60r}y3ZE4%p(s=3xXgknySjR$HW)5&ojEi)COUVe#kt!JMJ-xf^y4~ z+w34~Y%YMY5MmH%5pgwsf5a=ABz1)AJJ5O`&clvB^~9`Ns)2TSoZR1j57>JKQG znkoqPamsZr1Tosxl?f&yEnPWIS>C0KUnngD{ZioGv76$8Y$y|*sqj&k)Umj3@45@Z z<&R?s)0bL7xNJm9eB5lSU$(O#~2 ze+1F7WxbMacfKfhn6IZ3l-t`wREKhU$vv~7GAUYO8t}W{;$dt(b3I6Ln z{W%EgHQJu0J7Z0?Sn`1fkyNm{@vTIm_wTex#b_EWHgBd*e?lp;JvNn!dacNg?AXqv zEx@UTQDH3o+lLZf^3?X>-bU&!K2kiYytftFjFPptcUlHgHW@bp95%0u5LPTkmIP%Y zsAQ7wCE%>Qx1rx5&dPghe04ZmRJUp^{L1_JF7{UXPKwhzwKO)r2fBkANvJxKV;eYw zYmkI2w^8wre+n$pPjki=uk%3m1CVzC`5#QPb)1PkR`da)Ylt$r>oi@Tn9lfYd@<*c z*$vHFksiDB0}rj}2Lb+9;AYM1eNvm87mLa4( zP(Pvm|Ft#S&JiU?UKjF_=hGJp&#x`mF{5Bsz4oaae?LWByb2kvQ2GDtT?>!n#*zLj zv~x&ylieA<9||%CpYQ@_C$RTm1BUOGBXMS!l}MdPjXZID$PY>WTz<)QRW~JyqNJuo z>anH~WOk)lvb(z8UGSo^&68-I>C}D3B>x_67Z=@Shc=bReY;b#fJDsHf z9+KU%e_vRKnckwfY{j-cr@uWfad0%7rL!M=Q4;kZ2f`%I5HV#_OL34_F=d_nuY#}D zGx#QhzkU1L$NY~%sbq1W3?z+<#=0(_YM|wHE0Mo*kW-a?T{p0Bwrvnn;B;-*MOt{Kt>1aNrh|))}uB2$LqB}k7w!^xbV!N8DR&vk3 zZq}8A|0`P0pfcjOt;B4%;QUlEk*II)>R>s})g?GXAPBDU$T*7AC5`tm(ShE3}djwwMtS9nbax zy)O~jD~>f85p^J~kFKq!v93F&l&< ztjxN{}{>8R~5t6H2X9;f1rKXf?pEa+XpN9+Ho9sAIdsx!sIP$>w7z$rH>@u zeT!nlMssBJ&GnB#g-;*zKkw5au>huNss?K=s~P1%UQ9RA&RN=t;Ip~ef1zt9aS@0- z9ePnkg|1r=Hj37Bfu#7pU73P531o-=ee}Zgw<0O83 z$|*iSF)GCQU#aRb!^d6Bh@=alz!(e*>^T&2(*+)+rVk~?FdPr(Fx-!#0*A9G#0hUi zM-B;n9>)=kI%CtlP-^a9m_dU78v}$toq|XR^$E;z!YQQ0K9EQnM+!#E)1D`JJf@a< zR@mgCNSxUg9;K{^j%piLe-}nvuO9b8}YZ(y|f?|7$ zP@}C2^YRvX1kUI*{wW&c_%$Fm)dNd4aOTb6SQMB?u~b8=0YRpae-Y;&X2p=7L?sm> zitLjn5zJtPjgQg`o$f=9VJ%wQW73W1HAWpw=d(h(Q1-fzr)|L78;|eO*_Axg zb3CKc9H`2U5=hu;c}l$sIigJ~;Q+yG~*b{dzajEeK>S|onl|9cg%oAM%bx7U% z-HCQ!i$-voOW3RCo#`x2@^SLnD-NDfG%-*Dw^w(2sS5vn4xRc%c)jM?!gRZze-X0( zos+MbPkzG%OeJfgZ`r|V01>YK1c3OjsMUE>C`g{}ZN=4Gf6=sh%d?ltuX#+3BDo~U zP*2mXeGN_~5A=y>>850;rzt2rxqUV)O?DOcG`+i55_hb$)j*gla-p&CFRuk!wNC!X z6_^-?>^k;|@F%WXgVFTa?-{Xq1k)Btz}%bQM%qj<16x+4DmbBKiK45vO|()@YkRJS zrWW0B3e(8Xe@#M{Jh0nHdA_fe#ZkqCVG-1YPibMu_{EQ6%`vKd)pOVe=_=*F50@O^?AEJsNmLcFcf5vwR+{H8m45)HsWTVkj7m(U4(FiKtpnZLN*@`5l)qe{X_gX zhssm|=7^X5^mW=2{~T&rm@~i2Om|+5u*=SGc;P!rK)R6nhj}uD;ENVk971HmUMrp0v%697aU>xv)Ct}QDne)=hx#O+dcT@tg;7!mc5&8O2eBLP5;MX8l4Nl+3{ ze{s09_taMLS^Ab%+l?++8Dw%gvy|-lDa?d?k*?qbXvwz_)6&8u&8Z0{AHFP}BBDWw zN=@fiZ<5RP{<6ZrzB(}=g&F^p2_ydK#7;4e|3)t6RXm_a(dLiYuQagTvfgb-+ejPx)#%a z|Kp#aZ{N?MZ|MEYl#u#gr__;^ca5U4P;?`q7tyF^RBbe=$oEyrT}xf^Y=o@vJ+a1j zSw!_(`T$=RpR$e6PvF<%BwKC>7jW!`4qy4U+V0)W%V`CbwSnpAED=G!g(S=TK*C7MV0{`<8p-{Lt{_)l9K|8{Bow?mvNyjVHUUCrtH z*0)cc6mKr|t#4mU7jND|6=kQ0wq(=>tDd$Tv?*8SOY>yibB)WWDTU@*+*X5~!?x(} z)^^2en24fXu|+=|^wUE8{Fai5f4;E(Ut{iXv!|9d&epWBlK0W|w{xc7td>keezcPu zt+Zt2^ig%8v+gUVBb^3{Q$n?!C0-GBC2~$hK(pJ%EgyT!q@Y;p(OsoCeME{uRDQToieTjhGb~YDxKaA(XOvKhOlvolDHVg*4y8 zL4G4}bw#l%^-QW^8M0wqbNR%f1b>$lm!)sk`#Z=V@1s12dsdpo(bV-LJc^g)6!ia$vc|faOw!QJN6y%`wE8LLVWjQLIkwCh)Wj0Wb2JMV z6^oRzLeJqWipYxNqH2fk?K9!Kh<(7M<-D7zf568mnu3a(5J{%DDu3KhWW2*wc(=2m zlzX!=1s6rhWU8l=)rv>26qvq~rPVZ)A4|zgWXlc@cMrz>p(cYkPv96V>-M7OC?SGB zgP}^G<+5}VfpZa!Gqjx8^$}su2QUkhLyog(y0X*O^?@3R(RF_zegbW;m}juh85YVD zpDG%L@CoxGs5uy>$$xY70>!a}D<@HiO~ zMF(#c;|FfmR&-nIRA{y*2K4Uw{Bd~~wIdL{ZL1w&n8|~;Bus%1p)B_8grx@RABQt2 zHj7CR^t`@^Ltz_ghaEPGNfsdqcO+V0$3W|a3 zsiNrVzsB(QJHXmrg0X|dL3mrJn)?@F4AmG#Is$|i%8s#9ET4r*Mszroo$%Yti&jkQ z@Z%W2;UFcLrN$C182uIg`Qj-h#~Bj)7LCX76TZ!gudkgN7`DEFZ9(x-0@`|2ktB&c zs#y0d*>c<}uz!|k8={Db(^JaZl@=Gtt|7{VkQZUjE+Ng#1oE3@#K~D>6iAADnt9S! zeJN6E)Z?J5;syp_fcJFWN7qu*BUkZD;5ll4U%OXTmCH< zP5DGe5r0XBp*u>CzO`hDqOyEx9tHyHtYuW!w76UeTu(FfUWe_~VXN7i#n^+@C)@)N zRK@Z~@O*`}qd6&)vfwrIOpYuF~y&R1i;zg~!}JjRRMu$!Wxr54%!^mavy zUjJ~gfuUHAEXq~?z%v!avrdg{a0!?FUq%}cX@4acCJh|_MgT;zRu98uyOQWqk!ZBO zjUa`A4|U2;c<28d2_uk|2ul0e{UX$#!F@g;@SRnB%5r{pBfLw;~IG>GqK;D|_ zjiU<{?`PrgV+7R$ixp*I#Sd{b9%WEd&@k@_g9MqsjSiaK93gHIo*d?Nz42h$jqXvS?n;44zXJpkG(GkO_Gq~iv zN~r$X$Ee)h`#99PVVORFsD`Y?f>2BmQJBM0`<%vAxFk!mr}}oKPfpP!$5*sd&&4^v z@35nJx&Dm*JfC&LuKTfyIn-SlfH+APOMeT6HGWWz4s3uBv~QT=ExZJD2sk9AI}O}~ zSj&L31^x7tLWMr)`517>gm^NU=Ll7MpU!54h&V!x`A%ooRNc{kYikD8(>H>h3D6Ws z*b7|8-5{d7Kqt47rw*>Rge^oucG!3HtPDzgxqNQw5|YJWw~ z>e;{$jC7Giv+OCJ0+Yvi(bNKcubpsu8!m+~i}Db{yBK;;mm2_c2-Vxel(1+rzeriy zJzDQ*jku@PiBB7XQDE(2#3E%B$bAkfvMZE+%-imMa=Vc+o7k~5maEYnpF*oUBIx7L zoAG#UpEqkSysdQ)by@aJU#s>lD}R<}dcn%=tMLRsN%wHe(ZL;cC!)}<6BrJMQHG$Y zU9I;MOG|7cD9!D#f`m?1dLb_0(%TbWB`~@JLr=;^V7XR=2${n}JVEB}EdS*wjc};P znRhZtp$Wgp%n5|}^9a&*g@Ic zW4oX^>vEM+LY(6)e9469r*N2$UkLp}oXrL;d4rk>IhRQFv!$x|9XQtEm-l(-Bi2Xt z9E*l%uR0h}I>zU`j7d+RjIvT1B?N&ejzC2GqGHOD@EAV>%ukdJXYn+TS+)n7VlPq1 zKmkx~T@Im(K?@Z;5cZ2*34f+|xvbtTt_7sRIGCg9<4+q2!LU_g6o=z*7UwTFYj3%& z4SzJpw`Ebij8=p$5Ed{cM=I?vWc)@ ztpA%bh5-X#Xz7R3Q89)zI02b%Nt=pKakvyj-t3ZK=j50_rg9DhpSYn~=oivM-d zP!-=?Daz9@$7v@tz5@u85#ZcVcEOA%@zdBqH!O$8-1*rr^|%!?2?XG66c~X+)ir(r z{|fJLO!;GhJ68ZTg6V*`q+}35ok3a${JX+QDM1%VLOzQ(rqx`8RbQF!PWYl|$mqn9 zY$3@c9L`b-l0hNg=6^7ukQg2EI|vjg4C&=X;Ylti&?3k2w6wxbsByPQXCL1PPbBz% zj%GYoRS#reRozOhr)YapVA^17PpLSs6f8sYBw4rm9^V!D4gt%MbmZ3PlV`)glp0s;O+Yl_n@Fd4{ zu6~$c_q62#%a9e@P~7VuomIa(U2+}S=*{qcW?6z|d`_(i;y8T%hT0achIkeF9$lyJ z&1JOa8^WfVL4P2smC!*qJWCT15U5R}U2?Oio#)YHiaF9%uKKL$>2^h|NV;?IgeZxU zDtniaMY;%>XlS5Q=HWe2fM>hS1b~ z*YbM5qM$kw^ao#*4dcgw@L?%6AFy~V`CTr=lPMiRB!7I!^3h=MFv$l4FV3dp@Z|#s z$rVqPMAxra49S)q(F+h}{z@5rzq;$JIF;{?h2t)XUYtO&{wO7XNnV7HaYE|~0d_si zL08l2mHQXyVFKF2B(5uH3>I=gOuuaUvl$&LS_>Z&z(Mb-d6~&A|GMu6Feqh;)7Wz8 z&O2{sT7P~A_pYND99DrW2dD?bJ(6q=enpyKBQAIrlNigZpqmV?1!-$t7D0h&Dm;W2 zSxUN6wU=@DTei8<1eHgPqOnj^Z=hc0M0zmZOXff{Hjy6Imc%~vqA`4E>WU@$`0M1g z?}=HV*bc>C*rMns2kw*2%Yn)_U?8FvlkrP2%YP9{ma!D0=sSZ62A9ZH9XZ%Xw>Sw< zK|w4Io$$CWvN$CKg`19oM30Y^f>ZOe*v`l&A@*6!1z|B5az)JrlA%z}bQ-3B<0RJ^ z7pqcXM9+D7^KL}7k1$QMEWVG&_YoawLbfqScE)%moZQEc^EiKbBYZQ@&fS=SEY7@QPB?ogr~k=F}tUjPl`1*A(Tfw$7gp5_SjN7HMFZLxVCI6a|BV(b+FJ~li^#_ zPQWRhm6iRxo@m>6Y`cjZa;C%RDIJga%73av#WGwQr=0c49H7>_2b#*E4d4RdHmnW? z?w~{VAgM!C3DKDkbp9z(j!)5e3Kgx;@5YnNF(k#ZHSIJI;5=#7@8a_(bpC{79MJX* zD7CIj+fY!FQf?deL>1-v%Ue{-NjMMa^FpfWVy!P@1AYs2PSAYj> z>PGm>oF=jme`OjCW8x5Z)DAoN;(zEfh$~2kOTQkohv%)|KMPZqfOJ4Rg)lxBLrkX4 zfL)`G8tFV}zBrx(JCl5l^|kAUq5V;IVUIJ%BEFDht(qkoxc0IT%p%+JRhw<@hDb6 z$wkad{!pCI_=Ei38{r;q1kZg9gm)l-^77M^P$&ikkxVSJyqg?`qzynVYxaOIo0ry_dhAt_|Dp zCCS$u*XkLz5PO~mBt%`)laMMp2m&a@FmfaeOJ7U+mBDI4PS92)pLSgv+kuWUw<3Ets0KxTn46T`)1fN zY{|gJkDgg}GE1{6oGqfMdA{abJ^BcvHkThP`(9vaR#gClz!%N4R4ksY5uc*r!FS)mCSdOO~%l=@CNgh!JNN0AJe zOj!~h$@LvkHGft@aT<+t377F-rwd`hPzz>rI?0M52GfCbtXqZ_m%J=1-+^(9>UV}J z%)z@Y@j)j%clVHv$LWF=E*PvL>)$eM3^l?1Nn%dT(Ry}!T?>_4`i7`!Twl|Tje zy!?LlVd?#~YRO5*h$vq^$6+{oOo5qs&d;=ciTqbFrhmP^SM~R3IT{GZa#(66Jc~Ed zjVQc&h{w_3_V$)2j=z#`v)k40yyiFr+4LmK(fbH(-ysM=oW$8vG=id1;fHyW5|?Wd z|BZa`2WkzW#NbCEClV0luQKSm5X2kRxtizLI#B(T^zEu->h9}! z7=0$-JPlgcNBy@bhsJcQKO&9{EjA+22GmQ?@r}>RK}YK?-@EK|=kdpu2Q->Qx2s7Q zi>HeiVmYxK8{b)BNi=@J!bxE?hkmzJ?beM@K!1Bd$<%qNbT z1dL@}tmOqtpYZEYxF;+?I4*`6Sj0h!!qFdv?E{q0dE_}xQ6GjG&RE2j3GC$Iel8O; zzOHQOSUh&cMSo*wP5O{rYhjVyrA68U2*F;{n@i-&cR;@wr%pl@Z!sUSJHUYbtl6%2 zlYh}gK|2Z6AC;HGp!5PA2}3qcbR_e=Bo0(@6CDY*AnCg7x0W10V^)OnYshHU{J-?1K1e)b*jwbcN z(!N9JG((`dy66QL0{8prX9z^cFax7!`hTU`uFDW`&{45%$5K?-Z%@aaY}=@2NmmqK zl>PqlelJ-Yjt%idSus^`4STu*wYZ9dEk$!Rzd|(G3oJ)*+RpZs;+2zT`?i!pBourU z;U~(CharP!=r~4gryPPIv&4w60jZwO);qd?+?t~(J+|=iiz3;+BC_pXMhFy3NS{e(-daJ5{h*~sVy0uQVsw+mzw1Oq@6i{^>uG12FMQ= z(Jz)Oz<+b-3OI>Df6^DPlW0Ss*C!a7vrh?zT8E13qlvt>5cVO1p)QfRK%R!IF|4J6 zMBPAC_Pt^U8MeY-mpKooF0{yb^nW~2`gUoDT0U)hyhrc}RSY4Cu^*yYlnkTSZ>Y+r z_c{<~V{Hxz#3Lb@Pwt6jAj)HbD9YH(eR8GRg;#~ja@RR+?&Fx(op5UirI!we^BLS# z0pKD9Q4+#&3J;|yKpVEPtS{isvk`2)RFjyk^NW};Yp(8kUeo>VlzZ|A;(u>}pTeyG z(5pLkm!<8ra;9t}yEyYO>g9J~!t>ZJg^o{$9ZEUstP)*?T59F$V6EYmi#lP8d_GGm z9^LXH{-#RVy0Fj>G*7iF&A6&=sEUtOBqdg87UB4YY!XKfUrE=y9?pE7=1pTjd{V_x z!@G_~^13qEJHsrX7xU7VZ+~5Vx~?=Zer`uKs-o-!YMB+*EhUic%P8Eqe1OlZOxBd2 z!h81jvK*F803LKJ%5gt0F{@BwqqeL9kZQ2oB5*IZ9rfT6>%1?T-nx>G0@i)++UY|r zoksx40VF}9Y{S`z4XJ~nMClklo<-q=LkTxt#8Df&dv&Ta$np`PNPh>X@EU<^I3oGB zceJlu;~37OIgBlwRa;kZ0lc)%>%u8nE8R_xLs{!a_>OgG{f4_4c=g&Zb|zTa`F2zxgw2^MC*2 zUuPDN?XqDs$q-+JY-AClEnc>KoQXEHUYRFBWHd>eZ=8EOY?*E-?IqDDg=%g%xHZR7 z8SvvZ$CPLZ;rs8`_IFzsjN)*eYZAbNg}`-XNnF)*()GEf7JnFkG`V|y_2<4R0OTm9 z#7j9)BHLZe7DC}v&C5_1@=k5hnUT7?sftBi2bke|M1{jE%e}*{?pQ2Q)r4H1Kri~2 z#fVzG>c$Ftc5zkAmVo)qgwFu9oV7C0tTCpHA7SE6m}T)}LPO~b>PbH^^1y;D?k8`p zt$@}p%rh)tntym$Y5^6(unIpnqDh+^echRRw^x*)Sxl{gWW` zpbDy%}0(d7t}fE2dp|7y%FxCVL0y!GVM}(Xt%amtWFOv81e3lj-T#?J}utc zQGYNlfZskhJp7giWZ|T^Objz2egM3_Q9Pos;dH?4Ia;~7_m2&C&_N$Ty{s@|fai-a zxn#|h^K?I+oEM-wbzS&6p&-Xa^8U5H5wa9`6_jMDpSH7Z`tEMOw^s~<O&S#?g4va7^kS@SFnu2IDbt)X2LlB7;$0vD@I@&PGzo{EE=w+$bj2- zN++yG=)>KX*H8#sOaL7@wHvdy{# z?M6DZf0T%(LXDc~of?X~vymt)vCM|j2@mls%W?Dti4s}7IE0kd!z`^L8kD=onj?i+ z^-W8bB3oua7q^A|5v)rRtHU^M+kb-W2yOM8$~x4+SV!Uf537+&6QnI(D{*Z zp6%+}ZQRq|l#y1qz&jaf))<@2Y~0jcxAf8)cW^0P-7e-V?Q<`R*xvW?Fn=@#$FSKpvnlG7p9F>l{PAI$z{`eP-HV&|Q;_Uwc00960?0tKWp^!L?YqOlrleGfE{fFfQPt&zf%y>k&jNQ}Za&Fn zM3NN6(jz625>=yyJu|IRk(m*Z@ydu_{QmCwKI#6R{xj+O=kADnxSB^KCeahQ>I(3*RnO#oKr$u#&wq%1Vqf@@y!eEE z>&f*$Tz&Eq61o1>9eV=%O49vIMu{6d_~g(P3ULypqvTfjI`v{9Op|$<2x&}W0oG2x zmn1LEY@ttv>BGUxpM=rOO%gA75W)$pdEFC_A_k{nVe&F3z`%xNZ9IJVm(35>ELk(n z@`HW4Gx{Ck#)%bs?th0X65RZuS9$W9?abU!6bd6Z5QapEi0k_=!j$;)N$LyFQxXU- zVfyPY{}mA-iC%#5Nyx$UnikgxA-WUqA*K7F$B*vNO<;$SFbc;+poelC(oHUNfc|q1 zzd0A4CG~#pM()S)hbu+4dy3Q-ukh1^d{5w0L)J81RQiS3mwy(za`pL#eKK)VKY9I= zpDJXXvu(_mgsB&fUtpU%Py%+9$z_A`^)V3K@z_heFrboyYOcllEs0z&xfVXBaUx9J zm}=zk$s3cg;0i%H8 zsCt2;2zrRh3xBL16wr`N-6xL{nr;aXDP>GJYbDL8RfxeXgfVDJln^%<1O2_I*a!WL zDjwg96Dm_)u;s0tf!LQeaON)&nG}cKp3*}KKk}#+l1wClna$m6S{o*@9ein)LbT~b%EAA04-Yh z9ON6?AZqYH+m=5e4ZMKGAk?3@7GeTsg9yL= z@_(&@BESCf|L6}!=y9+h1?_nokLhPJp}Y-7l(or$w&0T&JpTFfr*-12G$zgye@s7w z)n@Oh8uBJ&ckMHm9 z#^LBTq9S$!e)4S?J={e(WA7Fx^>&)f{3~R0@s73Rk!95pEiUrpOFx{@TbUXY2!0Y$ z4`0hFVGmN)c3!q_n>sricD!#Cdb_lNyVWtKsX~+qrnwYj%9bO_9eoiymX@({ZTW|9 zG=IkY6LogDRq+~WSZS!J(RB~i@xmkxm@)EVfjYh~LOdrUZ{m&a1uqf8z<;40@obL9 z9E=sb6bx6CXRP97Nhz)2l(y?*B0PtwKZdkXo-cv`-vg6Ow_5nkXtqZ_jf?0`vpB91 zZf#BR9fw?9mgBAb!kG9%ZoIUejhC`8UVkfJoPF3Qent1u*P@-dhK1yRS*RTP$$mmT zBqJAc3?4{9K;t_2cl5|2C-6`+w-j@wpGZQ#5et48K7ywM;nOpLSig;eJqm-w3sM5I zN{x>@N+ACLB8@4+Ar;~@3NRDeRBokay%W%#xZ9Eq4J@@eE?TCnE86T zIwSPRjSnX5m`uEYj0K1rB`BThSf1J#Z=CGXMc|DmHbHDv9-5b zGNdYL=0=ZS5;sZ;1&yhYz@1U@FqyfDUxLK_&R(Xnx<-)%fI6U z87o+2!8KBYC0bevBFJ6R7_s zcMHzkHBjpXZx5)~Nd%B&dU6RQ++m5-kb}_{C|Oea&-*SfR^z!o9Fnvm1}x zWP)IOY*Rpb$g$=E@w zUQ<&B38ch(BL2(!!j^fFF!7>xUUL-I7)+S!Kf5n+GoDRM{K*!rv45v`ooo7t;I@K< zJ!~ri2&v!c(f3wMqfQqf z;`Vl+0BmbRfY`z7G#2ckYeOk?lleOvV#E%{POoFc&e|A}zNpR^v7fC~SRK-=T7bGC zOw=u>qe<2>m!*y)seiW7J2IE+3=_9&v^=9ZVpifz5`kD@1!ZmSNt0F_OD^;(F1D~A z97=WPR~@=mu)nZes%3$NZa^X!e2>AjFD@^a>LHC;tnvU+B};=Eqy z`kJm&;yp|gZhyjRx*{ufuX1_xn}Vl$N3l%p{3WC=8m`x5lK_kB-u zzdj^CfNJA2#=2~%x^Z!7wvrnD0EKVSDht13e_^JCgMZLU&(@XRz`hWA8=-k@h~f-P zN$Nq_;f0#KhF9&=*u^p+W&0KluO$t7z5XSv$VGzM21pOQd(UMEB*)Oj0bZV7$hT2H z`6Lmbl3fx$?C94hvf8II3U~Dv8gDhWS@f%jJTaP~_8e;g@`kjPj;4xD6~C&!GC_KmRGjKc`T`IrqL3Kfb-iEMiwfs@h*qkQ zUQ4v>mfUvdQ0h__3Aa~N6eU&XQ1A!|qWe|!dU51CfwDmdvNKoJ0I3VxBjj`wL+Mj_rlN* zM}Ln9q0?@j-3kr>B!I9zEQHQ$s91ax`?z_9q-~=RJbOOC=Lv2cha=Agyt!t(3L5}e z4d4vV!l!d7ux+Ot6uP^;r)ZQ${);e-+|eV+a1%?F)!5e}ykmv784`mVlWW9ISq_+5 zLi9z$OA^8%Y=rXLn_W0|nu$j2Jp^t7pntePWdd55wU(B|XGp!4TjAqrrF<6x!F|r5 z1cJUFqyxZ}UbV3P<8XX0SG0yrrZ*Om+GA}VbKCRFL!hs30t_pxtMChv%0$n#6mB0PkIo`0hW z*qcmJ;hP960a(heFb)&y{`-FTOx3~g<=kme!bD);57gdL^#KUJF>8oLjMPl4RN&L@ zR_9dvddJWa^|h2AkR07ml-{wEfNchIU-lLniz(~SFPH+@uCMo8VNpbQuo}!wOH(r~gE*Tqz+nq9CIZY22ew+8R3$wJH z2p9-TRcd5LzontbtQNfmr2y>~-b`R~+>-@uuZ1{lE#kWm`K^~Q72M%4B7aYim}MC) zOwJ-0Fq}IOkM?JcDufr}d6?X`k?Q{u=JRFnQV3Gx0fAf&8h@r6O}eA=GiPw+#$6hZYw8~J;Mkn z>I#j+08ry2xWtK0OxAiUQZo84j%ktulP*xv3yZmIEbmsAr%3}ziLC@m^gEd$~-W4EEA-bjxyfU33nLiGRWmpYx(*)+?K% zX@zoSSV=6}JCt(!lPKvfdkl94ies6*n2BvIdvOO1vz98f4dRdcX)S$%(}{kCX7$*X z`qG4W$DF5NVhH{sx=kp(!whyqnSy%#x-2SO_n70j9o^yr{E2#$^xq6zJs(lx!lcKr z;&ierBln25uIFbeWL{aZD(9$*u5l0?UV$v!J$AJX0X) zLHK*xy=-;~OXU@ddtn&C3niR1EWk<4rJs&Nxa`B<=DC$WxzFk`7-Ri({U}=`!uTFW9 zt)65fF4}^EzklVH2sl$PA|!Lj*wlC6NIu`9bbY^=y#Xe>Joml{so4ZA#s=5ZWuE!L zSpBZ$@+Z&(;1a>SK{zSkyUj`FE#NIyo3n}_DOhlu2^8Q;b1(=BX}J51T3eo4J2Iy zwNX|kI{nZ@EP`VylXHc(7oCpP?==T^v5{aq(tiq{R2jv^J-p4l5tXlE=Uz67JC3#M z`sT5<<;-FKE=}vImt}jv{3?T9$5cAa!TdJMH(BJKTi0H`t5rKa)Xm1 znt$dX4y!wJgUQ1vV_^2Je*b(eB#s9>4Wrgjw4Xpy>s;rcS7KndV`Ll56<_Pa#tFjD?4{X z{Z{3kGtka9t0IeUAgi*$&F8^^Rb)rC9e<~}c>@izkR?Fd~%-Am1~wZWi@qk29pebea-_)`GoBd+@b%bm^r4#MCcB!cP;%JUxtFJTz( zSJ!1(;DXK8MaNRC>RrqkNx~aQiyW5Nl2p6jQLX02Bs9&z6Xr|m;viRIOYYl!MSoK( zX&6QASgNkVjDU*bPsY30Uh0oS}*{G|Xn` zRPv+`7F(>MUV^s-WFz4*0K}4KX!ijOjiT@8q$EGOqP-QqW$erwJmKK*P=AXZtyAr6 zUtjTd>9Kb!eMLnz;hvxpmT7iRu^k(ee1$-qm#?@l(f%|^NN_C-(*&DDT>sg9fyU8H za$b7C*~9i`gc{2n)3WbZIv!xr$01Oy=($^9_xRr9xszj^ zqY1Ex5Nxo99Tgw+NTbvj6Jdb8Gl6=VAv6lY7GJ=D zICsHjMe0m$V>q+WDw?6~z!OsUfl^`|-U@$Uq(=@@YcWY-O3KIu!vVddBd(66R@0&g zjM*ukN8S@ao`C`^H3-ksAr(v%m1LU60twuqkFXQt8`KT%Xhh<-S%32n2oTT}k*T=_ z#z5XMhyi9sA?v4)(D5eVK%L4W%OTuu_&FOxxMfTGI)vMS0$G5!nhx1ylBN-B#$G&1 zUx`wgcDup)9GQ0Atc&(Ez%>ASaqb$aq-%0*1nL+5KBYle0#oN$&*>uUr9o|`so;FF z2b{f~TK%q^CL53(;eVaBElaFAs)CR_&ypU!8<1Z1JRM}xq-8r>^n|HX!gV#{f zXhx`RmmYh!I&p5QeM^;j#t^HfW+<43tHwRqPw?sN<<%hP`&Vi+mg1ZRu$nCGRw*Ot z_o|G_ZE3%+FF$rG*jPMv<37B^=eqnDhT-GPjUKS{GJh5zK-Bc%3a2K48NH!4 z_2zFk-M`(0a~duuVf62eQu!ksz+NgIkiGjgE2)=l^Hq>DsnJG=(O~K$3 z8|{_-Z~t~JB!AD;VtJDZfkcy#%XJY`jI#!J-!H+0++%o=uFqtb-no7u$4t>JE7*N0uIYCP?9RQ{Y^Uw?M z&Iy8?g1(56l0lvWU<}GGqQbQjQ7qpCB6Q)628-pN!+&TD;5rTAMKEF=E+mjM%(iga zTaev1kH@3{+IqKkyyh;%h`pKTyC{;4to+^Y*xKLUaxc6|uTz(LqH6T2l~J$k$Z^23J0~o+JL%b9^MDCq zquUxxZ+{o*Wg#~-X!+qfp)frgpvewAp@O~adGWzF)+5mkB~VImEEDovf)zqh!(1lF z8(v)u3E-fGeAx1G&$i4?r9fMk`gXrRSfm;*nhMI$FeHO~m6w1Y@yQj>6BbpWt&i9hB-Byx06S?` z$95F$1f4?E>eN$>E^{{v6_;4b)`VzD|0@;&tqfyw|C;%L94dYNLK^a>@_Lp${>g@q!sa5nl@altNc8J3 z|0l0@XbC(rjokh~SH{x9`7%#S-!7(2p??ezk%AdPvj89Jv?tyJTJ|(ySdm^r*GxTF z8W*5#EahfTJwu=il|3N8?;2tC9;0x&@2_!MTGH^UcAwq>D}x)HFo@GxbE|7?hC=r} zXfUed-1UC%`S_e}!VVnNwZ+-2Kwt{gGH4?K*clWPfPi zi*Ya{dI*DXMy(SKmFE#?~!E`0LkjB#F9dnyQKQ39CyNlx!3Aa67NE z#!S*5>AHoVigj1yYt>@Z-06JHeSgi=`wj!fDsf-ZWYsb3x7|zni6D%1aabyIJccie zGHG^G9TRE-#+3`}Moht01n46<39ODf^M4a>wtm*2Ebrd4xCoe5uOa*Jcs+~R&@{Mo zD$j&C4U4%~oe!{cp)&)Mi)F8;YRXlDwkSP=BWh4T#z( znOR?LBebk#F3>yH!vSfEb~F6_4=fe@?8O8w$Kq+2`pq7y$!G}Z*W zQ;bH(p%ZK-M-or{*K_9dy>y{jv-WFRu#f*#F#=a5)G z#{n0rruSs0xyy)MX?SY#?Fb;;mpY2vhg$v%`PM6tgTQc2_H$~drKyD2~leNCx9LVjPp)D8SER|AK5*tKNd~=#s-hWxs%95rk9qFPD zcG0vFmo`ugSriS8r@8V%+CtN+T(s3?+b~V7xmi%ZEln%+Y^|qbcz+=$m!?&AA5dWp zI;J6B)WI&AR_D?NveX*@+VX|8Jftl&t;S`=I+mnL&c#8fN7EXX-jn6?k8IcMt|wWF zZd~lhR$*D7(A#d1Wq(N^>CD{te=kGM=lN(>tBOB=&sVQ%SVl)No5L^vZE!=`!VQI! z8**P&`o_inXWZaIc9#IIQ^b+RC89|^P1PI*r&1%)O3j>WiI!bh*zP>>!k{h^ZodZm zGlO-X0^sJ&3rTL$0B(g6($EFs=`O)Iq(XIik}2Ai#E@wB<$r;UU`EG0N(a?wmFtCe z2gp;82=ZnD5F&iOw!El>=_KzCShr#?`!71_eyxfTU0rldnCK#fp^FT5+SJ%i29IhPgK3*HP`6roO$HJ-JRz|fnTwE{Fk%o=O$ z5g0G;WI|YVC>Bo$r8odx7Xa)T+RjsW#h(?M?np$NXUBUf|O>j^dTIy+4(CP<3D}S5g>35Nv!5>h`!s7n?$gw06j^V<7 zhYXa~MIeC18GPT$*>T_>)ZcBu-kM!fmwz-O34KzjSG?Wn7wRyV<{nZH%zc36 zyOZS9_#dkuP)1&Egsi)JuN!Y1nD3pnV?E)Vucic|ww31&*NGuiyS*?3Odu8<0K>z2j?Q zQ-8?4!wTzbDqouUyG9lmGJC5cwswwdrT+o9P>8B@E93wU?wFm$fHXA0wPpp}D2z2I zq|Fbm`PvH7Il?3gXB+}k(>oj4U$@kpsa&t@+0<^A-h8+Ewq6|!G*PbuWg9uV+(|dVNz@F2zITQ@v}ei+|Hs90kiPE;L-POX#0T0RD-~5?$c#yk}#U zgjA8aNDboZIL4)Dcq^&l4^WtmLl=I>{=ys~4nixAp@^n_xd+`!Xr5|A&5?B3?w`Ge zSaT>9TXrlJR&kM)ZTfFH*$;>Engt~H0)A4Mo?JB!X&}tk+iqC0X(Kw=g$=vtMt>wT z@*w{J7=iyNYt8caxb>(ZIfkk^ms0t9^r&dahKOj17it2vxQHfcPN!#8a7C1!GO$=@ zW}QT9bE*5sGRWk)KJTRA|(zEQ>4S<*E)2RiJ35COe%9 zj)+7GO*>ULFUQF~Hwy+BXR%C6mpyw>fPZX8OU z-K4=yd6TnP7qV7Ri9;>!ynmTPsgc+4QA_p0CdQXmUN}8i8w@9R+_Yiajl5|}$P4od@=8=+=BH6>VG?PXKp7gk?*$6SH*)FYPQDAO=6pD6LZC`<*RE~v~Z z9+yjQ3)u!VWN=|X;+M^QOQh&q22<_&P=)#eC3}z@APcWQ>kjtf`+w$6=a(d+QN{iJ zrZR-x;}tjzP+-zVy61+i$tfg^s+%8OuR9Mizbxi=EBza_<4A_oue6+LnrPVa;GA2| zYH%Sd%A6`8rf2fGHlUTl2_R|US%qm?FxdS+D1WMzxiG~##nvL6FWAa? zAyg515ch<_2n&tjoFF6L(9J@*eF%o_!aZ5Y)WPJ1DQ@@GXtHy&S=}e>#7LgK5!Z-x z-RyTP$*d&w6xo)n!QfJ6%2j46ijtvNa(|hIzu}AfJ<3caT^bmcS}A^zq(MhCtYd?d zwY|)WspfaF_kRy^57ni4HPt5FrJAy-EQFCQZd>vX2w??5$l8*sY+j3Gv-W-2hnsfT zj8^9KcfTn|N3G_%s(s7iXjqv#yBnw7Ixk9LQpHt$b-4e^o)7{0Vo2`w1gU_Hw=VXW7e&*YX;Kg}xw@IGv1g&1`XIM`Ct%8p2d zLh$13CJh8on1$oiCoz=su~vn#7mw07&VR58$r6@m+p<(jKC*S&rZzAJ>xJSk5t&pa z!hfE+^J+KED}wCt;5CFd8lil}3a%ENjVRHXuup1tJ1z|ZGS3B!HGfQWLF7|b4qWs=ZD#2y0~#jqmFl0Y@oZ=P zQ>#bO1q>;mD)~9}C>;ocj0ZOYoB38@PU(4IHg)Om0drQ&jXL^HRzHBQ+)H8r8aGuR6U1%(KJU?dewfL-)_=)zd{0CQ#G+N`|gr>f1P+g7_UmzC7l}a%dOE?Qh&pr z1MsReOLYd~D?j2w=)EqJWXaHb@&I;yp(ap^>&i&#*&Y4-2U@Q&8rHxN73HGIa*^1_ z@Jg!OQKgIF-KwM-1xiz8#gu#Er5b4~8!AS*QJ}Oz-%up;ayGUyg~t{d{f?^2gG-o{ zYik~&(YVsGHKk&}CB=NbQ*>ZW&^DT6l1yydwr$(y#MZ>vvF(X%+qP|UGMU)^=l#xi z*80!Qx#=$KuIh_gz1OPherg_1KImT$Iso-TO~@)2dMY-cNeVkrSIS9^%fi4~ms}(h z1(6RQF2nZ8Tjmr!awpG(x*K9KjufvtWad@IRbXp(NCafjaSN-XMARD3KN{MAX7nYU zqirEykT;XB6vW%+xDFCaEc)r?9!SR8;p(*1(<>PUe_htnmW(gvR+N9HKwv4d0l2u- z7J1{^df6zFmVnB%JYAZzqnsa`kB^x9ac2ub-=C2?y+zop1l!qL%-UiZrHa@5ZwTsR3;_4CkK+cz~3?mQs)3-Ov9b)Z~M(OPtWL92augtuv?+84>9-sB7^xuz+%Sxp-;z z@J)!ExB#31^$9d8)UzNO-Gi0)HUf7WhH!Ub*gPV8i^`0>yBGWJ4(H_r-4f3kZH90V zmfqx`ZJb zyzBT`I=UE$_{CW4{3uB!z{;-phEgXP)Rq+vk&Fg~prGOBW(b4dFfg(mG-kXt-C^ue zLfNX5C9pWX?o@Wf{$rBqy+`NqhczjnLoz^-AGk}@ zpWYKv_b|r}XTC>R&=h@^pMzdvb{2IP#`u+I=>6$P9#Ie>)vhXKNKE4lY03*c7s8%P z4ZMU^#)j{P6NxK)l^pJd8jGy!yw6c4f#*;(hAHo+&lThRtxbyW@w{0LW9#oVzrqRe zlM|fQg52$o3z{>QH9xl~>i-HRAbXE<;*v2|5_$Sc^6x~45HaiS>Pe!mB?QLp3z@L| zuSlnPi7v~vMKG3%!kX|OG@7%&JH|k3+>mSrA6<-^PbbTX|F&|5y59Uc1;REvNvE^F zrA9ioIDO#Gx-yCK5!?1U0loY)8a0J%rqEN|gSbz@Dc-FgFNZDBsx$0|IJBco>5;Ml z9QGy6;h;)XgJ>1FGVw=|rNAqs6O2a&O0e*_85r2?Qw1+E_khf=Z|?EX-G5U1aL8d7KqSe2tu*LlBZy#n; zVIre1O&B1yVvk{?qU51-WME>AqE17zzN32b7kN<*{{;$LHqJX9Apl^Pv|2L9*Tq3& zU{}Wq4IWt!peW_+@yY4H?6!rNIu#0@-&dbGRqyKYz-PtruHdyoK9{)^>*{k;xHZ4> zOF|6GX)1q1Ii-lrDvu7g=b0;KYfNvBAJhcpn(NxugaJ$|KWv(|SFL^rm`pi1OWtkV z)<*Pjl4N4cTSYVPUjeMTvSsCapL^2z+^{u*&d*K$Mj%>5e79!vEE@3N@_IVy!=h~~ zQ&la7ouvr1fFrnf+bL`za-Q*;0&qLMfaMSzb0yah`-o?r!U6>M0t;r8w=4Dm#&OvB z#jz(##SbaEi`8-Ts*?PfOg-P(^i?<*R%+_V+{b9y=N#N9Il!B%WFVX7+v6@;WVc%D zv(~s>4L+~Q*2TI-it5NK8JvhQDEX3JhlDBY&l64D5apavw~KM8AWKYeM8teu>1kP6 z-Lr-lZS}jDv@Tn{Sy)lQ+tuvf1f_Lj501y{kt>J^y|Cxsa*MmEKogu+Z3D|k%&WXL zh$%Th`@6h7sClct>gKi}Hg)I9SEE--y`)!gE525~qUwdRtOg?g_+GzqGwg)aO$}PM z>edi^#ntKkysAXX<}bS-1W5|$M1x2!yh7|x!fGJ+7s;DUNTF8{uLyyc2+dlN^g{?6 zWc1FkiI1RIkuAaDuu>C~o9<=HF zB-1Z$$Df}MCM}Nmc1(&+#9aFAk`>#V537uvZ^5_8u%gZ1plXu3$!IxQB`Bb*5|u+A z&?h4R6dl_sbY!@QX$nfTix3&*y%&QAiWDL>n``&57X+Ku{)9m;or-IMXnMz3snC@C zu$+BExQICv`p`ThFenzdcVe0@EOb)bWe~Pp@W3+2B1@bzIp>@If>~dYG(>da2aZ); z)|z7gtTgve``{mIeWe>Dq073|79go>N40=wLMACwciZq@R|zx3YIsC4 zhVh2V&;&iYBF>w(g@dS~_1nq3_S}ywUB_0jdm|V-9bI;b&W(42_(WxUn&tQch~HFg zGtTSk-#Jnsv$bK@eaZS_(J$J%?Nc_gw?9=wu9DZ)ZQ`lrt&2u7vWTVjRZcWyf0CTvz5FE#$)_GGLQY=G=R zJOR&BO)|$+4%E;zwX5&PUfC9D74yS(%=PSLnIXDhc zWiFa+@BGnjWWYj~ufmeZXWy>$+zj}K8+mip4P;wG{>8_L^i`|9S8CpDce9OgTKy=W zSf@Op3dk!Tg2Bz#vurqbIng{MTbn`Me1eL(X&v_YyvA2>XhHwf9%(V)Ok)p0HF)iE z=4XWa7&CN}fBG3TIRNLKW4m}ue0w#pv7gj{NY5N#YmBsm1*5+GDi^u+hfrXuGwyVu zBuZ_2ZOav!RCG{>}Gh$Hy#UpR4CmMZ(Y2D)R&WM!S{uol)1S|Cr(R4 zcKEVZS4;nGp6`HpGR@?0bMbwGGhU4>PI|(Hhhs$zr!^@T=qL{ix4@oG5%V82Qv%TE z*QAnZz!sC0MOaB{Suvm)UPSZAlHMn!B%LQ>A!cAR27$f6sAwt=G+9>CgJQZG5Iv;f9PNoEob;8tVWiYv zy**?tJLq4iPZS>JBPJOTeZHoH zJRzM<9R}&8ITBc-Jhn=`d__E42T4X~sJ(;! zm}AS>=Vqi0oGGWW4okrpZ!aH#Y2boGARmE_edElUDb=uCa@bE+1zzb}!mu{)@>{|j z2AZ;0F+j3W8muf{ih|DS;C9GdDmB09C91%)tpt8^#<(U+PIH$&A+Ou2Q*`7+} zdj6p}Uz5w=cA7JcyVU$S1fgIf)y>J+@`Xi0M*DdFe1g^gdj3QVWYqis|DE{9LO3c} zOwHo7)k}%I4&k0J5-=T@WRsXhtHRwXl=uQrfso;+jvW0O>Q*z}@s)%3Ex zaMHf^Aeri(-a_00dFN?~Uo;Jkk1OU%VmCczA)Q&%Cxj87TCWU6Q?8|4IAfNClEPGe zCqm>4Pe@&(8b%hwhJjB8#bCE&IF#wX41RP?i7Y28w1NVa59k+!=~42joC?KkWv`d@ z3yl{>mKVKElpcx!*D0yyt0A*WLXE7yg^<8;?o%o++CT39e0P)VMxdJ=e7byBs*UBv z-+A$H%hPl?dd&f3YNy9atyvXylBg&1b;n}pAYz(nr0+Ibglb`Rh`Z5cg(JlZ(luY$ zz4$7z@&AtX1Ej!Ccyw=eyJvM&K|xtCEBT)Zo@(4@S%0^Al5IFwBxGsVE72~s*57I0 zkz_V;Gslr=!DZsBLnP-|*_P89#mn@6&2~AirRMopkiW1LXLBCBuI^;iAl3_HjA(Gm zAI=RE?RJXFZ$9lWwfI!ucVnGsSZU4qMB4bKnmoY zst@sMi)0Dka5x!J3Lj1VwJGm3T`qDct7)l*d+fb3c5Nl6B@80#!wTJ=u9YGn$l+ao zc-R%F*2E-ybrQ7YtYvu7{CiulOV=`KeD}G0JbQJU(%H49xNW{(-IDoFVA9+BzRCIZ zVQ2_+tv@Y_#a%F3hEIQ*cYC|5DqxRy=b5!1QNQ)h{v!vz&QM`8Opra2>+YfB{-WeEe-lV8VEOTN z8orPl=B+1qW7+#ks^St1?7+F3a1yxQlChi*PoFWw&Np33BcrUzkQ7 zJicB0^u`*!Fm8NrxhkuMIlXY>>EC8^Z3;f_^y?-azGNK9B*8ia&dCL5+Hp8~w-n+k zKe;x0eBSFf?>)^$2sGGGkl*r2-Nxyb$bHW=DoxTf)2e(7@g5i5KEzdj*|273dRS$I z?ey-v>peR7{SHVK?sy(n&HTn}?6bln$c@ec%s1eT_%Y*`(_uV?O)G{?d&chu3c8s* z`Tcc6e30xBoYnIM4)pU6`1*bgbJD-PUDjoUFX)mSZw*JP#$7Vm_4;n{ z-)F9m5q3szOOiZY9oD_O@gnpl9=TR->bK^N+=0CF^)-e8U-NN`bDfcxUV>SQ)7oQwog zL>NO~s1E^Dc&(LpWW(rjN7R0Nwit`XC(DgiU-Q+F4YIy(Idc7e9ocq6sCZ|aZA9-6 zC!(IW!1z6YcAc~2ESm9h`23D5ug!M*rznmw!(vCT_wS}ds-mHk$*mWUYR_NH!4BPQ zxQUx~OjVzCubllT=D7SZy6~agfsWi=ylMH?KO9k?sah?6J`Tk`KONoQ?`Ms<`T3mo z<#&C5^F#mk6F=#sPgsB>(6}10PcJ@MV-n03xS+}bI()G%OLJc%y1tb4(!NL*Z_U^4 zcOM7e!pw$sl03YlTO;?0KDh0-PO<)6xUFM~^F|L6K4CSs%mn&0On4N~kCRF3 z2%@slIx?@f4%Yg1YWqp5A+jAPJAU#&^h$!1GflsLYp-&T>lApxcZxZf`fsc8NNQJ}^|dG`ed%%kC(z%(f>7>Q9ttrpt3wZ-iZ9C$|8 z_k@HWZykQrZ^1+%m(!ltYiPRlZ*UxV;<=zj5*H=V?0s074l3S$p(s;RgnO*eOnq}G z7^a2a(x&?^ToI}F9i2aQhs<=OiG1F1YTh(x6eYLan%Qo>LGMfy4AJUviUU#x{Zwur z_}JGYgFW5Xqk#0B4he_8je)fylOTH{{voEq8BSHsZxGiYyyw|ujY1%A6Laj3ONx># zWERSrF9GmyL|PxRQ>5U{GivO@rk~;x3AGl4jZ0%|vK;*^Y}>293S}i#Y20 z!m?tb{OCE-kk#qeUF>t0P>iBx#Rlz=)^$)*8kVqhJY_L~e0D>3;Pg6ly!}wx`F-ZG zW|WB`gLuWi{r9&OHV!S7OzqH*GU-^rn#EYM(e%oTuBH1^WM=S#(4-jPTZj{FDD&{7 z`isJxg`^IYB#P?@MpKWn*kfyfVl>drZ!F(&-c-TFzI|k=QM4+_7IA=`#}#R53qunR zS;{ph;Mqj5=|IV4&ZEeZ5F_Xch-8$AG%K7YF3ARS;9kWMU#cOUqnB*J)ZF|-K69q9 zYDR2R9K?xPU1SL|xlIK9xBZ3`YEfPq-D#4O=GE!}zH1&0Hrn{w;ZA%&`uy55ArZ_{ z-*hR^I6I1>WWsXDb}C40tG_e8t!a%Q{_|Caa6wW|mqdC9CDBt#DG2?T4qh+r$A&l+ zab%)A-XKk+C`pmd{G-QKn3SU8;NP@jWxP=~LspbK3c zIEYBTjpAWAL@3Qt-F~WjpN7bN?UT*D4{-#t7v(`gBOSd9%O#N*D&0}8U=S(JD zof?F4#JD;W@~8uiR%ms4qiv&t zKMLKzd%Qjv=|J3!tbp5jVM4Su)eR3;oE;x=N<|n#i%R37a%MDj_)2aZl_8O| z*f(}rN>rMLBp`ujKtQp)3x86F%hihAhh}3|uoI7zUkz@bExbu7&ezJVwL)W zXmzUshZaipBD6(v%Rc1lux(*>2*-R&a)9xMPKu*hKV%J!3VQO8#*_pyO(#-y-+HpV z#QsFqbP+}R>Mw5FVOtD6(G5KDFD`F)v;>MWmso5-W`USQYoJM)g}fdT^@pR}Ww0@q zpGzWnm7u}|7PH*~TN}d(8n-YNaV#CW0P#;56{IL+eeNX3A*HH*1)I=WT>OxoXT4CB zX$g~HKAxI%Zc^M(_kJW)CJ3}hV|}8b16C#r8|EsP38T3EtdzCbj*_A+EMkYiwKM3^M54} z+UdZ3xmmOIy$v2>0?Bg*+R#R85h~%~@YpJr4CA$tPFq?}6V+JjeLncZ>L6ap0}7|+ zvhtin6ci`dhW)Dk8{GD)@M<&CqA3r4k%S$5pQ*1*^ zzC6;gO*P4VLbcB6QyPpE<#2|C!k>%;Q)32uA#5UcyrXKOR;)0OHL;KnZx!AYT;5XU z99Ew1kGATLQ#s}$Is{!@cb`}|NKofQV`OJ5RaNI|rL(hFp|+T4ZxZWe!2M>~Wz+@? zEP2p7?W}>{&ZHMApTS6~a$gQYL8BX3E#O(a%bO#wresd>&rs>IFmP4;5|#aJrZZv9 ze&i~fPhPX$Ox6W|Bupz7Rc;>wN8gl6Z-%nQiIV7)wWi|X?~vHM(SlREq{O8q{BvMk z&4!9(cWjk>#M2%h0nT3y4(`BS_H`Q^VX)W96!|oYf zhGeP3ia0KVCJo(J-Q|#uy9?n^^?>!Q%XPrjh>vdGaY@9N3OJ?t@g@Ox{Cot=B&{4) zZNTccD@#cYoX!|%gQHp+kvvD#a<`@(2rrgZSiN1SnBizDMPEW#2R@bt*Tw_3O= zV*}M^b_%Ilg^5KNU{6_;okJ^Wl{X-Fy(4A7^{69cCScr~>Yl53Qi<{wMt@K6C0p!| z#fq#2)3VGfZD^ep>YD*_F98}55h>d(UH!;TO$`OG^E$B(7vjK#^L4E{i8h(f2qC^S z1)+aV6-R49lmL~$xE!*Dz9lp3OnYN8J3Ts|)p!mZIewfqg-u)<9#1a!%Y1U;h1 z80OzHas=PTaaT}Spq?3o<&H^6B)A59i-?Ezc*&Vn=R(|hWuqJlM{IwJBQ&@^KgE=9 z6@;viGuvJJMh*ed1DxJa2Gir;<=u zABqGVnT@(&Hkt#}$0e93liQYrji)X+PV|vHkoE$77o+=!0b;z+ZoQIDJ1?dzv=f zb(XV}vE)$W*F#?md)E1}bQyNJeB9endF4kZ?>^YjHK7n#RM>$9E49Bc8F{9^83DCFHy|c&E_PXa=a{+ z%-D@;22B$_w95-N|8mKswnL2T^rO2XC=AIKO#PQ$ux|cXW9;=E02Y6m4!p}`tY!}X zsrxH!kh(ei`EcU)N1;|ebN`XaZtz82Vep5a=uGq_VTV3p+|>lh*){>L0^{t4p%2h@ zCMe%TJ!#z0wRRPH-0>zx(ii(Mv$$A!>ExZ>h}|A&XGhs{kR2$nT}Hw$R8KDk%ag1KHEIi+J$d~-q)^YShC`fpzg+QREXbYhb5Hlv36zO>hqXs_e8_Zo;2X z@t&f)=LP0L%CMIDu0nUpM28ikF#j5v-8e@%k@d>z#F9>T6glFRt12|Ik4b=@ zk-6u^AEpR@&Fc?A!7qrxPFjV9)VgiQZ8h6c!M$3grLY0Ha?btji^JucQhjWaFj{Xc zZIe!sa-f>(?^LPKUobdZAv;4-c!V~=xrw=Ava*DQ-OZ%Tt+>gcRTcU6nR@)@Cz^r5 zzmm};9VAD{U&o?J7YWp2%N7CYAKZTB4;)k*RLyxPdLoM>O{?To@s@=xb?iZ*@>5CF9Pk^7ALomi4Np zL0fpL-}Ce5tApXmRn>W=-9e}fn8VpR+8=}KH$P!L+Gb&iR@V! zU$>IBfHF1DqvI9OGgT~hRqO8Lk=FfHKrD9=hTAkrY8oY0jXDruy$3Ip7Ld!C<#C#3b zcJY16?VQN2U5jK+2hd82q}s7u48FBEq1Q%5+yUxP*uL)truI`}g4lpv57=;P9kEo& zjab%SZL7uZHs~HZt5hm+e-dcTu|R6zx)2$4%B9j$Q!|aaitW0hx*yxaN|vJVw@YA$ zw52_ON@R}OgjA|wau!39qYsW!TA-C=QKhAr7LCm#D`hJFo zf~GSkCp~Nv0C+fXMOFghH#21jO6HS{xRfe9MGG}nX z;`9{=d5^YHnN}!FU@=mu=(bYb8M{Mz-B{<*QFr|}3FP47r#IZA8Rj>^P-!=UCe)h4 z9C65+zNepigjTKRU4XLdnj(620^Yyz|0eX88zFwn1Y%>IR{BG&5OIG5aR1)^tPbGO zGO4kJKiaE5^cQ|Yi2fPC{-4;mOqVnpiAq~ElawoahW9=u>Fz03bX5Aev&hcsO1;?* zvLn#WVg`#RDLD#Zxn(;vpLlKMuhC|7L-`s8)?A>@_ZfHRO*fo{P$TWiAhY%7d{b@j z65>r@B@{1#7d}q3jt-utBDFc0o|m{WFk&ArI%5W$myUWzb z%Fi0a_CnW&5hNZQB^~7XxuL+u^7!RQl!TH{3%7Yy=)Bw{%mYZjXLevfyB&8Suz>$p zg-QiAJp;&gPT(&NjPe$*_PCE@MlcAwn@`u-fnQ^pEE;{o~E{?gv;xQx|o0#v?{9iGW8-NX2R;xkDy*Rs?WiQoH%l2JOg z9Q;_lz!TdlWo@arXrU-drdQmC^T?*?jxF+IblE9I>*Pp@T&XAroTh&MONrdBrYsR~ zY!h9;`0)a71v{^v$jY5fT#X{jE>$U(hBI^cQ)}l;i$!STY|ZrGUco{}7m75cPKYwa z!kI@_ha5E$Rm&&kx9uN31&c}EY%5KXLFCe;V<;KeoxWd5<$)AgA}ytYn;cuEwlu|O zQomS|1;}j1F87Ih@g>IpTo+FM6j>n#q>UJ{<34?jx_FQUl$|u#f4-+?@b_lltg|Qq zk6XuDay9mkm3($#5RF}JB43xN@h$9HVBhn-6f^F7y2p6})EsHbdulDtB_CQsRN*Ul z>D79>h3)=zI1$xJm&U$1jlaJn)_W^`3y`&XRKDU_=S{&96^SMcX);QRI@|()t>K+z zcn^1zdk|CAVZv@-sN?>-52N*#0vU)&#wNIzs9bO#s&%_iGFY-*-b6dtn&d7P9j~7Q ze-~q{r-a+X&EuHlra97cF!Ni6)hfh;Vbc~)IZjc?0>pm&TSwD(X`>x}_ z>hyd_%kAJ7xvftsKiXHp7H9m6i!=vnXOszc>temo8l16BGZ&<^+ZN3F{`~#ix{ioC z&Rnr&gfi^->tXzyA#+-JJ~$Y_sDIGK60y4idV zDqc5u-W>O2(;^w+2zA>85eyeQKDGC8r5ikobyUOi;pOS7fOa1ZgYqSmA1(+&{dXpb*an?;0@LbWW%-!K&LU! zZ#9hS{{h@HV~~trZUhMNHwk^63%0mbFX{xBTuO$7-sC(aHR2KTNACqjU^b{1(z(&gIHd^tn9UKIrHqHkbDMdUIZmUk1Emp&=r4mY#MROQIulk4 z9D|!PbZ=^Q+PHMp@&Z~DR*M{yI{2Jz6MtQb%*^CG%^HkV6n?cp&%2eZpYlv@Xf13U zkrrif*r8@t%QY&Rrl!;vr;O9WW+o@#U#7S@6N4lKP!7OT6zuN^x$v!;%LTB!$|QX) zrp!uTk#eiP09*MQ-<$asmL1K_f*f~`17xa*xHRM!3J*XAoclo{4!f;u)ZkV%?tG^c znk2uWHdx8$b44U})9k2f;tj|!(>;6&sB2b>RLZH*urn`MXLz*_Ew8-M zJE_wnqgIyJDJk>L#bo!dl~ztn|^hw*7OIWSep~!KGfq)}^pUx|3+Ltx>FiBAwI$ z!MjY)o=^?O!D3YiTk|f0$BorV^7CY&hN4F!B;1gG0lFYn+R|9(^e6Q(g^nf!)k8%N zsI|H~HIPKb1ET~;x)PXXLoRhE!`3UzcOx`t1^qFwplh`*NLBX_o&P7Ucs)1x{?ZKU z%6P0&uKKe!$Y(pRV-*{=fag{p1M=vFfxmXrEx8e}paueEPOGsXbNWLW{VYpvRhcCE zm`6em(HOjij+@)}qfaeY7Q}Hi7M~szbKRc+JxM>_%p!Ov>!Wc8izF#}#I9`lg+K+i zhSAnW>7uO53){q>)DptQs~#NCYCOGD>Cwm%95T9IucN8XMys1 zmZX>Ya;L@Db6j?TKwZ}a_qHXiGbkY-$uFT*Ag2VROvPlK88E(sGR_=;%Itw6LxAr}ey9V(zS+`#qJ%Mb$0;+d6}7JR-FD^l??m)O(7 z68k4m)S-{{?xj+u0CsY41Fc}UnKa207kU^AaI&rP z%BLuvwq69P@F0_YWVXV*+vYQvw6=7u-q;vIq4}f%YQ}p-0 zaJ5>-zKIdT-gc%&6oXL&nBhKBPrLB%dC~P+TMqUdMC|#aIV1kT9*cEz0QtJO}rZ zqs#JFLk?n+&?*MPQNFN_^S^`w11ty#E=U?PEhs)vw4&>n6TR)(O#^a zzhNZDSL?f;d5-miy@hmB==rIU7;~eF4H_lTpF3AEmht9Lbw>3{D8*c5N|@ z8MTw!!_xp!WX~!{JX)3dH(pj5q+-<7E@*E#Yq6?{w*kdNiuw#PND=HM^oXE5S0s^LPW@AxJc1#=S<1jD8bDvr|l52V0`YroNSYEN#WjQh12@Y^U;ZcMg1xjn&E-(7b@IifE>v&ImPPZ(e@@6ayc*2*9>!mS&@+D(#-*Da)}hPm__3!0^a*mZ_jf$Ow>q<_E)RXA@9wVb ztN2?-{fEOuSC+9WEyJHIJWNihGeQMdEnC3UaXIdX*DR8=;Vt)OAuS)H1IK!Nz8L+t zZ*HDP(>&HN4Qta{ozNioZ;G$N7Hb`k(zxF5O*@~HgjdlUNzPGVpfTS5usQq#Umk7b ze_#Ryldwo~c*F$oqQ-YF_kEu3A5%@8X`HX1HlWB=(ICM+iGCf3*sI>R^23r7DBQBhGGD?#Nq_?j9yL z^X`DaLuMI((3&VOZbP`AWI)y@7LQJJikJkGv@N{ zTbBgr6gLiAuX|M2aCV2e6ti*GRF-CqmDjsG8Q_AxzhudmYqYl_*_Jvl&H?@%l7q@i zh&kfMK|h6g+H0`tm>s9e*kwqR z4df4W+ex^wvVJ5>CBp7LcD1xjhW0F;j83WJf(_sMC# z*sRlvqZp04XvMvQ?~ga%wzcf~yr3CGV2)F7cDx&jh9dZzw&a3kqG=coa{Z)gSLUL{bTI5V$fKBk#0Y( zma(GtFz)x{cegpoJ!3--J;(^jUar9F4GD!DCzA%Q*M9t9X}Uww)*UM)E!5$U$xp9@v?|j+3Huh-$@)t-3!|VAHI1LS)*1gN)0dV(2a3?h`6dYt5nE%q z;FA>e#Q?0AkIQK{;Fpd#`H-BN+O)Q`P$9Q?$R*$;MjqasV``!hfg})TGNWoy~i zLFe__|Kzj>zD{dHc3+?i)?kC;zIXS!BJvQWhty#5`SLw~I{JFJ%|)P6I^qk$^^FE; zA`!md5q`Z80>BFrWvxIsZ@e%Ppfx2xFqLHb0_^{$%9-vTi1_-~FbE_f&bY}D<(bus zM~7?v&f1d;7E_k;rX=TzyjJqV{^{PoA)>+&nvk#?yA95w5&{b4{Zkp-XN(!{puII3 zyETnw%V1zkUt%9_h}rgjfbtz97PH9KYZRq0gfnV@%SY}L5?9nFSi67KTmOA^U=}MY z9bo<~3#VYQmxdk3I&lcqGk$lY$0|@tO*nh}yi^G{O5}#>Za-8!`}zRYeNHyB6>-WZ zX{1q}l)QZo_AvkBasN&gNn&OxEGut`SIH573hM*2h43Tj3%vK*W$7P&s*t|p;5xa- zPYpkm!rXaZF<`;)Irp4N>R@K_J7tdN4lo*2f9Sn9#_O->k4lMIf9k{MagCu=df6v? zs@vuWCYEIgUa#eYF$objN9jZ95qO^)`*i~X9=1zKa(6$!eKF1+|9@I zQS&-BBOI;$%49yD7f|gM{Eom9kZq6yQPYDQCE!JRqEmU&KGBSy#_~F6q)*6Wuo|YY z@{qsi>TB6ngP2`?E}AZ%Nq7r}3FzqR8GJ?$HAlxu;KsaICQqlwNu));SgH;GBT)Yl z{`OOnK_(^wIO#ao(gVK`Lh#nU<1}I3(G!yXxuGXS`ELOIH*h{bJg06xdHGCEd-C@j zuXGaZI-A(dq_yc}&nis^7S*TnhZ>^OmU-ZqXgfsNA)&^HE6L-7Sd zfwLN+<~^pr8i4ThTQfKN*B9TJ#$ZC}O>U2J=_p^K&CSsKB6az#4e~JXOWgRbA|#fb zzxUzb#5W}Urv&XT@IBRIdp!W_WO-|J)Hb8@IbGfbk+9L~a?gdOaalY$vpA<326E3gQxGB4QvP=}Wy2?hxVQskRrru^&5%&NKMB8J*S_V$px{lB_ zzOzLFmz`EmRq8Zt>Wy`chG(T|vsZF)h|cT&-}PAR9#8#1s8F-n7;gQr9>N}wRf17z zln`*6t_k3&UW%stefbBs`wzrX8L+57qWqbYS3XXuF}Odkcnyps?KQ(-NAGwa`NA{9 z7+bT$93uwgmYChJVh6~eF;_emqIV4a{Lc(8)ULrG`}-@4R}8dd5RJ`EW(SBwxk75l z73QYz!Dc70B40jWyA(tzoi7|a<3O|pl0anfC})5l(pduuXy(UBpvY?v%Gm z24krz{948%#qfvA_lQh3_J1x1VpFE(R@DRV;?|aj9X3r?x8#x5*xixq*!HjeuWj<{ z!8%W3(AUwnyh)JaQm@QuWRu7LKMk)PBPjwc#Jb(m5ZPGo%k( zGmiq81*70c-fde~NlcjpVX3*Nu2hfOSAqk6ttWz;o6Ewb|Dwk>GS`5Z^C^ZOt$K0B zjn%$m=M4Tuj_Ge=4r`$i2FNz@;j!v+4Nlqa!?8Aouue^3%s{5$Uq3@-8+nVujV@rE zaHT#%W)Oi!nPG9ySCXe{3V1lvkx4ug0hS@@TdO`t$HDl0{PDH|FFwgL8( zWh}5J;wc~Wtl}vA3TvXF6D(~ESUeqor_w^W*8%pG>uFeYQO%OSowMUP`j$E z_A9EsV1n*{EpV+^=9MkHg+|i!8cHggF}R|spZusQb9Tp}t(Y44|5!*UnE0RN!2iA8 zW2PXWK;{aUrsCZXUp%FK>3{8STmA3uw6XqQLlXad82sns|Ju{ROCMw;O}9f?+3nkZ zu2ue5U;kTO(S~MO%Koas+f*fh8BJ1-@9(T2Tqc3O^M_LQGE(JVM`|&$cl(C%pT!*TaIF zT+G6ppai~V+bM`j3o|-n{z|WcRF>$Gf>iGGNSzZS8tY%8^vbfff1-5E)peIx{!=@v z{r{+eg48e;Rpm)MIdOUyCUn<9Q0>W*o-#9yW^ww)3QB8g1rChnseZL3mhb<4WgVgO zL)Gw~-Hn1&?Pb(vG<58!|Ho}md6^kPvlxASIivM2bvxzBsz|YzLUZ9I36v89PM3i; z%xOr|OL5l2sctP&or9ekY_Aga@=)nv1& zu~Ojq$1wlP?B4Y0jb|kmj%Mdcsin#)g=PyzCZ7LeH2;rr5T>(ToFV-u0Pw#N{vC_+ zDOL1-#&S|U>nR*_+dn4ZzfIYHm(%`J=M5Gsnlgz>yxTrCr^kBFS&y~(qHG1`<&W14UIaJCZYBLRU2zp1}m1Tcn$zd!#v5o_y(Mf7^@*#ns=Qx@$n?QIC> zr-YDNaD3pFCC5Fp=8!?bnz$bLmZ<0?!>mWeE3qZj#xHOI(^I2UF4tq9j{{h8X8w@o z!JS5Vps<{}ycx3h(mhkNgMnW@?R&s@`YVt1CPI9hd}t}Qz-yo6G{bY%u|nrKb3xfZ zR-IetUnd5}vDg^(L$bpn5)->RHl#Gy`irh)!#n&i20P^%#P4f86xrS>(0((!J9_nX zDw<*qqbNORtS48saRZL2?T4^o0?S@fQNywz%V< zQJ~*F5mvknd!@o2AhI5kA%MCnfhE=awjUP*-2g+X*a95*!u8kZ7lI-4RU}4kQj}Zm->l9C0HMG(Lh!{lg^lQf=%W9=+6UX`zERU8#;QMc9=)7C zM;K&wk@`l>jY&beZLz)rjIie77jj{aqF+Uq{d?4KY@a(P-FncK|7ion-YZkMcKO0x&P@fc|QE=AYB^qLMXl(A@iKBti*M%(LZ7$P=^}lW$PfkH3$D zkdLvX%=9%bVbZ#iH)K~2q+#*6u$%0+UNSfLL8sGK!t+$06&+Y6+i6#u6u`lZReT$t zUaAay$fH?g%1a9aBnh1&4*NteQZC$NvB$Mv?x#HGh^fekaUYw95{TZbSn|4(=oX>N z7)303gpbY|Og5wu)r*)}uz5juW}o{TD;)EuUKpWuBo--3cg9hbsvP$xqN-}>X|ExX(Ij=ZB$LJn59}nUogU?+qC-m}?cK+~(05Tc^|yPl+z^ z7NQ;5I;5e1@|%~#vDs8?wa`z(m%;uUq}&W3!>bjIfFtyLy9r?&-h8FgJQiEMmv-A` zS485i8GhdH$-=lFGRz;XjhPn!4^8S$#gc6ap^uMJq$Wz018j|a5CsZ_lnL<_ytnVx z*8XY$Ke{$JCcHY`!bzXYy}UHjare$l-Jg^p+i$80ZctG$RU_)0UH@~dmQ2A{(n?a) zpIAw(+(u|SK(1H;6s%3rxqYL>mxEFWOXFGq~?<7&!l| zW9zW-U$0keqI2YcEm+!*DOhmq9QjOCx<7!%sDw4>TAazz=DVdhOhi8;kKyoQnvD+# z28qOf55s$qz+>|&?XT-Kk`Av?%53W#(AGsYLhWm+34v^KgSk!kJ_fKQc-RA8fAhbgIL!)f#H(i%Ga3MRr|9;-w-UD2o? zxw+ur)bKHgP?W!Lys_cFDDpd3nB1TgjpC)Q{7{=i!JM)$QZA1*91w!b z*qgtDIB%eWZ2>ytZw?%ycW`g;hU#e9vvA1O&>FEbNXB$_Gc71$fG8$_;|(LSxhYfj z>yW@wE;q)QOfEau7_Nq*RR3q8`1hstebQ%Q-azsqf-&KZ^J{cA$sjXB&p5 zs_Dz9>|yMrIig5aPbpT;nY|UrQ4V0^HY_qsUEIb)KaN=5YFup_A(+l0XfycWc3Qc z*n9^M&yljXL)v<7Cx>C`oAtaGOB{Um(hjcA&$`gWTbkG3Idic1)~f^;g}+vZv(PX0 zdvZ7qU<(>h@(X9BRW}5^-ezYF_D&Hw-vy`pAN}DFS~HJk0xN)eTj~8)(_6X%Q@u3^}#**b%q1`;1;MvVW7(GE_OMMmTqT z4l1;%sPmT+Rq3J_VO3BUS_)ASiY#=AG!Xw@m5!6sd3Nd8@N|FIANy^G9PqW{x-fU` z50zclJEwV|R`ZP>WNBLKgR(DcPe6fh^F;8dZBfAB(@v**;T{odfAy3%2L8>X1sea2 zLA$EbbaLE$FaL(v=ssvy>ZYVHXWzZgybe|EO=N4{k9Ql^B=$*jL<(C>B%Bk9B?6Qo zn*=1j5>*Ax8uz@jL+NUQOx}lQ;94C{_tTueUhX_`F8T+ zLsUJ0s>S=7<0n;iImkmeukOBbT?k_)soqcS>Lz5!t0uey`u*LS_0|IXdrSha`Sttp z$hbrIqX-g2inJKd-3I6)K7{vzN+&mz3s&jS1?^iBjU7Y#Ex&bBT}Q!CJP=(fYsm?D zk2JmCT6&HT7|&6F`H>TR%6uR%*i*2#RULKBDDCv`c7`agPRzm!iDON}B5M7*%eUNPh83$6p;s>NuH%7| zc;jg3!2)MZC)?8qJ%(4;iyn2PuM5xlV{JeFT!W~Vkvc`LcDYh@xngH6?b&-BO7?_8 zmlEh{i$m#!UNF}^6H$fTA+Je~BQ)RcUD?sD!Xu|Aj@0!PyE(?LP^=ModiM_!R5B%s-GsT~Jh zu$(#(6*a1Z9aC$ZKlY8F<5~;p6m}mD3yaf!FX8^kC+xWalEEr^TyTvP(*de?%I_aq z-pD;RAOP4(98CCO{wEBt__wt!B-4ue8vN3aHU+g`OBA)9S3Z6@R;|AJRrT%ofqP#W z>6?#WD%F+sWHovF-crVFhr`MU>!Gg?i4{}4OndDNm3S2)8wl7t^+-1aFVzK^Vl>NOo+8(__u4J zb$Y3LUDbyrQ|^K-_5kAbu0ytn5tv!m&hKE3X?xc=Yvqb>RW+8C693(fF;uZQ$uEqf z%$}l!M&ehx`EDFZr#Qr9L+aOy$6^BC;yB`26&v*q0|5!Gj&E{D%{;ynaW0+8HS<8l zgv|T2KXeBuBqNn5j^Y+~+nij*OJn7jg~}>&8et15+OJTr`uN+oe1l zpD9*@qmFkCx5_ULg(Snh)=O!CQs&*{5X4$9=Nl8#0i1(7{jatSw2VP(cFGd#jcuNm zEynwf7G=Ewe?WTE8zsUs`}^sv*hTZIX%lMT-u=`M`9#K4A$x#h@j9*Ff^K_nW{0VMjUYqrZ^jHGe}#6@x#@_)Puh}o_&@m5h5`Y}rqa*lUiB-E za(*d3#9b9tbS7aRoa+3z!K)r`X7V&qJ84vZ`f(OZf@G^ygoPymAN{7_U*fiip%PX) zc>G})g}@R?6g#$IMz#}iCi1yyWO1C zr0zPKp8=70|K+k`zQi~`YC@P`(sQyKF6o?M2+(HW@th8=kGv-#tnghY{v?yud>Ik> zi&_{n6D^aETYZYMQ`Q4_*nrUUFN#~&AIg4UW+M%)SaG}V)iiM|ho z2mIzyI|G$=yj-Kz(Zc16m5Tg!(s5!eHJRe_S-%4Qg~(h4>L5rW?}#heq)57N^)w+@ z^E5414O_qYZ=CO_eH-`Yyh0fu`8*Zs4x?=d7+jkDPU|-H8gbQAZufi zH?2KuXr}8Vyf#xD!yULcO0^l#AFFAvMb`NjW9M~Hgmx_kgd?-G{oX706#1xPeUC@I zY*0f>>-s~iqf7l34w=C{*^-YrZlLS5M(56#Ej1UXwE)WymbaP|`46(Geb48JAi#R{ zaA&%$em{KKY0;HJ?gWPiS$`0MfXGS61ZOi#M@ya>YMS>}bqu)uCW*ju+Rx8l2f@X9tmRi;N<~^)c@m@q9 z^v&iI<W)Nri3_ae65S{Z`QkodDE6>BIYtVU+9Qw|@s3VA z_i|C6LkU}E*VPc>ORjI)+iBM62DAC4NDWaXlL}E%s1~!i;Awuv&8DW(XX*!Lp`J}b zqF7%Xr>E^y*R7wuu&LGOSROdI7T2KY4X!+E>9>rZ61uR>pX!cCUV+QO?1Nl1J z{4SY1Pc|qjAGVN`#9po=G-q8C_tMkuURxAAVi}K7=hib$aP#g&)pI9tD!<0jqf9+_ zCCJzn2%$b|Mo?7Ghu$>PjnBpu>~%e^(9NS}VFptE(&y!_EPcvh&JN}rO-eSKcuTCT1l=g8ses` zm4D**XNajh@cCRHZSm|DUCMd$s!%E>U+xnDHz#QNg26dKwE;~i!!it4ae%l;JGSI) zP>j8xVv*zR%Aeiala>4X)|*ZpI{n^l(N?$Cgq|%2dgTVO+)4b8DS%gxV3(V;*E6Cs z)GLH=S;-Tx_aK@20Xb+^mMD~mV2%&7{GDh`%+rZb=slq;!Eai6`rMAq^p!&dA161I#pN(1Pgo4$&}+O+H`ZAUXtL9tQz>GSV@;RR6%3&Z@b0Ww*-mnRx-S7p@7TgkP z)G=S-MPt4hGT))IdoRo``Dq=S^)979X5cY2^B@byK;50aYI@JOx_Ih_u_u#6><^h5 zW1)Pcn#l9fH%;3aKPLGtOxDmLnkgHq5PEmk$2{HudR=&wq>l@RFLYTXmL0=4Q6ol` z@!W)d<`D=HdcJ`5*BK*w;Z%ht^*LmInAkR15`Bt+$%0&ny|>iz#&3rs$(Q>IRCeV# zP(q=bo0&3tP`V)fx;bgjAC7Kbc?&Yn`11ZW5Lny6(UNtw{$Ob`4vI@(y%fJ$16`{LkM3U@? zrg?2~=AP%u#xmqfN)=%h&}#;iv?n{0SE? ze3(;;e6*r-KNj=QegLoK*1{)gr;@pByX8v}gCB(-$o%`bO{WeU$*Ti3bxfUn6mf#e zdw>&##rE{L^)qNnI?bh`&1M^^p_>@e|l!$BZp5;zBPaOvT)_3T+qMn=_o8Px2 z;c&r}UB8I;vA>!$EuH?2zqDP5iw`Hn#Z%3LgMQx0=p>U%^tcexhLy}lw+jmL%T;T*OuzBxZRWuI4wdEKo~ z<1vow%Zk_b5O%l|=5X2J4BLf<&wS7AGyckBGeL=R%2SjuB(qRjwV$F+$w`KF18|{_ zo`j+*pMD+b5}90O5?@Z8Ys2^7jH2pt^yYS;zG~aQ7;moS*!x)#vuL3$hG#=C{r;MEqgoCX(1hkn+G>{+Geqe!e0SInFi9~r=cMX17Wtw@aY;E{4UqnRzDstZMznvvY~i z264o(TT7==nTi-+=Wp{W4R4#2@MGQhBlspx?-8h7`xRHTk9hw`>H)gl{p(IoFy0YN zBqSmvBqUEq7jqsnM|*n<2RBy*b60LJd%N7k%Lgdt z(nOXDT}*1{2dM!8A9hKOAu$_wV;N_%Mn*hLuf~!h<0liWRl(CgiK>M2`V+2i!6~Tu z^h~)gN630P&muyB>*j}tgS<+y_&%i`j84sn&s^A{*`|6MRu(MkTS`c%ioAiQit0Vd z#^@qiw;)j}^$^KUFKnve`k|H|uR=oK`+LTuXYo1;yY0wDig3kOJsSfl(!s8#`1U(r zka9^(pouU_?BYb%i2?5tB@ zr$n=261*rvw%L#VsHmskHQuWIrW!gI8&&t#dN*A1k~fc*k%+zIi-hHgaS$Fxr1L+N zVS{8=6`0Vif>}i#59ci+uj;3sc*D>#^6$uzkWzc^j0LSNdTCZM!=XY@^ebXHh%9t# z)Q!%}+U6xtME|D(*@;E3tzzKdi8O3g8>&U2Z%ljLuoPRW{va?}?_;jPND=v#;Ne1# zlfF2}pg%{-mDI51&v6k*1^qYu(wUjss~}30%=(rRJOr;w0`aH<;wN0})9+6&J(2K- zg~?@{cN>xIv6$awT48=5JmFPy2yTJ4kZtz=p;%=FJ{7d)<&95X9LRH>(_0|z&Aq== z=1wO(;|y#{iAM!r$_)wojmI<0(tIg)${7iG&_mmi1sf)FU*7sM2u`T1@qzpy+Ll6h1GL` zWRNfBV0T;~apY$UFflNQm+D{0PG%&e^GOgA-v9j)By2b=91NnT{@?NAKTdUzNU(k| Oi20cg@)I%}>Hh)YQ6@nE From 38e55d0b7fdf07c4d696b7ac944f1c83445538b0 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 15 Aug 2022 20:33:12 -0400 Subject: [PATCH 0391/1248] Change my notes again --- TODO.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TODO.md b/TODO.md index 8c465855e4..998c9b442e 100644 --- a/TODO.md +++ b/TODO.md @@ -7,8 +7,9 @@ - [ ] Answer all comments - [ ] Check indentation of --snip-- - [ ] Check cross references -- [ ] Gray out unchanged lines +- [ ] Numbered lines, Gray out unchanged lines - [ ] Check line wrapping +- [ ] Check for unneeded command/compiling/running output - [ ] Check println style and error messages - [ ] Add alt text to images - [ ] Index tags From 98cec411611c1d4f826c0a20b0a8faccca4738e4 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 15 Aug 2022 21:13:08 -0400 Subject: [PATCH 0392/1248] Update snapshot of chapter 6 --- nostarch/chapter06.md | 84 ++++++------------------------------------- 1 file changed, 10 insertions(+), 74 deletions(-) diff --git a/nostarch/chapter06.md b/nostarch/chapter06.md index 47b51b5a10..063de3814b 100644 --- a/nostarch/chapter06.md +++ b/nostarch/chapter06.md @@ -18,37 +18,8 @@ code for different values of an enum. Finally, we’ll cover how the `if let` construct is another convenient and concise idiom available to handle enums in your code. - - - ## Defining an Enum - - - - - - Where structs give you a way of grouping together related fields and data, like a `Rectangle` with its `width` and `height`, enums give you a way of saying a value is one of a possible set of values. For example, we may want to say that @@ -264,12 +235,6 @@ But if we used the different structs, which each have their own type, we couldn’t as easily define a function to take any of these kinds of messages as we could with the `Message` enum defined in Listing 6-2, which is a single type. - - - There is one more similarity between enums and structs: just as we’re able to define methods on structs using `impl`, we’re also able to define methods on enums. Here’s a method named `call` that we could define on our `Message` enum: @@ -365,26 +330,6 @@ let some_char = Some('e'); let absent_number: Option = None; ``` - - - The type of `some_number` is `Option`. The type of `some_char` is `Option`, which is a different type. Rust can infer these types because we’ve specified a value inside the `Some` variant. For `absent_number`, Rust @@ -516,13 +461,6 @@ first arm here has a pattern that is the value `Coin::Penny` and then the `=>` operator that separates the pattern and the code to run. The code in this case is just the value `1`. Each arm is separated from the next with a comma. - - - When the `match` expression executes, it compares the resulting value against the pattern of each arm, in order. If a pattern matches the value, the code associated with that pattern is executed. If that pattern doesn’t match the @@ -533,7 +471,7 @@ The code associated with each arm is an expression, and the resulting value of the expression in the matching arm is the value that gets returned for the entire `match` expression. -We don't typically use curly brackets if the match arm code is short, as it is +We don’t typically use curly brackets if the match arm code is short, as it is in Listing 6-3 where each arm just returns a value. If you want to run multiple lines of code in a match arm, you must use curly brackets, and the comma following the arm is then optional. For example, the following code prints @@ -712,8 +650,16 @@ error[E0004]: non-exhaustive patterns: `None` not covered 3 | match x { | ^ pattern `None` not covered | - = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms +note: `Option` defined here = note: the matched value is of type `Option` +help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown + | +4 ~ Some(i) => Some(i + 1), +5 ~ None => todo!(), + | + +For more information about this error, try `rustc --explain E0004`. +error: could not compile `enums` due to previous error ``` Rust knows that we didn’t cover every possible case and even knows which @@ -907,13 +853,3 @@ function expects. In order to provide a well-organized API to your users that is straightforward to use and only exposes exactly what your users will need, let’s now turn to Rust’s modules. - - - From 2355f570e88f63f3565a9e37bddd8704dc5537af Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 16 Aug 2022 10:31:26 -0400 Subject: [PATCH 0393/1248] Messy snapshot of chapter 6 after copyedit check --- nostarch/chapter06.md | 906 +++++++++++++++++++++++++++++------- nostarch/docx/chapte06.docx | Bin 0 -> 63024 bytes 2 files changed, 740 insertions(+), 166 deletions(-) create mode 100644 nostarch/docx/chapte06.docx diff --git a/nostarch/chapter06.md b/nostarch/chapter06.md index 063de3814b..4f641c9aed 100644 --- a/nostarch/chapter06.md +++ b/nostarch/chapter06.md @@ -8,8 +8,8 @@ directory, so all fixes need to be made in `/src/`. # Enums and Pattern Matching -In this chapter we’ll look at *enumerations*, also referred to as *enums*. -Enums allow you to define a type by enumerating its possible *variants*. First, +In this chapter, we’ll look at *enumerations*, also referred to as *enums*. +Enums allow you to define a type by enumerating its possible *variants*. First we’ll define and use an enum to show how an enum can encode meaning along with data. Next, we’ll explore a particularly useful enum, called `Option`, which expresses that a value can be either something or nothing. Then we’ll look at @@ -35,7 +35,7 @@ variants, which is where enumeration gets its name. Any IP address can be either a version four or a version six address, but not both at the same time. That property of IP addresses makes the enum data -structure appropriate, because an enum value can only be one of its variants. +structure appropriate because an enum value can only be one of its variants. Both version four and version six addresses are still fundamentally IP addresses, so they should be treated as the same type when the code is handling situations that apply to any kind of IP address. @@ -46,8 +46,17 @@ variants of the enum: ``` enum IpAddrKind { +``` + +``` V4, +``` + +``` V6, +``` + +``` } ``` @@ -59,6 +68,9 @@ We can create instances of each of the two variants of `IpAddrKind` like this: ``` let four = IpAddrKind::V4; +``` + +``` let six = IpAddrKind::V6; ``` @@ -71,10 +83,13 @@ can then, for instance, define a function that takes any `IpAddrKind`: fn route(ip_kind: IpAddrKind) {} ``` -And we can call this function with either variant: -``` +Unmatched: BodyContinued + ``` route(IpAddrKind::V4); +``` + +``` route(IpAddrKind::V6); ``` @@ -85,38 +100,94 @@ Chapter 5, you might be tempted to tackle this problem with structs as shown in Listing 6-1. ``` -enum IpAddrKind { +1 enum IpAddrKind { +``` + +``` V4, +``` + +``` V6, +``` + +``` } +``` + +``` + +``` + +``` +2 struct IpAddr { +``` + +``` + 3 kind: IpAddrKind, +``` + +``` + 4 address: String, +``` -struct IpAddr { - kind: IpAddrKind, - address: String, +``` } +``` + +``` + +``` + +``` +5 let home = IpAddr { +``` -let home = IpAddr { +``` kind: IpAddrKind::V4, +``` + +``` address: String::from("127.0.0.1"), +``` + +``` }; +``` + +``` + +``` + +``` +6 let loopback = IpAddr { +``` -let loopback = IpAddr { +``` kind: IpAddrKind::V6, +``` + +``` address: String::from("::1"), +``` + +``` }; ``` -Listing 6-1: Storing the data and `IpAddrKind` variant of an IP address using a -`struct` +Storing the data and `IpAddrKind` variant of an IP address using a `struct` + +PROD: Please change this to Listing 6-1 and renumber remaining listings +consecutively: e.g., Listing 6-2, Listing 6-3, etc. -Here, we’ve defined a struct `IpAddr` that has two fields: a `kind` field that -is of type `IpAddrKind` (the enum we defined previously) and an `address` field -of type `String`. We have two instances of this struct. The first is `home`, -and it has the value `IpAddrKind::V4` as its `kind` with associated address -data of `127.0.0.1`. The second instance is `loopback`. It has the other -variant of `IpAddrKind` as its `kind` value, `V6`, and has address `::1` -associated with it. We’ve used a struct to bundle the `kind` and `address` -values together, so now the variant is associated with the value. +Here, we’ve defined a struct `IpAddr` [2] that has two fields: a `kind` field +[3] that is of type `IpAddrKind` (the enum we defined previously [1]) and an +`address` field [4] of type `String`. We have two instances of this struct. The +first is `home` [5], and it has the value `IpAddrKind::V4` as its `kind` with +associated address data of `127.0.0.1`. The second instance is `loopback` [6]. +It has the other variant of `IpAddrKind` as its `kind` value, `V6`, and has +address `::1` associated with it. We’ve used a struct to bundle the `kind` and +`address` values together, so now the variant is associated with the value. However, representing the same concept using just an enum is more concise: rather than an enum inside a struct, we can put data directly into each enum @@ -125,17 +196,38 @@ variants will have associated `String` values: ``` enum IpAddr { +``` + +``` V4(String), +``` + +``` V6(String), +``` + +``` } +``` + +``` +``` + +``` let home = IpAddr::V4(String::from("127.0.0.1")); +``` +``` + +``` + +``` let loopback = IpAddr::V6(String::from("::1")); ``` We attach data to each variant of the enum directly, so there is no need for an -extra struct. Here it’s also easier to see another detail of how enums work: +extra struct. Here, it’s also easier to see another detail of how enums work: the name of each enum variant that we define also becomes a function that constructs an instance of the enum. That is, `IpAddr::V4()` is a function call that takes a `String` argument and returns an instance of the `IpAddr` type. We @@ -143,7 +235,7 @@ automatically get this constructor function defined as a result of defining the enum. There’s another advantage to using an enum rather than a struct: each variant -can have different types and amounts of associated data. Version four type IP +can have different types and amounts of associated data. Version four IP addresses will always have four numeric components that will have values between 0 and 255. If we wanted to store `V4` addresses as four `u8` values but still express `V6` addresses as one `String` value, we wouldn’t be able to with @@ -151,12 +243,33 @@ a struct. Enums handle this case with ease: ``` enum IpAddr { +``` + +``` V4(u8, u8, u8, u8), +``` + +``` V6(String), +``` + +``` } +``` + +``` + +``` +``` let home = IpAddr::V4(127, 0, 0, 1); +``` + +``` + +``` +``` let loopback = IpAddr::V6(String::from("::1")); ``` @@ -170,16 +283,49 @@ different structs, which are defined differently for each variant: ``` struct Ipv4Addr { - // --snip-- +``` + +``` + --snip-- +``` + +``` } +``` + +``` + +``` +``` struct Ipv6Addr { - // --snip-- +``` + +``` + --snip-- +``` + +``` } +``` + +``` + +``` +``` enum IpAddr { +``` + +``` V4(Ipv4Addr), +``` + +``` V6(Ipv6Addr), +``` + +``` } ``` @@ -198,40 +344,75 @@ variety of types embedded in its variants. ``` enum Message { +``` + +``` Quit, +``` + +``` Move { x: i32, y: i32 }, +``` + +``` Write(String), +``` + +``` ChangeColor(i32, i32, i32), +``` + +``` } ``` -Listing 6-2: A `Message` enum whose variants each store different amounts and -types of values +A `Message` enum whose variants each store different amounts and types of values This enum has four variants with different types: -* `Quit` has no data associated with it at all. -* `Move` has named fields like a struct does. -* `Write` includes a single `String`. -* `ChangeColor` includes three `i32` values. -Defining an enum with variants such as the ones in Listing 6-2 is similar to -defining different kinds of struct definitions, except the enum doesn’t use the -`struct` keyword and all the variants are grouped together under the `Message` -type. The following structs could hold the same data that the preceding enum -variants hold: +Unmatched: ListPlain + +Unmatched: ListPlain + +Unmatched: ListPlain + +Unmatched: ListPlain + Defining an enum with variants such as the ones in Listing 6-2 is similar +to defining different kinds of struct definitions, except the enum doesn’t use +the `struct` keyword and all the variants are grouped together under the +`Message` type. The following structs could hold the same data that the +preceding enum variants hold: ``` struct QuitMessage; // unit struct +``` + +``` struct MoveMessage { +``` + +``` x: i32, +``` + +``` y: i32, +``` + +``` } +``` + +``` struct WriteMessage(String); // tuple struct +``` + +``` struct ChangeColorMessage(i32, i32, i32); // tuple struct ``` -But if we used the different structs, which each have their own type, we +But if we used the different structs, each of which has its own type, we couldn’t as easily define a function to take any of these kinds of messages as we could with the `Message` enum defined in Listing 6-2, which is a single type. @@ -241,35 +422,56 @@ enums. Here’s a method named `call` that we could define on our `Message` enum ``` impl Message { +``` + +``` fn call(&self) { - // method body would be defined here +``` + +``` + 1 // method body would be defined here +``` + +``` } +``` + +``` } +``` + +``` + +``` -let m = Message::Write(String::from("hello")); +``` +2 let m = Message::Write(String::from("hello")); +``` + +``` m.call(); ``` The body of the method would use `self` to get the value that we called the -method on. In this example, we’ve created a variable `m` that has the value +method on. In this example, we’ve created a variable `m` [2] that has the value `Message::Write(String::from("hello"))`, and that is what `self` will be in the -body of the `call` method when `m.call()` runs. +body of the `call` method [1] when `m.call()` runs. Let’s look at another enum in the standard library that is very common and useful: `Option`. -### The `Option` Enum and Its Advantages Over Null Values +### The Option Enum and Its Advantages Over Null Values This section explores a case study of `Option`, which is another enum defined by the standard library. The `Option` type encodes the very common scenario in which a value could be something or it could be nothing. -For example, if you request the first of a list containing items, you would get -a value. If you request the first item of an empty list, you would get nothing. -Expressing this concept in terms of the type system means the compiler can -check whether you’ve handled all the cases you should be handling; this -functionality can prevent bugs that are extremely common in other programming -languages. +For example, if you request the first item in a list containing multiple items, +you would get a value. If you request the first item in an empty list, you +would get nothing. Expressing this concept in terms of the type system means +the compiler can check whether you’ve handled all the cases you should be +handling; this functionality can prevent bugs that are extremely common in +other programming languages. Programming language design is often thought of in terms of which features you include, but the features you exclude are important too. Rust doesn’t have the @@ -280,16 +482,9 @@ two states: null or not-null. In his 2009 presentation “Null References: The Billion Dollar Mistake,” Tony Hoare, the inventor of null, has this to say: -> I call it my billion-dollar mistake. At that time, I was designing the first -> comprehensive type system for references in an object-oriented language. My -> goal was to ensure that all use of references should be absolutely safe, with -> checking performed automatically by the compiler. But I couldn’t resist the -> temptation to put in a null reference, simply because it was so easy to -> implement. This has led to innumerable errors, vulnerabilities, and system -> crashes, which have probably caused a billion dollars of pain and damage in -> the last forty years. -The problem with null values is that if you try to use a null value as a +Unmatched: QuotePara + The problem with null values is that if you try to use a null value as a not-null value, you’ll get an error of some kind. Because this null or not-null property is pervasive, it’s extremely easy to make this kind of error. @@ -299,13 +494,21 @@ null is a value that is currently invalid or absent for some reason. The problem isn’t really with the concept but with the particular implementation. As such, Rust does not have nulls, but it does have an enum that can encode the concept of a value being present or absent. This enum is -`Option`, and it is defined by the standard library -as follows: +`Option`, and it is defined by the standard library as follows: ``` enum Option { +``` + +``` None, +``` + +``` Some(T), +``` + +``` } ``` @@ -317,16 +520,25 @@ prefix. The `Option` enum is still just a regular enum, and `Some(T)` and The `` syntax is a feature of Rust we haven’t talked about yet. It’s a generic type parameter, and we’ll cover generics in more detail in Chapter 10. -For now, all you need to know is that `` means the `Some` variant of the -`Option` enum can hold one piece of data of any type, and that each concrete -type that gets used in place of `T` makes the overall `Option` type a -different type. Here are some examples of using `Option` values to hold number -types and string types: +For now, all you need to know is that `` means that the `Some` variant of +the `Option` enum can hold one piece of data of any type, and that each +concrete type that gets used in place of `T` makes the overall `Option` type +a different type. Here are some examples of using `Option` values to hold +number types and string types: ``` let some_number = Some(5); +``` + +``` let some_char = Some('e'); +``` + +``` + +``` +``` let absent_number: Option = None; ``` @@ -339,33 +551,58 @@ type that the corresponding `Some` variant will hold by looking only at a `Option`. When we have a `Some` value, we know that a value is present and the value is -held within the `Some`. When we have a `None` value, in some sense, it means -the same thing as null: we don’t have a valid value. So why is having -`Option` any better than having null? +held within the `Some`. When we have a `None` value, in some sense it means the +same thing as null: we don’t have a valid value. So why is having `Option` +any better than having null? In short, because `Option` and `T` (where `T` can be any type) are different types, the compiler won’t let us use an `Option` value as if it were -definitely a valid value. For example, this code won’t compile because it’s +definitely a valid value. For example, this code won’t compile, because it’s trying to add an `i8` to an `Option`: ``` let x: i8 = 5; +``` + +``` let y: Option = Some(5); +``` + +``` +``` + +``` let sum = x + y; ``` -If we run this code, we get an error message like this: +If we run this code, we get an error message like this one: ``` -$ cargo run - Compiling enums v0.1.0 (file:///projects/enums) error[E0277]: cannot add `Option` to `i8` +``` + +``` --> src/main.rs:5:17 +``` + +``` | +``` + +``` 5 | let sum = x + y; +``` + +``` | ^ no implementation for `i8 + Option` +``` + +``` | +``` + +``` = help: the trait `Add>` is not implemented for `i8` ``` @@ -380,8 +617,7 @@ using the value. In other words, you have to convert an `Option` to a `T` before you can perform `T` operations with it. Generally, this helps catch one of the most -common issues with null: assuming that something isn’t null when it actually -is. +common issues with null: assuming that something isn’t null when it actually is. Eliminating the risk of incorrectly assuming a not-null value helps you to be more confident in your code. In order to have a value that can possibly be @@ -392,30 +628,30 @@ when the value is null. Everywhere that a value has a type that isn’t an deliberate design decision for Rust to limit null’s pervasiveness and increase the safety of Rust code. -So, how do you get the `T` value out of a `Some` variant when you have a value -of type `Option` so you can use that value? The `Option` enum has a large -number of methods that are useful in a variety of situations; you can check -them out in its documentation. Becoming familiar with the methods on +So how do you get the `T` value out of a `Some` variant when you have a value +of type `Option` so that you can use that value? The `Option` enum has a +large number of methods that are useful in a variety of situations; you can +check them out in its documentation. Becoming familiar with the methods on `Option` will be extremely useful in your journey with Rust. In general, in order to use an `Option` value, you want to have code that will handle each variant. You want some code that will run only when you have a `Some(T)` value, and this code is allowed to use the inner `T`. You want some -other code to run if you have a `None` value, and that code doesn’t have a `T` -value available. The `match` expression is a control flow construct that does -just this when used with enums: it will run different code depending on which -variant of the enum it has, and that code can use the data inside the matching -value. - -## The `match` Control Flow Construct - -Rust has an extremely powerful control flow construct called `match` that allows -you to compare a value against a series of patterns and then execute code based -on which pattern matches. Patterns can be made up of literal values, variable -names, wildcards, and many other things; Chapter 18 covers all the different -kinds of patterns and what they do. The power of `match` comes from the -expressiveness of the patterns and the fact that the compiler confirms that all -possible cases are handled. +other code to run only if you have a `None` value, and that code doesn’t have a +`T` value available. The `match` expression is a control flow construct that +does just this when used with enums: it will run different code depending on +which variant of the enum it has, and that code can use the data inside the +matching value. + +## The match Control Flow Construct + +Rust has an extremely powerful control flow construct called `match` that +allows you to compare a value against a series of patterns and then execute +code based on which pattern matches. Patterns can be made up of literal values, +variable names, wildcards, and many other things; Chapter 18 covers all the +different kinds of patterns and what they do. The power of `match` comes from +the expressiveness of the patterns and the fact that the compiler confirms that +all possible cases are handled. Think of a `match` expression as being like a coin-sorting machine: coins slide down a track with variously sized holes along it, and each coin falls through @@ -424,50 +660,92 @@ through each pattern in a `match`, and at the first pattern the value “fits, the value falls into the associated code block to be used during execution. Speaking of coins, let’s use them as an example using `match`! We can write a -function that takes an unknown United States coin and, in a similar way as the -counting machine, determines which coin it is and return its value in cents, as -shown here in Listing 6-3. +function that takes an unknown US coin and, in a similar way as the counting +machine, determines which coin it is and returns its value in cents, as shown +in Listing 6-3. + +``` +1 enum Coin { +``` ``` -[1]enum Coin { Penny, +``` + +``` Nickel, - Dime, +``` + +``` + Dime, +``` + +``` Quarter, +``` + +``` } +``` +``` + +``` + +``` fn value_in_cents(coin: Coin) -> u8 { - match coin { - Coin::Penny => 1, +``` + +``` + 2 match coin { +``` + +``` + 3 Coin::Penny => 1, +``` + +``` Coin::Nickel => 5, +``` + +``` Coin::Dime => 10, +``` + +``` Coin::Quarter => 25, +``` + +``` } +``` + +``` } ``` -Listing 6-3: An enum and a `match` expression that has the variants of the enum -as its patterns +An enum and a `match` expression that has the variants of the enum as its +patterns -Let’s break down the `match` in the `value_in_cents` function. First, we list +Let’s break down the `match` in the `value_in_cents` function. First we list the `match` keyword followed by an expression, which in this case is the value -`coin`. This seems very similar to an expression used with `if`, but there’s a -big difference: with `if`, the expression needs to return a Boolean value, but -here, it can return any type. The type of `coin` in this example is the `Coin` -enum that we defined at [1]. +`coin` [2]. This seems very similar to an expression used with `if`, but +there’s a big difference: with `if`, the expression needs to return a Boolean +value, but here it can return any type. The type of `coin` in this example is +the `Coin` enum that we defined at [1]. Next are the `match` arms. An arm has two parts: a pattern and some code. The first arm here has a pattern that is the value `Coin::Penny` and then the `=>` -operator that separates the pattern and the code to run. The code in this case -is just the value `1`. Each arm is separated from the next with a comma. +operator that separates the pattern and the code to run [3]. The code in this +case is just the value `1`. Each arm is separated from the next with a comma. -When the `match` expression executes, it compares the resulting value against +When the `match` expression executes, it compares the resultant value against the pattern of each arm, in order. If a pattern matches the value, the code associated with that pattern is executed. If that pattern doesn’t match the value, execution continues to the next arm, much as in a coin-sorting machine. We can have as many arms as we need: in Listing 6-3, our `match` has four arms. -The code associated with each arm is an expression, and the resulting value of +The code associated with each arm is an expression, and the resultant value of the expression in the matching arm is the value that gets returned for the entire `match` expression. @@ -480,19 +758,49 @@ returns the last value of the block, `1`: ``` fn value_in_cents(coin: Coin) -> u8 { +``` + +``` match coin { +``` + +``` Coin::Penny => { +``` + +``` println!("Lucky penny!"); +``` + +``` 1 +``` + +``` } +``` + +``` Coin::Nickel => 5, +``` + +``` Coin::Dime => 10, +``` + +``` Coin::Quarter => 25, +``` + +``` } +``` + +``` } ``` -### Patterns that Bind to Values +### Patterns That Bind to Values Another useful feature of match arms is that they can bind to the parts of the values that match the pattern. This is how we can extract values out of enum @@ -502,32 +810,67 @@ As an example, let’s change one of our enum variants to hold data inside it. From 1999 through 2008, the United States minted quarters with different designs for each of the 50 states on one side. No other coins got state designs, so only quarters have this extra value. We can add this information to -our `enum` by changing the `Quarter` variant to include a `UsState` value stored -inside it, which we’ve done here in Listing 6-4. +our `enum` by changing the `Quarter` variant to include a `UsState` value +stored inside it, which we’ve done in Listing 6-4. ``` #[derive(Debug)] // so we can inspect the state in a minute +``` + +``` enum UsState { +``` + +``` Alabama, +``` + +``` Alaska, - // --snip-- +``` + +``` + --snip-- +``` + +``` } +``` + +``` + +``` +``` enum Coin { +``` + +``` Penny, +``` + +``` Nickel, +``` + +``` Dime, +``` + +``` Quarter(UsState), +``` + +``` } ``` -Listing 6-4: A `Coin` enum in which the `Quarter` variant also holds a -`UsState` value +A `Coin` enum in which the `Quarter` variant also holds a `UsState` value Let’s imagine that a friend is trying to collect all 50 state quarters. While we sort our loose change by coin type, we’ll also call out the name of the -state associated with each quarter so if it’s one our friend doesn’t have, they -can add it to their collection. +state associated with each quarter so that if it’s one our friend doesn’t have, +they can add it to their collection. In the match expression for this code, we add a variable called `state` to the pattern that matches values of the variant `Coin::Quarter`. When a @@ -536,15 +879,45 @@ quarter’s state. Then we can use `state` in the code for that arm, like so: ``` fn value_in_cents(coin: Coin) -> u8 { +``` + +``` match coin { +``` + +``` Coin::Penny => 1, +``` + +``` Coin::Nickel => 5, +``` + +``` Coin::Dime => 10, +``` + +``` Coin::Quarter(state) => { +``` + +``` println!("State quarter from {:?}!", state); +``` + +``` 25 +``` + +``` } +``` + +``` } +``` + +``` } ``` @@ -555,7 +928,7 @@ that point, the binding for `state` will be the value `UsState::Alaska`. We can then use that binding in the `println!` expression, thus getting the inner state value out of the `Coin` enum variant for `Quarter`. -### Matching with `Option` +### Matching with Option In the previous section, we wanted to get the inner `T` value out of the `Some` case when using `Option`; we can also handle `Option` using `match` as we @@ -573,45 +946,68 @@ Listing 6-5. ``` fn plus_one(x: Option) -> Option { +``` + +``` match x { - None => None, - Some(i) => Some(i + 1), +``` + +``` + 1 None => None, +``` + +``` + 2 Some(i) => Some(i + 1), +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` let five = Some(5); -let six = plus_one(five); -let none = plus_one(None); ``` -Listing 6-5: A function that uses a `match` expression on an `Option` +``` +let six = plus_one(five); 3 +``` + +``` +let none = plus_one(None); 4 +``` + +A function that uses a `match` expression on an `Option` Let’s examine the first execution of `plus_one` in more detail. When we call -`plus_one(five)`, the variable `x` in the body of `plus_one` will have the -value `Some(5)`. We then compare that against each match arm. +`plus_one(five)` [3], the variable `x` in the body of `plus_one` will have the +value `Some(5)`. We then compare that against each match arm: ``` None => None, ``` -The `Some(5)` value doesn’t match the pattern `None`, so we continue to the -next arm. +The `Some(5)` value doesn’t match the pattern `None` [1], so we continue to the +next arm: ``` Some(i) => Some(i + 1), ``` -Does `Some(5)` match `Some(i)`? Why yes it does! We have the same variant. The -`i` binds to the value contained in `Some`, so `i` takes the value `5`. The +Does `Some(5)` match `Some(i)` [2]? Why yes, it does! We have the same variant. +The `i` binds to the value contained in `Some`, so `i` takes the value `5`. The code in the match arm is then executed, so we add 1 to the value of `i` and create a new `Some` value with our total `6` inside. Now let’s consider the second call of `plus_one` in Listing 6-5, where `x` is -`None`. We enter the `match` and compare to the first arm. - -``` -None => None, -``` +`None` [4]. We enter the `match` and compare to the first arm [1]. It matches! There’s no value to add to, so the program stops and returns the `None` value on the right side of `=>`. Because the first arm matched, no other @@ -631,9 +1027,21 @@ which has a bug and won’t compile: ``` fn plus_one(x: Option) -> Option { +``` + +``` match x { +``` + +``` Some(i) => Some(i + 1), +``` + +``` } +``` + +``` } ``` @@ -642,24 +1050,63 @@ a bug Rust knows how to catch. If we try to compile this code, we’ll get this error: ``` -$ cargo run - Compiling enums v0.1.0 (file:///projects/enums) error[E0004]: non-exhaustive patterns: `None` not covered - --> src/main.rs:3:15 - | -3 | match x { - | ^ pattern `None` not covered - | -note: `Option` defined here - = note: the matched value is of type `Option` -help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown +``` + +``` + --> src/main.rs:3:15 +``` + +``` + | +``` + +``` +3 | match x { +``` + +``` + | ^ pattern `None` not covered +``` + +``` + | +``` + +``` + note: `Option` defined here +``` + +``` + = note: the matched value is of type `Option` +``` + +``` +help: ensure that all possible cases are being handled by adding +``` + +``` +a match arm with a wildcard pattern or an explicit pattern as +``` + +``` +shown +``` + +``` | +``` + +``` 4 ~ Some(i) => Some(i + 1), +``` + +``` 5 ~ None => todo!(), - | +``` -For more information about this error, try `rustc --explain E0004`. -error: could not compile `enums` due to previous error +``` + | ``` Rust knows that we didn’t cover every possible case and even knows which @@ -669,7 +1116,7 @@ possibility in order for the code to be valid. Especially in the case of `None` case, it protects us from assuming that we have a value when we might have null, thus making the billion-dollar mistake discussed earlier impossible. -### Catch-all Patterns and the `_` Placeholder +### Catch-all Patterns and the _ Placeholder Using enums, we can also take special actions for a few particular values, but for all other values take one default action. Imagine we’re implementing a game @@ -683,21 +1130,48 @@ this example: ``` let dice_roll = 9; +``` + +``` match dice_roll { +``` + +``` 3 => add_fancy_hat(), +``` + +``` 7 => remove_fancy_hat(), - other => move_player(other), +``` + +``` + 1 other => move_player(other), +``` + +``` } +``` + +``` + +``` +``` fn add_fancy_hat() {} +``` + +``` fn remove_fancy_hat() {} +``` + +``` fn move_player(num_spaces: u8) {} ``` -For the first two arms, the patterns are the literal values 3 and 7. For the -last arm that covers every other possible value, the pattern is the variable -we’ve chosen to name `other`. The code that runs for the `other` arm uses the -variable by passing it to the `move_player` function. +For the first two arms, the patterns are the literal values `3` and `7`. For +the last arm that covers every other possible value, the pattern is the +variable we’ve chosen to name `other` [1]. The code that runs for the `other` +arm uses the variable by passing it to the `move_player` function. This code compiles, even though we haven’t listed all the possible values a `u8` can have, because the last pattern will match all values not specifically @@ -717,34 +1191,85 @@ can change our code to use `_` instead of the variable named `other`: ``` let dice_roll = 9; +``` + +``` match dice_roll { +``` + +``` 3 => add_fancy_hat(), +``` + +``` 7 => remove_fancy_hat(), +``` + +``` _ => reroll(), +``` + +``` } +``` + +``` +``` + +``` fn add_fancy_hat() {} +``` + +``` fn remove_fancy_hat() {} +``` + +``` fn reroll() {} ``` This example also meets the exhaustiveness requirement because we’re explicitly ignoring all other values in the last arm; we haven’t forgotten anything. -Finally, we’ll change the rules of the game one more time, so that nothing else +Finally, we’ll change the rules of the game one more time so that nothing else happens on your turn if you roll anything other than a 3 or a 7. We can express that by using the unit value (the empty tuple type we mentioned in “The Tuple -Type” section) as the code that goes with the `_` arm: +Type” on page XX) as the code that goes with the `_` arm: ``` let dice_roll = 9; +``` + +``` match dice_roll { +``` + +``` 3 => add_fancy_hat(), +``` + +``` 7 => remove_fancy_hat(), +``` + +``` _ => (), +``` + +``` } +``` + +``` +``` + +``` fn add_fancy_hat() {} +``` + +``` fn remove_fancy_hat() {} ``` @@ -756,23 +1281,35 @@ There’s more about patterns and matching that we’ll cover in Chapter 18. For now, we’re going to move on to the `if let` syntax, which can be useful in situations where the `match` expression is a bit wordy. -## Concise Control Flow with `if let` +## Concise Control Flow with if let The `if let` syntax lets you combine `if` and `let` into a less verbose way to handle values that match one pattern while ignoring the rest. Consider the -program in Listing 6-6 that matches on an `Option` value in the `config_max` -variable but only wants to execute code if the value is the `Some` variant. +program in Listing 6-6 that matches on an `Option` value in the +`config_max` variable but only wants to execute code if the value is the `Some` +variant. ``` let config_max = Some(3u8); +``` + +``` match config_max { - Some(max) => println!("The maximum is configured to be {}", max), +``` + +``` + Some(max) => println!("The maximum is configured to be {max}"), +``` + +``` _ => (), +``` + +``` } ``` -Listing 6-6: A `match` that only cares about executing code when the value is -`Some` +A `match` that only cares about executing code when the value is `Some` If the value is `Some`, we print out the value in the `Some` variant by binding the value to the variable `max` in the pattern. We don’t want to do anything @@ -785,8 +1322,17 @@ code behaves the same as the `match` in Listing 6-6: ``` let config_max = Some(3u8); +``` + +``` if let Some(max) = config_max { - println!("The maximum is configured to be {}", max); +``` + +``` + println!("The maximum is configured to be {max}"); +``` + +``` } ``` @@ -813,24 +1359,51 @@ We can include an `else` with an `if let`. The block of code that goes with the `Coin` enum definition in Listing 6-4, where the `Quarter` variant also held a `UsState` value. If we wanted to count all non-quarter coins we see while also announcing the state of the quarters, we could do that with a `match` -expression like this: +expression, like this: ``` let mut count = 0; +``` + +``` match coin { +``` + +``` Coin::Quarter(state) => println!("State quarter from {:?}!", state), +``` + +``` _ => count += 1, +``` + +``` } ``` -Or we could use an `if let` and `else` expression like this: +Or we could use an `if let` and `else` expression, like this: ``` let mut count = 0; +``` + +``` if let Coin::Quarter(state) = coin { +``` + +``` println!("State quarter from {:?}!", state); +``` + +``` } else { +``` + +``` count += 1; +``` + +``` } ``` @@ -847,9 +1420,10 @@ values, depending on how many cases you need to handle. Your Rust programs can now express concepts in your domain using structs and enums. Creating custom types to use in your API ensures type safety: the -compiler will make certain your functions get only values of the type each +compiler will make certain your functions only get values of the type each function expects. In order to provide a well-organized API to your users that is straightforward to use and only exposes exactly what your users will need, let’s now turn to Rust’s modules. + diff --git a/nostarch/docx/chapte06.docx b/nostarch/docx/chapte06.docx new file mode 100644 index 0000000000000000000000000000000000000000..ea883663358def432fd4751eb15878ec25cab731 GIT binary patch literal 63024 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 Date: Tue, 16 Aug 2022 11:16:25 -0400 Subject: [PATCH 0394/1248] Update snapshot of chapter 7 --- nostarch/chapter07.md | 111 +++++++----------------------------------- 1 file changed, 17 insertions(+), 94 deletions(-) diff --git a/nostarch/chapter07.md b/nostarch/chapter07.md index 32a9eb2fba..be6afb2599 100644 --- a/nostarch/chapter07.md +++ b/nostarch/chapter07.md @@ -57,27 +57,6 @@ understanding of the module system and be able to work with scopes like a pro! The first parts of the module system we’ll cover are packages and crates. - - - - - - A *crate* is the smallest amount of code that the Rust compiler considers at a time. Even if you run `rustc` rather than `cargo` and pass a single source code file (as we did all the way back in the “Writing and Running a Rust Program” @@ -127,10 +106,6 @@ $ ls my-project/src main.rs ``` - - - After we run `cargo new`, we use `ls` to see what Cargo creates. In the project directory, there’s a *Cargo.toml* file, giving us a package. There’s also a *src* directory that contains *main.rs*. Open *Cargo.toml* in your text editor, @@ -160,8 +135,6 @@ detail. ### Modules Cheat Sheet - - Here we provide a quick reference on how modules, paths, the `use` keyword, and the `pub` keyword work in the compiler, and how most developers organize their code. We’ll be going through examples of each of these rules throughout this @@ -171,53 +144,11 @@ work. - **Start from the crate root**: When compiling a crate, the compiler first looks in the crate root file (usually *src/lib.rs* for a library crate or *src/main.rs* for a binary crate) for code to compile. - - - - - **Declaring modules**: In the crate root file, you can declare new modules; say, you declare a “garden” module with `mod garden;`. The compiler will look for the module’s code in these places: - - Inline, within curly brackets that replace the semicolon following `mod garden` - - - - - - - In the file *src/garden.rs* - In the file *src/garden/mod.rs* - **Declaring submodules**: In any file other than the crate root, you can @@ -313,9 +244,9 @@ chefs and cooks work in the kitchen, dishwashers clean up, and managers do administrative work. To structure our crate in this way, we can organize its functions into nested -modules. Create a new library named `restaurant` by running `cargo new --lib -restaurant`; then enter the code in Listing 7-1 into *src/lib.rs* to define -some modules and function signatures. Here’s the front of house section: +modules. Create a new library named `restaurant` by running `cargo new +restaurant --lib`; then enter the code in Listing 7-1 into *src/lib.rs* to +define some modules and function signatures. Here’s the front of house section: Filename: src/lib.rs @@ -436,10 +367,6 @@ pub fn eat_at_restaurant() { } ``` - - - Listing 7-3: Calling the `add_to_waitlist` function using absolute and relative paths @@ -467,10 +394,9 @@ function into a module named `customer_experience`, we’d need to update the absolute path to `add_to_waitlist`, but the relative path would still be valid. However, if we moved the `eat_at_restaurant` function separately into a module named `dining`, the absolute path to the `add_to_waitlist` call would stay the -same, but the relative path would need to be updated. - -Our preference in general is to specify absolute paths because it’s more likely -we’ll want to move code definitions and item calls independently of each other. +same, but the relative path would need to be updated. Our preference in general +is to specify absolute paths because it’s more likely we’ll want to move code +definitions and item calls independently of each other. Let’s try to compile Listing 7-3 and find out why it won’t compile yet! The error we get is shown in Listing 7-4. @@ -660,11 +586,10 @@ interested in this topic, see The Rust API Guidelines at > We mentioned a package can contain both a *src/main.rs* binary crate root as > well as a *src/lib.rs* library crate root, and both crates will have the > package name by default. Typically, packages with this pattern of containing -> both a library and a binary crate will have just -> enough code in the binary crate to start an executable that calls code with -> the library crate. This lets other projects benefit from the most -> functionality that the package provides, because the library crate’s code can -> be shared. +> both a library and a binary crate will have just enough code in the binary +> crate to start an executable that calls code with the library crate. This +> lets other projects benefit from the most functionality that the package +> provides, because the library crate’s code can be shared. > > The module tree should be defined in *src/lib.rs*. Then, any public items can > be used in the binary crate by starting paths with the name of the package. @@ -1069,7 +994,7 @@ added this line to *Cargo.toml*: Filename: Cargo.toml ``` -rand = "0.8.3" +rand = "0.8.5" ``` Adding `rand` as a dependency in *Cargo.toml* tells Cargo to download the @@ -1086,7 +1011,7 @@ section in Chapter 2, we brought the `Rng` trait into scope and called the use rand::Rng; fn main() { - let secret_number = rand::thread_rng().gen_range(1..101); + let secret_number = rand::thread_rng().gen_range(1..=100); } ``` @@ -1249,11 +1174,10 @@ using a path to where it was declared, as covered in the “Paths for Referring to an Item in the Module Tree” section. In other words, `mod` is *not* an “include” operation that you may have seen in other programming languages. -Next, we’ll extract the `hosting` module to its own file. The process -is a bit different because `hosting` is a child module of `front_of_house`, not -of the root module. We’ll place the file for `hosting` in a new directory that -will be named for its ancestors in the module tree, in this case -*src/front_of_house/*. +Next, we’ll extract the `hosting` module to its own file. The process is a bit +different because `hosting` is a child module of `front_of_house`, not of the +root module. We’ll place the file for `hosting` in a new directory that will be +named for its ancestors in the module tree, in this case *src/front_of_house/*. To start moving `hosting`, we change *src/front_of_house.rs* to contain only the declaration of the `hosting` module: @@ -1275,11 +1199,10 @@ pub fn add_to_waitlist() {} If we instead put *hosting.rs* in the *src* directory, the compiler would expect the *hosting.rs* code to be in a `hosting` module declared in the crate -root, and not delcared as a child of the `front_of_house` module. The +root, and not declared as a child of the `front_of_house` module. The compiler’s rules for which files to check for which modules’ code means the directories and files more closely match the module tree. - > ### Alternate File Paths > > So far we’ve covered the most idiomatic file paths the Rust compiler uses, From 6bb10f4375b91fd6fb4148618bebd099678be414 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 16 Aug 2022 11:21:57 -0400 Subject: [PATCH 0395/1248] Snapshot of chapter 7 from copyedit, fix chapter 6 name --- nostarch/chapter07.md | 1336 +++++++++++++---- .../docx/{chapte06.docx => chapter06.docx} | Bin nostarch/docx/chapter07.docx | Bin 0 -> 74139 bytes 3 files changed, 1061 insertions(+), 275 deletions(-) rename nostarch/docx/{chapte06.docx => chapter06.docx} (100%) create mode 100644 nostarch/docx/chapter07.docx diff --git a/nostarch/chapter07.md b/nostarch/chapter07.md index be6afb2599..4373ea879a 100644 --- a/nostarch/chapter07.md +++ b/nostarch/chapter07.md @@ -20,7 +20,7 @@ optionally one library crate. As a package grows, you can extract parts into separate crates that become external dependencies. This chapter covers all these techniques. For very large projects comprising a set of interrelated packages that evolve together, Cargo provides *workspaces*, which we’ll cover -in the “Cargo Workspaces” section in Chapter 14. +in “Cargo Workspaces” on page XX. We’ll also discuss encapsulating implementation details, which lets you reuse code at a higher level: once you’ve implemented an operation, other code can @@ -43,15 +43,26 @@ organization, including which details are exposed, which details are private, and what names are in each scope in your programs. These features, sometimes collectively referred to as the *module system*, include: -* **Packages:** A Cargo feature that lets you build, test, and share crates -* **Crates:** A tree of modules that produces a library or executable -* **Modules** and **use:** Let you control the organization, scope, and - privacy of paths -* **Paths:** A way of naming an item, such as a struct, function, or module -In this chapter, we’ll cover all these features, discuss how they interact, and -explain how to use them to manage scope. By the end, you should have a solid -understanding of the module system and be able to work with scopes like a pro! +Unmatched: RunInHead + +Unmatched: RunInPara + +Unmatched: RunInHead + +Unmatched: RunInPara + +Unmatched: RunInHead + +Unmatched: RunInPara + +Unmatched: RunInHead + +Unmatched: RunInPara + In this chapter, we’ll cover all these features, discuss how they +interact, and explain how to use them to manage scope. By the end, you should +have a solid understanding of the module system and be able to work with scopes +like a pro! ## Packages and Crates @@ -59,14 +70,14 @@ The first parts of the module system we’ll cover are packages and crates. A *crate* is the smallest amount of code that the Rust compiler considers at a time. Even if you run `rustc` rather than `cargo` and pass a single source code -file (as we did all the way back in the “Writing and Running a Rust Program” -section of Chapter 1), the compiler considers that file to be a crate. Crates -can contain modules, and the modules may be defined in other files that get -compiled with the crate, as we’ll see in the coming sections. +file (as we did all the way back in “Writing and Running a Rust Program” on +page XX), the compiler considers that file to be a crate. Crates can contain +modules, and the modules may be defined in other files that get compiled with +the crate, as we’ll see in the coming sections. A crate can come in one of two forms: a binary crate or a library crate. *Binary crates* are programs you can compile to an executable that you can run, -such as a command-line program or a server. Each must have a function called +such as a command line program or a server. Each must have a function called `main` that defines what happens when the executable runs. All the crates we’ve created so far have been binary crates. @@ -74,40 +85,58 @@ created so far have been binary crates. executable. Instead, they define functionality intended to be shared with multiple projects. For example, the `rand` crate we used in Chapter 2 provides functionality that generates random numbers. Most of the time when Rustaceans -say “crate”, they mean library crate, and they use “crate” interchangeably with -the general programming concept of a “library". +say “crate,” they mean library crate, and they use “crate” interchangeably with +the general programming concept of a “library.” The *crate root* is a source file that the Rust compiler starts from and makes -up the root module of your crate (we’ll explain modules in depth in the -“Defining Modules to Control Scope and Privacy” section). +up the root module of your crate (we’ll explain modules in depth in “Defining +Modules to Control Scope and Privacy” on page XX). A *package* is a bundle of one or more crates that provides a set of functionality. A package contains a *Cargo.toml* file that describes how to build those crates. Cargo is actually a package that contains the binary crate -for the command-line tool you’ve been using to build your code. The Cargo +for the command line tool you’ve been using to build your code. The Cargo package also contains a library crate that the binary crate depends on. Other projects can depend on the Cargo library crate to use the same logic the Cargo -command-line tool uses. +command line tool uses. A package can contain as many binary crates as you like, but at most only one library crate. A package must contain at least one crate, whether that’s a library or binary crate. -Let’s walk through what happens when we create a package. First, we enter the +Let’s walk through what happens when we create a package. First we enter the command `cargo new`: ``` $ cargo new my-project +``` + +``` Created binary (application) `my-project` package +``` + +``` $ ls my-project +``` + +``` Cargo.toml +``` + +``` src +``` + +``` $ ls my-project/src +``` + +``` main.rs ``` After we run `cargo new`, we use `ls` to see what Cargo creates. In the project -directory, there’s a *Cargo.toml* file, giving us a package. There’s also a +directory, there’s a *Cargo.toml* file, giving us a package. There’s also an *src* directory that contains *main.rs*. Open *Cargo.toml* in your text editor, and note there’s no mention of *src/main.rs*. Cargo follows a convention that *src/main.rs* is the crate root of a binary crate with the same name as the @@ -122,110 +151,120 @@ and *src/lib.rs*, it has two crates: a binary and a library, both with the same name as the package. A package can have multiple binary crates by placing files in the *src/bin* directory: each file will be a separate binary crate. -## Defining Modules to Control Scope and Privacy -In this section, we’ll talk about modules and other parts of the module system, -namely *paths* that allow you to name items; the `use` keyword that brings a -path into scope; and the `pub` keyword to make items public. We’ll also discuss -the `as` keyword, external packages, and the glob operator. +Unmatched: BoxType -First, we’re going to start with a list of rules for easy reference when you’re -organizing your code in the future. Then we’ll explain each of the rules in -detail. - -### Modules Cheat Sheet - -Here we provide a quick reference on how modules, paths, the `use` keyword, and -the `pub` keyword work in the compiler, and how most developers organize their -code. We’ll be going through examples of each of these rules throughout this -chapter, but this is a great place to refer to as a reminder of how modules -work. - -- **Start from the crate root**: When compiling a crate, the compiler first - looks in the crate root file (usually *src/lib.rs* for a library crate or - *src/main.rs* for a binary crate) for code to compile. -- **Declaring modules**: In the crate root file, you can declare new modules; -say, you declare a “garden” module with `mod garden;`. The compiler will look -for the module’s code in these places: - - Inline, within curly brackets that replace the semicolon following `mod - garden` - - In the file *src/garden.rs* - - In the file *src/garden/mod.rs* -- **Declaring submodules**: In any file other than the crate root, you can - declare submodules. For example, you might declare `mod vegetables;` in - *src/garden.rs*. The compiler will look for the submodule’s code within the - directory named for the parent module in these places: - - Inline, directly following `mod vegetables`, within curly brackets instead - of the semicolon - - In the file *src/garden/vegetables.rs* - - In the file *src/garden/vegetables/mod.rs* -- **Paths to code in modules**: Once a module is part of your crate, you can - refer to code in that module from anywhere else in that same crate, as long - as the privacy rules allow, using the path to the code. For example, an - `Asparagus` type in the garden vegetables module would be found at - `crate::garden::vegetables::Asparagus`. -- **Private vs public**: Code within a module is private from its parent - modules by default. To make a module public, declare it with `pub mod` - instead of `mod`. To make items within a public module public as well, use - `pub` before their declarations. -- **The `use` keyword**: Within a scope, the `use` keyword creates shortcuts to - items to reduce repetition of long paths. In any scope that can refer to - `crate::garden::vegetables::Asparagus`, you can create a shortcut with `use - crate::garden::vegetables::Asparagus;` and from then on you only need to - write `Asparagus` to make use of that type in the scope. - -Here we create a binary crate named `backyard` that illustrates these rules. The -crate’s directory, also named `backyard`, contains these files and directories: - -``` -backyard -├── Cargo.lock -├── Cargo.toml -└── src - ├── garden - │   └── vegetables.rs - ├── garden.rs - └── main.rs -``` - -The crate root file in this case is *src/main.rs*, and it contains: +> ### Modules Cheat Sheet -Filename: src/main.rs -``` -use crate::garden::vegetables::Asparagus; +> Before we get to the details of modules and paths, here we provide a quick +reference on how modules, paths, the `use` keyword, and the `pub` keyword work +in the compiler, and how most developers organize their code. We’ll be going +through examples of each of these rules throughout this chapter, but this is a +great place to refer to as a reminder of how modules work. -pub mod garden; -fn main() { - let plant = Asparagus {}; - println!("I'm growing {:?}!", plant); -} -``` +Unmatched: BoxRunInHead + +Unmatched: BoxRunInPara + +Unmatched: BoxRunInHead + +Unmatched: BoxRunInPara + +Unmatched: BoxListBullet + +Unmatched: BoxListBullet + +Unmatched: BoxListBullet + +Unmatched: BoxRunInHead + +Unmatched: BoxRunInPara + +Unmatched: BoxListBullet -The `pub mod garden;` line tells the compiler to include the code it finds in +Unmatched: BoxListBullet + +Unmatched: BoxListBullet + +Unmatched: BoxRunInHead + +Unmatched: BoxRunInPara + +Unmatched: BoxRunInHead + +Unmatched: BoxRunInPara + +Unmatched: BoxRunInHead + +Unmatched: BoxRunInPara + +> Here, we create a binary crate named `backyard` that illustrates these rules. +The crate’s directory, also named `backyard`, contains these files and +directories: + + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +> The crate root file in this case is *src/main.rs*, and it contains: + + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +> The `pub mod garden;` line tells the compiler to include the code it finds in *src/garden.rs*, which is: -Filename: src/garden.rs -``` -pub mod vegetables; -``` +Unmatched: BoxCode -Here, `pub mod vegetables;` means the code in *src/garden/vegetables.rs* is +> Here, `pub mod vegetables;` means the code in *src/garden/vegetables.rs* is included too. That code is: -``` -#[derive(Debug)] -pub struct Asparagus {} -``` -Now let’s get into the details of these rules and demonstrate them in action! +Unmatched: BoxCode + +Unmatched: BoxCode -### Grouping Related Code in Modules +> Now let’s get into the details of these rules and demonstrate them in action! + +## Defining Modules to Control Scope and Privacy + +In this section, we’ll talk about modules and other parts of the module system, +namely *paths* that allow you to name items; the `use` keyword that brings a +path into scope; and the `pub` keyword to make items public. We’ll also discuss +the `as` keyword, external packages, and the glob operator. *Modules* let us organize code within a crate for readability and easy reuse. -Modules also allow us to control the *privacy* of items, because code within a +Modules also allow us to control the *privacy* of items because code within a module is private by default. Private items are internal implementation details not available for outside use. We can choose to make modules and the items within them public, which exposes them to allow external code to use and depend @@ -233,7 +272,7 @@ on them. As an example, let’s write a library crate that provides the functionality of a restaurant. We’ll define the signatures of functions but leave their bodies -empty to concentrate on the organization of the code, rather than the +empty to concentrate on the organization of the code rather than the implementation of a restaurant. In the restaurant industry, some parts of a restaurant are referred to as @@ -245,31 +284,76 @@ administrative work. To structure our crate in this way, we can organize its functions into nested modules. Create a new library named `restaurant` by running `cargo new -restaurant --lib`; then enter the code in Listing 7-1 into *src/lib.rs* to -define some modules and function signatures. Here’s the front of house section: +restaurant` `--lib`. Then enter the code in Listing 7-1 into *src/lib.rs* to +define some modules and function signatures; this code is the front of house +section. Filename: src/lib.rs ``` mod front_of_house { +``` + +``` mod hosting { +``` + +``` fn add_to_waitlist() {} +``` +``` + +``` + +``` fn seat_at_table() {} +``` + +``` } +``` + +``` +``` + +``` mod serving { +``` + +``` fn take_order() {} +``` + +``` + +``` +``` fn serve_order() {} +``` +``` + +``` + +``` fn take_payment() {} +``` + +``` } +``` + +``` } ``` -Listing 7-1: A `front_of_house` module containing other modules that then -contain functions +A `front_of_house` module containing other modules that then contain functions + +PROD: Please renumber this as Listing 7-1 and renumber the remaining listings +consecutively: e.g., Listing 7-2, Listing 7-3, etc. We define a module with the `mod` keyword followed by the name of the module (in this case, `front_of_house`). The body of the module then goes inside curly @@ -293,25 +377,49 @@ Listing 7-2 shows the module tree for the structure in Listing 7-1. ``` crate +``` + +``` └── front_of_house +``` + +``` ├── hosting +``` + +``` │ ├── add_to_waitlist +``` + +``` │ └── seat_at_table +``` + +``` └── serving +``` + +``` ├── take_order +``` + +``` ├── serve_order +``` + +``` └── take_payment ``` -Listing 7-2: The module tree for the code in Listing 7-1 +The module tree for the code in Listing 7-1 -This tree shows how some of the modules nest inside one another; for example, +This tree shows how some of the modules nest inside other modules; for example, `hosting` nests inside `front_of_house`. The tree also shows that some modules -are *siblings* to each other, meaning they’re defined in the same module; -`hosting` and `serving` are siblings defined within `front_of_house`. If module -A is contained inside module B, we say that module A is the *child* of module B -and that module B is the *parent* of module A. Notice that the entire module -tree is rooted under the implicit module named `crate`. +are *siblings*, meaning they’re defined in the same module; `hosting` and +`serving` are siblings defined within `front_of_house`. If module A is +contained inside module B, we say that module A is the *child* of module B and +that module B is the *parent* of module A. Notice that the entire module tree +is rooted under the implicit module named `crate`. The module tree might remind you of the filesystem’s directory tree on your computer; this is a very apt comparison! Just like directories in a filesystem, @@ -326,49 +434,81 @@ know its path. A path can take two forms: -* An *absolute path* is the full path starting from a crate root; for code - from an external crate, the absolute path begins with the crate name, and for - code from the current crate, it starts with the literal `crate`. -* A *relative path* starts from the current module and uses `self`, `super`, or - an identifier in the current module. -Both absolute and relative paths are followed by one or more identifiers +Unmatched: ListPlain + +Unmatched: ListPlain + Both absolute and relative paths are followed by one or more identifiers separated by double colons (`::`). Returning to Listing 7-1, say we want to call the `add_to_waitlist` function. This is the same as asking: what’s the path of the `add_to_waitlist` function? -Listing 7-3 contains Listing 7-1 with some of the modules and functions -removed. +Listing 7-3 contains Listing 7-1 with some of the modules and functions removed. -We’ll show two ways to call the `add_to_waitlist` function from a new function -`eat_at_restaurant` defined in the crate root. These paths are correct, but +We’ll show two ways to call the `add_to_waitlist` function from a new function, +`eat_at_restaurant`, defined in the crate root. These paths are correct, but there’s another problem remaining that will prevent this example from compiling -as-is. We’ll explain why in a bit. +as is. We’ll explain why in a bit. The `eat_at_restaurant` function is part of our library crate’s public API, so -we mark it with the `pub` keyword. In the “Exposing Paths with the `pub` -Keyword” section, we’ll go into more detail about `pub`. +we mark it with the `pub` keyword. In “Exposing Paths with the pub Keyword” on +page XX, we’ll go into more detail about `pub`. Filename: src/lib.rs ``` mod front_of_house { +``` + +``` mod hosting { +``` + +``` fn add_to_waitlist() {} +``` + +``` } +``` + +``` } +``` +``` + +``` + +``` pub fn eat_at_restaurant() { +``` + +``` // Absolute path +``` + +``` crate::front_of_house::hosting::add_to_waitlist(); +``` + +``` + +``` +``` // Relative path +``` + +``` front_of_house::hosting::add_to_waitlist(); +``` + +``` } ``` -Listing 7-3: Calling the `add_to_waitlist` function using absolute and relative -paths +Calling the `add_to_waitlist` function using absolute and relative paths The first time we call the `add_to_waitlist` function in `eat_at_restaurant`, we use an absolute path. The `add_to_waitlist` function is defined in the same @@ -389,47 +529,120 @@ that the path is relative. Choosing whether to use a relative or absolute path is a decision you’ll make based on your project, and depends on whether you’re more likely to move item definition code separately from or together with the code that uses the item. -For example, if we move the `front_of_house` module and the `eat_at_restaurant` -function into a module named `customer_experience`, we’d need to update the -absolute path to `add_to_waitlist`, but the relative path would still be valid. -However, if we moved the `eat_at_restaurant` function separately into a module -named `dining`, the absolute path to the `add_to_waitlist` call would stay the -same, but the relative path would need to be updated. Our preference in general -is to specify absolute paths because it’s more likely we’ll want to move code -definitions and item calls independently of each other. +For example, if we moved the `front_of_house` module and the +`eat_at_restaurant` function into a module named `customer_experience`, we’d +need to update the absolute path to `add_to_waitlist`, but the relative path +would still be valid. However, if we moved the `eat_at_restaurant` function +separately into a module named `dining`, the absolute path to the +`add_to_waitlist` call would stay the same, but the relative path would need to +be updated. Our preference in general is to specify absolute paths because it’s +more likely we’ll want to move code definitions and item calls independently of +each other. Let’s try to compile Listing 7-3 and find out why it won’t compile yet! The -error we get is shown in Listing 7-4. +errors we get are shown in Listing 7-4. ``` $ cargo build +``` + +``` Compiling restaurant v0.1.0 (file:///projects/restaurant) +``` + +``` error[E0603]: module `hosting` is private +``` + +``` --> src/lib.rs:9:28 +``` + +``` | +``` + +``` 9 | crate::front_of_house::hosting::add_to_waitlist(); +``` + +``` | ^^^^^^^ private module +``` + +``` | +``` + +``` note: the module `hosting` is defined here +``` + +``` --> src/lib.rs:2:5 +``` + +``` | +``` + +``` 2 | mod hosting { +``` + +``` | ^^^^^^^^^^^ +``` +``` + +``` + +``` error[E0603]: module `hosting` is private +``` + +``` --> src/lib.rs:12:21 +``` + +``` | +``` + +``` 12 | front_of_house::hosting::add_to_waitlist(); +``` + +``` | ^^^^^^^ private module +``` + +``` | +``` + +``` note: the module `hosting` is defined here +``` + +``` --> src/lib.rs:2:5 +``` + +``` | +``` + +``` 2 | mod hosting { +``` + +``` | ^^^^^^^^^^^ ``` -Listing 7-4: Compiler errors from building the code in Listing 7-3 +Compiler errors from building the code in Listing 7-3 The error messages say that module `hosting` is private. In other words, we have the correct paths for the `hosting` module and the `add_to_waitlist` @@ -452,7 +665,7 @@ inner code you can change without breaking outer code. However, Rust does give you the option to expose inner parts of child modules’ code to outer ancestor modules by using the `pub` keyword to make an item public. -### Exposing Paths with the `pub` Keyword +### Exposing Paths with the pub Keyword Let’s return to the error in Listing 7-4 that told us the `hosting` module is private. We want the `eat_at_restaurant` function in the parent module to have @@ -463,55 +676,162 @@ Filename: src/lib.rs ``` mod front_of_house { +``` + +``` pub mod hosting { +``` + +``` fn add_to_waitlist() {} +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` pub fn eat_at_restaurant() { +``` + +``` // Absolute path +``` + +``` crate::front_of_house::hosting::add_to_waitlist(); +``` +``` + +``` + +``` // Relative path +``` + +``` front_of_house::hosting::add_to_waitlist(); +``` + +``` } ``` -Listing 7-5: Declaring the `hosting` module as `pub` to use it from -`eat_at_restaurant` +Declaring the `hosting` module as `pub` to use it from `eat_at_restaurant` -Unfortunately, the code in Listing 7-5 still results in an error, as shown in -Listing 7-6. +Unfortunately, the code in Listing 7-5 still results in compiler errors, as +shown in Listing 7-6. ``` $ cargo build +``` + +``` Compiling restaurant v0.1.0 (file:///projects/restaurant) +``` + +``` error[E0603]: function `add_to_waitlist` is private +``` + +``` --> src/lib.rs:9:37 +``` + +``` | +``` + +``` 9 | crate::front_of_house::hosting::add_to_waitlist(); +``` + +``` | ^^^^^^^^^^^^^^^ private function +``` + +``` | +``` + +``` note: the function `add_to_waitlist` is defined here +``` + +``` --> src/lib.rs:3:9 +``` + +``` | +``` + +``` 3 | fn add_to_waitlist() {} +``` + +``` | ^^^^^^^^^^^^^^^^^^^^ +``` + +``` +``` + +``` error[E0603]: function `add_to_waitlist` is private +``` + +``` --> src/lib.rs:12:30 +``` + +``` | +``` + +``` 12 | front_of_house::hosting::add_to_waitlist(); +``` + +``` | ^^^^^^^^^^^^^^^ private function +``` + +``` | +``` + +``` note: the function `add_to_waitlist` is defined here +``` + +``` --> src/lib.rs:3:9 +``` + +``` | +``` + +``` 3 | fn add_to_waitlist() {} +``` + +``` | ^^^^^^^^^^^^^^^^^^^^ ``` -Listing 7-6: Compiler errors from building the code in Listing 7-5 +Compiler errors from building the code in Listing 7-5 What happened? Adding the `pub` keyword in front of `mod hosting` makes the module public. With this change, if we can access `front_of_house`, we can @@ -533,22 +853,58 @@ Filename: src/lib.rs ``` mod front_of_house { +``` + +``` pub mod hosting { +``` + +``` pub fn add_to_waitlist() {} +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` pub fn eat_at_restaurant() { +``` + +``` // Absolute path +``` + +``` crate::front_of_house::hosting::add_to_waitlist(); +``` + +``` + +``` +``` // Relative path +``` + +``` front_of_house::hosting::add_to_waitlist(); +``` + +``` } ``` -Listing 7-7: Adding the `pub` keyword to `mod hosting` and `fn add_to_waitlist` -lets us call the function from `eat_at_restaurant` +Adding the `pub` keyword to `mod hosting` and `fn add_to_waitlist` lets us call +the function from `eat_at_restaurant`. Now the code will compile! To see why adding the `pub` keyword lets us use these paths in `add_to_waitlist` with respect to the privacy rules, let’s look @@ -576,64 +932,95 @@ If you plan on sharing your library crate so other projects can use your code, your public API is your contract with users of your crate that determines how they can interact with your code. There are many considerations around managing changes to your public API to make it easier for people to depend on your -crate. These considerations are out of the scope of this book; if you’re -interested in this topic, see The Rust API Guidelines at -*https://rust-lang.github.io/api-guidelines/*. - - -> #### Best Practices for Packages with a Binary and a Library -> -> We mentioned a package can contain both a *src/main.rs* binary crate root as -> well as a *src/lib.rs* library crate root, and both crates will have the -> package name by default. Typically, packages with this pattern of containing -> both a library and a binary crate will have just enough code in the binary -> crate to start an executable that calls code with the library crate. This -> lets other projects benefit from the most functionality that the package -> provides, because the library crate’s code can be shared. -> +crate. These considerations are beyond the scope of this book; if you’re +interested in this topic, see the Rust API Guidelines at +*https://rust-lang.github.io/api-guidelines*. + + +Unmatched: BoxType + +> ### Best Practices for Packages with a Binary and a Library + + +> We mentioned that a package can contain both an *src/main.rs* binary crate +root as well as an *src/lib.rs* library crate root, and both crates will have +the package name by default. Typically, packages with this pattern of +containing both a library and a binary crate will have just enough code in the +binary crate to start an executable that calls code with the library crate. +This lets other projects benefit from the most functionality that the package +provides because the library crate’s code can be shared. + + > The module tree should be defined in *src/lib.rs*. Then, any public items can -> be used in the binary crate by starting paths with the name of the package. -> The binary crate becomes a user of the library crate just like a completely -> external crate would use the library crate: it can only use the public API. -> This helps you design a good API; not only are you the author, you’re also a -> client! -> -> In Chapter 12, we’ll demonstrate this organizational practice with a -> command-line program that will contain both a binary crate and a library -> crate. - -### Starting Relative Paths with `super` +be used in the binary crate by starting paths with the name of the package. The +binary crate becomes a user of the library crate just like a completely +external crate would use the library crate: it can only use the public API. +This helps you design a good API; not only are you the author, you’re also a +client! + + +> In Chapter 12, we’ll demonstrate this organizational practice with a command +line program that will contain both a binary crate and a library crate. + +### Starting Relative Paths with super We can construct relative paths that begin in the parent module, rather than the current module or the crate root, by using `super` at the start of the path. This is like starting a filesystem path with the `..` syntax. Using `super` allows us to reference an item that we know is in the parent module, which can make rearranging the module tree easier when the module is closely -related to the parent, but the parent might be moved elsewhere in the module +related to the parent but the parent might be moved elsewhere in the module tree someday. Consider the code in Listing 7-8 that models the situation in which a chef fixes an incorrect order and personally brings it out to the customer. The function `fix_incorrect_order` defined in the `back_of_house` module calls the function `deliver_order` defined in the parent module by specifying the path to -`deliver_order` starting with `super`: +`deliver_order` starting with `super`. Filename: src/lib.rs ``` fn deliver_order() {} +``` + +``` + +``` +``` mod back_of_house { +``` + +``` fn fix_incorrect_order() { +``` + +``` cook_order(); +``` + +``` super::deliver_order(); +``` + +``` } +``` + +``` + +``` +``` fn cook_order() {} +``` + +``` } ``` -Listing 7-8: Calling a function using a relative path starting with `super` +Calling a function using a relative path starting with `super` The `fix_incorrect_order` function is in the `back_of_house` module, so we can use `super` to go to the parent module of `back_of_house`, which in this case @@ -661,40 +1048,118 @@ Filename: src/lib.rs ``` mod back_of_house { +``` + +``` pub struct Breakfast { +``` + +``` pub toast: String, +``` + +``` seasonal_fruit: String, +``` + +``` } +``` +``` + +``` + +``` impl Breakfast { +``` + +``` pub fn summer(toast: &str) -> Breakfast { +``` + +``` Breakfast { +``` + +``` toast: String::from(toast), +``` + +``` seasonal_fruit: String::from("peaches"), +``` + +``` } +``` + +``` } +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` pub fn eat_at_restaurant() { +``` + +``` // Order a breakfast in the summer with Rye toast +``` + +``` let mut meal = back_of_house::Breakfast::summer("Rye"); +``` + +``` // Change our mind about what bread we'd like +``` + +``` meal.toast = String::from("Wheat"); +``` + +``` println!("I'd like {} toast please", meal.toast); +``` + +``` + +``` +``` // The next line won't compile if we uncomment it; we're not allowed +``` + +``` // to see or modify the seasonal fruit that comes with the meal +``` + +``` // meal.seasonal_fruit = String::from("blueberries"); +``` + +``` } ``` -Listing 7-9: A struct with some public fields and some private fields +A struct with some public fields and some private fields Because the `toast` field in the `back_of_house::Breakfast` struct is public, in `eat_at_restaurant` we can write and read to the `toast` field using dot notation. Notice that we can’t use the `seasonal_fruit` field in -`eat_at_restaurant` because `seasonal_fruit` is private. Try uncommenting the +`eat_at_restaurant`, because `seasonal_fruit` is private. Try uncommenting the line modifying the `seasonal_fruit` field value to see what error you get! Also, note that because `back_of_house::Breakfast` has a private field, the @@ -711,19 +1176,49 @@ Filename: src/lib.rs ``` mod back_of_house { +``` + +``` pub enum Appetizer { +``` + +``` Soup, +``` + +``` Salad, +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` pub fn eat_at_restaurant() { +``` + +``` let order1 = back_of_house::Appetizer::Soup; +``` + +``` let order2 = back_of_house::Appetizer::Salad; +``` + +``` } ``` -Listing 7-10: Designating an enum as public makes all its variants public +Designating an enum as public makes all its variants public. Because we made the `Appetizer` enum public, we can use the `Soup` and `Salad` variants in `eat_at_restaurant`. @@ -738,7 +1233,7 @@ There’s one more situation involving `pub` that we haven’t covered, and that our last module system feature: the `use` keyword. We’ll cover `use` by itself first, and then we’ll show how to combine `pub` and `use`. -## Bringing Paths into Scope with the `use` Keyword +## Bringing Paths into Scope with the use Keyword Having to write out the paths to call functions can feel inconvenient and repetitive. In Listing 7-7, whether we chose the absolute or relative path to @@ -756,19 +1251,49 @@ Filename: src/lib.rs ``` mod front_of_house { +``` + +``` pub mod hosting { +``` + +``` pub fn add_to_waitlist() {} +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` use crate::front_of_house::hosting; +``` + +``` +``` + +``` pub fn eat_at_restaurant() { +``` + +``` hosting::add_to_waitlist(); +``` + +``` } ``` -Listing 7-11: Bringing a module into scope with `use` +Bringing a module into scope with `use` Adding `use` and a path in a scope is similar to creating a symbolic link in the filesystem. By adding `use crate::front_of_house::hosting` in the crate @@ -779,44 +1304,116 @@ also check privacy, like any other paths. Note that `use` only creates the shortcut for the particular scope in which the `use` occurs. Listing 7-12 moves the `eat_at_restaurant` function into a new child module named `customer`, which is then a different scope than the `use` -statement, so the function body won’t compile: +statement, so the function body won’t compile. Filename: src/lib.rs ``` -mod front_of_house { - pub mod hosting { - pub fn add_to_waitlist() {} - } -} +mod front_of_house { +``` + +``` + pub mod hosting { +``` + +``` + pub fn add_to_waitlist() {} +``` + +``` + } +``` + +``` +} +``` + +``` + +``` + +``` +use crate::front_of_house::hosting; +``` + +``` -use crate::front_of_house::hosting; +``` +``` mod customer { +``` + +``` pub fn eat_at_restaurant() { +``` + +``` hosting::add_to_waitlist(); +``` + +``` } +``` + +``` } ``` -Listing 7-12: A `use` statement only applies in the scope it’s in +A `use` statement only applies in the scope it’s in. The compiler error shows that the shortcut no longer applies within the `customer` module: ``` error[E0433]: failed to resolve: use of undeclared crate or module `hosting` +``` + +``` --> src/lib.rs:11:9 +``` + +``` | +``` + +``` 11 | hosting::add_to_waitlist(); +``` + +``` | ^^^^^^^ use of undeclared crate or module `hosting` +``` + +``` +``` + +``` warning: unused import: `crate::front_of_house::hosting` +``` + +``` --> src/lib.rs:7:5 +``` + +``` | +``` + +``` 7 | use crate::front_of_house::hosting; +``` + +``` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +``` + +``` | +``` + +``` = note: `#[warn(unused_imports)]` on by default ``` @@ -825,7 +1422,7 @@ fix this problem, move the `use` within the `customer` module too, or reference the shortcut in the parent module with `super::hosting` within the child `customer` module. -### Creating Idiomatic `use` Paths +### Creating Idiomatic use Paths In Listing 7-11, you might have wondered why we specified `use crate::front_of_house::hosting` and then called `hosting::add_to_waitlist` in @@ -836,24 +1433,54 @@ Filename: src/lib.rs ``` mod front_of_house { +``` + +``` pub mod hosting { +``` + +``` pub fn add_to_waitlist() {} +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` use crate::front_of_house::hosting::add_to_waitlist; +``` + +``` + +``` +``` pub fn eat_at_restaurant() { +``` + +``` add_to_waitlist(); +``` + +``` } ``` -Listing 7-13: Bringing the `add_to_waitlist` function into scope with `use`, -which is unidiomatic +Bringing the `add_to_waitlist` function into scope with `use`, which is +unidiomatic -Although both Listing 7-11 and 7-13 accomplish the same task, Listing 7-11 is -the idiomatic way to bring a function into scope with `use`. Bringing the -function’s parent module into scope with `use` means we have to specify the +Although both Listing 7-11 and Listing 7-13 accomplish the same task, Listing +7-11 is the idiomatic way to bring a function into scope with `use`. Bringing +the function’s parent module into scope with `use` means we have to specify the parent module when calling the function. Specifying the parent module when calling the function makes it clear that the function isn’t locally defined while still minimizing repetition of the full path. The code in Listing 7-13 is @@ -868,14 +1495,29 @@ Filename: src/main.rs ``` use std::collections::HashMap; +``` +``` + +``` + +``` fn main() { +``` + +``` let mut map = HashMap::new(); +``` + +``` map.insert(1, 2); +``` + +``` } ``` -Listing 7-14: Bringing `HashMap` into scope in an idiomatic way +Bringing `HashMap` into scope in an idiomatic way There’s no strong reason behind this idiom: it’s just the convention that has emerged, and folks have gotten used to reading and writing Rust code this way. @@ -883,32 +1525,59 @@ emerged, and folks have gotten used to reading and writing Rust code this way. The exception to this idiom is if we’re bringing two items with the same name into scope with `use` statements, because Rust doesn’t allow that. Listing 7-15 shows how to bring two `Result` types into scope that have the same name but -different parent modules and how to refer to them. +different parent modules, and how to refer to them. Filename: src/lib.rs ``` use std::fmt; +``` + +``` use std::io; +``` + +``` +``` + +``` fn function1() -> fmt::Result { - // --snip-- +``` + +``` + --snip-- +``` + +``` } +``` + +``` +``` + +``` fn function2() -> io::Result<()> { - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` -Listing 7-15: Bringing two types with the same name into the same scope -requires using their parent modules. +Bringing two types with the same name into the same scope requires using their +parent modules. As you can see, using the parent modules distinguishes the two `Result` types. If instead we specified `use std::fmt::Result` and `use std::io::Result`, we’d have two `Result` types in the same scope and Rust wouldn’t know which one we meant when we used `Result`. -### Providing New Names with the `as` Keyword +### Providing New Names with the as Keyword There’s another solution to the problem of bringing two types of the same name into the same scope with `use`: after the path, we can specify `as` and a new @@ -919,31 +1588,58 @@ Filename: src/lib.rs ``` use std::fmt::Result; +``` + +``` use std::io::Result as IoResult; +``` + +``` + +``` +``` fn function1() -> Result { - // --snip-- +``` + +``` + --snip-- +``` + +``` } +``` + +``` + +``` +``` fn function2() -> IoResult<()> { - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` -Listing 7-16: Renaming a type when it’s brought into scope with the `as` keyword +Renaming a type when it’s brought into scope with the `as` keyword In the second `use` statement, we chose the new name `IoResult` for the `std::io::Result` type, which won’t conflict with the `Result` from `std::fmt` that we’ve also brought into scope. Listing 7-15 and Listing 7-16 are considered idiomatic, so the choice is up to you! -### Re-exporting Names with `pub use` +### Re-exporting Names with pub use When we bring a name into scope with the `use` keyword, the name available in the new scope is private. To enable the code that calls our code to refer to that name as if it had been defined in that code’s scope, we can combine `pub` -and `use`. This technique is called *re-exporting* because we’re bringing -an item into scope but also making that item available for others to bring into +and `use`. This technique is called *re-exporting* because we’re bringing an +item into scope but also making that item available for others to bring into their scope. Listing 7-17 shows the code in Listing 7-11 with `use` in the root module @@ -953,26 +1649,55 @@ Filename: src/lib.rs ``` mod front_of_house { +``` + +``` pub mod hosting { +``` + +``` pub fn add_to_waitlist() {} +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` pub use crate::front_of_house::hosting; +``` + +``` + +``` +``` pub fn eat_at_restaurant() { +``` + +``` hosting::add_to_waitlist(); +``` + +``` } ``` -Listing 7-17: Making a name available for any code to use from a new scope with -`pub use` +Making a name available for any code to use from a new scope with `pub use` Before this change, external code would have to call the `add_to_waitlist` function by using the path `restaurant::front_of_house::hosting::add_to_waitlist()`. Now that this `pub use` has re-exported the `hosting` module from the root module, external code -can now use the path `restaurant::hosting::add_to_waitlist()` instead. +can use the path `restaurant::hosting::add_to_waitlist()` instead. Re-exporting is useful when the internal structure of your code is different from how programmers calling your code would think about the domain. For @@ -982,8 +1707,8 @@ probably won’t think about the parts of the restaurant in those terms. With `pub use`, we can write our code with one structure but expose a different structure. Doing so makes our library well organized for programmers working on the library and programmers calling the library. We’ll look at another example -of `pub use` and how it affects your crate’s documentation in the “Exporting a -Convenient Public API with `pub use`” section of Chapter 14. +of `pub use` and how it affects your crate’s documentation in “Exporting a +Convenient Public API with pub use” on page XX. ### Using External Packages @@ -998,25 +1723,37 @@ rand = "0.8.5" ``` Adding `rand` as a dependency in *Cargo.toml* tells Cargo to download the -`rand` package and any dependencies from *https://crates.io/* and make `rand` +`rand` package and any dependencies from *https://crates.io* and make `rand` available to our project. Then, to bring `rand` definitions into the scope of our package, we added a `use` line starting with the name of the crate, `rand`, and listed the items we -wanted to bring into scope. Recall that in the “Generating a Random Number” -section in Chapter 2, we brought the `Rng` trait into scope and called the -`rand::thread_rng` function: +wanted to bring into scope. Recall that in “Generating a Random Number” on page +XX, we brought the `Rng` trait into scope and called the `rand::thread_rng` +function: ``` use rand::Rng; +``` + +``` + +``` +``` fn main() { +``` + +``` let secret_number = rand::thread_rng().gen_range(1..=100); +``` + +``` } ``` Members of the Rust community have made many packages available at -*https://crates.io/*, and pulling any of them into your package involves these +*https://crates.io*, and pulling any of them into your package involves these same steps: listing them in your package’s *Cargo.toml* file and using `use` to bring items from their crates into scope. @@ -1033,20 +1770,29 @@ use std::collections::HashMap; This is an absolute path starting with `std`, the name of the standard library crate. -### Using Nested Paths to Clean Up Large `use` Lists +### Using Nested Paths to Clean Up Large use Lists -If we’re using multiple items defined in the same crate or same module, -listing each item on its own line can take up a lot of vertical space in our -files. For example, these two `use` statements we had in the Guessing Game in -Listing 2-4 bring items from `std` into scope: +If we’re using multiple items defined in the same crate or same module, listing +each item on its own line can take up a lot of vertical space in our files. For +example, these two `use` statements we had in the guessing game in Listing 2-4 +bring items from `std` into scope: Filename: src/main.rs ``` -// --snip-- +--snip-- +``` + +``` use std::cmp::Ordering; +``` + +``` use std::io; -// --snip-- +``` + +``` +--snip-- ``` Instead, we can use nested paths to bring the same items into scope in one @@ -1057,13 +1803,18 @@ differ, as shown in Listing 7-18. Filename: src/main.rs ``` -// --snip-- +--snip-- +``` + +``` use std::{cmp::Ordering, io}; -// --snip-- ``` -Listing 7-18: Specifying a nested path to bring multiple items with the same -prefix into scope +``` +--snip-- +``` + +Specifying a nested path to bring multiple items with the same prefix into scope In bigger programs, bringing many items into scope from the same crate or module using nested paths can reduce the number of separate `use` statements @@ -1078,10 +1829,13 @@ Filename: src/lib.rs ``` use std::io; +``` + +``` use std::io::Write; ``` -Listing 7-19: Two `use` statements where one is a subpath of the other +Two `use` statements where one is a subpath of the other The common part of these two paths is `std::io`, and that’s the complete first path. To merge these two paths into one `use` statement, we can use `self` in @@ -1093,11 +1847,11 @@ Filename: src/lib.rs use std::io::{self, Write}; ``` -Listing 7-20: Combining the paths in Listing 7-19 into one `use` statement +Combining the paths in Listing 7-19 into one `use` statement -This line brings `std::io` and `std::io::Write` into scope. -### The Glob Operator +Unmatched: BodyContinued + ### The Glob Operator If we want to bring *all* public items defined in a path into scope, we can specify that path followed by the `*` glob operator: @@ -1112,10 +1866,9 @@ harder to tell what names are in scope and where a name used in your program was defined. The glob operator is often used when testing to bring everything under test -into the `tests` module; we’ll talk about that in the “How to Write Tests” -section in Chapter 11. The glob operator is also sometimes used as part of the -prelude pattern: see the standard library documentation for more information on -that pattern. +into the `tests` module; we’ll talk about that in “How to Write Tests” on page +XX. The glob operator is also sometimes used as part of the prelude pattern: +see the standard library documentation for more information on that pattern. ## Separating Modules into Different Files @@ -1129,7 +1882,7 @@ modules defined in the crate root file. In this case, the crate root file is *src/lib.rs*, but this procedure also works with binary crates whose crate root file is *src/main.rs*. -First, we’ll extract the `front_of_house` module to its own file. Remove the +First we’ll extract the `front_of_house` module to its own file. Remove the code inside the curly brackets for the `front_of_house` module, leaving only the `mod front_of_house;` declaration, so that *src/lib.rs* contains the code shown in Listing 7-21. Note that this won’t compile until we create the @@ -1139,15 +1892,33 @@ Filename: src/lib.rs ``` mod front_of_house; +``` + +``` + +``` +``` pub use crate::front_of_house::hosting; +``` + +``` + +``` +``` pub fn eat_at_restaurant() { +``` + +``` hosting::add_to_waitlist(); +``` + +``` } ``` -Listing 7-21: Declaring the `front_of_house` module whose body will be in +Declaring the `front_of_house` module whose body will be in *src/front_of_house.rs* Next, place the code that was in the curly brackets into a new file named @@ -1159,28 +1930,33 @@ Filename: src/front_of_house.rs ``` pub mod hosting { +``` + +``` pub fn add_to_waitlist() {} +``` + +``` } ``` -Listing 7-22: Definitions inside the `front_of_house` module in -*src/front_of_house.rs* +Definitions inside the `front_of_house` module in *src/front_of_house.rs* Note that you only need to load a file using a `mod` declaration *once* in your module tree. Once the compiler knows the file is part of the project (and knows where in the module tree the code resides because of where you’ve put the `mod` statement), other files in your project should refer to the loaded file’s code -using a path to where it was declared, as covered in the “Paths for Referring -to an Item in the Module Tree” section. In other words, `mod` is *not* an +using a path to where it was declared, as covered in “Paths for Referring to an +Item in the Module Tree” on page XX. In other words, `mod` is *not* an “include” operation that you may have seen in other programming languages. Next, we’ll extract the `hosting` module to its own file. The process is a bit different because `hosting` is a child module of `front_of_house`, not of the root module. We’ll place the file for `hosting` in a new directory that will be -named for its ancestors in the module tree, in this case *src/front_of_house/*. +named for its ancestors in the module tree, in this case *src/front_of_house*. -To start moving `hosting`, we change *src/front_of_house.rs* to contain only the -declaration of the `hosting` module: +To start moving `hosting`, we change *src/front_of_house.rs* to contain only +the declaration of the `hosting` module: Filename: src/front_of_house.rs @@ -1188,7 +1964,7 @@ Filename: src/front_of_house.rs pub mod hosting; ``` -Then we create a *src/front_of_house* directory and a file *hosting.rs* to +Then we create an *src/front_of_house* directory and a *hosting.rs* file to contain the definitions made in the `hosting` module: Filename: src/front_of_house/hosting.rs @@ -1203,29 +1979,38 @@ root, and not declared as a child of the `front_of_house` module. The compiler’s rules for which files to check for which modules’ code means the directories and files more closely match the module tree. + +Unmatched: BoxType + > ### Alternate File Paths -> + + > So far we’ve covered the most idiomatic file paths the Rust compiler uses, -> but Rust also supports an older style of file path. For a module named -> `front_of_house` declared in the crate root, the compiler will look for the -> module’s code in: -> -> * *src/front_of_house.rs* (what we covered) -> * *src/front_of_house/mod.rs* (older style, still supported path) -> +but Rust also supports an older style of file path. For a module named +`front_of_house` declared in the crate root, the compiler will look for the +module’s code in: + + +Unmatched: BoxListBullet + +Unmatched: BoxListBullet + > For a module named `hosting` that is a submodule of `front_of_house`, the -> compiler will look for the module’s code in: -> -> * *src/front_of_house/hosting.rs* (what we covered) -> * *src/front_of_house/hosting/mod.rs* (older style, still supported path) -> -> If you use both styles for the same module, you’ll get a compiler error. Using -> a mix of both styles for different modules in the same project is allowed, but -> might be confusing for people navigating your project. -> +compiler will look for the module’s code in: + + +Unmatched: BoxListBullet + +Unmatched: BoxListBullet + +> If you use both styles for the same module, you’ll get a compiler error. +Using a mix of both styles for different modules in the same project is +allowed, but might be confusing for people navigating your project. + + > The main downside to the style that uses files named *mod.rs* is that your -> project can end up with many files named *mod.rs*, which can get confusing -> when you have them open in your editor at the same time. +project can end up with many files named *mod.rs*, which can get confusing when +you have them open in your editor at the same time. We’ve moved each module’s code to a separate file, and the module tree remains the same. The function calls in `eat_at_restaurant` will work without any @@ -1240,8 +2025,8 @@ that module. ## Summary -Rust lets you split a package into multiple crates and a crate into modules -so you can refer to items defined in one module from another module. You can do +Rust lets you split a package into multiple crates and a crate into modules so +you can refer to items defined in one module from another module. You can do this by specifying absolute or relative paths. These paths can be brought into scope with a `use` statement so you can use a shorter path for multiple uses of the item in that scope. Module code is private by default, but you can make @@ -1249,3 +2034,4 @@ definitions public by adding the `pub` keyword. In the next chapter, we’ll look at some collection data structures in the standard library that you can use in your neatly organized code. + diff --git a/nostarch/docx/chapte06.docx b/nostarch/docx/chapter06.docx similarity index 100% rename from nostarch/docx/chapte06.docx rename to nostarch/docx/chapter06.docx diff --git a/nostarch/docx/chapter07.docx b/nostarch/docx/chapter07.docx new file mode 100644 index 0000000000000000000000000000000000000000..3ef650ac1b9a034f411729c9f6f4df9deded8151 GIT binary patch literal 74139 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�tHM<>vLbA}TlW6S>r%(%YVK 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

58@V!C0_9 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 OjAQ@+oaM-e<^KQ&MOp~} literal 0 HcmV?d00001 From eaa7cb6f73dd92a1ce14355be27aed23d44589e0 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 16 Aug 2022 21:36:12 -0400 Subject: [PATCH 0396/1248] Messy snapshot of ch7 after copyedit checks --- nostarch/chapter07.md | 93 +++++++++-------------------------- nostarch/docx/chapter07.docx | Bin 74139 -> 88639 bytes 2 files changed, 24 insertions(+), 69 deletions(-) diff --git a/nostarch/chapter07.md b/nostarch/chapter07.md index 4373ea879a..fb6398cf79 100644 --- a/nostarch/chapter07.md +++ b/nostarch/chapter07.md @@ -100,12 +100,13 @@ package also contains a library crate that the binary crate depends on. Other projects can depend on the Cargo library crate to use the same logic the Cargo command line tool uses. -A package can contain as many binary crates as you like, but at most only one +A crate can come in one of two forms: a binary crate or a library crate. A +package can contain as many binary crates as you like, but at most only one library crate. A package must contain at least one crate, whether that’s a library or binary crate. Let’s walk through what happens when we create a package. First we enter the -command `cargo new`: +command `cargo new` `my-project`: ``` $ cargo new my-project @@ -135,15 +136,15 @@ $ ls my-project/src main.rs ``` -After we run `cargo new`, we use `ls` to see what Cargo creates. In the project -directory, there’s a *Cargo.toml* file, giving us a package. There’s also an -*src* directory that contains *main.rs*. Open *Cargo.toml* in your text editor, -and note there’s no mention of *src/main.rs*. Cargo follows a convention that -*src/main.rs* is the crate root of a binary crate with the same name as the -package. Likewise, Cargo knows that if the package directory contains -*src/lib.rs*, the package contains a library crate with the same name as the -package, and *src/lib.rs* is its crate root. Cargo passes the crate root files -to `rustc` to build the library or binary. +After we run `cargo new` `my-project`, we use `ls` to see what Cargo creates. +In the project directory, there’s a *Cargo.toml* file, giving us a package. +There’s also a *src* directory that contains *main.rs*. Open *Cargo.toml* in +your text editor, and note there’s no mention of *src/main.rs*. Cargo follows a +convention that *src/main.rs* is the crate root of a binary crate with the same +name as the package. Likewise, Cargo knows that if the package directory +contains *src/lib.rs*, the package contains a library crate with the same name +as the package, and *src/lib.rs* is its crate root. Cargo passes the crate root +files to `rustc` to build the library or binary. Here, we have a package that only contains *src/main.rs*, meaning it only contains a binary crate named `my-project`. If a package contains *src/main.rs* @@ -152,8 +153,6 @@ name as the package. A package can have multiple binary crates by placing files in the *src/bin* directory: each file will be a separate binary crate. -Unmatched: BoxType - > ### Modules Cheat Sheet @@ -699,31 +698,7 @@ mod front_of_house { ``` ``` -pub fn eat_at_restaurant() { -``` - -``` - // Absolute path -``` - -``` - crate::front_of_house::hosting::add_to_waitlist(); -``` - -``` - -``` - -``` - // Relative path -``` - -``` - front_of_house::hosting::add_to_waitlist(); -``` - -``` -} +--snip-- ``` Declaring the `hosting` module as `pub` to use it from `eat_at_restaurant` @@ -876,31 +851,7 @@ mod front_of_house { ``` ``` -pub fn eat_at_restaurant() { -``` - -``` - // Absolute path -``` - -``` - crate::front_of_house::hosting::add_to_waitlist(); -``` - -``` - -``` - -``` - // Relative path -``` - -``` - front_of_house::hosting::add_to_waitlist(); -``` - -``` -} +--snip-- ``` Adding the `pub` keyword to `mod hosting` and `fn add_to_waitlist` lets us call @@ -942,8 +893,8 @@ Unmatched: BoxType > ### Best Practices for Packages with a Binary and a Library -> We mentioned that a package can contain both an *src/main.rs* binary crate -root as well as an *src/lib.rs* library crate root, and both crates will have +> We mentioned that a package can contain both a *src/main.rs* binary crate +root as well as a *src/lib.rs* library crate root, and both crates will have the package name by default. Typically, packages with this pattern of containing both a library and a binary crate will have just enough code in the binary crate to start an executable that calls code with the library crate. @@ -1034,7 +985,7 @@ code gets moved to a different module. ### Making Structs and Enums Public We can also use `pub` to designate structs and enums as public, but there are a -few details extra to the usage of `pub` with structs and enums. If we use `pub` +few extra details to the usage of `pub` with structs and enums. If we use `pub` before a struct definition, we make the struct public, but the struct’s fields will still be private. We can make each field public or not on a case-by-case basis. In Listing 7-9, we’ve defined a public `back_of_house::Breakfast` struct @@ -1139,11 +1090,15 @@ pub fn eat_at_restaurant() { ``` ``` - // The next line won't compile if we uncomment it; we're not allowed + // The next line won't compile if we uncomment it; we're not +``` + +``` + // allowed to see or modify the seasonal fruit that comes ``` ``` - // to see or modify the seasonal fruit that comes with the meal + // with the meal ``` ``` @@ -1964,7 +1919,7 @@ Filename: src/front_of_house.rs pub mod hosting; ``` -Then we create an *src/front_of_house* directory and a *hosting.rs* file to +Then we create a *src/front_of_house* directory and a *hosting.rs* file to contain the definitions made in the `hosting` module: Filename: src/front_of_house/hosting.rs diff --git a/nostarch/docx/chapter07.docx b/nostarch/docx/chapter07.docx index 3ef650ac1b9a034f411729c9f6f4df9deded8151..5e618453ba6749ef94fb23c39a96eff1d4516ffc 100644 GIT binary patch delta 82175 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

    FY}firTgrI@H@?ormu}#VgffJn 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 Oz5?|KsD7;gp#K8^6hW{6 delta 67986 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 Q4u?Ei@({!(BXtD*3u_c^YybcN From 51333efd0d310943769ea8bb72773c01efee92fd Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 16 Aug 2022 21:36:29 -0400 Subject: [PATCH 0397/1248] Rearrange my notes yet again --- TODO.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TODO.md b/TODO.md index 998c9b442e..5fd3be67b2 100644 --- a/TODO.md +++ b/TODO.md @@ -5,8 +5,8 @@ - [ ] Check diff - [ ] Check updated output - [ ] Answer all comments -- [ ] Check indentation of --snip-- - [ ] Check cross references +- [ ] Check indentation of --snip-- - [ ] Numbered lines, Gray out unchanged lines - [ ] Check line wrapping - [ ] Check for unneeded command/compiling/running output From 8bea0e8179a36d0aa79d2613fe45c5a96eb455bb Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 17 Aug 2022 20:41:15 -0400 Subject: [PATCH 0398/1248] Updated snapshot of chapter 8 --- nostarch/chapter08.md | 248 ++---------------------------------------- 1 file changed, 9 insertions(+), 239 deletions(-) diff --git a/nostarch/chapter08.md b/nostarch/chapter08.md index 1c7968c994..5e4872a092 100644 --- a/nostarch/chapter08.md +++ b/nostarch/chapter08.md @@ -97,23 +97,6 @@ make it mutable using the `mut` keyword, as discussed in Chapter 3. The numbers we place inside are all of type `i32`, and Rust infers this from the data, so we don’t need the `Vec` annotation. - - - ### Reading Elements of Vectors There are two ways to reference a value stored in a vector: via indexing or @@ -145,13 +128,6 @@ gives us a reference to the element at the index value. When we use the `get` method with the index passed as an argument [2], we get an `Option<&T>` that we can use with `match`. - - - The reason Rust provides these two ways to reference an element is so you can choose how the program behaves when you try to use an index value outside the range of existing elements. As an example, let’s see what happens when we have @@ -209,6 +185,7 @@ to an item Compiling this code will result in this error: ``` +error[E0502]: cannot borrow `v` as mutable because it is also borrowed as immutable --> src/main.rs:6:5 | 4 | let first = &v[0]; @@ -277,30 +254,6 @@ similar to the one we got with the code in Listing 8-6. The reference to the vector that the `for` loop holds prevents simultaneous modification of the whole vector. - - - ### Using an Enum to Store Multiple Types Vectors can only store values that are the same type. This can be inconvenient; @@ -372,19 +325,6 @@ valid. Let’s move on to the next collection type: `String`! - - - ## Storing UTF-8 Encoded Text with Strings We talked about strings in Chapter 4, but we’ll look at them in more depth now. @@ -420,18 +360,6 @@ of those types. Although this section is largely about `String`, both types are used heavily in Rust’s standard library, and both `String` and string slices are UTF-8 encoded. - - - ### Creating a New String Many of the same operations available with `Vec` are available with `String` @@ -588,29 +516,6 @@ function: we can only add a `&str` to a `String`; we can’t add two `String` values together. But wait—the type of `&s2` is `&String`, not `&str`, as specified in the second parameter to `add`. So why does Listing 8-18 compile? - - - The reason we’re able to use `&s2` in the call to `add` is that the compiler can *coerce* the `&String` argument into a `&str`. When we call the `add` method, Rust uses a *deref coercion*, which here turns `&s2` into `&s2[..]`. @@ -802,39 +707,12 @@ can crash your program. ### Methods for Iterating Over Strings - - - - - - The best way to operate on pieces of strings is to be explicit about whether you want characters or bytes. For individual Unicode scalar values, use the `chars` method. Calling `chars` on “Зд” separates out and returns two values of type `char`, and you can iterate over the result to access each element: -```rust +``` for c in "Зд".chars() { println!("{}", c); } @@ -842,7 +720,7 @@ for c in "Зд".chars() { This code will print the following: -```text +``` З д ``` @@ -850,7 +728,7 @@ This code will print the following: Alternatively, the `bytes` method returns each raw byte, which might be appropriate for your domain: -```rust +``` for b in "Зд".bytes() { println!("{}", b); } @@ -858,7 +736,7 @@ for b in "Зд".bytes() { This code will print the four bytes that make up this string: -```text +``` 208 151 208 @@ -874,28 +752,6 @@ are available on *https://crates.io/* if this is the functionality you need. ### Strings Are Not So Simple - - - - - - To summarize, strings are complicated. Different programming languages make different choices about how to present this complexity to the programmer. Rust has chosen to make the correct handling of `String` data the default behavior @@ -961,22 +817,8 @@ keys of type `String` and values of type `i32`. Like vectors, hash maps are homogeneous: all of the keys must have the same type as each other, and all of the values must have the same type. - - - ### Accessing Values in a Hash Map - - - We can get a value out of the hash map by providing its key to the `get` method, as shown in Listing 8-21. @@ -989,7 +831,7 @@ scores.insert(String::from("Blue"), 10); scores.insert(String::from("Yellow"), 50); let team_name = String::from("Blue"); -let score = scores.get(&team_name).unwrap_or(0); +let score = scores.get(&team_name).copied().unwrap_or(0); ``` Listing 8-21: Accessing the score for the Blue team stored in the hash map @@ -997,15 +839,9 @@ Listing 8-21: Accessing the score for the Blue team stored in the hash map Here, `score` will have the value that’s associated with the Blue team, and the result will be `10`. The `get` method returns an `Option<&V>`; if there’s no value for that key in the hash map, `get` will return `None`. This program -handles the `Option` by calling `unwrap_or` to set `score` to zero if `scores` -doesn’t have an entry for the key. - - - +handles the `Option` by calling `copied` to get an `Option` rather than an +`Option<&i32>`, then `unwrap_or` to set `score` to zero if `scores` doesn't +have an entry for the key. We can iterate over each key/value pair in a hash map in a similar manner as we do with vectors, using a `for` loop: @@ -1065,32 +901,6 @@ Although the number of key and value pairs is growable, each unique key can only have one value associated with it at a time (but not vice versa: for example, both the Blue team and the Yellow team could have value 10 stored in the `scores` hash map). - - - - - When you want to change the data in a hash map, you have to decide how to handle the case when a key already has a value assigned. You could replace the @@ -1125,37 +935,6 @@ overwritten. #### Adding a Key and Value Only If a Key Isn’t Present - - - - - - It’s common to check whether a particular key already exists in the hash map with a value then take the following actions: if the key does exist in the hash map, the existing value should remain the way it is. If the key doesn’t exist, @@ -1235,14 +1014,6 @@ we must first dereference `count` using the asterisk (`*`). The mutable reference goes out of scope at the end of the `for` loop, so all of these changes are safe and allowed by the borrowing rules. - - - ### Hashing Functions By default, `HashMap` uses a hashing function called *SipHash* that can provide @@ -1281,4 +1052,3 @@ and hash maps have that will be helpful for these exercises! We’re getting into more complex programs in which operations can fail, so, it’s a perfect time to discuss error handling. We’ll do that next! - From 3e67ddc2c92edf397d7d085d2cbf4bb81f238d62 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 17 Aug 2022 20:51:24 -0400 Subject: [PATCH 0399/1248] Snapshot of chapter 8 from copyedit --- nostarch/chapter08.md | 800 ++++++++++++++++++++++++++++------- nostarch/docx/chapter08.docx | Bin 0 -> 70651 bytes 2 files changed, 645 insertions(+), 155 deletions(-) create mode 100644 nostarch/docx/chapter08.docx diff --git a/nostarch/chapter08.md b/nostarch/chapter08.md index 5e4872a092..e3071cfbcc 100644 --- a/nostarch/chapter08.md +++ b/nostarch/chapter08.md @@ -8,6 +8,8 @@ directory, so all fixes need to be made in `/src/`. # Common Collections +Prod: note that there are non-standard characters in this chapter + Rust’s standard library includes a number of very useful data structures called *collections*. Most other data types represent one specific value, but collections can contain multiple values. Unlike the built-in array and tuple @@ -20,10 +22,9 @@ collections that are used very often in Rust programs: * A *vector* allows you to store a variable number of values next to each other. * A *string* is a collection of characters. We’ve mentioned the `String` type - previously, but in this chapter we’ll talk about it in depth. -* A *hash map* allows you to associate a value with a particular key. It’s a - particular implementation of the more general data structure called a *map*. - +previously, but in this chapter we’ll talk about it in depth. +* A *hash map* allows you to associate a value with a specific key. It’s a +particular implementation of the more general data structure called a *map*. To learn about the other kinds of collections provided by the standard library, see the documentation at *https://doc.rust-lang.org/std/collections/index.html*. @@ -47,7 +48,10 @@ Listing 8-1. let v: Vec = Vec::new(); ``` -Listing 8-1: Creating a new, empty vector to hold values of type `i32` +Creating a new, empty vector to hold values of type `i32` + +PROD: Please rename this as Listing 8-1, and rename remaining listings +consecutively: e.g., Listing 8-2, Listing 8-3, etc. Note that we added a type annotation here. Because we aren’t inserting any values into this vector, Rust doesn’t know what kind of elements we intend to @@ -63,14 +67,14 @@ the type of value you want to store, so you rarely need to do this type annotation. Rust conveniently provides the `vec!` macro, which will create a new vector that holds the values you give it. Listing 8-2 creates a new `Vec` that holds the values `1`, `2`, and `3`. The integer type is `i32` -because that’s the default integer type, as we discussed in the “Data Types” -section of Chapter 3. +because that’s the default integer type, as we discussed in “Data Types” on +page XX. ``` let v = vec![1, 2, 3]; ``` -Listing 8-2: Creating a new vector containing values +Creating a new vector containing values Because we’ve given initial `i32` values, Rust can infer that the type of `v` is `Vec`, and the type annotation isn’t necessary. Next, we’ll look at how @@ -83,14 +87,29 @@ as shown in Listing 8-3. ``` let mut v = Vec::new(); +``` + +``` + +``` +``` v.push(5); +``` + +``` v.push(6); +``` + +``` v.push(7); +``` + +``` v.push(8); ``` -Listing 8-3: Using the `push` method to add values to a vector +Using the `push` method to add values to a vector As with any variable, if we want to be able to change its value, we need to make it mutable using the `mut` keyword, as discussed in Chapter 3. The numbers @@ -108,19 +127,45 @@ syntax and the `get` method. ``` let v = vec![1, 2, 3, 4, 5]; +``` + +``` + +``` + +``` +1 let third: &i32 = &v[2]; +``` -[1] let third: &i32 = &v[2]; +``` println!("The third element is {}", third); +``` + +``` + +``` -[2] let third: Option<&i32> = v.get(2); +``` +2 let third: Option<&i32> = v.get(2); +``` + +``` match third { +``` + +``` Some(third) => println!("The third element is {}", third), +``` + +``` None => println!("There is no third element."), +``` + +``` } ``` -Listing 8-4: Using indexing syntax or the `get` method to access an item in a -vector +Using indexing syntax and using the `get` method to access an item in a vector Note a few details here. We use the index value of `2` to get the third element [1] because vectors are indexed by number, starting at zero. Using `&` and `[]` @@ -128,21 +173,30 @@ gives us a reference to the element at the index value. When we use the `get` method with the index passed as an argument [2], we get an `Option<&T>` that we can use with `match`. -The reason Rust provides these two ways to reference an element is so you can -choose how the program behaves when you try to use an index value outside the -range of existing elements. As an example, let’s see what happens when we have -a vector of five elements and then we try to access an element at index 100 -with each technique, as shown in Listing 8-5. +Rust provides these two ways to reference an element so you can choose how the +program behaves when you try to use an index value outside the range of +existing elements. As an example, let’s see what happens when we have a vector +of five elements and then we try to access an element at index 100 with each +technique, as shown in Listing 8-5. ``` let v = vec![1, 2, 3, 4, 5]; +``` + +``` +``` + +``` let does_not_exist = &v[100]; +``` + +``` let does_not_exist = v.get(100); ``` -Listing 8-5: Attempting to access the element at index 100 in a vector -containing five elements +Attempting to access the element at index 100 in a vector containing five +elements When we run this code, the first `[]` method will cause the program to panic because it references a nonexistent element. This method is best used when you @@ -167,35 +221,90 @@ rule that states you can’t have mutable and immutable references in the same scope. That rule applies in Listing 8-6, where we hold an immutable reference to the first element in a vector and try to add an element to the end. This program won’t work if we also try to refer to that element later in the -function: +function. ``` let mut v = vec![1, 2, 3, 4, 5]; +``` +``` + +``` + +``` let first = &v[0]; +``` + +``` +``` + +``` v.push(6); +``` + +``` + +``` +``` println!("The first element is: {}", first); ``` -Listing 8-6: Attempting to add an element to a vector while holding a reference -to an item +Attempting to add an element to a vector while holding a reference to an item + + +Unmatched: BodyContinued + ``` +error[E0502]: cannot borrow `v` as mutable because it is also borrowed as +``` -Compiling this code will result in this error: +``` +immutable +``` ``` -error[E0502]: cannot borrow `v` as mutable because it is also borrowed as immutable --> src/main.rs:6:5 +``` + +``` | +``` + +``` 4 | let first = &v[0]; +``` + +``` | - immutable borrow occurs here +``` + +``` 5 | +``` + +``` 6 | v.push(6); +``` + +``` | ^^^^^^^^^ mutable borrow occurs here +``` + +``` 7 | +``` + +``` 8 | println!("The first element is: {}", first); - | ----- immutable borrow later used here +``` + +``` + | ----- immutable borrow later used +``` + +``` +here ``` The code in Listing 8-6 might look like it should work: why should a reference @@ -208,10 +317,10 @@ is currently stored. In that case, the reference to the first element would be pointing to deallocated memory. The borrowing rules prevent programs from ending up in that situation. -> Note: For more on the implementation details of the `Vec` type, see “The -> Rustonomicon” at *https://doc.rust-lang.org/nomicon/vec/vec.html*. +> NoteFor more on the implementation details of the `Vec` type, see “The +Rustonomicon” at *https://doc.rust-lang.org/nomicon/vec/vec.html*. -### Iterating over the Values in a Vector +### Iterating Over the Values in a Vector To access each element in a vector in turn, we would iterate through all of the elements rather than use indices to access one at a time. Listing 8-7 shows how @@ -220,13 +329,22 @@ to use a `for` loop to get immutable references to each element in a vector of ``` let v = vec![100, 32, 57]; +``` + +``` for i in &v { +``` + +``` println!("{}", i); +``` + +``` } ``` -Listing 8-7: Printing each element in a vector by iterating over the elements -using a `for` loop +Printing each element in a vector by iterating over the elements using a `for` +loop We can also iterate over mutable references to each element in a mutable vector in order to make changes to all the elements. The `for` loop in Listing 8-8 @@ -234,18 +352,26 @@ will add `50` to each element. ``` let mut v = vec![100, 32, 57]; +``` + +``` for i in &mut v { +``` + +``` *i += 50; +``` + +``` } ``` -Listing 8-8: Iterating over mutable references to elements in a vector +Iterating over mutable references to elements in a vector To change the value that the mutable reference refers to, we have to use the -`*` dereference operator to get to the value in `i` before we can use the -`+=` operator. We’ll talk more about the dereference operator in the -“Following the Pointer to the Value with the Dereference Operator” -section of Chapter 15. +`*` dereference operator to get to the value in `i` before we can use the `+=` +operator. We’ll talk more about the dereference operator in “Following the +Pointer to the Value” on page XX. Iterating over a vector, whether immutably or mutably, is safe because of the borrow checker’s rules. If we attempted to insert or remove items in the `for` @@ -256,11 +382,11 @@ whole vector. ### Using an Enum to Store Multiple Types -Vectors can only store values that are the same type. This can be inconvenient; -there are definitely use cases for needing to store a list of items of -different types. Fortunately, the variants of an enum are defined under the -same enum type, so when we need one type to represent elements of different -types, we can define and use an enum! +Vectors can only store values that are of the same type. This can be +inconvenient; there are definitely use cases for needing to store a list of +items of different types. Fortunately, the variants of an enum are defined +under the same enum type, so when we need one type to represent elements of +different types, we can define and use an enum! For example, say we want to get values from a row in a spreadsheet in which some of the columns in the row contain integers, some floating-point numbers, @@ -271,20 +397,49 @@ holds different types. We’ve demonstrated this in Listing 8-9. ``` enum SpreadsheetCell { +``` + +``` Int(i32), +``` + +``` Float(f64), +``` + +``` Text(String), +``` + +``` } +``` + +``` +``` + +``` let row = vec![ +``` + +``` SpreadsheetCell::Int(3), +``` + +``` SpreadsheetCell::Text(String::from("blue")), +``` + +``` SpreadsheetCell::Float(10.12), +``` + +``` ]; ``` -Listing 8-9: Defining an `enum` to store values of different types in one -vector +Defining an `enum` to store values of different types in one vector Rust needs to know what types will be in the vector at compile time so it knows exactly how much memory on the heap will be needed to store each element. We @@ -310,13 +465,25 @@ annotated in Listing 8-10. ``` { +``` + +``` let v = vec![1, 2, 3, 4]; +``` + +``` + +``` +``` // do stuff with v +``` + +``` } // <- v goes out of scope and is freed here ``` -Listing 8-10: Showing where the vector and its elements are dropped +Showing where the vector and its elements are dropped When the vector gets dropped, all of its contents are also dropped, meaning the integers it holds will be cleaned up. The borrow checker ensures that any @@ -363,7 +530,7 @@ are UTF-8 encoded. ### Creating a New String Many of the same operations available with `Vec` are available with `String` -as well, because `String` is actually implemented as a wrapper around a vector +as well because `String` is actually implemented as a wrapper around a vector of bytes with some extra guarantees, restrictions, and capabilities. An example of a function that works the same way with `Vec` and `String` is the `new` function to create an instance, shown in Listing 8-11. @@ -372,43 +539,59 @@ function to create an instance, shown in Listing 8-11. let mut s = String::new(); ``` -Listing 8-11: Creating a new, empty `String` +Creating a new, empty `String` -This line creates a new empty string called `s`, which we can then load data -into. Often, we’ll have some initial data that we want to start the string -with. For that, we use the `to_string` method, which is available on any type +This line creates a new, empty string called `s`, into which we can then load +data. Often, we’ll have some initial data with which we want to start the +string. For that, we use the `to_string` method, which is available on any type that implements the `Display` trait, as string literals do. Listing 8-12 shows two examples. ``` let data = "initial contents"; +``` + +``` + +``` +``` let s = data.to_string(); +``` + +``` +``` + +``` // the method also works on a literal directly: +``` + +``` let s = "initial contents".to_string(); ``` +PROD: I couldn’t get the following listing caption to format correctly. + Listing 8-12: Using the `to_string` method to create a `String` from a string literal -This code creates a string containing `initial contents`. -We can also use the function `String::from` to create a `String` from a string -literal. The code in Listing 8-13 is equivalent to the code from Listing 8-12 -that uses `to_string`. +Unmatched: BodyContinued + We can also use the function `String::from` to create a `String` from a +string literal. The code in Listing 8-13 is equivalent to the code in Listing +8-12 that uses `to_string`. ``` let s = String::from("initial contents"); ``` -Listing 8-13: Using the `String::from` function to create a `String` from a -string literal +Using the `String::from` function to create a `String` from a string literal Because strings are used for so many things, we can use many different generic APIs for strings, providing us with a lot of options. Some of them can seem redundant, but they all have their place! In this case, `String::from` and -`to_string` do the same thing, so which you choose is a matter of style and +`to_string` do the same thing, so which one you choose is a matter of style and readability. Remember that strings are UTF-8 encoded, so we can include any properly encoded @@ -416,39 +599,72 @@ data in them, as shown in Listing 8-14. ``` let hello = String::from("السلام عليكم"); +``` + +``` let hello = String::from("Dobrý den"); +``` + +``` let hello = String::from("Hello"); +``` + +``` let hello = String::from("שָׁלוֹם"); +``` + +``` let hello = String::from("नमस्ते"); +``` + +``` let hello = String::from("こんにちは"); +``` + +``` let hello = String::from("안녕하세요"); +``` + +``` let hello = String::from("你好"); +``` + +``` let hello = String::from("Olá"); +``` + +``` let hello = String::from("Здравствуйте"); +``` + +``` let hello = String::from("Hola"); ``` -Listing 8-14: Storing greetings in different languages in strings +Storing greetings in different languages in strings -All of these are valid `String` values. -### Updating a String +Unmatched: BodyContinued + ### Updating a String A `String` can grow in size and its contents can change, just like the contents of a `Vec`, if you push more data into it. In addition, you can conveniently use the `+` operator or the `format!` macro to concatenate `String` values. -#### Appending to a String with `push_str` and `push` +#### Appending to a String with push_str and push We can grow a `String` by using the `push_str` method to append a string slice, as shown in Listing 8-15. ``` let mut s = String::from("foo"); +``` + +``` s.push_str("bar"); ``` -Listing 8-15: Appending a string slice to a `String` using the `push_str` method +Appending a string slice to a `String` using the `push_str` method After these two lines, `s` will contain `foobar`. The `push_str` method takes a string slice because we don’t necessarily want to take ownership of the @@ -457,42 +673,59 @@ parameter. For example, in the code in Listing 8-16, we want to be able to use ``` let mut s1 = String::from("foo"); +``` + +``` let s2 = "bar"; +``` + +``` s1.push_str(s2); +``` + +``` println!("s2 is {}", s2); ``` -Listing 8-16: Using a string slice after appending its contents to a `String` +Using a string slice after appending its contents to a `String` If the `push_str` method took ownership of `s2`, we wouldn’t be able to print its value on the last line. However, this code works as we’d expect! The `push` method takes a single character as a parameter and adds it to the -`String`. Listing 8-17 adds the letter "l" to a `String` using the `push` +`String`. Listing 8-17 adds the letter “l” to a `String` using the `push` method. ``` let mut s = String::from("lo"); +``` + +``` s.push('l'); ``` -Listing 8-17: Adding one character to a `String` value using `push` +Adding one character to a `String` value using `push` -As a result, `s` will contain `lol`. -#### Concatenation with the `+` Operator or the `format!` Macro +Unmatched: BodyContinued + #### Concatenation with the + Operator or the format! Macro Often, you’ll want to combine two existing strings. One way to do so is to use the `+` operator, as shown in Listing 8-18. ``` let s1 = String::from("Hello, "); +``` + +``` let s2 = String::from("world!"); +``` + +``` let s3 = s1 + &s2; // note s1 has been moved here and can no longer be used ``` -Listing 8-18: Using the `+` operator to combine two `String` values into a new -`String` value +Using the `+` operator to combine two `String` values into a new `String` value The string `s3` will contain `Hello, world!`. The reason `s1` is no longer valid after the addition, and the reason we used a reference to `s2`, has to do @@ -507,10 +740,10 @@ fn add(self, s: &str) -> String { In the standard library, you’ll see `add` defined using generics and associated types. Here, we’ve substituted in concrete types, which is what happens when we call this method with `String` values. We’ll discuss generics in Chapter 10. -This signature gives us the clues we need to understand the tricky bits of the -`+` operator. +This signature gives us the clues we need in order to understand the tricky +bits of the `+` operator. -First, `s2` has an `&`, meaning that we’re adding a *reference* of the second +First, `s2` has a `&`, meaning that we’re adding a *reference* of the second string to the first string. This is because of the `s` parameter in the `add` function: we can only add a `&str` to a `String`; we can’t add two `String` values together. But wait—the type of `&s2` is `&String`, not `&str`, as @@ -523,13 +756,13 @@ We’ll discuss deref coercion in more depth in Chapter 15. Because `add` does not take ownership of the `s` parameter, `s2` will still be a valid `String` after this operation. -Second, we can see in the signature that `add` takes ownership of `self`, -because `self` does *not* have an `&`. This means `s1` in Listing 8-18 will be -moved into the `add` call and will no longer be valid after that. So although +Second, we can see in the signature that `add` takes ownership of `self` +because `self` does *not* have a `&`. This means `s1` in Listing 8-18 will be +moved into the `add` call and will no longer be valid after that. So, although `let s3 = s1 + &s2;` looks like it will copy both strings and create a new one, this statement actually takes ownership of `s1`, appends a copy of the contents of `s2`, and then returns ownership of the result. In other words, it looks -like it’s making a lot of copies but isn’t; the implementation is more +like it’s making a lot of copies, but it isn’t; the implementation is more efficient than copying. If we need to concatenate multiple strings, the behavior of the `+` operator @@ -537,9 +770,21 @@ gets unwieldy: ``` let s1 = String::from("tic"); +``` + +``` let s2 = String::from("tac"); +``` + +``` let s3 = String::from("toe"); +``` +``` + +``` + +``` let s = s1 + "-" + &s2 + "-" + &s3; ``` @@ -549,9 +794,21 @@ combining, we can instead use the `format!` macro: ``` let s1 = String::from("tic"); +``` + +``` let s2 = String::from("tac"); +``` + +``` let s3 = String::from("toe"); +``` + +``` + +``` +``` let s = format!("{}-{}-{}", s1, s2, s3); ``` @@ -570,20 +827,41 @@ get an error. Consider the invalid code in Listing 8-19. ``` let s1 = String::from("hello"); +``` + +``` let h = s1[0]; ``` -Listing 8-19: Attempting to use indexing syntax with a String +Attempting to use indexing syntax with a String -This code will result in the following error: -``` +Unmatched: BodyContinued + ``` error[E0277]: the type `String` cannot be indexed by `{integer}` +``` + +``` --> src/main.rs:3:13 +``` + +``` | +``` + +``` 3 | let h = s1[0]; +``` + +``` | ^^^^^ `String` cannot be indexed by `{integer}` +``` + +``` | +``` + +``` = help: the trait `Index<{integer}>` is not implemented for `String` ``` @@ -600,23 +878,27 @@ encoded UTF-8 example strings from Listing 8-14. First, this one: let hello = String::from("Hola"); ``` -In this case, `len` will be 4, which means the vector storing the string “Hola” -is 4 bytes long. Each of these letters takes 1 byte when encoded in UTF-8. The -following line, however, may surprise you. (Note that this string begins with -the capital Cyrillic letter Ze, not the Arabic number 3.) +In this case, `len` will be 4, which means the vector storing the string +`"``Hola``"` is 4 bytes long. Each of these letters takes one byte when encoded +in UTF-8. The following line, however, may surprise you (note that this string +begins with the capital Cyrillic letter Ze, not the Arabic number 3): ``` let hello = String::from("Здравствуйте"); ``` -Asked how long the string is, you might say 12. In fact, Rust’s answer is 24: -that’s the number of bytes it takes to encode “Здравствуйте” in UTF-8, because -each Unicode scalar value in that string takes 2 bytes of storage. Therefore, -an index into the string’s bytes will not always correlate to a valid Unicode -scalar value. To demonstrate, consider this invalid Rust code: +If you were asked how long the string is, you might say 12. In fact, Rust’s +answer is 24: that’s the number of bytes it takes to encode “Здравствуйте” in +UTF-8, because each Unicode scalar value in that string takes 2 bytes of +storage. Therefore, an index into the string’s bytes will not always correlate +to a valid Unicode scalar value. To demonstrate, consider this invalid Rust +code: ``` let hello = "Здравствуйте"; +``` + +``` let answer = &hello[0]; ``` @@ -644,6 +926,9 @@ stored as a vector of `u8` values that looks like this: ``` [224, 164, 168, 224, 164, 174, 224, 164, 184, 224, 165, 141, 224, 164, 164, +``` + +``` 224, 165, 135] ``` @@ -686,12 +971,18 @@ range to create a string slice containing particular bytes: ``` let hello = "Здравствуйте"; +``` + +``` +``` + +``` let s = &hello[0..4]; ``` -Here, `s` will be a `&str` that contains the first 4 bytes of the string. -Earlier, we mentioned that each of these characters was 2 bytes, which means +Here, `s` will be a `&str` that contains the first four bytes of the string. +Earlier, we mentioned that each of these characters was two bytes, which means `s` will be `Зд`. If we were to try to slice only part of a character’s bytes with something like @@ -699,29 +990,46 @@ If we were to try to slice only part of a character’s bytes with something lik index were accessed in a vector: ``` -thread 'main' panicked at 'byte index 1 is not a char boundary; it is inside 'З' (bytes 0..2) of `Здравствуйте`', src/main.rs:4:14 +thread 'main' panicked at 'byte index 1 is not a char boundary; +``` + +``` +it is inside 'З' (bytes 0..2) of `Здравствуйте`', ``` -You should use ranges to create string slices with caution, because doing so -can crash your program. +``` +src/main.rs:4:14 +``` + +You should use caution when creating string slices with ranges, because doing +so can crash your program. ### Methods for Iterating Over Strings The best way to operate on pieces of strings is to be explicit about whether you want characters or bytes. For individual Unicode scalar values, use the -`chars` method. Calling `chars` on “Зд” separates out and returns two values -of type `char`, and you can iterate over the result to access each element: +`chars` method. Calling `chars` on “Зд” separates out and returns two values of +type `char`, and you can iterate over the result to access each element: ``` for c in "Зд".chars() { +``` + +``` println!("{}", c); +``` + +``` } ``` -This code will print the following: -``` +Unmatched: BodyContinued + ``` З +``` + +``` д ``` @@ -730,25 +1038,40 @@ appropriate for your domain: ``` for b in "Зд".bytes() { +``` + +``` println!("{}", b); +``` + +``` } ``` -This code will print the four bytes that make up this string: -``` +Unmatched: BodyContinued + ``` 208 +``` + +``` 151 +``` + +``` 208 +``` + +``` 180 ``` But be sure to remember that valid Unicode scalar values may be made up of more -than 1 byte. +than one byte. Getting grapheme clusters from strings as with the Devanagari script is complex, so this functionality is not provided by the standard library. Crates -are available on *https://crates.io/* if this is the functionality you need. +are available at *https://crates.io* if this is the functionality you need. ### Strings Are Not So Simple @@ -756,7 +1079,7 @@ To summarize, strings are complicated. Different programming languages make different choices about how to present this complexity to the programmer. Rust has chosen to make the correct handling of `String` data the default behavior for all Rust programs, which means programmers have to put more thought into -handling UTF-8 data upfront. This trade-off exposes more of the complexity of +handling UTF-8 data up front. This trade-off exposes more of the complexity of strings than is apparent in other programming languages, but it prevents you from having to handle errors involving non-ASCII characters later in your development life cycle. @@ -772,11 +1095,11 @@ Let’s switch to something a bit less complex: hash maps! ## Storing Keys with Associated Values in Hash Maps The last of our common collections is the *hash map*. The type `HashMap` -stores a mapping of keys of type `K` to values of type `V` using a -*hashing function*, which determines how it places these keys and values into -memory. Many programming languages support this kind of data structure, but -they often use a different name, such as hash, map, object, hash table, -dictionary, or associative array, just to name a few. +stores a mapping of keys of type `K` to values of type `V` using a *hashing +function*, which determines how it places these keys and values into memory. +Many programming languages support this kind of data structure, but they often +use a different name, such as hash, map, object, hash table, dictionary, or +associative array, just to name a few. Hash maps are useful when you want to look up data not by using an index, as you can with vectors, but by using a key that can be of any type. For example, @@ -790,21 +1113,36 @@ As always, check the standard library documentation for more information. ### Creating a New Hash Map -One way to create an empty hash map is using `new` and adding elements with +One way to create an empty hash map is to use `new` and to add elements with `insert`. In Listing 8-20, we’re keeping track of the scores of two teams whose names are *Blue* and *Yellow*. The Blue team starts with 10 points, and the Yellow team starts with 50. ``` use std::collections::HashMap; +``` + +``` +``` + +``` let mut scores = HashMap::new(); +``` + +``` + +``` +``` scores.insert(String::from("Blue"), 10); +``` + +``` scores.insert(String::from("Yellow"), 50); ``` -Listing 8-20: Creating a new hash map and inserting some keys and values +Creating a new hash map and inserting some keys and values Note that we need to first `use` the `HashMap` from the collections portion of the standard library. Of our three common collections, this one is the least @@ -814,8 +1152,8 @@ standard library; there’s no built-in macro to construct them, for example. Just like vectors, hash maps store their data on the heap. This `HashMap` has keys of type `String` and values of type `i32`. Like vectors, hash maps are -homogeneous: all of the keys must have the same type as each other, and all of -the values must have the same type. +homogeneous: all of the keys must have the same type, and all of the values +must have the same type. ### Accessing Values in a Hash Map @@ -824,45 +1162,99 @@ method, as shown in Listing 8-21. ``` use std::collections::HashMap; +``` + +``` + +``` +``` let mut scores = HashMap::new(); +``` + +``` + +``` +``` scores.insert(String::from("Blue"), 10); +``` + +``` scores.insert(String::from("Yellow"), 50); +``` + +``` + +``` +``` let team_name = String::from("Blue"); +``` + +``` let score = scores.get(&team_name).copied().unwrap_or(0); ``` -Listing 8-21: Accessing the score for the Blue team stored in the hash map +Accessing the score for the Blue team stored in the hash map Here, `score` will have the value that’s associated with the Blue team, and the result will be `10`. The `get` method returns an `Option<&V>`; if there’s no value for that key in the hash map, `get` will return `None`. This program handles the `Option` by calling `copied` to get an `Option` rather than an -`Option<&i32>`, then `unwrap_or` to set `score` to zero if `scores` doesn't +`Option<&i32>`, then `unwrap_or` to set `score` to zero if `scores` doesn’t have an entry for the key. -We can iterate over each key/value pair in a hash map in a similar manner as we +We can iterate over each key–value pair in a hash map in a similar manner as we do with vectors, using a `for` loop: ``` use std::collections::HashMap; +``` + +``` +``` + +``` let mut scores = HashMap::new(); +``` + +``` + +``` +``` scores.insert(String::from("Blue"), 10); +``` + +``` scores.insert(String::from("Yellow"), 50); +``` + +``` + +``` +``` for (key, value) in &scores { +``` + +``` println!("{}: {}", key, value); +``` + +``` } ``` -This code will print each pair in an arbitrary order: -``` +Unmatched: BodyContinued + ``` Yellow: 50 +``` + +``` Blue: 10 ``` @@ -874,18 +1266,41 @@ the hash map will be the owner of those values, as demonstrated in Listing 8-22. ``` use std::collections::HashMap; +``` + +``` +``` + +``` let field_name = String::from("Favorite color"); +``` + +``` let field_value = String::from("Blue"); +``` + +``` + +``` +``` let mut map = HashMap::new(); +``` + +``` map.insert(field_name, field_value); +``` + +``` // field_name and field_value are invalid at this point, try using them and +``` + +``` // see what compiler error you get! ``` -Listing 8-22: Showing that keys and values are owned by the hash map once -they’re inserted +Showing that keys and values are owned by the hash map once they’re inserted We aren’t able to use the variables `field_name` and `field_value` after they’ve been moved into the hash map with the call to `insert`. @@ -893,7 +1308,7 @@ they’ve been moved into the hash map with the call to `insert`. If we insert references to values into the hash map, the values won’t be moved into the hash map. The values that the references point to must be valid for at least as long as the hash map is valid. We’ll talk more about these issues in -the “Validating References with Lifetimes” section in Chapter 10. +“Validating References with Lifetimes” on page XX. ### Updating a Hash Map @@ -914,31 +1329,51 @@ new value. Let’s look at how to do each of these! If we insert a key and a value into a hash map and then insert that same key with a different value, the value associated with that key will be replaced. Even though the code in Listing 8-23 calls `insert` twice, the hash map will -only contain one key/value pair because we’re inserting the value for the Blue +only contain one key–value pair because we’re inserting the value for the Blue team’s key both times. ``` use std::collections::HashMap; +``` + +``` +``` + +``` let mut scores = HashMap::new(); +``` + +``` + +``` +``` scores.insert(String::from("Blue"), 10); +``` + +``` scores.insert(String::from("Blue"), 25); +``` + +``` +``` + +``` println!("{:?}", scores); ``` -Listing 8-23: Replacing a value stored with a particular key +Replacing a value stored with a particular key -This code will print `{"Blue": 25}`. The original value of `10` has been -overwritten. -#### Adding a Key and Value Only If a Key Isn’t Present +Unmatched: BodyContinued + #### Adding a Key and Value Only If a Key Isn’t Present It’s common to check whether a particular key already exists in the hash map -with a value then take the following actions: if the key does exist in the hash -map, the existing value should remain the way it is. If the key doesn’t exist, -insert it and a value for it. +with a value and then to take the following actions: if the key does exist in +the hash map, the existing value should remain the way it is; if the key +doesn’t exist, insert it and a value for it. Hash maps have a special API for this called `entry` that takes the key you want to check as a parameter. The return value of the `entry` method is an enum @@ -949,30 +1384,53 @@ Blue team. Using the `entry` API, the code looks like Listing 8-24. ``` use std::collections::HashMap; +``` + +``` + +``` +``` let mut scores = HashMap::new(); +``` + +``` scores.insert(String::from("Blue"), 10); +``` + +``` +``` + +``` scores.entry(String::from("Yellow")).or_insert(50); +``` + +``` scores.entry(String::from("Blue")).or_insert(50); +``` + +``` +``` + +``` println!("{:?}", scores); ``` -Listing 8-24: Using the `entry` method to only insert if the key does not -already have a value +Using the `entry` method to only insert if the key does not already have a value The `or_insert` method on `Entry` is defined to return a mutable reference to -the value for the corresponding `Entry` key if that key exists, and if not, +the value for the corresponding `Entry` key if that key exists, and if not, it inserts the parameter as the new value for this key and returns a mutable reference to the new value. This technique is much cleaner than writing the logic ourselves and, in addition, plays more nicely with the borrow checker. Running the code in Listing 8-24 will print `{"Yellow": 50, "Blue": 10}`. The first call to `entry` will insert the key for the Yellow team with the value -50 because the Yellow team doesn’t have a value already. The second call to +`50` because the Yellow team doesn’t have a value already. The second call to `entry` will not change the hash map because the Blue team already has the -value 10. +value `10`. #### Updating a Value Based on the Old Value @@ -981,34 +1439,66 @@ update it based on the old value. For instance, Listing 8-25 shows code that counts how many times each word appears in some text. We use a hash map with the words as keys and increment the value to keep track of how many times we’ve seen that word. If it’s the first time we’ve seen a word, we’ll first insert -the value 0. +the value `0`. ``` use std::collections::HashMap; +``` + +``` + +``` +``` let text = "hello world wonderful world"; +``` + +``` + +``` +``` let mut map = HashMap::new(); +``` + +``` + +``` +``` for word in text.split_whitespace() { +``` + +``` let count = map.entry(word).or_insert(0); +``` + +``` *count += 1; +``` + +``` } +``` +``` + +``` + +``` println!("{:?}", map); ``` -Listing 8-25: Counting occurrences of words using a hash map that stores words -and counts +Counting occurrences of words using a hash map that stores words and counts This code will print `{"world": 2, "hello": 1, "wonderful": 1}`. You might see -the same key/value pairs printed in a different order: recall from the -“Accessing Values in a Hash Map” section that iterating over a hash map happens -in an arbitrary order. +the same key–value pairs printed in a different order: recall from “Accessing +Values in a Hash Map” on page XX that iterating over a hash map happens in an +arbitrary order. -The `split_whitespace` method returns an iterator over sub-slices, separated by +The `split_whitespace` method returns an iterator over subslices, separated by whitespace, of the value in `text`. The `or_insert` method returns a mutable -reference (`&mut V`) to the value for the specified key. Here we store that +reference (`&mut V`) to the value for the specified key. Here, we store that mutable reference in the `count` variable, so in order to assign to that value, we must first dereference `count` using the asterisk (`*`). The mutable reference goes out of scope at the end of the `for` loop, so all of these @@ -1017,14 +1507,14 @@ changes are safe and allowed by the borrowing rules. ### Hashing Functions By default, `HashMap` uses a hashing function called *SipHash* that can provide -resistance to Denial of Service (DoS) attacks involving hash tables. This is +resistance to denial-of-service (DoS) attacks involving hash tables. This is not the fastest hashing algorithm available, but the trade-off for better security that comes with the drop in performance is worth it. If you profile your code and find that the default hash function is too slow for your purposes, you can switch to another function by specifying a different hasher. A *hasher* is a type that implements the `BuildHasher` trait. We’ll talk about traits and how to implement them in Chapter 10. You don’t necessarily have to -implement your own hasher from scratch; *https://crates.io/* has libraries +implement your own hasher from scratch; *https://crates.io* has libraries shared by other Rust users that provide hashers implementing many common hashing algorithms. @@ -1034,21 +1524,21 @@ Vectors, strings, and hash maps will provide a large amount of functionality necessary in programs when you need to store, access, and modify data. Here are some exercises you should now be equipped to solve: -* Given a list of integers, use a vector and return the median (when sorted, - the value in the middle position) and mode (the value that occurs most often; - a hash map will be helpful here) of the list. -* Convert strings to pig latin. The first consonant of each word is moved to - the end of the word and “ay” is added, so “first” becomes “irst-fay.” Words - that start with a vowel have “hay” added to the end instead (“apple” becomes - “apple-hay”). Keep in mind the details about UTF-8 encoding! -* Using a hash map and vectors, create a text interface to allow a user to add - employee names to a department in a company. For example, “Add Sally to - Engineering” or “Add Amir to Sales.” Then let the user retrieve a list of all - people in a department or all people in the company by department, sorted - alphabetically. - +1. Given a list of integers, use a vector and return the median (when sorted, +the value in the middle position) and mode (the value that occurs most often; a +hash map will be helpful here) of the list. +1. Convert strings to pig latin. The first consonant of each word is moved to +the end of the word and “ay” is added, so “first” becomes “irst-fay.” Words +that start with a vowel have “hay” added to the end instead (“apple” becomes +“apple-hay”). Keep in mind the details about UTF-8 encoding! +1. Using a hash map and vectors, create a text interface to allow a user to add +employee names to a department in a company; for example, “Add Sally to +Engineering” or “Add Amir to Sales.” Then let the user retrieve a list of all +people in a department or all people in the company by department, sorted +alphabetically. The standard library API documentation describes methods that vectors, strings, and hash maps have that will be helpful for these exercises! -We’re getting into more complex programs in which operations can fail, so, it’s +We’re getting into more complex programs in which operations can fail, so it’s a perfect time to discuss error handling. We’ll do that next! + diff --git a/nostarch/docx/chapter08.docx b/nostarch/docx/chapter08.docx new file mode 100644 index 0000000000000000000000000000000000000000..2932b59b6f5e7811777174c85a75acc310bcf634 GIT binary patch literal 70651 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 literal 0 HcmV?d00001 From 06ea00d9cadd072b6a853c987b34da2633cddbb8 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 18 Aug 2022 10:30:33 -0400 Subject: [PATCH 0400/1248] Update println style in ch8 --- listings/ch08-common-collections/listing-08-04/src/main.rs | 4 ++-- listings/ch08-common-collections/listing-08-06/src/main.rs | 2 +- listings/ch08-common-collections/listing-08-07/src/main.rs | 2 +- listings/ch08-common-collections/listing-08-16/src/main.rs | 2 +- .../ch08-common-collections/no-listing-02-format/src/main.rs | 2 +- .../no-listing-03-iterate-over-hashmap/src/main.rs | 2 +- src/ch08-02-strings.md | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/listings/ch08-common-collections/listing-08-04/src/main.rs b/listings/ch08-common-collections/listing-08-04/src/main.rs index fa4e090d59..fca332de67 100644 --- a/listings/ch08-common-collections/listing-08-04/src/main.rs +++ b/listings/ch08-common-collections/listing-08-04/src/main.rs @@ -3,11 +3,11 @@ fn main() { let v = vec![1, 2, 3, 4, 5]; let third: &i32 = &v[2]; - println!("The third element is {}", third); + println!("The third element is {third}"); let third: Option<&i32> = v.get(2); match third { - Some(third) => println!("The third element is {}", third), + Some(third) => println!("The third element is {third}"), None => println!("There is no third element."), } // ANCHOR_END: here diff --git a/listings/ch08-common-collections/listing-08-06/src/main.rs b/listings/ch08-common-collections/listing-08-06/src/main.rs index 1b42274a6d..653ac27b0a 100644 --- a/listings/ch08-common-collections/listing-08-06/src/main.rs +++ b/listings/ch08-common-collections/listing-08-06/src/main.rs @@ -6,6 +6,6 @@ fn main() { v.push(6); - println!("The first element is: {}", first); + println!("The first element is: {first}"); // ANCHOR_END: here } diff --git a/listings/ch08-common-collections/listing-08-07/src/main.rs b/listings/ch08-common-collections/listing-08-07/src/main.rs index 38b97784be..aebf855a92 100644 --- a/listings/ch08-common-collections/listing-08-07/src/main.rs +++ b/listings/ch08-common-collections/listing-08-07/src/main.rs @@ -2,7 +2,7 @@ fn main() { // ANCHOR: here let v = vec![100, 32, 57]; for i in &v { - println!("{}", i); + println!("{i}"); } // ANCHOR_END: here } diff --git a/listings/ch08-common-collections/listing-08-16/src/main.rs b/listings/ch08-common-collections/listing-08-16/src/main.rs index 8938dc143b..db57cddba3 100644 --- a/listings/ch08-common-collections/listing-08-16/src/main.rs +++ b/listings/ch08-common-collections/listing-08-16/src/main.rs @@ -3,6 +3,6 @@ fn main() { let mut s1 = String::from("foo"); let s2 = "bar"; s1.push_str(s2); - println!("s2 is {}", s2); + println!("s2 is {s2}"); // ANCHOR_END: here } diff --git a/listings/ch08-common-collections/no-listing-02-format/src/main.rs b/listings/ch08-common-collections/no-listing-02-format/src/main.rs index 4a38e63d23..db408e2b73 100644 --- a/listings/ch08-common-collections/no-listing-02-format/src/main.rs +++ b/listings/ch08-common-collections/no-listing-02-format/src/main.rs @@ -4,6 +4,6 @@ fn main() { let s2 = String::from("tac"); let s3 = String::from("toe"); - let s = format!("{}-{}-{}", s1, s2, s3); + let s = format!("{s1}-{s2}-{s3}"); // ANCHOR_END: here } diff --git a/listings/ch08-common-collections/no-listing-03-iterate-over-hashmap/src/main.rs b/listings/ch08-common-collections/no-listing-03-iterate-over-hashmap/src/main.rs index 2e7dc02e60..bb13c86f1d 100644 --- a/listings/ch08-common-collections/no-listing-03-iterate-over-hashmap/src/main.rs +++ b/listings/ch08-common-collections/no-listing-03-iterate-over-hashmap/src/main.rs @@ -8,7 +8,7 @@ fn main() { scores.insert(String::from("Yellow"), 50); for (key, value) in &scores { - println!("{}: {}", key, value); + println!("{key}: {value}"); } // ANCHOR_END: here } diff --git a/src/ch08-02-strings.md b/src/ch08-02-strings.md index bf79c39259..9663d36ab1 100644 --- a/src/ch08-02-strings.md +++ b/src/ch08-02-strings.md @@ -355,7 +355,7 @@ of type `char`, and you can iterate over the result to access each element: ```rust for c in "Зд".chars() { - println!("{}", c); + println!("{c}"); } ``` @@ -371,7 +371,7 @@ appropriate for your domain: ```rust for b in "Зд".bytes() { - println!("{}", b); + println!("{b}"); } ``` From 5b571145ff92ea9f99178ffd1db029e906bd7692 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 18 Aug 2022 20:45:16 -0400 Subject: [PATCH 0401/1248] Messy snapshot of chapter 8 --- nostarch/chapter08.md | 53 ++++++++++++++++------------------- nostarch/docx/chapter08.docx | Bin 70651 -> 82039 bytes 2 files changed, 24 insertions(+), 29 deletions(-) diff --git a/nostarch/chapter08.md b/nostarch/chapter08.md index e3071cfbcc..49993a13bc 100644 --- a/nostarch/chapter08.md +++ b/nostarch/chapter08.md @@ -138,7 +138,7 @@ let v = vec![1, 2, 3, 4, 5]; ``` ``` -println!("The third element is {}", third); +println!("The third element is {third}"); ``` ``` @@ -154,7 +154,7 @@ match third { ``` ``` - Some(third) => println!("The third element is {}", third), + Some(third) => println!("The third element is {third}"), ``` ``` @@ -248,7 +248,7 @@ v.push(6); ``` ``` -println!("The first element is: {}", first); +println!("The first element is: {first}"); ``` Attempting to add an element to a vector while holding a reference to an item @@ -296,15 +296,11 @@ immutable ``` ``` -8 | println!("The first element is: {}", first); +8 | println!("The first element is: {first}"); ``` ``` - | ----- immutable borrow later used -``` - -``` -here + | ----- immutable borrow later used here ``` The code in Listing 8-6 might look like it should work: why should a reference @@ -336,7 +332,7 @@ for i in &v { ``` ``` - println!("{}", i); + println!("{i}"); ``` ``` @@ -573,8 +569,7 @@ let s = "initial contents".to_string(); PROD: I couldn’t get the following listing caption to format correctly. -Listing 8-12: Using the `to_string` method to create a `String` from a string -literal +Using the `to_string` method to create a `String` from a string literal Unmatched: BodyContinued @@ -684,7 +679,7 @@ s1.push_str(s2); ``` ``` -println!("s2 is {}", s2); +println!("s2 is {s2}"); ``` Using a string slice after appending its contents to a `String` @@ -743,7 +738,7 @@ call this method with `String` values. We’ll discuss generics in Chapter 10. This signature gives us the clues we need in order to understand the tricky bits of the `+` operator. -First, `s2` has a `&`, meaning that we’re adding a *reference* of the second +First, `s2` has an `&`, meaning that we’re adding a *reference* of the second string to the first string. This is because of the `s` parameter in the `add` function: we can only add a `&str` to a `String`; we can’t add two `String` values together. But wait—the type of `&s2` is `&String`, not `&str`, as @@ -757,7 +752,7 @@ not take ownership of the `s` parameter, `s2` will still be a valid `String` after this operation. Second, we can see in the signature that `add` takes ownership of `self` -because `self` does *not* have a `&`. This means `s1` in Listing 8-18 will be +because `self` does *not* have an `&`. This means `s1` in Listing 8-18 will be moved into the `add` call and will no longer be valid after that. So, although `let s3 = s1 + &s2;` looks like it will copy both strings and create a new one, this statement actually takes ownership of `s1`, appends a copy of the contents @@ -809,7 +804,7 @@ let s3 = String::from("toe"); ``` ``` -let s = format!("{}-{}-{}", s1, s2, s3); +let s = format!("{s1}-{s2}-{s3}"); ``` This code also sets `s` to `tic-tac-toe`. The `format!` macro works like @@ -862,7 +857,11 @@ error[E0277]: the type `String` cannot be indexed by `{integer}` ``` ``` - = help: the trait `Index<{integer}>` is not implemented for `String` + = help: the trait `Index<{integer}>` is not implemented for +``` + +``` +`String` ``` The error and the note tell the story: Rust strings don’t support indexing. But @@ -925,11 +924,11 @@ If we look at the Hindi word “नमस्ते” written in the Devanagari stored as a vector of `u8` values that looks like this: ``` -[224, 164, 168, 224, 164, 174, 224, 164, 184, 224, 165, 141, 224, 164, 164, +[224, 164, 168, 224, 164, 174, 224, 164, 184, 224, 165, 141, 224, ``` ``` -224, 165, 135] +164, 164, 224, 165, 135] ``` That’s 18 bytes and is how computers ultimately store this data. If we look at @@ -994,11 +993,7 @@ thread 'main' panicked at 'byte index 1 is not a char boundary; ``` ``` -it is inside 'З' (bytes 0..2) of `Здравствуйте`', -``` - -``` -src/main.rs:4:14 +it is inside 'З' (bytes 0..2) of `Здравствуйте`', src/main.rs:4:14 ``` You should use caution when creating string slices with ranges, because doing @@ -1016,7 +1011,7 @@ for c in "Зд".chars() { ``` ``` - println!("{}", c); + println!("{c}"); ``` ``` @@ -1041,7 +1036,7 @@ for b in "Зд".bytes() { ``` ``` - println!("{}", b); + println!("{b}"); ``` ``` @@ -1241,7 +1236,7 @@ for (key, value) in &scores { ``` ``` - println!("{}: {}", key, value); + println!("{key}: {value}"); ``` ``` @@ -1293,11 +1288,11 @@ map.insert(field_name, field_value); ``` ``` -// field_name and field_value are invalid at this point, try using them and +// field_name and field_value are invalid at this point, try ``` ``` -// see what compiler error you get! +// using them and see what compiler error you get! ``` Showing that keys and values are owned by the hash map once they’re inserted diff --git a/nostarch/docx/chapter08.docx b/nostarch/docx/chapter08.docx index 2932b59b6f5e7811777174c85a75acc310bcf634..80edf74a17e2dd55623f49b13f979b00f9ec9ce9 100644 GIT binary patch delta 62025 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 S3_=(}m}4kc-G%-#KK~CRUdE>Y delta 50763 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

    FYG(XfA)yC2$Xq4j)21#THgBM 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 Qh#xh=IYyn~mjlfI0Npvuga7~l literal 0 HcmV?d00001 From 6dd0b647003316dcc5ade2e2d23b1f0dbd023dc2 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 19 Aug 2022 22:32:04 -0400 Subject: [PATCH 0404/1248] Messy snapshot of ch9 after copyedit checks --- TODO.md | 4 +- .../listing-09-07/src/main.rs | 3 +- .../listing-09-08/src/main.rs | 3 +- nostarch/chapter09.md | 128 ++++++++++-------- nostarch/docx/chapter09.docx | Bin 74361 -> 83699 bytes 5 files changed, 74 insertions(+), 64 deletions(-) diff --git a/TODO.md b/TODO.md index 5fd3be67b2..b61f853145 100644 --- a/TODO.md +++ b/TODO.md @@ -2,8 +2,8 @@ - [ ] Manual regeneration - [ ] Check for upstream changes from last snapshot -- [ ] Check diff -- [ ] Check updated output +- [ ] Propagate updated output to docx +- [ ] Extract docx and check diff - [ ] Answer all comments - [ ] Check cross references - [ ] Check indentation of --snip-- diff --git a/listings/ch09-error-handling/listing-09-07/src/main.rs b/listings/ch09-error-handling/listing-09-07/src/main.rs index f4564f670d..0295949d23 100644 --- a/listings/ch09-error-handling/listing-09-07/src/main.rs +++ b/listings/ch09-error-handling/listing-09-07/src/main.rs @@ -1,7 +1,6 @@ // ANCHOR: here use std::fs::File; -use std::io; -use std::io::Read; +use std::io::{self, Read}; fn read_username_from_file() -> Result { let mut username_file = File::open("hello.txt")?; diff --git a/listings/ch09-error-handling/listing-09-08/src/main.rs b/listings/ch09-error-handling/listing-09-08/src/main.rs index c3c6e23efc..ca672caad0 100644 --- a/listings/ch09-error-handling/listing-09-08/src/main.rs +++ b/listings/ch09-error-handling/listing-09-08/src/main.rs @@ -1,7 +1,6 @@ // ANCHOR: here use std::fs::File; -use std::io; -use std::io::Read; +use std::io::{self, Read}; fn read_username_from_file() -> Result { let mut username = String::new(); diff --git a/nostarch/chapter09.md b/nostarch/chapter09.md index 7ce4388413..fce548231e 100644 --- a/nostarch/chapter09.md +++ b/nostarch/chapter09.md @@ -46,19 +46,21 @@ panic occurs to make it easier to track down the source of the panic. Unmatched: BoxType > ### Unwinding the Stack or Aborting in Response to a Panic -> + + > By default, when a panic occurs the program starts *unwinding*, which means -> Rust walks back up the stack and cleans up the data from each function it -> encounters. However, walking back and cleaning up is a lot of work. Rust, -> therefore, allows you to choose the alternative of immediately *aborting*, -> which ends the program without cleaning up. -> +Rust walks back up the stack and cleans up the data from each function it +encounters. However, walking back and cleaning up is a lot of work. Rust, +therefore, allows you to choose the alternative of immediately *aborting*, +which ends the program without cleaning up. + + > Memory that the program was using will then need to be cleaned up by the -> operating system. If in your project you need to make the resultant binary as -> small as possible, you can switch from unwinding to aborting upon a panic by -> adding `panic = 'abort'` to the appropriate `[profile]` sections in your -> *Cargo.toml* file. For example, if you want to abort on panic in release mode, -> add this: +operating system. If in your project you need to make the resultant binary as +small as possible, you can switch from unwinding to aborting upon a panic by +adding `panic = 'abort'` to the appropriate `[profile]` sections in your +*Cargo.toml* file. For example, if you want to abort on panic in release mode, +add this: Unmatched: BoxCode @@ -87,7 +89,11 @@ thread 'main' panicked at 'crash and burn', src/main.rs:2:5 ``` ``` -note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +note: run with `RUST_BACKTRACE=1` environment variable to display +``` + +``` +a backtrace ``` The call to `panic!` causes the error message contained in the last two lines. @@ -189,6 +195,10 @@ thread 'main' panicked at 'index out of bounds: the len is 3 but the index is 99', src/main.rs:4:5 ``` +``` +stack backtrace: +``` + ``` 0: rust_begin_unwind ``` @@ -341,7 +351,7 @@ the type of the value that will be returned in a success case within the `Ok` variant, and `E` represents the type of the error that will be returned in a failure case within the `Err` variant. Because `Result` has these generic type parameters, we can use the `Result` type and the functions defined on it in -many different situations where the successful value and error value we want to +many different situations where the success value and error value we want to return may differ. Let’s call a function that returns a `Result` value because the function could @@ -787,7 +797,7 @@ use std::io::{self, Read}; ``` ``` - 3 let mut username_file = match username_file_result { + 3 let mut username_file = match username_file_result { ``` ``` @@ -845,7 +855,7 @@ filled in with the concrete type `String`, and the generic type `E` has been filled in with the concrete type `io::Error`. If this function succeeds without any problems, the code that calls this -function will receive an `Ok` value that holds a `String`—the username that +function will receive an `Ok` value that holds a `String`—the `username` that this function read from the file [8]. If this function encounters any problems, the calling code will receive an `Err` value that holds an instance of `io::Error` that contains more information about what the problems were. We @@ -900,11 +910,7 @@ use std::fs::File; ``` ``` -use std::io; -``` - -``` -use std::io::Read; +use std::io::{self, Read}; ``` ``` @@ -979,11 +985,7 @@ use std::fs::File; ``` ``` -use std::io; -``` - -``` -use std::io::Read; +use std::io::{self, Read}; ``` ``` @@ -1225,8 +1227,8 @@ you can use methods like the `ok` method on `Result` or the `ok_or` method on `Option` to do the conversion explicitly. So far, all the `main` functions we’ve used return `()`. The `main` function is -special because it’s the entry and exit points of executable programs, and -there are restrictions on what its return type can be for the programs to +special because it’s the entry point and exit point of an executable program, +and there are restrictions on what its return type can be for the program to behave as expected. Luckily, `main` can also return a `Result<(), E>`. Listing 9-12 has the code @@ -1266,8 +1268,8 @@ fn main() -> Result<(), Box> { } ``` -Listing 9-12: Changing `main` to return `Result<(), E>` allows the use of the -`?` operator on `Result` values. +Changing `main` to return `Result<(), E>` allows the use of the `?` operator on +`Result` values. The `Box` type is a *trait object*, which we’ll talk about in “Using Trait Objects That Allow for Values of Different Types” on page XX. For now, @@ -1388,13 +1390,11 @@ more of the following: Unmatched: ListBullet0 Unmatched: ListBullet0 - There’s not a good way to encode this information in the types you use. -We’ll work through an example of what we mean in “Encoding States and Behavior -as Types” on page XX. -If someone calls your code and passes in values that don’t make sense, it’s -best to return an error if you can so the user of the library can decide what -they want to do in that case. However, in cases where continuing could be +Unmatched: ListBullet0 + If someone calls your code and passes in values that don’t make sense, +it’s best to return an error if you can so the user of the library can decide +what they want to do in that case. However, in cases where continuing could be insecure or harmful, the best choice might be to call `panic!` and alert the person using your library to the bug in their code so they can fix it during development. Similarly, `panic!` is often appropriate if you’re calling @@ -1457,7 +1457,7 @@ loop { ``` ``` - --snip-- + --snip-- ``` ``` @@ -1509,7 +1509,7 @@ loop { ``` ``` - --snip-- + --snip-- ``` ``` @@ -1535,7 +1535,7 @@ confidently use the values they receive. Listing 9-13 shows one way to define a receives a value between 1 and 100. ``` -pub struct Guess { +1 pub struct Guess { ``` ``` @@ -1555,15 +1555,27 @@ impl Guess { ``` ``` - pub fn new(value: i32) -> Guess { + 2 pub fn new(value: i32) -> Guess { +``` + +``` + 3 if value < 1 || value > 100 { +``` + +``` + 4 panic!( +``` + +``` + "Guess value must be between 1 and 100, got {}.", ``` ``` - if value < 1 || value > 100 { + value ``` ``` - panic!("Guess value must be between 1 and 100, got {}.", value); + ); ``` ``` @@ -1575,7 +1587,7 @@ impl Guess { ``` ``` - Guess { value } + 5 Guess { value } ``` ``` @@ -1587,7 +1599,7 @@ impl Guess { ``` ``` - pub fn value(&self) -> i32 { + 6 pub fn value(&self) -> i32 { ``` ``` @@ -1605,31 +1617,31 @@ impl Guess { A `Guess` type that will only continue with values between 1 and 100 First we define a struct named `Guess` that has a field named `value` that -holds an `i32`. This is where the number will be stored. +holds an `i32` [1]. This is where the number will be stored. Then we implement an associated function named `new` on `Guess` that creates -instances of `Guess` values. The `new` function is defined to have one +instances of `Guess` values [2]. The `new` function is defined to have one parameter named `value` of type `i32` and to return a `Guess`. The code in the -body of the `new` function tests `value` to make sure it’s between 1 and 100. -If `value` doesn’t pass this test, we make a `panic!` call, which will alert -the programmer who is writing the calling code that they have a bug they need -to fix, because creating a `Guess` with a `value` outside this range would +body of the `new` function tests `value` to make sure it’s between 1 and 100 +[3]. If `value` doesn’t pass this test, we make a `panic!` call [4], which will +alert the programmer who is writing the calling code that they have a bug they +need to fix, because creating a `Guess` with a `value` outside this range would violate the contract that `Guess::new` is relying on. The conditions in which `Guess::new` might panic should be discussed in its public-facing API documentation; we’ll cover documentation conventions indicating the possibility of a `panic!` in the API documentation that you create in Chapter 14. If `value` does pass the test, we create a new `Guess` with its `value` field set -to the `value` parameter and return the `Guess`. +to the `value` parameter and return the `Guess` [5]. Next, we implement a method named `value` that borrows `self`, doesn’t have any -other parameters, and returns an `i32`. This kind of method is sometimes called -a *getter* because its purpose is to get some data from its fields and return -it. This public method is necessary because the `value` field of the `Guess` -struct is private. It’s important that the `value` field be private so code -using the `Guess` struct is not allowed to set `value` directly: code outside -the module *must* use the `Guess::new` function to create an instance of -`Guess`, thereby ensuring there’s no way for a `Guess` to have a `value` that -hasn’t been checked by the conditions in the `Guess::new` function. +other parameters, and returns an `i32` [6]. This kind of method is sometimes +called a *getter* because its purpose is to get some data from its fields and +return it. This public method is necessary because the `value` field of the +`Guess` struct is private. It’s important that the `value` field be private so +code using the `Guess` struct is not allowed to set `value` directly: code +outside the module *must* use the `Guess::new` function to create an instance +of `Guess`, thereby ensuring there’s no way for a `Guess` to have a `value` +that hasn’t been checked by the conditions in the `Guess::new` function. A function that has a parameter or returns only numbers between 1 and 100 could then declare in its signature that it takes or returns a `Guess` rather than an diff --git a/nostarch/docx/chapter09.docx b/nostarch/docx/chapter09.docx index 0d12dd631c69419292317bb6d9e616161afd1aa7..6571052edf74885efd107d597616e20918e42e51 100644 GIT binary patch delta 72965 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 lXej>d76?y^`k&HUk0-I6$<@25vK54= zoh{gDK4uwM>6Etfg1x@njV@RgQCKA^XQ5yli0o>5d^CC4c!(LPZ7kRV(O+^N2XUEpo%QJZVT(I zf(h>{Ed|mzUs?4fWwcGmN!irIh4%4;3K-v+P>*~cu+=?MYl2pgJ&Ax1!cY}oyP&vo za%o7J@3+~(>B>?|==HUm4^Bdi)N@ni{fH6TcKqLR*rl04Ab;imgY?#e5D_;O#Q!H~ zeTU-#kpw9Kw$6hHYnVMJqxfV#2vRzS)?tdb(OVBffK`bYI_E(I=}hgA0HJd}7@^s7 z6sUA4UBbag_bOpy$oyx$iF#H+;_fsV2do~-7D;G&>p=()&Zi(~eFx)_&Twe2r+!8d4AN|BH_j7R_?m02l@gnTaE?nWdq$VA2}DIg(R zFl08py_vj2#n5gtt5TW3x(Jhy6{32k)TArm%!E>buq(OLoS`jse?b*XzgPiu5Jf|( zn;vA^@(ku#Li9Yd{TEvW9dBNyS{j*Sm`YA%o|oy)HICb^)UI+6XkIr6B7@A@F$G-)S+X|Yo?`!9YeYO{Cz65ROd?GkXE{LH|2>ZPW ziOm#h#hHWGAaW^i!IsUNaFkpWkA5K}o+WXVoKZwqegq>Lja)CIDO*W&*IYCYJ|p>o z!60^cMgC|NjF3llQ?6f6J5Eb>W!+0J2vF z01*HH0C#V4WG`fIV|8t1ZgehqZEWm)Yj5MomFV{i-2cEB7s(9Z2j36PwgZxqGL4-~ z8r_~u_9np$MU^bZ6seGu)y`sp{EY?n{<-{;TjvxhkrYXhv}DOWp53%3n#u_cy1KN;Vij!!^KTFn|Us|S%=Z| zM&tz^e_KYOOX8S*&vt@GC%#CBb3eBmZ5lai`Z5eC-?(!pe@e*b?HEGmL6jTgM&BJs z>@g5sp(yMQC3PN3y@6Tn3?%m&h|X$fB&FX-6^m2*jU?`lr1cv~+8s&nH_{F{Ep`b! zT#|s^oQ2WCN$8)^{msIO9#+dMI`Gm-you*~$rBxuSF>RpFL>xNBl^~6goQNiJc4$! z2&crCrr9Xrf4hrS6b#b$uQu<))CcVS^vC86;n`rh)~b zb`uew!Z8fuxwqU%hehAf=*@XH$YT=#9v6Q0+hRQts4X{ju-G4ynd8+XgyFpk%f zt+H_#R$v@&3s|A03@lG3H$Xg1rt?mth#6dO;9Vzi=1#mJbQqCzo0PH{?rD*O(enOz zjPScCTrIbwdCwc|{Z=Hd!8qwKR?1L$CXb&tnNM?PNhRgN9lXB}!pNEUbVigtI7;Ch zVgUZ7e}n=*@K^E~uLG_*kTDmx)T)|<(V8SP;H8}nF z?tae-Po1Psx){mpyoNsN%T$gDtT6MC^7D zeu%fMkFTDBe}Tc=%Tp4gxrO2C0%fTnR9>n2ltnR zf4lgWI8*adxP+h9rHDW6OZo^5y&1Frv}%?c6F_o8@++RxI}s(42l}uRxbu)|;-Bt9 zSKw9M;3Y`~B+k7!38N?K0U-WhV8r-`2r#QziY6=UPKuraX1~oo!O**l*YzN|{UL~m z8&X#TID;Dj{l?tdOXl3t2|V{#@Nf-8f3^dz2Wv9<)|*aAP#oTw)F65PyM0J!|ET*2 z=Y#pX(Z|u4E1&`>s0D@W`}#rQP(@Q6k#j3P3%NBDBf)e#r<)w1GdTip76qTI>%3yB zT2b(c{7|rl8i>O-f{*=&yih0QQmIR6GERSHHzV(Up1`O+l?R0K)-=RFmmyU?e>!jQ z>4LIX+X~7~B)pF@zx|I7qmSRc|Nh^(zxZ51RA|les|x`&0Q+zLHylqKoYpPV56eHesx7*M$slj+q5AN-%L7`d(1at9zglw9Xb zcHOD&AO?r!xDQE0=hEWyxi57#Hl90NYvKLe5A`ugv?i0}c@sJ|0Nd)Fe{Q(Hl@3i# zZOohOpYoX9M!Bgpi?p#|P}2iEzk*q08#F4bImx}A_EK6kmWo1bYi`5)p`U!~wC-ELh z%q1bm!jTIQEi4_<0`)H}_n4vfYd`ts?vfk*`ab#QP1^OAb~67af9*>2rJt*`Q)S5# zD9(z~PSyCau8xN1DD8wZlXjoz3=?-neb8ALaUUQC4%QReOapEetRrX1Il=S{r5^db zB<`Dg`V2`Yyh*y(BI#sPvb3QH;v*;NBx==}W8t+1f%geZv{%p1&7{vSoqK8_(ud!i z%jXIq@l6Po=*u`)e<7r5k}aCzxG01)TM$icbii0wdvmKBdAA|a+B6cR+Um&k05ozS z8J44?8uymVOg?7u?Z~o0+0>&8=2$iaXW2I!l3#O0j;8bSZtn{7WSD_FQ{t!d#W3X| z=G%m$^x_cqUL0g)bpA+QXxe6fY*$IIyc`YP&I$M17UJkYe_w8?fooXz4|G(A+6spj zpT8t+EWK&t5(fyvq3NlOI?n#7Q-Q6OdW9P2P0^Bv{HUnL71JD#E$bvvlWu&`hPLa~ zxco(^@gL_TBK4YDz^MA!sOn;rhCv_hY*n>@fw5PstI-yD)79N|HD@~kXA$m)m`o2X zXMah0TYl5qeZ%AsP7jfd6YNFQ@1c(i7z1rmxKu&kF&!mxx{qq9f^~-f3(6g#8Ts4-8Zpx%=vc~ONzlO zvZ9ufn~E?R3D%cdLo4Ifg7XtgwiA<>^8)V2x#!Ng{|Hyyx6UKseji4JdmpgwGhP^Q zcXR5wC36s3i>2q2x3KFoq}AItzSkqIBvY0&UN41DMQJQ*;t&dNzeH(;i#R`N^}Cff zC3FD7f9lsTgGuET>$>wMkopUxx1CEn0_kjP{$*Vjh8AD)>ZGwg5*5w1`|0j$At1npIKIY+kZ}2lH;7roslLEoZip zOX-~#k5?-%ygjL{ocXj`ES%`+O_cN&CCb}Af1k1_5&3f!CA`e5s&1AdMB>oYR8_+O z?`E2&BA6EL8k0y)2)nQ|FnItHPou$ zWay?eF7HNHsKDe$*jTR?PE2mq1Fv`oftOy|2fRBk@sU#d!LD+G9RZr$Hh6~BkObW& ze^95sL~*<>4M%pdNb32J91dlD++cjCkbEB`QFvNN`t;^UN{A#P(+|!)v8cWKfHO*A z9CJ=YIER}#Zo-8#&i7^n!imtPcTI0y(%-m`)Hvqm4tnIHFuetXDw{U_d&V^{}C4)yq z{=V|)Twm4NpTZTS(H-|82-iND-V=-oQ^zk(d+P&goq)rJ$e7wnoCktnp>JU%c|v9o zT&6?4F1)+plya!&`y3o5;Q8d5yQ7w3hDbbnV?h@i1XlI0fBrXJ{?v=HVHHDij95mdKw?;M&XTTu8F|!V@t<<&rf)y) zbpJc+bx+CC51+`CVH61fib$exxe_=)gRf;}U z7r^E8&lQ~vazjLt=m{@{ST#)L?Dgv>;9|f1Oml+m?5~}tn2Vnl%OqUHU_VV(_tZ)( zO)ghFk6NQs@w~BHJYS_VHzmSqv7Mc(op(eD~UV-)T6Se`Y& z|2@@}9DHHr+*5~a8V1z)NWgP}Y~9L>=ag=eH6d8j6ce;FAG~0SfAV+NubG6&9GrZh zve;PwJyG&nv0h=srB8V=mED;ULO#1>iIIV8=Il>H60<4Hp}H!6|9ucA#F<`l9*dE{ zC$KuSnSN|40EcFteu{R?cV0qujbA38kF9%$wFNb1JF9eC%9KZ0Mspp1>!~jsHv;Q} zdbc190CB`!p;%eZe;I9T{CGHra~06pz|y#adCiubh67v{yyNgL{nPO=Sai-{n0XPU z(G+2H)sFu_7dZ)65T#01QE;>cJcAq$Aff5ZR)n&kIh}fdbc(7cFtu5jgM6mWfAqSv zgG)trJ3x84kMrd$@g$>p?3*^kAaIuZre}(u6FvP1``-XSh=tka< zM}}lTWIw;TD*f-kx^Z8;ACD*NtsEy6N7D&-whKF(t{|$em~_5^)|OX4Gx_l|`*h_v zXyLMPil>wnUfCXTM?cKgQ3O{G0@6is)|9?1w+%J zjw)YWWtytWf3pr%Ux3kc`w7w%-eM>FkaIG-9~RKt$;^DhOPI(0ZPl&y+Qb2kMnzvt zEvw~{%0g$%{%g757%wl`~it-2*j4^c_FQFqU zbqX&zf7d5q^kcYyT1Jlhz@*3DS0Ehz=sEPSSG8giJbF?1Ftcj2FA(R+Ai+B%fYdWQH<|yrx`?yuaQ-`Uv57;+ zn5_b4PJ!In1eLD2Z^JdA{!dflr&~wHe~wtLUU>pBtrqCN1$Y2IB1ASoD6J)z{4DkJMjWs`LQP0B= z1koH4dz+Ib;Prgw;lv!^q_VS;0XDQwAR3-$U+~7kA40?eOjpZRy3p2D*%HeKf838% zMY6`Hk+U^P1F{G)^XzOA)NI|4(*a;nWJXogfcKU>xpyLEU2b`hV;`Vj_aGv;ZLxW#_u&z)pTo@SGS ztX>b!o_K*nF-`FrFTkFqzpxUq-&r&;tfmE zOIu;ypxjUVRl`_PB%Qi~;FouV@pHl1#XR|rBp9cL++Dk@@(Zb&ow#blB0%IgT5_X#GC3!l9h}z)cNMfgg zOZu?F4EFeV!B<~%|Jee#yd@1qU2KzoegkeD8_@rl0Q%~}jhuLne_@BoDhe*XF4mFM z5V$OvV?}r)@OA|LUoAi?%0t5*Y9%rKd`-F!dbI)7AHi7%3piR8%DK?ZV|6|;Vf)iq z_7@A4Tbsb5X{(l6>J8PNf;t&zdp9qiy=9insk1WWegksyH;i>3$dq#u?l(pL{mmtp z(^Ug;P&`Mx8X1yhe~OYeE}ahfhKw3y1Ytr3$QD>-^Yh0aKHdFfnfAZmeKhUSJK<-p zDn|%TWR?zeFxCqRvtp544X+roA?jAi$X0Z9BpXukNV^vi4b?j3E=zIJbru%2gNAc7 zuG88KkaMh*FHK}~F8w@ZCdzDS5i^7luoMKlsbPIcS_TRif4F!KF>MT2qBoU|lNI$+ z{JXf%8y-n>q-=jI)|ucV+q_joru+8n9X$fmBv1B06(WDI`w#%@KsgX|!yw~BT-bX6 zAiJdCn?do!+<_Vzw#WSpB2RTT|DH8tn4$$&%c><)E!alrDuODhZRKkYF6}Dga#85Q z_Mz`TeSkmne~y@XB~nLB8HlW4ty<Jy zL;4c&V^#=R66CLyB#}dXpG+@t=kA72b6m-gN*<|&vx4G(&S&|!*Gsq8JL#~hgFRK# zvP`KIe2_-QNK|aB9Ir9OvN%;2NuEB8vuGvBbFnp?%Mm5{kHE+QY&}MlZ_L@O-YYBB zXjA5Uf3}j$h5c%n#iW!y^X{R*5z_d~NGqzT)WQMIVHt0Hh;7s^kyZgwn8t69s66R4AV~5P?=R-4Cqty(&guCo^h4 zbQD37O=>GnYNy$8>D6m?!v%y8J_4!a(JEzKJNF6#D<5X4&3jbPfx*6zpTYKS`TKb% zf29`qb~+T9QS&IssCI(|Cw4vW-NhYjt>L~WYwlyXZ~{Q^+zjICJ8rytIi0p2!sPJ7 zly=izaA~D8UM0bmjXTG-=*%EX=lnyoJ< z6|!sX_%_G&-5N@G%91$2t?%I)ECw)+>YM812F@-q(U$vK3n^C8TT-{pXQf4dh&Bw7Q&4-%sBVy| ziG0?In)0s5HV}Hfq6Syn6SAf9=Pk?R*t&bMdksrensvLJe*0ac;>j^<_X6z}f6RJY zEE?N_q-re%!sS@rXtyP&4r&MziS;0$tDZzqn>!(F^C9%} zfreOFvH`tRXyFZ+L}()muNA^_f0^6LqCitGB5vY8U31^D<}aLaCE(6o>`A(HdYvR8 zi)Dh_!m^G?uwi&gKC_~wM>-DdT;28?icn?INj$<~5A0bIUzf?Ds{BJ#O~oFTA~1?z zjK+d)ZE)FaYaOGUN$y_4y~{cWG?^Mms%truq8YMk_b#M-D`#o|uA&>Ze<+Q67ec(1 zGqG|epCsHP_YP#uul_7ta^fW?{k2UklV%7*%Nmy2R=j!y)JRX+vWEr_a`KJZoRL()TLO%vB;a{(7+qOt7T`KN;$z8E4HAP3qUPVl!aVSx!D5f3BA-3vK{O}S2P8h zXvSnFQmJiZz!9Hdkx)e|f5y~m%Jvkp_UUO?i8HRVsgparNo|_)ju&0ljP%IFal-jsoF>Jx^*CaK84P#@H;|1K^$o6y7XZ}H= z@as!zr?a$DIt*CZVX(X3HD_)X;(IS+Zc44)$nN38-fkq6MwVRgf19l%+3;eDKx`z* zVOh%NSc2``DE#S z?X=6&hUU@jLlC*)%E!jjFmhV>K<};bGHme;Bk&@x+sJj@GI-T2b(K&hW2_FPrri3A z$_Pp;_GL*nU~O)de+b9^1#uFsTsW`=@BvZc8I}`H$lQ7Kp!p>n9nFen?x_(Afeh$o zkjfA&zQ{WELh?4Z)tW&WK@4p?(gF;q%SiE*mMj*hafxLc9PCKHpEG}-jk#^LO5NO$ zEe(gOqPd3Mlr=$`?E7iA&rOlZ-p2E}GN4MfdUmDXWHp;Xf7v00I-s%(i($J4$~ADF zC-#0M?ka-ATpm|`04@38XcrIi?yS3V0-Y{Wx|40m-M+Os5GVM&k)ACDP%=BtP}yx;sf~3pr~?}5ZW*$Ka>SgG{90VGNmqAM%!@9 z0htmqEz2lOf6_hx+rwg5nFdO6+^9P%VBl%9pLf&0lfp7*fMHZOg*}3A%M4UwL*t6A zM!@dZ+kUsK^ZpD=VM44I_JS3q^8Bttk2Q&n32C!ALbOClwUssj7fll^V_R|Yd<*wS zujC`-w0fba$abR8=f0=bPUy$GYF#kyM1CMjS*b-2f7aaMzAot}V>`-*`)Rk${Q~7+ z-eJQ|4Mts1Km;chz;PJyfXR30uNZUE#tKYjK&jzRjoMU)y3I?a0Fo#QqM)JQxyQpy zfpJ6%I=c-VhEdukBkz>8S7#$LdMlWyyhJhZB^Exg)$V~vnZp1glxhTC{t_XAt8L^) zS&?kTe=N1^X&>+T1#;s{Z>Li2p~#zBY4fUTOX7HleFx9N&p;cQm7Om`51^WEdf?=C z`(yTrrCwGuj#Vf)k-L`^-^A0kJM1 z#U5|%YIxAJsGEF=tCQR77W|~}BYk99rJc*_e|T&d{L8uswPs*NHDmt1!l#I6Z+#S;iH#lWNcOVpiL^N2N9r6a#GU=`~VRW55uq%UkBC3v2JW%tF-hu*+m>szd-= z*GTE@8tw335&Z{&OQ8_*&~VvtXj_C{nIbDev&O(odAA6oZM&CBaJ*gv6Ia^|k&U#f zf1sK#4`6Prm<1BK`AE8qi$B$#}C{WjoR{TnpmaI_=Q+;&hW+4w>~>i zu*GWO*trcXAjq;$7@B71Etw||xzWjwlw}3!?{&v_f!oe;Q)h9ArPXr=hWE%>&s)5VL~0EfzeC)M9!s z3rPaDmT8pGnR2Tj@q7$LLfInh7H2JR*AUf&*tnD1CBFOZ=CxU&ptWJ?#hVzM|ZHoZbTPA`-O+7gOJs(7+ zXvB<5p6Vx0z~U?s^F^|`6Fjlgw$h{TI6hyGDQ@~rB+FF--Qhgn!EXF01M;1E+L-c! zXlf%>>0JxeDSBbpyez!-=tVU)fB(-j#cN84R_IR;MvU(S%Foe#2$7Z+q@ZeJQ{~N4 zrI?~ARm zO=TMZJTA!=c80V=^k&=gA;sV^aoi=1C6A<`VB?;>LKI05Z5un2eLPxY76prUO zj)z=MocuH))JOS=wf`?ue>gV@ki5>#p?i?= zWK^*Ik81QAAPDz{@P;_$C+b9&X5y3>s^-jiUDtF?5)@%F5nO&E=u_z?^$>63q!Z;> zBg-0<&mWZy-ZaD^lt-MCTrZOjv;z;L(5$oh|J`zsrVYwYv!f8G1 zw!=%f-WJEvNV-DRe+sfl|JQ*MHQh2TyVZu)(^Fy(lk32g*u&mBJSFxvIbL44inY3y z#U+1o=fr*JK(C^vj|9_fv)!KxYl(5~3y@}aBkbTxSARt|*eR5*II``Lfu|V4y0^S4=mx*Df0z3#Rj%GUWOgt*>|u8u zo(_9k9xpFir2+SAKlx@Ad;cI%j>GhC?0YW#ff=R2;1m4y9)5>M|9tn?U*9L+!2i-G zI#9E0n8Mi5+8igQj751=S-pG&!tHLU9bO^7B17#I3R%+>L*Pe%_Z;a+_DB?lqjM94 zJ)&%f6@)A~e|us<$SPOPP$8pyyFuZF=j?zV%y*zgaWpb4V_0gQaGpxp=p9`<7%ld& z%MMSAuPB`-XMS)|4}7;&kd?yjR1Q?e~pXmiT2C`ml- zzI+Kf?y;{TS9f+09c{cK%kC69TG4b%mBmu|m!j}ve|sntH+!C5E}p#n&^S){VMn>x z+f+FkNmuGg)TMD7;udXf$e{WXbllz0JGhEYcXR%NbTm?67wQ?R zl4O@#f7l43Y>jOjRQFkl#*>$B3H&+KZV7D5#~JErD*0{};S~L7#Sl7aX>cEgL#&E= z1zP&##ajY@4%J(N@QPB0>VWNb84RFozXNH?;?TB4u}!4<^rR`AJOL;O=a2yugzgr| zc_{yDl%)+@OPZpQnrX}W&VguWN~$N%5emXNeT@i(n$m2(v zFycpN7HAZNlV<}3@f^~Df_Sd^Kq}U5GO5NAf_f(nEEwu|G*n7;v4Sp2!cgAkM_}45 zf40-^-P3<48r|;27qHOn#5CH&c01s1{5+kWUkEAf+xZF3f@6n?$Jjn5TzE-BrkC{{ zJ!dQ5{~0raaL7qC38AG-*3spCKxeV_DW!wYb;u5bS-ZE%bRLf1bP;p5v;)X$m_!{)|kWPG{LSnL5QY=1;;G#k0Ck$rr_A z9DmuS4sccvTSwG}l7z-mEnPD;UFhN;uO^+7jcw?t7;%83bSBr1lLJNDu{ zY##YgHV+G2os>a(oKbTm2I+Ae&6~|rbR0yRR~2mfkYgfIv`js}`{|4|e@2h9dJfJI zXJhm9IH2dOY#vqYOu@3rnwLB)>dt!yNA+-liI>fe?8 zVBFNB8~2g8>7YHi&%s8jV1k`_HWBkd=6U<#mYO0f+DNfWwMmkoe~)Yd4<$N#C3pIc z;=++yiuYm5Lt1LbC-hgGKs*u_^e;Pi$p?0KZ+U~7tLqZ63-Rfnda3>C1wxAcB`U$xk0{29J#|7PKb$a`2eO_m;x=wDLiGBKgAB8Q&K5f5GoKM*4)g)@&so1v0{0KKd z6Z@{UdV)2anG6WSS{+*Z5LH*wHF}cM^*{{m8Xjm0D_2Q-P zJkf=$=Oo|~x=Io}dQliGNRV)kPUJZgI>l43tSEB2tk8?Om|%a0Jl$5ck2i;=tPD$` zLRnQ+e}0U`$w#7BE1W)6P-rb3I?2EO`QKDFbAFg`;fxDc$#RwaiUSHIpB*XO2 zTwO)Pr!N%S`tDi4%y;fDp>$$RxViI4|Dn{6ifoT4P(@2MHMP{oP955Ysf-$HgkDk< zf4pb%I^}jR;8Lx}8CT*Z=X(L+R1gsG&{lOVLl3}Dc^IzaQ}k630m~@-8*u^OsfckM z#&_@_y-7K9F<@`VFm5wV^ zf(LXbeF$LZ(Ce^h`u`C%uu+O`@g!V=e2eftHKn`>S{42idzf>nDTChQ5hOCBznZzm|SVd9-eA3jsnHICX2ye(eP#^ZW;|0yD~5(KM1 z{I7rh&)q(vZTqor?q;`9G?;gJR|D5Po*%>}nHe_?vYrvrfw zV@`-Wr;a~~8aW{!6YWw^S~o}3BDopXfGXS(8C3(6q~dneeKb@Kkrq$a>bkTK(S|H? z;m;iL(GUIUPlff|AY}Iu%r*BtMGDwmO!fI;_y8u>JX`}yMZ^uM+sVzM5FF7|@ScYg z_>siaFsNjX+v_qYs=^F{e`bvptT)I9JgZKs>1310wrY(VVw>Mmo5?I1B@+tug%dq| zLYp_E7|d7%4gey>1Nh`uh=ceFthcM5BLu?F42;#o;Oy8iKi!3{z^l5!OOjrEX9PyW z=EDpt4RrHyJ0Wg_6WT`)dl?eV(bj`xMAepZs#vm+IO)!khbHQJfBvo{^(xGX8C~s? zyJqS7h{t`N`KX#~n?t#|seO3BuL=oQa^n zue>PrNw)rCoPS@!?#s;_-hyq1!PKkw!+^cwfZ>?fN4Bc;1)7%bKCJ;*GMY zS3D?h|I&nkf7sgls$L+vWMwt6a}1YQJUj0>FfX!O3bK(YjkkNLpUZ={cC9%1AJ*(k8<;(T~DX zvy0EOS)o#BBe{FQ1{RsVx)&vV;Eoi{7y)|$Tyi692k@UQK&?pB?G}fn`l~lkSA)8S z`RIRtc=+n>YxGX{(Y7Lqs)Priy#f3g0H?y{t5GY6tA-%U26o_lgZO@F@?R}LDw_%~ z$QJCQf6AA>sJ3j_rA{Cxj33;cfqimUopM?_dG~p<%a`jv;q24YB1hOD>4)I`< zwwZddyNcuNK}?7*!YC^sugH&Y77a^o@*Qg7P-W@n9E82DL6?DRU?cDyAPEIEX(%$Q zm3aulH5Xwp5PpNw7?JEq&%|kY ze`Uq$-EaYAksl$jR>)k7Qo6*3iKP;3w(^^X&80{;gXZ<$zR04Tjzw@;Zf0F(pm$=| z^WI(DLH?2Zo~*f#A%z2|)43VM)py)@_cD&^hJFZ>!w);FBxIL;2P!t%RT5m;Sp`8l z-)yzn42#PxqWG5S1;8egGVE`tj7>9Qe@xO)WM;U$E&%tY(qPqwk}g~2Z5!HHwk*Sb z#D5-) zmTZY1W0&T9MXxY6w>|u&HUhj;8>?$Gjx1YcduiSLKk$>-$af9p09K$LV{ltJB*aO=G|5)sHQzc5`bg8JRe@n~4jDdNG z^Jiago@6s3ldL3*tV-TWWV;(Pw!5SvGb17+wDN9L&rUo%-O!%fR@*E@j!(hD_?1Q9TlumkL*E|v^5KeagQ>zkCjpfI6c*f z(1-GAc72WA4nv$>vQl0)TB~OB$e~T2qS`e4<4+xJ3j6)P*^2>b!2M<9{pl4pJa;?`*Doj!Ky&iT9 zEoWO~t53;`Q0c$vXqF;t)gc~Uq-b8H)#eXu9x~Jnn!m#2z|;>RJ5d{|fY^OQcOi(+ z)Nv1WPHykrp8$(@hf5l)ql%TOAz=Nca3C!*OBguxOjgm2$JRkNM$>)yW07K`0_O;^mXH7|)DMDT zN=^`pUHIm!zffplECtOGZ-7|W(m$@h`~9m68ix^T2$UUJv#sE>5~bfow4-TR#JJVM z`E6XNl1B-3RdKC~@;6P}^;CVom&Wb2GJCB~f8{;T!`iYM&&bhUdNF}5{OJPs4!P&<%rp}vV7JFGy!lCGOIpfy4R7$7q) ze~A5%*LIPIEO)obg|x}|2>^MRdGnMk(z};2H-BA5L+P^po8%61RO87~|Lo}L*4Hzn z22Uz#p%&G-gmL5bqfj-7p=*&YVPGqL-JBNqaU=Z$B}0fpo~@|i0Y1p2DAXhd>IK%KUc;!VDBG=WFQmt0vmrFR zmcIHSgUav+dgzJeQyikNq~E`;G=kNWMvXMnG4-m8=qZ+|`vS!zub4F8e=0t%?Q2yN z5d>e2$RavtV?Q^$>7BbFR`f2$A~&LHnJR^r9{54Itp?gC@3Eq9or#&Lnx;F77j~{} zXhrT*!Ue;RaQ~g?T|3}N#XZmgM`!{P9d((lE{ob!HZh65wf+%!b`EDGIpy#0Fj5xV z#4r-@Uu@j~q!ko3wREsjf91NXTMW)}s^`99`eY+UwN6cw)zI_Gt@pD%Y)3qg!{TL~ z25pWT5wB}h5(AP5GDHTRA4ZCe580ZCt%X<8pR?!WQ?kauKn^6aY(aZ{)a^Qdo@We{7S}yqbPzJ?m3F zJ;sR>vg-UMt`iwP%M;%;Jh)1pS=;aTv!Mpg(^|c-FbX{;|Nhs1ms+B8ieWMNEhSY= z^E0Bn<&+}NfDyr4(1(hLEV1X1V! zKVD}`>4$XjkS#ZdNl43(f_g^c*ON~3JXZ^X^R!p=C0(iIdops{uAjwH zLrrzmN^)|d1UIKh@CFNHw7wcSa--1HU^MLXIfm<*jCL_yRkqCFJVp0?Nmm*IIzwUa z-)CgGR-gbhfBhWTRf;)HpIv?Wojf%NG@+4zug(^|6pot*TMqiJ=rO{Nt{}ZAc(p6G z5;>tYi>sZs!q1COj91hzxW3L)z9pv7d!9xfOEIgyXMK|1^Jxy|if~b= z!G(wtG@LNht!gTMqO6&ugDu7yREA9rsCcgGJ5YtXe@|6IQw%$--ej`kxvB?N;*^;9 zT8?^8CYHNJOL;oImjhj_3fAOBvTNqkQVv*;X}Wq5uoTsob!#5R%*_1X{14`%-cxWs zdXPmfKV9~;NHzdLK)%0#w$ta#Yx%hYXjtK{evXYofeJ%aY)uU-B_*0`7?$M;z}udc zfiv^A^FJcJ_*^)i^%r9^s9mOpOmSbfb^la7Hipvse+VNAoPh>2kwqw(EL^ zRbl@$^{6p3H&6)bL$+mESE5-&9qHhl$>lVJ)SMs5rsh}C)ZI{4m0(Z4Mlx4EoB`yB z@WX(1e}?iVxYzdubr4J16u8OQcD?`MbNnKb;I{%bvVT;q5@b@H(9o^HizK+c*HZob zb)yYqv@174<42=vyRsYF3b+0z{)28lO9J&59oxO2LL$dJg;Z#^YyiiV!WhE+)*dW`4M| zlA_ud%6G<688uP=!Ia19HeC=aYd?61Hd6ww%=!gc$*OZJrOwhzvb~aiM)(|>d&p)q z#^OS{*&+LIpc9>0lvkvVyBj{OCcF#w?Ezt;Wq&R7Bg}$vW|XO0iWwnD;Adb)wIUjA z${~jVM}6>B{13_EV_w$q@Q2*$C+r^bsAa$W|5?=vrm79dg z?d=62-rgjo*&)^}PYvF5wS|5`xCuBSvs0Vxpzm=4MDDNI!IpoaiW54O5CakZLQMYq zb^J&ZG%%h8o4Y8XZW6MXq}l^X|1r^P?SCEY30us_FQZJ*tEcp`xAoSM?kcWjPXi?y zTGM?#pxMwYZeY~~Z5EH0MABBoVfmD7F1Ohw4z9WUfRgs%5)}942QZ|m)m8sE%>N(s zp6hb?J6yXrSpYTSYKd`#|1P&$xM(Pb@o}Nxs3vrR1mf!g_gPm_{OQz`?K*PmIe*g+ z1=O_3N>rs%sVb|6LCp8hWJFkF6g1u9upp+Zd`ai~-;X61KH@O0dk@Ny_ zjJw?u-D9*r@WV&Ik%{4sd`#h(B2ZS-+u_}Fo!q39fnqw)^g?>cb`*_jnZz)48plR1 zmf2=UekqT;#A}#sOe{LoI*-^!O@A#78jgjDb$96srX-IPh&ZW}T5la~r_Fu`5U(Zn z7Y@=S_S7Q9&UwUUJgwkg^;|rIE%}gVu%63CVx2(;SO9!n zrSt>W-sRk$R1^7$rT;!G{eR%KM~6zv{VE1h2uCmujucwyvZe-#d7hqo5y3cC=hLCy z@dUGnsPlnnU~8-c%XTcyvCcCtu`k^_)Hj}!?ya#74Bys#>rBOMJ&BJ;^EHUypf60v z*A3@9(+2yJu0vtw8RWJl)`6~?euzM+( z)7W0z=ZtBdW9puH9)OX)jO!e1cwNT9pBCM$!aY|+KiY<=&g0Mx?{J={=c-&M(_m{j zW~jN?6hD1N^zyl1hkp^jOQ6@pP!x182*Wc0CiP{-B>nQ!XQJh3Xd%ziFdb8!i7K0< zTYusN3GhHSLo3j&^8k?aU&G&wNMAc2UWn_=jL5eA<* zG8n3@KKcxUIzTpv+ zFQ6cG--EEoR@*qGC2A#lAFOC11r{`u1v_3QF%)cWGYLi;T}gfhyN(whDHi;G`j`~s z7)Dx8@CgSIG`DHNg8s-=7eL)*mVK0VPm{|R9!~-mu<_LvtJ`d`drXL&)5fF!0$Imm z3R)>rskA`3f`8pV?Czmjc(Xk@ezFEMGLe?={AY6L<6g6Xm{C_fcjM;JM!)D zJdxR<3Oq66#40j3GJrvTVdCw1U(1XN4i|n&Vy0*K76Sk1tI{u4NDgvlI0UL z#vPU}rhnK(cbj1sRJPk(&>L(+j!Ak))WA00eB6wH z8L*>2b!Q=_V+!bim?txk(D_W?Mq77B?zTU}oPTz>IaY;ZKUUXDOG>lv^>NK01cTEP zMM_y^Td^F=@XMC1VcWiGdFYOGwQS1{8CtfSAJ7=;>o?(wo9Bih>mn3+dY+qdt=b1w zq-=DXYpAMA7v6$FN2k1@w4I*uc8c(AWv1ouF4H$pihQ&D{_I8#mTutFh{ ztFatI(-gh3JslAo5+_9gF?&J8aLl> z<7K+2-X(=}9)Gxid4_{$D9jZxCN~LUKYx`0ArOyj>SiXhg=0D(ca)W$-=JhcmB;vF zvJq;JQnb(s4LC)oln*(^hAny!*)KO9#By$$ZHj9wLWuvC$!RNZOFTTfysZhhZ>J~M zFt4n8nFY%2{is>FeJE0rjm9NUk`8rWH4Cq-5P&{#8DGQo{xvNP`UqG#Tj^^!B7fvR zKTtpZ`Z~YXK2UfQ=>zeeKhRjmwe;iW&@?y(bnQ5<5@0FsDarF9EpX69s7hX0CWn!{ z4mDjzB#(b`hq5D%fs|WtRa{Hz1)@S;OL>j=MXr0VrLTU-qzxbrpp8Pb@@=|K7Taw7 z@|E=a*JUj7id-;4A5$*Vo?`km8`s9LDIcy8Wr5Qbc84OR16ja# zmrHN#*7M6%b(qQWw-P~Bu@u?DY&aiDG{V4A6#)@!<&$-iHf96kFHrMWYTF@?J^!yRO`WZY z9?}F#d70iUvUT!yjj9aPvm=|=dTUXUZQXNB1L)6R;-;-cx^)z@WIpbDQ{7Gam@eb> z@&)iUM)DAAD_&Z!GhCl-(jxJDqiV`%J9G&7Sj-?uNOry5T(HViRyS_Y) zD(>^==maRFhPGw-6RC3_h(hq^ie9B0IiM;NFw<|KW^J+D!RQ+7tDv)N{ziWLE1_hj z68eN_*rNPdCNp(4P=7_-*R+SN zC>cd{^#G`;8048xsUDloRmuSG0GxNUAt-~1OS%O&h|WZtGM%w_^M*R}po@sVkArjQ zWVfeygUIg_CiaE2juD>~5sYCQw^a8{TfCVxk2fXq{1pP^WPh@%TExwLhOMPr&es)j zb4|~;L#JAMr<+b__z@JSa`&LB%W`e!-R$?SdZ_q)bV!mNdfPnx=_{L4{cTLa*13Mg@O;@bE0xRjR$;Ta zlzuXdxO7Nl9e)uQ{>dHcS2zYzZVj93Kh7dqH%-N@!m^sK9EOf2P+VS{n;4&&T!6~y zkhnWwCce9zM{?Tdk+i{+^@yR^SDyG}y>YF`wc=5xX@`=PCOyaRpf{A>VmW)M zns0^OSAvIS<<2!9=eobNJ6}^(ugIJpZlu;G@YxFzoPVmd$R#_tKNl3n^5=sBk&h9rVVcQnDwN%k!E;m1>#JP3^(v;k=XH5(=Lk8MXmNvziV>I z6g#Kd+<)sY4Wpa=^;bJ()v9(w8Z=oSX|5ltAOQR&?nSn5Y7o&LQm{@%-yp!08c*jsn`_g%b9w=bybp@V+2m44c7w&Xi8xnWtJymT2Jyz+G;6};~} z$~w>QhC-J4KK-V6YX8TgB9UvI1y<)jbZyqGPs!TC>`By1L8OkCcn~ zocEPWIcOsy zH-As@Jt7lRJfjVLSN#_oK#Z8dc8I(KuPWPe{iNeB`_)q0yn3kXmT(08$I?wj5A@1V z7u}JqP#e6k@wM_Z?{HRcEZyx^c)wvBuYggZM-7778)=h4VHibrC0ge(y?@xUk;q&X z6XqOp_*WXnhh8+6P08N^vGQbjSK$wDYk#$G;&z%$tunO_t44CG=ve9NQ5rTV6VS6z z7R9AyC_xZg5auE;ky6;Ohl77<^c22xn=AnA0|TlE+5@_tTwLUTA6HO8but~rX}j9X zyS}rJJMpu+8TQ1@ZGp|+7yv`PhUPH;5%3_u9D?!0AkS<@;;i=0--?6)bUYmj(|>Kc zAV-*x;vswHPBP^gl$$EFASOZ6H!C)%@WN4WHU1XGiDV5yUW%=y~;PV zAh4Y394}4N49$r?lLF;dBreTI+#^z%IQtL~xC)Jq0tb;b_>@>?Yp?`p^KOg|E1(0- zPN$%!y@!oUej_BH3H4&8J?xncO@AziQAThAkC2*A^V&aCnQ%QJcUeahf02tEDoeFZ z)$^+O4Q8YUst;Me&WGxi%UCtJWsgyr8 zo8Bk9VyLCwbD1#sJxxzEmw#0MNhBDjs%oehLWm<%(J6)>nXar?)V~(UK@@tRX}$>K zabY|$pg>RSy_l%%#oix3 zz5&jCBYlfE1cjIqV4vX{rX3<`0?$6zvlW+4NdLmVlk78kvya^EZ+{BrF&~t-$r+1G}x>yd?1G3Rm@ns%UhCccy}G0*}_i)4WkgFpOTX!bsB)w__~ zg4EEyzFsBIZ^X{ffX{t$kJUjvA^)}G!M%VYF$=cvc_7NVY2F2w&qvZH*+&gWZ#Z!SqhHBoLh8P zsAt*oEKgCYU|*`EYaWNH*|@#RhsU?4hN`dl$G69Fl75UeZ-1SWIu*LG#T=0b_aO5L zj>?AR`D#l%cITX^)u2=ZMOCyaJh)QBA=~HaP5goo=_u z3I}QsqNTGu+}MqiIMBAbn{YWZ`&1}HN$(0tB<8+hNTke z7DkBeh|Ipg-hZ?8EuD>;{PwhjS{hnCl2>^B30h{bsAP3}00cYfZ5MFkd07m{-Ye;U zC0i_l!wIHri+L&^CauwlpM}uOY3KFtx=Yua?Wx(1y~o|vrf-CI*^NvCC&JpUj@9fv zVrM|P{BgrXik`nuIN*y377E$O%ouF;U{OIQ-6yMLoqsMkM1fKE@JsI{!=%KUgs6Ao za6&mt3gtRmn1PLTV++EVF_}QmLEl}_AM|dM`ly(qrG&8eWRy z7=eK$^1L^zl8pe$V>M)w}-~amW8sMWQtPM>z*~w`8o+5yL)vw<*!e_T{XjfRRCg9j>)5GdQNi0s2a z$^&J`hYrr78itu(TGb8UMib{4WMM2Y-}d)=(|_{m0~e%65ml*e;}1_I%zuO#A|4UlDVQE~J}y z@sU|S)mOBA+Uq9}N|8bg?o@**ynm=2U)ZS4A7i?)x)#d1=9yoW6KuLEYiiI7WT3{4 zJymyi7PP`vB>Xw6u!c8KS`OnXn+H5)4{Z^_16gHoy)iIsSSP)so+U)ot7iHr+U%IU z*g+eYu9z)2%8PY^Xg{&EN}i{jlLHc;$2RZ1(&G;pwR=a5&UDp z&N&@noC}`94IcEXEUL|nS-rN02CLBjqV@j5>*7y-=8xuTviDTEg<3uV9ukg zewYX@(S}9zeyqVq!-&Z>n16(GIDn-H^GX7M!@>}RQp-YCXqD*mKG*+%!4(dguei2= zIp`~{sFObm9R{>2x#^|B22t-nL%@(Y%w#Pq-ccA zqh!0NZsbsU5jK0eiGQrx)sM8^!OASj?N1G=-BWEhFrd0uLEiJO7$_peO+%KE#uiH7 zC4x5|1qS2T1%lZl)HsgC9c8sG(~kY`3L0};#~a$d^t8_I*YV>8CN1OYItF^>DBF8? zOEq($1}-RieD)DV_P|wu`46<+kNTX58BZhU7t-C~ftmE)8GoiZ7H#Jy4yFQ<6@~*! znEDhN|L_=+iy>ZYv0r*to8PWqSl9Y(b^((oVC*v+{6K`5jS5FEala7^NFb)c}20r z=*X-15>X@;yX_^>ikF9@v#u|Rj9-4BE2w{5!vrmyQGZoCzKSe>Zm3K*juZ_Xb)}!# zYC(rfhoiF&@F2Lc2TIG~O!Bp+HVtQDOJyIjSqNOB>F9uiJjT>Gjatc;FKB|j3x$}?8p#u}e)vr>ge%bY4`idKbZTa&VjLOku zMbl&(UOqQ)K?sku9+hKyn(KOU#eSUEe$z~3r+>Qc%b|^!*E8Pf^)*Zb64|e2IjZYn zz0&md+n}3e&oO1RedoraGtJr2RM&F6urmK*4isv*6v&_YSs{&6YrYdwYs7<+^>BuV zU7St_IPwB?QB*mw<%2te2QsbU60(#k&brd(;8R|#&U+vG0A0>Vss&ek8X zpmX_{VUCC^IAk%UQMNQpJ>kAi3;?e9eSggfyQCVRE6PtO!&slol(zvn`N`H{(WX5n z{HqNV|BOb@0jkEZ;O#!iZ`~Z$jV1vLdEY}3vsxJXy&Nc^B0?kbXMn;b%Al#PjuI9} z&X@T?-u;j*xzbdKw6pfsTW~H$#brBlv2Fpqu%X5uUw4j$aYZQ$s$b4NtS)k(^?!`A z_jh2+UX>pGw%%26Em>EbN{m#tBhAx|y@&I~Yy&J$sCvCk?{aY3n`HY8u;fK~*C;1s zXaj?udhV8%ZZqimhMeoD8|iPN79}yT;%olsf`NzG!%rjLi34r`R7#TfF+WQ8plH@u zIyl|cgClzw#x;@3St0ws zV={-wi5VT-t|~{ZW}47qwjNAx9O2 zQovQtY~y)_^mF_I21T*YgWhstgFhiW?EWWMZubaq@3|c^uf4Cy&$HF$s`T`?^_FSm zD50WPa=fyw>WccsGR^rEL47^#M!<$k)-Xd+HAeK>#wh_4Y>wof)Vhzh6rr*>0KS-L z(an}z_MDD^?VW<|?iyg(t$zm`I#9$6F<$ZvZ5SKq5QC4#SwB?VNnoHs(!ZSS2OTxs z_Ru2RY}dO54D}g*9K>KNN6T^YjfM;bVm?+Zvx0Is^;zjR8rmGKoAKOsIQB9!cd2Z% z7IV0&%Ngj+qwMk>pcJsyw)hs{abD;Um%QT^_E?y$r6s(rHDL^>M1PO$O3jxNIkKV~ z5OVtrOqd1^F?3_ZIQtDTZMj=_#5j3>b+aE!J8HseKyW8iC~U@40l-p96HORffE}yX z!&+~>WHhk|MX9#S7R32xX#EqF=;8w9W#j;Fx|#zb@_$d~g^h&MG9b3YVI2>}!@~-I z?E`!mKRqo|h!c-Ew0~kY%IEc_Apws>u1?)lLR+(;SdF_nO-pvn!2bhIJZ;QNO(Cushdf?s>)PPoA@H6DIxtQ~=dZ)Hmt*bR?bZ;X z$GJ)maf)-Y8SW%=A|8ojPh0m{#nS|oLK}I25zZTI{lmWay?=3Ki<~aSb8SO&0N9+b ze+?Z&i_~6*>8m%2wH%kCTx;5wMzLyzxaRn-rNGN)+fLM`QB3!IU9pwwahTP9#Tvyl zKL{0Donenew?;8FG8Eggr@7zyC7XutsDV`h(3=H|&eSMoDWRfy#%I;QGDHKEX}ggg z*p>G0NejDbYk#2<;e?gXhLugdeFL>`S*qdajyKJ&<_5tu&Ct>2*!$Yd<(3_1nkNUk z;?Gg5i*%gHrYjq+Tj8+kn!00JL(fk-W5*fqS+pO6s5ikDl{dxQ4aZS^a_zI%Hv15q zuSa2)PWuz0Ub|oGEYH$GJ`t7>kZD8qmC$uz*cK<#nt!INf$Dx4ZOth9Yx3`Z{l8C% z^q4{29fo0HjuZnRg1^sTn$#%E%ddyt3uGbdo8&%S;pwbQi2M_+0fAaEz)zxZq_hO+ z7UqoZCwL-fAQ(QUd<)byQ5nNnUM^)=MmN%|q=6?S+@|Yf0hsq$UfsDyH|Pv-{$&%i z?@loCN`G!2LV7m&Zj|MJ?s=4B$&q5{3MF%1oHliEc!sPF%4JlI(tEjBU3`;mr$4g^ zo`eLJnBw~UU7~oXG=hk0G5hQ4qxeQYXU1Ik!KlA1QxDZ*()x(tC{;6+0 zA9C`y-Db-*#BDEVu~f3Y&sN!Ex}dXuGU<6u#D7pqw^ya*ysdYWT|>8Qr*jDFk70A~ zMaRj}KXYPpILrIg=$fILjG|2-(Q*cjA~bx)FkDU6f+}KkpaqKV6fnVE#OKxXn(e17 zA4VSz0}U-W@EPPaO((EIC7NRpj>~HbVWGLQ=7svq^L#=(^_>AXfsCvydB+9D)@^MrddU+w*N*#SEd? z9U`{9DWlf?b@s+uW2ChRMS_Qnkw^;uL)8lQUd(Hf%e#XJXTvpRnO5YQ701R@WGk?- zL1akbp1xyqq;2yZ)b`LIHG<_*$OVZ?D}TjcxrP#Xh9oFgry+bikEJ1DVUZxWbI_=@+@l+Wxtz#*dPHf)vIQPyWqPk-5Z zyIVmtkj*@XcwmnEK>LOe*AdNQIzjI?y(M&?)$U<4%WQR@tTFm@m##NLK|a}yf+(^f zqQMu7godI;`p~@{uQ1n3#Yht!#Dya->FBQSK3wM22bYU@b$OFq5;y9WzPtWG-~iQ3 z^wP`U;l?GASJSPODRz2j)USweR)3KbF8-wAtg=?|C!^KSF45|jyyZn?XqSpr8hsaC zSsju4rsKr@W?TAKGn8+qJG4vkG`%{ zd?rm^C&YO08+A~;1(;q-4DA~n=8FJSxgocKe$h=Cj0(H29-oLU4uvIb7=Lx%i9CVw zu|~I)fxq!sR5!^YhDhXumtF9w41`TSg+aU6p^QDgj77vug|Z(6V%~TC?xEE9jOAmz zS^*09jBvAg*z5xo>dM%-iErvT27#n5@F>fqA==*SL}A+FHCK6cS437xe{H9WU z-FY80m0yFcSGcY?nlJ-pIDc)nU=W13o9PyNXb)8~(HEnve?%;2q3o|7MY5}^X4#z3 z6+@R*9lC`+19PGc(dy-+qzo1L0$PtyP?p4aD+=e(N5#5J2I5Wu!Dn+N0-oC_i-c@* z?{yYB1y5vLQahE0^X^Rh!O7-nccy-cRD)C$#oH#Qwj5lnlKrAW%=rV z%7`&pc^mIcw;v{5!^k?NHAIESyKDGN$iD_vJG4OdyB1JB-_~9aMqoRp9aP#zO~v-r zD46whT%7pZmk)pR;vmbj?ZBGjSiG*F2W}V{UL^`U>B1RBRSd_r=U4!7w~{~<-+Uuf z|3Z|K6Sx=)|7_}Cpnt>tew`#>c@8lKRhDf+3vZ6+Riqlmv}H&4-JL zbw?4rxXZ{*_&j3leaQIlKFWJD5>DuFEp->t%?{#QV+BBm)zBDkK8#6^vho(Xx{>8vBoq-z=t~8TN^A$ge52p^KICmv*WB$&c6BQu=}D_H4O1 zytNhQ7nR)F3f|fxcTveWKVmv)ShUh^6>`1ppxS0=8^;b5h}r)RW!19&&ozqRhwnZd z&&_kQgqp3pw@1wl#kGAU3ag0qh7m??RIb5iJE-A*`F|&a@L$7j93*-7Z ztnNno03%$;H`Ci)y!>#`g>pnxWZ#oj1p}w2RK({#7LL>}d4xLaDxjoJ+5~cX~fFeI^2zdA|d^=1@|>8(AChG z9QSdA+z8y)JKRabb6@XpgB{!*n)FZUt#l+teT40%Dr>SP6qG+N+dE&XC)nQMei?!7 z9d4row(ErL|Ag3lzu^3_@Kq2+u7`E(Cxyece18OxJd1F2xJHlo6a14q-!%f-m~pGc zpZ^P<0(j!iCSIUvgKs}6U5`isBS?cW3HQ(#!aX!ldmLmQk6H7U>W7XHTFQBu zJ%5seM>|elo!R3#cpw4qFKK|YPzRd_9Hhg7%(X!T=)YbplBX?P9xVjOQWVQG&<>lH z0FC4h(y7$1EK=5`Q zr`vMm4&Zj^(S`r|esu?<@NOUlT8vC75Px{!{~w^X_aI?&;yBw%KF6wBwh76t9JLK;#sDO=zE-4siqf( z9)glgU#v!of?KZ_1?P50d2nX2D(A%RPUXQ`37p}(dMM+4$O)XRxvuXzWj)r?gC0S) z?2%&X_Upye`Q3H6mPfk~#nO7Usl3CE_f`_AX}YJ&L8Z$`Q3BbrMP{76zJCg&;He{s z>FZ?!_}%r(26PhBcgItOt>nveWL4MvgDy75_6Id6f+DJ9gze1xP}#Ij^gj-VZy>hXOIjpOwQ|-qVc=ySBln2n8r(W9ud#-u6sH7 z9gh&r!?rp-y6GB`kB}XFK7Y=%9Jj+&Kj=X@l;_v0vEw;AOseCRf+nWzTdG^-x2nme z?cylz6a21xILXe@W9^_6!s;nY5u+RX{)jb$kXGx2=7D19>7uBK6Ynb*spT4F>BF>& zUW~Iisi%l*RK&9^owrpB{MLRq3(yT0-+&J2c&D;6BuRH-8j~fz3fnv?AIs znRJ)_wg6j-?o;bI__}SMjN1&OPtQ^pg5F0ZKl+p%A52MuY?g9xyOv z@~fYSs-g6Xw-l#WT70vWG|mqW}cY70$CUK+Gg`)n=Bqy>ECza z$m}@bv-i>~Yuvu02eOHe+^@G5m8vRbg)yyVj_L}qHb%pz90GzE&qOln?CgEH+AkMU z2x;ivtA0#~Ji&ODjE>hB(WL9K`T^8Gu>zlonjku3jiWbUDu2?`(>i-vr{q(Sd*5(e zQ*q2{Dk8A0&>S3IY6kaylOvHs;W7*b;xcS939Le*w!w24ZLUxM+YQRy@=7`nLj6jaK`kI)E7)+@z*_ zU{ImzU{-3n+Cf;A8%?4B0^)hj+CUqIkz2pTkT;;yw#ugBUAkhUV=DRDP3j7_YTETp6po|{4j_Uq@ z_O5lgaU(mw3NpX!Dv3kzu1W2rcvEJoc5Rof#NMh@c_9##5Rm`_fTK}<`62Q%c{x8x z`a7o^Xn=qSh`L8eRj%&LA^|lhWwMn@Fl=|(?=HL78HVjGNAsQ>$5bQ3Y9zKTZm-w< zHCiBZsBunabv1id4shK0!fZyKovcXYged@EX%-}X$mr(sN0g_?|0T^ykdtn0AMUyJ z;53LfpJNkN-xK7@1v`Wr6kJ%r-5xm@@_!@{PHS-Wq(M(!K4&H&yWB{PCD200^lB1r z$mo%afY-(|d5QRrF^h*1>+Jn#p++h4$@hTwkai|6#M9*_HL^i4El!v2OlZ6hf|?k4 zohV^nGLDj|FH&6We7Tn6MF!^AJjqi;cnlX$90;g9-y@+wrL1IXWR>+qdnpx;>wjch z;%1!3_{gFy73UpB{*J`fx$i9BwMLd#;L@GC;`5gUXx=-N2kj664dtrp$T&#lfGDEn zdOSBhWiR9g*uFle$Y0f0%-bFGdshs6tQYh4`y=5o`~i!3i=2bARS@FDV9~SHptJA= z=?qM%u{eR;3=-}G_6*k(|L%lxT;cK14mGtqSi;Gh6QS~#%fl5_;%!?+W@6Zqe+EDAylY~PIjbqDduR@4-mfPM zQr(25g6vn7k_C$qy5H&R&t@`NLzl`6q*?)Ay5!8-qW6Un1?`)a&n@-Lw|`{{n%@H? zQ0BKXE7JF%`jGlEdvH;Gy+wA|IU9*#WCf9|c(jaLq2(U<>L9d(fpCeigqYp71AN)tuEMLfSA{EHW=0jN&WdgTCK?}4O|PgJ7;Wh z=#7Qg&8@pa-8{0np>U-UWqFCiD52{26o-mC=lB>^ zoXSQ0DMz-*Ril}E`^}2ywsKsn73qgYmRMIWBQ?0LWW!qeEYyL?TI#JY?w<@ya(obd zkj+q6tt&;Qf|^oz4mRc52Y+^)zVjn#*Qt8) z7G2s#Yi&|8|%`YK**aV0^J`7mD!- zHjpq|qcayG0IxZ3#ugj=3Be$-nW6R1Y;*b{Vm2W>7+sR6Ue1mC(4biHA5NwzN$s99 zZy=}I+$R2dI1&5Y_J6S=2g~1`VuFh6xbkV&S$t6Kv#?7yuI)yfr%q}uZ}aU^bI=_x zsD4fl=+Any*%f#H|7n-L5ze}?wgPfPn`3gI44=&7N~fc_Rj8RyvOBlQTyUn!^98GJ zP;pn<)Ecg25{qb8V?nrcY}Z2gD-~>~V7eCtPh@2|pIzB4mVa4<9-U1=nw5#p4hn|1 zXwlhfq-4cjtvx42+HWm($FcX3h1A3@@b3a^i;yXIq6F<~wXgz2K{fOk6oC7m*r`p+il)pJ{pJ<*n1xWgSk4O@F2pmse!pUDInCA&DK~-gFL)mK2Z^2E&smfslvnZi3)U7@3pMl`(C%j+DUD)5^-;HjgIlc9Gm^#G;MUW zqFoMt1q}-&z$-Z~G%ZsKXucYZ&E+Cfb=WSN*WtT&nDbJG-u`4fn#>6t_5A29Sn}w4 zGM}0lxPQ>X7GOExi93ADslrlSzg=^*yqZrkS>HD7N`c}rcxcgG;5e`de_acXJ~qJU z*dEQslfjh6$F+sod)@h>+anOeS97d6wo-vG?k}!~eY1_ixJ>dTP#wfePbaKUjzL~VoRs=lZ{RDUY4{lYai;IDHb8$0PR4NBqUy>R(o zvLx-K9WK4j(rjN$5_y|hw@h~iDnmqlO=n<)p}33ee93NiI9ZN)uvd-3N;`-@+i~cq z@@&J?g&M+8RJ8p3qps)O;jmY{=8uuJaqaAqqrh?_!@vDc$F89`i~C|JriRR@wRteC zTYpSKIV=;`0taSgkfxUh4xUGqmyA&uCCI#N)-}i1DXvU!`7eR9F2#|*|MtHOhjK&5 z@jV^KLFtvgWtH)uinmNsQMhF#NjtK$61BQa0LHA`hf`kW9zCG38 zQt25u)~Zd`A7(#@WeW?z@}7(b*IQ9-30}|<;>%#Wp%H>=LDxU;0%lG&#*?gTUuLZ} ze971=o)AKwL3>ykJ`9gP%sfh$^3~n#-ia!c3ku4b{3Ym2O6F8_2RFBoa}tMB(-q)S zf;2>Y$5;}=?!CXiW4^l;EM~7{enPPs5m1JecIF}$~b{~BNDfs z%fo{(p}G-SVWBwl>ocYNRecycgJpMqZC+=RhNJ0x)*bee#L1z^%awz#HGio0GX|Zs zLW{>JjIF6E;J%tmroEaZ~MzwOL}q=!)-|aLNNWil7xeW3J2>AXVJ~j)i7BiJSREhw@IVwujoJ zg9`Vy?S$cakDgKu1xh~SOnS9X@>vc=AZ@Bs5Z}4>0j4XQp3rvPzr49|x8mHta~_Q!{jKFeIp0sc zF#j)hc=$0r)%G`NE#?=avzR}Y`jtKvs&zh1ADyCBtuRgQi;q+CU4Q6r6ULLX&+nVM zkL7t#{-mV6X8gDh;n#(J_61d+RW6)d)4G-Ti)9DZ@h2KxcIf2H*e1wsk48n8LpB+i z(|Ny7gI9E9lj;0wFwnxTe{gg4JQ^I2+NxVCRvQRnz+aZ~I1Rbf2r1-43oQT*_U_${ z6Kq}KMb?1|Kv{2CR+@Zo$aomFEQT17p<5S0-_{j2%x5SOKVm3<{KbgT^hgJZ48 zb*w;bB8P5$|6ywd4{5iZN~%0-D|S8dFaN=?Syp3Gu6 zrH+h^DStw(1miwUFa&~-jtqks$>Zg523zYvS@PgnLINWL%}U+{MY{Lovna3Q1HI+m z+N@P0in7*l1RXvNDx|vi0iu`m+q9s{hfBZ!Gkrjr;ZrYF$hcFfzesM1>9wK=!vyq0 zpz0wy7_q;6V48J;a|TL|cEa?De6kcMd^G2tn}3LBV9?~NEcehj44VAbuf^}WrH`~OZdxJ!e5evzZ4Swk|g|d!5`{aIt>1dii1BgE>sg=EMo=rLw~HG zkV0bxb%W(+7&327wA_4N7|a%fEFVx6;?=i4;jR?Bu($D0)wn}PC2^>;8 zRmA#fw-N8Y_c!AFV#r!J^2}%}nsd$$qAz3x*1MVU1f0 zSvm#ii!Bf<#aE^wyk^&gfF472EFNW*_%R|=Z5+@#wK7$T?)JS-nOYw8mr1qq%G(8N1II-R~Li;B4hhAn|o zLT%cg^{&U6qQ>rEKA)MhSAUWKtF-MO*NJsQ<_`Qp@^meV#Za_8QKF<-g{F1rk2n&1 z|3bBVwTa{M-^Fo1-VZmFj{SWyi_+S-(G#1Bv;`ewCfh_C5v?^v$%WpB^xz{U;|W4y z#nzLI09-U%(o>TXJ1p&Qs}6H16lzBs=q=1Vr)+MUZjdlZcRQz4F@O1Rb~T<}(eQ-V z8U7#|IA}q&K$os}NhbQGke`>Bm~jbJb*YtW@(S`FN9~}8F_3ZkH+sB5{;8&uor4Bw zfuG6EKtBEhOpL!l-G0DO#BcIX!>lk_qas$#BD$ zgqW6T3~7ilz^&L?-ku-h0m35g zFi0|)ynM`=Ai5f5$$E-mggo`4I07urVeODbX4wciQ$QH6)I|ybk~ar(=AG3k2h=1PwVkVpDgod)?V}|2zTq4>m4; zdWPpj@7{gfO;@XO14Bl`{&IA6o^uxpPH8spEoSqKMcax~!bFIBp_$(qd_u-wj5lU) z-06z{nr})R*I+RoE~Yd;tYx$p+*k3Rjvy{{GP6xiJ^X7vU ztf2W<#>XE3;S?adDl5{3yCUA{uHJlG>QWE;<8E(|t(#jc%qx?pjy}Ilm3%%;exE}+ z9C9D#p3u)K6W)kw;|p9`wH3y!JXqs4nS;0oT%vX#vjQfIdUqY;XHLO~jx-D#p(z$c zr;~*+C~>UD%(8zBniX@(9BeGwTa#~#>SJM5_>VB{E@0bb&gnuD%f}@wMMwH!JUvlb zjH%&?jTv1ePERJ8Blg0lf?WZZ>CQm`Msg@2`5f3dGkyJrMvc_O8K38971@h zZiAdss~eGYOIf~k;dp)6*cML+i|MR`~)$4zBTvQoTb{Eg9kR3OF*!~K>z zpfv8(I1YbVz?hXt%m_9@6V#qygQW0pWIMisYmKNm#X>S~)liCi6;X=Kcin2h{_|_o z6fdbr(z6io3A|Yu6!?C{ku3QXYNXV1WK2X6H@tk~qW71nhrTU=IA7`U=_*s9>|{7< zy$2{RBxLnT1FCJ)H z$*ubeDc?TfCUK57=^nTg>hdyOlFYBoe+D5R9p-r{LznuK>N)j)P1+t%c13v6 z#s|6Z45Q_(rl&#*hv(lNO?%hF{xW_3=5Tm5=+cI(7x^haJ8+>hrwJREyu(i0mo$ z%4vTfg<2&_6Fcm}xZ8{CAkGHmRpN{S%Z|8l+*7Uyl6$ufQa6GB;E127MoAFgD!M@v z{2uabLq+h)wIe@xia!N#nHy5*h(Dq#-kpENAX5a-abOypGuip?!qxr#xBuB~_Gl<` za>^kJk#GC?ST?mTk6emp7NpDg>~d%^OVeDkzReXQ?ZwDta%;XBGJv-BF-Jsjewp-M ze;{5ppnfo2fA(ghh1sv8RGD6xrz|mYnFRB!F2{ei zC5l=@cC5ET`bHdFtpA{t^kNkNsG@U>{aZvZa>31TGH4}klEblNE3%YV^ceUDM&xiiyW9Eq*iN?ARQP`aYk23o!mxrTPJyieEbM!LSdtM{g?|&@>vnYt z=^w17yRIK`^<+lDj+7s) zd$@PUxLlp>se^T2{N{pvEkA!)cThd0QkwIQ%7_;a)~&?ao$TXti`y3FV7fp6Tkq7l z8c!CJC4m69-&!aN@2<(OLs$ou;iTu45sG<72xU?8l#FkYo4E41mVjzHLdOf8xa|B^ zw$jD}Iuv$cQiUIK+Mj$a8BB-~hyVehfQlITAxU$u0GPrHKwFwt736;c&R8FHsixOALh65eA+(&pvjAeIT3A5mUPn#wqQKt}gxY-(onQ2)5KD#P4AFv%cy?&5od}Z)(Y+d`v!-WHHcuF! z+@CMmn3m%9M7mHXVB7P7Tx2*VBcut(i@#jzRhYQE)_->~$yg1Ig?q)J!@K?_S zn{yel7@ndc`aRJ+8uNI}LOF_gykbikhAiOl<7o(cPOaAOWv^tP>lxQHWHySw;^eQG>%0CpL5NDPH`IOG!{rm&H^=`0|gTS zH%Yx>i&%|9F~4TRGzzp-QNq+ji-^tmgZKs|hdsylYx^nrQS(p+MM4HD(lHNo@?2Wp zAhLfl2IK)&sbWM>Md6A~Qy%k33o%A=BSmDiNHr2qXtv<7mO&cw7})7Asf@)Oh?QKk zPq@PONbcoK7$(bL#Ye*{LayPNbAB%ppkR~;cz3{4_!kLlZ#DM;B^eKwd<6^~jb#Ae zB=Q4)iuel9gzu(PSbu;~!x|5vv9aN2uZd++vXU4F7UnuTe{v2s3iVz3~&rvwOYI8T+mf5zG}Sc4!ixj=Xe(x z$T@&_Vv$|!iwRFd{rHnl1(X*CoyC8a+;-J?h3FnY5yZ->fJ2q}AJtNT;<-evhB_xy z8ZD94gTYJ$_ozu3+IK}ZG+vW7VatpW;1MH*JOWyjN0CD73ARneI*mXDhpS7{sR7ts zWTnq(VwA65Ex@H%C191=8~n1KrN-}|Pw4#!)>uWLxY7QiJkA#qwE0_9oMV3lb|G3J zZ1kA{7?}Xx2MW0WGN6g(AZLr{J=sM*7aEC?!3x?kKy$W~dS)Jk%77pb)l>%TK2l3^ z6woio17}_o0%ML>3``a{0%LkCSr1SVpq$6}GZjQ95G6iegyJ&uRP22OUd+*+;7cO( zT%H!G@AR{NULbv*>l+a1Vx)f?S{c+20##;aHLI{_iGoF&!6G~t_AN430V#MI$AI&i z{W;@AWVtBkk7llk@kf|mDq!P87=b|ctb}#GzzRH@_$d69K=%`l(kUW46h?co`q}2VK$M;_}SZ(-{1VlW~MF=7w z(T9rwtgHqWz6!vtQ1dI~+T;pE;EJp)`Jv|RyB}5CJnEM_6}V2L)pqJ$d;2>BP*9tf z8)S~N+&v3F>k<6y4&f&e{`WQf1xDKiRLwqj2RAetU9UbI4z_=}!Eg6_zTc?74hQ!j zlK&{I|H<#kh%z}A9Gys`3wQdbxaB8h!j@u(8+TS325lA~wE#;JlQ}^18v;|It;pmF z<0gh9i44e)8-coJp9Mwz;Opmv`tEm4Q<2chPeBdferMmi@y%VwZ4QefGU(KYjcy*C zZTt71v6ws({26~=fQEk>&+mBf9(q<|Y4-(OBWr-yzA8`d1#a*JZUJKyC!#uVS(MI4 zkI8V-0yGkODZn*zNpf7rxn}<%tev((Lde=}A!1Al#h|=&cb ziTFz@q5v%UQUH}O%nZ!2Vq+PL8zj(Kp{`QBNHto>-+ukaoq{cj?X2y(D zK#YRP2he{H&W~G}%ne>}7OcKMhDJqzxN&cJXCGO~l zUy|Rmj?RTbYt((HZXK1dyS6QbiY5g(x~}e zr&Us*zZF}-sA9J9-zlZ`Z3cPR;w{);%P6gW$Llvc?QI<4NyBcvTS93agk!Dd^lB!Y zUJ`#tET;fw{fuk39n7g)?Y5r?d$|?kbjN6YLc%a4GPd@gkXEs}nUK_KH`DfaT z-_jbpQw&#ENhB9nSB1Cc$(0Wo6^UhV^8Jpt|NTAtEJ4mpKnnx+3{|8-yWj96kn+RD zot%Sz@RL}w&uY#i#BtV%lHH#K$>YoP)IfiQ=y{kI^HeKy*$O&c1sU&kw#krTn?bmZ z?vq^K9MAvjsaBe-E;x7i0a=Q@~~OV>J<^EYp= z$#;13wv;lfcYUYj4EnE$M)>FF`!`_C-m(urO!a#-)t4oR0RRvB-3FF5yeeW0;`o2f zFBvVcDojSHC_|7M_~w3tvH-7!Ab)>fh7;VTGZ>tewyS%MR-@DKU(;I2iQWGE5CZ4A z>~DX|en(Dr9jBbb=Jgs)-$fd{DzRR~GSXr6yEhkiSbdz2DVjw52&+Mh!PtwpWdxwn zLto2B++G#UGVND}22Oj>stpO&*Q0;^%E(K%=`=gN!UpH0m7nW_b6R)LaNoIqsq&s( zFkig+fzKE3jgcC?w|oZ+V!nZ1;o^TeMc>h3 zdRjkxZ!mrG^kcsb8de6!SaPAFtY&*T6I6+UspAJMsG)O3xpdMc(;^H_bvR|A_y|9y zVmWh~%0#KLDy5=o#mupKHu_rOLAuyL9|2P`dLh+x+ER83)lxluVgl{lR&E+&$vP7( z4y>%G_o!=piP`^01@&3IJdb~6f~N^GH@*^lh-%M9$!0+c`;e_u04D%_Y2~sXQF&Gs zv%BB5*%nsu(x(m~W!uoL_rBY0pW5w~-}DRncCXnQcAYxzPF{h1dj3+bk10_O87rdk z)Mi9wn;}b7n4;>u!B~oXB!XiRvdkSqH|GYts+j^HJLxzUE7n&)0=$2YWl69z1QES* zT31f}&UJ6#ujBleLE|aP_eHqdlPrTZKzN5nU?=WaYlQdOn{w;~SMb{sPhwg88ppuz z`w`K%SnRY<+;Y#YQg;=l4(M|{{=DTQVmCbD5yVnUa5vUnP%xW8`Ai$`b2#?{!8+6x2 zEN6u_tgcjPV$NC4<#Yy4Cpce$X0Z0)V9v3!?QI#G)%5&s)9v69jQo~y(DmHLU=uHR zjeDw(rUq#3&|*^pEQ5nRyg5k$iPE^$5|pMLM!wZy0fOxwK`&>3H?p%jBSsitqlgJS{(!u9PW1Xx6$z z*L7be5p~=ZFO_F&42ON6z&Jhhc7t3WcDg)h71$L#j<&f6#9aYG)`SPg92& zh&s-_xiGw9h%-+Uy|dEfl1-InfBpOQ#ihBmRN;x=?6QT4rHuU%Ny#?bFI-R`l=U2G$aC((bi(ZL?4{&FuDsO_9WtgbYo``LPD zY|@sYm@*2I_(Hm-2;q@{sRZ#`aHC6bcD+65)LU+`hmqSGHv63o#~z2XbExd(>{IAr zG?Z~t>?M#-b(1nXC>2~gDAnDpJAH4f3E}~%?pq3t?M-P{DpE_a$x7IOC3gR+sQ=)R zQWSrv0ZjAKi4@_uN{Ao35Z@263dg5$sQ)0*!fcwUGoj>~NtkV)IZ3pNMXCM|jdruy zb&CBT+`ilDwJ7ZSFQ&M5^UEFf768e_2&U<;g3WG|L9G}k`1|7OeU z|9drJQk$lS2_`nF;qwUtZ5$kw$rDI#ek*@xiAuv*m+`voF{Z;&8<>8cC$G7&4gtN+ zNZ2*YC>03OMfIU1N*;Y=N6i@ zVhUe&^yd3mk%Bu85}Pj0)D)VE&XDp{Wn?RiDgoc5I-U(bp18>REt7x5Lt)Q0Z03KB zz~_oQDlD3`wM^S%P;3#UZL7^`Pz(Kz(?f8jC-Up%dh|=KOX=y#zuBQz1mTgieX0}F z#SRN1@t}<@Z?uDV>@f{HWv99$4n*&pn`5Xis_YD@(KzMDnCNy4o;rHv7@C3S6O?Qq-KG^edh?4!Zm0G?EfqsXqOR?;ABWr8dQdC+Cwx zl)*kIIaL4ND+bup5}HY@lUU8^CNgj4aErAUQd<@< zK6H))B7tLHalUQ#niIE&#&%a3SUQd$WD{;k^H@Frqk-RP!Zx6_Rjkd_RXaA}`HAzo?Sfu!lh15$85@4 zHXC|{6XMP0fy&)B^M-#4c^%-fG(4+Xx83j3G{sc}A;%<^iR!LTV;dStO|$BfJaJB1 zi@n6m;;QO@_Mn7ZN2w8`^s=nfSkW$+kBz$HVQy?Tt|VrB%jk)wKWq$}-S4i*K1ffL z8QDoK1`nXzMp5jZvq`m1X3l1k&f#;biFV%YQ;*0;Q#s-C)^~sMogMAK&Le55F9yT{ zgY9^)0crP|x`S5RuMG-^oxJ9-=e4L==_}Cvd&FfuL$g4^Tol5mA+9ePh1d57c_OlwATd_W+WFAvqKa@q zc{R-EI8RR%lG7PWTzfqX!lm!e0 zTI~^aVHtcw{IvV7h<5Tat?Y7(4?#J%<^+EGdm+`h+b8ukK zF`U`V@j+0(<;@&K*q_vLt+PP+Jz!&4LAnWtg@Q)2h6M?V@v||G2My&Y#>4`t&8dh) zECXB^Jv%3++PjmjM&^H}88F_?e+s)V}ezDk!^DM z_dA9FS;;CwpO%LJ$3CCW9q#TAJok1~8z#ll4{rkBqk_nUiS5$={p-hQ?t8{!k>Fek zy7Z6K`1h;t-|qHtDy0?DQsV(bn0T+q($B0_F+zr9lw)(l8PU>z$kg5t$&pM`Mkv}# zouF|L2IZa7l2Bvdz%>>-Z2S|B9Qx4`jrXAJfKx;=tSvpXjPPp63@y;S3mOjqfrsO; zi<(@GijcFa1DXy3fmI#SY#8Z+bI~x;xJ$YnMw)a<^I@b;Iq`0ROGO1Nrc!fk;Zbi9 z$NIfcBLFLG*&EA$nLPqCh-wUG;(dTcpw$rgB)OV!i?~c^K1phdT>6C;@kxKw=sVNn zO8<0eG-%%MSU7Hh=)va3*1Eb+>?-w*Bn79!mQh2R<`73IOvY3*9r#chEM_%i_gMgT zJg@idRoJuD{x#Y*RT^4gAM;PS<9TKI=fp7RkxhqaH2Ro-@b{UuB^)ZaJ$O)P&Vn2E z96mK*+yO*{_Iz2?jQNRyNZZ|x!+N$=&8f2DIIIn9*mDMcH0BIo5}RaKQO0##k<-N% zXV^4_?uhg{qh<~6$j@S=wqI+6pIR2GrLnKkp4ySPcV8!0uucti-sI+M#=K@&!KCCQ ze%cDD@mmgm7D0P>P~l#g0rwAu;x6SaJ(O~nYtPLXe|7d*2-I0_AD!)}BBZ%pV`tv-QL;rSQ_SPI`O#IaT<^OI~1OFnf$Plc*7GXo`#6c2}OA zXz@4;fm$B;tlh;ZOu${(gi}jltOrgZXD$KbY4h+pQaJx{VWp2&cc@XX7`0E;lCCzC z|F!=YV?m^_Ocdq&;Pqo%f(v1ptfS!JVfLSd<)V9^h3M?Ttp1bm!4(A^Y24JmlM2Ef zf6Z>AFc8P@EA2ZV?x}$!G(ku7^{j5ERM$~{r--mkxZyDK8f zV=fHU4j{OW3Q1OOVvLLs(j=h_>l>C5e9 zCt!MEgTX0(AK?*LwFEYeuO{3gCSsaRv~k#*O%6UX2Z6H?Uslh zO{Ps_tA=P-nQsNj8Re!_4Jn#|j)LnXm2G!mV`(s%G?2q*0vuS@tSh8Hu+;w5+P2j( zbig6**JsDF%Ja{OzBk}BEuys;f8xU5dp4dh$lz|{QPP}=>kn)`4Itk5 zW+2j4x8Tz0hdYqZC%B^LJMSAyMq5yrsu-+@7^#dyKp8zN(xeGA9WHO(j;?2<5_%&CiKnu9ILpi|pJZ40@Z5 zA1vk@w;Y9cma(I^_0O8Z7he1f3%&V6xSfXW(3b9So|*p4lO0+<%>B)@+VDx)i~FnaVF>^LIwX^j%Nc*$ZsRr(eJ{{| zAoQ{=5LZ}?GSP|IU6A`bC!_IOdOO z?VH!mf@J-+h3&>B*~m=D)|U5)U2Q&N@k%L+j+)6y261GCNNKrKhx}4Bm`q!c^-BR* z=UKb1D(#-7_HTdEHmhma1NL#h;V#c=&tFEgtsZPDh@C|r7moLAJ;@=1_ZwdnnuFll zJ;kR5a5?~^nDlHGEk@X2nDM^46%OrLRxM7=io&7$z}h`E@Ka|F07N2_^ehyojjO3_ zvBW7ByF^!rX zB`9ScNAu@`ar~5lM^GLJG8}0J)Dsd#z4Ry9=yAn0QW|62>~B@5ic~VXwgF#wB~u0h z`sUq(`U&&`G;r<=tkJ-6A8kK!t;n)|SF^OBlHyF%%N1k^+jvolIi3S#a2MKlLEspA z6xy5Aqs@PxLV(L)^7h)WEZ-ivBWpJ_BMZFBWOwGF9w`VQhK70b+T1OxAIlbbcKNGn5gmX zD^9=)XW16T850EFx>u28h~}c+m@V=4R(U2{|J1qlvmyEf=iVXblU2gW7R?yMw6!p!_SHttRh%w|7^Cxer!4J zXm)S=(_^;$Q84qS-VaA?S+F!bS*Xp-*TR+(+enl+hNzTKa)hsmp(#8HJ3J1L7x=Cf zg!&M`xBPVJ3&?03B6W+$v4sC|`|fcX>#Bc`kL}O{?>MdnA)^IBWD`S%Dv2Oy><@Mh zLUL{p+`rHiZtB0%gdq4&oLr$QrEv-g3(2f)G)P6W3_XDWEgQKZ^)HpoAa^2VRdI{v z3j};zp)w;FIuK4&S-^e?XqAKuBN8kpl`aliXpjZvLX{G1AsCEcsWnkSgOKW#P$qvM zsfC`9Z1_@G9Ow#G@KRXOcXOrB#m5hSN+ebQUvC0ofDiD9LwUz+l_kyjs2qNOZjp`- zi&S?8^af(eGSRJ4d;I8Fk>hr&bo%B*nFh0|eK!tNqyEo+>N~cj)xFbCk7jf~^?vXs ze%(*MNG&#N#2+n|V<~GjG8M;TdqjVE^V_PtI!HE1=>??96|~m`&4EK`p%5#kGEGbH zL9QJqN)Og_|LHHScH}tyq&2W6-YE1{zz;Zc?eNZb^v&piGs_Fcdm0Zpt7pCzY1JwU zwGTZ`;4S+2;jc$v2`p;8`1s*(RZ{IRIJFz5g^+M1I=A!ry5W48qH>+-c;mF<^bUJjpI8#g?43wSX3I14Ll%B`>9Ocn)vIZ(dg;F@A#&z+cI- z57z_BnmR!k#{(0;F=_b^=I?(=em!uk!RtDb$ZkxRs%NY5pXKHP7LO1A-cwkzEzN$> zX;n`$&y9Jee7&ZH(u-Bpe ze9H@>U>};&B`I^&%9!f)M{hnVe7Pq`lKN|Iv3i3|Gp&9!7uqwJCo{T*rxrFHz8B&V>TluJe)HkQ7nb2r8+#rvt-F2lpeX1-@$q zq4@|TQ9%@F8U;xe74qVE>~?|**-B0;WrRlJ485)jb~ z*yNN*3M9*b0PdH8psExFNWP}k3c0{DY>F(IkgDE7a*PlKOx2~)jm*p)FQFoZNhp5x zHCP&UqbcQ1s0P9I++4lV)=R#gaHTmMgkUyLz!pI_c3+#s<+OZw$2hFcn>X0Z*BWT#t!#!N{8R0u9~OYmf#6-BL}pJ72LB`ZGZ`TJSu)NoJ5 zU2n$R-p!k5o!Gp2_B5K=nuvDu<|fH->d%k-%(iETW}@R~CUaJdb(*(3u2zO7hNXZP z`3_XYfgov9dKauid$)6**P9gkR8q8D0#C!=Zs!tzIB_F=^&Cih6gj%FDnX@A0 zV{K-Y_OVPuX{hkP^a&E0&ct-rz?b0n=fptKixd0Q3noM#GuGMW#7|s%=6CIY3XTSZqE-_C0Q^*wQ`jSapyyS@ zJ6S@ULGdX-etqk_R?_qVfB`Y6;B)|kg(&ASn4-e0stor(I zpVq635B<0wwwqU%{3~{O(Qg*p<*<4G>hkAz`N~~h?5A$C>{i=N|LXFw-(UXioB#f= zuRq@G`)Q)b_7^n7W`DC@yt;gUn5Ny$_4R)7(677wSKD2`A@F`XuDgl;9N%BByYZL9 z?rO1J@49KY8&<>gcr6$+m#1O2uPzVc=H@iS)p}Tr+x_-_DqU{2_xHo1KmG6AWBeoY z9=pWt;;`;F(>&w#*sq9&?PmWl?Dpr;)_-+00w2zUeE7XZd|0o}&wb>7><=vW<91wr z?(s*+D;;*@cG2(mv_b3DnZRN5G_m^4K%eLSisn8oaUP1gb2k5aPPzVb1Bl-YU>5zS zKR1Rujd4vqpN}&v|J*p{^Eks3W4ZZj#5@~dznqp2e`*wQ=IeFo+fCg=xBo0fWyJo^ z5v4y5_qcxI(SG$uq~-{Jy&3MtZanJbNo3ZGo7e9*+p)V_5ji9}7qt5qGj-*^#KiKy z`Dg!WZZCYe{Dy4AuiNeV;^WP(9~Y!3uP%jPm)8a8*LVH$_HjS;>%84e`?>LsXeUz? zx8HB4+rv0+51Zw;eMfCoIB&Pp3GSw;qa`fg_3Irec7HM66u}sOUoZJ_&egE_<#u{p z^~c%v<>!yxrq44I^01o1zhT$|~Org`Z7 z>&?$)|9EM6pk=wWL)R(czV9!m<{=Pe`CZhC~NI7@0X9?>L)ArlP-9x{b zjr_68*nK2&|2_`OZ@1&{D@k6ry4`gPYW%$O=K-EQ{EvQroQB2kJUZ-2u^RTt2<>~1n@FYrayYc<7+0#Zm>+r)kP~+2cw-2N*Wv?Pxleu~EKmxHK z{-3B1MB%tyohK=-cqC8p<6*Oy4l}QwP5X~-HIQBE+xKJ&_S5ZbBc9+$e~k;mUvEB? zC;yjBPXX_LNi8>|nLm!t|Dq|2MqZut@kR5@o9mZ-`_1y{57L;tp3amn`^B*CRwsjU zeD1{*U$&lS_+rdsC^8Eo@u#rv=Ql@l)2+JAqQ51Ut$P1Bk-tCO9e@3ESWXX5TzJ!W zA9_y$x?hp`ZcC&zgNN0-u^VQoIX28sr%yYIr*0pAhWqKKej@LG6xZdy$h5o}HvPB# z@cvm$4HL|c+clC*v% zXjb52vTui9`*ySZj;J1J#G~N+bqaou08(L^`3G`Y?;dx3?mOZd#i9S1$>u%Et6}$c zAQv-#zTPa!y8p)}8}9G>ktP^Ohu)Gk8^-O&na@YR_n(^gu2#1hg-5cc%{}jiAS@>C#ZAW3GJZlaA!os6f`D8%$=6(Jf@)KBH}&u%qghB z+#8iK)!vwZ0+RHq_76(qEkK7wOyBt&KC7kE+)w&awy zk{Q7WWky&+vTg9r38u7xv6xmb|g>8tCO6AIEtH3wR!FObhLsuv!_Yjl$^$+XLZD!jYY5rN>@Iv^sda+pSR*zO}SayxXm< zXt3~1GQ1v7(Ji!M!YkKcT?oupXbY?oL5iS7i=`?UAuIFP$nZ*o%^b^HB#VtXO3@C( z5|Tu~_Dv-1ajYz|G&p_}SzGLX7i5t|Xptn-NkIxE=Z--NB$o!;H_5fb_CN|IJ(L3} ztjAHblp;8F|Uo}SmLG8LSWjAmRJ%A zao8pj(liySbvhT{ULv${P)`ZTHN<*_skVY^JdahC?2wR%t(dgh2Rs^o#c0?bP!`;1 z%!8I0oR`Q}rVMSbY&DB`9?E4DrrPVM@cwwK8>|a~;s7imk&+x}U1Zb(TO=7xOqjMv z+W;*RMgH00{YhL}to4a2U+F`difKzEqgZw_4+-kFqI{}>>rqU*2qi>OT8$%bMNv(J zR4dv9kNXG~@%|_x&cT&`5+V}ZIi<+PVhTzpC_98$tn~z#2JVm2yb|*%EnR@Rpp5jX zg4m2RS7lk06+~!k`4p)Fjv#3{2G<;vqqw(*M1^<3QK(u&IM!h048xI~aug9mOQ9O( zu$E#pGwxcRo zhHaIKoJG8+QF&}#RF)aXJDUD=kZ+pg3VRIAw82q;W+o(PT{IVsg1ex(k+?dkg{@Sw zG^H50o=7o(#@1hxtHl*FLNeAytw`b_uL;pO57t_61|>urC9$W~R%={g(vIsE$^kh> zjx!_OYK809+Ot@H*&i>xsPr*4+5$5b2_cEsP=7Q@JhuKi*h+O$N9)hWv@eh(qJcW6 zlL-|GNhadTw$6-Ui=?wqxRRx_6}Y-zEF!MV8D=T2fCv`?TNlG+z~0%EavtP?;Z~Z; zJT_qIHG;AnOtlaR`%@!GuHeoYVG=&aFyzn;ra%dU_mtFsCnijRCauR5Xr*xMLQ>s^ zN*|jdlmla`v{^13v=qiF#W4@8Ne1eVp$rgLsR_|Ir!|eL)GbZR96osOR>ChpRY*Bpd~ps4Mk1 zlXz2EDdm%Y7E_&6!u2VlQbV~+m*2xCTwRJk-JlHxD8mOnX5gtc1 zwx#S4Q{AeBDPayn5!Xi>&KexqHJoxl$k9e9(r%3Cpz%CP zD4Z2gNFH%y*C<`1n$#5QX+stX-;p82;yX-)L=Sh40%h4k-ENGi+zM-qs?;1BL-{*@ zv6F5}rgVy7*|AnvXtR{(Ks{|8cQ`^Rh_Cj^cs&$)<2a-(m7iLlgsXXft&^#u zB@{+iG|Smsp^Ypbt^l^48yxo%(%`#ntv8h$Yi%GCk9iQwF&IP==eT~|Ch76LfR=1k zz(}TG8TxuZ-|Va)#JCEQv32pBS0X#lRm2vSSk3WyqbKWvGjT6;fGWz^|HY=JMSrW!O|O;#P4wUz_Y~bNve@}w{vk@6(m%DG&swMPiz7c zBEmjIbmdMkAqn59CnO6f*MXJL8zNjJe9ta$88h6UP;Q^$(S*vlVitrEII;^;2z&+> zO0^YAZ+S@pTM9xV&T@j{3g6x&MB|zeAqL;@3d$OM&J;9rxPlQ3b2zRFhDR*D!3dA@ z`d~$+W=BZV;L)t&I6?`3mf|WbiH`hS1raT--3F&KezzjDqQy58LaQ?NKNKi873pn_ z$Mzt2iUzS%d1Y`u7lN*w@`PX|wqhajj4LG}8jmx*kW7Q$a0!`HDp5fKuKR~vyXQ?v z#&`2#3H{+pBeNDqow1xd!`&vN#rbKZoC(({BDXEh_@iKzdjU~@NJnJIR zhFU^M#FpM|NS>dP_7W;)*LW)Wsqbu`Jo`qw+XjsB^q-ZE{ zt@NqYL!wa}R{*2Yt|AAfyuw#OVnwPfZ*b%tt*q!=bd(rj?vO>ocO#-BU4XhBosHP? z#S-t}ouhaM=OwX!E$8nQM70$}S8m%!PlAQ}c;h^#z*~oJ%0_aVI3kYZ=&%QjL097V z7)TPa{*ZaWwuI#NZn@F;j4dsfOb|pS&!u{K10s7yt9K5<#8=KTVrsXm>rXUIDX4cRARpDEXR_V8w%txN1Nh; zAkvc1L%Wk((ct%7b1ON%*GY)Mw>Jq1`1V=$CFFrfC|9E~!YzI?l@Nz-Z{}zXe!D#< z-QYZ!kc8`Rxny9Nqgg~;Q_Yl{9p90@K0^C%zFyyykMxz#{v3am&)8h7k3B-Sz8i<` z;%)hVjNf&6;%@xK51TW7*WYi){yB1cxI2SaS4UvK?pCWjc8fDGvwA&$?m7ZqL0o z-T3$nI&79dd>CgwJ+bHG&GgW(=g<7S>7KrSchzsMe!eXqdg;6U)b5Aw)#bmstM7g+ zO?Shxd@W|Udj0)zI~J>P{#sQ3w%hHF-=4X9&tF}x%GZsK9}uIzmfiTv{KwsUal*um zi6b`u(Jji_>FLvtr#5kJd-j|>x5=kAb#7BnZTj4%pW4j1&6Ku>$6Y^`ug1~B&Ob|k z`~7yc+J5Yp-#+2LX*x1t{+Q6~&0=*}_9QRM?PC9Wb31jX58lmidziN2{1L8UF@M`= zM)wchu8+sBoRRcyj}52Kp6xF_-1MI&+LYxmU0&>W!*bnyA`xK6I^^l;Rrk0(OkX@( zu=4Qk%Mr@g2TxxOy8fc`tU)hmDPLb`n?GfJbyVHVpEnnGch}8c-EcDh(G;B*#7cPwq}Fx%Yj?t((2EW4G|!s)3mgn=4mmOPlN^{T z?^?iuJ9@?6xD&AFa0gD#)=Z?ilAW_^@R%ZoSrWuTN%!%XS?15E8{qaxZsY6satAaB zdy2)Htb$;aoVW{)zRa_q7ua{sxWazCvk<(om;IJ7O8J{t|CgiMuUM3w-Yt@NoO!x1 z9#f9geM>59riIifortu^T`dU&{&-*mEEuY?7#^A@L$nOjv&MEgOJC~-N5SscB(71| z?uowgZ5Vuhi(x#--RDQY2IHHyt7e3oki(*<0lEe>?);MTCIKGMO~ZQ4yh&l}ez~_nl)lr1kff_1W1%LNPXmmYX7D=8?;-dY9`#fCEezS7^z;68 zu_m|TveRweBAk=45L>A~M7^5XBa40X9?8;!pqfsK6~K|!;aChvUsy6x5l3!C)eOheaMMk>WrTr|jBk)EH2MY9%1hb~R_h=kc`x zy9B#;wI&?wWf58OXgw-|*r+(lYAoQjwq?NQfe?;p2M^O48K;4-`2oe3@+|>%9<$@i zf^$I$(q**%ceV4L71&;x9%db#SI%`+e)QPaDz-p(>$0;iIEEN^{A9tvj3fs591mXR za6UXnyJg~(3a7Iqz()nVq@jYNwfn2V@%jS$h~Kl*SO=e}KKA|x+Fd zHbsJv>_e2wvOo1)rjg}O=iNTA0bwp&xZF;9N5N0TOU1lKQ3tTnlI!$X@4X&0-}d_z zVWH;XT%)!CmcE$$+c^~V!HtR1fQBu#?_r<0x9wN=be{4UuMlrP;5gNK^kz_Rz3tO8 z=?uSrOiart_peqG&u;Z`Dp>v5EW2|R(_ef<5!}>e93#AZ^s3n{3;FqUU-_AX0!+MF z!2$x61#4O$!N3^5fPtZdW|ur2UCfv*939-$j7{v!nY`@n&NJj4_oYBLfAT94!w!bs zXqRMW6)aq*j}bSWnjp%f|JR!-(pj**jP9pR@i(*zVx98T53cyf4#WJ}C?ql?j1ZB6 z8WtJS*o$6EKLKV_;qP~kDI+Vm)PYVO7QoKY7<*&v>$tl9^bgloceO@FGBgC`DLkRZ zQmtQ(v%vSg>4T=(bWH55*&$k_ne%TGd)DQYfv~ESF)yg>zt)c7B+>uMK~qH}WX@mH z?7D?fp2Vk(S&zGBMP!dtW|m$13C zFB2DI&z{f=4MO1CK(Y`O31W+iQtQH7P2j_k#w0^yq%&z0O+I!}t-zh%y&v?yfqXDg z3Uu5GWS&_VIOU!)>^_No*4S9aJO|z}U{;OOiet{4%UQ>ct_w*-A)F7?utv<cDGT@s<=Ni=4I?CUsh-BL** zezBqp!VE233@I=&1%0=eVAy_7OFulQr<&tyUfQ+5_T0m5v!E@m6DyRZ!3M5;6{z>y z$E??5IPI+Fq4pmPB|#B-dC|I0PN}EVSq&P)idyTmX(kTi=vS#uX4VK>T1AuoUc{G) zVSTGC=2Vb|IadZA&{0xg^(@6fgW{YJTBzvYtkqXgKQWN|GHIaw4$iB&jIWH!M6b&P z_vuo*$JYDE7AF`ai!of38V3X)wXzOXVkXfWVs}AgB@;^v4$sB;l4JNIp2ga;%2Q8@ za*jcXK{)U`*B?j2zweKSj%R-_bKg3FSHi%a-Z%Qpb@)bvZ;bA+v{-V@ViwKWP>H`8 z(JMJJmRHPe-ilI;tMdPD$c%FG zsCCJVU>;H(@hIMJAl9n4==xHAK^EZCDC>|`P5g|vbU&J3%7iSs^9wx97T>#XA3U5O zD@vO1cMM`I{N6O%dt(;xay)rXrU>K6yz5c_eF&p%l9MuE-3e;hYAfc?A(4QkA z&3N9YUm6Y$tUFvM&pfZ;IVHc9i-7@hJdOs7>F)jvrR#i=IRu+yh4vbU!Th1~+dp*f z$H3jTDMt>m-Yn}E9-!XE;k@kCa1In>?~N(4{T*3tB#&=5%ez;SGM~Sk=6|?%=lgS@pVCiVHe>ytkXTR>z$G|K zTSs63UEs*0$uqg_pm+HIA{ZDRSZbv>fB;yOy5W$?LO60oeL;l!RLx2aVWSfqC)b_X zbOF$F0;d}p`x4soVK+cVq#t}DPull%H~NWrymuld`&*)oMyr`^uiG5INJd*jEj0P% z`00{~1!;blZjh>SY{Hjfz}Nfz@5LTsH;s8xLIv7JBpGXR*o=Dz+g(XH1(-wzMg(wJ zkWpm@a)bNn*17NTjht$C$_v^KLFYnyT3aS4&ep-nePH0+>BO9v@%J;sF#MlDj?pf% z)ObKM88NIV3)C8d$SsmRk0kFp4GE1VMqDQ>rM~>PZMFp%=3{1xHC1#SDVLHWBRp#r z1vj1DsxQf1?Uq^lQhtXpBCJ3`5NI4-?{|q8?L@)%M7hZ;*0wSO9G--V0Fi9DOn)$Q zJlgE4(z@jD2kJ{FSJ2%J#QG0g#!7K6+YK)5sByBY5hbg)y!D+E7%9ZdcGiW^JhbM7 z+Elj%#3c~=GKt)G#4fK4VAMK~v)Q&hAm}OgdV(#!)Gpzh{-xD-_rJVoI_$uPa@3zD zF~Lu^j|yc~yUu%(`R#B_S-ig9{(^vK+VmIGdG^28+h?B(o8)rygpiZ4y|Kf_k1Sqa%e5*0Lo0v!#DaKDIemm``Y$O z99sI~TU_nW8R>?+HHSq-*7rc)GTc$-VmHc-!8k03COoCw2BoEZL8{cpj)~@ci>Mc` z&c^kMP6IX5m|S!10v>->v6eN1>2;)Z^T1ikoS*1c)r?5t7tiC!-ULW+GF&XkXk9Wj znm`jK61|Ydl^PPSnvkJ-ZsUEvvsglgzI@Vn=Q|>#@XnZcESLa=qHZ2As{BPfA4hM% zO!K){ceG&k?XT}-E=o8p-}9Y~(H)Gdl4plR$F{7yWsQ7X3gjtwr6@kV1pY$(1D%Gm z^yOl60Dyswwn88QC;&jmKo-p4oz!#TxE^r?hD@@saXsIR5s4H=pR@H!4>8$wy4x#F zC1(bq^9$k`Pen&ZY3k92YvjCWC6}lH5FwsYRc~w>xBHMC7$jg?e$b?ZK2iqw`DN`x zf1)CY7D=|6ZcfAhMlXQ_u5!f6);`(D?iaR<4fxk@mNm&ta(7zePgK?3{e z42Mf9o6xW7xnVQ$Sr75c1~~d)mbmaVqB=hZNryC70-2_#LuOtiQwF%OHYJ!X6iK50 z^mo+!UQy;At$4y7`x~Fj#l1n@ zbx%IRw&R-YtQ0rr?cXP|LgLyI1!L3{xkKNdpka;Trbnn<{aCGZe_ zF#uPf$NlTQhVmbQ7lvIom2o*Qf}YN+o45Ez0Fja? zi6EP8R)9_$*M#=A`b0BKx8-q4-u1TIIogSFGN`*D@s&lxra5X+8vSct5L0nQ>J8JU ziz~_36=(HZDSE9D>be_qJ@$}AhNtF zhQ7K=pH8GW!bCiS^bzDXVHx^FrUPXZ%*gQk2eWl~@T#TZt!k)m)X|&=l4qYrq>1HC z$8e$mj$v~RLD-5EaX){-)rP#Y&{wY(0oYJRS|*rCP5TM(-#A|riaqiCz7%^fQkeoW zY)3QoTKX2;A_C@%2n>FjYm1Hh1Ivz^&K*)pk`U8s9ygu#l*l@#FBcV)Ac4$V?F_oZ`Rz>@$oM{^h&pV5>nrf*quOT< z(9hu3y?gSz|0(olZ%ve1A*;{*odt{p#X!{e8q^~`2EKnBif47bl3t2Hi@qDPzIm}I zCLD$q7J6~PAW;9+ZG!|*3WdxMNbk=6IkDQ4n5{hAW6)#B9?JCY0j72lKXh*G0n9N@ zoZv`Ey7AiJEi0j5(ck|nL;8-fBJQ`hMyWb5^KBXojOk15Ar7(H-49T|W5?i_*?EtG z7Y1`j4)FNO{e>nFw++(nU-i*{Umcjm%SvPYgMb*qemxmAig)M?xnuU?RfCsnJTmHv zC-gu!$P%_Sluh7#0xWeA6uaUJXZPIaokUAhKczH%>JVYmnG*8#gC7`6e~rUf@`jY0sCXXGm!e*=gBh( ziip$mj{){sVtGLv7q^1JaVYPbu$B1t$tB7Xw#NKRt!U`2tW8%`j59%*nm z5|oZVs@Ho@vrq9jQgbW9#96tEp%``74g#xC09BSWAEswknEof+wwJq|kzWQUKegN7 zcXxg+l3{m~bOKjl2d_%y??Kgv|}ga9{&>Zj6r#LOJcXZ zN-@0tiB7Yw&N{A`^U$04BmUF<#~&|!5{mV82v(HWYb3tXGw?2W<)|WXE4*+ z5nDFe+9CVT3I?=V-&_5yd$DtNQ|)p5@T}o;HPUA#+h&!;+&;`OEvSo1Xdr{ymqtq3iRpwsAPu*y3&nF26*nli`A?>BGh_0iU)J}0f9=Lx zQ5c5%Ry--*Q7<<936sYOY_6*_zkPP58-rIdzA?*FNk(%f#lG>xlS%xk`Oc_Nagt{Z zKi4!Y%BZs2Xjw0hkXv^o`KHm#08dyJI_1XJ!NhQv1rKS?;e3cHahW3?AINxAWZr}^ zY8Vf&ceQm*ID(x-GCG&6=VXs-Z1&&f=g5*gZQ6Ue)#0kunyGBp#_CR3K2=V^wmAuH zwB&bqK5~a6$4wFBKH@m@bI`E_Hp$DgbWAVT>2$4o-s=6t{>+XFATkKsg z--SX9{HZBh-CdVNJTN7d6RZ&81g|ffwac=IAVB|v=IDv}nhz;^ta%R8E3?i=?%=WHvc{3^Z;*ksG zFHP?pO5td-qoO~pxGlOIo(_ibpIU5DyT;+P++k=_zm^SKG`6(d;3UGMC)!&*+ljs@ zJ8N+E#$xEHsT5=uc3>q)+J7O$c*VCJX|U=ggJ5840oC8w0>M(F6DZp#fXJ@PGdN|p zhsfR-%sw@RJp-*tbo~qq)Bo6k8&b?T#maEu&LIkpJ;~xypef5x`{VjR>suVU!;|uJ z*rR$7Ks(AlfNDbd4I5@7D4UV$6HL`sT^uBZKPe`)bo0T|1WeMM#TkCsa zjEp@!_{V1_J>dHv5DOACnP%ptbIXR9MlEY8b$7pMYe`kR<*j&E#GY=6=XW{Xkdnx~ zNSgiQqDl89LvE(jyx|30&$0O%J)J`k&&649l=4)!K$#yeiJ%iYoh{v4$@O%;lr;u8>YXvm6R<>z|BjXU>BxCJQ&Zud0czm7=%AXRMz+6HS?w_%Kz#N`ey`Nm?E38N zs(3G|#FaHOza3mu5#j?bbTcJsGen%RP^H)KNFZXR_(YwQD)vtH!A|isVF+2IR$Q~EcCE2;hx=rISx@fOn-k|k!H`kGRNS5g zQK^xIYY7?xf)jy49LuoQw2U0bR2)kim!M*7;Fr?yO-gz`{1pLy#j_ugI9B@-t6F?y zeSX9~H3yekd@v}*5QU^}W^7l+8G3uVdWKsuHvCIT5_=?su7QP1jnFpLl>{IJY_u{e z8+Z!|q3bamRgz?KM^ryBu`4U!iTie9OV)HvfAU=loRUmNi_Tvk;7j6pLBY{&*RaFx* zWBsre+E*@(v=CKG&(m`*}Shd*$zVA+tm$ zev%NB2HvVW2+nM}tOT<^(FIx4nLqgGc5o^E)emYmFr)a`7U>X?VkbKgj)oJF*{1h5 zsLivX?jBimLuj1ls-DX;#7WW*SqZ&~7JQWNFp7NjxWJ8`%kCaV&1=H<@)TA{Qd?t5 z0fhiygHu6~>6KPJ0d)?w!X5j04-8tE_$Rd!zelFG?b1Xc&SeY55Wx-*dXien;!mEP z1x2JRGJG+jbN{S^2R)iM-g1$+qfJ4qbMVPM;a~m;V>$Urx6VT6+SO7P!vun2lZH>! z6lY=#)O?E7Yit^~A*6Tbi1;8sU)_9y>MV62`a+8mbVO$PQmT@)V|K)+ob6iax9Cqo zGLOy1fi1N{grStqOn4#kW?AOKfxt>s_b+;U-0K)anLCF;XRPjd8olHkumfNF6mv_@ zrCh1Wmo_OE+0+PZvh}m>nLu*GGbMir8GmIFE91X>2e?Z_D%~qBFQ`1HYK7Un^QZ~~ zYj09f$atUsJeKAzE5HZS#?RA?d}u{Vz=x z*@f!}ZfzvLi2>@ols=>+*2R^CTaiL7a7uYs{@0(dH{pRl&@V6=qYO70LX(8y_tV;0 zAi+?<)k3-hQeN?H^Ofxz?WcT zx?s{GjTLlQ)~78PV{tDc`aQ|i{`G*>8|;C|bw%0hfz4Jl1LBvfFMS>bkOcZ1KzkTF zYJ8(fm?MIIV$PbBx>T2S@N?(qQxcRB@l9~No`q4XdImGMh|m@!w66}%$z(B)s~)J_ zn|?#e2)1y}X>T5+HAB7CB*0Rc_xY|AqW5eE;lE|w%|X3xMcrG^{FeovI5(k}IFs{F zyZLXW%=Z3Qa&STwGW@&z8-CZyKvP>d-?TSukJb{W-}~C@I!rn8ATb4z?=_HA!4X7C zIgY|KCmW0b=&nFl;(2TdOH`tnDB^?KZ)J-J?G55Z*Y0|f*K`gSDqzg=1nOXl`d5(h zXGu$Vif>6Xka6i`#pYI-Qfv=!MY|-q5Rkh#K_gWqm&~Dcf%j?iP_IdPk_EoP1Bvl6&|iJc$7Wr!;wGg98|Y4>7*M*VW7>i zSlq7MUuEOAF7rxoQ>Xp=3z)EPO=nw*wL?kW@xVfQqJ)L0z|il1l;r5Dgr)Qu&$Toc7YCujijfv(1cq#TJ5g0uA&YbM6{&+X+ zI*8+DDTjGm36>wCAsyz>2&TCzGoc^9{}-@vgGA-_%_E%ZNLo4RJ_uyjPVF-nyT2e& z;*%B?U#2C;G7{^W4@rB7b#>xKW@7 z_tLyOK$<+|MXAP7SEMti5*rDBkq7*b%7B4kxK1)+*{EW%OTciy++WRbkgsT8WbfnR zr>afZx7lW$E zB6t-fwvc$Xvd3}OaSnaZz8}PJ(5;=fA{myWwKg%o=w4$y?>{1@tVq1R^~f5M{HgKg zxPzkNcDX*H5d|_PkhgiCLkjoYZtH>c#bU=iN(*n>J@%3CzFMm<{#I{@$a)JEcau0+ zrPZI#D>TXYx~G`B|LU+h&BgEaKSkiNP2l0?dm+dEjfa;rKmr z&ReLrzwCk+z$4X}=3tQOiW*lRZZsiy=jQ;uj0os(@dbKwllakHd?YxPLnSM>MF_Cr z7qJ-U>^hkse^EdM!u>==#?f=5DfjWZ;?D^X{>7qIlS)jh0VyZN0)y1sRbs|bJRlxf z$e=q|A#8C%ee2~u_>+fE|$q-gI`XCjiL16dM}*D1t)cRW;gtSQrw~&lKruyUmOmo~KiXil*&|5plC@!~N&3N|b z{S2@rCG=S?Mn!08Ga&s!Rya%WlfZDsAc#$TU|HFo)yJ{X=Yv>#H;fT!i@KS(sXMqm zmL!LqHwI2)-YkW`Hl5EA_@Zz^I%4Ez5;XV}=Utj;Tb7B1Ha_PRthK7?S|9tUO>Lg& zc;ft1JM}}ua>LDZ!*SR8P&UP?WY$?yM+*o&1Q&&wY2moIW1^??UY+}WeT#6Bh*0?3 zs-Ia9mzxCAE}gFqNYNaOvDJUyv`G09PuZwKssLYd2Kys+9V}N7H*7?V8{By$!2ucl zfy=#db~p4}1&~~_Q21MG@F$a-ZXC~S5oT!5*NidDKw*+S+`u2jm=up$Oxs4$NytEn zM00ECjGX{lglxc3hZq*kZf?^X-LB8u*En3V1@$)GV#$N1n7Hj1E>g;?c@HDZRAv(l z#UgX-qdL?nZWQc?1(ZiA%TD5#!w6JGJ9FzZHT39pkhWNoM2$(xX;@rF8IAk^V!NvM zj5J&D(eo_{`p3A&hZc4d)dyBJGl2V~&m|ERRmN2tj$aE9XHDrxuD-i6`R7yaf_KYGmR}tFC ztp(l}@Q9lFSSXBo3a7=m z6};Xun@PUSaKwCstV>%Lt`9!i*^)R{J@m;A2(r1lk|p+I_DseG9lMsAo>|f{{c^e0 zi^g;XF;Okj-yUzO#|d11POm^CDg1F6?#59QRpi5)TA0cQYC7H=Y+PopLWmgi)qB9( zFVai@g)*3LVF09qT5|jfN)qiC%DvRcJS9g`9|8m^15%l}a;pM57a4+yytdDHKS)n8 z%=dTkBCaE8-pf`+w2r?zyb4y9adps7(g{mQ-1&>s9mmV;K;?;ji0kemnK z30gL+WdCjed14S4OEJu1NG>yyZ>cA*eLC)^n>@t`y;@2U1b=lUyQEcRl<9=FD>%C_ zFzW}Q=6@O*h#2=SzcpbFWOXr>knt}}k&vP-7@7w*P)Cj1z!i95f0t!VA6sB}Whtgd z-;|!x%uCjw=Yox-VvrGOD0NnKNuzVmRpBc7essqOY|<=u&*@RlZlwV1>jj0d3zcTm zh#%fpwJ7ATH0Q+GcyTOT#tz=XmDZTScFl~J-Dg}x(XBB~IYO0eY{%XfoQ;9nS7_94 zmiH#*8DJy?6ULBqX)0TwdR=#Dbh1m{MXN3sL^;P@?_<;Fn^0p_Krg${p^<(Yxnn01e2KFU`M9Zt#N!+}0RJxK3f3@J3D1%1Msq)1 znqity_l;NuK|DqAp^N7v#%HzZ*Gksu_dRM9B^B_2h2u7I#-jGNV2l)oqwR1taj+0G z2WDMcvaay+F_Qzgaaeex45GATK@-I(ox)I{R9*tJ#w_iT)dtj6mm!uRD&iOWoeHlY z@t2v|ER&eI=_&ZD)-)9yYCP5|*GO71uXDK|}vw>k+H};-r92z*ot zK9XH`pizCYZSgJzEFCJylvE5f6z#VVRI-(wLc&8$Wp)cgNZHppx+0W}Z=IkIsT=I5 zrynps)4g;k_-NeQWBDQ%O-j4SnCh+pnPKNisL(zf-Kv5(fhY)*tO2xbY@LbsnZx=bNuGlY-0t<&$xex*wGz0Oa`!da4jx!^{czX)I&zM0EEL~==9s{17 zwsH2-xb<7@uM%6E)>w;CXdjH*RFZ$+h#lg@D!jaI(A88*hLTEDC<+hk)y!_5K*rlh zgo7_ugw!+~rCMsgpnU|~1VM6hT*!lzuo%}!0)eoQ?9S&@DO#Z%nYl}O1aQR{s$82z z+OPA9=uC|zv_2d{_x*zSK${)VG+CH{WIiO;JBOSRK{eY}KdG(#1~ z(Iw!b%OuNPE9ffu9TEAP*Dx?!=6Pt5fK*+g9f*{U>vjm?Ax=#q)=qvu?kk$lUiP z_H~m>-qdVT6;cA+0c1Pba={x%APJw3dw{}$VsO`d=WMbybIv-sh0f>*({=z;=YnPQ zq*&eUT_F{f?ZhxTqnL!B0$R!_n)nul^&2*>IS-j-NfH??kiOo7(%8a>@&Yztj5b*Y zmo-$YXB;_lnopOnDRn~a@Nw9Y*QS}T$ra8##5}NFTW1_6mRhJUjup|##Jr+CrG#^X{6>WZ!3}%&nV<6+iq%ZQ_EgayA(R?#c9ALDj<0+ zkTp2qOck>RJoQzVOE^i$cu{;t1^fiH8&pHK5! zdFjM<;BWBzK>hDqy#@m=vm!2=?ow-ERWy3h4ndvg4~j6EF9i(b z8z~!AH?cf0NPrXaK=xltLcx&bcAT`&TGGTtz#lU z0%U^c0D`0~{R_T+qTc~(ZKL&-0-H`Z28Vij&`9gEr7b*B4t%*XvnPii6FSGLXeA&` zcqfT;A{j?at0P)DI=_pF#d!vK4f}e1irOPpc z<5dxLIvx^zrhjzP9j=ad0j1$GVVLY}HYA~=Hfkw2ZBUghL^+Mj>n9fO9KPFF7dL7w z>zQh~@a!*DB-HqyO%qy&j>ehUC-d|_0BNiVMaAiLAt^B9Ga_TT9+aEl>=i){02W-4-DJsUyZvU!H*ZE|+hxR#;NNlQyo`8JX-%6Ys zPPFZN&4gee3dh?iq04R5dpbW@wf24$hB+D#wc!W9Ku^tCSb=gamn|g&+M1^NDeS8@ z2N#WYUbY0E+voQ%hPiScoOE3GdX905(unVlv|>le2-wQ#;xrWHBwI{P3DOJK<;A#P zae3m`pQ@&25VkdCK2heH|2+BNqGj@=N3!D02R^i0b_NeDFpNI&`&E0BYeFA?+&E4L9jWNzBQ*!IF9?4~5bq}Uvx_ktF5 zVo@0N+H&<{WheIO^6FUKvxjh=PHJbb_;)oWmnVXC#RXY(%(Kc6MGIQV>40lq8g<{! zh_${T{)GMP`85t|6;lC?FIruSs+0M8dhk1-geggJ%F6#oP*U6n5SyxdtJU0wIa#z5 z_3&{fu1crN8XElSp<+tJPM**B_$@ajE0Br2HWlOq#y6Tm{o4jB#kE+{rmtmL)s9(Q zQ-BO0OxYvqI#YnsjTP7A%XE#vzK%;l|Z`BBB=^3@g`CR{fg zmArTK{@Kx*Q(x?F7OQiM1TT;~a7X zMjG_4t_q;4@c(|eO7<03kW%919mMNB5~aik6Q6qo&c!h1cO?Bfac9xiuztWZnTyCl zh$_QKIv6g?X|pi+XB?V?#4zI}fGnB(Em8H`);N$B(Fiex(=?8VC_!kPIeQF=@`naX zoMP&qL68d-+!cCVXqhCUJ<*H$jX-0R+DY{CzB;n!-2K-_jCK{BpcUq6_=JDPu)ifU znE3*^j*+7Sw>eKq;Uq(Yb1sGrWY0T@;X`*4eiM(Gvga151Y0n=*1}n%xi}R}PSIF! zs?K6n1-2gtk~o3g5#27_C4z`_*{gcRC?|ardaCJ&Bl%aM%zf&UVhqNzUs$!gxN{J` z3VBEbr4SVnNZN#l-I1k-h2cB{hT=k%_<+EGrd|!cIFExmPa*K4TAayt44--)2U$3I zfL!2gLw`18#d%FehkWPvXBT>T8d9;Z>B_(2oaxBPIdXoh*ARnY8;BZXyoH%mm8FhQ z!@Gd@#>OG-F*Kw#4Fn#`sJ#FjB=n7PQRZ|Xu+=xjW)_<#Cw@>^o(S4cAbl@AVbKMu zo3Ie7gyzvX`>HfwTpc`j6_gDAHjtE8ggL2~szA5=_#Kgvvv?6og?{FtSQ)e~C|p}+ zTkE-9U1nDcOyScpkMFl`S(9!5?FBMRSX`UQYsiZ9AW`1KWZ3xl64IekSaVMh{qwG% zl+BewKD#|&TPNb>R_XWIH$)Dju+@0rC|;GLM)jzO)n8~mw?Y!7G50+FITGX!YVnRE z)r;6hq&XocJu^FpF`lB!@9UMc(d>q|UL?_THJFs}v&9-`yW)QHc4#^=ZpYI{`LUXs z9SVU{?HgAl9<#_k$0#3{q1)r34o|)H-_%`^+z6$!`)PYdB`*-idW$sJaEu#)Bl~kn zuUa$ObCyt6F-(wF317_;w!@LBhnGpUw+Qw$r&cN6H7rk80}QjvOA&oHi{z_$2{ah? z_nf~m+z$R;VN7Y9cXE?o9jY0u(jK>1#Ff;g&L?ipicBU5Se;RSmN_!<8azQJ?l>k< zP+&~&XbR-K=#{4Tn0=p@iPYi(Uc{j}=^x9%lIA_CdB$rEs&z@$-@0%_M10)?m!B)I zjd5#OT;xLoMjk+eA0}?I=yKBMsd_(u&;DLr;6$8tWLaawg>c)6 zh=i_;qyqkW{B%=56Oq2aUna6>EL1rIAFnx3lYg_pex`DuprLxgn2YEIG}V##q9JN@ zZX`k~BO%|rBV{91kVtDSp3Pv)DYjNpCL%Lg=1j-w+q{WrzQSdt{nCQ6=R2H8>L_ul zlp#0etqPNjN)YWM*nmZP7k~Q!uFaenZ*FUHioESA8kUbl0T+#G$=J{*Yqg#lj5}M` zP!?mmLLTWB9+A(m(7O)=e;57-Ue>5^EsW9{2oLZAhj%+(gSiHwR&qXhwkz;PFl zxMawcD(BViehzHCblZNB)!3iYC5|(|53Km$Bp!1OIyQh%hrYm`~sp zs?)EeYkgCrN(trD$NRpqA`8N-0#&7k1nCz-5PGby4)6ROxg=%!1Gw?(gRydLld;A#1fM;U~d1%fiH@1p=?!{M-T@Jj$}EsWE3jbEKv`<@mW%wkx4WU^o{g6;|g| zp1$-BAlOoD_4Z3@v{Th6$^72zSN-DWW?MO^neWif3MG*e=Q?9UL}@ z(ZL$_V(Jm+s=@l|F<>kaf7%L$u8y}8L-gahw4hLnJC6b?Is1^;!tvaI&Wj6c#1Ef= zTv8EKZyj$rdc+)YPZh-j>l0^;)vsI`*V--#-zG^8`hEdJ_KIfftF?veqvI0gTm)p9 z4ZpPLttFN6DjcJDp{M{$i9bQu*3VA}FeO<4I3pM)7&I6x7!nv58JKazq+=Oqr%5V; zC_n|UmuesiASSRXU_tW(ZIy-r10w`cSpHoAsi~p>W`fDYHTS)AFt7$qC@{2t_kvRW zse7UTO2YqW5rf*=G{S$8VE&DnFH9v914aBt(^j{J#;^ z<*C0x5&uX$;e!h{rsjzOs8gZEL79d2RB~|u6XCx?PyhE=tj<(BaZu_1^3lM+2>!i1 zP%2|4G4qosRZ#+fO7wrpJpTq(&V!};N&o~Q;#a^@yCeXlg#Q~A|8FE1nEcv57ixg#EVv1l$}b5ZC;AT@7POlk#2`ZbpJjmUZ-b?JO9IG<{)2`Dk&9k_fqY~B zR|xYySZbscfHZXl^j|=@zyeb5KvhlMlmO-GaR90D@Bpk-WJv%j;lIy9FwpJrKNnj3 X)KMt_F)}7-J1!I$m@E Date: Sat, 20 Aug 2022 09:11:14 -0400 Subject: [PATCH 0405/1248] Updated snapshot of chapter 10 --- nostarch/chapter10.md | 165 +++++++----------------------------------- 1 file changed, 25 insertions(+), 140 deletions(-) diff --git a/nostarch/chapter10.md b/nostarch/chapter10.md index 2030c335e5..bc453658db 100644 --- a/nostarch/chapter10.md +++ b/nostarch/chapter10.md @@ -39,13 +39,13 @@ help. ## Removing Duplication by Extracting a Function Generics allow us to replace specific types with a placeholder that represents -multiple types to remove code duplication. -Before diving into generics syntax, then, let’s first look at how to remove -duplication in a way that doesn’t involve generic types by extracting a -function that replaces specific values with a placeholder that represents -multiple values. Then we’ll apply the same technique to extract a generic -function! By looking at how to recognize duplicated code you can extract into a -function, you’ll start to recognize duplicated code that can use generics. +multiple types to remove code duplication. Before diving into generics syntax, +then, let’s first look at how to remove duplication in a way that doesn’t +involve generic types by extracting a function that replaces specific values +with a placeholder that represents multiple values. Then we’ll apply the same +technique to extract a generic function! By looking at how to recognize +duplicated code you can extract into a function, you’ll start to recognize +duplicated code that can use generics. We begin with the short program in Listing 10-1 that finds the largest number in a list. @@ -167,12 +167,6 @@ in. In summary, here are the steps we took to change the code from Listing 10-2 to Listing 10-3: - - - 1. Identify duplicate code. 2. Extract the duplicate code into the body of the function and specify the inputs and return values of that code in the function signature. @@ -255,9 +249,9 @@ the duplication by introducing a generic type parameter in a single function. To parameterize the types in a new single function, we need to name the type parameter, just as we do for the value parameters to a function. You can use any identifier as a type parameter name. But we’ll use `T` because, by -convention, parameter names in Rust are short, often just a letter, and Rust’s -type-naming convention is CamelCase. Short for “type,” `T` is the default -choice of most Rust programmers. +convention, type parameter names in Rust are short, often just a letter, and +Rust’s type-naming convention is CamelCase. Short for “type,” `T` is the +default choice of most Rust programmers. When we use a parameter in the body of the function, we have to declare the parameter name in the signature so the compiler knows what that name means. @@ -314,18 +308,18 @@ doesn’t yet compile yet If we compile this code right now, we’ll get this error: ``` -error[E0369]: binary operation `>` cannot be applied to type `T` +error[E0369]: binary operation `>` cannot be applied to type `&T` --> src/main.rs:5:17 | 5 | if item > largest { - | ---- ^ ------- T + | ---- ^ ------- &T | | - | T + | &T | help: consider restricting type parameter `T` | -1 | fn largest(list: &[T]) -> T { - | ^^^^^^^^^^^^^^^^^^^^^^ +1 | fn largest(list: &[T]) -> &T { + | ++++++++++++++++++++++ ``` The help text mentions `std::cmp::PartialOrd`, which is a *trait*, and we’re @@ -339,26 +333,6 @@ suggestion, we restrict the types valid for `T` to only those that implement `PartialOrd` and this example will compile, because the standard library implements `PartialOrd` on both `i32` and `char`. - - - ### In Struct Definitions We can also define structs to use a generic type parameter in one or more @@ -413,31 +387,6 @@ know that the generic type `T` will be an integer for this instance of `Point`. Then when we specify 4.0 for `y`, which we’ve defined to have the same type as `x`, we’ll get a type mismatch error like this: - - - ``` error[E0308]: mismatched types --> src/main.rs:7:38 @@ -545,16 +494,6 @@ fn main() { } ``` - - - Listing 10-9: Implementing a method named `x` on the `Point` struct that will return a reference to the `x` field of type `T` @@ -650,8 +589,8 @@ method. ### Performance of Code Using Generics You might be wondering whether there is a runtime cost when using generic type -parameters. The good news is that using generic types won't make your run any -slower than it would with concrete types. +parameters. The good news is that using generic types won't make your program +run any slower than it would with concrete types. Rust accomplishes this by performing monomorphization of the code using generics at compile time. *Monomorphization* is the process of turning generic @@ -676,15 +615,6 @@ is `f64`. As such, it expands the generic definition of `Option` into two definitions specialized to `i32` and `f64`, thereby replacing the generic definition with the specific ones. - - - The monomorphized version of the code looks similar to the following (the compiler uses different names than what we’re using here for illustration): @@ -821,8 +751,6 @@ that the trait definition has defined. Instead of adding a semicolon after each signature, we use curly brackets and fill in the method body with the specific behavior that we want the methods of the trait to have for the particular type. - - Now that the library has implemented the `Summary` trait on `NewsArticle` and `Tweet`, users of the crate can call the trait methods on instances of `NewsArticle` and `Tweet` in the same way we call regular methods. The only @@ -1073,8 +1001,9 @@ we can use a `where` clause, like this: ``` fn some_function(t: &T, u: &U) -> i32 - where T: Display + Clone, - U: Clone + Debug +where + T: Display + Clone, + U: Clone + Debug, { ``` @@ -1148,11 +1077,6 @@ around how the `impl Trait` syntax is implemented in the compiler. We’ll cover how to write a function with this behavior in the “Using Trait Objects That Allow for Values of Different Types” section of Chapter 17. - - ### Using Trait Bounds to Conditionally Implement Methods By using a trait bound with an `impl` block that uses generic type parameters, @@ -1234,26 +1158,6 @@ generics. ## Validating References with Lifetimes - - - Lifetimes are another kind of generic that we’ve already been using. Rather than ensuring that a type has the behavior we want, lifetimes ensure that references are valid as long as we need them to be. @@ -1443,7 +1347,7 @@ error[E0106]: missing lifetime specifier help: consider introducing a named lifetime parameter | 9 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { - | ^^^^ ^^^^^^^ ^^^^^^^ ^^^ + | ++++ ++ ++ ++ ``` The help text reveals that the return type needs a generic lifetime parameter @@ -1492,20 +1396,11 @@ annotations are meant to tell Rust how generic lifetime parameters of multiple references relate to each other. Let’s examine how the lifetime annotations relate to each other in the context of the `longest` function. - - - ### Lifetime Annotations in Function Signatures To use lifetime annotations in function signatures, we need to declare the generic *lifetime* parameters inside angle brackets between the function name -and the parameter list, just as we did with generic *type* parameters +and the parameter list, just as we did with generic *type* parameters. We want the signature to express the following constraint: the returned reference will be valid as long as both the parameters are valid. This is the @@ -1624,7 +1519,7 @@ error[E0597]: `string2` does not live long enough --> src/main.rs:6:44 | 6 | result = longest(string1.as_str(), string2.as_str()); - | ^^^^^^^ borrowed value does not live long enough + | ^^^^^^^^^^^^^^^^ borrowed value does not live long enough 7 | } | - `string2` dropped here while still borrowed 8 | println!("The longest string is {}", result); @@ -1693,14 +1588,11 @@ lifetime is not related to the lifetime of the parameters at all. Here is the error message we get: ``` -error[E0515]: cannot return value referencing local variable `result` +error[E0515]: cannot return reference to local variable `result` --> src/main.rs:11:5 | 11 | result.as_str() - | ------^^^^^^^^^ - | | - | returns a value referencing data owned by the current function - | `result` is borrowed here + | ^^^^^^^^^^^^^^^ returns a reference to data owned by the current function ``` The problem is that `result` goes out of scope and gets cleaned up at the end @@ -1723,13 +1615,6 @@ hold references, but in that case we would need to add a lifetime annotation on every reference in the struct’s definition. Listing 10-24 has a struct named `ImportantExcerpt` that holds a string slice. - - - Filename: src/main.rs ``` From 10d6065a73b0abf4f8ee26a7988d26d3bd3e783d Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 20 Aug 2022 09:24:57 -0400 Subject: [PATCH 0406/1248] Snapshot of chapter 10 copyedit --- TODO.md | 6 +- nostarch/chapter10.md | 1824 ++++++++++++++++++++++++++++++---- nostarch/docx/chapter10.docx | Bin 0 -> 84053 bytes 3 files changed, 1652 insertions(+), 178 deletions(-) create mode 100644 nostarch/docx/chapter10.docx diff --git a/TODO.md b/TODO.md index b61f853145..9d9890cebc 100644 --- a/TODO.md +++ b/TODO.md @@ -1,8 +1,8 @@ # In each chapter -- [ ] Manual regeneration -- [ ] Check for upstream changes from last snapshot -- [ ] Propagate updated output to docx +- [x] Manual regeneration +- [x] Check for upstream changes from last snapshot +- [x] Propagate updated output to docx - [ ] Extract docx and check diff - [ ] Answer all comments - [ ] Check cross references diff --git a/nostarch/chapter10.md b/nostarch/chapter10.md index bc453658db..1df00bf036 100644 --- a/nostarch/chapter10.md +++ b/nostarch/chapter10.md @@ -15,13 +15,13 @@ how they relate to other generics without knowing what will be in their place when compiling and running the code. Functions can take parameters of some generic type, instead of a concrete type -like `i32` or `String`, in the same way a function takes parameters with -unknown values to run the same code on multiple concrete values. In fact, we’ve -already used generics in Chapter 6 with `Option`, Chapter 8 with `Vec` -and `HashMap`, and Chapter 9 with `Result`. In this chapter, you’ll +like `i32` or `String`, in the same way they take parameters with unknown +values to run the same code on multiple concrete values. In fact, we’ve already +used generics in Chapter 6 with `Option`, Chapter 8 with `Vec` and +`HashMap`, and Chapter 9 with `Result`. In this chapter, you’ll explore how to define your own types, functions, and methods with generics! -First, we’ll review how to extract a function to reduce code duplication. We’ll +First we’ll review how to extract a function to reduce code duplication. We’ll then use the same technique to make a generic function from two functions that differ only in the types of their parameters. We’ll also explain how to use generic types in struct and enum definitions. @@ -40,46 +40,82 @@ help. Generics allow us to replace specific types with a placeholder that represents multiple types to remove code duplication. Before diving into generics syntax, -then, let’s first look at how to remove duplication in a way that doesn’t -involve generic types by extracting a function that replaces specific values -with a placeholder that represents multiple values. Then we’ll apply the same +let’s first look at how to remove duplication in a way that doesn’t involve +generic types by extracting a function that replaces specific values with a +placeholder that represents multiple values. Then we’ll apply the same technique to extract a generic function! By looking at how to recognize duplicated code you can extract into a function, you’ll start to recognize duplicated code that can use generics. -We begin with the short program in Listing 10-1 that finds the largest number -in a list. +We’ll begin with the short program in Listing 10-1 that finds the largest +number in a list. Filename: src/main.rs ``` fn main() { +``` + +``` let number_list = vec![34, 50, 25, 100, 65]; +``` + +``` + +``` +``` let mut largest = &number_list[0]; +``` + +``` +``` + +``` for number in &number_list { +``` + +``` if number > largest { +``` + +``` largest = number; +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` println!("The largest number is {}", largest); +``` + +``` } ``` -Listing 10-1: Finding the largest number in a list of numbers +Finding the largest number in a list of numbers We store a list of integers in the variable `number_list` and place a reference to the first number in the list in a variable named `largest`. We then iterate through all the numbers in the list, and if the current number is greater than -the number stored in `largest`, replace the reference in that variable. +the number stored in `largest`, we replace the reference in that variable. However, if the current number is less than or equal to the largest number seen so far, the variable doesn’t change, and the code moves on to the next number in the list. After considering all the numbers in the list, `largest` should refer to the largest number, which in this case is 100. -We've now been tasked with finding the largest number in two different lists of +We’ve now been tasked with finding the largest number in two different lists of numbers. To do so, we can choose to duplicate the code in Listing 10-1 and use the same logic at two different places in the program, as shown in Listing 10-2. @@ -87,33 +123,105 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let number_list = vec![34, 50, 25, 100, 65]; +``` + +``` + +``` +``` let mut largest = &number_list[0]; +``` + +``` +``` + +``` for number in &number_list { +``` + +``` if number > largest { +``` + +``` largest = number; +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` println!("The largest number is {}", largest); +``` +``` + +``` + +``` let number_list = vec![102, 34, 6000, 89, 54, 2, 43, 8]; +``` + +``` + +``` +``` let mut largest = &number_list[0]; +``` + +``` +``` + +``` for number in &number_list { +``` + +``` if number > largest { +``` + +``` largest = number; +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` println!("The largest number is {}", largest); +``` + +``` } ``` -Listing 10-2: Code to find the largest number in *two* lists of numbers +Code to find the largest number in *two* lists of numbers Although this code works, duplicating code is tedious and error prone. We also have to remember to update the code in multiple places when we want to change @@ -133,45 +241,109 @@ Filename: src/main.rs ``` fn largest(list: &[i32]) -> &i32 { +``` + +``` let mut largest = &list[0]; +``` + +``` + +``` +``` for item in list { +``` + +``` if item > largest { +``` + +``` largest = item; +``` + +``` } +``` + +``` } +``` +``` + +``` + +``` largest +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` let number_list = vec![34, 50, 25, 100, 65]; +``` + +``` + +``` +``` let result = largest(&number_list); +``` + +``` println!("The largest number is {}", result); +``` +``` + +``` + +``` let number_list = vec![102, 34, 6000, 89, 54, 2, 43, 8]; +``` + +``` + +``` +``` let result = largest(&number_list); +``` + +``` println!("The largest number is {}", result); +``` + +``` } ``` -Listing 10-3: Abstracted code to find the largest number in two lists +Abstracted code to find the largest number in two lists The `largest` function has a parameter called `list`, which represents any concrete slice of `i32` values we might pass into the function. As a result, -when we call the function, the code runs on the specific values that we pass -in. +when we call the function, the code runs on the specific values that we pass in. In summary, here are the steps we took to change the code from Listing 10-2 to Listing 10-3: 1. Identify duplicate code. -2. Extract the duplicate code into the body of the function and specify the - inputs and return values of that code in the function signature. -3. Update the two instances of duplicated code to call the function instead. - +1. Extract the duplicate code into the body of the function and specify the +inputs and return values of that code in the function signature. +1. Update the two instances of duplicated code to call the function instead. Next, we’ll use these same steps with generics to reduce code duplication. In the same way that the function body can operate on an abstract `list` instead of specific values, generics allow code to operate on abstract types. @@ -195,51 +367,153 @@ parameters and return value. Doing so makes our code more flexible and provides more functionality to callers of our function while preventing code duplication. Continuing with our `largest` function, Listing 10-4 shows two functions that -both find the largest value in a slice. We'll then combine these into a single +both find the largest value in a slice. We’ll then combine these into a single function that uses generics. Filename: src/main.rs ``` fn largest_i32(list: &[i32]) -> &i32 { +``` + +``` let mut largest = &list[0]; +``` + +``` +``` + +``` for item in list { +``` + +``` if item > largest { +``` + +``` largest = item; +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` largest +``` + +``` } +``` + +``` + +``` +``` fn largest_char(list: &[char]) -> &char { +``` + +``` let mut largest = &list[0]; +``` +``` + +``` + +``` for item in list { +``` + +``` if item > largest { +``` + +``` largest = item; +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` largest +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` let number_list = vec![34, 50, 25, 100, 65]; +``` + +``` + +``` +``` let result = largest_i32(&number_list); +``` + +``` println!("The largest number is {}", result); +``` + +``` + +``` +``` let char_list = vec!['y', 'm', 'a', 'q']; +``` + +``` +``` + +``` let result = largest_char(&char_list); +``` + +``` println!("The largest char is {}", result); +``` + +``` } ``` -Listing 10-4: Two functions that differ only in their names and the types in -their signatures +Two functions that differ only in their names and in the types in their +signatures The `largest_i32` function is the one we extracted in Listing 10-3 that finds the largest `i32` in a slice. The `largest_char` function finds the largest @@ -249,7 +523,7 @@ the duplication by introducing a generic type parameter in a single function. To parameterize the types in a new single function, we need to name the type parameter, just as we do for the value parameters to a function. You can use any identifier as a type parameter name. But we’ll use `T` because, by -convention, type parameter names in Rust are short, often just a letter, and +convention, type parameter names in Rust are short, often just one letter, and Rust’s type-naming convention is CamelCase. Short for “type,” `T` is the default choice of most Rust programmers. @@ -257,8 +531,8 @@ When we use a parameter in the body of the function, we have to declare the parameter name in the signature so the compiler knows what that name means. Similarly, when we use a type parameter name in a function signature, we have to declare the type parameter name before we use it. To define the generic -`largest` function, place type name declarations inside angle brackets, `<>`, -between the name of the function and the parameter list, like this: +`largest` function, we place type name declarations inside angle brackets, +`<>`, between the name of the function and the parameter list, like this: ``` fn largest(list: &[T]) -> &T { @@ -278,47 +552,145 @@ Filename: src/main.rs ``` fn largest(list: &[T]) -> &T { +``` + +``` let mut largest = &list[0]; +``` + +``` +``` + +``` for item in list { +``` + +``` if item > largest { +``` + +``` largest = item; +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` largest +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let number_list = vec![34, 50, 25, 100, 65]; +``` + +``` +``` + +``` let result = largest(&number_list); +``` + +``` println!("The largest number is {}", result); +``` +``` + +``` + +``` let char_list = vec!['y', 'm', 'a', 'q']; +``` + +``` +``` + +``` let result = largest(&char_list); +``` + +``` println!("The largest char is {}", result); +``` + +``` } ``` -Listing 10-5: The `largest` function using generic type parameters; this -doesn’t yet compile yet +The `largest` function using generic type parameters; this doesn’t compile yet If we compile this code right now, we’ll get this error: ``` error[E0369]: binary operation `>` cannot be applied to type `&T` +``` + +``` --> src/main.rs:5:17 +``` + +``` | +``` + +``` 5 | if item > largest { +``` + +``` | ---- ^ ------- &T +``` + +``` | | +``` + +``` | &T +``` + +``` | +``` + +``` help: consider restricting type parameter `T` +``` + +``` | +``` + +``` 1 | fn largest(list: &[T]) -> &T { +``` + +``` | ++++++++++++++++++++++ ``` @@ -328,7 +700,7 @@ states that the body of `largest` won’t work for all possible types that `T` could be. Because we want to compare values of type `T` in the body, we can only use types whose values can be ordered. To enable comparisons, the standard library has the `std::cmp::PartialOrd` trait that you can implement on types -(see Appendix C for more on this trait). By following the help text's +(see Appendix C for more on this trait). By following the help text’s suggestion, we restrict the types valid for `T` to only those that implement `PartialOrd` and this example will compile, because the standard library implements `PartialOrd` on both `i32` and `char`. @@ -343,20 +715,44 @@ Filename: src/main.rs ``` struct Point { +``` + +``` x: T, +``` + +``` y: T, +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` let integer = Point { x: 5, y: 10 }; +``` + +``` let float = Point { x: 1.0, y: 4.0 }; +``` + +``` } ``` -Listing 10-6: A `Point` struct that holds `x` and `y` values of type `T` +A `Point` struct that holds `x` and `y` values of type `T` The syntax for using generics in struct definitions is similar to that used in -function definitions. First, we declare the name of the type parameter inside +function definitions. First we declare the name of the type parameter inside angle brackets just after the name of the struct. Then we use the generic type in the struct definition where we would otherwise specify concrete data types. @@ -370,17 +766,38 @@ Filename: src/main.rs ``` struct Point { +``` + +``` x: T, +``` + +``` y: T, +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let wont_work = Point { x: 5, y: 4.0 }; +``` + +``` } ``` -Listing 10-7: The fields `x` and `y` must be the same type because both have -the same generic data type `T`. +The fields `x` and `y` must be the same type because both have the same generic +data type `T`. In this example, when we assign the integer value 5 to `x`, we let the compiler know that the generic type `T` will be an integer for this instance of @@ -389,10 +806,23 @@ same type as `x`, we’ll get a type mismatch error like this: ``` error[E0308]: mismatched types +``` + +``` --> src/main.rs:7:38 +``` + +``` | +``` + +``` 7 | let wont_work = Point { x: 5, y: 4.0 }; - | ^^^ expected integer, found floating-point number +``` + +``` + | ^^^ expected integer, found +floating-point number ``` To define a `Point` struct where `x` and `y` are both generics but could have @@ -404,23 +834,50 @@ Filename: src/main.rs ``` struct Point { +``` + +``` x: T, +``` + +``` y: U, +``` + +``` } +``` +``` + +``` + +``` fn main() { +``` + +``` let both_integer = Point { x: 5, y: 10 }; +``` + +``` let both_float = Point { x: 1.0, y: 4.0 }; +``` + +``` let integer_and_float = Point { x: 5, y: 4.0 }; +``` + +``` } ``` -Listing 10-8: A `Point` generic over two types so that `x` and `y` can be -values of different types +A `Point` generic over two types so that `x` and `y` can be values of +different types Now all the instances of `Point` shown are allowed! You can use as many generic type parameters in a definition as you want, but using more than a few makes -your code hard to read. If you're finding you need lots of generic types in +your code hard to read. If you’re finding you need lots of generic types in your code, it could indicate that your code needs restructuring into smaller pieces. @@ -431,9 +888,18 @@ variants. Let’s take another look at the `Option` enum that the standard library provides, which we used in Chapter 6: ``` -enum Option { +enum Option { +``` + +``` Some(T), +``` + +``` None, +``` + +``` } ``` @@ -449,8 +915,17 @@ enum that we used in Chapter 9 is one example: ``` enum Result { +``` + +``` Ok(T), +``` + +``` Err(E), +``` + +``` } ``` @@ -470,32 +945,77 @@ avoid duplication by using generic types instead. ### In Method Definitions We can implement methods on structs and enums (as we did in Chapter 5) and use -generic types in their definitions, too. Listing 10-9 shows the `Point` +generic types in their definitions too. Listing 10-9 shows the `Point` struct we defined in Listing 10-6 with a method named `x` implemented on it. Filename: src/main.rs ``` struct Point { +``` + +``` x: T, +``` + +``` y: T, +``` + +``` } +``` + +``` +``` + +``` impl Point { +``` + +``` fn x(&self) -> &T { +``` + +``` &self.x +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let p = Point { x: 5, y: 10 }; +``` + +``` + +``` +``` println!("p.x = {}", p.x()); +``` + +``` } ``` -Listing 10-9: Implementing a method named `x` on the `Point` struct that -will return a reference to the `x` field of type `T` +Implementing a method named `x` on the `Point` struct that will return a +reference to the `x` field of type `T` Here, we’ve defined a method named `x` on `Point` that returns a reference to the data in the field `x`. @@ -519,20 +1039,32 @@ Filename: src/main.rs ``` impl Point { +``` + +``` fn distance_from_origin(&self) -> f32 { +``` + +``` (self.x.powi(2) + self.y.powi(2)).sqrt() +``` + +``` } +``` + +``` } ``` -Listing 10-10: An `impl` block that only applies to a struct with a particular -concrete type for the generic type parameter `T` +An `impl` block that only applies to a struct with a particular concrete type +for the generic type parameter `T` This code means the type `Point` will have a `distance_from_origin` method; other instances of `Point` where `T` is not of type `f32` will not have this method defined. The method measures how far our point is from the point at coordinates (0.0, 0.0) and uses mathematical operations that are -available only for floating point types. +available only for floating-point types. Generic type parameters in a struct definition aren’t always the same as those you use in that same struct’s method signatures. Listing 10-11 uses the generic @@ -545,51 +1077,113 @@ Filename: src/main.rs ``` struct Point { +``` + +``` x: X1, +``` + +``` y: Y1, +``` + +``` } +``` + +``` + +``` +``` impl Point { +``` + +``` fn mixup(self, other: Point) -> Point { +``` + +``` Point { +``` + +``` x: self.x, +``` + +``` y: other.y, +``` + +``` } +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` let p1 = Point { x: 5, y: 10.4 }; +``` + +``` let p2 = Point { x: "Hello", y: 'c' }; +``` + +``` +``` + +``` let p3 = p1.mixup(p2); +``` +``` + +``` + +``` println!("p3.x = {}, p3.y = {}", p3.x, p3.y); +``` + +``` } ``` -Listing 10-11: A method that uses generic types different from its struct’s -definition +A method that uses generic types different from its struct’s definition In `main`, we’ve defined a `Point` that has an `i32` for `x` (with value `5`) and an `f64` for `y` (with value `10.4`). The `p2` variable is a `Point` struct that has a string slice for `x` (with value `"Hello"`) and a `char` for `y` (with value `c`). Calling `mixup` on `p1` with the argument `p2` gives us `p3`, -which will have an `i32` for `x`, because `x` came from `p1`. The `p3` variable -will have a `char` for `y`, because `y` came from `p2`. The `println!` macro +which will have an `i32` for `x` because `x` came from `p1`. The `p3` variable +will have a `char` for `y` because `y` came from `p2`. The `println!` macro call will print `p3.x = 5, p3.y = c`. The purpose of this example is to demonstrate a situation in which some generic parameters are declared with `impl` and some are declared with the method definition. Here, the generic parameters `X1` and `Y1` are declared after `impl` because they go with the struct definition. The generic parameters `X2` -and `Y2` are declared after `fn mixup`, because they’re only relevant to the +and `Y2` are declared after `fn mixup` because they’re only relevant to the method. ### Performance of Code Using Generics You might be wondering whether there is a runtime cost when using generic type -parameters. The good news is that using generic types won't make your program +parameters. The good news is that using generic types won’t make your program run any slower than it would with concrete types. Rust accomplishes this by performing monomorphization of the code using @@ -605,6 +1199,9 @@ Let’s look at how this works by using the standard library’s generic ``` let integer = Some(5); +``` + +``` let float = Some(5.0); ``` @@ -622,18 +1219,57 @@ Filename: src/main.rs ``` enum Option_i32 { +``` + +``` Some(i32), +``` + +``` None, +``` + +``` } +``` + +``` + +``` +``` enum Option_f64 { +``` + +``` Some(f64), +``` + +``` None, +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let integer = Option_i32::Some(5); +``` + +``` let float = Option_f64::Some(5.0); +``` + +``` } ``` @@ -651,8 +1287,8 @@ types. We can use traits to define shared behavior in an abstract way. We can use *trait bounds* to specify that a generic type can be any type that has certain behavior. -> Note: Traits are similar to a feature often called *interfaces* in other -> languages, although with some differences. +> NoteTraits are similar to a feature often called *interfaces* in other +languages, although with some differences. ### Defining a Trait @@ -669,20 +1305,25 @@ to another tweet. We want to make a media aggregator library crate named `aggregator` that can display summaries of data that might be stored in a `NewsArticle` or `Tweet` -instance. To do this, we need a summary from each type, and we’ll request -that summary by calling a `summarize` method on an instance. Listing 10-12 -shows the definition of a public `Summary` trait that expresses this behavior. +instance. To do this, we need a summary from each type, and we’ll request that +summary by calling a `summarize` method on an instance. Listing 10-12 shows the +definition of a public `Summary` trait that expresses this behavior. Filename: src/lib.rs ``` pub trait Summary { +``` + +``` fn summarize(&self) -> String; +``` + +``` } ``` -Listing 10-12: A `Summary` trait that consists of the behavior provided by a -`summarize` method +A `Summary` trait that consists of the behavior provided by a `summarize` method Here, we declare a trait using the `trait` keyword and then the trait’s name, which is `Summary` in this case. We’ve also declared the trait as `pub` so that @@ -707,41 +1348,112 @@ we can implement it on the types in our media aggregator. Listing 10-13 shows an implementation of the `Summary` trait on the `NewsArticle` struct that uses the headline, the author, and the location to create the return value of `summarize`. For the `Tweet` struct, we define `summarize` as the username -followed by the entire text of the tweet, assuming that tweet content is +followed by the entire text of the tweet, assuming that the tweet content is already limited to 280 characters. Filename: src/lib.rs ``` pub struct NewsArticle { +``` + +``` pub headline: String, +``` + +``` pub location: String, +``` + +``` pub author: String, +``` + +``` pub content: String, +``` + +``` } +``` +``` + +``` + +``` impl Summary for NewsArticle { +``` + +``` fn summarize(&self) -> String { +``` + +``` format!("{}, by {} ({})", self.headline, self.author, self.location) +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` pub struct Tweet { +``` + +``` pub username: String, +``` + +``` pub content: String, +``` + +``` pub reply: bool, +``` + +``` pub retweet: bool, +``` + +``` } +``` + +``` + +``` +``` impl Summary for Tweet { +``` + +``` fn summarize(&self) -> String { +``` + +``` format!("{}: {}", self.username, self.content) +``` + +``` } +``` + +``` } ``` -Listing 10-13: Implementing the `Summary` trait on the `NewsArticle` and -`Tweet` types +Implementing the `Summary` trait on the `NewsArticle` and `Tweet` types Implementing a trait on a type is similar to implementing regular methods. The difference is that after `impl`, we put the trait name we want to implement, @@ -760,18 +1472,57 @@ library crate: ``` use aggregator::{Summary, Tweet}; +``` + +``` + +``` +``` fn main() { +``` + +``` let tweet = Tweet { +``` + +``` username: String::from("horse_ebooks"), +``` + +``` content: String::from( +``` + +``` "of course, as you probably already know, people", +``` + +``` ), +``` + +``` reply: false, +``` + +``` retweet: false, +``` + +``` }; +``` + +``` + +``` +``` println!("1 new tweet: {}", tweet.summarize()); +``` + +``` } ``` @@ -783,20 +1534,20 @@ trait into scope to implement `Summary` on their own types. One restriction to note is that we can implement a trait on a type only if at least one of the trait or the type is local to our crate. For example, we can implement standard library traits like `Display` on a custom type like `Tweet` as part of our -`aggregator` crate functionality, because the type `Tweet` is local to our +`aggregator` crate functionality because the type `Tweet` is local to our `aggregator` crate. We can also implement `Summary` on `Vec` in our -`aggregator` crate, because the trait `Summary` is local to our `aggregator` +`aggregator` crate because the trait `Summary` is local to our `aggregator` crate. But we can’t implement external traits on external types. For example, we can’t -implement the `Display` trait on `Vec` within our `aggregator` crate, -because `Display` and `Vec` are both defined in the standard library and -aren’t local to our `aggregator` crate. This restriction is part of a property -called *coherence*, and more specifically the *orphan rule*, so named because -the parent type is not present. This rule ensures that other people’s code -can’t break your code and vice versa. Without the rule, two crates could -implement the same trait for the same type, and Rust wouldn’t know which -implementation to use. +implement the `Display` trait on `Vec` within our `aggregator` crate because +`Display` and `Vec` are both defined in the standard library and aren’t +local to our `aggregator` crate. This restriction is part of a property called +*coherence*, and more specifically the *orphan rule*, so named because the +parent type is not present. This rule ensures that other people’s code can’t +break your code and vice versa. Without the rule, two crates could implement +the same trait for the same type, and Rust wouldn’t know which implementation +to use. ### Default Implementations @@ -805,7 +1556,7 @@ in a trait instead of requiring implementations for all methods on every type. Then, as we implement the trait on a particular type, we can keep or override each method’s default behavior. -In Listing 10-14 we specify a default string for the `summarize` method of the +In Listing 10-14, we specify a default string for the `summarize` method of the `Summary` trait instead of only defining the method signature, as we did in Listing 10-12. @@ -813,14 +1564,26 @@ Filename: src/lib.rs ``` pub trait Summary { +``` + +``` fn summarize(&self) -> String { +``` + +``` String::from("(Read more...)") +``` + +``` } +``` + +``` } ``` -Listing 10-14: Defining a `Summary` trait with a default implementation of -the `summarize` method +Defining a `Summary` trait with a default implementation of the `summarize` +method To use a default implementation to summarize instances of `NewsArticle`, we specify an empty `impl` block with `impl Summary for NewsArticle {}`. @@ -832,24 +1595,55 @@ the `summarize` method on an instance of `NewsArticle`, like this: ``` let article = NewsArticle { +``` + +``` headline: String::from("Penguins win the Stanley Cup Championship!"), +``` + +``` location: String::from("Pittsburgh, PA, USA"), +``` + +``` author: String::from("Iceburgh"), +``` + +``` content: String::from( +``` + +``` "The Pittsburgh Penguins once again are the best \ +``` + +``` hockey team in the NHL.", +``` + +``` ), +``` + +``` }; +``` + +``` + +``` +``` println!("New article available! {}", article.summarize()); ``` -This code prints `New article available! (Read more...)`. -Creating a default implementation doesn’t require us to change anything about -the implementation of `Summary` on `Tweet` in Listing 10-13. The reason is that -the syntax for overriding a default implementation is the same as the syntax -for implementing a trait method that doesn’t have a default implementation. +Unmatched: BodyContinued + Creating a default implementation doesn’t require us to change anything +about the implementation of `Summary` on `Tweet` in Listing 10-13. The reason +is that the syntax for overriding a default implementation is the same as the +syntax for implementing a trait method that doesn’t have a default +implementation. Default implementations can call other methods in the same trait, even if those other methods don’t have a default implementation. In this way, a trait can @@ -861,11 +1655,29 @@ a small part of it. For example, we could define the `Summary` trait to have a ``` pub trait Summary { +``` + +``` fn summarize_author(&self) -> String; +``` + +``` + +``` +``` fn summarize(&self) -> String { +``` + +``` format!("(Read more from {}...)", self.summarize_author()) +``` + +``` } +``` + +``` } ``` @@ -874,9 +1686,21 @@ when we implement the trait on a type: ``` impl Summary for Tweet { +``` + +``` fn summarize_author(&self) -> String { +``` + +``` format!("@{}", self.username) +``` + +``` } +``` + +``` } ``` @@ -888,14 +1712,41 @@ definition of `summarize_author` that we’ve provided. Because we’ve implemen ``` let tweet = Tweet { +``` + +``` username: String::from("horse_ebooks"), +``` + +``` content: String::from( +``` + +``` "of course, as you probably already know, people", +``` + +``` ), +``` + +``` reply: false, +``` + +``` retweet: false, +``` + +``` }; +``` + +``` + +``` +``` println!("1 new tweet: {}", tweet.summarize()); ``` @@ -907,7 +1758,7 @@ overriding implementation of that same method. ### Traits as Parameters Now that you know how to define and implement traits, we can explore how to use -traits to define functions that accept many different types. We'll use the +traits to define functions that accept many different types. We’ll use the `Summary` trait we implemented on the `NewsArticle` and `Tweet` types in Listing 10-13 to define a `notify` function that calls the `summarize` method on its `item` parameter, which is of some type that implements the `Summary` @@ -915,7 +1766,13 @@ trait. To do this, we use the `impl Trait` syntax, like this: ``` pub fn notify(item: &impl Summary) { +``` + +``` println!("Breaking news! {}", item.summarize()); +``` + +``` } ``` @@ -934,7 +1791,13 @@ sugar for a longer form known as a *trait bound*; it looks like this: ``` pub fn notify(item: &T) { +``` + +``` println!("Breaking news! {}", item.summarize()); +``` + +``` } ``` @@ -964,7 +1827,7 @@ The generic type `T` specified as the type of the `item1` and `item2` parameters constrains the function such that the concrete type of the value passed as an argument for `item1` and `item2` must be the same. -#### Specifying Multiple Trait Bounds with the `+` Syntax +#### Specifying Multiple Trait Bounds with the + Syntax We can also specify more than one trait bound. Say we wanted `notify` to use display formatting as well as `summarize` on `item`: we specify in the `notify` @@ -984,26 +1847,38 @@ pub fn notify(item: &T) { With the two trait bounds specified, the body of `notify` can call `summarize` and use `{}` to format `item`. -#### Clearer Trait Bounds with `where` Clauses +#### Clearer Trait Bounds with where Clauses Using too many trait bounds has its downsides. Each generic has its own trait bounds, so functions with multiple generic type parameters can contain lots of trait bound information between the function’s name and its parameter list, making the function signature hard to read. For this reason, Rust has alternate syntax for specifying trait bounds inside a `where` clause after the function -signature. So instead of writing this: +signature. So, instead of writing this: ``` fn some_function(t: &T, u: &U) -> i32 { ``` -we can use a `where` clause, like this: -``` +Unmatched: BodyContinued + ``` fn some_function(t: &T, u: &U) -> i32 +``` + +``` where +``` + +``` T: Display + Clone, - U: Clone + Debug, +``` + +``` + U: Clone + Debug +``` + +``` { ``` @@ -1011,21 +1886,48 @@ This function’s signature is less cluttered: the function name, parameter list and return type are close together, similar to a function without lots of trait bounds. -### Returning Types that Implement Traits +### Returning Types That Implement Traits We can also use the `impl Trait` syntax in the return position to return a value of some type that implements a trait, as shown here: ``` fn returns_summarizable() -> impl Summary { +``` + +``` Tweet { +``` + +``` username: String::from("horse_ebooks"), +``` + +``` content: String::from( +``` + +``` "of course, as you probably already know, people", +``` + +``` ), +``` + +``` reply: false, +``` + +``` retweet: false, +``` + +``` } +``` + +``` } ``` @@ -1047,44 +1949,113 @@ return type specified as `impl Summary` wouldn’t work: ``` fn returns_summarizable(switch: bool) -> impl Summary { +``` + +``` if switch { +``` + +``` NewsArticle { +``` + +``` headline: String::from( +``` + +``` "Penguins win the Stanley Cup Championship!", +``` + +``` ), +``` + +``` location: String::from("Pittsburgh, PA, USA"), +``` + +``` author: String::from("Iceburgh"), +``` + +``` content: String::from( +``` + +``` "The Pittsburgh Penguins once again are the best \ +``` + +``` hockey team in the NHL.", +``` + +``` ), +``` + +``` } +``` + +``` } else { +``` + +``` Tweet { +``` + +``` username: String::from("horse_ebooks"), +``` + +``` content: String::from( +``` + +``` "of course, as you probably already know, people", +``` + +``` ), +``` + +``` reply: false, +``` + +``` retweet: false, +``` + +``` } +``` + +``` } +``` + +``` } ``` Returning either a `NewsArticle` or a `Tweet` isn’t allowed due to restrictions around how the `impl Trait` syntax is implemented in the compiler. We’ll cover -how to write a function with this behavior in the “Using Trait Objects That -Allow for Values of Different Types” section of Chapter 17. +how to write a function with this behavior in “Using Trait Objects That Allow +for Values of Different Types” on page XX. ### Using Trait Bounds to Conditionally Implement Methods By using a trait bound with an `impl` block that uses generic type parameters, we can implement methods conditionally for types that implement the specified traits. For example, the type `Pair` in Listing 10-15 always implements the -`new` function to return a new instance of `Pair` (recall from the “Defining -Methods” section of Chapter 5 that `Self` is a type alias for the type of the -`impl` block, which in this case is `Pair`). But in the next `impl` block, +`new` function to return a new instance of `Pair` (recall from “Defining +Methods” on page XX that `Self` is a type alias for the type of the `impl` +block, which in this case is `Pair`). But in the next `impl` block, `Pair` only implements the `cmp_display` method if its inner type `T` implements the `PartialOrd` trait that enables comparison *and* the `Display` trait that enables printing. @@ -1093,42 +2064,110 @@ Filename: src/lib.rs ``` use std::fmt::Display; +``` + +``` + +``` +``` struct Pair { +``` + +``` x: T, +``` + +``` y: T, +``` + +``` } +``` + +``` + +``` +``` impl Pair { +``` + +``` fn new(x: T, y: T) -> Self { +``` + +``` Self { x, y } +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` impl Pair { +``` + +``` fn cmp_display(&self) { +``` + +``` if self.x >= self.y { +``` + +``` println!("The largest member is x = {}", self.x); +``` + +``` } else { +``` + +``` println!("The largest member is y = {}", self.y); +``` + +``` } +``` + +``` } +``` + +``` } ``` -Listing 10-15: Conditionally implementing methods on a generic type depending -on trait bounds +Conditionally implementing methods on a generic type depending on trait bounds We can also conditionally implement a trait for any type that implements another trait. Implementations of a trait on any type that satisfies the trait -bounds are called *blanket implementations* and are extensively used in the +bounds are called *blanket implementations* and are used extensively in the Rust standard library. For example, the standard library implements the `ToString` trait on any type that implements the `Display` trait. The `impl` block in the standard library looks similar to this code: ``` impl ToString for T { - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` @@ -1149,12 +2188,12 @@ reduce duplication but also specify to the compiler that we want the generic type to have particular behavior. The compiler can then use the trait bound information to check that all the concrete types used with our code provide the correct behavior. In dynamically typed languages, we would get an error at -runtime if we called a method on a type which didn’t define the method. But Rust -moves these errors to compile time so we’re forced to fix the problems before -our code is even able to run. Additionally, we don’t have to write code that -checks for behavior at runtime because we’ve already checked at compile time. -Doing so improves performance without having to give up the flexibility of -generics. +runtime if we called a method on a type which didn’t define the method. But +Rust moves these errors to compile time so we’re forced to fix the problems +before our code is even able to run. Additionally, we don’t have to write code +that checks for behavior at runtime because we’ve already checked at compile +time. Doing so improves performance without having to give up the flexibility +of generics. ## Validating References with Lifetimes @@ -1162,15 +2201,14 @@ Lifetimes are another kind of generic that we’ve already been using. Rather than ensuring that a type has the behavior we want, lifetimes ensure that references are valid as long as we need them to be. -One detail we didn’t discuss in the “References and Borrowing” section in -Chapter 4 is that every reference in Rust has a *lifetime*, which is the scope -for which that reference is valid. Most of the time, lifetimes are implicit and -inferred, just like most of the time, types are inferred. We only must annotate -types when multiple types are possible. In a similar way, we must annotate -lifetimes when the lifetimes of references could be related in a few different -ways. Rust requires us to annotate the relationships using generic lifetime -parameters to ensure the actual references used at runtime will definitely be -valid. +One detail we didn’t discuss in “References and Borrowing” on page XX is that +every reference in Rust has a *lifetime*, which is the scope for which that +reference is valid. Most of the time, lifetimes are implicit and inferred, just +like most of the time, types are inferred. We only must annotate types when +multiple types are possible. In a similar way, we must annotate lifetimes when +the lifetimes of references could be related in a few different ways. Rust +requires us to annotate the relationships using generic lifetime parameters to +ensure the actual references used at runtime will definitely be valid. Annotating lifetimes is not even a concept most other programming languages have, so this is going to feel unfamiliar. Although we won’t cover lifetimes in @@ -1186,53 +2224,107 @@ scope. ``` fn main() { +``` + +``` let r; +``` + +``` + +``` +``` { +``` + +``` let x = 5; +``` + +``` r = &x; +``` + +``` } +``` + +``` + +``` +``` println!("r: {}", r); +``` + +``` } ``` -Listing 10-16: An attempt to use a reference whose value has gone out of scope +An attempt to use a reference whose value has gone out of scope -> Note: The examples in Listings 10-16, 10-17, and 10-23 declare variables -> without giving them an initial value, so the variable name exists in the -> outer scope. At first glance, this might appear to be in conflict with Rust’s -> having no null values. However, if we try to use a variable before giving it -> a value, we’ll get a compile-time error, which shows that Rust indeed does -> not allow null values. +> NoteThe examples in Listing 10-16, 10-17, and 10-23 declare variables without +giving them an initial value, so the variable name exists in the outer scope. +At first glance, this might appear to be in conflict with Rust’s having no null +values. However, if we try to use a variable before giving it a value, we’ll +get a compile-time error, which shows that Rust indeed does not allow null +values. The outer scope declares a variable named `r` with no initial value, and the -inner scope declares a variable named `x` with the initial value of 5. Inside +inner scope declares a variable named `x` with the initial value of `5`. Inside the inner scope, we attempt to set the value of `r` as a reference to `x`. Then the inner scope ends, and we attempt to print the value in `r`. This code won’t -compile because the value `r` is referring to has gone out of scope before we -try to use it. Here is the error message: +compile because the value that `r` is referring to has gone out of scope before +we try to use it. Here is the error message: ``` error[E0597]: `x` does not live long enough +``` + +``` --> src/main.rs:6:13 +``` + +``` | +``` + +``` 6 | r = &x; +``` + +``` | ^^ borrowed value does not live long enough +``` + +``` 7 | } +``` + +``` | - `x` dropped here while still borrowed +``` + +``` 8 | +``` + +``` 9 | println!("r: {}", r); +``` + +``` | - borrow later used here ``` -The variable `x` doesn’t “live long enough.” The reason is that `x` will be out -of scope when the inner scope ends on line 7. But `r` is still valid for the -outer scope; because its scope is larger, we say that it “lives longer.” If -Rust allowed this code to work, `r` would be referencing memory that was -deallocated when `x` went out of scope, and anything we tried to do with `r` -wouldn’t work correctly. So how does Rust determine that this code is invalid? -It uses a borrow checker. +The error message says that the variable `x` doesn’t “live long enough.” The +reason is that `x` will be out of scope when the inner scope ends on line 7. +But `r` is still valid for the outer scope; because its scope is larger, we say +that it “lives longer.” If Rust allowed this code to work, `r` would be +referencing memory that was deallocated when `x` went out of scope, and +anything we tried to do with `r` wouldn’t work correctly. So how does Rust +determine that this code is invalid? It uses a borrow checker. ### The Borrow Checker @@ -1242,19 +2334,45 @@ whether all borrows are valid. Listing 10-17 shows the same code as Listing ``` fn main() { +``` + +``` let r; // ---------+-- 'a +``` + +``` // | +``` + +``` { // | +``` + +``` let x = 5; // -+-- 'b | +``` + +``` r = &x; // | | +``` + +``` } // -+ | +``` + +``` // | +``` + +``` println!("r: {}", r); // | +``` + +``` } // ---------+ ``` -Listing 10-17: Annotations of the lifetimes of `r` and `x`, named `'a` and -`'b`, respectively +Annotations of the lifetimes of `r` and `x`, named `'a` and `'b`, respectively Here, we’ve annotated the lifetime of `r` with `'a` and the lifetime of `x` with `'b`. As you can see, the inner `'b` block is much smaller than the outer @@ -1268,17 +2386,37 @@ compiles without any errors. ``` fn main() { +``` + +``` let x = 5; // ----------+-- 'b +``` + +``` // | +``` + +``` let r = &x; // --+-- 'a | +``` + +``` // | | +``` + +``` println!("r: {}", r); // | | +``` + +``` // --+ | +``` + +``` } // ----------+ ``` -Listing 10-18: A valid reference because the data has a longer lifetime than -the reference +A valid reference because the data has a longer lifetime than the reference Here, `x` has the lifetime `'b`, which in this case is larger than `'a`. This means `r` can reference `x` because Rust knows that the reference in `r` will @@ -1299,22 +2437,40 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let string1 = String::from("abcd"); +``` + +``` let string2 = "xyz"; +``` + +``` + +``` +``` let result = longest(string1.as_str(), string2); +``` + +``` println!("The longest string is {}", result); +``` + +``` } ``` -Listing 10-19: A `main` function that calls the `longest` function to find the -longer of two string slices +A `main` function that calls the `longest` function to find the longer of two +string slices Note that we want the function to take string slices, which are references, rather than strings, because we don’t want the `longest` function to take -ownership of its parameters. Refer to the “String Slices as Parameters” section -in Chapter 4 for more discussion about why the parameters we use in Listing -10-19 are the ones we want. +ownership of its parameters. Refer to “String Slices as Parameters” on page XX +for more discussion about why the parameters we use in Listing 10-19 are the +ones we want. If we try to implement the `longest` function as shown in Listing 10-20, it won’t compile. @@ -1323,30 +2479,82 @@ Filename: src/main.rs ``` fn longest(x: &str, y: &str) -> &str { +``` + +``` if x.len() > y.len() { +``` + +``` x +``` + +``` } else { +``` + +``` y +``` + +``` } +``` + +``` } ``` -Listing 10-20: An implementation of the `longest` function that returns the -longer of two string slices but does not yet compile +An implementation of the `longest` function that returns the longer of two +string slices but does not yet compile Instead, we get the following error that talks about lifetimes: ``` error[E0106]: missing lifetime specifier +``` + +``` --> src/main.rs:9:33 +``` + +``` | +``` + +``` 9 | fn longest(x: &str, y: &str) -> &str { +``` + +``` | ---- ---- ^ expected named lifetime parameter +``` + +``` | - = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `x` or `y` +``` + +``` + = help: this function's return type contains a borrowed value, +``` + +``` +but the signature does not say whether it is borrowed from `x` or `y` +``` + +``` help: consider introducing a named lifetime parameter +``` + +``` | +``` + +``` 9 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { +``` + +``` | ++++ ++ ++ ++ ``` @@ -1387,11 +2595,17 @@ reference to an `i32` that also has the lifetime `'a`. ``` &i32 // a reference +``` + +``` &'a i32 // a reference with an explicit lifetime +``` + +``` &'a mut i32 // a mutable reference with an explicit lifetime ``` -One lifetime annotation by itself doesn’t have much meaning, because the +One lifetime annotation by itself doesn’t have much meaning because the annotations are meant to tell Rust how generic lifetime parameters of multiple references relate to each other. Let’s examine how the lifetime annotations relate to each other in the context of the `longest` function. @@ -1411,17 +2625,35 @@ name the lifetime `'a` and then add it to each reference, as shown in Listing Filename: src/main.rs ``` -fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { - if x.len() > y.len() { +fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { +``` + +``` + if x.len() > y.len() { +``` + +``` x +``` + +``` } else { +``` + +``` y +``` + +``` } +``` + +``` } ``` -Listing 10-21: The `longest` function definition specifying that all the -references in the signature must have the same lifetime `'a` +The `longest` function definition specifying that all the references in the +signature must have the same lifetime `'a` This code should compile and produce the result we want when we use it with the `main` function in Listing 10-19. @@ -1469,22 +2701,46 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let string1 = String::from("long string is long"); +``` + +``` + +``` +``` { +``` + +``` let string2 = String::from("xyz"); +``` + +``` let result = longest(string1.as_str(), string2.as_str()); +``` + +``` println!("The longest string is {}", result); +``` + +``` } +``` + +``` } ``` -Listing 10-22: Using the `longest` function with references to `String` values -that have different concrete lifetimes +Using the `longest` function with references to `String` values that have +different concrete lifetimes In this example, `string1` is valid until the end of the outer scope, `string2` is valid until the end of the inner scope, and `result` references something -that is valid until the end of the inner scope. Run this code, and you’ll see +that is valid until the end of the inner scope. Run this code and you’ll see that the borrow checker approves; it will compile and print `The longest string is long string is long`. @@ -1500,29 +2756,81 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let string1 = String::from("long string is long"); +``` + +``` let result; +``` + +``` { +``` + +``` let string2 = String::from("xyz"); +``` + +``` result = longest(string1.as_str(), string2.as_str()); +``` + +``` } +``` + +``` println!("The longest string is {}", result); +``` + +``` } ``` -Listing 10-23: Attempting to use `result` after `string2` has gone out of scope +Attempting to use `result` after `string2` has gone out of scope When we try to compile this code, we get this error: ``` error[E0597]: `string2` does not live long enough +``` + +``` --> src/main.rs:6:44 +``` + +``` | +``` + +``` 6 | result = longest(string1.as_str(), string2.as_str()); - | ^^^^^^^^^^^^^^^^ borrowed value does not live long enough +``` + +``` + | ^^^^^^^^^^^^^^^^ borrowed value +``` + +``` +does not live long enough +``` + +``` 7 | } +``` + +``` | - `string2` dropped here while still borrowed +``` + +``` 8 | println!("The longest string is {}", result); +``` + +``` | ------ borrow later used here ``` @@ -1532,13 +2840,13 @@ this because we annotated the lifetimes of the function parameters and return values using the same lifetime parameter `'a`. As humans, we can look at this code and see that `string1` is longer than -`string2` and therefore `result` will contain a reference to `string1`. -Because `string1` has not gone out of scope yet, a reference to `string1` will -still be valid for the `println!` statement. However, the compiler can’t see -that the reference is valid in this case. We’ve told Rust that the lifetime of -the reference returned by the `longest` function is the same as the smaller of -the lifetimes of the references passed in. Therefore, the borrow checker -disallows the code in Listing 10-23 as possibly having an invalid reference. +`string2` and therefore `result` will contain a reference to `string1`. Because +`string1` has not gone out of scope yet, a reference to `string1` will still be +valid for the `println!` statement. However, the compiler can’t see that the +reference is valid in this case. We’ve told Rust that the lifetime of the +reference returned by the `longest` function is the same as the smaller of the +lifetimes of the references passed in. Therefore, the borrow checker disallows +the code in Listing 10-23 as possibly having an invalid reference. Try designing more experiments that vary the values and lifetimes of the references passed in to the `longest` function and how the returned reference @@ -1557,7 +2865,13 @@ Filename: src/main.rs ``` fn longest<'a>(x: &'a str, y: &str) -> &'a str { +``` + +``` x +``` + +``` } ``` @@ -1577,8 +2891,17 @@ Filename: src/main.rs ``` fn longest<'a>(x: &str, y: &str) -> &'a str { +``` + +``` let result = String::from("really long string"); +``` + +``` result.as_str() +``` + +``` } ``` @@ -1589,10 +2912,26 @@ error message we get: ``` error[E0515]: cannot return reference to local variable `result` +``` + +``` --> src/main.rs:11:5 +``` + +``` | +``` + +``` 11 | result.as_str() - | ^^^^^^^^^^^^^^^ returns a reference to data owned by the current function +``` + +``` + | ^^^^^^^^^^^^^^^ returns a reference to data owned by the +``` + +``` +current function ``` The problem is that `result` goes out of scope and gets cleaned up at the end @@ -1610,28 +2949,58 @@ would create dangling pointers or otherwise violate memory safety. ### Lifetime Annotations in Struct Definitions -So far, the structs we’ve defined all hold owned types. We can define structs to -hold references, but in that case we would need to add a lifetime annotation on -every reference in the struct’s definition. Listing 10-24 has a struct named +So far, the structs we’ve defined all hold owned types. We can define structs +to hold references, but in that case we would need to add a lifetime annotation +on every reference in the struct’s definition. Listing 10-24 has a struct named `ImportantExcerpt` that holds a string slice. Filename: src/main.rs ``` struct ImportantExcerpt<'a> { +``` + +``` part: &'a str, +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let novel = String::from("Call me Ishmael. Some years ago..."); +``` + +``` let first_sentence = novel.split('.').next().expect("Could not find a '.'"); +``` + +``` let i = ImportantExcerpt { +``` + +``` part: first_sentence, +``` + +``` }; +``` + +``` } ``` -Listing 10-24: A struct that holds a reference, requiring a lifetime annotation +A struct that holds a reference, requiring a lifetime annotation This struct has the single field `part` that holds a string slice, which is a reference. As with generic data types, we declare the name of the generic @@ -1650,28 +3019,58 @@ the `ImportantExcerpt` goes out of scope, so the reference in the ### Lifetime Elision You’ve learned that every reference has a lifetime and that you need to specify -lifetime parameters for functions or structs that use references. However, in -Chapter 4 we had a function in Listing 4-9, shown again in Listing 10-25, that -compiled without lifetime annotations. +lifetime parameters for functions or structs that use references. However, we +had a function in Listing 4-9, shown again in Listing 10-25, that compiled +without lifetime annotations. Filename: src/lib.rs ``` fn first_word(s: &str) -> &str { +``` + +``` let bytes = s.as_bytes(); +``` + +``` +``` + +``` for (i, &item) in bytes.iter().enumerate() { +``` + +``` if item == b' ' { +``` + +``` return &s[0..i]; +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` &s[..] +``` + +``` } ``` -Listing 10-25: A function we defined in Listing 4-9 that compiled without -lifetime annotations, even though the parameter and return type are references +A function we defined in Listing 4-9 that compiled without lifetime +annotations, even though the parameter and return type are references The reason this function compiles without lifetime annotations is historical: in early versions (pre-1.0) of Rust, this code wouldn’t have compiled because @@ -1715,8 +3114,8 @@ which it can’t figure out lifetimes, the compiler will stop with an error. These rules apply to `fn` definitions as well as `impl` blocks. The first rule is that the compiler assigns a lifetime parameter to each -parameter that’s a reference. In other words, a function with one parameter gets -one lifetime parameter: `fn foo<'a>(x: &'a i32)`; a function with two +parameter that’s a reference. In other words, a function with one parameter +gets one lifetime parameter: `fn foo<'a>(x: &'a i32)`; a function with two parameters gets two separate lifetime parameters: `fn foo<'a, 'b>(x: &'a i32, y: &'b i32)`; and so on. @@ -1792,7 +3191,7 @@ use the lifetime parameters depends on whether they’re related to the struct fields or the method parameters and return values. Lifetime names for struct fields always need to be declared after the `impl` -keyword and then used after the struct’s name, because those lifetimes are part +keyword and then used after the struct’s name because those lifetimes are part of the struct’s type. In method signatures inside the `impl` block, references might be tied to the @@ -1801,14 +3200,26 @@ addition, the lifetime elision rules often make it so that lifetime annotations aren’t necessary in method signatures. Let’s look at some examples using the struct named `ImportantExcerpt` that we defined in Listing 10-24. -First, we’ll use a method named `level` whose only parameter is a reference to +First we’ll use a method named `level` whose only parameter is a reference to `self` and whose return value is an `i32`, which is not a reference to anything: ``` impl<'a> ImportantExcerpt<'a> { +``` + +``` fn level(&self) -> i32 { +``` + +``` 3 +``` + +``` } +``` + +``` } ``` @@ -1820,10 +3231,25 @@ Here is an example where the third lifetime elision rule applies: ``` impl<'a> ImportantExcerpt<'a> { +``` + +``` fn announce_and_return_part(&self, announcement: &str) -> &str { +``` + +``` println!("Attention please: {}", announcement); +``` + +``` self.part +``` + +``` } +``` + +``` } ``` @@ -1842,9 +3268,8 @@ string literals have the `'static` lifetime, which we can annotate as follows: let s: &'static str = "I have a static lifetime."; ``` -The text of this string is stored directly in the program’s binary, which -is always available. Therefore, the lifetime of all string literals is -`'static`. +The text of this string is stored directly in the program’s binary, which is +always available. Therefore, the lifetime of all string literals is `'static`. You might see suggestions to use the `'static` lifetime in error messages. But before specifying `'static` as the lifetime for a reference, think about @@ -1852,7 +3277,7 @@ whether the reference you have actually lives the entire lifetime of your program or not, and whether you want it to. Most of the time, an error message suggesting the `'static` lifetime results from attempting to create a dangling reference or a mismatch of the available lifetimes. In such cases, the solution -is fixing those problems, not specifying the `'static` lifetime. +is to fix those problems, not to specify the `'static` lifetime. ## Generic Type Parameters, Trait Bounds, and Lifetimes Together @@ -1861,21 +3286,69 @@ bounds, and lifetimes all in one function! ``` use std::fmt::Display; +``` +``` + +``` + +``` fn longest_with_an_announcement<'a, T>( +``` + +``` x: &'a str, +``` + +``` y: &'a str, +``` + +``` ann: T, +``` + +``` ) -> &'a str +``` + +``` where +``` + +``` T: Display, +``` + +``` { +``` + +``` println!("Announcement! {}", ann); +``` + +``` if x.len() > y.len() { +``` + +``` x +``` + +``` } else { +``` + +``` y +``` + +``` } +``` + +``` } ``` @@ -1906,3 +3379,4 @@ that you will only need in very advanced scenarios; for those, you should read the Rust Reference at *https://doc.rust-lang.org/reference/trait-bounds.html*. But next, you’ll learn how to write tests in Rust so you can make sure your code is working the way it should. + diff --git a/nostarch/docx/chapter10.docx b/nostarch/docx/chapter10.docx new file mode 100644 index 0000000000000000000000000000000000000000..f9028753bfbd4b46a700a74aceb7bee03d2ad962 GIT binary patch literal 84053 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 literal 0 HcmV?d00001 From 74a8878ee4e389796ba34080f0afe9ec32fcf53a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 20 Aug 2022 21:02:46 -0400 Subject: [PATCH 0407/1248] Messy snapshot of chapter 10 after copyedit check --- TODO.md | 6 +- nostarch/chapter10.md | 239 ++++++++++++++++++++++------------- nostarch/docx/chapter10.docx | Bin 84053 -> 98215 bytes 3 files changed, 155 insertions(+), 90 deletions(-) diff --git a/TODO.md b/TODO.md index 9d9890cebc..b61f853145 100644 --- a/TODO.md +++ b/TODO.md @@ -1,8 +1,8 @@ # In each chapter -- [x] Manual regeneration -- [x] Check for upstream changes from last snapshot -- [x] Propagate updated output to docx +- [ ] Manual regeneration +- [ ] Check for upstream changes from last snapshot +- [ ] Propagate updated output to docx - [ ] Extract docx and check diff - [ ] Answer all comments - [ ] Check cross references diff --git a/nostarch/chapter10.md b/nostarch/chapter10.md index 1df00bf036..15b37a5a7a 100644 --- a/nostarch/chapter10.md +++ b/nostarch/chapter10.md @@ -57,7 +57,7 @@ fn main() { ``` ``` - let number_list = vec![34, 50, 25, 100, 65]; + 1 let number_list = vec![34, 50, 25, 100, 65]; ``` ``` @@ -65,7 +65,7 @@ fn main() { ``` ``` - let mut largest = &number_list[0]; + 2 let mut largest = &number_list[0]; ``` ``` @@ -73,15 +73,15 @@ fn main() { ``` ``` - for number in &number_list { + 3 for number in &number_list { ``` ``` - if number > largest { + 4 if number > largest { ``` ``` - largest = number; + 5 largest = number; ``` ``` @@ -97,7 +97,7 @@ fn main() { ``` ``` - println!("The largest number is {}", largest); + println!("The largest number is {largest}"); ``` ``` @@ -106,14 +106,14 @@ fn main() { Finding the largest number in a list of numbers -We store a list of integers in the variable `number_list` and place a reference -to the first number in the list in a variable named `largest`. We then iterate -through all the numbers in the list, and if the current number is greater than -the number stored in `largest`, we replace the reference in that variable. -However, if the current number is less than or equal to the largest number seen -so far, the variable doesn’t change, and the code moves on to the next number -in the list. After considering all the numbers in the list, `largest` should -refer to the largest number, which in this case is 100. +We store a list of integers in the variable `number_list` [1] and place a +reference to the first number in the list in a variable named `largest` [2]. We +then iterate through all the numbers in the list [3], and if the current number +is greater than the number stored in `largest` [4], we replace the reference in +that variable [5]. However, if the current number is less than or equal to the +largest number seen so far, the variable doesn’t change, and the code moves on +to the next number in the list. After considering all the numbers in the list, +`largest` should refer to the largest number, which in this case is 100. We’ve now been tasked with finding the largest number in two different lists of numbers. To do so, we can choose to duplicate the code in Listing 10-1 and use @@ -166,7 +166,7 @@ fn main() { ``` ``` - println!("The largest number is {}", largest); + println!("The largest number is {largest}"); ``` ``` @@ -214,7 +214,7 @@ fn main() { ``` ``` - println!("The largest number is {}", largest); + println!("The largest number is {largest}"); ``` ``` @@ -304,7 +304,7 @@ fn main() { ``` ``` - println!("The largest number is {}", result); + println!("The largest number is {result}"); ``` ``` @@ -324,7 +324,7 @@ fn main() { ``` ``` - println!("The largest number is {}", result); + println!("The largest number is {result}"); ``` ``` @@ -485,7 +485,7 @@ fn main() { ``` ``` - println!("The largest number is {}", result); + println!("The largest number is {result}"); ``` ``` @@ -505,7 +505,7 @@ fn main() { ``` ``` - println!("The largest char is {}", result); + println!("The largest char is {result}"); ``` ``` @@ -615,7 +615,7 @@ fn main() { ``` ``` - println!("The largest number is {}", result); + println!("The largest number is {result}"); ``` ``` @@ -635,7 +635,7 @@ fn main() { ``` ``` - println!("The largest char is {}", result); + println!("The largest char is {result}"); ``` ``` @@ -714,15 +714,15 @@ fields using the `<>` syntax. Listing 10-6 defines a `Point` struct to hold Filename: src/main.rs ``` -struct Point { +1 struct Point { ``` ``` - x: T, + 2 x: T, ``` ``` - y: T, + 3 y: T, ``` ``` @@ -753,8 +753,9 @@ A `Point` struct that holds `x` and `y` values of type `T` The syntax for using generics in struct definitions is similar to that used in function definitions. First we declare the name of the type parameter inside -angle brackets just after the name of the struct. Then we use the generic type -in the struct definition where we would otherwise specify concrete data types. +angle brackets just after the name of the struct [1]. Then we use the generic +type in the struct definition where we would otherwise specify concrete data +types [23]. Note that because we’ve used only one generic type to define `Point`, this definition says that the `Point` struct is generic over some type `T`, and @@ -821,8 +822,11 @@ error[E0308]: mismatched types ``` ``` - | ^^^ expected integer, found -floating-point number + | ^^^ expected integer, found floating- +``` + +``` +point number ``` To define a `Point` struct where `x` and `y` are both generics but could have @@ -1096,11 +1100,11 @@ struct Point { ``` ``` -impl Point { +1 impl Point { ``` ``` - fn mixup(self, other: Point) -> Point { + 2 fn mixup(self, other: Point) -> Point { ``` ``` @@ -1136,11 +1140,11 @@ fn main() { ``` ``` - let p1 = Point { x: 5, y: 10.4 }; + 3 let p1 = Point { x: 5, y: 10.4 }; ``` ``` - let p2 = Point { x: "Hello", y: 'c' }; + 4 let p2 = Point { x: "Hello", y: 'c' }; ``` ``` @@ -1148,7 +1152,7 @@ fn main() { ``` ``` - let p3 = p1.mixup(p2); + 5 let p3 = p1.mixup(p2); ``` ``` @@ -1156,7 +1160,7 @@ fn main() { ``` ``` - println!("p3.x = {}, p3.y = {}", p3.x, p3.y); + 6 println!("p3.x = {}, p3.y = {}", p3.x, p3.y); ``` ``` @@ -1166,19 +1170,19 @@ fn main() { A method that uses generic types different from its struct’s definition In `main`, we’ve defined a `Point` that has an `i32` for `x` (with value `5`) -and an `f64` for `y` (with value `10.4`). The `p2` variable is a `Point` struct -that has a string slice for `x` (with value `"Hello"`) and a `char` for `y` -(with value `c`). Calling `mixup` on `p1` with the argument `p2` gives us `p3`, -which will have an `i32` for `x` because `x` came from `p1`. The `p3` variable -will have a `char` for `y` because `y` came from `p2`. The `println!` macro -call will print `p3.x = 5, p3.y = c`. +and an `f64` for `y` (with value `10.4` [3]). The `p2` variable is a `Point` +struct that has a string slice for `x` (with value `"Hello"`) and a `char` for +`y` (with value `c` [4]). Calling `mixup` on `p1` with the argument `p2` gives +us `p3` [5], which will have an `i32` for `x` because `x` came from `p1`. The +`p3` variable will have a `char` for `y` because `y` came from `p2`. The +`println!` macro call [6] will print `p3.x = 5, p3.y = c`. The purpose of this example is to demonstrate a situation in which some generic parameters are declared with `impl` and some are declared with the method definition. Here, the generic parameters `X1` and `Y1` are declared after -`impl` because they go with the struct definition. The generic parameters `X2` -and `Y2` are declared after `fn mixup` because they’re only relevant to the -method. +`impl` [1] because they go with the struct definition. The generic parameters +`X2` and `Y2` are declared after `fn mixup` [2] because they’re only relevant +to the method. ### Performance of Code Using Generics @@ -1287,7 +1291,7 @@ types. We can use traits to define shared behavior in an abstract way. We can use *trait bounds* to specify that a generic type can be any type that has certain behavior. -> NoteTraits are similar to a feature often called *interfaces* in other +> NoteTraits are similar to a feature often called *interfaces* in other languages, although with some differences. ### Defining a Trait @@ -1390,7 +1394,27 @@ impl Summary for NewsArticle { ``` ``` - format!("{}, by {} ({})", self.headline, self.author, self.location) + format!( +``` + +``` + "{}, by {} ({})", +``` + +``` + self.headline, +``` + +``` + self.author, +``` + +``` + self.location +``` + +``` + ) ``` ``` @@ -1598,7 +1622,15 @@ let article = NewsArticle { ``` ``` - headline: String::from("Penguins win the Stanley Cup Championship!"), + headline: String::from( +``` + +``` + "Penguins win the Stanley Cup Championship!" +``` + +``` + ), ``` ``` @@ -1670,7 +1702,19 @@ pub trait Summary { ``` ``` - format!("(Read more from {}...)", self.summarize_author()) + format!( +``` + +``` + "(Read more from {}...)", +``` + +``` + self.summarize_author() +``` + +``` + ) ``` ``` @@ -1708,7 +1752,8 @@ After we define `summarize_author`, we can call `summarize` on instances of the `Tweet` struct, and the default implementation of `summarize` will call the definition of `summarize_author` that we’ve provided. Because we’ve implemented `summarize_author`, the `Summary` trait has given us the behavior of the -`summarize` method without requiring us to write any more code. +`summarize` method without requiring us to write any more code. Here's what +that looks like: ``` let tweet = Tweet { @@ -1875,7 +1920,7 @@ where ``` ``` - U: Clone + Debug + U: Clone + Debug, ``` ``` @@ -2164,7 +2209,7 @@ impl ToString for T { ``` ``` - --snip-- + --snip-- ``` ``` @@ -2227,7 +2272,7 @@ fn main() { ``` ``` - let r; + 1 let r; ``` ``` @@ -2239,15 +2284,15 @@ fn main() { ``` ``` - let x = 5; + 2 let x = 5; ``` ``` - r = &x; + 3 r = &x; ``` ``` - } + 4 } ``` ``` @@ -2255,7 +2300,7 @@ fn main() { ``` ``` - println!("r: {}", r); + 5 println!("r: {r}"); ``` ``` @@ -2271,12 +2316,12 @@ values. However, if we try to use a variable before giving it a value, we’ll get a compile-time error, which shows that Rust indeed does not allow null values. -The outer scope declares a variable named `r` with no initial value, and the -inner scope declares a variable named `x` with the initial value of `5`. Inside -the inner scope, we attempt to set the value of `r` as a reference to `x`. Then -the inner scope ends, and we attempt to print the value in `r`. This code won’t -compile because the value that `r` is referring to has gone out of scope before -we try to use it. Here is the error message: +The outer scope declares a variable named `r` with no initial value [1], and +the inner scope declares a variable named `x` with the initial value of `5` +[2]. Inside the inner scope, we attempt to set the value of `r` as a reference +to `x` [3]. Then the inner scope ends [4], and we attempt to print the value in +`r` [5]. This code won’t compile because the value that `r` is referring to has +gone out of scope before we try to use it. Here is the error message: ``` error[E0597]: `x` does not live long enough @@ -2311,11 +2356,11 @@ error[E0597]: `x` does not live long enough ``` ``` -9 | println!("r: {}", r); +9 | println!("r: {r}"); ``` ``` - | - borrow later used here + | - borrow later used here ``` The error message says that the variable `x` doesn’t “live long enough.” The @@ -2365,7 +2410,7 @@ fn main() { ``` ``` - println!("r: {}", r); // | + println!("r: {r}"); // | ``` ``` @@ -2405,7 +2450,7 @@ fn main() { ``` ``` - println!("r: {}", r); // | | + println!("r: {r}"); // | | ``` ``` @@ -2456,7 +2501,7 @@ fn main() { ``` ``` - println!("The longest string is {}", result); + println!("The longest string is {result}"); ``` ``` @@ -2724,7 +2769,7 @@ fn main() { ``` ``` - println!("The longest string is {}", result); + println!("The longest string is {result}"); ``` ``` @@ -2783,7 +2828,7 @@ fn main() { ``` ``` - println!("The longest string is {}", result); + println!("The longest string is {result}"); ``` ``` @@ -2827,11 +2872,11 @@ does not live long enough ``` ``` -8 | println!("The longest string is {}", result); +8 | println!("The longest string is {result}"); ``` ``` - | ------ borrow later used here + | ------ borrow later used here ``` The error shows that for `result` to be valid for the `println!` statement, @@ -2957,11 +3002,11 @@ on every reference in the struct’s definition. Listing 10-24 has a struct name Filename: src/main.rs ``` -struct ImportantExcerpt<'a> { +1 struct ImportantExcerpt<'a> { ``` ``` - part: &'a str, + 2 part: &'a str, ``` ``` @@ -2977,15 +3022,35 @@ fn main() { ``` ``` - let novel = String::from("Call me Ishmael. Some years ago..."); + 3 let novel = String::from( +``` + +``` + "Call me Ishmael. Some years ago..." +``` + +``` + ); +``` + +``` + 4 let first_sentence = novel +``` + +``` + .split('.') +``` + +``` + .next() ``` ``` - let first_sentence = novel.split('.').next().expect("Could not find a '.'"); + .expect("Could not find a '.'"); ``` ``` - let i = ImportantExcerpt { + 5 let i = ImportantExcerpt { ``` ``` @@ -3003,18 +3068,18 @@ fn main() { A struct that holds a reference, requiring a lifetime annotation This struct has the single field `part` that holds a string slice, which is a -reference. As with generic data types, we declare the name of the generic +reference [2]. As with generic data types, we declare the name of the generic lifetime parameter inside angle brackets after the name of the struct so we can -use the lifetime parameter in the body of the struct definition. This +use the lifetime parameter in the body of the struct definition [1]. This annotation means an instance of `ImportantExcerpt` can’t outlive the reference it holds in its `part` field. The `main` function here creates an instance of the `ImportantExcerpt` struct -that holds a reference to the first sentence of the `String` owned by the -variable `novel`. The data in `novel` exists before the `ImportantExcerpt` -instance is created. In addition, `novel` doesn’t go out of scope until after -the `ImportantExcerpt` goes out of scope, so the reference in the -`ImportantExcerpt` instance is valid. +[5] that holds a reference to the first sentence of the `String` [4] owned by +the variable `novel` [3]. The data in `novel` exists before the +`ImportantExcerpt` instance is created. In addition, `novel` doesn’t go out of +scope until after the `ImportantExcerpt` goes out of scope, so the reference in +the `ImportantExcerpt` instance is valid. ### Lifetime Elision @@ -3103,8 +3168,8 @@ references have, the compiler won’t guess what the lifetime of the remaining references should be. Instead of guessing, the compiler will give you an error that you can resolve by adding the lifetime annotations. -Lifetimes on function or method parameters are called *input lifetimes*, and -lifetimes on return values are called *output lifetimes*. +Lifetimes on function or method parameters are called *input lifetimes* , and +lifetimes on return values are called *output lifetimes* . The compiler uses three rules to figure out the lifetimes of the references when there aren’t explicit annotations. The first rule applies to input @@ -3238,7 +3303,7 @@ impl<'a> ImportantExcerpt<'a> { ``` ``` - println!("Attention please: {}", announcement); + println!("Attention please: {announcement}"); ``` ``` @@ -3325,7 +3390,7 @@ where ``` ``` - println!("Announcement! {}", ann); + println!("Announcement! {ann}"); ``` ``` diff --git a/nostarch/docx/chapter10.docx b/nostarch/docx/chapter10.docx index f9028753bfbd4b46a700a74aceb7bee03d2ad962..b3371eb29287f60bf2045ccc25f98149d52a8a20 100644 GIT binary patch delta 91165 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ÝW%dDCV`rBkma< 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

    R{H=zDmIojVdbjb1O1Td&)uObta zBom%E9gdyCLnGPs^Oo7=n+3=+1t<&baw0W}t4KJx>yAj$Xhq3vxj&-J?OTa>+`V6+ zv%}Aq+^gc=Wv%N+tUK|jf=`C~JZ!wJeQ=>PR$s(_yD=RCeTB(omg_H9!84wNG6|yT z*Jj=yc&;_>qw*;G()F?7X!^NRP}`z6NK(OkHssPs#hF80 z9;$uYtt6M)1J&;K$LB5^X$$iddbi9yuQ8^bhvnEeZ<>N`fCN@{wic-NS{gazJM&S= zK&iol;2tO&6$9jX>8y^)R8p+r(q*Wu5owKo$6c$}M-q@o%j{}K&om2?`MyZ2uw!c| z3+<^T?9pH0+k5B=WcQ?9ru}~5%&p5Mg5o0N!V4r>FmJrCeSnGL3$Abp2Yr@RW=Wh> zWrX}ngh9FaDyI-!WHU$Y;SAV%6h}sH8IfF0fJ^Ud%RGbpG!tMF(}fcHQ*Nuom^(p# z`QDV5l_3F70Zq2cNfhvyT*#&@NxZmGik4~h2aax3G$V6tSYu1awkO{k`~H!M)aV%S z38Bp>ud!rTc9cKiRrEt}=ZWM_*>PC63H1)^Ml~LHQIwz*RdV7Z7vVfb`Pp;wAF07v ztJp}X;Tn%36vspzLyIb1FWgFj6=1i2(bNaql9z|K4U47xvnC~(w(D5VX#6tUTiJo&L}=5InCy7VLM3b4FIU4yBaU!p(TC@IV6ZSjykWrl%fU zEBnh($$oCNwZ<215}S;gN5==j4rEqO6m(7hIz+CX6-}Vc@q*@oHLs#I4%K zKpj%X#CK4{-IRTp-C=KF85Q1VQD>%q$$feXRHTL`yJSA5m0) ztZvIHF^XbFaxC$jt9I>N=BbB{xzm7{EVb9`YQ0KM+|C!e(h@!8G zhxRZJql08#u2AhKu#(_fW8u=}d>la(-m_%K^M4j>dCb8I2NOZY7SZ}sm43(2^sZr5JL5UJ zJ?wVRU6j@a0i1D?+%qhB4{jSe3U~+u5qi@uX+*k2C1C}#`$gF&DEp)f)9eWG$y|6f zAwa!r+PXd%x0(R==g*XXDDutZWJ_GP`nqBFa62-Xdb-n9U%4RvizvNKm}qK4c9&#? z&mxxa3}8;7JH|M6!NISFd(CkvxLCa#^YK2{`CSi_*)ypKhXSjG@Q*#xcxdNEM48-r zc?`c=XnT?ET`azQ*HNgcUaMGYrnjVvm^#~X<1WwBzvem)W~w89OO48DoH%{)nd{zp3 z+7#T{X~DKMEjR<*jZ{Z^cmGkn;8R?FX!hNs#zJoRi?@M9*? zdUE6VQ27JLgJDq>R>8u$rFAnyZ5J`(c)2+8Q-GcC)$ zLrv=_e98jW|s9xsS(W!_i>et43@!%N>vVX5Q@MRk~nu#*M;*cMTOhLqOUK zHr_VL`%F%9s+lPsHNC%BaHX!i_eJC8SGL8tc@~s^4UxynP~w0k8yTTpS%log=9r<; zG!<3Tk7|+hq*1AN)O-2DBa8POT;TwW5?SR$E)LY(E?y>#Q3)+jf;C}Swqt7jky$Z7 zwXQw1yIpj+zXFE!^ke%}XNUOI6!>|$*0D^PcN(~s-4uC;@YFBlx166<kFVbQaw6$zC<;>Qk_)xQ;`)%r8*d!rF1E&`D>}MdEP81uXCxj4m(OU zrk_OkSRT;FwAFmP2p3MsKOgJ7a^eAgTCSov^}=-YZOY=+vj+DGkoCjh(6wkb;ti@k z=v!uG0H$q@`}*+gS6u4QC>5`Ne;5?Zp z^Ue*a2IO-rV)qn1D`ufxs)5c~Dn_YnkTxM3GPH&8LNe=8HR)Le24&Eu)g$o2ZMp#7 z)+m`^WEhswuarKvBAEa+f+Ckzsmd4WttROLs;-T!UbP0a4S?8#?l>VmREYN9=EdQE zStbQwW+SNBnqzmz7P>)S4OH;QXs~x}VB6}j-@-hb{d;dT@mkk=+MxGZrzbn6>khSX zWonkKs^&;_&+Y2|mGrnh7=U>@yS`1~cp}R}cvUVV4bNf0(a4z;Ef*$vfXG9Q8WcG! zvSCluJtVJPM?smrBWJqrSbU{G_RCOzX^v429`W#q4f1?U+5YS_pdE9dxxL}2Vgog2 z4M)*V8^T1t7x{8D{g;etj1GuS2|OfSYwTxX`z9)yrW%?#urHTzy%)mBeE;Ng2239r zEC4F_Hn;GOobI5hw|X}>@fxvv{+BcNSJMQ)E25ns~cXUV2YWTH} z4u4j$AErV0!`rJK4*Vu%0oa|Fu-nRElsf7=1k~fU>ehGEAJ|}{^#qa2Xi`Om`e7es zMUf^j>~UNjIqG1~lIw6tc&?;>o#gJQ65`{sn);?n`+E1Gi9oT3j$u?w++G4pJ97NO zOP~wnTAiH`Sv}yb?#Oh;z2VCPJUzTUfNx^wS)ezmUG;LVi<5y(No6liZE9pY53H`L z8RE=i86_Q(#2&=%=5K` z#MNG8iF?KPDXRpS`*Ep?kk1VXi&CWeDxMeLlaq&yMc9Iz9lQf}#dGmOHqn?I@qX!{Ym?IX zfGnPr4jkYn!K9GsO$Ko;66?Q74x8O{cCGv!DQCPZGTkexm1Fgs;h^FMG%SG1&_w0n zWHrFm^kF~mviA&C1QK0#PneA96m)qhB5X==Z#W(l0^u=KK0sQ3)Gy*7eLaboE=V~Q zQayxzN3MdmGW&%CIZN-YaQQk4BI3#jy5d{3+^#+{D-lM^vb*NUc-^6>{|H5AG_Me* zn4y*BL(lwVx=t>qnh9z-eD5ZT8BfHRu`o*I7H{5s&Zejf6p^IE&pK^B?9>aNx&;6~ zXfT+dj_XFx9@sd4v$co^X38>e64g<9Gz~1q%(;L=_OSz!R&bz}w0>>8aPLwnrN`pH zG0b8wtU0P@c(cLj!Q3%Uu}BX~1%e>jG>Qy4J;SobZY5p$j4lqDf1Ec`AFx!(yWa`P zg?{~y%GD>XQ)7`;NuYJEnm9M@K~FW@A+BB4O-4htuknQCw}O~TPd?lRH%3lo*#IVfcO0Xb_RFa9kPH%QI#*e6yAN5 zknc3WG0Pn~j!S+#3CCbFmSKI5<6i2~5xdavgm|pePS*F>uZ6PLLB69i=EX4f$GA0; z3vaEl#AN$_d-N;y*O=&!#2`AnQqPSSy&bROF+!OyrH)d6zwoQ#O?bqGEh$D zT}=e&b3_t_3++H4xC9gq!aa_bikGHrx#ByBlqo2GK`8l^8IW3l7YlIH0WJMx>7~Gv z1zd85EW0^Bg#Z}%%+yP=5w1xTtog`>9X>2uy`@-mlQjK(&L~TFu-(=HcvN$#-tUXm z%AmcQ``;?dmx8t3QhfQ;<=3%g5v!GUl|^LXjBqI@6c6n8Tw_`~5DJ{?5{?gZ)ean4 zDM0;y5|2!9!~@4xiuAVk*j}GyQr3UUcz0x!xZ)s_5l{H}j$Hdmj%(>rC%MrY`mM{J zOL0U`^IJDxc{9KDS%H3n-&$&>B3et_U@YsVh{Rprq_O9xH=u!pGkE23#kT%-6h_%~ zX6xne$gVhQfKpZFjh@vX;MXcKZOyeu_LH1{*}7$E!#vNdu`|1OvNkW#DvfzW9NcfS)Ib@1`ZPX*gkJ`>pcob8c?ltma4<#TjT z#uDC1f;H79L*ZbdJT)=S^b}@|6%xYW9H>xp>FltRe0XrRUdUme#ejo=xpB z+UA8uFI1AwZg1zy^!9e>C#%5QHt{m6V|(1S)XSyNK4s7KOEyh&WLauU=XHs8&tI_P z+7~bUA}5Yzy~ICLEAb|$H_+9dPBZU+TLy~#DY2Cf>J6Y^^|kJxufM8_=e%!xV<^~~ zVcGpLO2AhG1t5-F<#Qt(aGkzAY$GMy)lAE3a@=FX?%7rwg%uSRHj&38Q1nK$lvjh% zpKlc*ott2_s&)I;&J5R99CD)(wXSVB!(nB6`q*?w{lT!E2P~DBNs|4CL#1VZl=pC+ z(lX7`^!`8`0dUXiA=JCPO9ywTqRc&^RP(rsGHC;)iZWcyd}{DczgEVGhDq}9e>t;@}qCU{)U5**6meXYHiqeqhdeHb}hHBRV*VzAK8XW zW3?XHUgcuDGU@nqor?u{&o#X&A6!L=C2~(ojprisnlX|1gAa`E+W0E{KZ4u6i>3dE^LCCmVP^!~I-r*}K;8DT|&4SQaYAX;l$^g9F7Tn3v;I zSs(9~dy(Dzt;~?0fK*~8SWD1_0uj{4GV5auoJiE_mb;L9oGgm56gRpykp{i+d zb`em#@tzC?(b9fTZ0Xm3=3n9~Pl;dMW34=osbPDz03?*$DjZWD+cn*F5_{9HSbSY{ zpUZ_XO2|&>vF~d&E7P?5w(Xwmbv;V6dQ5SATFOanYK}`er93q!Suf#zp}W<8n%29U z$YYehBgMI0@z$A+^cTLw3cl1m*UU8R-7~cvv)^~!iep(DyXwGy>YaPm$zx~wA|@!| zti}f{^#a}6%OOG827&;d`%tR+j41zz#X>xrYXG7U-m4p&im!F^ZkehDvNRz~dURRZ5Ps ztwOz0${Gt3oQg_##vT}ATs|I_wn@sQtU}@lFEKb6U$$!N69&unMd>b`E7niLQDW^? zz`PiTT`Z8z@`|h4St9Trhg!Q%omX0eJeddVn~&u%oaxAaGe3#HppIE8s{#1*L?0JX zDcP!>d!ZL>6CYd8tX2$%!Qf<6G3Z&UEtbZzQ!%;{uR|_uSUitnV7^ni zs(AJ-YphzXf%?ulHJg{^2kf)J2QGq6v8;LxGcl>1VprkvjK_EL@P{P z#(6Wmivjn4?#Rl|?IXC+clCi&YB5tb?fwkNT*Zq4zqO({jqz?D;%4hkgzgee{s#~U z2V4?n@!5_MRq$;*68p$qxXL5Sg!zYpB;qha1O+-(k|_(l*pE>DKSaR;FBq=lN||Cv zUKkoXLcJjXkTmkvn>`=`&x$*K5KRoCgpm@3b1K(=0d`>UxRFf_+J4T9>%5&Bs|5&% zIKUdnm=yl_(@dk#Eu35$#aqzl`H_?X`nVk)e*Mp%f2^L@B28Dx?fdt$XxfQkX*Y<< zohZJ4pL44Baydk2kuJ*()Za@>J|lzaw2B>);~JP!rZ{7FE}}*u_qaluvLq#)laK(g z5)lM{9k4WRi*yDoR&CYJN#3Eq5A^A*92UtDhldgBR}WH7o;b3}E!Kw=O(^pX;POS8 z%aO}Jsg_H6)KOI=4Qsf{1v?oleo_rr^A$I%;W{g@tHmenIMs^2|L>D+UfCiufFpY? z0|PM4dIsS1?9oU_#tWm0^r$ANQiKp1;)%F_|2grb`I4LA$yuR&u!=JQo$sg8vk&R_ z_zk!n_QB$h4A;x?61}{n1kKpgU*^Gx(g#=fzx*G3Y=fgNRNmci0sk9@o^>C*{{t-@ z6zh*yuFAXkU}q6{Wz(xkl%~-#e=}h76z@jK?Y9e102wUR;V<}uC%r)&2_wR^Yu`sMZzB|;c34Al-W zxQ-5ztliWY86l)eN*UHSEF(&PXpxv3A{Y`$k`amyLd7WXe6M_yN)W0wEck%=9&5M8 zk>fC0tndMpEignR#mdlQ$MCO)%+Lxg`=DS12s{k@K5BY3YL2W`Jy19b1XlG(vvH&g z&dtY>f<9?6jx_C)mg7jh?Zo;UTu91cFcFGj1D|S#7*=nEoB&v2lf7ntd1g+)^yUo) zXZ&r1MWEFZ*fhSHus}@2G@r%|MXcRI@u=3HwEEWcsM4<=tp?49Eep%75Ive)n?_d+ ziCv|>6{KL4n=)!h(H!C^xK1*?$y(JksUK?~OSF=-9;RRg|EKE3&%S;1uh2qgx`q&Zt?7JF&AE$=&A) z;fE51>}c8NXir^BJlMaJD_C_wofo`DEyj#gGEpt4(xEJ%z(Ya zMzN3bl^#pE&9!5DjJrAet#S^LIY~fhDzU;wC>KO_gHHT%q6FnIvSUvmoKLsgAiRe| z#!BJPGFG~%FRKdwc=7Yv^}NM{w+#JOw516ya?>CAX+^8Yng1}Y7W}E~LrYA+U6_Ou zL!qsERw2)90)ntU{dg{{|F|&1MVnjHs#lE0r)o%56Uuwz|HW7k!A-`C@;rEX9~bXJ zSQe|`{&60D`#-{R(Y=pCboQY)e*lwE;uHnQ!1tcOlXlb|f6Z>f3(<{8!Q+UyB);@7D6R3^aH=VlS*KswOwzE_yK89ZKFwC%BM=+rgbs3>o{V_K+d(pumSzXj26FgJfCI~#d4&uHmfF8s+kJHm9dJna_1Uqkiu`k8;14)W zhiE;9e}wS&noT6kW^lLgC~3~b4F)!!1`zfD5hep)77b%rGa&A&+i~c?vT8WhsW=Yp zgbfDvz>mS40d!)L^eRf&=n9=LGAKp5O>{>j*9A3iaVK`Bk=%c+5Pm6<%Z^6BMtkg9 zV&Ohcu3*&#bzbE9Yr(vvNZL-xaQwLELZP?Je@0}>!?PLgl_%i-ZKAkKc}tF^-JP}P zdJNcfUsYZao0GHzO(ast2nDRk<>w?Q=Sk~3i{03xHHJTC(Zh1S0;Scyvy8JY>YsD9 zUwFy$8un~?PYq}>plxL$I#}xno5dZ)HcW-iJFJo_QZDnqBb1ryo zY|K~7j@vdA-52OT+-e!jSWnBg5PRUqxET~kf@FfC-Ekz^5=IgQlCtcs<~ItoKbJ4* zB`v?k>cn;sV7#ztk@t|i=iEc;?aeYvVL`b_Sl&16mSq6VLl!0Zyl;Gexu0Hl4G@y# z5lLB2`^Jh2<7V*lPj9OrWLZXYDF7jI5mZIkH)1J^z%)e|(~O8#mV}%MHj^zJY_i!b z38`5z9+{41Te?+n7E&Q_zA?!cL>M((xI7Il;-tc01?ZV!WW95ECPC9L9NV^S+qP}n z)@C-@*tRy@*x1R#l+cAqQgZ@R{tZ`c;P7oCA;-LU+EV6%Rqc_jn4H&g z1k4(8s@{FrM~dR(z@44^t)8I-0#SPvVA8)AydZc5B8AEA1?8BTHNMQA~0;hIYsS=r5O9gkR1WQ7?ZK+ZSdq zmkR`jan77HRUqYJYUbJNzUE+dk6BY(*Y;po{Spm9=|WdDi|yYnK>Kox`P? zt09uV$&vj=wDY~)8i=Nb9$*FyctWHASBg#v!LU%!JWQkm)g&{2dbvX$G9K>{diMt> z)~J+&=nCeCqHC4JH>bRxt-bo%s4GKV(fK<45L-eiQu1fXp-9QB%`Q2}5!wi@s`}|8?z#{xwm-)@eCH~3?;(ccv zx8LyBRA92*xCS)CU%wA)BnNbsgKe+RcE zz=GSOnglW?OD5`C{88&g=|%Mp|CV%)(eg3*x5Rm(O~0AW;&bozT+sx2)CH z(0$TG(`Qi1+$b%E# zZkT(jw3)Z!Zv)qyjEt|DR~DmP8&{ahraG3jh2M2*Hy5MdO;;Gg7rofKyZs0rwSni8 zp3l<>6H_IZ8-QlZ;$_P zqQiV*ujS}-KW>83bz4qCB4fDW$;IE<=civY@LXq-&0UOqb}ejImOHW@si^9KEj96 zbJEK&Z2X}^e6cYiZ})5~Jbx2^Z!Yw}F36geEi64rO?Z|be(+9wB5CmS($GwZH1J;c zNh4W3at*|zmI!-2wgvwE6L{}md-KW|0tExIQMK4eZi3VzSijm3L@QA!7rabxBy|{1EvME3;@A0zuMXL&|3xU@SD|` zvUyGE)C_m{$f6IP<91-6u*0yQg;=iE0y^qzAc@!Y_~?ylS>z`SbGOzB+Gj11m37KfVPt5nP6aF9y+ck*YB% zo=Nt9RrKL>Wb?g^7w=g;+4o6g|HCsc4KQ{-`e#hxJ8)vf&2YRslG@{OH8ued9}P4; z#cG!cMsDn>=RcP_{@lF3-U|`(|D1EYbo34EfE9?GTQ?2lc6?|;$>(@-$~)ej_vd~r zW_GM*(@oyn8xn*a41NMig-}Cpy*zP?9f#P@F}8&ru)Y$E*9zf2Tn^Zgb#R1v0~T-( z;n_v8KEdqooXjvlqwn_Cn=zXpVkdd?MuJt~7d8bp;ws0@OI7>~5wY*>jqkc^W5CM~ zj?x-r?D6zHGd<+WMp53bM~8@+d?Tr+s+nYZHw=lt%I2HO+c}d{b$DFS*I_y>czb(6 z53k|t^R5{M&rrosxxAruU(^KHPWa91wkR*K3OxT3A1KbBKCiQSJdo zcLIRC7ODEv8C+Uw223=DQ#B z@g7ZuKYkcd#fyHdFxYPp+33Fx8hkvvGRr*_YhxHNJf;&1CwK{GdNXmPpGeq>3v<4) zxkRI?&#iI@iMO%vno0NpOX6UaIDeLMG52uEQZ%eTgrqr?!N{pbLs0F1Uy>~HMaZDi z<;5?gnP1SPPWpoTh1vWiC{=VnU~$aKFkvB!9uk;s;oBH?F=d4uUcn(TSXG7-_TDi zHOr;vk`z!npfjncv}~RaLx9{zvR=X;C7jOeXOok;P5_&htp6gGrYc@-D8EH`cf{~k zMg5lY<%!gXBZ>heRx|m&F4}VP!?*@nlQj-(!V46%p9C(|0ewxj)%72KmV zBb_b7vI23O^&<4cxu`zQ6d?}?5k8g(hrhUK_wHdW{8$`=qGSA{r8E^hIiS{6^QuOD zawa{jg))~zXlWD`Sjl*n{KPauUul`g_rAp~TfMQ66%7LIhP0(aZYtFym9uD0XmY70 za`-&NeNB%p1bqmO>?pe%dJ3T0bYe#6X7wL1PVV1Zv{77hT|-j8hG&^ITUY#Yjq@hb zR;U?`>%TkWu#{$fx2j3{li-#)KhTtAb~Cu9D*E?qZv6QjH565_LzWmk{pJb$@x}1b z3z{*c;C=w8WioZFg@P^6{ra)q2&ip6#UXj*Y<~^aA#%y`lvyeoOM`HtmZ{ms3eu^_ zkfBZuQefBZQOCN5Pm?pwXVY}NGN2<A(f1oOgi|KM{%MRl<83VI%BEJ zxm;_oG?8j7xU7!-QUvU>v}i4977U(W?X-Cv0z>-aJL-UIint7-igF1Tn0;OGvC3{L z`-Y7`Tq40~IfovM0C5rJ5~LWxmORXLw|FyCI>fbm$RNm9d3MP4s3Y!ka5dLFTApn1 zbHGW43qG~IG$3$`H?yGL8|)81xuc^FrAyaz&1RE!O$Q-PiX%~YxKc(!K{NU1S7X0@ z*63c}UP7%At2bL{->lwv732V3j^Z#XJZXtEC?j1{7e=OLPGw@K8M%WYoObK zd%~c(Y?T0}gJA_K>W!Xi%o!;%#~ag-mdGdp83NME zDzX;Mit(r}M8!|O(cCn}!N3SBDoh(g4r>0Wk==g!QTv8>q@$3gI;hM05RZoHEHJqo z^~HTClgqS(C{HE&B>P{KAvT?GdO&$_5m)snojH*WK0iCBoLRmYe+_sF$~ojnVkMH^ zZX*Gq?nRYtimJyNPHbZVAM1}I0!6gipC88-WLvBr4Y>&I)BA#^z7u4;zufuOBgido zq}U&pJXy=hHB(s~Dm@N@cR9acZIf%P=v|4HSmg5%CE8F{E^wI8w@wjT=Kv4CM%amF z)WV(IB^dQ9-E7iT%{FdIzC={m045)T60kH?ak=ns*y0tTGk}bjc(9tJOrJIJut#|* zP&bWht~l(-fQ_VwZEkx|FpVp3gm&0W8IN<4^YaNO{~Jo7>qoE8;uueMFP~OS!gs*{ zF}7*QjNaVAjYuxJ&b3Ga8sLjc#*fHG?TwC7IM#=YMT{KvQDw%=#EdHOa^r+H5gk$tky#^V`73m7f>& z80=O!2-G>pyZB}yya>__T1W;pa2(JQC zu6XQiQmqJyXmVW+A{JvFJYrnJl#LlOpAbsM@e=vyrKO10>FoViUF@5CpHWVWN6?&e znRseig9=p?L`{Y~)?|W|Uma8+j}jeNAgvJ{&5&NxxLg+#Pm3v9mebyHr|qn(>%TRw z!V!e7nPE&nu8l(gHOQnP28&34>$+MrU2+zi7f&E;-D9jf*?FUmT>?i`2UQ9@UH6M* zHt?xG@utK3cY>|uOzQ@3f8E&?nm$DRIqaZngVh4SlULsZngDL=w{cM zZH;RhHsS>J&?CYjIGy=?)|6ZFIc0>H27*zVLgKioN)TFhNzBBpVpqg%}K zYe`qy+lqChrPSr`L@A<`noijqgLM4Z&-*i$87rf$NmoT?KI6azO7k*I>jLYWBz|_8i)dCe4jk z-4j`*1=Dj0(vPUjE6+mbc<2v8mD<>*(V?%V_fu7Ppo$Y{&6(HeH}^m@!5xqVRtJ%! zo9o-Qk`h+V8TW1>;an}gFNLD~n91x!&Gpl9)}Vd__G6W>^eB|)X?;r5Jn3`|>VGx|dWVd#iWbQGf?MCGavyva<|E{<1DW(1z3*z6T+ z)VCjVSk!&2fC9=9e2Wuy4DPl!0Y7#f2hNQJa-V-!MgS+ul118aMj9@So!}Z8E)mlR z5-yP+O$^k|T4>+n?@7!~+klXoxLK>>5PL~40C7|(J^}KuhLHn{q?GpETJ9%ATqf9% zFHb8`PBmdg7Yfg*Xv84qIcbu95N*W9jt{BCe7OnYm`6Z*!g@Wul+UogEDhUVbz?EQ zk6|j6rfBkgpDLP55={N#(U{>s()$#ev)-f>)}yVXn!`(>I#buSz7+IfjXbKqVw8Og zf!W+O7csaR@yLEUgDFBv`8KZLgkVm3IissB97EvaF7oXE(loYZIc*ksR;w@@1qIQA+jJqfYI}d=q$1iDEBuHkymXa||QHz?=k- z7`bYmVi*@A{2RIU9E?2JcB=gE3e{=l0hy6-%3`x^O25_erKl~7*n?Pt?P-Ov$RSVL z#7>j|Dcm15pcDEjMAqfz6f;Pt24-mb^%*`x%>}Hj<`xkcrLJ3)Sc$Hbx(wrc>_s}d z{SS<+rMM|{SxQIzuwrl@bCC&j1ze?Ckzifl2lYS}LUTEnC7%iV%B*51=dXR z$(rSK6+m0D)(0sxhH#H4VtVtu?T&C%fVDE0l{mB{SA}d0?I(J5F^*|bG&2`VTeYQ~ z`GaD8J6v)tQ~V?Z^e1=pZAexbkl8e`~MRP(br>fsz8cty5Zt8^U*3Dl_^tvgZ#Up~N(d_+*bG2yROH z`g6rh?VKt3RSAOSGBLDZfBNCQHX+Ttt7n6Xq}{G!QlBzP36t&o1f^zkD>Acu=GHpY z8%B0}SA!(|bGQ^jF|cV9i>OxDIC}Tf`XzKUmoQrRrE=+UF}O~16tp^JAkVgPMAb7b zXP4Qpv59Co-ii`!n!}3HGQ3Dn#{e-U+kDy9+{2o{ZSJZ&SMhRv#UW&*Tb^spb7`R| zeuZD=LMFly)*{9wzNp;6Qd;>due1t4W5BvHY~A48)=kGh2dR+Vh`au0BS5IrZU1(c zh9g|7d|nh|8tb5d-&pzpkO>Z5m)IjK{m$h?kZ!SN$G?`L$7lupPr`&Zk;3eK>^uUW ztOPU2JcRuXl7SRz`Oq?I)3t?0+tzhZOlJ5w!65cRMy45Q8(%eJ(r1Q@dTmFqr9Y&imo9iZMWDY2-VmK?g0 z#U_QbeuSkZT#YOR)YGNJR9qK*WY71UVqlj4>{zhX^wIp*4p){bbLz6tucOw0%Oqro zY~~z@i1FEG(v&6uPqRatE?-Jp2|ZO`f6PyS4uLQLUy;kWdL|&nlCDW@7MF`~f$Q5* zsN6xwmqkIlS~YbfCJ-^w{&ONhDyB-lHATn!V+Fke!+Fmc7@=EL4fs$`-Q}sMSv!QV zEW_L5W9Mu!`&XR?ZNRJM_{xSsPG>e#qi0@sWJs92LQXZfXVc2}=eoACk-%Q-9)n}| zD~O;YT!!R6EUgo2_c|7hQzp*-5tg;hD?cIR)Zd;3bh}i=++Bcmu40xnscpzx5#_Io zCO|2SD$UCY;QmRZi)yWp*MR@>M$|+<@Pv!W^x+<@nR#@&X<7vItI|r1JpNp;Qx|Z% zJAhpS?hjrxJLG;FPW!wpGT{f*3pL9Oym;k>VLPu|PB5?Ix8BaUt{GgdUpw)~=aX?G zw_;ztyg-~S57=oQnYx0;K~%-Jx*c9$Jo$UJJKU}U`0N4g1eYHV^|f9z=RBXDTS8|_ z$Kk#!xlE{?o&AereR@4vT;a~8_Xp1(yAOwRcI=b!`69^K2i})Q}DHGBBs@1$pCyZ4L2;io;{wuv^CCcMhFJ>C!3=iL~zZm*SQuFvb% zbDdy-&Tk{e#?@%j>9knaZ!(E^6(LXAssi_ER0|FX# ztBBIb$0po5R(e)92*Pfg2c>xg2wMKRX`VCzJX<2Z5|57qPLpLFHnM)LWza_xwvWtP zJ$L}`Y#~G0z}NPnlU_}@u?)ltZBJmJKc|2bF;afldfmg##Vyeq;h&=pLgT=tr(dEo zHn!gTM71(qz6RSun@=x8wo8?^KpU?2z*lLvkgxgV!>_dH|oAXhxDXns?H#5ofyQyWTOFlu9_d1FZF3 zej9vLenS5zo&oO3%EHPI3ILz2tG^Cn#`hqbv(>F&Ji`tH>GZG{NvSH zSbr@|BSMnqAg1aJne2SzeufyC_fCA0mQrEN(9{+o*)(rAm5@F)6hwvqJ!+p&5vbcq zB3{T1B)A$N?St4ikm&U+P~Wl)HYY1Fx`nN0Px6W#7-G?*P^lS$ItC>m|0(l_b;l+G z`J%4@*^T=99e#UVd{(>^WN+I^P^T=(d4=>%Sz@=(S1P`-^JJ`fnOh-S-q;0s>NRDT zJk(NZWCNArJ7ZS}jL1iIuK68=a$uiP7XAKbrqZm5O8*u$&s;^C$k890elQiHL=PfP zjP3^I;Lzs4rIXnEy1C_aEzvpCiIam1P+AQ-%_2;3Gwrc_UZKn_H7P`xq!S)Dsyzz( z4)9#L`D9mcUSs&)%+e`$UnuCbHSg;4-)sK~YY6P}=BUmwrWUjAb;6UV1aQoDZ?j_2 zE7;rgebj82g5jaR9KkyeAfQy>!vA#ygM2xHU6O(<7hNh0S#yfv83qsxl`GODozC&S9=lOm9dJ&Ac4V}VW4#cJLDh14o z+BCB7D-ASJ#TNRqT-d9I?=igF2xIZ=;xA?S#!Hoz)WTa(s!tzy8+gmwfjse8qEAmB zFV4nRmpP}Ej(=W4h>`#Loxj@MDKJ3LD%8=j${FC0Z7S)46VgcLfQl#z zd1W+d-YRNXEy`8Dq{#{jX=Syc+$Bxuc&phe6A!F}sZ;7j6`QTR* zOp02G(ja$MBb2~J8&u!QggP$lakR5OKD{S;_eA-~E#u3-S4{q&hSx%lFNQCH4@Eu$ z#$(?Yo_V}?dMGL#lX~zcOwzlBfXKs+W@0LYX3?`+m^jroL#S*s51msva_;os3Dl?{ z%BPwi8@Et0Ud`=49h0(5nN>=kGtZYQn-0t(dlTxYFjYHA=RXmDtAV3rNwFc}Lt;8PA&I!(6b}oX|!1p!K*ChJ_{JNnNt@ zI_Kf-+3-&(IMVs>Q-rB-oQzHLF6afEWoT~_5C$9{hs6^?GE1aOL# zQQdg-v9T|`D^v3^E&)<@@xaQqr*z*y+XG>X8K)1t#$gnUhWuxMT|y}6uM@hXE&b@g zk9TuX8O<^^wcZP&V4v&&xL@J>Gge7^XCn-7$&8`?{Kyf?fq{nG()2GUZZZiBhA?7e zUc16R5cLW;$!sQi1mqBF&05&;}%p;TKj1IRLmskTg@_l>jKy@+SP&A3$)R+jITztD4hy)Ez!1)n4|YUbFXJ$d z2^1wnthpS#_KTlN{}HjKL2(QmkZ@8mINuRS&!Lvrnt*kpvWRP2ZbR;>059HeX9?c= zNO^IL-{Ivku+k1T;Q^wmE`__qNatQhXey}DP%!kybue`MwIAaP&EYP%6iwl=eY1m0 zP0J78!{{5JyEeN7C$SzzcNXfxSy@M*xH3NP7m1iGHd}`Y?wlT%L>Q}B=Uav?Y(!yl z9NJFHH~|(m$fW}Bj@Gae=U5NX0!u{n=^dLhg!^h&w~sBi6CPMVyNU6gC}RE#!R9#|E!Cw>LOM&frn+2!jV@N(v`2(# zKI6Kb-`Nk#e+7m1s}4Mix@EBn)@&g%+YM#bLV&;dwSxR5oI<57;w+i|LES&`34*;b zgu+1NpVd`=!sDQt$jG4ZcwP8V8}wAk=D4mF82#u#@7!9c0hJSIA+Q&WrHDb$g0!t8Orqizo(qcg+i z1-yjhG*lk1#tT2os+FN>Xh)Xjq-dH|HYCXvanZeFRd*%SCXUV1AQ7eC)72Nx{*)^i zt$@`q8$48@G%qbra-otQ$1*F&w}k%#G7DtpOsi={TB@dK7OJM)@(^ly^Q9fBc=5F; z@pa9wj$`%9SnCv=9OPSF z>*~zs?1{12KahW*4q+kxn=>m$V`cU?Eh#Ufx``n27w`1%qf6QwcD<-f)Ie!VIsk}c}5kvhkCg#tO#l2b{xw{}WcrEJ)lDB_WJ?C5Hmo`Vh zH4COG9{OcKVBNRJ^ib>6+ksyRPLd5&;Ql)or$NrUgpyyiVXUD9Pv8GgIYEZb1gDJ;?RZ}CZgt`FWpo-+W z%LqDBypN%312!NG*Xw>ATdajw>V5{zb1{>PHPZscK-mQs=ovTn875-KXmNn1oY|nP z*``();M6u4`l%?o2H&4Lj2mA>Y8_TRirnJ2H00Zq#)*4L}MHwtn%9MTG|9a>j^5V%CNEp&FokVAKu=V zDL-tPjxl5<&kP<$(_U!+{l35w_b*2$XG>{vVu@y#1`e_+>@Z)>Xx! zUF%t%xWI%TT2O5aQ<90GOc8kVIH?MBtUH9jRL(p;pV0s@6OnEQ3e5u_DpQGQ;OFey zjJl#ip-cY^N8t8TY-JwMBp-awtk_66eJg0mvYTsS)C??9jB)RzH7##!)fF?5D7dXH(rn$Bk2Ea9d+%-btNnCh; zrCK#GcP1tT%IEG&!K+sWDr%&f#fLyc4%j5v=)5X^YejZd9U4c;Sy{$Iaarsc{^Y^c z;nVCaGV=|bJ*)cyV?9J6a;*QkwOw-3-h3`CUtA=oZ^`M{*y%dV*|Et}r0>I|rA|($ z#tW97tG8KF(T=$vTVZD*r+`nWsWi`8CGV)LPg_$3xN!O|cXJq}64?^k2Tkq{)`j)| zK**+Nw<5P#v8r%gRf0~%6w-#^K@8eioX4_`+0A2fEUrq>jyMu{!gtJCE4KwqUZ zA(tn~S~`G6Suk;kp3Q_G&VE{Bm3Uk9qmQ7F-_-ak-b_-CUBmgO-TeF0&w(@$+4Dn{ zNVY{VU}1Cj5W1OB@Wg2CV5{ud2)dcA>%_>K;l!yhZ3N`L$lo^I(R;ZIslvx^p{ohL zLHW-YAMCf-HLc^dnRaQH>lt3AZMnz*uWUM?ZON(r42wg?($c28 z*flX-b?p*Xn#8o0(73Iw3v6w=6F#4hvcCg&8|#VIV5xjHO@aJ3RpUh4aRU6JdYaUm zT3Scvqm5Wf%lYIpI(9O-bTMHt=%77{6X>RwiV%?ik}1e4z=#e=Po~CMJ1W?jF&^+0+-PLr?)y ziMxluPumWWQIH+B_vkzx7$ttm#WgD_HwJ+^%ugn*uI>Bqut~*{QjNfXLyPwpES~Ei z{`8!PY0jK{REllJokaeku+#BkvH$-&Gd^I8t+M~$t?a+G&I@f&t$QTSKzaQVswG!b zfhiI-ElB$Uu;MyAjiLM~c^ztq{Hy*vZY0dq+vPz-l_`r(SDnc(sIhadKmPKBp;n>f z@*hKOmB5id@5JeXlK0mWr8AFoo{7_x{}IkTu)l=CFM~C9k~A0bspE((Hw@t(x-YDT zDwMGBmxb5`ANBops*k3nmqBK(uL}x-odXaxD9_>154RZ!-HIFd1}ikM#h1AVT8-#1 zWGyMb6O^~u;>4voZSTojhBGY6ST2HLmSeFHqG!pFa0+%bOVPnM63J7xXCr0SNGMuf zsFJ6ke(eM?u1it%|8p`7R9{t<;#A9I*DlUNF`o1QHyJWn0qYI*;$wFy zftwmSH|TXWn4lPq65!fqoy42~&W(y&^{7B}W|!`=VNZ+QIj_3Az#t@wxc0r6p!u;p5==Zy z!;Kck_LcRqDE100qxh<9aAfG0>D6G_MJ+DaAPKd22Hg15?6Y7%rT42;3W*Y^py>;; zRzkx_UFiO}q)KU4)X0s7h8j?uXoIn=$EY!U}q1_Zi{^y|7HV!UEHsTNjQOKmpG4#iEO$r!#$>f7D z>NYu~9YIalAGSy&DTg5S2zLt3ay}^*JhmV18F!*T!AAv5aqd+A*k~YBR}$HrK(N*L z6=&lABSyyVNbDE-w-k$UFB^$puB}vMyi-WA!Qd2PA(LI}29KKrICr?2^-|8=rDAFH z;Fl6}e+A-a{~#~2gJl?(LU$rX$E7W-`WXSaBAd7LB3s$IG@snv-2|tGu)gHL9bP;a zIv1;j6uBw;L2@-congLEKoJ^Qv_n^B$xoO;KgDo}XaUfI_-k=|@~8CmYQ5Su3Fger zf`+fux{pL9-%bnyy~GKM(KeXk3;`RBuKfy--uV2XhYW3fy}R=u{Y1Up>BFo^S)i`V zn`z?EEt&(omP2kf*efPG2yYID2nB4p2Sqfd=-M{TGDTmVa+WbMhMm*i_415C>foVW z>WOlw=FH}fZ_S+>4f&ypEm)I#!8f_`bn=E(>Dfl6hQnDLz4X%Z5$yDjt8pHYe91GR`~2kZGUM^xYIjlvqM72esmg zjrWh-f6Dau`b(SJhoFn{*somFo9kyl3Q$yS*8vwzads_~6lSDRyaR~-!CxtU&PIs0 zVw3^@99h%8dxf020#j))2X(SC3Sh`Y?;aw5r) zDGLKYG9rm&H~4X%)q~1DF)et)Q2O$Z4-=rmg?^<4K?mB+KL5)SkFw28H9W+MFEtYh z7Tcr6elqwwj3o|kxsQ4cr6*$&jTo7p#-LR!-ON6f25Vv8zi^>F*puM`i0yVrQpq}Ji{fv@R8BRYgoIJVFzTOVAa{wG+dQ^G-zY>h)ioXOJRgejHk)>_iWg=Op4!%BLpi>*n(mt>5}wws5GyFuC-38Vd|*`rq!zF#-@eN;=&64L3d4B7#2|)QA%2FA?6b8=(93re@R8 z7nIzlo8rttS&J{&V`=LKi~iIz?!w*3&oU<@(d`Ye40}Ak-oFHq`Z+N&1bZzA@o>9} z>~D=Z7h{RDdbRYW8CcbaaFPIi)UeZI#$V0TacKHyF66pwl6xQ@O|n9tnxQ7mV>wS0rp^olkN zn&pE!VD5Ju9OSfq3vNVV4;m=S)|rAmr^kIKez$F=2~6mv^A-WV+x(5LRl&xF>rXR} zu4?S~`zv~sotNnC53oXv4d)nyOjL1pNS+EVGJ>;1d8vM98w*Y(_6R%UAOFY3%|&n| zW5=O=ZK5b$C|VF+@1sASw`nTeBAjN8Eoy=0uL^`WM6-toJfwey&C3lw}!G zM8)j*R9`^)gmwJw`Ug>>Te|Gz(PRTr*HQp-p$M2@y~+M*3D0vibzy5>w|3*NIN`>x z2!)S!#}a!{`z5@dkB8Ic?N6E;{Cn`Q_6LIIah*HxuuHd8)^$|tPtgAiV~wI8^@WtPW>bp-;5go8z1MNi#YQd3WtB^IjGtl zR`GvSvgzA^RKLIesnEnGPP=kJKH3;K5aANS@^t|*FVP~$kcNOPXv0!-lsf*#i5N~( z7f0LYR&5euS7)P;pU-AgYJjhUV;Jm;=CG5SqUg&jrhhb!VLs8S!h-J`db6*W9Sray zPeG-}T&_U5h>e0^?_`+7?GCdr@JoBNV01PzJW@F$LX0GcgO2MGNV9g^5oYuYIoM?4 zTap?Y_KW`uJzJ2b=Qq{VR9&<$3H-nTrnl10HO0%bs(47UVDtF?xfS4cr*${HUJ~zI zG;M+!yMs^KiXTl#P8hl*-yxmI;oF*iTPD0Av0j>b^RK3iNY7Hr_~Xlx9#HANUhxT& zMFbALD!>!_`mQzaXmRwWRQ3brt!rLg4*Rf(+t*MLRZ%7>!~!R2i;k$6LKgPf4yxz0 z2M_BA^R6PoE`QuL`p@Zw;L1N!;RDZf%0N0VSGcouU{pa8qbh4DJoaj(wL zeLe*%SDf$r6&MXh;o)x+Q-(M?BNk(Ll%|B;L5P?CMvyJ6Q=s-BRzN6=4a236?&zWz zgvBP#5a!X?Q`rDU_v0)+HBCw$2Tb8+62p{XSFFBDa9uIqBI!OC6$8%;KvI54F#p^1 zHphu-l6WQl;ddvkp}xQF(bBF=-E^AVC=Rj5z0kpzuZFHd&^|2!uHlTdOwiHTmg8Wz z=^{B)t+attatC^7vDgU)yi5CqkXa1s3NcKp^>_@q%rXFn&Y-gfV-ktorS zHwaW&TFv5;u*ND0s;fu>#xKEu=1d^<{+y;1Bn3V2Y$ z8IZzJo+|(=d4|WX3Kvh;rp+nBRH(g*|DC_P9#``ab=DoEjRE$9(#-b1*!h6zI8myq}`O$yJFE1mgwfgOB>J?GxWhOis8TW{?C%f;I(YLR3Iti3YhVtE8@(>KpK zX7W$1O`|P`hywwG&rIiP`2PPlc z51t1mj}4y-au2TRioU0$)+~GNU%kwkLeWT=`m^#^^5{SxoqW`s4U}W6h8%acOIWIW zC75Mq46m*7ImtR3WjTclBfb^?aay%%E@eQ=zaW`Qtp9*WQ|`!z&ZEG}L@gGalY(k` zgk?GJ;<6QyF&jUK_#>^t(~Wans-cX7+D*~#*2?Nvi$Kr%j2%pCo1}i%N9{pHZKGEa z_QV}*G2IyP;xKpZufYG>gszWz0;c85CZu0BLH~bj@_(D7D&Y&hiv>lhR?H71ib)40 z(5z6OmDJUE97J&qcMb{4$$9Y@)3uD@>L&-*53pxGT15?l{6H(Ad0N^ zv*+PI>8irAt*E>vB7B55NG6PC_?_BJA44VGr1h;M^FF`p31x6Ekj0=c13vbYMNuUz`txpovaea#m^lc0_fZ*aM=Y)zn<+;V$K9WC z;CvDJOmk;O6sKQ`*|6W)me;7i)SHe)kMFh@`MvDexsJ6-Dg!g1Yk4R=4GvVB0_cAz z>bVl`V}2vx+&v~%!FB)w5%a2=@k5WTuTW<5@324Y(^26;wL!DfZQ(&x0024csO@xf zw)>eAn!flw;Y3&d>7V~yaI{=)?%m$gJuouq*EC~s$^1Q3!K5tRGN`h4s4#vDCUa@r zw}#zuq@+oRV`U*+iTnO%qvE&Y0Ci$KrxS7P>=zWP`TcN$nXo0SbZlXA7skIuvr>*i zaF+9jMYEJ&jOL#&1_Jov3hZxHcXYDj!AkK0$bcF#Qt*c$u=D4D=#dD!favg$FCzW@ ziy#Jab`L#t;cc6_8^t=;-`5PcuIQZJQr2i4v1_n@EkrGqyNP`RA^1?AH1o3$M2&cu zI0ldr{YY5mWWXIFEQ`Qh9i80aKc#9@@zTjLs65}wrh(+!P9zbX4zS)=SOc5_Z-(`- zHv~2WktQUUiAfW75M>gOErJY)U%aI?dqHunM$-r;4wi!WdyoR_E{{V5u{7RbHui*! z3A`Q%-~DW-z(u4kTAltNkqsx#Xx+VdpUN``XeXwMhimIr@U*E(ux z5Sx~RDddoFltQ_+K%oT0Z|G7ep{FrdTfRq?be>ddF45su6It38q}2!mtma|P+gc>w zO;_a|mC(06-?dG$_jqE#@=anjpM|hwX;XW2Yp}GAcXT4nRRe#;AKma9S81L@3AUvH zdzp#rQ`d8D8*#kIe;=+V43GX8|71b;jKK{f7mj)>Va?+x`Z}6p@}SL**%>Ta_h|L2 zSvzb_JY#i*m1Pt~soOCE-GiNQhLtVMEbtS|nSC41fqjDrOeAeaq8DYPyx9P?Y~Z_- zXvY)Wc|52y%ye zjn3nBZwSGl$Rj}VhG)YtQWI#->s5-!?^Vs>k)r-H^*PhdX>!KH{}dWX$-jK*n_uHx z4q_EI7sO%bSPJd#F!K93hGiZIg&*^r=~OE^Y7z*g=9aNt)>|J73(n3?2|GCnq~Nfy ztF!e^#=sSP$l-_Sz8`QQG``q7!LW-nfecJyOvfO7hFSUISe3ejWoGu{T3NwaXJpdm zAlC5j{DbA|I}F1KE1{iaWtc+bFoH;<7p@ED7H4oaxN^XiNkDT#4*Cpv(0n4&jdA== zIj-6PmFw6)oss~2&#bQ?HKIBNEJ?`ie%D;$k5`v~BLybQ666_Tbw9L$OuU%h{ji_v z>-Tm

    ts~uo)XxCR;e!Phy`kifY4))z&Y(>t5?SySTe0a@er|Mm@kTbw ztr~n~HiO^!iU;u@Y^wAU#p4mefuAxUa};uwBmwDA+-a(O(}1$c%MoW6SGw5!?2%t3 zKD{;zhF`RP+Q1|~yH81Otacx_9Nu(u0vI_pS zy~O39MFH}QSt(rYw^~9UO&;`v2wEOk`@>G$tv0XWI7z-X{w8Y6hp}vfU8Jxhm!fC$ z+}r*uW)t2=P9lW2ddbn#7qV&?piHLHBK5gI+VVB~D=5Tp5 z(&JZ;Z*CgE$qM*Ln~C*6`&#`l5FiSx0XEk^p$1k!H}qoLRPbM?JQzvvD3Lbau{Ub( zlM)+11u$`QadoiMw6kTjay7G4barrbVg8GjCoUiZP~{OP2$O)a;(KKV{sQNN&OYts z$a_Sbm|L}5${N-dY_MmR*yTyfBu0Mj?x4<@D=gj2G}?Pge|$EwxULapTXR}CgBMz& zUdQ8f_Vh!!hoz!8@aFa@<>o@(-+Qe&-7W`95A6hZli4ZRr|B{hgfj}`_*BHApUDbe zY$m9uMWk*jtLo67L^hu+^mFD_xj)G5Fcmju!A4k5s}E%xG>-Q7!qBP=F`){6lsK5E zoV5o3$fuGin5$}Wa1S#dz3On5%$9N^bXgfiHeBS#>eJkGlGhCIUV(KTFK(dVXASb;rVlFa7pxN)uDj;w8eo0o}h|Q634` zZgVpOT7~>OSm@bRGtM7ZF)W)vHTO1!4B-h_2hWcc548`>tH#$S$V)*7>*PO?_mjhN+vN(m0=W zqM;`XpDr#Zi1~|tfbWVA^u?Os+ePl%#T^*g>GCkR6$S_DB7E?8dyNkyol1m+w6%y& zmv!&3i3$~ek1c^f87Np-8XStoUz_^W;8^F1>Tvj=f9cJ{#mBc;Xj?#|+czxf@S&z} z(Ha;8^`0mINaXx6*z=U$Way+Az6H$W3|8WTboz+bbq@C)5E7a?^EF|>a&x?Z35h7F zr*~)y*GT>R=9T2tX43-nF?JmLBiRQ^*7MQmVVqqj!1~UEXAMqnQgYnBv+to=n8~M( z2wu)D7DH!#p);NcR*x<2Nt86TLoTzsb|Dt+F#%tH_`V#?t*au+8rWwUU!EgPznt^h<}P2w5ZcP2l(}Q1W`)89o!S$34MF>`^@r% zNS+_d*|p&1C$#rPz+A%f=&W!0>*r$U@em3aL`RWlKvB@}vg7T?6=?`KqC2Etr5pWc zxo4z|(RtON6<)zo5Hh9V=Bj560z{1=)1B_Q2~yA*vtz@4PfT6cG)#jd#`m7^QcBHh z|6~2Pj6m{we<{Q)=;vz!?_SAb4gFiE=f@tL27#3H!xwJHc!cAdD>}!U7|oAUc+B(K z?2~FWC#}i9!o!Xpr+&2yxOUbcXICAGmcADk+XX@v8y`qOjE?y&gS)$vQo5t}mQ}yf z;)WKYA1rNuzB8)t3|((p+=o9yzHD3^dxe4Jz+AGd1H~VKer3Ww%*mh97JpeiN#!BM32S(wAT|HM{0iT|fldX!%ALVr(k_ zPpT5Rox^jW6&bU%&^ckbfQ-Pb{M1l!Yi;3}_B8v4S7g?1XSi~^b+d1#e2)uGdu%%w6CyiU&;I8z)g z9F$hE-^Kt#`sg~WknB1Lu-&5lT15(YIgFKNSCM9&8JTKpv|81KW>)#B{#@@-55pYv z!NfsEi!LS#+f#S_SQ|^*T+#*chM*YE2cWt%c~Xx)-M+%{rlz!^Qdgyg%R?9AM7>k+ zsoyZd@t+fK(59#VAK}-qJwDmKEo&3&t`aktD*d~>G`#lQ2Rs|ida2% zae7xqLEmd0J^^je+>v2>FmY+W*{o>>W>*iz`clU7pQu{e`8Q{b-Y?oaTy4Z%BD^qp z>pt8<{lL~vA~vy<56SP*h62@%W19G5;zd6!+SiKzF!aY%c1~L_{oztg4awS23^z8G zip#{R!}EQtiYD(t1}|3YYL^4QVb8`MmQ_|15Svb)rFHU3KYr;rX1n>3wIP&sYz%Ya zU4six|K|HPDL&Nlkug_lGt+Qg2$>z`7#r$2H$&(z&Izwf+m3g^~jLoPh? zv-q%=e-=b#hh~tFG!q0i`p&1t!+L)mNdwBN;`TA== z`ZthEWT~T{M;$8Ti%w{HQzjjY&EY?WWZz|fLR{blP3%x_m?LMz0RB{X@lB*<+hpmsF?*typNFAbkT@S zz2Ai<`+le@?#>@!SBwoVD4Jmoh0!!Haj1HAnwghPKZS+S^cV~)nlZS2RNFJQEvx5> zK~yt0vMpmlFcD4B!p5^6&+mM_;R&O0VdhXx53S1|dAEx(jEk5Ad?p9IOW;&IdlQJJ zv|-~_jP?Cb1Cjf5xY!lf-TC<=XY9YU3o=)L^Z2n)t_nxq*KKwt{Ct*04R1f?_ zMN`&mP0Con|GV`F@g8q&6{}{{exQO}8WVbqCdinpYFN>r-{@v=O9m2*vz1`dRJ`rw z0!~+}uVxz0$F7ti@oKuuGd+~Sm1ZM#CXtp)hqsA~=^>0pp7*Bc2dhG)* zHOXBwY=OJvCk(`R&jWcs#(|%<s9-PcEDo+j~7>ghhSC5FEf($%djJyn0} zIVv&|-o;z(tqU+5(zUjHnKt{18Xk!uIO{@H&lfA&Bk9d(?Vp$&7byY2C-UolE&IXl zgnxbTSXl6yt5KK}oFLF-JBCqdVOC|tU+GR?e(8^xDXqjzCa zbL&Ua8ZGIrFjH?*qi?7vwWe0!P;VORRh?yl`732zu5GMhFw0W8RFSGRtI~vyfm5ly zXINpK9$a2whSa1=Usqmhovvo5Hd+;_8dGR4JS%~_r_YHO;>4KY_G2Z=d?MYaPNH$3 zOOI81i|coEswqg1IXhEawsZO#zry;xtU3gCO@qS;?dt`v>J<)-TXvn z-+TC%|4UTMtQ#!L6=%(VCF=hrGXFzvvKw+l>DAs1hE{MyrNXP(VbUM`CFQFBkkxOZ zbM^22{FedHe_8lHw$$GZD(6>>7Zi*9HRt`8(EKOS{?B&&0&6`n72q@IvZxLgdDV}H zBK9L@oYg`b zuE~VxORyjO%FOs^3nz;i=ES8MD^ z`qi7IpHTQc^V=_!J5b0k#7pGPSg$R1zf>O7-OL8AO+o|j8c8)OA?Gmf(Z;UrhSyyT zZ=9Y;ALXwg@0B>^2geC&Xr}$F^M){Dd~0E;`TYgp=C@$tBK0{`SmwJE7$Z?n0;^4N zHwzejNrDiprrgwx&^8YgeZq$`itp}K(0F=mb}+WX7~fM7$2f!dAKhgaOtN?a_<;t& zg`4+KEkdD;x7hTlq0tJ%n4cu=ozzHTZ|B`Vc})9(29ywN;GEKYI6rA@tk1>usL;P! z>W?D5Ds;pNT078h#>F&t#Pk%3Ucd3ZPQ4i8JQDJ`zFik1o@ZP2N^V>7Ztxxn+?Ulg zK?#g?1+P|9uY`D}HmiTN&{8jjqnd2WD^je39Jx9TPQ*2m%^O%*&ys9}{)HnJ&RPib zV1s%Hx)!Oq{zUCdph4J~q0_rYDJI^XRh-cd>w=W&Q!dlc6JyMb&=LbQ3 zKfDhB-b3dzSC>DHl2j4jysN=R_M&b;S6oP!0akXtogbLTBHdpNY8_Kc!aas^QEV*s^5 zzNg^+HPIhXBEF4&pt>!rvQF8VC^^GziX{xw&iP}2&7;E(;0!Ji5nI7}R9jgmbU;|f}57uM3s z9ZdF7Av|k&SnUA#R@W_yPcPTLL~^JexjM?a!dQNThbp&K5eyaWd!thxf|Rjmpm8!Y zN3s~nVk0Yd_FZy%*)#9XxNhkVz~%a7s}~m^H;&4eyTrL@X>XjNd!(&Kg+}^gk53=i zBwx_P1_E&4+(cmcWhfv0jOQsn{gF(oni7>^X^9;79CcOVsuOO$=WUSMalGDxV~vomYjiadPzT^W_f$E7ke~ z2fXfjk(KH09f#g88>7ptp4w;!XOA_9k3t@^h3Sk`Z3)4glG4^n=)JSsl=l}YcY8dQ zo%dyvb5$7QO=u23xMeCc2x}A7c2)$B3rRosC>&Ua(a@B5p$iY%mhNPzR)II5fFFQ* z;C(0{3(jfgoeOK3IqX!*_Dsjaxr*5tIAl~t5hoPP0u3YsdV@8ffwG{HD8Tb}>B_IN zkxqK7M1*}<3Fhj0WRPD8R~@VIOI6!FnCkhGc2HTSpo)Gg+ofWK$P4i|-{c#_s>r}<&$ z%PwzdFm~{-2o$7s(Zg(ontXe82{Orkj4eHb@j-!BhZq+bt=1V?L=hKx1>J??DE} zG97w{h%^R%@+(9-ZiF=(x6ZYoHKehC5fvW7Dl8c`!ZJSDk=YG@k1SsAf z;Vt{9nb;{uh8oE)jxB)}3MA0S4D}{MB5};E*V&6pP4ELmF*@^+tp{2KQ|&|A5xiPn z0BHJ@HvH@~j+j{_xzdqUChCV30m;i112NgruVzDZFuifom!e&(y>IbjoCuhe#YD$3 z6V3dWqv#~L3nMdg2S`ft%ZEYkT9brCYL{PjAf9E@T9#X;8NpC#dKQ^@(_ z%3xZqG!<{^SnJpv2+m@CyU+5gwhp;EUEu2aKU=FF#Upk`$8Bn+OJOT}sC%IZ{>^T~ z>08(!xm(+8Bo#EbqDFZU=Ku%!wRk++W)4eFIWX;MXC9LG$WOx@bEGcsD9UyB^-e;7 z%uGa+ie;w0^d;kYWV4y{57S8}acx0Girn}RgNa~~p1@-}I&7~%D&f+CpA|o-?5Kjb zUSXbKPeZ8g2g9Z8R+5ZYJief)y)?OJO-&Gkj1W(g$jb5TMM^WpRoez9CQYg=`Yq3& zUzV#O*mu0}nwKqQUzfRJ5$H>kOk;`cGgBfdN5A^CS7chfrE#6Re!=qo=0%Iaq{X4s zgyfRFwWF!dgG?gw)>9QQm+g`rrrE5izvI#HJs%gRt<18QI_zfi2`Q?ZR-0Jmp%oNvb`|O&p)NqpBAle}I#@7gdg`5j5ZIClNphH*aEg6S1 z8u`n8-xP1HQhwUUW_SUZkzF#J;=1Z%%n(%~a+DVb*QyY95Hdm~b0Bpq%W~573St4h zTbnnCu}Y-(9OBJ*U5kN>H?>fR*RDd_KQlv?K56*s zK*Dr0@(UEeuZg3f5*|1=f+m54@;jSU%1*`FYaABa-O=gD_|x_^igBx8Cw~E4HN9?A z$I~B>UojJ(7hIweX%}7RyPs<&e!ZQHoQ?Qgq7J{|-d_r1@Y#*SqIZ$@kcWZur5$zE zh`)sj7obZ@927CtKTV#%ZO_t#^`F#KreOJuoS2-bSR=(l?Y<3*wgfNUT5bPp!F2sQ z=~p49q+xyM2sf#Q2Vq1tQj$3VyMFl$HU3BGKC>k@yEuw4fmTV;lgwaf?1WOP*wxJkGBHjGos#V zwH$^SdZoX!&NE{7_vOSMFGw^pY{Vo-4C;>&rRBC|aEV3Nj_om&I_}tYb;K%SF8ld> zyR)|_wFl1Gt~Q29OSo@_ladMx;l<77=%a`e>~+)9P4sLa&9)KYqKdqgNX?QR+4fNJ zOpL_S1xE37kw7&~;b|dDa+?MY%08A0HI!`mIyZSm547VzY~fRDFjpl1BVt-fGMTK>?Z@QHJ2(SYUxTSN=h=&VValF& z!kvymVuwxl5Wn!_GNZrP>TPt_$qyEHok#K)QNK2c?!ohU1NA*Bp^-F9bv9+jv0V=^7id+cdHGkpAz-?8*7_H4YX z;NbF!>KSqj9Z!ZUgInENpIOz-1D26$P^*XxBntyd=$BH84aG1MAJ~?$I`)otS~d)E z5zDKA@V}6@!Bfc4kb=n934kqJs`y?A#n|sq25JvEu+1XC=X3wo$Ixb;*3sFO{O+G zz2>WGe!-*6?KOMn-z}%%nG#K6SVf-q<9i3dI>gkyD1;H0ygvR|z1__)BAQTTj~YYH z+@-+>Rd0pbKN@p9xsgo8T}(p66~~HRg+i=fjFc~IG_qs&tSYQWPgq=#xOK7cbrNS< z1O)0Ul`KcD6!lYj6I_i^2F#o3DH$Q9X*%(mme-zUf8TAj8Iwdx%{FCV$pm+Sq}t`< z@d2v06NxyfP%QA^TC(CqEC~r_ORIg#yNoAqy^&h5_gfGu2eR(M@8&3U>=pw_@884) zBSF^RM~qWa_E#f+_sNu2SF{a%+i)BxS0mR0&S!FuAjOfEFI6}O9Vtz71%;_M!b;HO zRdv637F|M|)fQf0mCx;zS5!QMYJPBX>s)=vs_sU%=VuB3-gZ#A;VODX#m(g;#43VD zM3Y^z9mSE2Rz)2>v`YfxQ)5M7hrF0iZ28`IBGN_l zeB;xfVidQ_AXdc;Xg!>Hk;o8R^z6~=x8NwEWM)Hy`dbdHnoBR(AYs|H=~L`?Zl80hW444B9#$<_We)H<*j0|! zL)Q%BvTPGM=7iEW^t*i$J3O5cH9;-`#iY#J%c`?3sYf~4&pc+OZwQ7H1Vzo{Qw)v= z(aj8Lw0b;se4WWsC@W9ymf6Rn)9l6 z6;o<{+VQk>A9W`~VS=LxJ9~EHn^FdLZbvKLGid=?n3)bcWsy@UC$>1LrpWlqWzvT$ z%?BSDtpezB3m0z7$c}EMw+NxW<|D)fo>ZJ<dznzKPZxA+hpbS+pfvkyX~&0C$F3ATA{|sUml(Zp0p9;Cn6d4K2n9G z-E0?M?LrRP&p%S_!JW4_X=~($Ij^P@yg~%cilc`zqRz3v*U0fU#0!4^9eNqTjd&gx zk2<|xU)15JW4>F=Vu@9-w8ovN7R5O(v|%c0^`U_EAfy^}2IBC=>%E!oA9USch&0u$ zUU6nnFZy7s!#{Y-;<}55dM>(!M@H$P!05WzZ5tWN%j;9o;Oeo6nP^8+slv`&DMdbk zCKHoj!wA-ZshZWRL#6*L#KQ@H^h(mL2BY(aK|KNJM`m9ON2-$vS8Hq1OeEjfkNfp{ zpQ%Th_w)-4g#iplm2~`;r;Ru^qZ(7d#>Qu}P(}jI#sCU~Hard6tfcl#XM#J)6G|7S zz}CL*o}OM@=63a5ce01{XO!Dk*0Pm2(P`sPw>ApTGMfAS7!BMy&y80ujiurJ{RrHY zssfaOxlPVBbBuZ|qY0{0L8i&NIHa{Y{kF-ytKy(3B2_-*dgs2Qb=n*MtmM2ar!X}C zaT6)F*U&uBNg<++vKw{X{FzaG#q=ZTKpqDFKDH8NnN*Y#Kiv3nEXIP)aRqg~FSf5nZ_%Gl;{UT*=a1N;7!pp=z+7UdcJ#aN7 zs~*POY|X~HPaR7>qO~b&hs?#1LrYUX%Q6&=VmJ$cbR5Gan9p$C;zR2DMJC;iYsqgb z2;n8yBWDPIn6Ty+sfZ71o9m-Zf8NIS(oI}XhOS8LJMvH_IP*H#=poska1ME z86zKjAJJ7Q|2UL?7S8y6c2tDHNS1lalDoQ!7 zDjFdM>6fPOwOFHVXg+m(ism6Dm*#GBaU~duyB^H5O@2`6Pq2%h6h4n~(?(P0i=`8N zlK9Piy9nq~b5Lrg-N~ZYo3qE`Hkogn>{7lWnS9SX%3y~ks#mN8evBFF^;%O&Z%Zh7Ne*1oj(n(B+&+>*Vl(_Y z4^kP%>2#Q*9~QEF{h;fbPc-$zP17we4s#f(R@$gbP~lGS>AO=xT^q@MJkq3Acs2Wk z?clZ_n@FZ|JQW{UyE=ICUOY+Ml6^XxGc#O3U-y6qj%B~U*YNG!7BmI=lk3NY@5{ya z>_DfystQRUschjGS?lzR7xI#^JY__Dfw`)VkFEIqBsb=@7E(qb0$j!pN_wG3!Hcv% zvy}Fo#C^)u4Q$VD`lH*%-ShK~u`f9o4hKkpt<);ifc9u}m36&Srcbt(*AfW$cWbXws1g4C#UCKGztUG@R5=K^JW z0MzC01IH83)mxydqH#$8c8JOT39YROFNusn*YXkZLyyyT+Ycx`*=5;aB~2AY;q|QDSQjc`ui1+4MLtL5%HdeqzjFEOV zaP!24l#+o6e`Y5Jc@;@>&(1)At1YhwB^PHq=LI_`L5f$WXU$zR8>x4@x%D(pSmPnC z1LyS*yrK!QJZRP}t?3)V+L#5-Q3;I!ru2U!5@NBGm*cs4ht^mdP*Xl#23$OBn4Xeq2d@;G3WIT(1#Ntv1KC`^k)m zl^64@0y;fBEPFQj9E7=u|7jl<53Y6|Kjn9O5F^55{oaVKDYvf#AO~Q{Ku3g0O3KA7 z5&E1qhEFeu}Vc$kF)JD3zU|Nw{|G4wLf~JLdyGEIvwfiL+2XG zh=hYJ;FkX}ykDbEFpJ2!3)?*U>U{6S+OO4v>(^y$t((&{*`U>N@q}mo0--u?jnRm% zgzuk#Hy1@r7`F56J8q+~X|je*!}ZBdVmL%^Sl8_zVcUb!xLyf1zmuTzF<=teB&Ldn z%|J{|moSNBF-DkaHvRw*4%28x<|&L@W=s)jfrVG%q?LYN zC?>$0Jn1j6CzsHE8VSf}%!)nf)Y|rP% zRhfAv`TF4QR<^qlpLVs|CkhIj&)Yl;3k)lG2wUy1(?!~BoX*bexS5l9NwWdhUHJD%-78j7c2Zl-sQ+`k&BkKhg_AOrq?hpPHVeDMhk%?uf_UN(KarGXo_c>nMTXSY{wU zWEve1Ji!bk1~an0TQFq=%d!F~X#X$D{oOTxV^9Bcr85HorVb|m!qqaGI5?YuNmzjB z1b@NVIPb!&PyoQEf27|zK{g;bfdxpy@}EH6f0v2n1pa?vyZHUk0-I6$<@25vK54= zoh{gDK4uwM>6Etfg1x@njV@RgQCKA^XQ5yli0o>5d^CC4c!(LPZ7kRV(O+^N2XUEpo%QJZVT(I zf(h>{Ed|mzUs?4fWwcGmN!irIh4%4;3K-v+P>*~cu+=?MYl2pgJ&Ax1!cY}oyP&vo za%o7J@3+~(>B>?|==HUm4^Bdi)N@ni{fH6TcKqLR*rl04Ab;imgY?#e5D_;O#Q!H~ zeTU-#kpw9Kw$6hHYnVMJqxfV#2vRzS)?tdb(OVBffK`bYI_E(I=}hgA0HJd}7@^s7 z6sUA4UBbag_bOpy$oyx$iF#H+;_fsV2do~-7D;G&>p=()&Zi(~eFx)_&Twe2r+PQox0#_vshho$$f8!CcfaHA&NDn3Bj&c@>UC+$Ju z?JbbO#zqsgm*;ExonODxb(7hKSHU-EQ%aGLIE+XDB9&PwiiCVF-tI;uFvvv4Dk&f# zTQFocy}g;dL&eZ;GOJRVz`6*NkQJhOrqrY>;LLw>OTSnFbPz>D zs+%5U+VTwMSwi$Yv;7xa1s!i*rdk@AW0*=#WuBMm&NYtPuGFq_5NKXE2qJ^b+A&=K zCggl2w5WvkQ^fZdFnW%7V0n@0dS~BrQi^sjoIv*FL5y7xUKtD^+98`0Myp@*C28!aKV<%n{bp|6pwx(B%UR4l$=pSSAGN|8jV~pqbXZSbk|%o4?ZLL zf#pZ%ZEA=vknxqN3~4mJkjgykd6%qMx2LTi;Pe*&0RR630F##b4u6DI9YX=H002lA z2LKTO004Jya%3-LZ)0_BWo~pXcx`O#eS44FNRsFO2kdvqt~pG1-`0cgM|s-|KF7v% z_ZYStGjlTwH%m;FIHpK7NmaS#a6o^E`{#h&FV~-BGcrkuq)3U>t0bF-;VSEq%#4iq zMPy_={_WpCO+)m6lYcabqwg;GYwiN!XcYTFbpPGOPw(9;?E&K({6h|2%LqzHA<81WZ#U#sSw>LNGXo9C+dOZzBNu0*x?0OVWZ{qPd z7~z}8IPq@;j_2ravm_qjG$qfoyy(G8FY@6=pSq3aC*C9ZGJgyx-Haw)lHpIwG5Fqt z$T#|pwmOio#Xw|*0>3(x*n24D24=M~khIl6WL7I9$=i+8usCJAk%ZNe)a^zRS4Yye z8)=1|rmGAd&u~QE9LLGj%gBF|`H*nbPvE*_34gQpcX;yqU z=|Vg9bvp+ZO0}B=hlGxClum-#0v)E?jz->`6oWjhBf!HnEI#)*<2#C48?@PM8Df&j1w#g%Xh@U`eaH2q<-d4dW|9!biIM^dYL!z(gmZ#h`8UR z%Jx4@eG z1^FfNrZ8|4WaOb&-aLzmxMKe*!)caY+?2oTME>HN^o<#LpmaO)67My6krPB)HU;y7 zzDg8b2CoX5Be;&P!?TE4=)WZ&`g*{yvv?Kvi{o#k7$thf3ouVB<$_PjiW3jZ+qz|2;LLolNC+_Ld91`lm;+3_R`Eq z1F!t1lfMS18wU1NQ7Fev`!UnEoDm(S0#H99{hZNV0fj@e=vuO+MwD z#ed4!KkWB>lr`Ubyd8(WMXU<6`0f4EjLhv0-xEyDKe^4gL6m06d$NVV&bR5z8;!}Gg-r zkVH>3`$M zU(WodB#sR2;F~q=q1djdSXNbgD5_-(noR+;gZ5y5=mOeQg}@|}NI{zaEZ$6l`$-0) zh6J@R5qCeP|DDA|m1~^N0j68~y$el+cIM@w% zxjkMg174mBUW%3^yBu#+@siVRi+>YbZotduz)SVGcv<4pW*N68c=VAR>(E=Ak{u^R z53&g&6rwV|fvb-U>Rw7Foqct@iEX4F`oSaT^+BC%uTIoKoz%EoIaPI{2)yP_+2C{R0aP$$P$C)$ar6EL$un>fGBJ-CKisuKp@AMh_e?nb#S9LfXVEb9R_62^JcbVeL&%zwiA|B~1>row z=m(sp-aQ`hatFNB2fVED8qc39VDh}8ONIf`SN4d@l4h6^z~}&&#|BJ^I@V6n!!wQ( z^u~*VQSRjFz|=h-?Lx2Cn3??~1_|_0EaRY?cA^dbNHC=@lc~z`Jxa=yNAacS0 z;m-l#H0tSuAp9qY_BuhlW_Jd^53?8VFOl>6`|QQ>=D3k)D2RsWm|ZmqKWLJ=COKLE zJnxu-#Y=F*Sk@$>X zhVW1r;t<6NB4C>0(L4(taQHNU=l0+!4&Zq<;HjFt$hkVCJe0sw(p*i{xWSYBEZ|9L ze0t#dZW2Qx=pvdL{eNkm&F0yFl-nbvG$3UiDYa8YN5dbhuY3XQIfW zqRSSIVcidAiUVeL#>^AV+$%8i9r-65@|$;t$su3wd|*-)Ie$$yDIk_$k{5K zo3||688QZ*1u>7Dlhze6X^kvuS;o^GCDBh&h|?6ko8eI~4n|%WKB2exmpOS8`vZn< zkD)`-)%jqksDJ62=-PG_Lpep&WJ`codthk(&JZ_L!^9KKqM}uC{*>H%QSeV%@^rww z?J;jioLa#=;Z!kC5^cq{+*+&<@3^vI81U*~Hy#@!p-xVW=e4G`G zlui{RIe$mDc#ErF%IK!18txD=c@T{3C&68$@YP@6IB&my{o^0e-$PWvTWNj6n;peq zPbggym6md^+tdjc9f5buEvBjCjc)NJl30MRMi=CKfzDPj>&W2b)OKC ze1sE(D^9!O#P>wVIF9`N-<{_buz#(z$1KZmS$|Boib%AlR&SCXS`W9dw;d#S1Qx@- zQS?jF%0uqgX=vr*pZb{nM!9MB4#|#X8}$5n} z62Hy|=~PkDB#su_FCm>QsE#W;)ncb6FX&t&(&e4x>F7umaPs4PdWVx-Fz3^p z!NP~I_#8C_>3gsJ%4;{JFXRO1BF(d!D}R$BcQ02azi?%CTUY^q>}Sa_S$2*0SV2hM zd`mVJC)j`E-D5Ms-bYHLZmt+2f%)3$#%;Ow3b(Ghox1^Rt@{UqhgP;!B#pBTV89Yv z3X;J)j#ka!<~3PymSriKny9^4;??RqR4eCpK5Z@>N*a{TljC+N@D$PWJTktjG1rC#8pY~rodZtFXj z7A4!JJa$_*S!KR71h*x?RU6A0ChK2+DV&M?#b=M(HGeq)iCv+@cYN zLQHq_`}C6hdtQqVGDP-#63;MXu7*#D9CLmA%Nzp9;MfaGrBwkYI7pCpN0)mI`~RNo zGxB4cM!)^~|1&hjgl3N`6{t>n@vJ`#n}3$jtpyH1UW%sk(FA@zVqk`93xCIET;ViD zuw2^Ttb{A7p^27ZR#V4!$Cc8G8*#;q{io-~6Dv;OIxm8Z=paJzJR$Nz|@GTUZO3Y$D9Ha7tXTB$Ds?Rqy)$PtDS26h=% ziSlm}paFu6ylgZ%tCeF=lVo|({WUUDloIT`%o#r#g>%CCCVzAQo${F5Zr;Ln zOXG3&=p~rKZ+hJUZDrn+RGY7rHWDpG(N%TfY&vhWZP~#9ZAssC&eSSIWUv$o4DQLk6RtrKJu(6=%%EYi4{rw9 zHL)(pOU2SC9sqoL8Gm%;^hP5*%ZPkMR5gGV>VdQYZ%lCp|0URxVDjN;^-~FLGIWjp zJi%bFpa9@#3Tge*FTw)WmBynQgu4IKdXG=ak)d({NH%*`~iJ|mJaL(Y+x@PDzhT6S$oJO`XzUF$T6$U8Fk6+H-1gnA^a&Q%!T2vDtyD&r-=b!D;U zdQ>>gbX@xC7j|%H-swNngIKQh7>$`uAzCBJ0Th4o0L+2kfNgVt2LL?`cD823bXSW2 zjO{V6C!xBRS`enn1fM7}hWNpONGl&ku!-7de3Z;7cz>k@F9EZFL2^zo)%>i-P3*MY z)7m}o*~_W-5o{qc3NerfOD~S`wos&{{WOV_zrWK0rv+1g%;6SvI7n5 z+;!q>*kQZ%6x;iV35c;(Jj;$FKS)ROl)2)k7_?b1O2JjRbiy(~J}a;od!rx>vH+)G z?NJh=%nLu3eCyQFN+UeMKjaf5Wt7C^*9U@<9^7>j!{sTSQ>*aofD#nw6PREWDw);p zGk<$wX>P%);~Ap>c-{k_nDlUlO7eaQFv3|aJzp&>jA=M>W~YTH3ll$x$ZK<`zQ+C! zpQN6_Jl40f?^%TtyKdF$S*iJ-BinMXu;&|F8*_JY{Bi0fAKztgNx?vqK0opxAd(RB zDvPhE`n{s`VNYuM8c$sn?0cmsI8m;C#eaz)q=`L;&3ZrE4{eIc{z6E2B75-05PI3|D7j_IR z`9rC7e_oi%E~;nbw2DDfL=jHlegdPr*e6PcUhTnBOC))k<;A~eI3b`qEnE$g1b?5G zBh+Iny6u39vgTTrYZ*sD#Z7Tl-v?=C&chIA&n-9aaE9hH>imc>1}#hMP7nOaDX~Cs zCw(KEmh1?SfId)mNm=Mp!U81-#87L^W3eP4ja}#}E2<>&cD;+3z{`Z-G~NG8q-!(2 z7}U+)enh0zJ^P)!l_U6Cs6wil)oaGxJ zQ4kzg`%IjJEgSSbW(UoXSZ63V9>$p7^QX+x$WJFJO3Pg}%5fy6+n@}*%}m+ms%vp) z$s$n>cijTBSU>P)Y7h!!NpLsM@Fhfc;K%%A%8oS$n>q_w`Y?m@f9ECaE`OZM)pimR zPBl5luElLXlNN+i7hU95Qqp*Qq6&u{pU6gEd6AdJ)2FL=eC1J7`l_%m*BrqpR;(Vu zl(r)ndFVdRU|Up9G>VB`@GJA6Ljq|(SGTTw-TF#iufC10<53>`$`x`u|wSO9T=dGXugHad| z4!Xm{s5lVkjO*yP1>I@DA{dqsyRdZd9$36bUUJWlRGnAQM`yH!)5X)N2LWeP%J1eu z=mW}8_5u$z;p973kb##^jj8caM9v3caF>7> zkWAfASTfdw+VuoGDMry}p9Ns>>Rl}aiGv23+GZy-Mj-V?e&sye&Anx}c}c)sd; zqOennn%a6XOUzCzA_MTJSqNrd3IW?5_?STTj@cbDv#;Xh zBf5jw#Tl{xA%9Z@WN~426_R>p@B(HPGk77{gh(9)Q~Ema8XTeFWixG4OTMG+RWqA%PRRmJ0eU&6V{r{7T6AaptB+Y*VVZ0y??M$3)?bgg1jHlN7-YXXSsE{ zMpZRcb}ZpIoU*Yz1(A(s2I^)S|IhufiW!HCGBE|aumdkJDPTeGYl6bL%iO9x6T1_yora*~gxE?@ zd?q1XK!1%GpMq@G+T*GU*(-y_Sbe_g5AH-pF{Dp2yK=LmZo8bTZ;&_K!2L18I~#?CkXfq)cwoWF0C!}b2*bU z>IJ#KVERpq_F`%9O@!*Zoh^!?`QEZjf>Jm{odDE0&}Gpu)-9h6Rg~Vyhp3cK z{(tV`eK5r-`jMP*-o{fef+f@P$c^ue($$ygsG~Rp=QMjTIOW;PIeqA>gfte-PFRwr zSnQ%WNO`sESe_RJSK&>-h5<3w9ftw*xha{bb9MRXZDf!RBWdqRFnMyN*;#iW3ci z7p%P}#dSJRvJ5vgx5q|8jgQ6uWrhmfK zgQ!h`Q%$AXI4;k_XxOY$hDPJgyh#XEC@ok+$KavL-KDIN{uMe{f_~Z1T+7(ATIqYf ze}xEbeeL_gomj9F`?*^3zO?F|^%NGXrZns;+07gbdvuH5gyg$$oeMGJti(bVqq3ig zWggTyE6<=QEvaXvg$h|0VnCTo5q}j;?vGz&4fK+2^HeF!JTLWW70EU**o_KPua;ih zL<4~uP|vwtz+WNbGq^~PQaqXiP=rsv{rdm#_5Jl_nGJ=?|HMm#vudJB<0AW~r0uZL zFRvRX)C|LlDA+c~)h>Az*|i1T+_z`8q|T0cAJU6>Zk(Vfe!PUE6^#}M?tdeQO`!oc z@r+)gLy$HLh#JSEIgO8{*DqCdt^8t|D)O+IrV`?8|Ru}@E}F14<6zh#PNnH3R4 zJ~5df0ffFm^IK|(1u3hWSdIt(Nce}UuMBRN*;f}f8Lj+F^MauO;1pUh5)3Az(7?$> zwSr~b9j!QYz>Jyhw{&~p+<)9kCA68~aE4Nrk`9hILYj0$w0{!B5TE@llCv#l6txxd zb;L8Ux>?F6*;t5b3m?6wl&0O&veG$Q8pvc?4MHwA38b>Klh@A*yM370LM@^ zAL@%0MR0PhTSS3E?iy>3l42HidseGwM`SP+SWZ(H6qapGQe>re)2%3ysmt^TFraXb z!Uq9>XH8(FnTf1t1b-;)QXeD;bi4#Hf(~0WxhX&4o|Qbn*}RJkh^8po(gCBITNxg7 z*q?*m{`FPQA+5jE%bg%_8@guZZvR5S*w2P$nFnOlL&k?T3tlsWNRI4iu70?1sv|H+ z@3yMvz#tH=O?%?d9yBx}{(-yZuQ~J$#EIVC+}z}7mfp~}zkltp+q`8ey0a1wd{(>N zyOHdf>^5?PC`c!8W(GUwZ}SN1#7={Ml2`r}`S@;rA4KE$KTt;G8)x67--7buu4T1L z*rXu2l4)tRTWs=@Bns}C?0oM_t8>|T^foX43srKPyi_IUdgUI?@{%}2Ka#Uh9Hy&O z5V-dOe=Ew(SAPhy!r8(y34pCFe{oN1Yme;RYc05zr+>pF<%Y@*`FEBh<&`ezl6I%a zSkrWcyOX*=r);{s!Rxg<`169!-uIvT5ug@=y0##2Tn&*p&e3$&+{sDSC4yl;1nqtM z+J&IG=LZ*tT_0#V?dgV<)v~{~yolMYNNq=(a!T$_+sQ0z_Y4cF4ck)O) zM2#n^LvL@3U|e*4eU0Le9T-Z|6G@U!89F9cDtN7Oi9qFetkY+ zWZ}S{k1)12$~&eoGROQa5x{GL?5y4F3&hcyRO~kvbU=TdlIP6X?;XTdF;qpAxSF_1 zyz97}yMJ8TNsH@2+*`Y_+?FixavX#ir1znCp1nZh;xtPSsT|kkkSdF&qS*CjZRdr) z&*Y41CMd6IP|vMKP|0vrmFJ-*(HRi*GxhhZL*@fq8cS`@JH+Dbc*MHabS_jN>zbjO z+Bv(S#b0zrF+jGva|zke)_vs^>5uI63iTupOqtL76quU$JS zClfF7iYwTM%UwMJK@Z|&I-(e?90Ir=hX5#wvZGb03X0=c^)^0=>KdlZEzg_V^FaR2 z>10p!+8zi1A+(*%Gc-=(>B0#|OC`5deC_C-6C_18U8k1aEUT8uN!n-9%&o-+qNRXo zD}QC+Z&qL0W3kPPaA+2Zl~+NpkaOjM+XmsaJ5;w=)7eG1vvzS2;X6iS2>D^bf;8_c zkDjZtbt%~Wki`)T*W|8CEIQQWEqsa zd^&|9R|lbPU3;Dzty^7?ohMAJfuh|d4S(p%AvDdch-Hr^DBlk;;mLG!xFb&OUs^YNP^9u zwKo~*f7P;A8JQ8yfd2BA%8GCH9N9)JO%sp2d5R&i5|U<_F7cuD8pYTNQBs$6svkzg z4k^w6t%V)Uj%n*3zNP85a5HsYTI&gb9N=l|6Ub%;n+x)?$f17@MfPYq^nVE@)@;g_ zA=3rxB#!b{6a;4`ahe~Kr(QOiKDuhTLD5F}(nou5MsKieH9Obr zV*h(1VO#xwD&}JUOPA7;-+v?v;cKx4i}-X8y_?@b83S_UWESDw6Z(;WL?7F)zd_gk z24vR_Ev&SzGT8qx(=fx@R8GRklKUS-x^vdH7F4TFeuY_IrKO>?xIS9CjqWh8GSPR7 zawg=cUpRx0VuO_Lv^tAT{{4<-W1Xgrm(8Z@T1qW=nlm(=ll7$&aDP>58bxWykM7L| z#Wm;7$eDucHO+z%7-die;0{Nl33W@A9E17eP+q?Uyf$#UsD9ETrwMRkQE?!nFxI|`lP?-LhPtd#-UGMgvsW= zy?>gK(eChlu(*}j`*QmGAi6FGJgZ5&afx32^^NoP``17I5nW8OY?j{M+>q_PPKXFy z0h?XN$^Fe7+_OYpukPabBc$R%H?Kis^u7Zfb<)!~!Pk|cZyIeR zS(HRcQfqa4Wlhx-ffc40Y$RqQ(I^YJ*(xk)dL5Pr7SZOx^Z_XM4gwF7S=5vL{B)oM0aEd!7`)%&OD@P(X6(pMOEC; z&t?P+ih4W7o7dH0^AcP+;L@^)Df)=Hp~PWTf;d8hwR|#=(A&j^=5~ z8U@FBcig7Auk#Vf{j&;`UM_`_irA}nt{}L@E>00oF|^Az^!L?m-iD5oK7h+>QNg*m<0w^dUN3OFs@l%tyt{#s+Y#4w zvNd-5F@I!Rp~bw*7MrX)vaK&Iu`kAATl4{^HW+A3qCK-1>IyB*H1aAaTquYKReOnn z;0DQxD`qJ}N>8tFr#q)!tEygkcafkyaN&sQ(^3F&T?Y2_pd*Ub!Ej<<5zfonz)-f9 zn15sH9LwkyT%vS7nt+jUkTu{>voL1Wtq-y#FMls-H(Zp)U0T$OqF`#aT1%%O#|~N5 zjhz~q>AGULi+tc?^_A^Stu(22pD1m^rbYLDR`-syf@a%}U=1Br3)1!MNUMmlptwTq z9_kCGU(b%Tmg<@k4Tc-Y*RDm#pQfH4%`{aFQB*jmmNqJ?wx&xCbse~Cw=brIbS6g%{OUDNnU&?JR3^%_WWHq6DT7D9Pm z?y2}CkHtL|&tPxvIV@V#xoMBQdKgCS)_-Vr4X<*BEm;!1S+2z8aJD47)qM31yqY`M zYM)%sz`fPf(o?8xQJ;1z25ymaj@MPu0(WIuadV<2h(fi`W(Q+vBklH~;!CuvIEW7_ z{H2FhT)X=b{zmfk6r{DcCWWdg$r@D&3sGzF1GfmAshUuBrOGse1-(l1F3pO0M}Lqc zUI3*!P!p)tsV%na$h<~NvX#BoqTskDzxKd!K3?ng;DLx{pR8BM&z~&g-FpGOz+Ti# ziQ>mY1`2QEeQb>nh|&yuG|c%RbM5Wz?Il88yrYs}8?GYNE`GjX-059STag7-Vqr}K z1%X=ZZVWtex3?u>>|RbnvX`aH*zEHc_rpY+ zYuv4CaIV{$VbV@HWjoR_Ttn49lLqH4bo-GQV?_*%=R?W0IGaEv5+al=hJTSYkqoAI z@wut@5f_zPX!s%sY5G;3+X(+bk6@mr@f4G9liBC}sp&Ts7t=E@3P$NQa=g)GQEO{a z?j^#Hh3 zw1QeU&%IzNnO7LcA5#`+k(b^?Jbxu#*KxHeK<|-Ya(yy)EPdURDfDNLoPU-cN|9^=vUCMU&sX~7^dhPuv-0@k#8>{7mlXuoH;n* zi_f%{Al!Fgg+ug?O`GTrgkMYEwKqJp8C+3l& zz9cUQFFI)w$<;YmwQIGS2Xb$xNjO#GOi3H4nNzc4w1RFB6;(Sv3ZkaTqQ39G9w*UJ zrG?83-)CjPz(V&H6N1GnfaxKg+ zilVC53padD%+G0-qDnMLYEZHTYg~~(b#;(tK7>EPTOAljwRuf4-5P3&k|lAvRn@Y! z2;0wD%d*J0uOWQyYvxa-ab+3$y1}XX^(9({9^LZXZ8ey!g`J_$ip6yi*j|y%XF}p; zWF;JoZ+~f6<71Fb(9dswdiVZ=X;^=J|JJaa@A#h)jvj&}j%Wv*2QLX|rSL3vkyO{wIj(-0 zt~jDB+B+3O8ceMdHnpm)WLuEibX3))^*{$hWPknckv~=Aqzkr~oMoC~y$Z``ge|;a zx}u}h;?NX9b1kt}ec{Vd{guQf=FKQ4H}U&PZW2_LSDf0dq9}-_5!D7LApmhc&akthm+!_j8IgElKz11CwG+%8XeG&w3J@B~K_+KKb) ztA8tU-ut=(3&|G8Te`Fobxd9rSP$ks68Iz{8G4Z#^5AmZhnAoiT7>3VXcYTdvHrzt zG<&WK(wn*@I%+LdU(sz_ca(i2eQE8DR6lN(;_Cy~VW?f+Y%xQYX&464fx=W8E=hKs z@*#_GtiQYIJj1pDO1MxRbDvi-TTJ*Gy?=j=+iY6yw}L8t%Z+`lwiMXtx zyO&~`_Ii&YB&_&;9<*{0R^690F{Qc)Tni2~-Ho2xofkrOiQ*W~6?xn1hdj5;R(}>Z zMLRDQ-AIlsV^x>TftMTx5ZCsPIgPPoCHSGsQGE(~dfGu&_Ogfo1qO%69;yh7s5Zj= zMBv8ryy^f5Ge%wl8O*GoQy$qDL3kW}<*e4eK+y8yi`E{{k_!4u0pb+9OIuh~Kb?1~ z2PQbHwNunDRsh}Si0(*(@QJ8}yMOsT!Ppmzq7+akfqjIPN_eCih^?D3KoA{g?aL~W zYNh&gm!>&lsn2C23G)~8B9SI9>5|cxu6u2*wK|2at+mwNO-)6q+*+&Ka@o(8?pszI zWl0=TL3tHF<`ql~!bET9QJ>yh2j!yP-BORqMLm1ItG!#uH7#cQS+`JsgMST>KWlHC zUnw1Ze9oVF_m$P&EE)loHmY}XxbhqiNxVwE-{TW+t43sfIJ8q6dY%_-gE{ys&LBmR z9c|w?{?FtL+Fh){(9e(5>`b#bn}S_I-o$IN3Jzrackf!d`}%KD`~Zi@@RBBclrE&e zYFM@rmEa#O>#OP@$Cn|_ajnL8&j=Us@(`r+^6X&YtXN7sULb_B! z1E{>mYOImtE{&ih)H+bD=$;kf_CQ!x@Q)bj`LQ3oRA9Jw5hdPsHGfOyx2|{GD|%tm z)zvHP`Nf*^58RO*ggS+l^eCDf3`hI#E=ChP`bdr|S2=fIK~&)t+2X68S&@~me!hZ@ zXA;^t8l58>?Zf+c#B++K^Sr25zfww#(sFTcqy*c{o@IBed==C=40y0d+Fd zvZhosVX~SzIjB$v)j>#-CG%>~>lXB&&c*xS;ecI{_qub$wtpg8;hwfrXB$wVvxm$$ z4zU+qqt|1)BzPAe%n;tk7F;5@oC2Vnz&#>dC*~K0rD%d9t!M0o=^hqzCcFeiCk{l& zJ(bXz~fZd3iQOimQBXVK~!71tvmugl+ zh2=*$I%LGaxqq%q?xxwoR1}RDX+Tcd!n8$=H}%0YlW+5CAZk<{$lR%=2XG8%yzzCt?FHPwu{={GQ3xFcefF2)3bNJvbpSaVYAn5EUJviSG-K) zHs-We$6;{iEglh5>^|IC3lWnpnU6B6Ob;~Ikr#cK#DAf`^HiaPe(V=_-Eitn@C*|f z@DaV}CNNbh^&(%R?{i-ORE1$NH5A-VDw1Pecm_2QBJ`LL!ZH(@UEf0FP>|)Nc}~WP z*jB!w8l6h3tD5X8wmh^UTd+FQPz#mUtthoi7*V&u$Q-EH4!GpcW8i0# zTQnDis`tN{u7YmayekgHzBkf!f`j`>)|s%PEefXS3@rf)vF}nxRJH|ExA?QyH_fY4 zY@U;O`Rtqj?Tsa%)l*MBKukA>v)w_gHsaMdf`9N?dQ$u5_uh2&BE{kOlHHl!BKpdL z^xvYZ-`{61&|Msd-5Q=qqONn?P$hZeHozaC{593fh?1G^LGc1?1pSA7jH#LO=h!P< zWW$veSGH><_=Zhc-IOl6NK^z-aE#-m+I}tyTy-o?mEBs|FJ9+FS+aII$2Sped8^%i zj(>lqLf{9!r#OheFvt#cE!5j%xCbd`&P6m%;%WV{dwRn9)$GzPl;$!$G3-OI2jY!r&&>uQA&Ns z=W+2&Q(;REeTCktFlTtVI|TAuTa=pfayq3IF3;0CHFY_P#ge1q*E^p zJ9jn}9MiBQsTPGG%ew2R^wmLDa#>lo(`R3H2xmDTq3`~iz3<;`968o~748Jc&fM7E zW;cI&F$3`D*~LjV!DNEXMGi1SOSH{15~&rX@ftY`$PRFySlo%s=Dg?T3%mj0kRD9Or&SMzc(wDvsh9!7sLnyodLcN(v^~KQPg6} zh}STDq`B4*KS_!AHyQ3`Jq!ZVVO_U_NcV~q46it_TU%b;32;c5LvAnvBY0yGf zQ$248B3fHsRZ6_BryAy&D1R$oh~?F3jAngOm34F(|268kSh)e~X=j8JtkNJV(tj`WRR}0Qe*ITYy$_d{u#Tld40Edcu|TZlpz zhNk=_R-!Qg;6#kdfB`2aDSdZ`NHFY%Ra%Q0D~+=8auQ#6GsInYgzbmg^ni|Bs#8!~ z^kMA*#Ur97;%-T;Uw`p4rrNjJWCDCApu)=>$Tz+ud2*9XlEtGkryt9q(ryHRnVc%D zHlh+fMSI|CqZK}dEI963h;@7l6MlCPK1J!>J3%MPhyvYXg2Y<3~ zVQnZ4aylq6a@ zjL~oi+^Dar=>yfo8V&{+E+NpLg})DQu)vlo_FE^)(oj`$v~g*AKu4bR(FAE1tlqqc zv{*|7*grt=d*}!b^z?lZf|0GT-e+C|`AU{u(M-x5et%FxF8)qLe`<)+vEYw}?h+XE zoWuFk;}2#6heL;(w;?;;w=FDxzpz7n=$RV-3O~vjxNi=*fmsGC!)SG(Q>~*zw+*nY z_$#@5+XXlot3x2a&z2LeZfjII>U3;mHru}EtT{yL8C5smcU#>Bq^Y{+;aX4j3%+fb zFH;7Cs(&(NkdUBGG#z`+0Iaaur?82bhkSkA;QJ_7S651ne0aNb)zC-S@q1rZwtaSn z=|M-f48T?^0*2mRl9mWeuBn1t(QU|&{qGedm}cR-msbCEhi? z`*ER+Ga4y?=6-eild+~7rh)O$!m-=D)34?``|Xm&4)&-K?7d<(Y&&8j%RHR??B(c52ZluI3)$L1g|z7dB@t>%*Z`jUVI0S-*v7;*u71uv5~LZ)tezA@ao32Dj!61doMJX}*j z)kBVh(KBhoXwa*2Z`LTAL)}NIT7UcL(>B~LQ`Qp5dyIfc8mKh7Y9+djCi&6r36*xT zG`@?9zIGw^oA@@H$M7MjNn$1RyoaolDV>-Y#NnOIFp-OOmG(n2nTXlkK5>OA=v$tE z{)pI_nAsW>KY)c`|KJ}JESYRM_~-afWDIoRVIL2BWB;PaWY&Sf z+S2flE-9?FjL?YdxPKl#Q-9A_^7C5>?Y&6TG58@C1*FvVpK%|adte+mlYU6X3DZo2 zU}V=~(-*9j?em}-3UtHke|`GNM0o0a9PupO^y;9{gMjxYnnUNuKL);pgbhnY$a}8! zEHp$?k%NZ1=|X=Xskx*Mj1;1Q=xZ`z$ji`S>dVE~3iXwF8vE1x zzy0;YN7wQG^MAv8#|z%7pOiTLlFYLdt_qYd(L5=@jmJqon?#Q?ifuSvh|RiVt=SI2 zu76a5xTlI8DL2vR^I}dHLqdGmBFMt1_vxDk@mioQ+-#>=z>_sP zq}fA%n;jGjbdLt)_2;*J)LCoBpzI9_7*j>Rs=VR5tp}KnvEjPa z5?j$r1+&_-q4o|(;s7{Q3B@4O`1nEo33|Tj)LL5>1s8g=spA9(zNRu=Ea|vT0^;d9 zKu!(&Phj)&+Gl7wI4d2;)>>S*L@2%zJ<^qCPq7F$WVi5CxX%z4#B-=H{u zpo+OnO9z?+Kc_QX#>!*11V$KW^IUy+MFn%E{BQc}5o1&tZ>MBibJ5u?*)H{KtZnC_ z3tVg>ZJ$YF>zJH8Viqr(qwW1bgDu@nXL8j1#Jj&89ahk;GV)Doc$!PG% zg)e`6U(N_eBflkFdvJc*m6@X7Cu#9t7htKt^dw(m@vukUYe79lI)HhSas_|~GIPcH zh2baFJHq@zdALug0!^dO@R@}|Ep!3~FJp}$y9I)D-8Cx*XI0+YOVl6kACK0BqJC|a zF=E1<=TsUzn&^Q^%F+ovmC|uCq847XczHTVrP_q`^XqeFWu2j+H`5(k)*l{4R@{nRppJ}ZI8JKGBl^&-;Dzc zdx%}iJ_CRBczOPqDt}CPz@(~|CPTD%nA5eUHeiLw!RcDNF=^xRM|wycz1=v0&v<{_ zQ3m8_7FO8a$pXlU=2Vyq?m+P#M&UBivw9`)v$(dcoT3x#T#hRuv2zJAOd7P-@W=JQ z(@3ZvmF^!{h&J9O&qAaUY^zk|s>||%FZE~38)z#NChT=|tt12&y<_xSsn#)Un;2{1 z&^or;cmPtJ@&~1Aha2?NMXK(g0ULj(&{HYkG(Rvk*XTV&?DpAdzNXuO+WRW-lc_{& z0yQsi19fOYDCF0UKut#mLb_D_?F+Z@P|(nZKn(@1i8ZhHKFRjkVS;SOXSKqE-t5#H zd2$s^*8@z<0d-=pOm6|n|5Qx9lE>?em1eSwa zCOY}G9tLU3Mhz%X?a)JYq4}z>TCC^tltPor)bL!U7tJ7# z)`1B36rC^tgCdJp5#Yu{zjDI#`KA~p^j6ga-89a`Ok0}bQ@tB__eTM~H@c5UpI29b ztS~;Wu3&>egAke27ay#r5NLma!=bV;QO1FMyP>(Nk3FyV zNsH~XGgV9++ms<`eW5tG>&BiF;o#buXA!LyITFn=OvC9FAM}ZK=m{EoOkMX)x0ZF* zJWX|N^?BEf{wzo#DpJ~b&Vk;Sw)?3P?qS5ixQb%1{naU7y*{s~BujsCUbI$lZE%wS zm4>5eGJ!L>n~AJ~_hTo*%IOq3(xS+zsN(C23#G+Ld(gTRb<3R$zQq8KKVuXyQT3X+ z6*x6NZe-kLjnE_6WhlYr!&@T++xFU?_1f+oFYO{I*#!9(kl;nl`wBAriJK^8l4YNB zy0t&Uco|YQuY$c&M7w_+Y?Cu$l%Fb@uu6GAl~bB803e7yyPH9iPBy$0?T+Du7Ij%< zobH$50-mGrSVQ)YS*?sni5}2y`ZsM2NS~% zOlLSm3!P~LxkXT55h9gL?V)PuCURY@4b^*vYLro8%jTpVGOTHM8gf0DemNf;h8A@s zU>_bV)^ig8LGLb&H{U}DS^;g)#3QQ%-$xJxV{rg4odvLU;j0zVmL9%OP;HmFu~Vo8 ze(k5%llXR_ynTPG%z<^}%_j-H&>f_!cKw{ug3xyj_b3kPCr%8td)*sbsLr(Ru#j{? zwNDokYp5dE@*Gn0VKql1y1|ecU*;M%re4mphHMkkMbtl4agbHDhJ#$SX(a%YxYi?r${6c1;g5=M<9VEpinRzcXp(=pj`C5GynXc{nZ|#)@>Bevyw9dl3Uau2(tP`G zM)~HC*;7Z^B!j`R7e~uQ#(yk?#(qlWSZ{q7b9S2$4_U4nY6A<; zo)dPBs$72xj3mU117uoy|H<~Y&&~{q86t)>IvkT5#a0E9GCDPqvT9T5`t<-Cj!7LI z<%IY2m^=aTxa0dySO=msu!l$(o|G|jCd{W?g>8$ilXZBr55#={T1sBW^L2MoRp zHnlFOq47f=LDfJ!ndHh+)T2~Uw%CtquOG(~MMQrHEFaMZm{&ua(0|)>!;dFSbZgjP z`qmFnKC^X#tPFyUQ+%wX$Mh%g_a(qW2BUuLs7u3ZUJf>}rq!!WaPcl~1oM@8S;N}b z_w}KGi4Rdn1!QgWW)%%&$7idxRGTzV48KtW<>$0hS9hyv`@OwOXR7HU@yw1Au+jqt z`@?_gtvV}A0_{0^m}i#j@fcB^AxyGO*f)8~*LgJ!_zQ>Fi{>%Z)F%1rz`TzqGj?F+ z?6zYZQ%B$qD2Jc8Mz6}TJ2U0SSB~E-JG2X@QRG65P%=*aX#ionkGci8J3(FeMR%(% zPoW_GL@r(tDAZA^B-7{)3fhH(O1I(z!=`_}iIo_DWRqwz*+6A&`@WWD>$tgr3AtTP zcpWcOpf6CLJjpnGH{?*1y9~;Hvh=DlgzvWJr*zv5%=&FIas$`H{xjjYX(iyFvW3tW z8sFyGG*;m6mehRbJOE-55uhnPWb@BChusBfGI&J>wqC#$_ers~zpLb7i&ATLtg(NV zmad>VIkXW~hFo3g9Id_4G};6kX9B*1s9OJv47NOEPI#d%6sXdzbdO8FT+ z0*4XDy{)EC63Czw4OrdA&kP1;?Jj>@DB3Ap1}-x;Kc27UQ=&qohLXkW%Xul21ol?k zWIn}Y0hGkHOBUc($pT{QrW&@KQzyxSHfP2=83#kNRnv9#TF)7AebexdD@*F9gRy4+wRp=s1}7K#P)AV?Pv-6}|2udtTb?)e?a*+3_IwA^mu3l^PH>3mMJ zhjj{zk9!=$jmjdP)M_|RG==;gj4(TTq-S!xKGR88jYIK|7+0SwVp36`D*2QfPTsuNpYQ%lR$+W#_y-FNK7vAeExN1CQSXcUVX9#0j{1Iuq(QM~|(}wDmLi zUzHFwXAT|H-Zi1uih(Pcm+}@I^N-zjfJ+AfF#W-bf-89cXxL!V z;~%Rm2kbZTNbsWa#e6w}#$EcTI9*Ofc?j@EGFO*TNCIWq?FD?t`P)+AMXewF#MgN3 z39PB=Kx7$617yT5Axh+QXPV)ORHRI%R|Iz(CZGTjDJbD@GGKqaWvam9KYG$7UwEB5 z`{4y-vS8};Z+ZP#!2zXTs`YE^Quc)%{gT-i?SqQ1$rhf_ZBB;Bz918ap36SIJEtNj zxoc^ajhC2)z@%(=$=3D!`#iqgn%{Zn-A6OJ)(X2VJ6-+9no4t-FX0{xRwsv*qMj`^ z(+{xi>5roExKn?~*5Cbu=}G*0wK*>oro}aih+R_@4?D)uj#dQ$p#5N?ge3zCO0Z)^ zpiVz=rTjJiIu8H7L}8&t?AHR^hwmblm#(%-Vv_YXYT-q%-dtU0X9mGy@~h%C?sSzw zIv+eniLJgVKbf`KX%#M%fB)C!!deq(S6| zI2yBAwU{_ei+{EtZZG$8tB7%40+r+2SNtfs98r%xn_h}bpi6NHl=Js)e+auU;Sc%v zAsea4uxx)-C3f|1)(w~NT0V`_tgOQiL641G3B~o*pTx*(+O%yrMN8y14Ir*b=Thro zAxI50M+ex~Q)<9hN}M$8!=g@ydB}j=7Aagg);EJ0B-xlVN?k_Q9LZ8vwF^Y*r(_I! zA1)hKfu~4e?cVH1B`!_?AKKyQPJ?gSpWF|PY14nl()#lY`vhPXZoz{FWth`=ErGnk z`eP8Q@D?Jfh#61wcBVHx0dlI_xYy$(r#l9QE`pN=$Etn9MWbW2HN25^OxL2Qhc_1d zZeM7%&#BuRzZL5$8%G`EaJO$4sW{v#X>IYQw@;8dqF$B)Mr_I>nU%fVt!~FmvV9-L zMpS>Xci%LM;oTp)n^^mrk0V!4`LoDaL&VwbqP5AWoPN=yOyCjI<47rIUAjMkHKsA& z(Pq8bgsW$ajSK6T!wo=|?lhRCKvwM{kZq9E4x*#d15T$?ER5+!r{2xLh5h^AEA#p8 z@P@lL7fQ}jSj@L(wK|cwc!8W2&*stZM_GSLBk#1M3$lM!!B2P1L;TG#0sU-3e{!Eq z#!!O|9;?V&Q&;W|z@bHIzWlK(5zf_zd7=?@GW&N$u*{s+<+@C2oQ;?_3yaIkqS8{L zp53v1&r|r(x~Vs>Vp2Wvxo>~h>IzA8LfphqUaKVIID#9QE=IBo8)Q}7HJfKQlX!m$ z`Sq0-1|`8)^CU9wN?y!l7sj6~t zN(ff%BZF3>g~U@y9R!Hjm|)vIsvCdEwhbp-J%K5n6tQA-6SI@$FzstC?tDIKTE~5p zZv8HSA}6yff$N1jso8^<3nEnD|Fd0APrTQ#AFh?(Qv>lmb#MwIfWLBIM~Xift2V*G zfK|KO#sNJu58htC`XQc7GUcDYee>#q*`sRL$aXR7u18E44J_D&B1;hj=(>MqIA>xF z?NDeJ9DV|07>8qWJ#0Yrm#7_MibfmnVeziGysbaN@gPb}L(1{#Rt z_Zohv@XD97cz%8Tzhrpgkr^14hI_xU8}vpsY)h-RwGDc+sW-p-2kb@}Q${Sh6Fs;0 z0IS{0wB-AKEV6hX!3lf)Mvi~_%EhXK2CKJU((pBj3(!gB?KchIyhS%7vD1~S9>~0=SS=yEZV%&eka4P|Jb*wCB zS*kq73tn|pG~v?cE*6ix=ex7Q9G1`6{p9`g=1jdJOM4UFC7gmybkh`P2XCV1U9=1c zWE_u@G1RxwZ!<2HBJs=8+w|Yd8C){5$FN-RsvV;uX8ufe|5p&A0t5AZJo*gpg;j`u zjYg%e6_Gn;*Jbosi{*bDdNXe4*|a-R7jlr6_6ZDKksQC^T1Dmm-%EzA0%y%Svo1Pg zS68E4-oF+NQS}j@XmFhf;vMhT25ZEysjehUmT4Kjjf|ROXz0FWqXDg>Sg)V5ht)0A zR+eaH=@RfgrP3)05xBsDbAjjt-I-B)rpW=R&={hLc)c#(eWi<_<=)P2INa8cxID z%I_2!2@TH=z4N5|dT=fRNi*|o*C=%>s5@4QkWqbn00ouN$iPPda);ou5N>dzN=ae`1gbQfG)IQ_`;^<6FYdWv~ZS- zkwu2<fo#jLpaJzcx~qoiSTLjmD@12yEjr*@aQ?}GA5`J=d6ssN(Y=L-0k8Q?x-w;SD^%0YSt)l>yr?cHyX zw53`B4Fm^C%Sigwe-!n3<7CX35QNZKf8#~rDMh*R>7T!SdL^>}YG7NwIdtx}QFST3 zwhV0hy}yp@UaV55oEaeG*!IxOB*ZD#mg|@X3AOVC3#EyiGrVslw4WHa6{n?znN*#CxCW_7^aX42S#Bm(OY?2l zuH8&(zGmB6$UqEVm>##gnKU)sG>ke1lj(n(Iti^)n}I&~6+o06rL35Loz#CQ^4F6` zmbeyBSFG-j_wZCni0|XcOj*{E+W9|@-d3H_2|z;$YhbtsNH0#Bv+C+%zjy#q0GBGG zp=K4i&@%>~zLGg}%+Mn`IyjJOWj6N#ey!LC)+)4>4L~ii0Tiumm(-oSWXE!T3ATUj z@)IXM{m6dyiRGqRsW_0=C3j^|BYo9ve=;~UbzqNFKn>f5OY zux(a)A^J@>AYT*N%oQ{;b-&Vj*T#U{^*)K-9p^iy=i0>6H@svLMR_aAf) z8@92nq!{lRpDvxri2BPw*{~CqUTp)BzK7bYBi1eEXC4GgFH0-NDIiWq>{XDe*_SH0 zQvOVpM(7?}nkCR_KVc=RaSE?Umig$P@WA0@j#6lV;oaRL2+UIIp>Qh!*tCBS(Cn_V zS_c&&*8C05&BL4yt$^lbGmTSdcNg^%(P9x#XT|Z(w-){M6Ocxm18I-oin0an;87Bu?Om$2`Oveje%^m<2iL7R5Y-pB(y)#AeklO~^Bwd3Iy7Ra-{n8+)zr65 zah%0DN6cW8m9h@lB>^I}TT#_B9nV;M5IwXGhOgnkDa-Xfxx1e*s(SIdM@XkV@E10} ziT!Sk-JJ#tLAD9dz|KR;PpptLAOCFUR8J_Rh zXDaN|J>4Wb%;;0d^8y-%;0$J4RSxmO2`o$3W$q|mgcO@g8CYC!tt13Xl|Jb@4ZyYY z)HL)#JLM4Th^HarJV<{G9SW^scA6RDb0HGXUD9aj1|TqN8P5xLTl>%7u3m}C7`cA}MN1Em5uB%KvGKzLKPL!_|8PVcjg;Z!VWbRpNS}|4=T};6$uj>{|AG^u=-4MCvQ8xB!olV)xGm{ zl=a&3FI(~@VN-u|P2cK$;L%{N4b?-&nOf_6tvB+W^_oWMdmn>#FXL5|#%_OKV}#^5kaQCnh@1x~ z>)D5CI>A0xFNLaZw@O^0$QA+ zD2VkVwJ8e17Ap#3&ugQy<(INWKj5Wo4yUmhwB| zUw{3zt|5O^AoZ7(nmLMBmBfZw>s>3c*;~a{tyS{G0ODI3T&APKD1{l&QPKD1qa=Cz z>O(S(bLFS_L3y7|qZHnF@1*(m-;DCjAG4>9vPlMeiM^Q4B&+BV`zaNl=Tya4h^QE0 zRYp~THf%l1^;9>kIV!rQnS?NC>{D9)*8B0PoTGm~#~g94yEc_wZv3vfH68rxI_KyX zdObQE_-0Jk?P8SYmX7N$KG8cmna{hM_!bZ%)-}sTsc%A0+}UiBKvzVzhDihtr-E{C z&e6UEIi8><>DBCcWw#6phDj`2wL473u~#ePYE?0B9+W?nv}y>4#)#qQ?1`8LU!1Hl;`HOQ%l(m=leXsCy^_p&kD{AW488!Z1K?1rNzDw>> zdTO(8r}T+S@%?QwS-`Cm^z(gB|0_-Md)|K)jII!pDKl5C0Asyg{f}H6=#B}uCC|Y5 zZi+G)JLO%LjlWTT+Q~V(ZZN-jq>DApz7)ND>kP%JVWlGUjbR<=;%@0mIf?!?IA1HL zkmX&tr50^%yo`nVe!{ZD#8ap}lX0qu;SgYJKb8DCFS6Evjlo8P z!tNC~eASDrrBpibtkCp_ixVjcGu7_Cq*@Pr+w%2cQKS|{>VD8wQJ|Z>FFM{nJAyT& zTk6mkA*CcH z=C!5y&rPBeq?%`94eVCh+h?d_!zHf!EM|BzeQHB2X&SyCSm->}oL@ynh@*cxZr~3p zQdW@~^+46+v?CqBA+<1OcqX!(p2(L&wll+C@C$JJ9pwT_DXx}xG{{y%2s`?jICHjP}u&@;{K&?T5LV(RtXoJagUgC=oJs$8yfZ~RI@s|$a2b>9VhMcsCl9vfo%r!gzFd;QudRxg29AX_I+1(QUlYn?#z&qH2NYyznrQ|bguXhUi6Hyb{4S-5 zoik0;T;e>=INB`dGW!zG9~rj@(2*C^+>DDP$(2!*#}~@YQq-e9#Fc+i)kAZbiujrv{~IW_;BV8bv%cfDD9y{TG=d0p z2t(%aD9Ph1#p%JQnYMp(MkVl3l=urZY@+T;0FyIT8z8ue=x(@WhZwjxQBJqV?L3>Z z&t@sJ16ArGY9=ye8h!4=@^QorMrA1$keP5;)o47Xrd!EoU=gB8HT~gYxT6 z@||f$RXU*`WG4V9c_-336(LFaqRIv*M6}g(GU%^V09t?Ni5}m{RCu$m;QU$}N1>Cs z;J$$cgTmJPm{IpsN?I3LrsUIz>UcKq)y!ewlW2YyUsay}-F9clFdfrD^-c<3H+1_r z3d8~MedAs7fbV|>aZEp`li4E!p#ZU;9=t4DYNO9d?0K%*XhL<`*ZN5hj~8z}Jx`8A(UP#$}l%5M{Ux=XwP9%rw>;p>pfZ>(FPYib~gLBe|_ z%v76KeoM$!)lHKi#$G$fR!X+;wY8+a(kKSO-!DrVx6^-kSS{7o%PfgydOGq4K(kg$ z!q!5@Tx&!(bv!_iN=sL&5kymc&-DBOMN&$vzbWw~k4uMP8*T{=J3avN4WgFSVEN+^ zVb8NvZ&2gokHZQ4X!9(rbehT7YsYpBJam|Ka~h)1^$gb=q}!LE zws#E<=bb^wG&JlE;2?Wtyo%Xc^3IUJvGw6fVZVSSk%2HagP|@&NK-0k(^O5h&9I)A zu`EAuT?RUSq|kOsNYveW5vu{`@=BLe{_$k;Wm0@tw6M|N{Rn++>}S{#6JGsA3+c=@ z@P~hyhP0vmAb3Ci@a6=IRp$S0gGRigqXSA|c`HF>$v2*MV9D|p?wyXeJgfW_Z9(-~ zbeL>ZAIyo~+sPc?<<#xr_3-)fCST0y3?#ND@{G`@|EO+F4H-_Tm$uw#?AgBE`efNu zJ{0T~1;R0PD{o@nSGFz*e~6XYl3`NytaX2bH8^%M-VQor=t@Lu6<0Fe?^JBxZgI8O z?$^;1T6HOw+7PakpTPh@L)U%uC05p38fFxyiv&8HD&~sK_o3+9x=kU!SD1^W*<69iOXNUrA5k=tH340YAgSKW2YR zWptlqV1_cGE{~#fC5OJ1`|N?P3e^a)O{&U6HDsA4ztEMV>ok5$qbWeyq+|AHGu}zZ z-tiEn>}7Lq1nIkO;w$CHN^A9&O}X*5IL(%K_we^|T5Sm%WldeY@vrfS+9=)}){T+c zT0|thK*t|1OoCOF`fj@;ZO};0t0#YjNT9l&sT~D~|8!34_T9!AYu0}NRl1L6RQGe< z%}>H@DJTgt%2iBKL`xd z8YEaqurttj5+FlG6c`lrGSx4RePR9HxqUhHBR!`BzlxlXc{K! zZh&e<=elm|*mO>fVB80Vj+C2d^m#F-iyfGEo@JYsK=phLW|2(%lXAh{btE-wthFH7Uoo!-m z!_vIKC+Eq(_xg}IoYTi}h~}wo?~{rR+YhV0?pQMY94{p1j*ow%?LkseiWZu_?bZB1 zL-mM>*I>CX$>^0ihm=F8YX~uH>Yvmi7sEA>p@vY9eoB#+rnyz5=e||j1i??zaWaZ{ zp(87bEK1HHh@roX<09`LLv4P>(h3VX{x&C;KKoUS~&#!u=sz7qj51s@qwEx z`#g>2pDT2CgdLA*G^HY5=5+d(pZID0=`u+#nVZKg@AiMcW+_1a*B?J*BNZ8zt*V+@ z{hJaM9ep1+BuYr9Gz zJ1~$L)VZ#7T@6g!MdA@)v#q3sGCqjlw;;7Iq&+%;B`%C>(iMKVBlwoU{>7I$fx(D)W2PH*R zD z4`NO4MJrlf~J^M^xlg~nDsq6fj8{X?{h&o=sT0CURY_g=$2>oW9#W_n^@+8@9 zww!;zl2UO~!>-|mgR@b5rez29O8F&Zts&oWEb}}Vp}p368ELAa=>_KCCKu9_YR6J_ z9~nAJE0%<&Y9TQ#4FcX%3avDeCvtIAk4Yd*p4QL z{^%))1k&PhR)Cx^#Dd2Hub`OXg))x>D{z05Dx+vJDew(CnJ?UD&lex#U*tj3nr1kS zM)Qnuq>H(BGT<#P>LG(Ia8__(S|53!B?ZB9Za+Wm1yNxm1lpq-IX*vq9v6;gz_;(-p}?tg6P zvOtAF7)^**bT;ca$I6`AzVgK5Ahg0!CUvjMZAU+SQ0!X z!SacZ0Yie^U;`~UJwevJh)4$3hb-4kPND3omgOQeZ0-~iV*8SZXLCG-l%jtJ^tWL7 z+b_Se7-VmjM-gGY=&C;D+yzT|%V+#f|2ND?>O}Y$3(O>AbBFw%?J<5%NB4iodAvF@ zLnzPE3oKil;rn$kkEZ1b&SK=tvnP2(CIkEQf4}HV;XFWY7~Cl^rhC;Nzca@CC)SaD z5~ZKQBxz%dw-HXI1hBW25?!?%O;yEG?20~+4d3dzY;^z<{rey2^%&&_7$2XP^uN;Z z0k#tChO}fj?9le+ar_y|i4lM8FiJV#Va0Wz?Sw9Aj#rPB2bjsAM%hI#{IZ(Ih!zSd zowv7P0`^smaOao{3+5M`CA@X@a-gO`au-+LdoFi|MAbHA+qz6y(XlfG*?-o_hp0N$ z4_g7SR6nTLOk(t?T;Io!EKTq_NWyE%9&Fg^cOVMte!3tj{wALs$3K7SXd|87#D#yQ zry5iA1dDR-ht0CYJ5{rh`3tM|Uw0MP)k{bgqG4Myy|cay8CoM7{`V$bL*9FjXFJ*3 zp7#2E8ZTB6zfp4NQ;r+Dg!flELuVm0pkSL1Wnt|Sxs_ca_o2;p!#O zBjup#g(PVDWZAI%t2uw+M4!MrB9Oj(>L8WQo_cPM^|a@+tJ|#7I;kzRZ1UaKdtDaT zlo%&5%}ulnlBZ)<_~q1A3*H7t1^8qa8KXDhalF0{lgClVjy&F;d5}vOqqB0I8Ph$& zO?V$XL~xN~p%wNWVa2edX8;`iT+T%sE1=Gej&^;8qUq@Uy{v!bd&r8%^I4Y+=WZHn$xYDu~HXSok`_F5wqaAFPaYU01Y>IK##8uQ{`_$ zc*+rO0NjaEVG%%HHULP{_eKyBr27nM+w{kSS~p*463%fG*XY{kn}{MQoe13Tcm-`D z;Ldur?L0ws!~%cFL9O3`Et}sZ>3XNEwhrqB%VKI$82xRvmF_5#sMw{H4nj0ZG_aNA z3$W79-^U;01vLHGvCH;44{|wv?$*#1p86CP!RC9!=xN`r=GhoMIMitLoNM$zlM)aS z;L^Jf!K?ikV~Pp3!Jv$}0T8wH3jKle2vA@tOKqPsU*Ufs&W3Os&*xM#p!Eie;0rI~ z8+JAG5>n+UGu~d(QP(fC8vNbSF6`w8j&j`dJ_y&>_u+hX_Tspu!Y*c+l*P_b&(Ujo zP~c|x(*0AuE%DFSh_(AvoN6YK%UUeNO*HgOr(Dy8Q;3>J)ud6AJM<;Tne_5$6 zjz4v~Gf~LA-1Khvm+WpxrM|NW|K`op|LlcaTvi8KxL`>=F#||CLbVT5pMevz^ z0B)IW(?)ukWhoiFJ>;Mk4{aa==wi8sbZeIP0eN%jeE<+t>6)6=R~+dGNt1n&!zaF? z1fhSg2=-FkpZB)Y9iDCy40uC=K65=K;gl-WCj=C#Kwxf^>8eV)E@^l(&HE`lU)E&% zWdncsK({Z!f{IMa6~Pl{uG{=+!B7TX@G;bZ_kk&bIYIy7+h`6K1+dvZ3!r~zNA~}; zEGn4FHFL>L)?Y5_s|G2G87Q0z^rj!M+Yo;x1S}sN`TSgR{~*;SgF9TfF3h;)>tdw^ zm_N0JVhhA82>>&Fl}*)Eyp!Bio z5k@nt?raUgIePd$(5Zw)rxW4ZUR=e=-g`81`P?o@s6*?`d!@>&g^Bo&UIa@xefQQft^Q=1?mx!2PUCqD zlf!|7%{pd}Ic4xEC5nT&x;vs|tIcLuTyDqG@OB;yOLb+<-uKVWR&-?bf)(+hkD%Cs zELDF{3rE`w!*^h*@jG&(z6O7)=8B^GJRJAW78d09$0Aod)Yn5Y)Q;z~^3Ii`S9z)W zoz!3liR5UuBbA{@Ow(~y`-SAK)NIR7a1CL1+uVrqhEj0Kz3;&v1P}59>|z|gpG4mP3b)< z=j#lGhWm%vfYrZ7>AfE%R*JvL8@)V$+|fS%$fhj#88*xQb^FB=8Q-o}4-uMk0k=_-bdb4A5t%4$XN={&kgAf=w?X+uHf6F^MdQMCXv z19N=oL0is(1e>`)tU)M5Nazq)V>vH1@7tUCiAoSBGGCq#YZL+a2(CIa;0uJIi^!y9 z8ukd6(0V-`2wz>3ZqL!Gh!E924>er2~I3HyFb(`35=pot;gD z_uE5&KtHh6yJbVEG^D9RwkV9^;aS+S!~6U9j+1Nw=TJc@)G{RVMf zNJ(icnp=q3u@!y!wg@7^*#$yMZOf+}&K>e5ZWUup33{o;kZwo>+ug22F-w zB8gY5;S@bhxO{(pFM>tqpxAPc8)I$JiRvCv_mGK2*;KH3=E=-wnwsTrQ@$BRRQrXo6TQE1so^%HUz1t5+v^x+@ZWWQmL=TDBUJsX}m6 zafDRQ=+~~*kOJ18WsCy;sDKC0f4W(P$-8&|(nNL2ie$L1JNScLvpQ3h9mzhqnda-^ zo8~R5G?9NerbfnQGe>E9%UTkD0?K}ZaMdTcPQUr4k;o&aVG_|BuV_cf41eY!lt#d{ z;k%lPoYLqfAv(6_8Ka_UM)h60f;Zqp!VPFdW{G$$@Uc6lm~w>`zLcV9d0yIF0yFJ ziYbi(qY>3}I$Uj|!U5J>CB}FSI7;OvDx469n65cqR5>-9HHq_yYH3=@0d!lFGsjo23a6<@VohC9= zH(bp{%%YLFKrNQ!0@Qo=uEKjKOePZ{{@j4FM7I=A^~aD|1Il8fG@z_+z5kQvHlVKV zNV=w|FErdr44p^{HhdU)2Y7+!J*G|cg=~Kto~CG!5&r^NLlZ5JI67p$jjRE@a83Ul z5-aI?Mr{oNzScw^DxPae3Xma3UPZNi!?M7oa58y$cH+gzTVLF*@^=Ju zXQ8$2>Q~-{+A6nWlxn-*HTUdt_LxzcPhIJEnHDfJ(Nty2Iz)-VmVV=M59(E0m1KWw zbXjg0n^znDVG%^jKM2?z^D}e=SPOq(t~0o6gP;j#?}VS<%){HY@ZEPp0$4-e{M&W&<)4n;4Gll>i1S$?OqH)pmc6UMNMWdJNy82M4`2KY#e^j~_qTmh*o;ey|+x zJL%_2Fh?l=;n2`UM^81?C6D-qCy+Rn;`x6~dbqw0 zrHGEd1RKA+;~u_=Ao0rHZ|T37`TVUQ3env%PS`&ebf^vgcN3-PtBNd@i&j+1X`1d} zZ=TmC_oDe4;U?qF`df~pPX8-f3gSc*8&wH9qM{S46dO=Hn@E!VvYXNV5MvV`ddpkJ zkM{t%f@SwnnpJ1dVhGhiSgU_P$i1OXjLenY8Oq^NjxXp6P(~Rba8`4U&A7L9_W5#O z0LBLBR{Df57s{e<0H&5>Ow1UvYrbb*@lEVV_tf(An6sx>9E3mhRlDP``MtD%`MqU z;q4&g;N!CY!}3(OY=fwh;fmd-#(X8w-HLYa5#T0+bp*Mci9r-0EPDpTU)Inx%^(pF zR0dE~0dEbFcZS3?H5OUCI~jNuxFDw|Bi&4=VVd4<=Dnw%TwlZZ9NeljLasfb(!QOv zey}}ZYv$RzI`V#jx%PjL3R>~!PO|Fo?YDnyG54(fBg%}LUXaxigqW(X>1vZ(%4YDYI<{+Fiun3GRZ3J5GB8?m8rM`jof= z03?GdDUaFF>w8(s_vfVTNkoI{+cEzsBWC;LJWXKAJ=GwiM=2xk;W&6T5mj9?i7Jjn%!t^3g1>Hijw6jF z6`bOoB=~EtWts#NyGEkc6ZPB#e@S#5-)zLYV}gHo3I2bsF8WFtZJB6_>?qc@=fNwI z(d`oaB}w&7#~8d5u4Z+PC|iy`-aj(tXmkHiW#7@9v4`m~U3_MOzodGGFIg`XRhpQZ zDw)<;^>)z&f1((+tB9qbqG%|t?P8kJtCM?YC-@Utm1M<#9v~`x^wh+<57rfvXJ1?g z*Xiaa4cC9y@hvt`POopCuHh?e=<4_2O7^>Js>R>raRm&%l5Vy-Ylj;MKjP#eQS&2A zUbuM@exUOzYgDdPTzknOrHW3*v5?Rkio))(XlXVcW?#Ix19#H(~D<{I=>91iX)B8A1L!RKy ze#75HnITJIE-^%jE+;0>^^6x+V~hZ4;Ov#h?CABqEam$+!8xb-VuLs7H^>6{&4+$_ z^zVP{NVa1eoPF#V> z`mEP`u50LRl+fcnrNapTY(vJiPX0uQ0$M}-RKLa$y9+i;1 zyDVo8OIO&SvLF}ZB{Y#mHfVCFB-__KrHp^SOB6>|bq(tePCZm(pUSBi(9q1CaFm7@pXjQZ`*nbfv*#Cw4{EdM8LA{81ncD5|@%YWvOzQJe8;BlvD2 zTBhf|P&cjY=(g^8W2RQd5-mF>YKHCWV}|~Ye(gFYN~$L7x;nDoQ5g>v;cYr564`%K z6>0c|ku|Gxsd;LRy?>AMP4jL`#HGf8EyCJInjWO-&a}nWKVafE>$D_0wxznGwm44W zQqLddYI~U=-!yBsu2`a`meB`CQty+xQR5#&7fsuGpJvjYiDHj=B5n1Fy3>Crax;A*$_nu;Op+K$eYQTKY^zJg@H>0fXiM93 z4SV=5qyBlNxjs>4$+WEDw@c}trneBQ4?o>+ma`6R~coe-K^Z6%$b55{E?WDO_`C6-xU zSg?HBW*eoLQUNf=!J`lc$vg@Z`UrC01_lV5t(8t4mLDx4_l_7Ac{dRA?8@1 zmyt8egp`{jm8qJqSY?^_ib;Q%$J5$#LNv!I(@oP5ow4_AJzaO9g633JP2xy~I2wsn zRLxy+np0G?Ey+?4srLoC9W=#r6uVI_$15!Oi9b)MrpStY#7>HRRGH|m=9l=1Xr?Bb z@@qVy=NJ3PmgX6j155A!i1Mu0T9QJsk8?6jD~ojS&R;6_0h4zgvO0esHd^&h5q^2U zzDFzmCRa^E2V;}(Vs{U9bk8b(e#DiqqMyQMS5HskBUJH$>-ds~Wj+1#L5?7oyf)S0 zP_t4V1Rl()N}x6XE=4HPvRre>94}G1G}wvx^Ixfgrch`UFje2=W~8{T;l6-YdHvG& z_eXez+XTmW#g6B*dVYV&yPg~DoJ4ey7-P=Sk&__^PP|w}b99Z&s00=Ovp`J09>j?> z5rsEY;fC+tzJ0q&;{Ob%>+~&t{7nPW>$2^bjyxvF93#EpXJ!mC_`h$K@oF6{qW_{# z{wU1Co6TLcyp8`upt|}l#PT_`cQmt6akJ_W%OIs#p=^1oX**r_TNrkK;3YFMHp^(e z@9`-#W5JB#ZJ!e-NaDHhLo~gQ=P7(pY;;1zk3@PWYt`LYJV#U9U1vTnE7`-27PkXD zDl-i4;L#{quym3rVp2mh~N^eT+Sv9jt$X#-*(DH2a4nBswl#}^#vT8R+5N029Z_LRXB}q+0oh}xGd=M zqSZXtxej|lKL$^K-|pah7^KJpATgJ>zN1~fAV=Lr56~U@MY%ySKjbEaiqF|Zus3*S zptW}@1hAKxpR~B!O%9Z7`--WnmkHBy_D2fEY$mhE)YxQfDGS;YgA>JdwSEAaqv9b(D$%LY;7ag|JT zu3*n0tilvFY&b*c*~VEO?*XX?Z534XfYk#E8-?fgoC0=_;Kzv&ehC(Im#*kT*1;PL z208%193j(D$<2lJG+qLFT5sq_jpbDhskYsuS(+Y@0Tx4zlkCRdv%m#6cP~PBze{pe zo`_;No@0%F`Aiwn3SEWETT@L#;;NpfX=70Cu(t0bv_l-*@?|o*DUXr<W*yLW5?l)g!$Oc8QJxkXAl{=Vds;(O1S#ZY{B+V`J8ThI` zg5!P~FBagCN&tJEWBv1L)B^SP-v9L+M=a>Ton|oiJQwT&f$;I{`2+x4@%2Qo=4mWI zi#48qrc770h-aHQHdJ81-rT7etX5%=q~H;Z%jLq^UuTQ9o~l(d|7f;pzy0!S%Dtp? z`8od}FU8$Ooq~)UH&1;3sUbP2wL@GJuj8E?O_A0Yr;n! zhl!?KZh$no35AC+dBV;$*VA~JZWcTY7Jdn*n>7lmucPJO+%8#c{>GBR$x5|n)~ z#si!xTGZT;&2p`YB1@917cHpdnSgx$gN^3LpDDk>b;(6kKVb13Th*uo-gj5DLYW=aPBw)+4M5p+XZeYEh$sIM+ z2iudzf0;XP^hq7dD2lI`^!iddZ?D%7ZUWn>tGZ(naqww%H7ub~OTig_F=J;e(E=db zkX&E)N}k16O*-a;YC=3ov|U*hM+D)Fc=V1Kep!XfG0Sh*~DJrUeW$2*V zy$*f*mi1s~A;jP__{EpPJr)a~SGNJRHPf>-PZ@KpGq!D_K}Fq{Z3U}*azqn}LPY>3 zuXRbZ+(Mo~2*$cyhds62u2NJd%n;(r!EDxFV4_+poHEmSw8U7$uDUra2c#y#4^Z}d zA1*V<>uoL2RZnpj?$|qjdvy>wyAp0T>we~0R4$EY+kxnv#bJsyw2d&gZPm0jvA;qf z9I{TD{uH&AsQ5PLo_-JB#BP}wvCnRq)@GK3Pl6lMvEX^}k}1j`C6(SVx0lR=l0K6} z?El%Qmr|h@L9=VbA(o-^*`@pv9D?(FX&llIY96tOFPZ&a6fUuU-GzwN3)=3J%efk5 zqw1n$o4QgCg88~)Nzz$?_6u%3j{g$3zD)_4enPx%EFtTlgiLb{&6Ldk?yDC#LJR}z z@<*teqN-=Onj!Vq(clskErdXaCzMVomD45H7e$oD!`-$*z;S@vhDJj1B8uf>yauSj zHcGPO+p6DRviBu_wy_ZU9O^b^evjt$e+n^G$tS~>oP_}L*VaXv>l${StvfD3(SbWl zn&E>=bvK`hxTgI=h%ra594we$89*l%T|ag zj9#`wqjw9`Bx$zpI)l%vtdW_rqbQV-c$a#r!<1>je3y6%Gq2EhRfdJO0yZ({)Z*sf`J2*It@^T|8SXH~aS z4mX1CIaoyAKbHe6yAL_IN%+LJK6BYoLM-F;*C4&JRL zrkVgQ3S~iyh3<4yCB757B{{wmkpDVP?t*21^j`rupxIEBzcX@e((|}bX7M+9Vaz}3 zX!AY-ulzYT*%FUb%)r2I>(%?L5KpyitAve92sN!OAM+nxtO;VJ0;m&8LI^Z4xV#ki znhW#keXydZ_6pA@SSi@)hH9bJJp2OPu%^)plI>Y{j#+ezdTA}J!Wf#OfTw@=kiKYt z5iP0SyL-Z~=lPAb=lZarI}17vd{_`dh?bw}fHw$Ghyn{R4C!l_wt0-HR-#X)!8*K) zlPFBzq4z5%=BWw`?-Cq>J)InpVxp?r`T-l^{W_RO(=to`bvx?Wf;*r>I9-5rZm zDS(4QCoAZ*!+PswFB#OzaZQi$W=>BH!&BP^C0Cmp%3wQ=MPjVtHS93r35H*P!ekoZ zkFw5GgIYV23@H`Dte~lhv7`IGW;t#ds?2g7-*;a~Za^y{{***0YH#Qv5I#rC8B;k- z3DN&8R&lbMeEuA*?t+Wx`$8Witr1q5BsEM|TQx+=H@fERX(3tZ4eU(u@| zFwdIGL_9(3_zv$9O}I@~Rib)-#`A#9?*WO`z(izbB7;G4w6UFmcIKWBO5*XIYX4n3n)ef zdnpX2_v|D3l}z#O47l4QUStl4oe>USqc8Z!CYpYxr)?E2^S&AO7H;l;vieB@5-vGT zDLb~%uk!Ec-l2vibid6{kE#B{0_8Nb?EuVUV}p1`?XKxMrb3BM6zK;wV!MXLj67WS zaxVrql-aFf8ZRH%Er;*Kl$yBIX5C_8_Xv63&7GjIa99BEQMj#d&ho|>7tn7MP-giu z`$MOn-rl`|c@#t7hgRBuN;ox9DT?l!lBr%srF?}3s+ag9kR*q!#$jLRmF#~jT6@GEsyu_U|EobemQv~i<#BEFh`OLh87vZX{WFT7*% z&gC;TrROR0fuW3t0%>+QSgThq>rvm~Z5Gihz%;*rbN<{#UO_nFVl%$kMDq?(o3YhP z8a!ZIV746?F4``GZ3Djs;-I)sc{dCDIljEc(#pXO8trQwNGsIATnO|alpqU$W!;2p zumcM@g+_a%f{Lks=jK?yU3_+R`&(M)`g^)R4Zhp@*cRUTwm~*x&5Jl|&FH0j9o+`> zj=k+ty=~nB_i;EtJUW)Q=F^ayzuB+$eBJ^*5!m}>=ZoJO)mLaW)4M*qI4na*t%I*#r<7A|SUp}9Ih4WvZ<0PU|DeI}ey&*xv zh0T1%_WNd7uFZ`7vmMC|mQBu)v(QY5}1d2-iDTwlpNJb(W_gwR`u zF--=Nbr&u}aQHC+u?!#kIV+f5eaS<@p=L6kx{VTQWu+l2#ENeRbwJkGoGy#nI%o{# z_YGUu%^;+Im{4igsD{Z@Jj3uyNwmb4MPJ8M?~~8VAexvw*H$Iad{I~35nnPRU9F0( zVQaweV6UBFJpB!{t zbxgket?q;tIwzv<_q`GAd+QL}Fm=T)n~J9FShiPxgrn6}-L!Z4>c^P8_;uVR{^+z_ z!a**wOSw_a6R^5+JrcUx+2`6{N0k*%alKN#h$c$9q*^<^`1<@~p3q;X1O7Rozs|89 z8(lF~nVq_1)_z#^>>fLsYFd&)N-AA5J>3u;h^w{YR_<>see*C2w^md+&#C#9d+f-X z?sy`9EI)4#c_uY8^g2KLZV;&q|r^ThiqJ$B6Ad+g+7VvDnMw8swo>88&P5miHS zFd{pe(Fet5llB3cuUL+*mJi|Uz0)-z8X=BnNJgoQSalprGIGS|hG@BkJd1F7<_?3r zp!-mOI=n@&=6%I?ezTIsuB~M>k2XNBnF$7eb`Ok_OMTcIg9*CBA@bo?HnQbrG-*v( z7FuU{V7oTdB}$jxdU_Jn;rAY&Efn8CrZISD55McQbi8T2yp8TQEH-%dWHHq&m$Q(i zKi|gldHjggLhEqB!%Zwyegn}-9>Tec9zqC8PN^QnDxUo01OO3&$liN!%EK`Y(hy^R zm6hLv1Ki7|c9Z(RYP;ziS4sR3!QyY87|~#-Sr7};HCe6)VuqkEZX(!EefNX!f^WA+ zD~mbsz+AfRs*+1vi4ZU@n64=U(ErRQx1@b0DR!32!V^O{CqvHVlW-r-q26Mbh>6Ex z5#8Odf$L#e7+<2lV>0OqL-Mm(#NzaStXWMykCP>E&U&Os+r~hRbuzqfQh4p#YJ*Kz z9L+^n$cs$cME`iM#Fn1pYhE#Tz1?ayWcBaS`?{a1Ns7P8TL=0v3#8R1LYgKBpTF=j zKR=sviD#;2l0gzw#o#ST_jFQntPZ|to2+4 zEGvD@s`Ob+{@9U2PS5wnn$4MWadFvGG3C_w@h zinPS{O+lA{&Y8skaS%V^*AEPT>CnIFs~O}&R*dndh>a;p*Am%P8I*tCk3`0z#APu5 z)L#-rBf%^Z(Xte~6pE5HPn0!sR!#gE^xqq+dC*^TRaa7m-(k2jUS4f(Ag)JG%cu2Y z{3duOL^AnCxc=w6^|$cPW???f)iwD-R>+{8a7FR-Cb$wvBh*WXc)8Yp=;h4Vwoxxs z$u&IB9em&8>ecC%;(Kb3&Dw^>5|EuxI$bEtu7sPDgqo%iL-xEoWK{K2Q$Rj-aXif&o%m<5-yM9U;hRna9|erfDng zs6>y;cqr^iH>)st_wHYR_HtsXs>xN~ac%X5;W>-PhEYjgs<1jJQZVTctp&y|-O9j#DRO@@)Yj0tlhj9$N#hHbsBP z2~(bMgde~y_|Hwc&Y*pv+#d6W`l5WNh%A)cIQd}7La13bnUz8Y3&0<5puY%&4NF7j z)12`vv;xMEd%^U7$Y@@R=205#Si6M3CE@M%)D}Q@2RQM<)NY~Of3x7?Gq_M0d!aVCD!T~Z_nJ8Y|ZgC_tG8~W_R(M9eYUj)nApxR-{5;(FY17OKC zUa_>8epZq91)aN^tuo8wa|M7%Pq(6%*Bx@Ryp#mWge{J4Tc@k~MYbI_xTH7{9 z3X_R>Di)}Jcg!phaBw`LjG6y$x4Ck1LSn{=>(8vKM_tOYrBsTN&w*P+s00960>^*C5+t`(Vg-r`= z(zRv2AD+elNl7~arnA9Jigb5S3@GW!W=)YQNm+4!7YhXa4f#@_`{(jY_MCG`iK0lE zk|o)6G#EHGMUnTMd*1gv-p5yem|vz>@4}Q_$6o43q40qvY4V2)yo^8TjzJXNPQ3WG z7mkGar9XQ6N*1+O7j(lEZmNxhtUvG)!>)J@HmjIQ*GuBPl$idU7cuBome!_~_; z@kc*@y?rH$lBwxEYjNp)Tye3>#@;MQ*FSk*xJ0XXPph5&oZbfv?z!`Vx38RNbdO7g zukeopFT92inU|z?;(KpjvGDvqoD3Se2chEk#+3^rqzRuU!DTY_hV1RDY0MH9-?3MK zN#UnilAZ~E0i`LTRPbUZurT#w7TgPf6BdVmULd5Aa39TLA@B#W7vFb;4>#;ym?doG zGCWR5Zr45JZTie|y+Oqk#J!y943yfDGr?}eck3Q-u~FF_!T zXWVS@KDTEhf? zmxGT=%Flw8#kX+(HNSBf#W5SE0l@jE(C4=k0JI>wcX5k=n4>pG^AIirgu;z?2WyU_ zLBJ*nzCK(angRStwyt4x$71iA;o}i)%X|3S00e(BjpEb`0S)jV76brhBn)E)cdc*U z83HAY{TLn|GI)$9lvt!hDWax12B(yNjO^kSs(hDvfZig};nV0{n;%>t!N&AlORd7l zM_flhcPnqLW@|+hZM!ELt88s#|21IiuF-Y1rfkh`u4U`*nKyD*_!|CkZvYo~3l~v3 zKGB<{Hxazwo{eJQh;9TA!RsT~XuL_5&qecGR6a=BrKn$u;(u?4T>dYAbCn2x$z|uy zDY9C=G(uMh-2Cbrs2x z+*Ll8Rk^Pk;>%XwA6c#fo`ZmYe^6=*pfpjxrO{Lf*c}T{;i2{g75P`VWqIcrsI5;a zD(*vomBhowKsDY*d|pRzz4$s3Zo_C!W=8;|ER3UgO+|xp4p_qNBv9{5#U^}Y<+W|Q zjGApY49IA*rD)hpyjzCG2^m)f5XoKvBQOLj(*us?7@GTF;0>e66z&m!m#V%8T5{=5Uvc{eD#)Va(RUO@?Y|JowG~2tU@2Mixlmi0 z%Q@cwfB5MQNfB-uhr$njlKSv;NjjHg0e%O{;{L~z5YsLqDS&1C#KIAa+2}nu0uI1` zOM5}W>H@rzPW*U5jP!bcmN9A@^aU3f3k?^tIe{RcF*!OM02c+K`;~}p3*2w1Fa8VF z-%>#)X*?UIGw^hi8}cAYfdu|7x}1J;*+8g>itfmU-Cq?dTev;j2o*yU>56=i{EsCZaHWn}|R!%?NKW1iS5N8LCS{Pb5~tmM~p z9=(1e{7(Zcs-`7cvb_6Q{x@SidkOrJ{>uLLo7d_YmtU8c@DCwde)Fb@Fw?u>>^Y`- z!gfZp|Jwk6X`0(p^uAq^k&2;^Vg?DbO{JlyjZ z`CNH+*a}kDUR0oqY}Kny$PYgFIv$yE#jRS8_8yq$=(MkiB5;+S3jeRthoniC)OYdf zKIx+X;xXOQ$D^}{N5OQ+(}+kaa$jmZRl1>+6+^*)fUO)Yqns7*ROG%Z&sbA9hR9VS*4g4K#AiART89{UyPDSrfleYL4Yawm|ac@ zSV>(r8c)WjymgQ+@$4aj-jOh&p}=NG&=kLWfEsm47u5~IDWgUw z3PuenvW7xj!|tih;m#kAK_S~$NVI@L1VL~~4x?>O_OEa!cBGCdyhgEnd2w-(K$NEHx+cl{IR8Gz)|03461N@=ln^-`-Lfj{ zu6SHcyO3i6tllUPegs!93X*j+$l?coS-Mne&Z~Pa(8SVxYBSh%wJMtcm5ZXa8FhD-sH4KQ~JjL-p@HpK(@(RYFnx)^tUztyT0H(g!5yd8^zNR}pLvJ||JW<%E8l$?>)r_7|Dgu&i z&DF(1Gl=Jn(U%$~sSTwSjH1;QJkC;*>)v+=@N&Pf_IRht#VOymo3|tCqAedVyYCn@ z|3tB(8Y!Y{q9!WsHg{Scg1Oq-&rrZhw|l+PA&M?{Oa!&>I z*Xr$jqNr3gMiteSd-4H)3(Jmy(UxcSEL;h(ak;;u=&)<;K0#ETD2`MkS`^(d)PAc| z+>~}_v}|fqwq}}%M-GL{{l2B>rNFJI=(1~T`v}}-pR}fz9yY^GZ(_!Tgk^2CsoQ2c zoq=l`4ucu>u`bpJoUL@9&WpFG3){*LBfs?>GW7gOs~vkfR6d4K$c2%t*0qBuPEaZ_z#PE(+0)bI63i4^hy?yz*};4_@PkO}cCDSVNH~jvRys>S9JTs)1J)l0~u7 zFLw2OEdTLbxf}%=HCqPFHJePZfOD~x+n4%@U0pRLr{r3HYF4-FD0@j1eg^FS_^m`q zu|6Foml_F2YLn*Zg$7w%F@OpxNAfq4MWd!NzTzm97J5 z1eTi<92xG~v#rJ(g<_ya0&owEO#Lcb{@AeA9vC!+^{=x8O;Ui5dn*UwtxbW>O^e=x zqF5CqO~kf;u5_h-kH(Y~#I_>4lGSy;#jf$xGoo_9f^Y*?5Y26xqX9&irk)63=4YJ@ zCP-L?^4In>jepAdOADV7{U>mp2#af5kUP*#s9Ll|$1wXCax5la*lyR9`upxV)CQ{l z$Y>lIpJ#xssYfHr{NXI{s^*F0YHpAfd5`bOTEHlO5L>TVJ_=RumH2W1sXGb!DB0i* zFTS2lSlD1#%rmG?{}A!5ge}c?hUCrzd+THDhQ}@rqyf)K|2-DKhp1b!fQQa>{_-gc67DL0ghxF{jS+PHAsJO8}^hcZpzFsENdtYhPo_UW}~(On%%V( zr}Z;Zs-e>*y=$7{X#z|xVYg19R%Ox9o!+TYaE?K)ly*rZRwP$edIzi_cv4nVE!}kt zyGdG8PnI-&dFh1;b|RFWQ(GI*lc;oUQP)a;=A$mjswRt%s%~g0YwjWEq^AIjnukmB zDx$Oi=Ce3I^%HC#H^EpmsELH1qOUl$FMiNSr-?>1E#1_W!=a= zlFISkN@2WrG8;^y(JWxexgVYvHi!q;`HQQcLU61P3D;J?Q-r7l9sAC?&7qE4@|jMk8eT&BCj3>oXNmGca%MWrgQ%ltc9KYH^9Wb&atk7CV(MNT*OevLK{?ub=<*GnW%6 zIsUjXm0@SP3u^A;#(n+#e~%`(4I8_C_3C3c_9{=&iN+guve39w-M%8UVwI)kq*qZ` z7Q+vA*4zQZ+m}DqVmQ;PwHR)wYIBsYDBMQ-uzlg-!~4+KKA3vIoPYlF-u4V9wR}or zZ%89cCY<{`ioyVOa-F?@UhgqSKoX#f|Blc)}u z>kb-lHhnZce4LhdMw^JaF5pHd(Ihj~4wdk--O97CJ;u<@Q}lEHe~9@p<2afujf9ei z?5|3~{Ks>(xl3T6nrxEsp;?a7?e$QA7UM>)W6HYmsF3|>aBkIq>#D_A_1@^J;m8(6 zKTju}r0r${VT=(Q5FQPudg@BgQY`Io-6C3s!}^quiwlleF8FzVr$0nlNx`aYn%lo6 zd0AsL3r4~<#vsIPy{9|m>{aK|v0hiq|1R$DS zW389ZgQmhLVhIng4x=#jFqt2n~Z=6tn*3{yW8@nlv(e2wbyY8i0V~*(d-Etq6Z=386Uj4L-s?=T85+(Nqt4h`A z>XPNY2pe=?q`19LZaB7~$@+0h8C#`CcB+KZx{_$>@^LDmo`mhRZr|vO@^Oj;PX2f^ z!$Wjj&D5+H?2jvoEh{|<&nix2myunq;jw))d_z`$R70YcOfS`P75iOTR8O9DQEqMT zS?iYT%6jibgkx(IoYC(|l5q++Z&Ywc_N-O2FFBftxvGUt(R)hI5zUv~{`Y(D4q0>s zNo$YUwM7xdVmCkf;S~zrbjqk1)bh-n(@NHD^dM{BB)fJ2V&o^&z`F;!q~6>qmJVQZ z@_8YD9Po>{IYGId(_O+Fq#WN z6x}95;NN2HpWi6+)NtIcVwN*c52UZ#kP!BN^~=A$e)$al3oiB?>jcrTN$5hv&~E=o zhih%bV;W6XyTRAs(RFNBHICz{whNEt;@TR9R>i(4O2;|8YX<`V0Z#qbFJCe=2L7N~ z;>{6P@W~qv zK=NW4BYKF#D7@qSV0cO0Pv}y6K@tfw6wpcPg(LhL_q~^`V>Xx4Z#@N4l3HI%PprBt z%nz5++ZehF(Lu(NdEvd6-W=04sJpmJ-8?<@v8yaC=SX$)+SV;6>M{J(b@STx ztt1}ahlY#Zd)<6T_>qgpyxBT0-oXw~DGP#xi%E=1rjd|h-0E=UIeUs6@>>6F077Lb zv?Js-T9fGRfO7-(Q{}!WBBD?)^)=Z1%;QH6H#IB(24Y!Xu|qF=f7NW%NvFPlFfW@U zDg+TIusDlVcX*2zyg!)@@`$L<7W1YK27Y6pv#&kII$dv^cFo!~Zlc&qZ?%OU>{QHq zG%cnAuWx>5WmOlI_O~p%mMGF>_oAm`gYq&?!vpjEwa2J;^EsUSP~@S0BhN;*E!vLE zuwz%csPL>EE|)d#!a;m_H=6H%S&YDwqRP6`(4m$W1i4Dyyv*mJmk9KOEw+#q`RFC{ zG|R*Eajea_K8zG=a!@6ylI2*`Z>u1NL`8NKu}@a)u43raBBkney9H|$tEU0>PK`ct zG@?YMG{Wy1U{96}Lp6_7A9D0b5Sk|UblE*l(N!C015{@g({Dl?df$?NOsD;=TWSOc z&aBXl(_vdq9KZbqrS4xE5Qf?{O~>q>#+v1*8)GZIg`w53MU^Ch@U{4XQmTdcU+WR1KF)cVwe`SCB&1?0HTMn0(@DEY4{H77MHMj5Dx^hyq zxj<;rN(Db6Riz3Iv+>z`M?jo`2L(nSozC;tDi)H(e*J$`s#NI zV};<|9G3lvytTnbl$Y<&@&%WcU!t0Ow$))D>_ zMQhgeI6v5ApQcf=oSK#;x>31Ud6j!w&_RH|%D~AE-o9IZQ7oWFV$9sj8s!go3tr0i zV}6Vy(>i4VROxriX4hHEvhMX9$1o_3sr^cNE0pIMl~G8ilgQ^F%@QOcN)E~teMVC7 z*PTDY=Em99RO*^%O=Q*YLPrP(F@jAv_u|8xQ}12Y(UzbemIy&~jZM+huu6fUJ2m6yzWywpYaR0c(}F(LS|{&W4RrI>Tfd z#VJbG)xn$Io#zKQ_IpY2U4mS z!j7?)ISYa_GNd>uSK(n{rMF3BUWJTTrVn^9h>e3~e;D=gk1RB@r#<|cFR?@*Rqv%GRqv^yxwfQ~i+p6g@AO5g z3;fp1C$y0$$qV^{yeDu4L473!Q;E{8qil4^JJR;_U44sS-&FX?KCyV{C&fvp zz&tq9c?_hG8wh!3YQP!n8yAcTy7N|_?X#1>31rpcAd9(KSO)8`vPmXi9K@pBn+}p7KWv(2=N^&IVw{2=@DTRCbXY zk0=w`wej4hqoXDoD*h=OH<5L%0qY0B_tTEhE6k5sip={deES~k3Cyh>wF>rV9xFK{mkx|Fx>x%IK)5Quv)yGF~HIDi`aq==cNA>A^u4>E5yWSPT>u;u-K zhJcnw5qEk}#qm+{WcyQq3OFM-A~9&tSy|mh_34_bo3hj`^#)aYZr{}DT>4wHHhy57 zbB57m;D=nY+=kISV54hRp88IuUc;>Z4FwWhLkjhyS(}tCxab^)rF8)c#mfUzzp11n ztnhfhc>O~Jg5Lmj9!4qS?+j;?{sc{bciQ<8*lm-A6TWie^!n$&!)^1ouOv}4DSmi^ z`7vv&=n0MB@`ZNYo!av1galKJ{MYUtMikTm@=iiR`P;8*_-0094!lll<^ z;Mb2Ylkedwe~|A}14&4Vnp9f4Ouehx?g3n5f>rz@+l1upXG4IjWEG)T%SC`=pU>wX z?(PpP_x40-D)++g7FX#iml5MeU#WzjH}CkDh_ zcRLOp*j5dv&WhvEF0jGC8TiqdGk{J^l3hg!o47)!iww$;ZVTNJ$#q7}TilVI#YpbH z)(F3pC}c;YU!y&CBe8T}Cs(je4Rzk+`fJ9#WJuac$#DF*<3gdg+*)MY!?P9cRT*&q zf3{HErMe}DO73#)xfui2XP;GG8JnZD2u&nX$Or|j$Q9@$s5VNgJd54hqZQ6Jvnbdu z0#HfqOUpRv;`DQ>_8TvGUIE_^xBhgqZAA|xMMZAHJ&VN)G0pR)$GPde9qw%R;QuT)Fzw!TKEU@5)@}hblynKv{ ze<3X4k43bMqRsyimW%Fv7NWBUz5WA}kopt_2r3S!!IR(Q9)H_%n=lZD?>p0XV07;Y zuuW_xb|xoxa@R@P2T+7;G(m@vgt6bg5=S?<8BDI~3j-_dr`50Bg`3+0%e*~NnhL%G z!Icj@!m&sw->ty!Uz^DSc-kPIpiFSG0!O03?fUz-n<6GW;ldE@Sp?T{A@K^N#>f~# zjZ?yqzG4(Bp?}5JTw%eW*lsB%un;PNp&$6=om2u7t?habi0_dGH4Yz!(GrCU>+FCt zh*P8tIdqKRV#pjW;i3-;M}X`O!=R6vUW|&Mi>e2jjRM)IdZhU{(wWUg<49qjbUltV z?UNScNWFAo{R9`1a67maiXmek)ebVG-g7yzV2KQUqkkDSN6Yl127@Sn9}$uDY6)zb zTuiuzOe7?mCJjZbK(2UP`%hYb7kXUz*O%6VWW$!V%Pk=}m`t0-R}Imwa(@&!XM~$l zHK<5tbrf8uRJPrLjiuSaw1MnD6JXD>W?mtKfu;7Z*7jH(LkAoZetmWUJDDu&f$Rbt;ZS zJ7I%?J@8{NCjgz8B)y0dHo8LRiwsJUZWG-R$z?&!TilVIXe4)ED}*0Po5#r_J3WxC5otzO#(8Ue`b8 zYQON3mlg2+aN|!OHm&KAY*C(>{>V>fT0YH#hiSFoPvtIJB5ZeSC!wt&wyXQjA)`+J za6Z;PyyR~CC^rJY^$l#@D@L=YYDiTR%Kv)%=aj&L8_M(YW$^k@75|JVQM8Pn{QKGe zAv(sH2DVvM@0v(f21rPp z#W-OZxgKnY7~I}`|J}Q_AF(tgnG^^hGU2cD=z6e{GWRu2L@SbFah1}DGr<<}3I=Oz zv7iyr){MuRsT+FvmU9*nAz-}#XU|v+YPjg78(Pfq8YU}1ON&;ROY+iS7`;JkZLE36 zK;{`hutU>0h8p#Te{wWs)e(?&77$o9#B^H`d6DOoZId^bV$!dgU;0!h10qkOa&0U&QmVX)1&^xfHAa*ml zn6SU*){+!FxLNqDqiG$k(J}aJ0n8%+Cn6n_#TLV>F|?>rx5A+vWwphrSW!5%Ias4( z3_LWZ1t4M>f3JF>nA>yJ)Lbm_3X7eiD@4-ID0>IDNn2->FTYI)KXF#%4I2G6w7VuG zu2pf;1FIHPTjb)~jJaRo93o{J`FG2Var~HoMIa9Z9*#-|)Ds*<{gkidrEFJRBNbx? zH%(QA*1mE^XoNRh$Q6SC`W{P8GmIYaCShFl0MoDvf6#9Zb#JJf4~FTRrmyS2s$QB= zNpS)jd;d^^=dhsV=a}O=0C&QfISZ`WplpRiC(Bkhv~_E4DgY=8ajS> zm@G2_e+;O5c6jn;^2tYc0?8E>D4`iaG>ZX@#3*8%lSn3;TXZK;!q}5QFL?osPULngZzOuV~*8Ch(WgBg(CPmE2289gvb%LnT1Dv>N9}`ud&`7N zRL9@u$sW6bH<|D8OrF5q+*SV?Ctdri7=9zoV~sN z-IEAc@2?rXt7a_So&|<}z=dMS8yWkW0UcSUeTs{^=Tf*(5zrSoj^J2wP6Xl4WKanS zK?$5KK|FHJ6g$}x_{p~F5)vAGWc&aFg|a3_RH6XN%wK3s&?AX(Arz~mlH!`m6>4lj ze-?0!7~DRQ>#3DEjwD<~L7Um~M;I6*Q$eRNBrZ{!xu9@m5P{oj3>b^uB4W4fh7~Bn zl`rkN5IovEnSnF0D>mfK0yfZI1C2$k zH`tHdZo%HR=6X0Cy9WWrn}mVwsn&+RsbP(+ll0X+7e${~u_942rb?m>K`aAqEL6rH zaodxJaqs%b@NK7~l5}@8cHFtjuq`S^&>HFoO0okRnom(t_gsFg4|cku%d9+Ne;}$> z&s9}YDe*zjV@hwNR1zoKs4I#*XF|nkwnwi@92K{San-XZ5+FPw3t24%)!5>w@kf+b zYA@4DE4Zu3JE?XE;61&?F!xG>ugli<&2cx`Iup}2^pQ&UEnl&1ZyL;kV9!@(Q`6O( zrk1bNJr^b0ng<-mkoO{-mx+4;e^j!QA4f84Oj(z%Z? zt&TL03}-$IOF~;T8`E$Ox7;RqDl+F#22M`WT=!gl5I;z=pVQ?Bez2>piF2m@p#$rS zh*D)_!6}sIKa;gOmenK^$E}grZ`#|4ycrJBa43n8LzOOYEDnvThV^%uQlmYKXscuD zH|@!67I+82!JUPUr-%Dhf7t);(+JLUf_dxX2&86+8@-EU!|hom+rDmeOt-UnIEQ=q zK0oH%4ZZ2~;FE|BasFg!R`*;KKlgZp-d_J)Q@GuLfU6h`4Ekopv}$>)^@v!wb%0ScF>Q(z_* z!?Yi_o0k{-D|Yc>*etfoar5rw#m{fcrMq~spZm?SUu`$T%ZtZhfAP0({`D_LEAQ(Ol;el*!IM>t%+@?C$?>?V{>BL zwrykb<$1pMto5#Q);fRgUA3#~uIk>^y>{KWu6Lu&>+ZFy5Cnhsb<54^hvSDUt4)P& zz6%Dd^~dVm;dMv$saTBwW@krSv-i6_qcz>!kXGH;NXw4xt;weG$EPbhUHH z?=6$mMm@gD&`F=PTPs|3(SEmvZX);hdyDgK9$f$DVNNqygDc1L)JZr{`CxIEs0f{$khX#`g2Og0iXv z{y%)Bw|Rg=>^UXjr3OIMDrV;V*6pmcP(DZ0>~E{zqg_Mx+d4+PNWp!8+t;9f`ZO}N?hoNkG=9qFlHmKEglUHz-&E!sSz_#c_rp^=%fNt=BMS(c7WiM z$``=y%>DUNqDydk!)MR7c#p5gnEhcM&C4pgg;&e{`1QwD?ECF2>f6{l0`u9-n{T%O zsliqMq+7-|{Qak!=N5$c7d}x&so(9mf(St-{8PRq_r@bqMLN}A66Gnq3$4DlP|x?v z{VTr}{HTw*@dW^})0aT>xP8m~3$2uXcROJ95zgwP@%|W8!25-$pDi|W+tXzuafDwW zIz8vj?5;XC7xQ88{@6%IVSIjGZAU6;>tVjbv7t2j<(p`AUNTx?dUGSOYvHf-Z#l%t zNN?0Ih}$nwUvk*e%QHSH*FiMT2qGem$k*MTis_P1iEi9c282ys7Kr!PBSW&B9Z>*4 z4zAC@c59jPD^*qj;#!iPvnX9qKKDyZMLoKc?{vT62+Y1Z=b3($Pnmq3vBmKHsTpH@e=n>#{HXOKskB6vm9LpO~YIil<@mgy1^BRD@eAqqG z*h$FQ-_rkb<>%+B+PjZPDA~z9q_gM{_Ya@*N(KJWtOFldz%RQ`^o$K<%MV>IP!Ffj zNRdu1g@*`EfZm#Mk$JnEzfRXp29&_PrQ!l)2W*r5QB5=Z=dZi8KD?68uOcED00p zs!CzEF?X`gO&{+TxYioYd5B1eJpA{uPdRr*c|VoSu}VZ;bz&ZpD>E$&cBo2OE_pFCL{i&J0*oc7af#Z#tw5{0FZ@laXlR5n>UM$qb=QWywU^FnB)8 zqbb|eJh(dxkAOaV1Kr8NmIC$A~HzBDmu}F&008wXSw-c11FvdVrw9%ZJv3_ z2$qKdb!*;GwYL$%gcPuKX(85kPhOv@cntl`bH{dz%4|DY0twL;fg}z-%p(y-GoyZ6 z$=7_4G?O6J1AQo~i5T(d0RUH7`?Ur>ztukr&Z;i7S>mc4dAutPF`^`F(}V7i$zw4H zjfyGmZ%XboHQPxY!G@4h6;qMM`%{20(P9BNT%S1dWE7+9(sN^HPT;UW4V#EEt@0^;xwav^g~^nvDH@vN}nT2zYW7PR9^1j?RopjGxXMD;PWEq)_ZP!gtbV4tc^ zuj2uImDPdP+!?YXkpc>ber%}+lr-OABBaDtePY|MOaK+Nj%3=hkUQ)>@k!AQgXmq1 zM+;i;ZQ5B8M89@|>{wcWC|xi|P{Gz7Qw?h>rnSQn4ci-Z&aIvKoP@0FPpJW4*jOB^ z+JcY%{$!dGy#Uk#Dult?vVswk-bbpnoImf-dN+2oq*J}gsH7|#DrzKDBte>$z2MkL z&k~kfVSxCg6b9jN4ed5aTk(*ncWfPpl2SUEdVlEX%gp+98hIes7k|Mt1_BK zkt2{Ay1@EGmr2YJCcFT}puz&D*_fvMPgNvMJzysyssuoA;BU5O*j<$#j-w4b8LSa! zue~C^DW*~zLu;0SPf)#wtX!L7A(jArn1LL9&uy!Tnr2l<{uI6DxY?^WqwkQ#cp^`$ z8@lLU3@H%^Uobmtp&LINkApvKoj`+NswyD|Lm)2Oqpl^fUY2(HyZ@E=4ksblb|yuP z1)zxK!cj*;Qk(+CYz$E?rcn`CAr|t16GM;CfDZF32+rSi-2ta=xd=I>6H>gAE!xv& zV9q*dWMvx1D9ZAI8AoF?xd*kQhO#1xR`%z5 z<*voz^d3)cl`C~C;ds)62b(;JBiJmcj?-G!pTAMXBOQioK`va0wFwY5pR@t|Re<7; z6%o${Wyh>sRN;T$|5f`9_!U%^y}n5|E38_@T7gi~5;4n#IInV14y2%D=+t}3R_Bfg zgSaSo-qIoH>jc&|h}d<~kQVNhiG(tpt~~p63vNkryPiDBj-P)n;(H&#@Y<|KEL2f- zWHLoX8g3agHRd-S8);3hE#gynrIlb$9JiFo@E?d!Ds z0YcIMQ(3%XE!1^nVfdJvY$kY#IE>y>Qu+EQ*LA6M)DrFZ^N_Bs_^N^9Kk`!fcwu%~ zd|XvH0=zEh)%&cN5?(-N;aSM)VwAm`)g;zNRat*#T#aIUh&as#=(=dnN&pAMS-JC= zVeVm8@=5~lSlq4Nk7budEX-+Ufo0)B(HrGZ?G2|AN4?7+VXlr&?h0i!jM}>V_;rcAeohY{-@$9vv{I z_D9M0#$xSr^idNW4lcRxxd6Bi8{{_Ior<{It+z>?)_k$3u*Y!d36%Kvp2a$d!CyiOF%GEz%EY$63yPp z5){2-)=A+l7w}fsKfWs^~;^C3iLIOCQ)2J1+|qR|!{8_{^Jo(zVq{U`&9J zZu+@oCBLpErD$lyLUvqT;8Rth?2mUkVc3{C9;fveLXA?}(pzZ+2onTR^DH^n5K^^H z!g2iJLZz{S8)<4&BY?+oYuH?u)DO}ANhs#x{4vO}vj`Uw8cJrT<%#5qSB zQM5v0z)$F!;gOJBIB`zkyFUl$HY9A*g};06T9EZ@Z{$!kl`!m+bMN?&UciproCiPp z4O>}BE#xxC55Oyn&mA(49#7}Gke4nqoPPlb-EzE?kGr6#KDoYvy8hlK1D$bIsU>a; zC(P(d45~7C(!hw-3JeMZOBXk4n=FJA+Y+y=2U|XDHJO+Zc#M^Cm5^}x_w%o_LrZYL zC&JKp;fE1st2RV7zOl_KtL&wuR$>ipII~D&O)Ctc1kkC?hW%k(wh$|P5)FIyV5{JY z!7nKGfEv#v%U%5S{a6!cPXp{5hvi*hoJ&<8yy0Pqd_}~0(Q0#sektLmyyU@8X&Ns? zH^gFB4J=Xo)OVmK{)y(mfYxve@ph@{F_3(z`Fo!{I4;1~7nskYt6;pem&Ul*px9a( zBnj#64~RoFHw7AiV`Z(ko z>h_?=@%E$qCWQ*(SBYpxK`E6~4t6D36u}ES@LEJ9%i47pgJyo&5~o4G+u3B8+vCkB z$KH$!G$!yPVq#6Njh>dp^T{M(Exhq23PShcNakLC>12khzJ)QWzE=M=Ii~E|>L(}p z4PN-e66}dW3ntcjR;xT@c%-Q$BHk+#?@E~CksuYazyUojnvDx{eDZ$YMy!`xyjgnR zJ8tzh>{Hn7;5d)NtdzaF-|YLfW7k~45;KLS2325iD!Y~|V#+@}L^U3v*EJQNtG|>l z9o0_PdyIW^@C^;U|Iu0)y&B}m5Vr-#0w4nCm-tg+7dHb#3h$Or>R`xX)C`~KfHYhX zdp4h0ff;4lU7DUk=ql;08ghe3m}mKy6$%k)R-db+D@td7)1xw@q_AEdIMc3`bw1yZ z^>blvv@Qkx5#=3=TB?3WGu1{plq&`1A@(Jc%Hij^h(iJad%EVXcz+ZO2elSW6MzGo zCVnE9G_5=vX~!PjFpD-H#5dbhS37+acAz~ChCS<2?p!>qQI~7qehZuoC3jb_WLU2| z0!;XepW12T5ND4}87R6aY0Jx{u&}NOV!c_bomANHDgz15a;x-Y&kX~5yhBxkqMe)1 z*TWg~W%sL>ubyDEx?r=@hngVa9l+T40_FYjlI@9cYazB&Z;{fj)S$1Gd%vZB(+yWZ z!j8~xdgt&EWu@kQ5h(k)2ak{4F5qKIiQpc(U9msxoWsxDyL9OAyjfaz=Kf8we*JyO zb{7?t{k(cnin}M%CFu8md~8iOh&^|H|F`>ev|&B35SuH6lzE7BT?&?)16aA=_39#8 z3XQGkyvprjVY6WXbd~2WW50cFTn_&`9PEA@zxJz?YuT^&D>Ui!dHi(b#jH5JiO$)T z>s}}5esO${>F(5Av>(G4To(n=sAO`t0MggozFP50-l`b1S6j8-9>o(bRvq}y=}OBZLGfb zJ|Ax!OXRd-?gt}3?R2Z(W66J9XsYn>|2-pWLAuA9R<9K3e0K_Z15CEew`f;)o%qb; znKv%j>k|lgy4<&R`Mw3rYYeN^41M~rUc8m(w#?(a=YkDk(0koRpeOqgtW|L);b!Zj zRNpuzXq^AsjC0$c54>}^%|2HUIU&2VpY%BLA0DSNaWAibPSqQJFx61FW?hwvzyHd% z>3ubc-~JH%Z=P{t(i<{trR}wT-wzNFOvF?ja!^u0s*ZC36L!e8yV)05|KCYaAww(P z^?CW4<*f@nSf#XtAQGk1?rl*Bn^g=+b9>R~?Znh)UgR2kYjrMO?NQyE;>hZ}bH$u6 zw&Tp=_j<34;A%3AU21CZQkmy$>F1}T_m*>hSXAxdaKk7k3LRX~ZmOG!XmTTe{T zdr>gK=y{?ruX0V6W_OR6RGYqTWCTjFpgJC)NAj_m-W*pKHM#ppta^(b4H6;b;A2ua zKE?`WLWU9z^G|pZrv94Zz}%)fpTOYsng!}vM|LfbwpPvC89{Kj|V*n%$ zQ^TQSMoNSlQB25vHX4-rTp-->bhMn!7;w3La6zs>C!8&D$@rLm&AGPh9+0gAckvsH zxjfD3aJj(*Be}swREt;1VeNb%ex^_*psZrHlgwEbd|*CLP4Uri8dwMACaWi(ns3u!mFfA@5r2{Whm>u3{o zakjZlL^;|E5Y$giX_f}Nc!LO@^9%|di2W1J-OgYyIEnmrH|ZgGK=$Jd(4r4w4s4(<`upAi=U^Y)hyCv6z!(r4IF?`RWGln=9Wns!?lFRCZ&c3ba|dMuWAaTOp&D}& z=&se)Oi|xN@y4u4FVLuV6$+Lkal3(fB?j6KE~q}fv6SLXgg_lSvXo-MoTk`KFLo2} z_k?tHg!EsFZ%a2NXaf{1IEt-M=J(cyhEFX=0VM{c{4e)@t3nXhn(RfCZC>Je2~yr4 zn>6C^_yduxE>w=46pp}==-!^M%js&j+4=k6g(VngCFb_}-9i(cw4=(h6C=|vuSr78 zW(x8G2q4ZN?K>FUyXWWU`aBM#;}mqSYQ%#vH9W>`+o*;cwJ91H@f|7}IiVCF+4<*+ zz5s9-bp5&lKah1F!hztV(Hy~?8&i02gTza?uWR>ioK3rTRx6x+2Ff$Mbs*IrG@1ld zGhh(=U<#z1(`6U?5T{T$PcQn{Ke{+4c2bCY$uEyK2f|T;!~#!pds*!Xvgi~v97cyF zL!jLi4y7cp`vU}e?|S%1$R7_tUeN-qJ_t4DF$xvJ@Xg(oEcg0x3u___4o&NDi9rxt zbwO5oEB7^X-t_na>?ZJns4fjw+f4y6_)Y)2^iajgJ(-eD@N9L?48cLSf{%q}40u`! zmM){hIgaS`Mh8l%>^_~1$5prZk8>@-8V7O*{k>%^{_X6;nbhT{stOsvYY-g{Fm#cH z+!PSn)1d5}s>|j0;sW9h4(-f$Yck7>$q6|UdbN~gWvt_xWv#|mii-+IIn~oWxdAFl z5;+&P=jI8a9Z60Te}dKi)0kC7DE6J$o!biWds7o-5oG$S`$j*pL=7}-{*-nrIaZpCLG+3`?COIwyX{%n?j4#TNl-TeF1|DkS?ja8kb$G=)ZG#9zUmO7Tp6| zh4BBDnd1B`&%F9ru&cqm44J6wHAm%)U;)J2z>{~O74e>=Ns=ya+I{v6XzrNH*XxNx zqEgva6Mv-|WL7mrgU2DuFdg_)YoH zug6sl*E(Nz`ToZF-#rThAwH~Q2MPi*+)~R7N(Ks0=wm_;-j@47lG$!)&Q#JJk{q}p z4-$=ncUp^yx4^?kH_(85e)AhjufpT(AnW5LE<;uqIiw3fsa= zbole*JPoyS1~%jb1T*?>Ju^y!dKvOaT*EL69PfqPR7D?QcCC$OaOI9YX+k_laZA@q zh2BLsyKqq4Zh($xv@uDZ8;OH+L`gbllo|Q4wgSfv=bYlf!cgJHqP2;A`4q zu-&tH>&)mgiNI7UC*YmkqFRJl6 zJr(>lZ(>N92{nBx68XTxTXpTh71m?G%g<2myp?!+Zya!!HsB};Ng{>m61O#*6gO>l z75UHE&@*F)D4bdEJCZmyHC(U95hAr)|Nlk+feUEFxV9*b z-#^ADNn^5(fd|p*wGrDrgU=WHQ0+}?e;!eFgV4vS_5z>Hq{7gkEZQ;+HI0hqnhy!( zbkOwFlzYS@P2k1=iF8s&;QIV!sAG7n$V2@5cL!gojSHkF&eN}%LIUE>7IOXkwU6~H zyq$KpRMUeRRp*ce(aDt1F(>bKI$6^wIrOo8CNdG@y?bKo^*t|x@xMuI|DGBkRejFw7 z0Z^tFnds`gdaozt=fBXgsc=daFUAlDW~IM|P^E`{`X<4$Z!nl8Js>}7>Fd}bA{H|S zjP;iA_Tp)pC}<7hK_z{-%|PuK88qucMpJh4`QNOG%jYs;=0{q3O*03SDubYo4ExAsEG> z?O1pTbgk0q$9PJEht~O+zm%)yG?Lo#_PE5K{3rI-Kjq-Bk}lVmnd^bBcKiz1OdXEg=5{_ut5{(3Dl^fYb+G zP+CA`WKH>~>}owh>5!uj>G5ytmgZ(Elx7dvc-(}D{rht)4OC)~1Y)7^dUh38+J0&;1QC+x2fA9IxN|AOD@|Gsmo`f>F*_|j3BTXeAdH_WeiHt$E!j5Y5Vks?+qr9EU)fq4c5j2zbbi`Eo=8f8VAgy?>Zpa3+zUT+7WW#6q$l812@b zOg&{(rdgJ?aGC+396`dmcf z{B7p8UBIQj8Y%m`nkJV?bO-o><)x#m|1WBwDJpgdH~Q5gYBDW$C?)FELU!=Gfcjnd zV>clYXksFOn}&NM)t8PKjK3m*+lX~fe@%9FOMi{}9|8I;++QAFQr@4ve8x9D`MVCc zItaI&%x$Mq;hVg2^V1=uOlZB~`^llvW@LJ5jyAGD?)n__0R(6_QzYq~Di*)nchh%B294 zd1dFUV{}N1g0$dt+e;X=%J}vfI0Jt-q756wgW5VA(>CRZQM+rqlz-odD~5#@;rRrK(sz_$tO^e zYXbJ={KC|fM-OT+$J@}nxztfLRj(cS|O zP1oPiIu&8=2KX;qo`_Zx*gc~VkDH?!h6DBowCG0j`U7l*x?g^L#s<$KA3b-Vc~UX{ z9xo%TWZIt#xwU$ON@I6-bvK%pHaj_|>3x;pTNt!oH(B;cBd)a;5baqD+63#X2_AyI z$lz2rG_R;L*$y{R;Kk6+%&j_N@oQdR=X)vq5EhIg)ac>|WeHg#AHmi}Gdiik6av^Z z45sA{LYjQ{vPNM^%MDJ#KYFIV)3qM!nXs|^!P-y^IWduf$i!L!Ytc0qVzT7ZhA>?D znt|6hF^Bxe#0<_{y#pZAz=zMO!__}wvkTAK5X?F;fjK3f%760$4b}V9jvZ4>KjBDs z>B=Vb19P0osX#-9uEyu)KvOaf6=3(Q^b+=@76hslW$RBdru2>pwH}mBPw@q!Vy!09 zX|psgEWU92$<&ynGtPtm@iUc+kB8Rx(g+cAvj4<;JKf*&q=Q&`eL&;jrD(?#n@J&M zD(dJocv&7!zvD6INXni?f%T&=Q;eR{zMeQ6a9L#VmLWYwDOUgbL)X5^5P*@)DVzmg z(H*5k*U3i%;Kt*JMy0W$`6_vs+=s226d&r##K_1%2n^<=ZDhr}hqWif?DRYpot7s4 zwu5#i54pnoU_<}~So%z|tyEs3VqyLI&%7a&CQp+1&Nr+Xxj}BCr3$t z`NiLl=%nVz#50a&rhi`m1}GPD;{`LrK460U3*&g6*dM(v)WPw9S6hsPMqks?JDixL z0PKe(dv$jjFBpv{1~1Iy&8QqPQ$V4)(&+7p0q5r^!!nm#{JF95f{%Y(CAN2a9utJHui}YHV!86!;3&9xeXf+IMKJF zXo@)$LKE9Ek$NBkN&%?iPFn8PA67JF_`ch~#G#u0J#bI6&_7@L8V?uv;rE}B3(TtN zk#+fFdu;!=eT*&&LCws_ri=xSOeEQ$#-xk|%S0qu>wjjr%@P9>N#5dQQ+@s9388T= z|DX0j%m0k{UmZ;`0pcMv|KI6fdmuw-{@PoV-MzcQs~su-&+_W9RTZphCe@9(2Et*` zLJCl1;3Xch&#bwCU7EUXsj77R9WY z?TfFFOr~urm%?9X9tFv7Lx5|L8W=fsTK<}|vQFs!;~b~%0#H=O&hqPEuJo$(Xe^=d zoV1BlKLRX!_=FxB=bAP2C?1x18UzHS$ac7^!9qfo$&Ymjv22LvC&zYpr9H*EJxVV` zv6Nv)><7tfu}Ou5JEK|XKl_E#%S4!MKVt#~^Z=R*U*9YZ&P;QqDS+rU6DFd|5Sm=dxm}a5-PK@k*--ZL|M0$Bg~|H9KjT0j<&l%YmkdB|y6s z66@6kjiw1;GtgB1QI&phbO@Njod(oCGW_l(La!!cbM~z^)kX{y8c;xL@;`GjsWnaH zrvNE99@Xd@fK^uMYVknF1-h~|$^MOVvp}XRu?EC+@7W1%XU3(ll-3q&aT)y3jM;=r z+7jmmi*SvM91*q4Q*KqY!koZ(fhL;?j0$tpN+bRXFCa%`iYl<$zRc@;dEe#6{|Hz$ zTTFTk0C0^?d#>VJD3||Nw0Ai#{paI1Sd=R+n$0Tb11Ae8{{BZK|1W{(HlqE#&i`om ze=GQZRL%XTfkw4St5LP=TboqPf5dWrtQ>!e6!8V2X*Hm?&t zGhX(S-%AC}_uIc(dVI631aD%cU9v5RPpC&U7tAQ*RH!QZMAXMJW%7d*;BtVw^&>c@ z)n8DaDPbnop4O!>xj|ZZ4Rh?5Gi&lcRGPyomD}9P6p@I9muY5WO1|+;Id%aFo8XS} z9WrHJHyjL1-S9G%-MO||fAXyh21?!7a(ffgb|iQ!CNO@}gzwQuQngrzfr) zT>Ly;1;ymqa1Os)L9i+t z6;_3`&@t-E7gC9)4CRuF#g?^Y(wf)xu%KB`PjW3JHpAMxY>`7u&%YVWMf*29Iy`OO zFBiO{p%3_;J4E$xSVFq|z#pOry;eeF9)2Z)u;!BQSu8{NNUd1E0gXynLP}!qyf_3C zrx@I@oiKO=j$abko5Wu|=V_Gsv*zVwN?qKMXjiwv$6l(zKgi9?T4dL~eR*12MH%-s z92H=dV&9c$h^DxUL5{M}{Fab|$mpR@-|%^f@m-OF7RI!HkQ{Y=65Bx6h|qVIU0w8? z*9P7cJk6taGCec&0mjL`Ho;e78Vw60OD_Lhmi<_%_kR_ymDsj}@s3h~s-@hq_TXw4 z7@}9)jpP@PG$koaw1x{KYiR`{OT1h2hVfnr?3D#K1#wOM#S5dou|FT)4#xzr)tEv7 zC^v_Rnp#qBhQ-%5hqjG~J_Tb1UAi?xx}cCY1$~Xcd`h)%0JB_ch%fRTNCH+i^!`ZB z*M{!au$&}0-xwo%S}BW`KgL+;si;*i{@hi*=M{;spi(hEa~^+N=v*LYcPCDS{$&L5 z{EegK7lkz#PKK&ET4F%B(OfG7_jvQ7w9qcioAOvIb@=&b0^X9ou-=kfCHEKXzgzBK zAbvs?vesw+oB+_Yl0;zJUwd(LyUGR&P_ZLj28zPC-&V;&g;6!~wP!LuoN`kKV)c*@ zx*?dhtOc@;f<`n(iy=7@yH2s1@*-MekLHMci=Sn`y8MJQxD8~aFA%)b`zJgNiwTf@ zsS{Qy1T?P2w%ssSj?k0y_oS>ezG*%v2Ipk< z;A7}|{~V0BT7~arcC_FXKJ)HEh_@C|-~ zHSgm|pTu3DDoi94P@Tg3J)o9<$|HI$4wnQy?s`Vw!TUpvx1azPb(#QPK5C@~kN1Wx zFo<+bX+VfRl^^>>`3j&>?ERWIN2jeS0Nb?vgahcg()W@U?u;$yip#o++1VYrBySX$ z;aG@N!3e=Af?~;kz!&7^Tn9?+T{+7{(4H9QY5I=ku+NIAE&HInT^$eH{!K4}k14t> zW237oDd{XSJ=N2@F0`Lx`18@iXGa(v6I)YW>MdnGME)1v#0Sbzn{o~Fi5D6yqwpUL zsWG4@Du{<9h_D##Q=rZo4f?@ER{ey8B3)E9gAt3tAM9i|W{<~PzRP%^f(SR=&SpAb&8rV%tLJD&+EtH_QN^k;XqTd@F z7QLarRcpr3qUu>wq%S-Nu57G5!=?|Z7DXoM(^k7~`d9C}Zx1g#shr7m2{thso;f-I zocM7NF)MR3zRKr9>pE%gFT0ir`)P(4a%OG!8Rhp+sn_U;#_-~l;#@vR9XdW#S^I6hEqQkPZXNYN>%-R%mj_^(L|;4>&ReoeiZ8{OvF354ycAyRmlX-LymVB zUx<_lVMyiHG8wpQAjelp*^k}Y_ztp-g(2SP3yDdytuqHCNxixV8ho9IIR*?pZDhp> zO)cc5dIpMENAy~gixB*Rx&2$v=%#BALWjbO(^GW34#&oWs}#!*QNTR|7})9ZfeP}9 z;^EroSI9<@*MVDt`-};`t>n5IWymp7;NYJK_Jg)fY1i!S&6<;ORCRtpZ>4^;LbE(G z^M2nr`)iXdhIQRVt7ZphGF?SF&vC$!%EYL9(@@1bg+6RpZ+`BQmQhAlY>S#8;$wXm zvSHZJBveS&uIqRV;X0!NkcYfyb3R$r;d^aN zxi&H=#MmTKmY2ArL*3-jzZ$r#Ht=aA(j3OP)gu#j`G&wvsrs=zAk8? zC<~ZX0zE=@MX2qkuDa@v*(O#rS-T_HJx8P2pZxhxT7V_IG~L8{Swy`r?ofn(I`(Zj zkXE~rHPkETeH1JyDTwL6zkIsXTD!i4!42McJLsPHiOb>!Owx>zlu9u(T5&~?`HRlV z2NZze5-xzB?MJd#m6tfP#5#w^@n*qGmLXHQcjO)l;v$|PYXrA2Co6U5x{YF z=|SF!I1IIHZA4iM7C+fUZ4>k$T*#JEW52zqMu7}Xt;i~(DZ3JfmRw>1e+czo-0J3? z9D?dn9~rX7HL!+BqWPUJ(kPE!*s`ZzH>$ej^xA-?X90#O-J1P&=-b1zJL-MvUVMtp z721YgDs@fpDfgy9s3?0KO`g1COV{HdYS=Y6f(%BBj(pk8n$x{(NJR}^>SUl(MZ#T& zUFBF_CE5rEll{{bH1^-#u1SKlpBkmK$QoYW8kPxy#}y0XJeOLtEowL1iVT#aRMEDk zEyRGLH>&UxK%ogm<*T=*W;Bd!Z}MtR(Xkz}ZTa}(JDmRtHfjgKAqVdQYUx~gAi~3z z1hKa3FP)&~&67#QiE2Lzi@Z`WT!k(21@YFsbzH6+-_uzVwHtfIF7f;&~?ouk_5F@NxnBz#snf@TkRHEYg(0@tXiU1?(368=ocz zKF?TlagrvChM2JSwtkutYO*(-F6oGmXMSDcVAb23J&Lj->F}r$6|&L;1{#*HcYZ+G z17ysu4_izkdWI4mjZGjwVLQP@vqA^re{7>S2z&w1;H;h(6sek_Y?(w0itMPym-8GO zMOur6x#YSfa`R6X#wUT^Yztl7ntzx*BZOgSUM$mkIJ8aMgN2sXn(f)T3WxiIs@N+# zN4ltE2JGy0F1vv?)jwKRK&8KVr~yepuhH$9#mzBQCGom5%9g?H9k@>V*Gx_(p@3N? z7>)S8IFF36kPKoeX{6G1k9yNk6g)TZL|6*+cFo)b$o{G-F+v5n)BLRn`(_Izb!h;~Me^R3cR z3tHXJt+B{hu1&W<>>Komy6=u_r;L}})!ttz0?o-x8YN*4)mj48t(}+L7A9eYI$0ar zF;uf_6fts|N4t~a0D-i`!nClla#kEQA)jWL-t&?~?BlI@rGGGwe@#Xma{dv{NCVOXT=hi8-2aRz_+byr7wJbbB2V77j=l^mL0sXjtLm=7 z)vSnQ>>2R>X6P-%0_?c9Xzw_PHA4s>T=#BO)$Ya#rxxl7VT^UKfbSs^TwnJs*whsu z;M4dRYT#lAc%8?f}hdsVC6P819po%gUONC7Qr@2e$cc) zn81Q9ms06MFg&*S_=WNB&VRqU6}=JiXb#;9ip899JV%AlE=)zIzUfT;e$62&{K6Vd zjsNL93~>U{an}y``{ytR!=1}4DS9NLZ}CLDHL~~Sw@VVI%9e-0+*s-bc_oKIlK5}E zReO&wufMQnV*u!AG8Att2~C|cyO*|x#QV-$F4m;Mf%7eo{ zr<%6!eE#AOukvR`Dx>?JU^&|kNq@(8*GdTlQXpL!WF?)tmgiQLBz>jJ8Zg5e9u83= zOIvM@!r^av;l&MC0vLS6m0`#7>Yn*g?{8ZO-sXBg*5?M9mC@0;DNVUkc=o!L4Bn9X&^SbF8(8*ESti zopB{@5g4J7O^puZie4D#$3@(zpmC+j4~8W<#LCjVS>nS#pSIzX&4e_Dnr6;~zEn4D z*os=#8{_LO+2|L==j&f*jic9W&%|ENLA!|AQ}{XUlWv>z*5<*2OgbE!PDNdp?JoDc z0NeG|9%Si^orXW2dRoW-=K6RN8!Vdd=xl52zw(jG228Q_{e~&=5&woKM9V05Qqgr6Kx`^vwO(Zj9hg3%Ez2Sr_JYx36xNq9Q zt*#3D>ckyejm*350*>RX0~CXMqV4Iiu{_kjN7N_fB%4i4@KfTgR zGw@p*v!BUxO9D?fIjBk8i?}i*inPTfUoYc7JS#u=i|J+q78=^{*# z-fy=)KRe&1G>EkaPk1|BI+F(gM{Xo?E&N5ZC=fS|db;XTq-oS&%Ohk}#+CT63FS^bL2)IE`>hw%7Qhz`;y2 zVu$*CHn7=rm%gQELA}>u;t@aKZxY6dg#qx|awIbAGnBt+4rquBYu%)wV&2UT<;%vNN*DvI4 zU|`i(1iJa3-B8?Xkxz)p(z($$$%E1#ungNGWeOuDJh1h4V;QICwZIV(sqv-_^V z476_4rB{bRn<-4e%MbiZDZqkYsL?XlJ8oNEWZ6a>Ab_-L~Afva^|G)pTl z5j<3X#IcaNyvL_^@m6dis*AvsLtl+2eE3i|aw7n&(MSf!K=B00FRQMm4G6++EI7s| zI|IkCWCl{^rw7g#?$e4>OMmo)Nhf}cQWaetbfZHufy-nvODiB6Db({)vVa*)J3-!^ z{_xd=eiYo5`|*U_6qa8_)=fiXo{}K_w@$xvZ5A=(QxZU`AsspMR#!w!9Sj%^c4-ry zG6%q2%}^cb6(S}mx@n%Q%3m}M=r4-wp6EEPfqB{-CAt91G{+~bg|&n5vo2UvBD5wS zR3Iu0uiAE?@OykhJAtoK)VTvC>>3v&1e)pAG|9cLC-1v(4v+P5GAjvE@R(cC$9?g! z1St7xP&T=e^e8X_@#Xkszo?UR3CnFFliIW{F2BldyY}fpX#+^B zqGje0C_xm`*t;pSS>B%A)sm8nMS`MW=f|m2iFToo52XXAN7j^*%P-`oMzi|5s4S`u z?A7Wnst??yc5YlFElhN&NpU}rcbb=2$vhNYYdIOEtl~99vlNkOS-^HM= zd>%giXHLY$z{2ruPg4Gha$V8hpHS!9k}zqch6wL-E??w%i85f*3Q{NA^lb1v*&j@< zP9%1|LJEEVoc}cXGU9q+;(437{^Gstg-y)z&i*6s#wM@wCi@tB^$Oa)ll|nm@pg0b@$;oltuh29z;TIn7Xx=K<+tU5D=Lw-_n~ zyXQlDGDcGtxXV4{u$J(Wmtwz<+Bt|L<6}NKjzbokW3CM5uxjJ4`J% zB$U^YF7#VbF=2hIW2o{BpmjfXN?$(NbN!ZpKj^?uoTl3IGu6QkEZ zU;f-?smpJvy!5Swd-*j3T34)3?-M^?9qRIuSDURmkY`MEMw?qOe%A4(5A&^`?#_uJ zKx>zC-DzW*I;SJr(8$qa^8fzQ0(q)D%jIPosa+fr*YT0=$FTTDWa3rNP67brMQ4aJ zaUJWJ;&1$>^c48~b4tDJ23DOz$6?j{-VXrQ@w)(}6cysi2<~uwq2*Dqa^?=epAm zQFS?jK6+Ih=8w@K(Dmwrr-R|yqISlQaIe+tQZ=jkCqXNrm@k6EPoE12dxy|aB9z+c z4!U89(7nttX#Z!2j(GIv-(Een+y0|=iLb>C-^4v!e*^dLnVNg3ai4Hi-K_e)mz+U4 zPo{6*V%Wqdce(k^4a0{D$6YJ7cDeoKn(p?qXu@;37^@!+NR%nSkEj7++~w9dxB0TfYW zNbEYDzXG`YGl`RdK^Q0k%mluvjGl}Sr%z91l#|X_WFS}vl=ft2V2}Yz!wAOd7g8DZ zrCUN}of+3NFnEZwgU@|}Ni#4UoGz8ds3HS8rEfnli=E|WU;rM0fdoG8m>vaE0X_!} zsNy(K1?cD~1bDD}`m8iYWf}Ctr4TAE?3*r=&ZsBM-Pq$A8aw^YE zk4|UQlR=!lfo}Sqv(uLX^~xZ&A}}yWBa8;JPCS?%ufixhy(5EBi}~ Date: Sun, 21 Aug 2022 20:04:52 -0400 Subject: [PATCH 0411/1248] Update snapshot for chapter 12 --- nostarch/chapter12.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nostarch/chapter12.md b/nostarch/chapter12.md index 2c173f1a26..bdb2b3ff5f 100644 --- a/nostarch/chapter12.md +++ b/nostarch/chapter12.md @@ -1,3 +1,8 @@ + [TOC] @@ -37,6 +42,7 @@ Our `grep` project will combine a number of concepts you’ve learned so far: * Handling errors (Chapter 9) * Using traits and lifetimes where appropriate (Chapter 10) * Writing tests (Chapter 11) + We’ll also briefly introduce closures, iterators, and trait objects, which Chapters 13 and 17 will cover in detail. @@ -347,6 +353,7 @@ should be limited to the following: * Setting up any other configuration * Calling a `run` function in *lib.rs* * Handling the error if `run` returns an error + This pattern is about separating concerns: *main.rs* handles running the program, and *lib.rs* handles all the logic of the task at hand. Because you can’t test the `main` function directly, this structure lets you test all of @@ -1626,7 +1633,6 @@ fn main() { if let Err(e) = minigrep::run(config) { eprintln!("Application error: {e}"); - process::exit(1); } } From fddf5a541c23ba3211c68dd07398be5d674a7274 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 21 Aug 2022 20:07:47 -0400 Subject: [PATCH 0412/1248] Snapshot of chapter 12 copyedited --- nostarch/chapter12.md | 1655 ++++++++++++++++++++++++++++++---- nostarch/docx/chapter12.docx | Bin 90867 -> 90525 bytes 2 files changed, 1485 insertions(+), 170 deletions(-) diff --git a/nostarch/chapter12.md b/nostarch/chapter12.md index bdb2b3ff5f..90d696d300 100644 --- a/nostarch/chapter12.md +++ b/nostarch/chapter12.md @@ -16,7 +16,7 @@ the Rust concepts you now have under your belt. Rust’s speed, safety, single binary output, and cross-platform support make it an ideal language for creating command line tools, so for our project, we’ll make our own version of the classic command line search tool `grep` -(globally search a regular expression and print). In the +(**g**lobally search a **r**egular **e**xpression and **p**rint). In the simplest use case, `grep` searches a specified file for a specified string. To do so, `grep` takes as its arguments a file path and a string. Then it reads the file, finds lines in that file that contain the string argument, and prints @@ -26,8 +26,8 @@ Along the way, we’ll show how to make our command line tool use the terminal features that many other command line tools use. We’ll read the value of an environment variable to allow the user to configure the behavior of our tool. We’ll also print error messages to the standard error console stream (`stderr`) -instead of standard output (`stdout`), so, for example, the user can redirect -successful output to a file while still seeing error messages onscreen. +instead of standard output (`stdout`) so that, for example, the user can +redirect successful output to a file while still seeing error messages onscreen. One Rust community member, Andrew Gallant, has already created a fully featured, very fast version of `grep`, called `ripgrep`. By comparison, our @@ -42,9 +42,8 @@ Our `grep` project will combine a number of concepts you’ve learned so far: * Handling errors (Chapter 9) * Using traits and lifetimes where appropriate (Chapter 10) * Writing tests (Chapter 11) - We’ll also briefly introduce closures, iterators, and trait objects, which -Chapters 13 and 17 will cover in detail. +Chapter 13 and Chapter 17 will cover in detail. ## Accepting Command Line Arguments @@ -54,7 +53,13 @@ on your system. ``` $ cargo new minigrep +``` + +``` Created binary (application) `minigrep` project +``` + +``` $ cd minigrep ``` @@ -69,8 +74,8 @@ $ cargo run -- searchstring example-filename.txt ``` Right now, the program generated by `cargo new` cannot process arguments we -give it. Some existing libraries on *https://crates.io/* can help with writing -a program that accepts command line arguments, but because you’re just learning +give it. Some existing libraries on *https://crates.io* can help with writing a +program that accepts command line arguments, but because you’re just learning this concept, let’s implement this capability ourselves. ### Reading the Argument Values @@ -91,25 +96,45 @@ Filename: src/main.rs ``` use std::env; +``` +``` + +``` + +``` fn main() { +``` + +``` let args: Vec = env::args().collect(); +``` + +``` dbg!(args); +``` + +``` } ``` Collecting the command line arguments into a vector and printing them -First, we bring the `std::env` module into scope with a `use` statement so we +Prod: please renumber this as Listing 12-1 and then renumber the remaining +listings consecutively; e.g., Listing 12-2, Listing 12-3, etc. + +First we bring the `std::env` module into scope with a `use` statement so we can use its `args` function. Notice that the `std::env::args` function is nested in two levels of modules. As we discussed in Chapter 7, in cases where the desired function is nested in more than one module, we’ve chosen to bring the parent module into scope rather than the function. By doing so, we can easily use other functions from `std::env`. It’s also less ambiguous than -adding `use std::env::args` and then calling the function with just -`args`, because `args` might easily be mistaken for a function that’s defined -in the current module. +adding `use std::env::args` and then calling the function with just `args`, +because `args` might easily be mistaken for a function that’s defined in the +current module. + +Unmatched: BoxType > ### The args Function and Invalid Unicode @@ -118,14 +143,14 @@ in the current module. Unicode. If your program needs to accept arguments containing invalid Unicode, use `std::env::args_os` instead. That function returns an iterator that produces `OsString` values instead of `String` values. We’ve chosen to use -`std::env::args` here for simplicity, because `OsString` values differ per +`std::env::args` here for simplicity because `OsString` values differ per platform and are more complex to work with than `String` values. On the first line of `main`, we call `env::args`, and we immediately use `collect` to turn the iterator into a vector containing all the values produced by the iterator. We can use the `collect` function to create many kinds of collections, so we explicitly annotate the type of `args` to specify that we -want a vector of strings. Although we very rarely need to annotate types in +want a vector of strings. Although you very rarely need to annotate types in Rust, `collect` is one function you do often need to annotate because Rust isn’t able to infer the kind of collection you want. @@ -134,24 +159,57 @@ first with no arguments and then with two arguments: ``` $ cargo run +``` + +``` --snip-- +``` + +``` [src/main.rs:5] args = [ +``` + +``` "target/debug/minigrep", +``` + +``` ] +``` + +``` $ cargo run -- needle haystack +``` + +``` --snip-- +``` + +``` [src/main.rs:5] args = [ +``` + +``` "target/debug/minigrep", +``` + +``` "needle", +``` + +``` "haystack", +``` + +``` ] ``` -Notice that the first value in the vector is `"target/debug/minigrep"`, -which is the name of our binary. This matches the behavior of the arguments -list in C, letting programs use the name by which they were invoked in their -execution. It’s often convenient to have access to the program name in case you -want to print it in messages or change behavior of the program based on what +Notice that the first value in the vector is `"target/debug/minigrep"`, which +is the name of our binary. This matches the behavior of the arguments list in +C, letting programs use the name by which they were invoked in their execution. +It’s often convenient to have access to the program name in case you want to +print it in messages or change the behavior of the program based on what command line alias was used to invoke the program. But for the purposes of this chapter, we’ll ignore it and save only the two arguments we need. @@ -166,26 +224,56 @@ Filename: src/main.rs ``` use std::env; +``` + +``` +``` + +``` fn main() { +``` + +``` let args: Vec = env::args().collect(); +``` + +``` + +``` +``` let query = &args[1]; +``` + +``` let file_path = &args[2]; +``` + +``` + +``` +``` println!("Searching for {}", query); +``` + +``` println!("In file {}", file_path); +``` + +``` } ``` Creating variables to hold the query argument and file path argument As we saw when we printed the vector, the program’s name takes up the first -value in the vector at `args[0]`, so we’re starting arguments at index `1`. -The first argument `minigrep` takes is the string we’re searching for, so we -put a reference to the first argument in the variable `query`. The second -argument will be the file path, so we put a reference to the second argument in -the variable `file_path`. +value in the vector at `args[0]`, so we’re starting arguments at index `1`. The +first argument `minigrep` takes is the string we’re searching for, so we put a +reference to the first argument in the variable `query`. The second argument +will be the file path, so we put a reference to the second argument in the +variable `file_path`. We temporarily print the values of these variables to prove that the code is working as we intend. Let’s run this program again with the arguments `test` @@ -193,10 +281,25 @@ and `sample.txt`: ``` $ cargo run -- test sample.txt +``` + +``` Compiling minigrep v0.1.0 (file:///projects/minigrep) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s +``` + +``` Running `target/debug/minigrep test sample.txt` +``` + +``` Searching for test +``` + +``` In file sample.txt ``` @@ -209,7 +312,7 @@ capabilities instead. ## Reading a File Now we’ll add functionality to read the file specified in the `file_path` -argument. First, we need a sample file to test it with: we’ll use a file with a +argument. First we need a sample file to test it with: we’ll use a file with a small amount of text over multiple lines with some repeated words. Listing 12-3 has an Emily Dickinson poem that will work well! Create a file called *poem.txt* at the root level of your project, and enter the poem “I’m Nobody! @@ -219,49 +322,105 @@ Filename: poem.txt ``` I'm nobody! Who are you? +``` + +``` Are you nobody, too? +``` + +``` Then there's a pair of us - don't tell! +``` + +``` They'd banish us, you know. +``` +``` + +``` + +``` How dreary to be somebody! +``` + +``` How public, like a frog +``` + +``` To tell your name the livelong day +``` + +``` To an admiring bog! ``` -A poem by Emily Dickinson makes a good test case +A poem by Emily Dickinson makes a good test case. -With the text in place, edit *src/main.rs* and add code to read the file, as +With the text in place, edit *src/**main.rs* and add code to read the file, as shown in Listing 12-4. Filename: src/main.rs ``` use std::env; +``` + +``` 1 use std::fs; +``` + +``` +``` + +``` fn main() { +``` + +``` --snip-- +``` + +``` println!("In file {}", file_path); +``` + +``` +``` + +``` 2 let contents = fs::read_to_string(file_path) +``` + +``` .expect("Should have been able to read the file"); +``` + +``` + +``` +``` 3 println!("With text:\n{contents}"); +``` + +``` } ``` Reading the contents of the file specified by the second argument -First, we bring in a relevant part of the standard library with a `use` +First we bring in a relevant part of the standard library with a `use` statement: we need `std::fs` to handle files [1]. -In `main`, the new statement `fs::read_to_string` takes the `file_path`, -opens that file, and returns a `std::io::Result` of the file’s contents -[2]. +In `main`, the new statement `fs::read_to_string` takes the `file_path`, opens +that file, and returns an `std::io::Result` of the file’s contents [2]. -After that, we again add a temporary `println!` statement that prints the -value of `contents` after the file is read, so we can check that the program is +After that, we again add a temporary `println!` statement that prints the value +of `contents` after the file is read, so we can check that the program is working so far [3]. Let’s run this code with any string as the first command line argument (because @@ -270,20 +429,65 @@ second argument: ``` $ cargo run -- the poem.txt +``` + +``` Compiling minigrep v0.1.0 (file:///projects/minigrep) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s +``` + +``` Running `target/debug/minigrep the poem.txt` +``` + +``` Searching for the +``` + +``` In file poem.txt +``` + +``` With text: +``` + +``` I'm nobody! Who are you? +``` + +``` Are you nobody, too? +``` + +``` Then there's a pair of us - don't tell! +``` + +``` They'd banish us, you know. +``` + +``` +``` + +``` How dreary to be somebody! +``` + +``` How public, like a frog +``` + +``` To tell your name the livelong day +``` + +``` To an admiring bog! ``` @@ -293,9 +497,9 @@ responsibilities: generally, functions are clearer and easier to maintain if each function is responsible for only one idea. The other problem is that we’re not handling errors as well as we could. The program is still small, so these flaws aren’t a big problem, but as the program grows, it will be harder to fix -them cleanly. It’s good practice to begin refactoring early on when developing -a program, because it’s much easier to refactor smaller amounts of code. We’ll -do that next. +them cleanly. It’s a good practice to begin refactoring early on when +developing a program because it’s much easier to refactor smaller amounts of +code. We’ll do that next. ## Refactoring to Improve Modularity and Error Handling @@ -340,8 +544,8 @@ community has developed guidelines for splitting the separate concerns of a binary program when `main` starts getting large. This process has the following steps: -* Split your program into a *main.rs* and a *lib.rs* and move your program’s -logic to *lib.rs*. +* Split your program into a *main.rs* file and a *lib.rs* file and move your +program’s logic to *lib.rs*. * As long as your command line parsing logic is small, it can remain in *main.rs*. * When the command line parsing logic starts getting complicated, extract it @@ -353,9 +557,8 @@ should be limited to the following: * Setting up any other configuration * Calling a `run` function in *lib.rs* * Handling the error if `run` returns an error - This pattern is about separating concerns: *main.rs* handles running the -program, and *lib.rs* handles all the logic of the task at hand. Because you +program and *lib.rs* handles all the logic of the task at hand. Because you can’t test the `main` function directly, this structure lets you test all of your program’s logic by moving it into functions in *lib.rs*. The code that remains in *main.rs* will be small enough to verify its correctness by reading @@ -365,25 +568,64 @@ it. Let’s rework our program by following this process. We’ll extract the functionality for parsing arguments into a function that `main` will call to prepare for moving the command line parsing logic to -*src/lib.rs*. Listing 12-5 shows the new start of `main` that calls a new -function `parse_config`, which we’ll define in *src/main.rs* for the moment. +*src/**lib.rs*. Listing 12-5 shows the new start of `main` that calls a new +function `parse_config`, which we’ll define in *src/**main.rs* for the moment. Filename: src/main.rs ``` fn main() { +``` + +``` let args: Vec = env::args().collect(); +``` + +``` + +``` +``` let (query, file_path) = parse_config(&args); +``` + +``` + +``` +``` --snip-- +``` + +``` } +``` +``` + +``` + +``` fn parse_config(args: &[String]) -> (&str, &str) { +``` + +``` let query = &args[1]; +``` + +``` let file_path = &args[2]; +``` + +``` + +``` +``` (query, file_path) +``` + +``` } ``` @@ -426,29 +668,101 @@ Filename: src/main.rs ``` fn main() { - let args: Vec = env::args().collect(); +``` - 1 let config = parse_config(&args); +``` + let args: Vec = env::args().collect(); +``` - println!("Searching for {}", 2 config.query); - println!("In file {}", 3 config.file_path); +``` - let contents = fs::read_to_string(4 config.file_path) - .expect("Should have been able to read the file"); +``` +``` + 1 let config = parse_config(&args); +``` + +``` + +``` + +``` + println!("Searching for {}", 2 config.query); +``` + +``` + println!("In file {}", 3 config.file_path); +``` + +``` + +``` + +``` + let contents = fs::read_to_string(4 config.file_path) +``` + +``` + .expect("Should have been able to read the file"); +``` + +``` + +``` + +``` --snip-- +``` + +``` } +``` + +``` + +``` +``` 5 struct Config { +``` + +``` query: String, +``` + +``` file_path: String, +``` + +``` } +``` + +``` + +``` +``` 6 fn parse_config(args: &[String]) -> Config { +``` + +``` 7 let query = args[1].clone(); +``` + +``` 8 let file_path = args[2].clone(); +``` +``` + +``` + +``` Config { query, file_path } +``` + +``` } ``` @@ -473,6 +787,8 @@ circumstance, giving up a little performance to gain simplicity is a worthwhile trade-off. +Unmatched: BoxType + > ### The Trade-Offs of Using clone @@ -500,7 +816,7 @@ named for their purpose. So far, we’ve extracted the logic responsible for parsing the command line arguments from `main` and placed it in the `parse_config` function. Doing so -helped us to see that the `query` and `file_path` values were related and that +helped us see that the `query` and `file_path` values were related, and that relationship should be conveyed in our code. We then added a `Config` struct to name the related purpose of `query` and `file_path` and to be able to return the values’ names as struct field names from the `parse_config` function. @@ -511,29 +827,80 @@ named `new` that is associated with the `Config` struct. Making this change will make the code more idiomatic. We can create instances of types in the standard library, such as `String`, by calling `String::new`. Similarly, by changing `parse_config` into a `new` function associated with `Config`, we’ll -be able to create instances of `Config` by calling `Config::new`. Listing -12-7 shows the changes we need to make. +be able to create instances of `Config` by calling `Config::new`. Listing 12-7 +shows the changes we need to make. Filename: src/main.rs ``` fn main() { +``` + +``` let args: Vec = env::args().collect(); +``` + +``` + +``` +``` 1 let config = Config::new(&args); +``` + +``` + +``` +``` --snip-- +``` + +``` } +``` + +``` + +``` +``` --snip-- +``` + +``` +``` + +``` 2 impl Config { +``` + +``` 3 fn new(args: &[String]) -> Config { +``` + +``` let query = args[1].clone(); +``` + +``` let file_path = args[2].clone(); +``` + +``` + +``` +``` Config { query, file_path } +``` + +``` } +``` + +``` } ``` @@ -553,12 +920,33 @@ without any arguments; it will look like this: ``` $ cargo run +``` + +``` Compiling minigrep v0.1.0 (file:///projects/minigrep) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s +``` + +``` Running `target/debug/minigrep` +``` + +``` thread 'main' panicked at 'index out of bounds: the len is 1 but +``` + +``` the index is 1', src/main.rs:27:21 +``` + +``` note: run with `RUST_BACKTRACE=1` environment variable to display +``` + +``` a backtrace ``` @@ -569,17 +957,32 @@ they should do instead. Let’s fix that now. #### Improving the Error Message In Listing 12-8, we add a check in the `new` function that will verify that the -slice is long enough before accessing index 1 and 2. If the slice isn’t long -enough, the program panics and displays a better error message. +slice is long enough before accessing index 1 and index 2. If the slice isn’t +long enough, the program panics and displays a better error message. Filename: src/main.rs ``` --snip-- +``` + +``` fn new(args: &[String]) -> Config { +``` + +``` if args.len() < 3 { +``` + +``` panic!("not enough arguments"); +``` + +``` } +``` + +``` --snip-- ``` @@ -588,7 +991,7 @@ Adding a check for the number of arguments This code is similar to the `Guess::new` function we wrote in Listing 9-13, where we called `panic!` when the `value` argument was out of the range of valid values. Instead of checking for a range of values here, we’re checking -that the length of `args` is at least 3 and the rest of the function can +that the length of `args` is at least `3` and the rest of the function can operate under the assumption that this condition has been met. If `args` has fewer than three items, this condition will be true, and we call the `panic!` macro to end the program immediately. @@ -598,16 +1001,31 @@ arguments again to see what the error looks like now: ``` $ cargo run +``` + +``` Compiling minigrep v0.1.0 (file:///projects/minigrep) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s +``` + +``` Running `target/debug/minigrep` +``` + +``` thread 'main' panicked at 'not enough arguments', src/main.rs:26:13 +``` + +``` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` This output is better: we now have a reasonable error message. However, we also -have extraneous information we don’t want to give to our users. Perhaps using -the technique we used in Listing 9-13 isn’t the best to use here: a call to +have extraneous information we don’t want to give to our users. Perhaps the +technique we used in Listing 9-13 isn’t the best one to use here: a call to `panic!` is more appropriate for a programming problem than a usage problem, as discussed in Chapter 9. Instead, we’ll use the other technique you learned about in Chapter 9—returning a `Result` that indicates either success or an @@ -625,24 +1043,57 @@ practical error for our users without the surrounding text about `thread 'main'` and `RUST_BACKTRACE` that a call to `panic!` causes. Listing 12-9 shows the changes we need to make to the return value of the -function we’re now calling `Config::build` and the body of the function -needed to return a `Result`. Note that this won’t compile until we update -`main` as well, which we’ll do in the next listing. +function we’re now calling `Config::build` and the body of the function needed +to return a `Result`. Note that this won’t compile until we update `main` as +well, which we’ll do in the next listing. Filename: src/main.rs ``` impl Config { +``` + +``` fn build(args: &[String]) -> Result { +``` + +``` if args.len() < 3 { +``` + +``` return Err("not enough arguments"); +``` + +``` } +``` + +``` + +``` +``` let query = args[1].clone(); +``` + +``` let file_path = args[2].clone(); +``` + +``` + +``` +``` Ok(Config { query, file_path }) +``` + +``` } +``` + +``` } ``` @@ -674,15 +1125,45 @@ Filename: src/main.rs ``` 1 use std::process; +``` + +``` + +``` +``` fn main() { +``` + +``` let args: Vec = env::args().collect(); +``` + +``` +``` + +``` 2 let config = Config::build(&args).3 unwrap_or_else(|4 err| { +``` + +``` 5 println!("Problem parsing arguments: {err}"); +``` + +``` 6 process::exit(1); +``` + +``` }); +``` + +``` + +``` +``` --snip-- ``` @@ -692,11 +1173,11 @@ In this listing, we’ve used a method we haven’t covered in detail yet: `unwrap_or_else`, which is defined on `Result` by the standard library [2]. Using `unwrap_or_else` allows us to define some custom, non-`panic!` error handling. If the `Result` is an `Ok` value, this method’s behavior is similar -to `unwrap`: it returns the inner value `Ok` is wrapping. However, if the value -is an `Err` value, this method calls the code in the *closure*, which is an -anonymous function we define and pass as an argument to `unwrap_or_else` [3]. -We’ll cover closures in more detail in Chapter 13. For now, you just need to -know that `unwrap_or_else` will pass the inner value of the `Err`, which in +to `unwrap`: it returns the inner value that `Ok` is wrapping. However, if the +value is an `Err` value, this method calls the code in the *closure*, which is +an anonymous function we define and pass as an argument to `unwrap_or_else` +[3]. We’ll cover closures in more detail in Chapter 13. For now, you just need +to know that `unwrap_or_else` will pass the inner value of the `Err`, which in this case is the static string `"not enough arguments"` that we added in Listing 12-9, to our closure in the argument `err` that appears between the vertical pipes [4]. The code in the closure can then use the `err` value when @@ -704,17 +1185,29 @@ it runs. We’ve added a new `use` line to bring `process` from the standard library into scope [1]. The code in the closure that will be run in the error case is only -two lines: we print the `err` value [5] and then call `process::exit` [6]. -The `process::exit` function will stop the program immediately and return the +two lines: we print the `err` value [5] and then call `process::exit` [6]. The +`process::exit` function will stop the program immediately and return the number that was passed as the exit status code. This is similar to the `panic!`-based handling we used in Listing 12-8, but we no longer get all the extra output. Let’s try it: ``` $ cargo run +``` + +``` Compiling minigrep v0.1.0 (file:///projects/minigrep) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.48s +``` + +``` Running `target/debug/minigrep` +``` + +``` Problem parsing arguments: not enough arguments ``` @@ -724,35 +1217,83 @@ Great! This output is much friendlier for our users. Now that we’ve finished refactoring the configuration parsing, let’s turn to the program’s logic. As we stated in “Separation of Concerns for Binary -Projects”, we’ll extract a function named `run` that will hold all the logic -currently in the `main` function that isn’t involved with setting up +Projects” on page XX, we’ll extract a function named `run` that will hold all +the logic currently in the `main` function that isn’t involved with setting up configuration or handling errors. When we’re done, `main` will be concise and easy to verify by inspection, and we’ll be able to write tests for all the other logic. Listing 12-11 shows the extracted `run` function. For now, we’re just making the small, incremental improvement of extracting the function. We’re still -defining the function in *src/main.rs*. +defining the function in *src/**main.rs*. Filename: src/main.rs ``` fn main() { +``` + +``` --snip-- +``` - println!("Searching for {}", config.query); - println!("In file {}", config.file_path); +``` + +``` + +``` + println!("Searching for {}", config.query); +``` + +``` + println!("In file {}", config.file_path); +``` + +``` + +``` +``` run(config); +``` + +``` } +``` + +``` + +``` +``` fn run(config: Config) { +``` + +``` let contents = fs::read_to_string(config.file_path) +``` + +``` .expect("Should have been able to read the file"); +``` +``` + +``` + +``` println!("With text:\n{contents}"); +``` + +``` } +``` + +``` + +``` +``` --snip-- ``` @@ -776,15 +1317,45 @@ Filename: src/main.rs ``` 1 use std::error::Error; +``` + +``` + +``` +``` --snip-- +``` + +``` + +``` +``` 2 fn run(config: Config) -> Result<(), Box> { +``` + +``` let contents = fs::read_to_string(config.file_path)3 ?; +``` + +``` +``` + +``` println!("With text:\n{contents}"); +``` + +``` + +``` +``` 4 Ok(()) +``` + +``` } ``` @@ -796,13 +1367,12 @@ previously returned the unit type, `()`, and we keep that as the value returned in the `Ok` case. For the error type, we used the *trait object* `Box` (and we’ve -brought `std::error::Error` into scope with a `use` statement at the top -[1]). We’ll cover trait objects in Chapter 17. For now, just know that -`Box` means the function will return a type that implements the -`Error` trait, but we don’t have to specify what particular type the return -value will be. This gives us flexibility to return error values that may be of -different types in different error cases. The `dyn` keyword is short for -“dynamic.” +brought `std::error::Error` into scope with a `use` statement at the top [1]). +We’ll cover trait objects in Chapter 17. For now, just know that `Box` means the function will return a type that implements the `Error` +trait, but we don’t have to specify what particular type the return value will +be. This gives us flexibility to return error values that may be of different +types in different error cases. The `dyn` keyword is short for *dynamic*. Second, we’ve removed the call to `expect` in favor of the `?` operator [3], as we talked about in Chapter 9. Rather than `panic!` on an error, `?` will return @@ -811,20 +1381,41 @@ the error value from the current function for the caller to handle. Third, the `run` function now returns an `Ok` value in the success case [4]. We’ve declared the `run` function’s success type as `()` in the signature, which means we need to wrap the unit type value in the `Ok` value. This -`Ok(())` syntax might look a bit strange at first, but using `()` like this -is the idiomatic way to indicate that we’re calling `run` for its side effects +`Ok(())` syntax might look a bit strange at first, but using `()` like this is +the idiomatic way to indicate that we’re calling `run` for its side effects only; it doesn’t return a value we need. When you run this code, it will compile but will display a warning: ``` warning: unused `Result` that must be used +``` + +``` --> src/main.rs:19:5 +``` + +``` | +``` + +``` 19 | run(config); +``` + +``` | ^^^^^^^^^^^^ +``` + +``` | +``` + +``` = note: `#[warn(unused_must_use)]` on by default +``` + +``` = note: this `Result` may be an `Err` variant, which should be handled ``` @@ -842,20 +1433,50 @@ Filename: src/main.rs ``` fn main() { +``` + +``` --snip-- +``` + +``` + +``` +``` println!("Searching for {}", config.query); +``` + +``` println!("In file {}", config.file_path); +``` + +``` +``` + +``` if let Err(e) = run(config) { +``` + +``` println!("Application error: {e}"); +``` + +``` process::exit(1); +``` + +``` } +``` + +``` } ``` We use `if let` rather than `unwrap_or_else` to check whether `run` returns an -`Err` value and call `process::exit(1)` if it does. The `run` function +`Err` value and to call `process::exit(1)` if it does. The `run` function doesn’t return a value that we want to `unwrap` in the same way that `Config::build` returns the `Config` instance. Because `run` returns `()` in the success case, we only care about detecting an error, so we don’t need @@ -867,69 +1488,147 @@ both cases: we print the error and exit. ### Splitting Code into a Library Crate Our `minigrep` project is looking good so far! Now we’ll split the -*src/main.rs* file and put some code into the *src/lib.rs* file. That way -we can test the code and have a *src/main.rs* file with fewer +*src/**main.rs* file and put some code into the *src/**lib.rs* file. That way +we can test the code and have an *src/**main.rs* file with fewer responsibilities. -Let’s move all the code that isn’t the `main` function from *src/main.rs* to -*src/lib.rs*: +Let’s move all the code that isn’t the `main` function from *src/**main.rs* to +*src/**lib.rs*: * The `run` function definition * The relevant `use` statements * The definition of `Config` * The `Config::build` function definition -The contents of *src/lib.rs* should have the signatures shown in Listing +The contents of *src/**lib.rs* should have the signatures shown in Listing 12-13 (we’ve omitted the bodies of the functions for brevity). Note that this -won’t compile until we modify *src/main.rs* in Listing 12-14. +won’t compile until we modify *src/**main.rs* in Listing 12-14. Filename: src/lib.rs ``` use std::error::Error; +``` + +``` use std::fs; +``` + +``` + +``` +``` pub struct Config { +``` + +``` pub query: String, +``` + +``` pub file_path: String, +``` + +``` } +``` + +``` +``` + +``` impl Config { +``` + +``` pub fn build(args: &[String]) -> Result { +``` + +``` --snip-- +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` pub fn run(config: Config) -> Result<(), Box> { +``` + +``` --snip-- +``` + +``` } ``` -Moving `Config` and `run` into *src/lib.rs* +Moving `Config` and `run` into *src**/lib.rs* We’ve made liberal use of the `pub` keyword: on `Config`, on its fields and its `build` method, and on the `run` function. We now have a library crate that has a public API we can test! -Now we need to bring the code we moved to *src/lib.rs* into the scope of the -binary crate in *src/main.rs*, as shown in Listing 12-14. +Now we need to bring the code we moved to *src/**lib.rs* into the scope of the +binary crate in *src/**main.rs*, as shown in Listing 12-14. Filename: src/main.rs ``` use std::env; +``` + +``` use std::process; +``` + +``` + +``` +``` use minigrep::Config; +``` + +``` + +``` +``` fn main() { +``` + +``` --snip-- +``` + +``` if let Err(e) = minigrep::run(config) { +``` + +``` --snip-- +``` + +``` } +``` + +``` } ``` -Using the `minigrep` library crate in *src/main.rs* +Using the `minigrep` library crate in *src**/main.rs* We add a `use minigrep::Config` line to bring the `Config` type from the library crate into the binary crate’s scope, and we prefix the `run` function @@ -938,7 +1637,7 @@ work. Run the program with `cargo run` and make sure everything works correctly. Whew! That was a lot of work, but we’ve set ourselves up for success in the future. Now it’s much easier to handle errors, and we’ve made the code more -modular. Almost all of our work will be done in *src/lib.rs* from here on out. +modular. Almost all of our work will be done in *src/**lib.rs* from here on out. Let’s take advantage of this newfound modularity by doing something that would have been difficult with the old code but is easy with the new code: we’ll @@ -946,8 +1645,8 @@ write some tests! ## Developing the Library’s Functionality with Test-Driven Development -Now that we’ve extracted the logic into *src/lib.rs* and left the argument -collecting and error handling in *src/main.rs*, it’s much easier to write +Now that we’ve extracted the logic into *src/**lib.rs* and left the argument +collecting and error handling in *src/**main.rs*, it’s much easier to write tests for the core functionality of our code. We can call functions directly with various arguments and check return values without having to call our binary from the command line. @@ -965,48 +1664,99 @@ Though it’s just one of many ways to write software, TDD can help drive code design. Writing the test before you write the code that makes the test pass helps to maintain high test coverage throughout the process. -We’ll test drive the implementation of the functionality that will actually do +We’ll test-drive the implementation of the functionality that will actually do the searching for the query string in the file contents and produce a list of lines that match the query. We’ll add this functionality in a function called `search`. ### Writing a Failing Test -Because we don’t need them anymore, let’s remove the `println!` statements -from *src/lib.rs* and *src/main.rs* that we used to check the program’s -behavior. Then, in *src/lib.rs*, add a `tests` module with a test function, -as we did in Chapter 11. The test function specifies the behavior we want the -`search` function to have: it will take a query and the text to search, and it -will return only the lines from the text that contain the query. Listing 12-15 -shows this test, which won’t compile yet. +Because we don’t need them anymore, let’s remove the `println!` statements from +*src/**lib.rs* and *src/**main.rs* that we used to check the program’s +behavior. Then, in *src/**lib.rs*, we’ll add a `tests` module with a test +function, as we did in Chapter 11. The test function specifies the behavior we +want the `search` function to have: it will take a query and the text to +search, and it will return only the lines from the text that contain the query. +Listing 12-15 shows this test, which won’t compile yet. Filename: src/lib.rs ``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` + +``` + +``` +``` #[test] +``` + +``` fn one_result() { +``` + +``` let query = "duct"; +``` + +``` let contents = "\ +``` + +``` Rust: +``` + +``` safe, fast, productive. +``` + +``` Pick three."; +``` + +``` + +``` +``` assert_eq!( +``` + +``` vec!["safe, fast, productive."], +``` + +``` search(query, contents) +``` + +``` ); +``` + +``` } +``` + +``` } ``` Creating a failing test for the `search` function we wish we had This test searches for the string `"duct"`. The text we’re searching is three -lines, only one of which contains `"duct"` (Note that the backslash after the +lines, only one of which contains `"duct"` (note that the backslash after the opening double quote tells Rust not to put a newline character at the beginning of the contents of this string literal). We assert that the value returned from the `search` function contains only the line we expect. @@ -1017,13 +1767,19 @@ principles, we’ll add just enough code to get the test to compile and run by adding a definition of the `search` function that always returns an empty vector, as shown in Listing 12-16. Then the test should compile and fail because an empty vector doesn’t match a vector containing the line `"safe, -fast, productive."` +fast, productive."`. Filename: src/lib.rs ``` pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { +``` + +``` vec![] +``` + +``` } ``` @@ -1048,17 +1804,54 @@ get this error: ``` error[E0106]: missing lifetime specifier +``` + +``` --> src/lib.rs:28:51 +``` + +``` | +``` + +``` 28 | pub fn search(query: &str, contents: &str) -> Vec<&str> { +``` + +``` | ---- ---- ^ expected named lifetime parameter +``` + +``` | - = help: this function's return type contains a borrowed value, but the -signature does not say whether it is borrowed from `query` or `contents` +``` + +``` + = help: this function's return type contains a borrowed value, +``` + +``` +but the signature does not say whether it is borrowed from `query` or +``` + +``` +`contents` +``` + +``` help: consider introducing a named lifetime parameter +``` + +``` | +``` + +``` 28 | pub fn search<'a>(query: &'a str, contents: &'a str) -> Vec<&'a str> { +``` + +``` | ++++ ++ ++ ++ ``` @@ -1070,35 +1863,101 @@ syntax. Other programming languages don’t require you to connect arguments to return values in the signature, but this practice will get easier over time. You might -want to compare this example with the “Validating References with Lifetimes” -section in Chapter 10. +want to compare this example with “Validating References with Lifetimes” on +page XX. Now let’s run the test: ``` $ cargo test +``` + +``` Compiling minigrep v0.1.0 (file:///projects/minigrep) +``` + +``` Finished test [unoptimized + debuginfo] target(s) in 0.97s +``` + +``` Running unittests src/lib.rs (target/debug/deps/minigrep-9cd200e5fac0fc94) +``` + +``` +``` + +``` running 1 test +``` + +``` test tests::one_result ... FAILED +``` + +``` +``` + +``` failures: +``` +``` + +``` + +``` ---- tests::one_result stdout ---- +``` + +``` thread 'main' panicked at 'assertion failed: `(left == right)` +``` + +``` left: `["safe, fast, productive."]`, +``` + +``` right: `[]`', src/lib.rs:44:9 +``` + +``` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +``` + +``` +``` + +``` + +``` +``` failures: +``` + +``` tests::one_result +``` +``` + +``` + +``` test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +``` + +``` +``` error: test failed, to rerun pass '--lib' ``` @@ -1119,16 +1978,28 @@ Let’s work through each step, starting with iterating through lines. #### Iterating Through Lines with the lines Method Rust has a helpful method to handle line-by-line iteration of strings, -conveniently named `lines`, that works as shown in Listing 12-17. Note this -won’t compile yet. +conveniently named `lines`, that works as shown in Listing 12-17. Note that +this won’t compile yet. Filename: src/lib.rs ``` pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { +``` + +``` for line in contents.lines() { +``` + +``` // do something with line +``` + +``` } +``` + +``` } ``` @@ -1144,24 +2015,42 @@ in a collection. Next, we’ll check whether the current line contains our query string. Fortunately, strings have a helpful method named `contains` that does this for us! Add a call to the `contains` method in the `search` function, as shown in -Listing 12-18. Note this still won’t compile yet. +Listing 12-18. Note that this still won’t compile yet. Filename: src/lib.rs ``` pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { +``` + +``` for line in contents.lines() { +``` + +``` if line.contains(query) { +``` + +``` // do something with line +``` + +``` } +``` + +``` } +``` + +``` } ``` Adding functionality to see whether the line contains the string in `query` -At the moment, we’re building up functionality. To get it to compile, we need -to return a value from the body as we indicated we would in the function +At the moment, we’re building up functionality. To get the code to compile, we +need to return a value from the body as we indicated we would in the function signature. #### Storing Matching Lines @@ -1175,15 +2064,45 @@ Filename: src/lib.rs ``` pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { +``` + +``` let mut results = Vec::new(); +``` +``` + +``` + +``` for line in contents.lines() { +``` + +``` if line.contains(query) { +``` + +``` results.push(line); +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` results +``` + +``` } ``` @@ -1194,10 +2113,25 @@ and our test should pass. Let’s run the test: ``` $ cargo test +``` + +``` --snip-- +``` + +``` running 1 test +``` + +``` test tests::one_result ... ok +``` + +``` + +``` +``` test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s ``` @@ -1222,46 +2156,103 @@ Filename: src/lib.rs ``` pub fn run(config: Config) -> Result<(), Box> { +``` + +``` let contents = fs::read_to_string(config.file_path)?; +``` + +``` +``` + +``` for line in search(&config.query, &contents) { +``` + +``` println!("{line}"); +``` + +``` } +``` + +``` + +``` +``` Ok(()) +``` + +``` } ``` -We’re still using a `for` loop to return each line from `search` and print it. -Now the entire program should work! Let’s try it out, first with a word that -should return exactly one line from the Emily Dickinson poem, “frog”: +Unmatched: BodyContinued + Now the entire program should work! Let’s try it out, first with a word +that should return exactly one line from the Emily Dickinson poem: *frog*. ``` $ cargo run -- frog poem.txt +``` + +``` Compiling minigrep v0.1.0 (file:///projects/minigrep) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.38s +``` + +``` Running `target/debug/minigrep frog poem.txt` +``` + +``` How public, like a frog ``` -Cool! Now let’s try a word that will match multiple lines, like “body”: +Cool! Now let’s try a word that will match multiple lines, like *body*: ``` $ cargo run -- body poem.txt +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s +``` + +``` Running `target/debug/minigrep body poem.txt` +``` + +``` I'm nobody! Who are you? +``` + +``` Are you nobody, too? +``` + +``` How dreary to be somebody! ``` And finally, let’s make sure that we don’t get any lines when we search for a -word that isn’t anywhere in the poem, such as “monomorphization”: +word that isn’t anywhere in the poem, such as *monomorphization*: ``` $ cargo run -- monomorphization poem.txt +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s +``` + +``` Running `target/debug/minigrep monomorphization poem.txt` ``` @@ -1295,53 +2286,143 @@ Filename: src/lib.rs ``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` + +``` + +``` +``` #[test] +``` + +``` fn case_sensitive() { +``` + +``` let query = "duct"; +``` + +``` let contents = "\ +``` + +``` Rust: +``` + +``` safe, fast, productive. +``` + +``` Pick three. +``` + +``` Duct tape."; +``` + +``` + +``` +``` assert_eq!(vec!["safe, fast, productive."], search(query, contents)); +``` + +``` } +``` + +``` +``` + +``` #[test] +``` + +``` fn case_insensitive() { +``` + +``` let query = "rUsT"; +``` + +``` let contents = "\ +``` + +``` Rust: +``` + +``` safe, fast, productive. +``` + +``` Pick three. +``` + +``` Trust me."; +``` + +``` +``` + +``` assert_eq!( +``` + +``` vec!["Rust:", "Trust me."], +``` + +``` search_case_insensitive(query, contents) +``` + +``` ); +``` + +``` } +``` + +``` } ``` Adding a new failing test for the case-insensitive function we’re about to add Note that we’ve edited the old test’s `contents` too. We’ve added a new line -with the text `"Duct tape."` using a capital D that shouldn’t match the query +with the text `"Duct tape."` using a capital *D* that shouldn’t match the query `"duct"` when we’re searching in a case-sensitive manner. Changing the old test in this way helps ensure that we don’t accidentally break the case-sensitive search functionality that we’ve already implemented. This test should pass now and should continue to pass as we work on the case-insensitive search. -The new test for the case-*insensitive* search uses `"rUsT"` as its query. -In the `search_case_insensitive` function we’re about to add, the query -`"rUsT"` should match the line containing `"Rust:"` with a capital R and -match the line `"Trust me."` even though both have different casing from the -query. This is our failing test, and it will fail to compile because we haven’t -yet defined the `search_case_insensitive` function. Feel free to add a skeleton +The new test for the case-*insensitive* search uses `"rUsT"` as its query. In +the `search_case_insensitive` function we’re about to add, the query `"rUsT"` +should match the line containing `"Rust:"` with a capital *R* and match the +line `"Trust me."` even though both have different casing from the query. This +is our failing test, and it will fail to compile because we haven’t yet defined +the `search_case_insensitive` function. Feel free to add a skeleton implementation that always returns an empty vector, similar to the way we did for the `search` function in Listing 12-16 to see the test compile and fail. @@ -1349,48 +2430,90 @@ for the `search` function in Listing 12-16 to see the test compile and fail. The `search_case_insensitive` function, shown in Listing 12-21, will be almost the same as the `search` function. The only difference is that we’ll lowercase -the `query` and each `line` so whatever the case of the input arguments, +the `query` and each `line` so that whatever the case of the input arguments, they’ll be the same case when we check whether the line contains the query. Filename: src/lib.rs ``` pub fn search_case_insensitive<'a>( +``` + +``` query: &str, +``` + +``` contents: &'a str, +``` + +``` ) -> Vec<&'a str> { +``` + +``` 1 let query = query.to_lowercase(); +``` + +``` let mut results = Vec::new(); +``` + +``` +``` + +``` for line in contents.lines() { +``` + +``` if 2 line.to_lowercase().contains(3 &query) { +``` + +``` results.push(line); +``` + +``` } +``` + +``` } +``` +``` + +``` + +``` results +``` + +``` } ``` Defining the `search_case_insensitive` function to lowercase the query and the line before comparing them -First, we lowercase the `query` string and store it in a shadowed variable with -the same name [1]. Calling `to_lowercase` on the query is necessary so no -matter whether the user’s query is `"rust"`, `"RUST"`, `"Rust"`, or -`"rUsT"`, we’ll treat the query as if it were `"rust"` and be insensitive -to the case. While `to_lowercase` will handle basic Unicode, it won’t be 100% -accurate. If we were writing a real application, we’d want to do a bit more -work here, but this section is about environment variables, not Unicode, so -we’ll leave it at that here. +First we lowercase the `query` string and store it in a shadowed variable with +the same name [1]. Calling `to_lowercase` on the query is necessary so that no +matter whether the user’s query is `"rust"`, `"RUST"`, `"Rust"`, or `"rUsT"`, +we’ll treat the query as if it were `"rust"` and be insensitive to the case. +While `to_lowercase` will handle basic Unicode, it won’t be 100% accurate. If +we were writing a real application, we’d want to do a bit more work here, but +this section is about environment variables, not Unicode, so we’ll leave it at +that here. -Note that `query` is now a `String` rather than a string slice, because calling +Note that `query` is now a `String` rather than a string slice because calling `to_lowercase` creates new data rather than referencing existing data. Say the -query is `"rUsT"`, as an example: that string slice doesn’t contain a -lowercase `u` or `t` for us to use, so we have to allocate a new `String` -containing `"rust"`. When we pass `query` as an argument to the `contains` -method now, we need to add an ampersand [3] because the signature of `contains` -is defined to take a string slice. +query is `"rUsT"`, as an example: that string slice doesn’t contain a lowercase +`u` or `t` for us to use, so we have to allocate a new `String` containing +`"rust"`. When we pass `query` as an argument to the `contains` method now, we +need to add an ampersand [3] because the signature of `contains` is defined to +take a string slice. Next, we add a call to `to_lowercase` on each `line` to lowercase all characters [2]. Now that we’ve converted `line` and `query` to lowercase, we’ll @@ -1400,26 +2523,50 @@ Let’s see if this implementation passes the tests: ``` running 2 tests +``` + +``` test tests::case_insensitive ... ok +``` + +``` test tests::case_sensitive ... ok +``` + +``` + +``` +``` test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s ``` Great! They passed. Now, let’s call the new `search_case_insensitive` function -from the `run` function. First, we’ll add a configuration option to the -`Config` struct to switch between case-sensitive and case-insensitive search. -Adding this field will cause compiler errors because we aren’t initializing -this field anywhere yet: +from the `run` function. First we’ll add a configuration option to the `Config` +struct to switch between case-sensitive and case-insensitive search. Adding +this field will cause compiler errors because we aren’t initializing this field +anywhere yet: Filename: src/lib.rs ``` pub struct Config { +``` + +``` pub query: String, +``` + +``` pub file_path: String, +``` + +``` pub ignore_case: bool, +``` + +``` } ``` @@ -1432,19 +2579,61 @@ Filename: src/lib.rs ``` pub fn run(config: Config) -> Result<(), Box> { +``` + +``` let contents = fs::read_to_string(config.file_path)?; +``` + +``` + +``` +``` let results = if config.ignore_case { +``` + +``` search_case_insensitive(&config.query, &contents) +``` + +``` } else { +``` + +``` search(&config.query, &contents) +``` + +``` }; +``` + +``` +``` + +``` for line in results { +``` + +``` println!("{line}"); +``` + +``` } +``` + +``` +``` + +``` Ok(()) +``` + +``` } ``` @@ -1453,40 +2642,100 @@ Calling either `search` or `search_case_insensitive` based on the value in Finally, we need to check for the environment variable. The functions for working with environment variables are in the `env` module in the standard -library, so we bring that module into scope at the top of *src/lib.rs*. -Then we’ll use the `var` function from the `env` module to check to see if any -value has been set for an environment variable named `IGNORE_CASE`, as shown in +library, so we bring that module into scope at the top of *src/**lib.rs*. Then +we’ll use the `var` function from the `env` module to check to see if any value +has been set for an environment variable named `IGNORE_CASE`, as shown in Listing 12-23. Filename: src/lib.rs ``` use std::env; +``` + +``` --snip-- +``` + +``` +``` + +``` impl Config { +``` + +``` pub fn build(args: &[String]) -> Result { +``` + +``` if args.len() < 3 { +``` + +``` return Err("not enough arguments"); +``` + +``` } +``` +``` + +``` + +``` let query = args[1].clone(); +``` + +``` let file_path = args[2].clone(); +``` + +``` + +``` +``` let ignore_case = env::var("IGNORE_CASE").is_ok(); +``` + +``` + +``` +``` Ok(Config { +``` + +``` query, +``` + +``` file_path, +``` + +``` ignore_case, +``` + +``` }) +``` + +``` } +``` + +``` } ``` Checking for any value in an environment variable named `IGNORE_CASE` -Here, we create a new variable `ignore_case`. To set its value, we call the +Here, we create a new variable, `ignore_case`. To set its value, we call the `env::var` function and pass it the name of the `IGNORE_CASE` environment variable. The `env::var` function returns a `Result` that will be the successful `Ok` variant that contains the value of the environment variable if @@ -1496,7 +2745,7 @@ if the environment variable is not set. We’re using the `is_ok` method on the `Result` to check whether the environment variable is set, which means the program should do a case-insensitive search. If the `IGNORE_CASE` environment variable isn’t set to anything, `is_ok` will -return false and the program will perform a case-sensitive search. We don’t +return `false` and the program will perform a case-sensitive search. We don’t care about the *value* of the environment variable, just whether it’s set or unset, so we’re checking `is_ok` rather than using `unwrap`, `expect`, or any of the other methods we’ve seen on `Result`. @@ -1505,21 +2754,36 @@ We pass the value in the `ignore_case` variable to the `Config` instance so the `run` function can read that value and decide whether to call `search_case_insensitive` or `search`, as we implemented in Listing 12-22. -Let’s give it a try! First, we’ll run our program without the environment +Let’s give it a try! First we’ll run our program without the environment variable set and with the query `to`, which should match any line that contains -the word “to” in all lowercase: +the word *to* in all lowercase: ``` $ cargo run -- to poem.txt +``` + +``` Compiling minigrep v0.1.0 (file:///projects/minigrep) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s +``` + +``` Running `target/debug/minigrep to poem.txt` +``` + +``` Are you nobody, too? +``` + +``` How dreary to be somebody! ``` -Looks like that still works! Now, let’s run the program with `IGNORE_CASE` set -to `1` but with the same query `to`. +Looks like that still works! Now let’s run the program with `IGNORE_CASE` set +to `1` but with the same query `to`: ``` $ IGNORE_CASE=1 cargo run -- to poem.txt @@ -1539,16 +2803,25 @@ It can be unset with the `Remove-Item` cmdlet: PS> Remove-Item Env:IGNORE_CASE ``` -We should get lines that contain “to” that might have uppercase letters: +We should get lines that contain *to* that might have uppercase letters: ``` Are you nobody, too? +``` + +``` How dreary to be somebody! +``` + +``` To tell your name the livelong day +``` + +``` To an admiring bog! ``` -Excellent, we also got lines containing “To”! Our `minigrep` program can now do +Excellent, we also got lines containing *To*! Our `minigrep` program can now do case-insensitive searching controlled by an environment variable. Now you know how to manage options set using either command line arguments or environment variables. @@ -1573,8 +2846,8 @@ error messages. This distinction enables users to choose to direct the successful output of a program to a file but still print error messages to the screen. -The `println!` macro is only capable of printing to standard output, so we -have to use something else to print to standard error. +The `println!` macro is only capable of printing to standard output, so we have +to use something else to print to standard error. ### Checking Where Errors Are Written @@ -1587,11 +2860,11 @@ the screen. Command line programs are expected to send error messages to the standard error stream so we can still see error messages on the screen even if we redirect the -standard output stream to a file. Our program is not currently well-behaved: +standard output stream to a file. Our program is not currently well behaved: we’re about to see that it saves the error message output to a file instead! To demonstrate this behavior, we’ll run the program with `>` and the file path, -*output.txt*, that we want to redirect the standard output stream to. We +*output**.**txt*, that we want to redirect the standard output stream to. We won’t pass any arguments, which should cause an error: ``` @@ -1599,9 +2872,9 @@ $ cargo run > output.txt ``` The `>` syntax tells the shell to write the contents of standard output to -*output.txt* instead of the screen. We didn’t see the error message we were +*output**.**txt* instead of the screen. We didn’t see the error message we were expecting printed to the screen, so that means it must have ended up in the -file. This is what *output.txt* contains: +file. This is what *output**.**txt* contains: ``` Problem parsing arguments: not enough arguments @@ -1616,25 +2889,61 @@ data from a successful run ends up in the file. We’ll change that. We’ll use the code in Listing 12-24 to change how error messages are printed. Because of the refactoring we did earlier in this chapter, all the code that prints error messages is in one function, `main`. The standard library provides -the `eprintln!` macro that prints to the standard error stream, so let’s -change the two places we were calling `println!` to print errors to use -`eprintln!` instead. +the `eprintln!` macro that prints to the standard error stream, so let’s change +the two places we were calling `println!` to print errors to use `eprintln!` +instead. Filename: src/main.rs ``` fn main() { +``` + +``` let args: Vec = env::args().collect(); +``` + +``` +``` + +``` let config = Config::build(&args).unwrap_or_else(|err| { +``` + +``` eprintln!("Problem parsing arguments: {err}"); +``` + +``` process::exit(1); +``` + +``` }); +``` + +``` + +``` +``` if let Err(e) = minigrep::run(config) { +``` + +``` eprintln!("Application error: {e}"); +``` + +``` process::exit(1); +``` + +``` } +``` + +``` } ``` @@ -1646,10 +2955,13 @@ redirecting standard output with `>`: ``` $ cargo run > output.txt +``` + +``` Problem parsing arguments: not enough arguments ``` -Now we see the error onscreen and *output.txt* contains nothing, which is +Now we see the error onscreen and *output**.**txt* contains nothing, which is the behavior we expect of command line programs. Let’s run the program again with arguments that don’t cause an error but still @@ -1659,13 +2971,16 @@ redirect standard output to a file, like so: $ cargo run -- to poem.txt > output.txt ``` -We won’t see any output to the terminal, and *output.txt* will contain our +We won’t see any output to the terminal, and *output**.**txt* will contain our results: Filename: output.txt ``` Are you nobody, too? +``` + +``` How dreary to be somebody! ``` @@ -1676,11 +2991,11 @@ and standard error for error output as appropriate. This chapter recapped some of the major concepts you’ve learned so far and covered how to perform common I/O operations in Rust. By using command line -arguments, files, environment variables, and the `eprintln!` macro for -printing errors, you’re now prepared to write command line applications. -Combined with the concepts in previous chapters, your code will be well -organized, store data effectively in the appropriate data structures, handle -errors nicely, and be well tested. +arguments, files, environment variables, and the `eprintln!` macro for printing +errors, you’re now prepared to write command line applications. Combined with +the concepts in previous chapters, your code will be well organized, store data +effectively in the appropriate data structures, handle errors nicely, and be +well tested. Next, we’ll explore some Rust features that were influenced by functional languages: closures and iterators. diff --git a/nostarch/docx/chapter12.docx b/nostarch/docx/chapter12.docx index e43aed29b63923d7c1cd85de293feab29bfd5682..8dd388a76861c9c1fab9700c10bfaa6060e753c2 100644 GIT binary patch delta 83476 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 SqHYLF9i3U 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 idG|x2`wxR?MBle$29>fP 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 Date: Sun, 21 Aug 2022 21:26:53 -0400 Subject: [PATCH 0413/1248] Messy snapshot of chapter 12 after copyedit checks --- nostarch/chapter12.md | 70 ++++++++++++++++++++++++++--------- nostarch/docx/chapter12.docx | Bin 90525 -> 100487 bytes 2 files changed, 53 insertions(+), 17 deletions(-) diff --git a/nostarch/chapter12.md b/nostarch/chapter12.md index 90d696d300..a125799e6f 100644 --- a/nostarch/chapter12.md +++ b/nostarch/chapter12.md @@ -38,7 +38,7 @@ background knowledge you need to understand a real-world project such as Our `grep` project will combine a number of concepts you’ve learned so far: * Organizing code (using what you learned about modules in Chapter 7) -* Using vectors and strings (collections, Chapter 8) +* Using vectors and strings (Chapter 8) * Handling errors (Chapter 9) * Using traits and lifetimes where appropriate (Chapter 10) * Writing tests (Chapter 11) @@ -779,8 +779,8 @@ ownership of the values in `args`. There are a number of ways we could manage the `String` data; the easiest, though somewhat inefficient, route is to call the `clone` method on the values -[7] and [8]. This will make a full copy of the data for the `Config` instance -to own, which takes more time and memory than storing a reference to the string +[7] [8]. This will make a full copy of the data for the `Config` instance to +own, which takes more time and memory than storing a reference to the string data. However, cloning the data also makes our code very straightforward because we don’t have to manage the lifetimes of the references; in this circumstance, giving up a little performance to gain simplicity is a worthwhile @@ -805,7 +805,7 @@ it’s perfectly acceptable to call `clone`. We’ve updated `main` so it places the instance of `Config` returned by `parse_config` into a variable named `config` [1], and we updated the code that previously used the separate `query` and `file_path` variables so it now uses -the fields on the `Config` struct instead at [2], [3], and [4]. +the fields on the `Config` struct instead [2] [3] [4]. Now our code more clearly conveys that `query` and `file_path` are related and that their purpose is to configure how the program will work. Any code that @@ -1016,11 +1016,19 @@ $ cargo run ``` ``` -thread 'main' panicked at 'not enough arguments', src/main.rs:26:13 +thread 'main' panicked at 'not enough arguments', ``` ``` -note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +src/main.rs:26:13 +``` + +``` +note: run with `RUST_BACKTRACE=1` environment variable to display +``` + +``` +a backtrace ``` This output is better: we now have a reasonable error message. However, we also @@ -1416,7 +1424,11 @@ warning: unused `Result` that must be used ``` ``` - = note: this `Result` may be an `Err` variant, which should be handled + = note: this `Result` may be an `Err` variant, which should be +``` + +``` +handled ``` Rust tells us that our code ignored the `Result` value and the `Result` value @@ -1489,11 +1501,11 @@ both cases: we print the error and exit. Our `minigrep` project is looking good so far! Now we’ll split the *src/**main.rs* file and put some code into the *src/**lib.rs* file. That way -we can test the code and have an *src/**main.rs* file with fewer +we can test the code and have a *src/**main.rs* file with fewer responsibilities. -Let’s move all the code that isn’t the `main` function from *src/**main.rs* to -*src/**lib.rs*: +Let’s move all the code that isn’t in the `main` function from *src/**main.rs* +to *src/**lib.rs*: * The `run` function definition * The relevant `use` statements @@ -1820,6 +1832,9 @@ error[E0106]: missing lifetime specifier ``` | ---- ---- ^ expected named +``` + +``` lifetime parameter ``` @@ -1863,8 +1878,8 @@ syntax. Other programming languages don’t require you to connect arguments to return values in the signature, but this practice will get easier over time. You might -want to compare this example with “Validating References with Lifetimes” on -page XX. +want to compare this example with the examples in “Validating References with +Lifetimes” on page XX. Now let’s run the test: @@ -1950,6 +1965,9 @@ failures: ``` test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; +``` + +``` finished in 0.00s ``` @@ -2132,8 +2150,11 @@ test tests::one_result ... ok ``` ``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; -finished in 0.00s +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` Our test passed, so we know it works! @@ -2337,7 +2358,19 @@ Duct tape."; ``` ``` - assert_eq!(vec!["safe, fast, productive."], search(query, contents)); + assert_eq!( +``` + +``` + vec!["safe, fast, productive."], +``` + +``` + search(query, contents) +``` + +``` + ); ``` ``` @@ -2538,8 +2571,11 @@ test tests::case_sensitive ... ok ``` ``` -test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; -finished in 0.00s +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` Great! They passed. Now, let’s call the new `search_case_insensitive` function diff --git a/nostarch/docx/chapter12.docx b/nostarch/docx/chapter12.docx index 8dd388a76861c9c1fab9700c10bfaa6060e753c2..ac3117afe1076062bb7f6e4943485d232cd6b984 100644 GIT binary patch delta 83375 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

    EsRPvz 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 z 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 delta 73733 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 From fe4118992c21d5378163622e740d23e5f831ba56 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 22 Aug 2022 09:10:33 -0400 Subject: [PATCH 0414/1248] Updated snapshot of ch13 --- nostarch/chapter13.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/nostarch/chapter13.md b/nostarch/chapter13.md index 9a4c3d132f..473a7c5daa 100644 --- a/nostarch/chapter13.md +++ b/nostarch/chapter13.md @@ -1,3 +1,8 @@ + [TOC] @@ -68,11 +73,8 @@ struct Inventory { } impl Inventory { - fn giveaway( - &self, - user_preference: Option - ) -> ShirtColor { -1 user_preference.unwrap_or_else(|| self.most_stocked()) + fn giveaway(&self, user_preference: Option) -> ShirtColor { + user_preference.unwrap_or_else(|| self.most_stocked()) } fn most_stocked(&self) -> ShirtColor { From b2bb43de0e8b0a99503872d4bed082a98bc76064 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 22 Aug 2022 09:11:51 -0400 Subject: [PATCH 0415/1248] Updated snapshot of ch13 after copyedit --- TODO.md | 2 +- nostarch/chapter13.md | 1347 +++++++++++++++++++++++++++++++--- nostarch/docx/chapter13.docx | Bin 90899 -> 72779 bytes 3 files changed, 1247 insertions(+), 102 deletions(-) diff --git a/TODO.md b/TODO.md index b61f853145..a0a922bac9 100644 --- a/TODO.md +++ b/TODO.md @@ -1,6 +1,6 @@ # In each chapter -- [ ] Manual regeneration +- [x] Manual regeneration - [ ] Check for upstream changes from last snapshot - [ ] Propagate updated output to docx - [ ] Extract docx and check diff diff --git a/nostarch/chapter13.md b/nostarch/chapter13.md index 473a7c5daa..796b5e7a39 100644 --- a/nostarch/chapter13.md +++ b/nostarch/chapter13.md @@ -23,14 +23,14 @@ More specifically, we’ll cover: * *Closures*, a function-like construct you can store in a variable * *Iterators*, a way of processing a series of elements * How to use closures and iterators to improve the I/O project in Chapter 12 -* The performance of closures and iterators (Spoiler alert: they’re faster than +* The performance of closures and iterators (spoiler alert: they’re faster than you might think!) We’ve already covered some other Rust features, such as pattern matching and enums, that are also influenced by the functional style. Because mastering closures and iterators is an important part of writing idiomatic, fast Rust code, we’ll devote this entire chapter to them. -## Closures: Anonymous Functions that Capture Their Environment +## Closures: Anonymous Functions That Capture Their Environment Rust’s closures are anonymous functions you can save in a variable or pass as arguments to other functions. You can create the closure in one place and then @@ -42,8 +42,8 @@ customization. ### Capturing the Environment with Closures We’ll first examine how we can use closures to capture values from the -environment they’re defined in for later use. Here’s the scenario: Every so -often, our t-shirt company gives away an exclusive, limited-edition shirt to +environment they’re defined in for later use. Here’s the scenario: every so +often, our T-shirt company gives away an exclusive, limited-edition shirt to someone on our mailing list as a promotion. People on the mailing list can optionally add their favorite color to their profile. If the person chosen for a free shirt has their favorite color set, they get that color shirt. If the @@ -56,81 +56,261 @@ number of colors available for simplicity). We represent the company’s inventory with an `Inventory` struct that has a field named `shirts` that contains a `Vec` representing the shirt colors currently in stock. The method `giveaway` defined on `Inventory` gets the optional shirt color -preference of the free shirt winner, and returns the shirt color the person -will get. This setup is shown in Listing 13-1: +preference of the free-shirt winner, and returns the shirt color the person +will get. This setup is shown in Listing 13-1. Filename: src/main.rs ``` #[derive(Debug, PartialEq, Copy, Clone)] +``` + +``` enum ShirtColor { +``` + +``` Red, +``` + +``` Blue, +``` + +``` } +``` + +``` + +``` +``` struct Inventory { +``` + +``` shirts: Vec, +``` + +``` } +``` + +``` + +``` +``` impl Inventory { - fn giveaway(&self, user_preference: Option) -> ShirtColor { - user_preference.unwrap_or_else(|| self.most_stocked()) +``` + +``` + fn giveaway( +``` + +``` + &self, +``` + +``` + user_preference: Option +``` + +``` + ) -> ShirtColor { +``` + +``` + 1 user_preference.unwrap_or_else(|| self.most_stocked()) +``` + +``` } +``` + +``` + +``` +``` fn most_stocked(&self) -> ShirtColor { +``` + +``` let mut num_red = 0; +``` + +``` let mut num_blue = 0; +``` + +``` + +``` +``` for color in &self.shirts { +``` + +``` match color { +``` + +``` ShirtColor::Red => num_red += 1, +``` + +``` ShirtColor::Blue => num_blue += 1, +``` + +``` } +``` + +``` } +``` + +``` if num_red > num_blue { +``` + +``` ShirtColor::Red +``` + +``` } else { +``` + +``` ShirtColor::Blue +``` + +``` } +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let store = Inventory { +``` + +``` 2 shirts: vec![ +``` + +``` ShirtColor::Blue, +``` + +``` ShirtColor::Red, +``` + +``` ShirtColor::Blue +``` + +``` ], +``` + +``` }; +``` + +``` +``` + +``` let user_pref1 = Some(ShirtColor::Red); +``` + +``` 3 let giveaway1 = store.giveaway(user_pref1); +``` + +``` println!( +``` + +``` "The user with preference {:?} gets {:?}", +``` + +``` user_pref1, giveaway1 +``` + +``` ); +``` + +``` + +``` +``` let user_pref2 = None; +``` + +``` 4 let giveaway2 = store.giveaway(user_pref2); +``` + +``` println!( +``` + +``` "The user with preference {:?} gets {:?}", +``` + +``` user_pref2, giveaway2 +``` + +``` ); +``` + +``` } ``` Shirt company giveaway situation +prod: Please renumber this as Listing 13-1, and then renumber all remaining +listings consecutively; e.g., Listing 13-2, Listing 13-3, etc. + The `store` defined in `main` has two blue shirts and one red shirt remaining to distribute for this limited-edition promotion [2]. We call the `giveaway` method for a user with a preference for a red shirt [3] and a user without any preference [4]. Again, this code could be implemented in many ways, and here, to focus on -closures, we’ve stuck to concepts you’ve already learned except for the body of -the `giveaway` method that uses a closure. In the `giveaway` method, we get the -user preference as a parameter of type `Option` and call the +closures, we’ve stuck to concepts you’ve already learned, except for the body +of the `giveaway` method that uses a closure. In the `giveaway` method, we get +the user preference as a parameter of type `Option` and call the `unwrap_or_else` method on `user_preference` [1]. The `unwrap_or_else` method on `Option` is defined by the standard library. It takes one argument: a closure without any arguments that returns a value `T` (the same type stored in @@ -146,14 +326,29 @@ body of the closure calls `self.most_stocked()`. We’re defining the closure here, and the implementation of `unwrap_or_else` will evaluate the closure later if the result is needed. -Running this code prints: +Running this code prints the following: ``` $ cargo run +``` + +``` Compiling shirt-company v0.1.0 (file:///projects/shirt-company) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.27s +``` + +``` Running `target/debug/shirt-company` +``` + +``` The user with preference Some(Red) gets Red +``` + +``` The user with preference None gets Blue ``` @@ -187,15 +382,27 @@ explicitness and clarity at the cost of being more verbose than is strictly necessary. Annotating the types for a closure would look like the definition shown in Listing 13-2. In this example, we’re defining a closure and storing it in a variable rather than defining the closure in the spot we pass it as an -argument as we did in Listing 13-1. +argument, as we did in Listing 13-1. Filename: src/main.rs ``` let expensive_closure = |num: u32| -> u32 { +``` + +``` println!("calculating slowly..."); +``` + +``` thread::sleep(Duration::from_secs(2)); +``` + +``` num +``` + +``` }; ``` @@ -203,26 +410,35 @@ Adding optional type annotations of the parameter and return value types in the closure With type annotations added, the syntax of closures looks more similar to the -syntax of functions. Here we define a function that adds 1 to its parameter and -a closure that has the same behavior, for comparison. We’ve added some spaces -to line up the relevant parts. This illustrates how closure syntax is similar -to function syntax except for the use of pipes and the amount of syntax that is -optional: +syntax of functions. Here, we define a function that adds 1 to its parameter +and a closure that has the same behavior, for comparison. We’ve added some +spaces to line up the relevant parts. This illustrates how closure syntax is +similar to function syntax except for the use of pipes and the amount of syntax +that is optional: ``` fn add_one_v1 (x: u32) -> u32 { x + 1 } +``` + +``` let add_one_v2 = |x: u32| -> u32 { x + 1 }; +``` + +``` let add_one_v3 = |x| { x + 1 }; +``` + +``` let add_one_v4 = |x| x + 1 ; ``` -The first line shows a function definition, and the second line shows a fully +The first line shows a function definition and the second line shows a fully annotated closure definition. In the third line, we remove the type annotations -from the closure definition. In the fourth line, we remove the brackets, which -are optional because the closure body has only one expression. These are all -valid definitions that will produce the same behavior when they’re called. The -`add_one_v3` and `add_one_v4` lines require the closures to be evaluated to be -able to compile because the types will be inferred from their usage. This is +from the closure definition. In the fourth line, we remove the curly brackets, +which are optional because the closure body has only one expression. These are +all valid definitions that will produce the same behavior when they’re called. +The `add_one_v3` and `add_one_v4` lines require the closures to be evaluated to +be able to compile because the types will be inferred from their usage. This is similar to `let v = Vec::new();` needing either type annotations or values of some type to be inserted into the `Vec` for Rust to be able to infer the type. @@ -239,8 +455,17 @@ Filename: src/main.rs ``` let example_closure = |x| x; +``` + +``` + +``` +``` let s = example_closure(String::from("hello")); +``` + +``` let n = example_closure(5); ``` @@ -250,12 +475,30 @@ The compiler gives us this error: ``` error[E0308]: mismatched types +``` + +``` --> src/main.rs:5:29 +``` + +``` | +``` + +``` 5 | let n = example_closure(5); +``` + +``` | ^- help: try using a conversion method: `.to_string()` +``` + +``` | | +``` + +``` | expected struct `String`, found integer ``` @@ -274,28 +517,55 @@ captured values. In Listing 13-4, we define a closure that captures an immutable reference to the vector named `list` because it only needs an immutable reference to print -the value: +the value. Filename: src/main.rs ``` fn main() { +``` + +``` let list = vec![1, 2, 3]; +``` + +``` println!("Before defining closure: {:?}", list); +``` - 1 let only_borrows = || println!("From closure: {:?}", list); +``` - println!("Before calling closure: {:?}", list); - only_borrows(); 2 - println!("After calling closure: {:?}", list); -} ``` -Defining and calling a closure that captures an immutable reference +``` + 1 let only_borrows = || println!("From closure: {:?}", list); +``` -This example also illustrates that a variable can bind to a closure definition -[1], and we can later call the closure by using the variable name and -parentheses as if the variable name were a function name [2]. +``` + +``` + +``` + println!("Before calling closure: {:?}", list); +``` + +``` + 2 only_borrows(); +``` + +``` + println!("After calling closure: {:?}", list); +``` + +``` +} +``` + +Defining and calling a closure that captures an immutable reference + +This example also illustrates that a variable can bind to a closure definition +[1], and we can later call the closure by using the variable name and +parentheses as if the variable name were a function name [2]. Because we can have multiple immutable references to `list` at the same time, `list` is still accessible from the code before the closure definition, after @@ -304,25 +574,58 @@ is called. This code compiles, runs, and prints: ``` Before defining closure: [1, 2, 3] +``` + +``` Before calling closure: [1, 2, 3] +``` + +``` From closure: [1, 2, 3] +``` + +``` After calling closure: [1, 2, 3] ``` Next, in Listing 13-5, we change the closure body so that it adds an element to -the `list` vector. The closure now captures a mutable reference: +the `list` vector. The closure now captures a mutable reference. Filename: src/main.rs ``` fn main() { +``` + +``` let mut list = vec![1, 2, 3]; +``` + +``` println!("Before defining closure: {:?}", list); +``` + +``` +``` + +``` let mut borrows_mutably = || list.push(7); +``` + +``` +``` + +``` borrows_mutably(); +``` + +``` println!("After calling closure: {:?}", list); +``` + +``` } ``` @@ -332,6 +635,9 @@ This code compiles, runs, and prints: ``` Before defining closure: [1, 2, 3] +``` + +``` After calling closure: [1, 2, 3, 7] ``` @@ -352,20 +658,47 @@ the data so that it’s owned by the new thread. We’ll discuss threads and why you would want to use them in detail in Chapter 16 when we talk about concurrency, but for now, let’s briefly explore spawning a new thread using a closure that needs the `move` keyword. Listing 13-6 shows Listing 13-4 modified -to print the vector in a new thread rather than in the main thread: +to print the vector in a new thread rather than in the main thread. Filename: src/main.rs ``` use std::thread; +``` +``` + +``` + +``` fn main() { +``` + +``` let list = vec![1, 2, 3]; +``` + +``` println!("Before defining closure: {:?}", list); +``` + +``` + +``` +``` 1 thread::spawn(move || { +``` + +``` 2 println!("From thread: {:?}", list) +``` + +``` }).join().unwrap(); +``` + +``` } ``` @@ -405,9 +738,9 @@ implement one, two, or all three of these `Fn` traits, in an additive fashion, depending on how the closure’s body handles the values: 1. `FnOnce` applies to closures that can be called once. All closures implement -at least this trait, because all closures can be called. A closure that moves +at least this trait because all closures can be called. A closure that moves captured values out of its body will only implement `FnOnce` and none of the -other `Fn` traits, because it can only be called once. +other `Fn` traits because it can only be called once. 1. `FnMut` applies to closures that don’t move captured values out of their body, but that might mutate the captured values. These closures can be called more than once. @@ -421,15 +754,45 @@ we used in Listing 13-1: ``` impl Option { +``` + +``` pub fn unwrap_or_else(self, f: F) -> T +``` + +``` where +``` + +``` F: FnOnce() -> T +``` + +``` { +``` + +``` match self { +``` + +``` Some(x) => x, +``` + +``` None => f(), +``` + +``` } +``` + +``` } +``` + +``` } ``` @@ -458,33 +821,78 @@ implements one of the `Fn` traits. For example, on an `Option>` value, we could call `unwrap_or_else(Vec::new)` to get a new, empty vector if the value is `None`. -Now let’s look at the standard library method `sort_by_key` defined on slices, +Now let’s look at the standard library method `sort_by_key`, defined on slices, to see how that differs from `unwrap_or_else` and why `sort_by_key` uses `FnMut` instead of `FnOnce` for the trait bound. The closure gets one argument in the form of a reference to the current item in the slice being considered, and returns a value of type `K` that can be ordered. This function is useful when you want to sort a slice by a particular attribute of each item. In Listing 13-7, we have a list of `Rectangle` instances and we use `sort_by_key` -to order them by their `width` attribute from low to high: +to order them by their `width` attribute from low to high. Filename: src/main.rs ``` #[derive(Debug)] +``` + +``` struct Rectangle { +``` + +``` width: u32, +``` + +``` height: u32, +``` + +``` } +``` +``` + +``` + +``` fn main() { +``` + +``` let mut list = [ +``` + +``` Rectangle { width: 10, height: 1 }, +``` + +``` Rectangle { width: 3, height: 5 }, +``` + +``` Rectangle { width: 7, height: 12 }, +``` + +``` ]; +``` +``` + +``` + +``` list.sort_by_key(|r| r.width); +``` + +``` println!("{:#?}", list); +``` + +``` } ``` @@ -494,54 +902,156 @@ This code prints: ``` [ +``` + +``` Rectangle { +``` + +``` width: 3, +``` + +``` height: 5, +``` + +``` }, +``` + +``` Rectangle { +``` + +``` width: 7, +``` + +``` height: 12, +``` + +``` }, +``` + +``` Rectangle { +``` + +``` width: 10, +``` + +``` height: 1, +``` + +``` }, +``` + +``` ] ``` The reason `sort_by_key` is defined to take an `FnMut` closure is that it calls the closure multiple times: once for each item in the slice. The closure `|r| -r.width` doesn’t capture, mutate, or move out anything from its environment, so +r.width` doesn’t capture, mutate, or move anything out from its environment, so it meets the trait bound requirements. In contrast, Listing 13-8 shows an example of a closure that implements just the `FnOnce` trait, because it moves a value out of the environment. The -compiler won’t let us use this closure with `sort_by_key`: +compiler won’t let us use this closure with `sort_by_key`. Filename: src/main.rs ``` #[derive(Debug)] +``` + +``` struct Rectangle { +``` + +``` width: u32, +``` + +``` height: u32, +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` let mut list = [ +``` + +``` Rectangle { width: 10, height: 1 }, +``` + +``` Rectangle { width: 3, height: 5 }, +``` + +``` Rectangle { width: 7, height: 12 }, +``` + +``` ]; +``` +``` + +``` + +``` let mut sort_operations = vec![]; +``` + +``` let value = String::from("by key called"); +``` +``` + +``` + +``` list.sort_by_key(|r| { +``` + +``` sort_operations.push(value); +``` + +``` r.width +``` + +``` }); +``` + +``` println!("{:#?}", list); +``` + +``` } ``` @@ -550,7 +1060,7 @@ Attempting to use an `FnOnce` closure with `sort_by_key` This is a contrived, convoluted way (that doesn’t work) to try and count the number of times `sort_by_key` gets called when sorting `list`. This code attempts to do this counting by pushing `value`—a `String` from the closure’s -environment—into the `sort_operations` vector. The closure captures `value` +environment—into the `sort_operations` vector. The closure captures `value` and then moves `value` out of the closure by transferring ownership of `value` to the `sort_operations` vector. This closure can be called once; trying to call it a second time wouldn’t work because `value` would no longer be in the @@ -562,56 +1072,151 @@ implement `FnMut`: ``` error[E0507]: cannot move out of `value`, a captured variable in an `FnMut` closure +``` + +``` --> src/main.rs:18:30 +``` + +``` | +``` + +``` 15 | let value = String::from("by key called"); +``` + +``` | ----- captured outer variable +``` + +``` 16 | +``` + +``` 17 | list.sort_by_key(|r| { +``` + +``` | ______________________- +``` + +``` 18 | | sort_operations.push(value); - | | ^^^^^ move occurs because `value` has type -`String`, which does not implement the `Copy` trait +``` + +``` + | | ^^^^^ move occurs because `value` has +``` + +``` +type `String`, which does not implement the `Copy` trait +``` + +``` 19 | | r.width +``` + +``` 20 | | }); +``` + +``` | |_____- captured by this `FnMut` closure ``` The error points to the line in the closure body that moves `value` out of the environment. To fix this, we need to change the closure body so that it doesn’t -move values out of the environment. To count the number of times `sort_by_key` -is called, keeping a counter in the environment and incrementing its value in -the closure body is a more straightforward way to calculate that. The closure -in Listing 13-9 works with `sort_by_key` because it is only capturing a mutable -reference to the `num_sort_operations` counter and can therefore be called more -than once: +move values out of the environment. Keeping a counter in the environment and +incrementing its value in the closure body is a more straightforward way to +count the number of times `sort_by_key` is called. The closure in Listing 13-9 +works with `sort_by_key` because it is only capturing a mutable reference to +the `num_sort_operations` counter and can therefore be called more than once. Filename: src/main.rs ``` #[derive(Debug)] +``` + +``` struct Rectangle { +``` + +``` width: u32, +``` + +``` height: u32, +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let mut list = [ +``` + +``` Rectangle { width: 10, height: 1 }, +``` + +``` Rectangle { width: 3, height: 5 }, +``` + +``` Rectangle { width: 7, height: 12 }, +``` + +``` ]; +``` +``` + +``` + +``` let mut num_sort_operations = 0; +``` + +``` list.sort_by_key(|r| { +``` + +``` num_sort_operations += 1; +``` + +``` r.width +``` + +``` }); +``` + +``` println!("{:#?}, sorted in {num_sort_operations} operations", list); +``` + +``` } ``` -Using an `FnMut` closure with `sort_by_key` is allowed +Using an `FnMut` closure with `sort_by_key` is allowed. The `Fn` traits are important when defining or using functions or types that make use of closures. In the next section, we’ll discuss iterators. Many @@ -633,17 +1238,23 @@ useful. ``` let v1 = vec![1, 2, 3]; +``` + +``` +``` + +``` let v1_iter = v1.iter(); ``` Creating an iterator The iterator is stored in the `v1_iter` variable. Once we’ve created an -iterator, we can use it in a variety of ways. In Listing 3-5 in Chapter 3, we -iterated over an array using a `for` loop to execute some code on each of its -items. Under the hood this implicitly created and then consumed an iterator, -but we glossed over how exactly that works until now. +iterator, we can use it in a variety of ways. In Listing 3-5, we iterated over +an array using a `for` loop to execute some code on each of its items. Under +the hood, this implicitly created and then consumed an iterator, but we glossed +over how exactly that works until now. In the example in Listing 13-11, we separate the creation of the iterator from the use of the iterator in the `for` loop. When the `for` loop is called using @@ -652,11 +1263,29 @@ iteration of the loop, which prints out each value. ``` let v1 = vec![1, 2, 3]; +``` + +``` +``` + +``` let v1_iter = v1.iter(); +``` + +``` +``` + +``` for val in v1_iter { +``` + +``` println!("Got: {}", val); +``` + +``` } ``` @@ -668,7 +1297,7 @@ you would likely write this same functionality by starting a variable at index incrementing the variable value in a loop until it reached the total number of items in the vector. -Iterators handle all that logic for you, cutting down on repetitive code you +Iterators handle all of that logic for you, cutting down on repetitive code you could potentially mess up. Iterators give you more flexibility to use the same logic with many different kinds of sequences, not just data structures you can index into, like vectors. Let’s examine how iterators do that. @@ -680,15 +1309,33 @@ standard library. The definition of the trait looks like this: ``` pub trait Iterator { +``` + +``` type Item; +``` + +``` +``` + +``` fn next(&mut self) -> Option; +``` + +``` +``` + +``` // methods with default implementations elided +``` + +``` } ``` -Notice this definition uses some new syntax: `type Item` and `Self::Item`, +Notice that this definition uses some new syntax: `type Item` and `Self::Item`, which are defining an *associated type* with this trait. We’ll talk about associated types in depth in Chapter 19. For now, all you need to know is that this code says implementing the `Iterator` trait requires that you also define @@ -708,15 +1355,45 @@ Filename: src/lib.rs ``` #[test] +``` + +``` fn iterator_demonstration() { +``` + +``` let v1 = vec![1, 2, 3]; +``` + +``` +``` + +``` let mut v1_iter = v1.iter(); +``` +``` + +``` + +``` assert_eq!(v1_iter.next(), Some(&1)); +``` + +``` assert_eq!(v1_iter.next(), Some(&2)); +``` + +``` assert_eq!(v1_iter.next(), Some(&3)); +``` + +``` assert_eq!(v1_iter.next(), None); +``` + +``` } ``` @@ -736,7 +1413,7 @@ ownership of `v1` and returns owned values, we can call `into_iter` instead of `iter`. Similarly, if we want to iterate over mutable references, we can call `iter_mut` instead of `iter`. -### Methods that Consume the Iterator +### Methods That Consume the Iterator The `Iterator` trait has a number of different methods with default implementations provided by the standard library; you can find out about these @@ -745,25 +1422,52 @@ trait. Some of these methods call the `next` method in their definition, which is why you’re required to implement the `next` method when implementing the `Iterator` trait. -Methods that call `next` are called *consuming adaptors*, because calling them +Methods that call `next` are called *consuming adaptors* because calling them uses up the iterator. One example is the `sum` method, which takes ownership of the iterator and iterates through the items by repeatedly calling `next`, thus consuming the iterator. As it iterates through, it adds each item to a running total and returns the total when iteration is complete. Listing 13-13 has a -test illustrating a use of the `sum` method: +test illustrating a use of the `sum` method. Filename: src/lib.rs ``` #[test] +``` + +``` fn iterator_sum() { +``` + +``` let v1 = vec![1, 2, 3]; +``` +``` + +``` + +``` let v1_iter = v1.iter(); +``` + +``` +``` + +``` let total: i32 = v1_iter.sum(); +``` + +``` + +``` +``` assert_eq!(total, 6); +``` + +``` } ``` @@ -772,7 +1476,7 @@ Calling the `sum` method to get the total of all items in the iterator We aren’t allowed to use `v1_iter` after the call to `sum` because `sum` takes ownership of the iterator we call it on. -### Methods that Produce Other Iterators +### Methods That Produce Other Iterators *Iterator adaptors* are methods defined on the `Iterator` trait that don’t consume the iterator. Instead, they produce different iterators by changing @@ -782,13 +1486,19 @@ Listing 13-14 shows an example of calling the iterator adaptor method `map`, which takes a closure to call on each item as the items are iterated through. The `map` method returns a new iterator that produces the modified items. The closure here creates a new iterator in which each item from the vector will be -incremented by 1: +incremented by 1. Filename: src/main.rs ``` let v1: Vec = vec![1, 2, 3]; +``` + +``` + +``` +``` v1.iter().map(|x| x + 1); ``` @@ -798,12 +1508,33 @@ However, this code produces a warning: ``` warning: unused `Map` that must be used +``` + +``` --> src/main.rs:4:5 +``` + +``` | +``` + +``` 4 | v1.iter().map(|x| x + 1); +``` + +``` | ^^^^^^^^^^^^^^^^^^^^^^^^^ +``` + +``` | +``` + +``` = note: `#[warn(unused_must_use)]` on by default +``` + +``` = note: iterators are lazy and do nothing unless consumed ``` @@ -812,25 +1543,36 @@ never gets called. The warning reminds us why: iterator adaptors are lazy, and we need to consume the iterator here. To fix this warning and consume the iterator, we’ll use the `collect` method, -which we used in Chapter 12 with `env::args` in Listing 12-1. This method -consumes the iterator and collects the resulting values into a collection data -type. +which we used with `env::args` in Listing 12-1. This method consumes the +iterator and collects the resultant values into a collection data type. -In Listing 13-15, we collect the results of iterating over the iterator that’s -returned from the call to `map` into a vector. This vector will end up -containing each item from the original vector incremented by 1. +In Listing 13-15, we collect into a vector the results of iterating over the +iterator that’s returned from the call to `map`. This vector will end up +containing each item from the original vector, incremented by 1. Filename: src/main.rs ``` let v1: Vec = vec![1, 2, 3]; +``` +``` + +``` + +``` let v2: Vec<_> = v1.iter().map(|x| x + 1).collect(); +``` + +``` +``` + +``` assert_eq!(v2, vec![2, 3, 4]); ``` -Calling the `map` method to create a new iterator and then calling the +Calling the `map` method to create a new iterator, and then calling the `collect` method to consume the new iterator and create a vector Because `map` takes a closure, we can specify any operation we want to perform @@ -842,7 +1584,7 @@ You can chain multiple calls to iterator adaptors to perform complex actions in a readable way. But because all iterators are lazy, you have to call one of the consuming adaptor methods to get results from calls to iterator adaptors. -### Using Closures that Capture Their Environment +### Using Closures That Capture Their Environment Many iterator adapters take closures as arguments, and commonly the closures we’ll specify as arguments to iterator adapters will be closures that capture @@ -861,52 +1603,193 @@ Filename: src/lib.rs ``` #[derive(PartialEq, Debug)] +``` + +``` struct Shoe { +``` + +``` size: u32, +``` + +``` style: String, +``` + +``` } +``` +``` + +``` + +``` fn shoes_in_size(shoes: Vec, shoe_size: u32) -> Vec { +``` + +``` shoes.into_iter().filter(|s| s.size == shoe_size).collect() +``` + +``` } +``` + +``` + +``` +``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` +``` + +``` + +``` #[test] +``` + +``` fn filters_by_size() { +``` + +``` let shoes = vec![ +``` + +``` Shoe { +``` + +``` size: 10, +``` + +``` style: String::from("sneaker"), +``` + +``` }, +``` + +``` Shoe { +``` + +``` size: 13, +``` + +``` style: String::from("sandal"), +``` + +``` }, +``` + +``` Shoe { +``` + +``` size: 10, +``` + +``` style: String::from("boot"), +``` + +``` }, +``` + +``` ]; +``` + +``` + +``` +``` let in_my_size = shoes_in_size(shoes, 10); +``` + +``` + +``` +``` assert_eq!( +``` + +``` in_my_size, +``` + +``` vec![ +``` + +``` Shoe { +``` + +``` size: 10, +``` + +``` style: String::from("sneaker") +``` + +``` }, +``` + +``` Shoe { +``` + +``` size: 10, +``` + +``` style: String::from("boot") +``` + +``` }, +``` + +``` ] +``` + +``` ); +``` + +``` } +``` + +``` } ``` @@ -942,28 +1825,79 @@ In Listing 12-6, we added code that took a slice of `String` values and created an instance of the `Config` struct by indexing into the slice and cloning the values, allowing the `Config` struct to own those values. In Listing 13-17, we’ve reproduced the implementation of the `Config::build` function as it was -in Listing 12-23: +in Listing 12-23. Filename: src/lib.rs ``` -impl Config { - pub fn build(args: &[String]) -> Result { - if args.len() < 3 { - return Err("not enough arguments"); +impl Config { +``` + +``` + pub fn build(args: &[String]) -> Result { +``` + +``` + if args.len() < 3 { +``` + +``` + return Err("not enough arguments"); +``` + +``` } +``` + +``` + +``` +``` let query = args[1].clone(); +``` + +``` let file_path = args[2].clone(); +``` + +``` +``` + +``` let ignore_case = env::var("IGNORE_CASE").is_ok(); +``` + +``` + +``` +``` Ok(Config { +``` + +``` query, +``` + +``` file_path, +``` + +``` ignore_case, +``` + +``` }) +``` + +``` } +``` + +``` } ``` @@ -995,14 +1929,41 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let args: Vec = env::args().collect(); +``` + +``` + +``` +``` let config = Config::build(&args).unwrap_or_else(|err| { +``` + +``` eprintln!("Problem parsing arguments: {err}"); +``` + +``` process::exit(1); +``` + +``` }); +``` + +``` +``` + +``` --snip-- +``` + +``` } ``` @@ -1014,12 +1975,33 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let config = Config::build(env::args()).unwrap_or_else(|err| { +``` + +``` eprintln!("Problem parsing arguments: {err}"); +``` + +``` process::exit(1); +``` + +``` }); +``` + +``` + +``` +``` --snip-- +``` + +``` } ``` @@ -1032,16 +2014,28 @@ we’re passing ownership of the iterator returned from `env::args` to Next, we need to update the definition of `Config::build`. In your I/O project’s *src/lib.rs* file, let’s change the signature of `Config::build` to -look like Listing 13-19. This still won’t compile because we need to update the -function body. +look like Listing 13-19. This still won’t compile, because we need to update +the function body. Filename: src/lib.rs ``` impl Config { +``` + +``` pub fn build( +``` + +``` mut args: impl Iterator, +``` + +``` ) -> Result { +``` + +``` --snip-- ``` @@ -1054,8 +2048,8 @@ the `Iterator` trait and returns `String` values. We’ve updated the signature of the `Config::build` function so the parameter `args` has a generic type with the trait bounds `impl Iterator` instead of `&[String]`. This usage of the `impl Trait` syntax we discussed in -the “Traits as Parameters” section of Chapter 10 means that `args` can be any -type that implements the `Iterator` type and returns `String` items. +“Traits as Parameters” on page XX means that `args` can be any type that +implements the `Iterator` type and returns `String` items. Because we’re taking ownership of `args` and we’ll be mutating `args` by iterating over it, we can add the `mut` keyword into the specification of the @@ -1065,35 +2059,107 @@ iterating over it, we can add the `mut` keyword into the specification of the Next, we’ll fix the body of `Config::build`. Because `args` implements the `Iterator` trait, we know we can call the `next` method on it! Listing 13-20 -updates the code from Listing 12-23 to use the `next` method: +updates the code from Listing 12-23 to use the `next` method. Filename: src/lib.rs ``` impl Config { +``` + +``` pub fn build( +``` + +``` mut args: impl Iterator, +``` + +``` ) -> Result { +``` + +``` args.next(); +``` + +``` + +``` +``` let query = match args.next() { +``` + +``` Some(arg) => arg, +``` + +``` None => return Err("Didn't get a query string"), +``` + +``` }; +``` + +``` + +``` +``` let file_path = match args.next() { +``` + +``` Some(arg) => arg, +``` + +``` None => return Err("Didn't get a file path"), +``` + +``` }; +``` + +``` +``` + +``` let ignore_case = env::var("IGNORE_CASE").is_ok(); +``` +``` + +``` + +``` Ok(Config { +``` + +``` query, +``` + +``` file_path, +``` + +``` ignore_case, +``` + +``` }) +``` + +``` } +``` + +``` } ``` @@ -1101,8 +2167,8 @@ Changing the body of `Config::build` to use iterator methods Remember that the first value in the return value of `env::args` is the name of the program. We want to ignore that and get to the next value, so first we call -`next` and do nothing with the return value. Second, we call `next` to get the -value we want to put in the `query` field of `Config`. If `next` returns a +`next` and do nothing with the return value. Then we call `next` to get the +value we want to put in the `query` field of `Config`. If `next` returns `Some`, we use a `match` to extract the value. If it returns `None`, it means not enough arguments were given and we return early with an `Err` value. We do the same thing for the `filename` value. @@ -1110,21 +2176,51 @@ the same thing for the `filename` value. ### Making Code Clearer with Iterator Adaptors We can also take advantage of iterators in the `search` function in our I/O -project, which is reproduced here in Listing 13-21 as it was in Listing 12-19: +project, which is reproduced here in Listing 13-21 as it was in Listing 12-19. Filename: src/lib.rs ``` pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { +``` + +``` let mut results = Vec::new(); +``` + +``` + +``` +``` for line in contents.lines() { +``` + +``` if line.contains(query) { +``` + +``` results.push(line); +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` results +``` + +``` } ``` @@ -1134,17 +2230,32 @@ We can write this code in a more concise way using iterator adaptor methods. Doing so also lets us avoid having a mutable intermediate `results` vector. The functional programming style prefers to minimize the amount of mutable state to make code clearer. Removing the mutable state might enable a future enhancement -to make searching happen in parallel, because we wouldn’t have to manage -concurrent access to the `results` vector. Listing 13-22 shows this change: +to make searching happen in parallel because we wouldn’t have to manage +concurrent access to the `results` vector. Listing 13-22 shows this change. Filename: src/lib.rs ``` pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { +``` + +``` contents +``` + +``` .lines() +``` + +``` .filter(|line| line.contains(query)) +``` + +``` .collect() +``` + +``` } ``` @@ -1152,13 +2263,12 @@ Using iterator adaptor methods in the implementation of the `search` function Recall that the purpose of the `search` function is to return all lines in `contents` that contain the `query`. Similar to the `filter` example in Listing -13-16, this code uses the `filter` adaptor to keep only the lines that -`line.contains(query)` returns `true` for. We then collect the matching lines -into another vector with `collect`. Much simpler! Feel free to make the same -change to use iterator methods in the `search_case_insensitive` function as -well. +13-16, this code uses the `filter` adaptor to keep only the lines for which +`line.contains(query)` returns `true`. We then collect the matching lines into +another vector with `collect`. Much simpler! Feel free to make the same change +to use iterator methods in the `search_case_insensitive` function as well. -### Choosing Between Loops or Iterators +### Choosing Between Loops and Iterators The next logical question is which style you should choose in your own code and why: the original implementation in Listing 13-21 or the version using @@ -1172,8 +2282,7 @@ that are unique to this code, such as the filtering condition each element in the iterator must pass. But are the two implementations truly equivalent? The intuitive assumption -might be that the more low-level loop will be faster. Let’s talk about -performance. +might be that the lower-level loop will be faster. Let’s talk about performance. ## Comparing Performance: Loops vs. Iterators @@ -1188,12 +2297,15 @@ version of `search` using the `for` loop and the version using iterators: ``` test bench_search_for ... bench: 19,620,300 ns/iter (+/- 915,700) +``` + +``` test bench_search_iter ... bench: 19,234,900 ns/iter (+/- 657,200) ``` The iterator version was slightly faster! We won’t explain the benchmark code -here, because the point is not to prove that the two versions are equivalent -but to get a general sense of how these two implementations compare +here because the point is not to prove that the two versions are equivalent but +to get a general sense of how these two implementations compare performance-wise. For a more comprehensive benchmark, you should check using various texts of @@ -1201,7 +2313,7 @@ various sizes as the `contents`, different words and words of different lengths as the `query`, and all kinds of other variations. The point is this: iterators, although a high-level abstraction, get compiled down to roughly the same code as if you’d written the lower-level code yourself. Iterators are one -of Rust’s *zero-cost abstractions*, by which we mean using the abstraction +of Rust’s *zero-cost abstractions*, by which we mean that using the abstraction imposes no additional runtime overhead. This is analogous to how Bjarne Stroustrup, the original designer and implementor of C++, defines *zero-overhead* in “Foundations of C++” (2012): @@ -1220,24 +2332,57 @@ translates high-level ideas to low-level code. ``` let buffer: &mut [i32]; +``` + +``` let coefficients: [i64; 12]; +``` + +``` let qlp_shift: i16; +``` + +``` +``` + +``` for i in 12..buffer.len() { +``` + +``` let prediction = coefficients.iter() +``` + +``` .zip(&buffer[i - 12..i]) +``` + +``` .map(|(&c, &s)| c * s as i64) +``` + +``` .sum::() >> qlp_shift; +``` + +``` let delta = buffer[i]; +``` + +``` buffer[i] = prediction as i32 + delta; +``` + +``` } ``` To calculate the value of `prediction`, this code iterates through each of the 12 values in `coefficients` and uses the `zip` method to pair the coefficient -values with the previous 12 values in `buffer`. Then, for each pair, we -multiply the values together, sum all the results, and shift the bits in the -sum `qlp_shift` bits to the right. +values with the previous 12 values in `buffer`. Then, for each pair, it +multiplies the values together, sums all the results, and shifts the bits in +the sum `qlp_shift` bits to the right. Calculations in applications like audio decoders often prioritize performance most highly. Here, we’re creating an iterator, using two adaptors, and then @@ -1251,7 +2396,7 @@ the loop. All of the coefficients get stored in registers, which means accessing the values is very fast. There are no bounds checks on the array access at runtime. -All these optimizations that Rust is able to apply make the resulting code +All of these optimizations that Rust is able to apply make the resultant code extremely efficient. Now that you know this, you can use iterators and closures without fear! They make code seem like it’s higher level but don’t impose a runtime performance penalty for doing so. diff --git a/nostarch/docx/chapter13.docx b/nostarch/docx/chapter13.docx index 7fdcee8bd647079d61198d109405d5a582cb1b08..0b6dd0cc0108ff072fa4aa6e8399a5145861fcb3 100644 GIT binary patch delta 64612 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

    uZud?yaw-Y7#hPr4S)Woo7=!}}4A(HJ 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 M0W#R1eGl0G2O{}QA^-pY delta 82953 zcmV)nK%KwKxCE2N1+XXwvum8y0)GW1v*%>n006aL5daYY004Jya%3-LZ)0_BWo~pX zcx`O#eQS@~Mz-Mh1@=F9dKZC>*_QZz^jv#Dkr_*v7N;pv!$+(8 zP6Fg_yqen+6gmlyrFN)TvYFeg5sw_lxk=9Zu39j(^@>$OGx( z6^{IP8bmj5FaG1xB@0&rJCTK-|OaW>`e}9gW4BtP&kXr-MhxX9g2c#SUh^$bN_d%(xK^a4e)gB=2 zC_n_OJxKa-kQj?Ij)SD^Lo$zpr0zqqj)SzvPK$j8kC!+iAI{=rfim*H$<1(qlG}WF zNdPZV7F-8mkUbEXlCcGYg6Q@LjL5GZAuQBsYY66W5l?ZbPPb6vw|^IT5?yV6fBE=( ziu%?1_nW^Se}ThhuO+Xuhxk4V(`@_OqzUcTKle6*rJ&j{!6Bhz9HsMM`6wM0$3i0? z&bL7B4iVsP5pKV?TFMQNTAgU~*4yv|unGE`y<3E9%nw79r3Sl6K|KDV2@2(RZZTO9 z4t{#^QKZ=+uG~=gY<~eLdjJd{H@qyiFsu!Xq5pKcDV(6;vD(5}?+S$zJP}rIC;Ooo*>v6tin68akp32BXpYiHMyC*QJEZhSa1V5I|%=t#QE|GT5uY)_fH~m zMU|5lur>#3_mHQjA@jo=Es3OD_*d_5qBudtk`h5l9iC%!M9 z)4hI0Wz5ApqE%hT(+B$Zl6vHy zej!dV7JR%YPryuM9We89u_ij^kT;E&h;^`;`2M9y5vJ5upVk z(kzdBD&bLhNulQG24BuF%JKxKSC;{KKg!}Hywh3hmqAk4T7up%OX7tf&Hh+UdmJ%!2o8{`TnUJ!fTB#$8-i#S<~Z_2tsvmYin^|8rd|NvTo6g=9(kXkFz~Cl z;*&-2iWpco30f=|2awMVJYX%hv--k^dUA9c?|&cyg)Rbx?bC4qg?35>0Vs^)S;khs zI(+W@FrTuOi_RjQQ-2!B69~*$hJ`Ls7;<2oe9bgUI*aZS6|QVhIA?RrG%7obFf>&t zxhdkOY$LC;XeT(!lc;BA(HCEhOQ*94$ArWQED~>Z3s?t`UL`mE0ThmK3<}*llms+1 z4u4CHo5iq1Mu;+CLJr?!Kc`X-n2-Y&ZcJfG3v%wV`Je=Q$jnzSwd`<3NU}p~&zCoJi(0{@Pu+H5a!8&w6<6j3t+nvT6*i{Y8b_-H? zx88LQ3*S``!V(ohlx7&gvNfkc>gOpeS&_yISgOUgP68Ct!1N)SiVO*Q~@i>k|;QC>q&z}5F%K5$6g?TNvm-*-B7C2ivcMXfh7jirGMOa z7Ge6W+D!Y-Vhu0nFu^mNBp8;q3M`HaEOqb6Lo+D7V92g?vo*&Zsn$igYS+?6j_TSM zTa{2tS(hzvFW$NW2uFCH9LVm@s^R79;un*WZA72mJUBC*|s5_Q8^ML-8DW zQaMzHDrki6$3j;5GgSRaUTFiJ4GE%2!+&gHgi zz%m^`VY|I=F2mp!mgMx~D9w`Ghh@MpV~qX-nfX$DOL=nMV?V!O?vEI}W#b!k^O zEJZWQSH7aVBgrz)of*}QEB`=m6F%G1-|PbQa|Fxj1T5C^)X%KvVR5%PPJe&Rw6PEfU}N!@q#SmvF>CFff?VD1Rrvw}t?+QbJ_Nt~iqwRWs~LC`EF|vMQ+uJ2HRKYU3wh zl4^;QqTzi_H@(i{4a^?v)yH0atik&A56d_Rft9Nxf^Y__pEuDVAAbM!H(+6;8Tl9( zZ)9^|!9{4n+eL6QhnA2ZM7Mueu9s$<);X@5f8In~N8q`v(~ z^Ra-L>nKbxn!<`x6**+Ua(2O0Yr$(i2CnvLTloPi2A}5s92CO9^3RtjBWh#>3g-pN z{5iNl{JCuAwr%)+3`>IbHK)RrN?^^~9>nzqwVxxdU7+U|r zB&eI$*j-MZ1~D=C10R;vN5gZV5C-SZ^y4Y+E9gbzJjHi0xVF8(bPF710WhD-rpq@h zzJTQ=q61e3CD2259jiVbTb`j@lmp|gERUrTeY!?w2NfoM+kc0L1LK~ldAd|Ah8Y-vsyL0?%TTg2EY?mKjIDivB|ctlS@3vKA2%uzy&XcB+R)VORtPD28#E;uX;} zfnCtBba{M-!W^0s6!g8Kdau<6+i5VH5g7q23Du7y8f6=RLi#@|uv z;H-aui3s$z2F4b%Bwm0*7@BUM`th=Nun0tVH4lLGhk)5_Y>H<=gr@^gNEaQFz~$R7 ziaA%%?0>#Fw66Gb471TZD4an~n?_*>jG1S^QY~od7AS-hoCA{<(BdN3c#iG@XndTf zS-c4T3sFDDp!AL*yNTsUmu*j~)au9+Lm4S9?*801wTAiZWXj7|G zSnxq~b4hO6OZ=4bez^*=`Q_G&vVQ%3sgAP2i+|5Pt?L?~RX#&AcI)aIx{fzxNKgnf zr!TVwj-*R;fOSRS7^XUwEO&fnfzz3;xxj3~S&#s$&Bym>5dh15fo8$3fSIqrLJ-gt zevok~U>O;GSn53YT_2Vbd_4oz)IrBiK;aB53<%8u8X{=TbBH=L0EO_kIH9HMU;vMdVojmxO6TLce7B7eFggo)W*2Y4v9H7zV(T8-l)_umVqUYaGjFOF>is!Gg| z77xi8;82u?Li-NCypB>N4~WxXh4B)ddWM3iiwxD)7Cdt2{uBF+Ui@S>`#KW;PHNjsO8q?pmtpsJs8^IqFIQdcozG&13|z)31gH6&VT0dDc8Uhhp*N> z=!-}K$_YI38W$yT`0D$>pT}WJKbWG7z)>Vcxs=RHS^p#(SBiEeNq;RcVGD=NLl1}a zq2!no-B^FUvBV(weZu#f6Y-gTuzj*w!um-)4((pI?toL*Q-;Ha9q5k80XjQtt2^53 z=3AZ22I-@_BJthU?|*_q8e-2eXbCsu1;x~49~eLPDaa!6?W@LG7>G9sS~Q9kwp!6D zh$0Lu3w1wi!z5NY5Zc+*Bsj|xwvVD0H2oFd^Mojs1YZ5iDgZX*i5Of1PzZmjNdxOF z!YR2umY^_(M&Nn8f+Zz@jk)+PNb9`!oyA#JFXi%hfFUz2Tz_#KO;Qc&blph{mo(e7 z>|%c58krqbnD}iU?xck)j-jig?I%TA_~uc8#TwCN$(85EQ~Vve#)UJl#e(V5*57?{ zBWv`{r@E0h9%DyUTtjQS2^$CTfo*@@h5Q`dTk}Pl_`?MXqCq9}!sZTBR+N!zyJhZ> zEzcw`H&5Y?@_#3diUufmY?ibA{Add_d-p&7RylajSZD`8O>q+3;nyC%&Tmf1p*|`5 z_5=A=fWq-V8v$*!E>Zd5ZoGUD20M%+{O0cscw2WJXC%qhf*4JjSeke4f|v%p4I>p> zcnjRQWev7DwmojJB}io#*1(5K~j)EEvWGkPk+lNiA@mGF=bVD?Fz3?#)fS< z#ZCF85QHWxH=&53T9dJ5Rw!a_{=7Uz4lMDP2Fp_v&(O!?%EjH0<<%ToUDCACq#}<^ zS9eE>-ho4VU`K>zGKx;aY$8w%X{;(z!8p4D)f*eKZg=3c@RJ|wL_+3ZwR323r)I;I zfbHkFHGh$el14VwoOs|QV@NEYk2oUQIG%n$H+Ym_bXyRqq0H1xTQj|i*3fC0sameC zXp>19W!8|A-kKj2b-_Wv0}>;nYu=H_}b7s-E*XZ!;V#~PGEKxSIR|pyC}BgBTC=A zC>LC^ihItALA_7(tY|b*J0-_E(G(~<4C>DIbd32EPohXVk z!o-id6VnRZfwZ{~$~6KzkcdRsmGqP%@_&ij!Vuqr#P)OVI87gUx)cU^v`SDlYlEwD z@;OdE<8ZGH4&VFd_0K=^J#xHvm8yUP+Hvl4QTVl2ki(fAZ@7wLwg}N}%`zRQ>XUFs zs%q$u`2fd=kn$%l?<;KLRMK4AG*yM((omdAhOJnJXHn3*C{GOCbc%547qfwU9e)RH zoLd}@JnMWHMk|#md*{5x!VbNGsZ4Q#-HFh#HlB%P zXuZf!fqc^0it@$hr1i1lwC=Y&SKY!DDK+v{9ri&Qnx&8SI>c&{Vvn`%Ckgbdzh?dG z{dR3V??1=;iZszjnp^SrbXrZ5Jby*AG>JxKc8@EugIz@#e`&{6T=TcuIwlUVg|!K3 z6rHF_j#JK9VW={@EIlJ!o^cv*qDLdu&K=vv$g3na7@jvCnL3OE)AGYt#uLq~ICa&D=_;D~ zbS%CgO`?gb+Z;QZA{!OQzbQ{V*U()MRN+k#+fi+2M75FKXsRw5Bh7e9h514#5}eYt z9PUm2^$OuerC6G&dR7tm-+w&o1ui5$;-PFgElTvj06SV_$Pj6@MhGBd9Xj1K;pqa9%IMNq) z#W%`$uw+*??1~y_5PQ>_08oxOQ^WKOOLa%x%>Oujd5SXjoCO-3G*Xcq{pJtk>YK^Ikc}`fis_7fMw6)UnY({>v{&=T+pimgkR@7I|z&qQ_i&}(soNqR%6O)U> zd2~fih5OfQ-sS!ei91Kp4P9gLx+5B$t=DnHky`(~et+qp9XRq;!MLd*+9B8xg~dB7 zXicyq3R}-gu;!J3reP}l$T9P28h&j__rIUv%F~STM79)) z$Ihmyo-XN{^nXRQ_4}ns(Z24Po@aR7?CDo?+e{ow9vhWljw~yhYXeB)Zn1;n+);VD zX=t%m$Ia;lFICs@L%hKJysoFwVP%N*&GYRp_S4SQl4Fp3#k$b}1W zbBO5?69jq{WTI+ms7$DzJ$VLA<6l>QZo$KcVTnq+svC{VBY1c9=U*-wbq$wfNz?2~ zx`X05vVX0pUtG4&(|sjsS_4}HsiFNy(LA;A-tW*}H!Vq%o$k}V1yvfU=H}Q{JgaEF z4aL}%)rm_C+e$8!F|o#D+xwy#%bda36&2ZjDP#BhIKrpb@oOU@3zTYdtf{zTOR>5> z`J--^=(_|MtePMW5^u1A;QcSjU{$yqth#PUBY(9zQNl1MvhCX4w|LIE`CT+vP1}=4 zPGOqv%2`iUJjMRvdIj|c>mEz?2J5p#>Vm;)dShF6M%7{=#U!Q!fL@Nr8mx+FgSD)I z)X?75Y}YDG(;eDN##r~f(bs3Ns=A{|x?8<6x?!*$USFd^AIThh?x@;bNL975JK}A5 zG=CbTyPjI?qM{4_MhvdM+-9O~JzW|DqqHlckE}!42Fj`Dw-v^IyjY@$SufC8oNFwE zZX=xrSzZ{Z4NjTnjZI}NRmyiXU9mmII=9|Ail+|(&Q3Rm zLB+`J(yj*Ag|G2cnKt7%Yg$oL=H- zuy^J2d&@G37cnpR6nc4j&E}PyOA`;QXCR19KZ@c_ABEN7o&1>d<&`6ldiDZm^M9Cm zIdm4~8WGo7d=V&Y^OWs-?kvJ}9_^kVxL~_H=+*Cq#8=4_HTFbj@vXH|1Y#^mLu6JI zbeFB!#&UlQxnK+Ou8!H0a5~Jwur&G?yRZcbyuFMxK4cn{zz*5bNz0=XDyxZuvN?9g z#Yn8Dg>TSc;64;6d`E)FqGd(}R)$n#iGHEW+EuD9*n6 zdGO!E^5uojUy2gBZ^Gf}kHr0p+4ai#qh%-4s@6EzVn(;4DufXx1ya_jneFA9=%m612M40xuC_ z^owFru7-K#>WjrysS9ho&;{=(od_amd3PuYP$Wt&iSr+IU{{_|%@1HN$`LK_5D2pn ze6(jeo_{N!{C_Ple}6L&M3VPk@u}goQeo`+bzBFh2&k{f`6O2D7NiRnxSLCa^GE5|p1{u(a24WtgHd!sOfmFo>H z*Ytp+x3f4ys~|g|1onK)3Ex_Uwc}g?tXhE`PwlywuQVQ%pnngUeJLc}Q%94%w(^E; zy3**}UGuxpmxA50va?%F)G$Ao^~b4KZpt|0d-{sBrbVrAw2w1E*suEe=hg<%dCbog zhqJ*VPEWEDk9_y%G>iS)y=%YS)UG4n{rU}yr#Kkh;#$uO^Kfo+IYc3TO80OGeuD#R z9|)r9Cvh=GVSj*OCTIyvL=u_D7l~@w|5!yMjQ=uvCkX=nIsoCWKO=w7k*F-ACr%NS z!a-;*D!*}6*Ts#8AY3jn5>06TGv^D z185kDY-g0QwXqvsN^oy0mMA0KRy?rRq9nnOv?M@`65pJYpZZ44dj6&2>9z+ z5aO%ha7dWwAK1^*VQEQaFBhAcbj5S^@x-VwlWpmiXP$cmRBL8xL##;<1?gN^3H}t{ z34;8$Jc^fDun7K381jES0d89dO@(UL`Arbbs-dD2GBo}!h(=^VH#mEpipnz*R@)~H z6o0d<)eV`Vz!<6O*pn(6yljp}x-B`K7X@udazHodK=7Z|tTHT^yDXA_YOoKQB3p#u zlwP}vpQcY_TRV65b34UPTy!%}g|&ID8?em*^pZ!<-j>>F2?1JD`??9dMxym2o{Exw zxML69Rad-oS%I~YX7`p0P|PQO63zD86ID~*tgq71;^f(ItG z@sLy~O@$eCeR_5k@jh$o)OUZ86+XfeUj$}JLf4W<#f_e2R|8dVkq`lQ;lLx69icqIrliXLcdFJbE9wYYxNUFc~g zS_ZKvLY{Sr^&L8S?IXFhMQP{4283)38y1P@IDjSBaC8?Waa7l4u(Nox{c9a&3}6*`D^!`kJ7i{=DYBy} z#)wv!>?S#nJk3@$-gPHC1_3k6>|2bc#X?%Fl`d=j-Rn5MU7+N)Fi6Oc0=m2cfe0-K z$u~a6OKLY<2GPd#bxHIB@_*0n81^Sn#IAS(w8o3i?zjNU{y#mihjMln;rH7;28A`W z$rH}w*=ZndRM{9SlI@nojV5WDqABz#PjR!eqVp!TeiE3xSz{G&fV_ysb-@Z|o1-Yo zr7E^N<812$5w)qp{MegIFC7Sizq!an5oQ{T%zw($9EG7MFK&YWnSTeuj?_b(3xX`n z`@GSz#APfCgDfyB2VhT6;hm}hX8f!tEeQfn8?gyXRSIr7f<7|jGhC#~P-pQ4XKy}v5nwR}v_Qi~v4UkL0}DvP6mi$sM>#tsw6i!v3;otA!=1$# zntUVrHLO?;+lJ{bKYv7^(8c%5F!0$qgPldXsJ@>eV7_-k>bRy5yt6n1%L;gib65d( zqE94j_i1NQ_6`i4=q?{ai?G8KaY=9!OxZr~?ot{UV=R_&lGRkxbr$Ox+w0m{d~uZK z2|OXk?yAyVD&OJcp{C7NXOTuX2?l1P0&@?opz$$0uLUrpx_^jK0rLxi!glMC1%-58 zQ$*Qao&c78w~jjlvro54Lw!k^P*t-pDHDq^$dan2R1-=FO(J`k(}T$gC?itg-GoT4hMD z=~CdFNP-L2 zz!K6Zxel_r2}zyB`rsgi&SL!|ybF;?K49gVVXz1?U~c2htq3gN23i6O9W5V(z;al8 zaM$$=7=`=#?%oXxnjsFid+IFO(40ol*rLAURd-2DMBABkpq3-3k2X|@HX0&e7h*Lm z`OLuVPJb_E4$MIoWWWFV8!$oM&uQpY>N0_QmAY4{chOzMDJ-8q%>2&RG*AJo6dYP_ zLud&52wI8f3LF#np3pNO9br6$#mEPSW_OpB`=-92tTnvu_)MSu8F^@SCUWRH^WEV|I*dT0vFTi@Sf zXYx+L@1B(<~ zV`yc^bz?a@i|`#zu48aRSfJ%W!n&E$ED8J!Sb5_A3o6kouZ5^Opz4jQZg@P^^>e# zY1)+}{dM;>^WbJ4l7F&Sn?UUY4#Rl0et*yNOI!cFMy9-A^|G?!AWFCB>PMivrPmI% zxRTK59to8a1&0L*=_h`?Sl}r8NPkfj9&FcOuHQMu;r5Aj0;Nl2-8}Sg$br^H@9g(sJkgyzsnUHMO)FGqap(@_p(b#fyG*B&vIy7 z3~uH#EDi>R?KW)^6w=^Yn*odjf`7c9!KGyYyrJQ>0t1C_x{P66&%jbsmk3z)Auw$X zLCfugg>G__Q_on>61_m%pgRrvky!%KeaU#=u{g`>r93Es9x{tGCE4+0#iY@vogz(1 zH#Nhui4`ylP62#k=%9{Hi4W2`(7LB zdE|oU2;Z79(!?JwP!J6&P50RBVVI8XxkVUnhdnfF?AjB{JcT{VpERoBrR=d;&a;KN z*}D)kugHeSaIbS%y2N4FsDI5`QRaf9G`Pc`+14E!c)2gx$>Jh=_x6PKAAwxjxq6UyHaVdnua^lltK=^>?u7&3i7Az(L25a zBC-9FAj-n1<$*i^@DHz_gH`T1cmULek3v5WYZI(Fa8nw_tMFkk7=K*6DIWzkV=0q~ z<7qY(^d;?p+~SUWl6KGu#%jSg**w8$dQ}yB$8UBTV!V9qe{ zfd&53WWP;Yvt)NXE`P7j(4C2^$VHwV$MrR`AJ)d2i@x_KFHXZSSF*CF&ir^Z|llv|2s~CH?^e%zFfJ}!WQ>oO)mgCB< zQc)_29_^5S&a5rUezXtB`gF+apK8B`KJng5iiNrU3h<`FvROa+rx)^jfHv_Db zN9)C5VSK)RKmClNdg=Ei%_!+@Ja?dw z&gQ^+eiCa7mddx+_M_YU0IUUb28$W`;6i_IRIvp)=?B`iF$Y%u0M4uZV1gskuPDf z12DZJ!6CkbHphruc^NS8>nCU};({>D(=0(5FnK(WSD^5PXq^I#F`eu5^P2@+?|5vRjdETArdhyepJ<7Syl;`;?{xvxv28bz9MVFA8^l z<=e-1I`|w%`12hz6Qvf_Hn_gN7ubyEjUdopLNgkEaGBDb1Kd9fg4>FjTfqIL^xYx5 zILG-iQYYN}f-+!e7ue48dER4U!9eWgtI`MZXWKR*~s-TEs z^16gO9`{2ajONQEp5{J0DO=ZXfy>3S?u;O6Gv_!GNA8E;fBj9^(f7&O$5VmgkRN2v z)I41(ASWANdCBemU6A1f6;mE5gl$%*@IW?Kf9R=;6cvl3wuvY)o8W)ufiMmiu74H^ zyM35#4!B4|L4YxxCn3-~3y&h`Iuyp&qKH8o+yuhVhH3-W4j$>YGAN9*gJ_16MA%Um z>yQmZX@Yr*Zty@5@VbT;Ja$tQ-~(0j9g~5_Xjp9M(53<+sf3*z$k94shI}y(O&He90$Cn1 zwx;J?x7h@qG9N_bN8+rTAQDEB)70X&Q=`vzE$zIa?@4khz8`aT254sy2G$0WEtWcq zZk^|%X9qs$7WOkN0t4%zLa&TL3G|RzJ0MGzG*b8Gg1VBbI+}H{MP>&TCVzh0hw$fu zPM~$<2H4MWCwSe@*%ZngYi~9zj;?bEcNSrIw^>b=QHS|B@)MlFyMjR>49#f6h@EBH z-D3x9v*C>P;_0VtHA*?K{gW+?L6bu#?1K2vY` z?}9Yj4BEU@D8{HQt^}`7_Dv8RrrW3fLT z&Foz{e|1>k)O|*%tzhpg#?U+*Pp%|TXalnZU=3g;r!IjN&Fe?To__)1e?W`zu8n~H z{t#}pfWkO{#>74j?x0Qh0ER9oY#*I;15jv#o2Up;sR+{O_g{a5CE@OH!t4gnS%mWx z&vIBH)_yEouenvPkvv((DKNzXTm%rHFRA4S0M1y&~ju6hKZ19=s&J5+ZTVTd*eFfm-$jk>!SV`BWX`-*oK=P9(B zB5-=~i;1=)TUz{(CF1%637m2ua2i+^EQB>kdoQZPj znXYTQTj%b6)s@lqqFTV7a%i}S435X;IO%f$;OiF0?=Ymb+vVztHj#gQF((Mb7jG(E zpxLKER$Rxl49fSr7t+Xa#3j}MDig<0>@mF^cyfLt zO?}-H!GA@?Ov+(rcY8!;2-ONyGYIT{YBzWpROvXTvHx0~yVp$I#Nv>Lvws zmy4m5$Q_tH)Llk~=3CEJur7~jFe7Y%BVb+Z_oT&;sh=66vF_@&QP$67OP4fL);a5E z&sip2=u%xXTePzq4YCpO4Y#G=zpg?$!o|KSe8c&#}Rd!>$4{IxnxPw%kL8> za$H`1bCaDi2<{}0Q<|JMa<2qz8(_QAuN1q%4r^mmmvq}L@33SzilXW?G~3}FZWTIe zKz|F6oIS!Yiv?g&$t$8XgQ=91}<^b1^qdQDKWOsh$ zp`_w$9#2JW=1+slmrs(PS*UExZw;b0V>m5j} zI>bR;7o1JhOx5u;cVtsK?HW}hS(P2718OE@`s4d0_Qj3iB_}`kMQN=+ty5EeVrGDI zfIo|K_8=7wus6x;4Y*&HY{ecG&VyanmUW{ z#vmJ%pbwb=PD9mYNmnabq_V7OBUO0{T<&1QL~;A@aDa2i&SVBSzr|=;EPtlOdg-#( z-@T6G+XYH)3p@AKrnwQ#8@Yni9L@E}2fgj4T(6)z#Hi)m2YzSmU!uv>m);2bF4l z|5RB62~}D>w2#!|*oLoayc;#1GCCr30D2pPjcg<- zx)B4^;Nm*T%Zq$mYC)ljP%&J%qcN`Ifg}%cmL>~qp%wd5Ltw?o2!FCrF#3dTtPZ+) z4wE<|<9v=QFSm%Qewpa}4m0}(%U0o-S~gS+<4V;|SIL-y)1hJ-TL6+rABO7&IBscn zVL@_I!}JiH?b|fV(lxepPrO*H^5}N{375NxQ`jg)jjh(Hu+G@@;`5co2o>At@Xk<< z&P0YkJ0atEf=tHfa(@@>Mh#)vEy8MSh`B@k6R7(ZEs5OxY?!?Pk0naeaRVOha=>Fr?`c_5nQb20yfFE@uYZ^}uJ?-P@3!N0fT+uA z9bGU^mOIIo2tYf@zW?DnhCJ09S$(VN2Lm%pWeGh)F*ehK@^@NY5sL@aR~o@l~yjVyzIpT*evYmuck$}B;bF+rNInM!EZhLf0zWmsO&VPv|l zYnu6psN9|p*d`B3E;gL9^8u9A&F}ZZ$Z}@UDG7mnv42*x7)OeA8(Fq2WJB!97QGsT zy5)p5kZ>*3R8RGK4ZGgX_uUtLr;)$WEh(M7Bc#Gys*?GmmP(bHmdXxPtB}#TmTGSY zJ|+00H{~)L?`8*e*qMeGNS0dPnW|=*lB)|a7^+bw`MYVtGL{`JV4tx8RJt6Y{(HPd z8{Jf*GjX+M?)X=-pkkNHJ^(nXn)>xlGM|lXPS-C$7gDz`|D9t zkbjPq>BXLSVFTpFa3FO%kTf?`B+a1J6j%-T)zduR@M@+(^*ygJ8KRGWJbs_G$*gocx@dk!dZ&3XEd)8H3;T?>|4f*Y z1@LH<4r;4AzNNe6e9S$ym1NB_48Od78Gnw4?OF?cJUG)FY#iBeI`lprR9h+bSx8+( z@f^qYcl@ox>nVz9E3#Gx=XC>54Se1=7oDy(H>K7Tx^`gUe-hyYxDGmCL;sqM@* z@Tj`Q)u_8#V$0;>YZgQp;!r3ARDTR(b0+Sij3gzPDYE=CE_UMqs&KGv*lpXIAoGES zK{uDE#6Y=_YV9010gWnTui3RimhHGwSvFHCrcqockmS#AxyJ^Rx7~+A-reQz+-7{H z-Z~42!Pk(#;6Qm6JwP$NDAqr2xJ=|g{%nYIP*{9CA?G;bt8sWcFoZ-nK!3eu!#To( z>3BgnmV>?&I6Y+56U!XiSea;C*tcbjEo{L!L>m>q;}qGjq1(nrwLvF%=>+P_a%A_x zO^r2!Hgn;3Ui|WVl1vH@fAU>)N8F4=AIgApC<-~J)m~wPcOFie;gmVx8CjS@Yc!r<2hO4IzX~jf{bHyWjqwAV%Y@>UXjhv zlWYnCxOdm6IHu;BmH_Y{jq;!uhy!|O1Nk2@BJXz4R@IkW#kOl;HKt>kMxdYjW?Ud` zMGeq$smf|fnkkts9lE)vtcK&6k}3iqSj+q2g^9deWs)S_R%qvb^?#gJJ=GN(KWIRv zdSSY%TZV1=VI6VQv!uXLA9e6Nx(Zgm_P%&8C^5$g5aH*WK&+MS8LtV%dR+|*q~~TThG+V@H9G32G5W_p9aXIDwyT``?(|#^QyNL6ULro7upoD3v;Io^J~x!KU7uQsGX>qE8DuP(vbGD zv||{UcZzE{49sgern+r2Bk)5fpxZ&bbEEwoy9~@T6gP0>@*>4mBRGtAV+_^l5pTq3N1y`+wEb*zi2h(T#IoNDb5SPB8*Q z>+V@L)zG>N%y0MBUBfjM$M)(Gk|hPEe)bWcL+dUl@|W5aq*#GzYhkS*OxG;K4g8^j zZP3*-=_(Xqvr}iBskxG0&-&7XROgmefC z9Zc5*YHQwtjzI-WI;S*U4yxc_VJn=U45}zSGeJ)r51>~cI5PzsH5>s^zsaC57-zC9bg>eZVE(bbpaGs5HRv)=ew*g02+Q!`O$=d2jps>9 znlGh=G>4dQFT*WmPyO0T2Cq1@&+n8P9BP_owb`^-Q{65z) za^ip8>>_=@CEpL^(>l#?nYP1*btoGMw0=K99# zDlVdByPBs}v3EmV_ku^{hzftZ58E&0wiHS(HjLg6NKC!=6B*Bv_}?pBy9$|*7wHn4 zn_jp#(-pH3T3D8wN-l+E_&!=L2Sm>y7g2xZ8QB#mE`>-4uHl~fEF%%FpaPlxq6;*! zML?4%$7Lhfov{Mz1F|yUIB#lR5te0|14fqG!4+;`Gio^fh!HBD|3RDF*kD}3@;r%` z}+zvOmX9%4K6$bT%hB>q6uoHg-Sx$SX(1(@pwnBe|is|j3cT_yf>Q#;Kgv^US zi|Op%a&B6*%4ccujQ2l$NB=pA@`5i#Qj{ynypq)$S$(VNZzbuUn}_e%qD)om$bB*| zKlBX6sAPt^a9VJ6Lq6v3KGM&2|Jd@p`GkHePL?~~^}f8H#Ag1knytDnc@lqL4VJS8 zSXe-g4>bg4|1qA2?adB%DcoCW=XJjEMkowxQG=y1S}Zr;BXe7(bHwj zdAk@>Se?*%&FnsxJYTmoz1DwyZkVnaC=vyVe&le=43op%hwa_xd&MWr?sG4lkgua# zQs&8ycxC!(o9})WY0t1b8(&k^7-iMqn=M1r&=fn6!>SB5OSK%;eOyvLGTeKmMj38j zr^Dd-Rj)Zb2c<`MS+r=bd8#~lnNQx z3^m?Rfg-H_)a782EYpASbiH=4C~Ba{a#+RjL9kCjRg=fOs;YYOGxe|CMnEqPs^hF@hqZHC@-4lfRaPsAyEn_9<_%gJ!{aun0=+?j zH=V+B)4dpEyzkm_M*P0i0AM~I#>|H(%ir?Yp1&>leqGG_|{?)kS# zDM;dq-WlWXBzKYSU5Y1iBtN7pqO72Lx1GkdVrH#5Z{$6J8tzO*b>8tX%dzH_~ zt4+Dft2lpo6}?Kx`f2Wq?Ox;kGjEg$%{RO<7v8{GgVV5~Po^Xz$#}N~!!*h1_KTL| zIR5MFn|MK%uih6-exEL)gg#^DBun;h#>>Nxx00Txl;iTjg-WKIkGD5Z<)#c zvXj7$!-@!=5L0~#_ayRC#8ip^V&`rAmv*Q2(T0EPr8nEx4(%@>{k(y-ztbM0)~L3s z1Y2=Dr38Du3gtJv8CAF43zoM1%dt|!&s&ZM_Z`>UdUy7ruQ;I_Xg1Z|{X;(pEZsl*1vU@_ zJ;i@Qt1oez9yO^$Q+@=9HnS^_1KoxeP;LPqR7`dkKftBW8@k812?d#swDef=5D60t ziv!_o1-2QPtvEaggK?bQt*E~=0-}EdwqszGuW8^S2hwHa1EnYpkTpWvzQaK{{AhpG zXX7-6#QGBndsc)6qDqfgG%C~)9YYTgB zrU@GXi3j7+eO@rm(MdiLlmW0``GxM-P%-Q2SxE_xQ8+Tr?a92FTMv;Penr<-B9foQ>Xg3B3 zc6$I})bF)eR=3XBqn~Y*H3i4{*;<2#Zy1tJFTwY{Y}wO7Z`1VFUg|@6Yrgh8q`!U7 zYT3`>LmQmJ=CYq14`uPsNwL5PNW*`6#i#A(0(*WZ2h!wYw78!Ws0=Q7U;{C85lXtc zn}HD@Qe8FD%RFY!mJvJBXoR&JyzoOW{4ud)oN%|@aO@bGX)6Ba$w#uj_vg%0rTlW= zy3y-Lc(4|cL0L#P@;fKR2Ov!z#|vV z+5qm{HO9N2I4SmE%$_jDf&9&^P(gZp;M<<#ba5Zg4+jBoBA=0euj1k_!Q^t;H?6~E z=-KuGXxjHK2CPrRCv2on>k^-&p}nIuT&*6M?Spj%GN`(Tj1)$DD112a^|mu+fvAIJ zvpM&6arSVwUx1iib0B|#xatnlIIhy9|sBF+;PW-mG z{KE3g?#~gH-Ll+;9cYTH#!N3?Saz2Lmj5O=$~hzlF<2;lwPQfgu3$N546XxS^AlVA&dAd1ESHI*X!|2MiGH zDdhALD5gpB5NByZ+j)SVu%=ht=;Q)xz`;N>TEb@z)ZgT@6&PZ{bV|m6ZJIQSgeta( z!OURtDW4TG0b?9$H91!cJar54RUXab@j>bfaaqBa7z=-cCPPWxXUc$hH$#sk^VEZ~ zWli}<4y0$%{XI!AVEvs*Pd*27U=1Bmk=!PA1*U?4U}b{~T_H^9N=7-D6FrX_u4xAc zeQ?lUmV=&_Id~Qq+pi2I3w`ubk6x( zM+witxYU2Bcy5Z4#1%3dSyNbkC%9@;it`i|zr*PT%I`Ft&(n3`Uoi)_3(Iy>Rl2y_ z4i&d;m!`rp-FWjTEXNH)-o)j1u*GL^FPV|9uuM}VfgG2d(dh+RYm7^k6A~Ayfvcz( zogrsH`QZSvV~{c*iOQ(fA+v0-M96()bX4~4vefdm|1M^H6aI2%Q_ zCo9~PF{mPmSwVUZ#y4oK&d>(H)|Ik+1g=0T9)nF>JZ!PUu%y7{S9CTfRTnV4cR1q$ zx}bj%T-RR;g@HC*C1W~a1m8Ka%(E4oRcW~F=fOAVI6=UQ_83B>r_0&UYHynZ>oq)E8@^~E0!N&f6J~@HtrwJUW@H#~|-6aB3777st zb=E_+_$)axeIh&{GLVgp!-(q+09l3%Sy_K&G?~PCjO=oA8ZBpqmyb)2C*+7isO(AHV+x7s494^8A*(@u19{_}ygBs}G&FzQ{W~D;7U0EGnh1U0^b!Ieuo{IVO)y>)L9yJ_ z#B>_%;Q~t7++nkuD=g13uDX3}U?feaoWMGaOdpyOGXkqbJ>7H7#-?%%PYF$mLbaDl z)@0c+1G&TairR-SCzbroL2%H;p%PYKTJqDv@{Fv#sx8kWu8gq_37e$JAHRS92N%!i z+WGNfQ{dWt15^;OaU(IVmVTOrLl&+gQ(<%m-Xgx6A>()eR~ZiI#shkUiszfAx_@z1 z17jG1Eh9H1xZq{NI7UFy#M+{2zaV-y#18pZ`O}a6|c*p#08@Uw%)L2`OybchMbjGZK9$ z{m9`Y98!Z9cNXHhNr-Tr-D|?GY98dvY2OXu)cLF%DxL=n@xgayaJ+}bIzq+xaL05e zQ`tx*SJKWDe(Yg>2hl%McYFC$?h`*~I8($P@lNAN1GVWznL!v+s0oX`aXT zb7YQxyf`p^OnD(`M;sS{!79rNS8D!gRC&ZTvj$BuWMB8x8X}@5>q;nD+Up%tdn_^e z+hLPp+u{AMF$TUu3IzR^%+xUuL&cpASTJu-QI*aaq zPP3oM{2*<9CeWh=$!94u*U5o6dpn#)_(U0hdrx=epXd2sZvK3i{{@-8BQx7;TvmIv zM3&`8mgk@y4$l?UT85#>);`a(_-;0*9jH5t@u{$<>3U;MyS;yqtX|cg8Yj!*&tlp| zQu^-EsxYSo174J+^H=ZV@hqJ$=`SWxUa+r7igG2HSF(O18*f$ftt9<(!{d&7%6n+Z zp;?hP58f-BUze=Y-%QAS_XawbH>k*e`=L+fKrdFXe^bOz?>^GccK>*M$>I}^3f&Fy z-mqldk*o0?Z3lmnHJ^TZ&iKwtCuI8)C!!8j&T|SRS=#_lxhXBwS`TFo-baU{pTkpr z>7WyaDJzbyIaQrdRnw78i}w_S<8`7{6vfXG(zsvU0?B#GJo|tg`pT1gx#>^nfA|!+ z&Y8o4UZLb~y3p&y-IC0wQ26K5sv+e^IQ$Zb@D-p1xv77A_nO_gD(jx4hqcaC$&_W) z3OsBUq>q-bXXGG_-=^ga@>KM|vNgLZPt))vGq3{T<$0u44*Tr4Cv9h+)jSFBxrH7- z`**39L<&9K3RR=7`KlZ!4)stj#uw@0nJKocdVyZMjgf=EP}CA9;G*onBFfqK_#AYP z`U^m$yDWdCX$F$2l>*U0)2xn;+uIGfVP2qm_9iV^h&+|*8@9XJ`B54MFk^R?GEKRaQ z>h+!T^?>S2@^{}8S~3S@E%^?xI`QJN>dW(cIk<^=U;|_BNJ6rB48?bG1_6=INcne3 z(=C|LQU{a^!l6Ya3;_^r_O-5P;yBTc(J%#UO|rP5RY7DWVaE+ofAdL!K2O3@eG)@&;hl11ZPpp%u#HV?;;gLNN|FJ@}45*#c&p-+3d5 zQu#Wwy#2dw6@8-$+3SXkniP7HOY1xLGira99E4hVKe1tCj}0boyASbqY`rf;fD1Pu zN%I&Pdr`STCAP%0{~g?kMe>ZSHeh%7`{QbVqY|ZF<@* zNG`%;_9M6+0V%k_58n1%ctzVO;_>ltZ1? zqHP%2V}r@t?!#wH66`gEmgPdnHH2CR4WZlKPeqm0u+orwM0;n8MxM~~$=SWDTF5Ml zp;B?T>54t0gahqjS0`=LX2Jx2=9iYlgA?VZcRGz$-N4u zPkiQ=ugb=xR|f?PEvt;tHC~V?;piO;w(l0JCD`Eume9LpBN+0qu~4NfV8UpIp67A~ zkHPLX^XLPVOcJP7jIz5G#lU7ym*VjNFn0~K;_3OXe2+PWMnF>d`w~Tbe3E~g!bwCp z3YRY;J|iFL-!twLJaGK1S!(KU%zDog{XP`U_zRhX8 zZaFx;99Y@uA_a?H;99FGp7{uf_E!lM(_q%VY3wtPHSD9%sBbF(Q!Q|TER^mp3D{PK ztEi7rlmc+=CgUZ!=g-!$S{Q%NvsVQ>`Pa>J+Ibuuut~KM5cRKyt&MkUvoLpF=GKPm zO~IQihcX#18AmJjpkxlz;eb)vh9&c`2ekQ$Cggk27dh(+WLU5yu(p)M>s*P(V{)J4 znm~nZLQ+$1M_7g@@pMYE24f^F*B|0!f=iK+&7f*K0)=I|;T~F8evy9-O-43sb~+~? zrzb4<6L(7tRBYo<+rkQ&AD$JVv z_i0`teID_q^sP4Et%+^#SzBUN51u~jzeu#3fACps^z)_#Vbkrj9MSFe-yBys+;%== zo8ygZAGJo@!gAe^;1GY7-+Y#_@2rI7co+=JC)INJLXD}G&wQ4@*s$2aOxEoU>O@Rg zoQEtAlcpn7470DRgk^U<%)o_Zw*f#`;0=e0-3c~!$+Gc|Us$d)^6yp51`iOH=W%qO zuUNo#LUYY*4H1^xhbGW=VL6^==>iqQ*zTc7@(^cfLStTB5Qcxq{0eNDkQKWeW7v0` z_@%&4s2E0;0>O1Kx8Yg}%XAhMn~n*LCa{%2W`=R8aSLdfuspNoXA90TvXhRmYf^<} zc$qFpKEoD?qQl4jeAkAoK8xKsDK5Xm)fJQ9;pz%@9m}h$5h~pa*@IMs<+p7-i@5fv zuI6I1D@?q=+1h_R&N8YoBAi|PA5w>$?2B^CnL#SV8wwWKG*n(#q&Z3SL+Gz$7hn-N1J!`z0fLY%qD-eJJDrS1RK*OL=;0ME-70@;`q6 z4;1RhJWW3Ukp_cvgTqf;=20?8i85BYzy+=&@uzn^elVzIaKi_`(`2(p- z;!Hri6Ec5|6MVCFmh*T_z|iu+(0JhxBWGYX7Z8hbgKPq2&YLQj#j*e*pmD=Zhgi@0 zSooJ>gjfC0^v{Mg_RXqp3C=d&VVRQ%?36+P=lq<*HKy!jhS1(C_;igC5OKJHkg$Vo z?+Ck`jEffu#q@6O5)gTWQ)!C5-p6SIGqbI$2tnmI3aU zoIoib!mU`wxInaT3Fnbwo$uv0W0>Mev9l)Un|AlaB{!$%Zf4;@9fMG2uJLk0WSdV{ zkss+3o$~*NdO5h13*0mmFmUxWD~-hni2ThAY#3Qvb0Lp24T|s8l1x`n(CzCPffC54 zbOnFKbOShz$X*~#YXOmlI*LGD9;mw}C}G?e-c&qZ%_FGnOO)qXe7ibC;^agh?C>WM z*i?2Jf{cJ@gALL9I$q{*vngfus`l*(nHS%WCx3lyl;E||DxamrAHM(LJNnN_lotUY#6OpBYWwDd>!4AZEbhw7pAYa z`R-m+V$(&H_|at?mEBfb|t|Jt;PqWC#N z8l{6*J!$xfdZjAWL<(ElvLVTi>lsyPE4pVnzE_?Dmm=-Lr@x!!&n#};R!l2YC4{E` zw=S>eJH9NLo{+ECz_O|bswaQZ?y)_Vb=OiH+d6ko*>Ni}O?oJEpM#saI{c1pCK|xG z4jWlj6j`eI@P-$fdSGjpWd7!CSO5-kUL2IQ^P&uxrT!}r-Ku}gRyy5P9M98~s?uq; zBl)T>z#;I2(jBRI&z+2~ngM<*%}URmZUmwH5?O+}PJ{KQWFWe~b#i}-)xZf1U9WCX zUGdd0kf?JrY|vqYa^h0Oxj*&i+@Gp$tCA|!qA1l=L&FZm_u7X2S<=O^KTV|Pr}CT| z)KCK>RNQ)2NeyM+GXw~#+hlRv=KQG&oXQr5;)jlGSeVixMxchS8P;MH)ADS|D*<>= zt>9@WjvehIjZ#O9YTk}52uJ#hn;1{ zVLKi3ENnGFjTMr@a-8j=MqE>h*fpKPvU}*-Tr&-DDc~6f#PRWtpyCJN;2OH(jpVG%E-LPp;kYYf30Np+h~o zXMVjl)i{5qu#JCymm77})MQ&yYvo&#YiW|KiJ$s8QsST`T(zqKw!95n(=AP|<(3S` zvsJY$#JMPW17B)%5xC+6MN|~l1TGnhXW8;a)hBjJ^_q(1%d$j|iHdbq?Z8vS*S{mg zA%b-+gsrNMSxakamK&%>DE?U{l69?J?6BpnIi?wCeocS7)xa<4xb%!0tZQfLa;FMe zQ?r%8wrdr6ni&MD>xy3-b%Z=RnO9AfZAH>*SKW%~hg2kkdF@WWlk=*FrexUlP@$ls zD$2!G=7E~mdf^#c;D+SsQX$)_z$Mk!1694a^9b}&5$#4H5^@~0D*;pBl6$A3|rkMTWN5R=CXQoGaP zM?8hYYKNPF0SsmcMY@j>f1Z6)f{TuTh$9-?aoT^8$bQtX*{?^R&_|Z~op^$uRJGXw z-){Q=@vh4!DOo0e{Qe*2VJR%vVq*>cuLLa%4Os8%VuK*^s2-%9q_lE-b%M z@+qG+6p#wbG&-cam^~CrSbj{>Cs5s8ZzgKZasBv44Dv!8kUOp(2Zp)!xyUABw-IZ+Z+*eH^)I75X7zn%G z<1{I@)$&{?+3788N4*t$*aPOs^>Dz%<1`187LIV5=5Q2KR^32s2R}Tb%$jBS6zJ@W zBRK9hCPQpRSkBTlE;oaHmnAH_2;!F`+rw#@IrwV<4lTtwjzXY4=*&&RE1E+qfn>?w`3fxdQHq}qYhRsKy%W=aNkGT z4JmIPl)=UZgI&|^Wll#xj{v-5P8av_9BhQrI&Hj|8im!7999>yCfc zF?&{&SV!{db*g+^oG#t)vY}YABiF!RO-c8I!0J^J{>)>2Oxk5}p6m+Y;2Yb zzWhKfr-JRbj|Pq>JNCKz+m2h2VR%pP!$wtY+mh^h^QNjRvaN{^&Txb@hT%OG($6`( zM^OS((}P-7i|m+2ARB^otT#_jZBfT(fNL105}eBAFxIC^x7%1B-&C}q4xWD`d$wfx zlK9vM!v-zs4r6^Tb*zu3tB!2=)NkM0pNefcrmKoSi+0$bCEa1H&*hHwku2BsoEjRQ zA}e8WfWEx3K8EYdYGBqv0ihEnx~`jwT{p36U}?TrPQksH6%;jO?lnuNygyCvNfyzu z81|O_YH6XX)$ZX{*HQz+MhSmp+uv{MqAVTh zJ-T3{`_+;!N=} z2e^O}3U{4mADGq1!g7pk26~?1+ISH%e7$kHN(RIbNPd&m;+B8ir7tYY$l#mG`4s2j zSnNP*`yCGP=3N7JERR6Byio-rzMhc;h%{Xjt{I^db%WL7(!%x#NE}VkC=U%uCtz8u zO=b^lfDlw(Zvr+m400I@*8(nw3RX-)FIPp_=*+^R7QX-Z{r_=9q&ku5P2~{K$~27< z;Ia>ZX8{$VE!2NT+k>$xbRbUP1`PHR(m8#n=Pp-$AmcpEMnLO;XmC}{^(zMlaoh(y zO)ICD%;8*6&R~WD3U7cXJlkdj^Plo8N|sZS0XhQdIw4u%rQIV?77POgMbuK za@?!Tq}ANPu?(2cqSJA!MQHqJ=h-KO6;4##K%~JysG)y=qL*ZxvhSOCtYEwVt7b}9 z^9dxpFuj%qBF!BKT|ob!Tpu9X36x=&r^y`{8aCMJfp8}GUb+d2cPJeJTSl5Q26F;> zX7pZ?TOHj+aqdv9`cT_2(_`J_3^IKj2c7 zYp|RJyAXd&=ul-dp#zF-*b8_l8waK!cVGw)fRZLzmO}ZgO(nn=6Q+zK$QTmLSERQ% zVELlq{^VRf59~lRtWsI5zyO#(dxAaapUn~c=3pb9><4bCcB_T$GHghZOhd8D-sFAI z7cwatgTanmuzF@4Q6=cc5{#W6(( zt?eU>OS-A)BFrOc6UZ?Vxw`uEUEb$1v>%#N#u4XnH~Q_ZY`s;b4r{ChmTL#)Fspsc z8ry%?9DQ%?#9ZTJ7P*RF#ukR|tAXt~HN+L&*3Hlk1puvUc|BPNG8aeTz8wu4KA>j~ z=$WTEO5M>jHAC_ZSF23|Q#DyH4Bxr&KF(+2o}}D>OxN~=EBXVrq@ccU5yXI9;xqkf zwlYetZ%dX@$3?Xa%X1Y01}?Q7F$R$Mx*UJailk_^9?B8Iod{>g1rHehP%4sasS+^D_~dt z|MJrNPf(jD&!Sr6%r!eS^jtUalv;jAmo4AZ0s)2tw7jBh1IZ4xC)dX_JJ;v~Ne`vs zu~nTj9o4W5TY%xaEfP|s%htK4mcD-UNT}G;aA9dhtHXOzRTuE}>PZ)|VDqf7Dn_l6wRQI#4OI~1T=e~OeLZycU7=kQ# zzfa?SZ9=U(PE5>xPHi4;hqc)GiN(EmT)c$*og#&!P7clgws(9M7lg5q5Rt6 zfV_|cvT>4!&=PN+jv=%LHcg!9Nc)_SEYCSc0uG^|EG&ld+CC6+4+o70)|EyL0N7p{ zfT~za35LEGC*!QVY=+ar7%YER1{u%~nWysw5MbsT$^J13UI$q7A94@er;GA)!dmhXPZilM_QJ2;FJ?@0ei|@y@D5JdkidOk7E&lNR z58u&$P71Xun@W@`$-I))8(Dp;8E+-&pCv{1v$h}lWKKT}Jwq`zBjtaKhux5m`MWZa zxckSJmCYygTXC}7u|&&qPi3k0?EGD|hUmI{5KrM!%v&gXebM8``H2a(1{N$e26oH? z!a{BeH}C~%i&YK??U9iw$;crFB`^9fdvHXuTKwD}<#tO>&{4q1Ce@-Fx6H=K5tiS4 z2YHN&Yc_PFpzO|zUw(g2l1U-x$#>BmaWfKqD9uINY!P8)-xPuitm4S_B%KM<1?Eq7 z9V@i!7zUCpTdopPw5Z2Gr5ZU^`P+TCSE{HuhOSb&_D5*=+HKwr$b~Kt|vAVjtx-MTuE#s+1q2`!c^zdu5OBDMx zZq$ufP*|#^rfw%`J8ThQ2!>%>+M4H?sx84z5GU;!Wl4X82Nt(!5B)4$!m z)vFodK{mNlPPmMiy)T%<=R^DzfEb9KZW+s}cvWS_&v zv@DajcH2`oJkxXo2~e|kiDEzV2L~j%0IOqU09in!k3p#1MR(gj<}00Mhlc7XZST|5 z6;(GsE0ce$O1G!tiSQ|pF;?4VK-^0AYNPLM1fl#AqCl1E!TM7Ki0+?#yfoc4HQxxG z)&^ArMb-RagAN;1AeS1>{b@Yp{ zOvTjw)}`9i6iso-qlzm1+6Rh8aTPY=sSRT*b69`G^cCF*{Px%jQ}Ku`0}Qvg6_oX2 zd=&bNn1Y!HzGokEXesS+HTy%DS)m=Os?Aak8(V-lu0;%A0tmDHwg4!o+<;_$?}-=$ zisv}36HyO+)vs=q(ks&;3WdTx{ntYoC~~}k(mXS8J*ACs7y5Rf)fv6Vr&GsB{6xr? zmZN{0ByyPawo(e371?#g!K3k<{_KatsA{GbwlmBc(G68G(Rq@f8hV{4X)#atw1hhd zekCqT_w?T{zW(2>%ilfH+e4MuSpWvB1J<+Ej*L9;k+^HC0!iRAuTP;=gZY*{$Cwe@ zR_p4>$5>mT8M+0rfMWs#0q90!~1z71|^JP(Jn15RW_8A>x z753ffC!A(3NIbA@v|mD7WAD8nK%)CRtE1~sT6W|4JiBc<2V?#T;3&SKhAr1y(+pE1 z&Z#d%KoG%uiLRr|9(<_}Hg~8Lv!1_!Y%d{e5lR-x{1N z*F}~ivvGfoQ!Z?k^m0bU^nw<%Y>I!(>BQ#4?TDXC%X6GxmJIorKa@pUw)xXGq-B?3 zoa5SiGm7j&f^qXrX%Q!LWNt=^irqzm474uBr4Ia=Tk=|ojDh@@^s6oMV{U5EvIE^U z!&a@O;aZWQ1fo-m8|gD{YVms-PhIvld%Q4vt>(MuS$4IE^Q$^t{$vI0RTqEarSYPc zdp4m<7Og&u&#Dzj=<+PPIICRU#qx|L?%DsXyxxX^HMKCEex}v1CT5jhe_{vM)K|*On{FJRPCp*u^DalpZy*UWSVPb(SuZjzL7y z@_m7=suJ04cAi}(6I2}IJDypiDz*~$8)Q?VXgt9cGh}WXDu%Jm-I{;WYUeHRb(f&) z;lXy~p}dsNkY(gqTi0?%rz2Ec{{!3J!xnHZk=1j3Drd%3n21d+rdj&&{Rdoa5VQCO z+0;W^$)21hi|aXMWx=?_jIB!%UkIQwZ~2nWFGgGB$NYMWP%%wkXRxW8V5)(kTDpE} z6gZ%Ii>@BMqgSPP`BQ(nET90kJ{_(=^gA#o4x@Y@vdF6O?zhPeV)6<&#yjMGb7ap2+^g&#&2!tvT%48=}3?%{z10e`1e{ zd{Z?Wq|f4|vh|#C{UG+6jS2Ae^p*pk$8+UZ!{9gASkG_Q7z5qI+(qeIPAl%gd|xP) z12+F%iAULwM1Fq>mdv&TP8>It`zumG4g__)fg0s_4t3jMZZhaK?Fh;zLcV36_Ik2# z+~MXT0VMkx=MW5Mo?pW(*TVjtwquO@p~@fl*l*^=w{O0=EZRd)y2ZKr(|(c25l`^@ zP&jt+_u}@=3|ZA;mrpJ&!~CN`T6U9yh0#&5Jk975U$TF2iYxaPr|*gxw!*1$NiWLz zXp8umkEvi;x=GX)T)XMIen?EY2X?>>jRbR-g$_CsIrZq~NS9=b*jK;YN2~Y5BLWpX zQ=tfJy{6IXrWe_!&V~+RnMSMmc4(S+vd4}ZIl9GW)P9+k;w|TzCWE=y$#tLo*>{HG zsLwsM_lAFe)@#g^7DT4*tF19px~u!9Z-~}KDdsTkb^QA*o{A2vCq>0BH~7ofR@D#m z&>*d;VOFF$QKYd?PiZ;9>TWu~OT@&KA>-`)K!5##Y{ zcgBAP6Ee@TYg7y)YaXM2&`DV!>q|cwQlKD)(Pih6Vf~@QG(iW=gKoCg0@+-xzcCLA z701}nOlBFsXi;JTBP&8Sp8yPq$~;X^v*P-l?l8Wte@$PaR6U_i-J%D=Y$3JR=*9up>t;Ezi4g4IE}g z`rr&$_u?At$JG`~V-5s@U6)NB$QsXr-i1KegX1+og3dncMoSR0WVr59$nGXf$_{^M zWZ5!oXHgxFOOR!tkR^1m=>*EbHy3$^Yj6QJttgRUWDiDSFcNo|P6wUn!LQhAx1(j& z)TNDpXm<@)5I|an_8r(o0U{072F9SQz^Z;BYgy3(r;2PP5!=Bg#zx}`0idhhqX?4k3C ztGiCw0?Zh53tP;P1gfjFV8YZ$4=qz;g{7hkwbqh-)*z3 zg`QF)Bg(sdj>`}13yZR?sd2lU_(U@mz~GHwEylllY#vJ`s%Ho=!7f@>S=hI{SqZ4oW9mIN_Cb}2dj_I`S zK$4s$yWj869gpblLE$7J2>m`fBp&K`Zire+b5?mt2Rzf|c zf1u)6!R5Ji_NqwBF}lbFN;`oJP#vG0NK#}X##WVlLnqjpLy&32CBNcIT7I#)m-CY1 zawf3hBPZ!3uiFao`9OcjY%xX`sNR6c^cfYqxa={ynMn9>TKRJsCVGEF{5X{t(EV$vm%d^;w(<5XZ0`A>eYWc zThL=kN%nyGFxSsF0UbKCkGptD00!=ybb#6b@ z`|I+Ywu!>{=+QQRHPeC6u zG^ASR#rD{V-Klu~QW>hEsb0Whb7)2!g`S~%5sSrb28eV|cU1E;D~~|CF470mEf!rA zH$s2rn|N{k?SemxQ-DQU()q=6Alhf&To&z3CW`it^<0u~=Eb)^S8wp*1>4Z% ze~L)gbHSm+L+5u8{`rb-X^v?|q~-lQnmK<@W}rrq?y*^do6eou^fG=2ULpzS)ppbnz__&s)EkO&4S{Iq^!GB!!Q2$U%?4+QnJ=3swp!>I?q z*71>e6kT0S0$#7losNL0zk<@FtXdW*2kSP=r+nax$K#-K4}jGdBrK}zup81ce48Kx zl|CPk#s&r6V7PGuko8AhyB(PBF%ey^d ztlMcE9H>nOr><!BKp}4&7tHi{MmrX0uXTcNNFS=pKKK;@h&bHY1dJ9pO>#OZ=I@}I zX#bKd0jsQtc1BuXPtxU+6@p{kv>KPyvR8lk!_TkTkJGrI3;;n@&lKy7Xm5!2LbqNh z%6~Vyx_M$mzNwl`$!ve|Qr&vaxPB1(&6Lj9&#O<11E0q`jsiMwu~9wjO|?T_8jOMU z51(18J`pF~d1VxSqUn_8box5Jq+U+rtNL_fA(lm!E{jSt!6Hz%a3xxm0V=`xhU>%G zl?o9+zAI@Vg!5|(*wDZZWeibD!DphhJ_j;%GOWojR7_9uP78k^Ezd(57nt8>(7|Yn z_?Ums*KE&r)fVWq89G{M+eh8=SA9{d-_-Z~jaI2n%!a?j=d`xed%QAxwdT7UPGgO_ zzIGb@IM3!!en=*>Y`)~UkH#BfzR;CB?&Hc+bR9GFoqg9~*B-L4#j`dqL4%w5k0>CrE;N*Uwgcy>ieGW8m%p$`;KEcuBE1S@$$p zZasN@R=&ND=pNu(pD#amL(=>8WNwiahvx+aw$%$-kdV;yiNCF-n(ErFck+NND2mja zg56KsF%40Kzk}R{$84#}5fHbLzWPPjP9jj*8x@MM_G^D1cskWmP0cV`7*SHg(^*mA zxPD}|42xm}#8bk-u=Jq}hw*qr-m;?>i25;hYbV#O?;c~q$cQ6=!!6IV=Y96E;roFe zS(wmab@4x<{j_Bqti z$LeOD)mVSFpn$C*0&b?_{`q;VdYqQ;a zLuVMF1=&sj0*FnNk0Qq1Tb9rhVk6EZ;{pJ+o`XsoQDmRP4jIBOC3~tO8!^m5&oOsI z0U+>qlH`~NMaT`CXozY4?>UN{4gy{md+~|_@5vpQl?8}~_P?vBKkT~xhJ*g>_@qPc zI`ccy8FHskVc-7W9`5w<0t18`bLI)flTMB+4L1h3QuA2yHTO8+=Ts~5{td*2a1g+Y zODYWMh$K7R5hLK67(gU&o|S*jcff4mhXK||uM)T*Q1XeE|NX<4$p$*+$*Y&$6op)p z-SH5e`=82uwsm1aLP{xu59HvN$zU4z?eR|L{jG844zE-NEQ?*TUyfa#Cnnvi9sNS;$+1kXLyP)|;Cc54bmyVLH7%(}9 zamU=6BF0G)n&!Hf-->G_^YiO0sq5Z% zniLr*w#^i-2I-0tc^%Xl(TfbD@fN z8)qoXPkgkD;#=^%3y?P9?0|(s0-7Ehyh1IZTVLui3>xYo6|!=ta)hr|)D2V}4B88S zfz#p!b8q3aDH82#ypWrG+53Q-LG*_4LZwv*W&8FyPulJI|Hb`>W`lr|v~-4*OcHdj z_+(ysPrN{KUXE%p-1UAiW}=s_U7CmaqRdT0NLE12@Mb z6H-6{?#jE9{44YTcJHp4WSwz}f8FamO&ioeG+vB%UTBys#(pj5 zj;pn|A0oB&DYVlXhy!e_8u+zGDe0a5*+cRF6_6mmHD$RB`rH`jJru{=!pG=mR&5_` zmdcdB1ZI|70XxUz)+|d_J`^NQn&0cU{mPrZr+A&7&->WA+uQcbnCWqjcOMn}HnHcK zT6wheti}}~qC!qqNVa)Og~rMxMsm2<1$e__Ej!tx2HE3{uW4m}nNPzM7RDBw91)Ih zckX=CXck>hbsf)fK}haba)WZI_vBq|=<29*fS5lZqqv{09tQ{x7; zsu_Ia=HWa6A`~VBdHj&f3?{7O;~gF8$dZGaA3sB2#{Z%$2{`*2?Irvt84Dr!v+RXa zhN-Owgo>bI8{ic4PN7gWDr^-euo;Ts(rvLx_c^%s5!Kk4D~LO|D!#scgKBX3{InG$ z;t_t2mTGgN9RwQk7_s^bM*3(yk4E!$O}1+LN)FJC>&7}xO>VQ%XaOs4x=(-nOQs?t$YH@mX;bMIv3a@5il z#P3B#Rpm*h{%_cGhy|m|MQ{P&(_Qv{VQ{sOWJhJ%tk3ICY2*Ku11BqluU*xt+P+w` zo{`b#hW0eM55?nH8vkz7i_cNx=lN=McZucxOmqT2MkLqq%5cAZG*8qw5GtLXOq!0p1=_2#diF} zqh0g+`FDZ03&eJFgSfy9@5P`7qtr}n+#N&5zw7+WiUXdG(&iC}I0a>TbyxyDPWSMF z_tsFhW1lj6U?+${-46t(2mHo(yHk-(vG?UgQ`#ceQ|$b5ix?$PPu?!WboHDmdA98NEIIwr)Wu0lA644)PYOtqCNhJF-s|a2_v^(;NyNg@dX9i+l38tbLFW*ZQ0{PD9k|~2<%1Wuq7A)D ztG;}5Hc^x6TxW&)V*R-6+a3GlCO)3uCOIa6u;Zuy^@x#1DkkCxGK0dEs&n<7XV*kn(SNDn#}gTJbo6Vu`5;ac$_}$H?Ivlh#wdv9fq~OkZU$jXfR6^< z$A5-e81aVRf!;N1;ql-Du}yAsqR*`L^I6H$7Knke>Tu=L|H1n zfpRTr5Z>xCoiKpg)Ek%SXkJ;;gm+^Dl$>g<)0&^i)f)<#{Nj}xgRw@ix;@W;3}}dL zy8MmxXL64wFk*`i-xitR!QL;&?!#_zf&;7N#5?9T92t=*t)!>R31Xp2j3?JL*>I9S zxx5SP~U2*wCXTTwHC^(!+xzr-8);RJKIkI^ga#S{CE7inVfSYjvSwkQiR)`x4 zV-I;A+XUN#Dm|vSiWAn4vK~p>UG3*?5SrCt2#4loff%#0i-GZB!zmQslu`FH@NL6m z{w`CnT-yp@W}u%L^9jO7YM%$(e^O1@n3{VfI|>XxfIeU1VFl|Ct#pe5L&8O)uM)yQ z*|W@~kZVZ6!Es{NA)(QshoHV=!QG;q1Oc@@-oZrT(F}GDkPrgL14spPQk@5E;;{ZY z0Mp&{&8DQ7U(Zp~w^DbD4l_!{66%%@&|HO8OQ5VAxyH*TMuKUg>RkaYqZH~l_h=<1 zZ(?{7ns{fZSVAbdaO2oLFapi%4cBfxF~$t=xCagAoi@=$<29ol*}L@)u^Sk4O}>ZV zvkh3STcI1ihn!738=LL{7;INz|Hf&}bdF+*W~i|C%PXp}z89`W=vY~N2l*>t9|Oeu zf5DkM%_uSzS))Z2Qw0D}E<3^IWBzCkNv_*tz%lDYpL$g`$cFn2s$9q;s>NRI00|@r zfpilF^7x|R-Ry`Wc)ptH`D9w0bEXb+a9975gdb!HF~o*1aErDjY)}%VBihZtg@`w9 zD!DBSC`FOxXJ^^=E0I4>M<^8a`MTr>d_qbP{sSub&=+u#>?HyiVr1+#G_*SAsLAQnDwrUJv|QEujZed- zUQijbqManES@!~9F<o7g1-k&>-#c{&T7hA z^EuJgUk16+N$)^z8V5F*33}+z5b}q6HIW9NR0;txm=o4dt=^5pwo%}>P;97%(*K~p z@e)Rm_YMNshN}us*1sk7zim>yB;b)!6dtVmTAo!QedH7R6gSyozAnqo^94B_Y~J~M z01zy9%Mt>oDN*=(N{*S@MTs`$E|sQ2*CalC4yUomxa!dJ-Ud}vO~slhmu51NfXTa< z8oe&T^QN5jGyW;gMS# zYdm&sQd%L*fq5jfpF+nd^+cpK5tA{i#a$yHsX|3)>6PKtrUqE49C+@$CD^~0Eg~P& zGD!eT*%IoygN z=v5I-;M9;cQ~V7w?=b?+O}qz>i;i5~VSp4+jmYxOlnGdTQ2sUFdClr#COi8-phv6gCIjct^N+7RhUQxmY7X=pqp#l9LN*I~k7`JX)+3qAFkil(pd}QiC zj&?YjKwB~WjUZIQ@;MNo4`t74FvTRX+f)X05MryRJpKXwkyx5WfLp~Vq||In7u&_` z-{D;(V#D;5jeN)30Z~jaBuf_XNos8Sm0Em-a)k0V_CebSl$L-aFf7|^d=K$a5U zbvnFhK#?LlY8b;9@6Bs6Ne>Xb%~{a&N%RM2wKs=e-5$4W7eR5h$%V<2gT75@z|etX z;lHJMgfZ22A)ss%T3GRPOO!ctY7+IEsx=F9$poXAEVU~DFlgGLoiS8`T4Svngiap3 z3x6Vq{F~$-FVek?i7fB>{A*+)(F+UVzPeW;RfX}u#eyfJvsP|swVH?ZxzNg^LR#BA zw#t{KZ9`Mbu(F!HN~G%;j)mUJRXw%A)!_Wj;m0X7T&KR@0hi5hFmk)=8w$s1d<6@? zAVK^#%o*JTAf=(p*%{UP{W@u)67T_`;U6Y~KhNg>781>haDoRge7DTTx3auQn^| zI_-wTNYlOoj$wWgk;|I$&Y!80P~lhMmnZ2bwvb6Sg9EX=NTdJ7S{=g9T>02qS`CUoZ&aqB@7=w67X6s$FfKttyWtp?cYa)J0~7axc8P z2o4~M3%H_kPIc?PBRE9Ue*V=XghA2gQ8m0O^e>gXu~}N@&c)}!12d8?`+#NobRYuj zYMB1($Bs8Re8-6KdD25Dbw)*85Qnk7=J?Qt+5%0yIXuE6=kX|sVF6cwmX-ao`_t_T zX3_K%#LNj+l-5zq1uX!MK<`r z`>7wPP{l@QEm$DL5a>Q!;fINT9dt+6BYWsf`&*!ggrSO3w}r~cG1c;hD*g?xv2qvT zNOYc>1RzAIPoPHHt3fsak#JWP9W$F=zwZmTUY}C8yU6 zk%eWPxH0wEdXBJ@e)L@R>~2BkNS$ad|Na}>_ZHF+UYp0HwA+GGReyBxfxL+L11)B} z>DotV$^TSpGp*A5zQ%kyw*D{RWHUWjwyOJq zRH*F0cRW%|KN#hsZ5V$v4Pr<6DBC+y|LwD*-A(?ov_dEqPN|x0PAxwG@;7)Xiuk|a z5NUNSpl3YMOXa?_@)ME2*Nne~;r4&2A^LCd-}kahHX&5#jMFU*Re+lF+!HL+;N&;L zcY&OaDl;7W+j;_yOD2TtTwb4nOmwU+M{1T;Mq`O@4(dFC-~iH%ACS)iROKe4%IDj! zmoJg{t|Pia`&4&iiyPPz=!7}hEK1!v4v;a>kOkDbu3@nTJSo=vxXsKmh(#+iP6IQ{ zDGrXo-rap(630G7HUKfdIz`av&^he=7Fmj@9trN4+S`At`t`cjhQ=?L)TFs&Hja1> z6}m#}bOVBUg&^n&CXPB5o4du5cG5lbz{8`Cj^zKnR~5MiIq?=^r%JUIxo90gI2$ft zVlvX<)!II*`8UHRsv*p4{T2WzZa)JBM$1@Cv)W}JcUC}1QG+?5HlP6pue}9XOcs2C zV6qN|_DbXR162M+(ho2_MtR`r^xMi+=5}cijyDmhxR{`#xFSYU4!_CtyxuGG=>}2k zg;vk+OWOKmE6~3+a53q49Nzc2!^;k3W^gB;BoLU7kumq*y73m>PGh(w^P62&=Jk4o zB^O^rUjSgmc17Avp9xH&?xKU-|FPGbE)wIkqDHKG-DgP=PFG!?uQ{=iu2V$uYeN|4 z^3xNT>`Y0y)m+!@T-)~$<+ z08;b5z<=H2d?uAR_g&7{9u$?q?=JZ#|M4y|XvPpQ*ne%gBR((hPd_}&(a65pY-HSX zvdj$-H8d@Y`LQuHoLh=04`O`gEi$k;(#apUn>C%Ir6>yVGVv-> z^)K&;Fa+@@9?*7swsk0jhv??0hqk$?Jk0+WLm(h?fwcGAE+sld)A$&immv~ zJ3&rWYx!MpB~Eya_*rYKUT54|9al}!4L&8ZA)vjnyNtkb9hm~13#n+G2MT6H;LR;!Z?h3S&58=i`c%^cKMOp;h~34^E~aiy^wo8>TxN3!?nZQXqWvjWz8D_zC5B@>kYs zb2wggP`Nv|TGkk?Eh`pxlvVfSSLT?C(vzB;mefLYd?IIn4&C>u>8t8W!)}aQpit)% z1SRNz5)?MpVhyPj;LsR5|HF;BuI%`HiVB_hLe~0vprd_X^O1TpEe zruRX`EW3e-jAq~vHLJ+;BQS?x<3EDG8SGkpnrGbhYFn{?SxGDc-1=qF)hJ z-}*-f5i+{7v{`4XAav{=j_q)kX{uj-rS3By8OUy^3e(!OJ7ma3&AJfSg1rWSGIiW! z1RyuZ(6N$47!pr7;}N}vA`V!joMDUDj&IM~%q+0$!1UH$5;`w8k4{t)Fo)@`2-iJR*?WwjE&lazK8E z`xMGG+l}eDv+XQc2VLx;31G(D)L&Mhp6BB>r)<>)jy3)fw?6U02lkSfntjq9r=C`o zK>Pjo&?Wa8Sb1(!VM$wwIXdpOCYaQ>F;v7W80tx(UO2Z7ATe2T_DH9znk^nYF%PRe z#4;s?x{j`b)q(iYl~b-&QEPp*LYi_FG_a7`J$sZv4ddrCZ4j&uDe{w5MoVx(WlPMj(}`qe3G*^@=S($;nyBN>;Xd#y=F-^%GS z&-~>*3(0)BKbUuewf_6^m*KmA>rUpE?hX$%$_FU)oiT`^%QPFhT8hGb zjC@As@p%%t`Ixx$CL6>+4+uu*%%4lv>2jU?IgB%A04IuhaE`1?YqIJ5lz<}o^glGi z4<{1G&-TSZJCvat&*q^rtl!D5qDX01XjB8pJBexhL5ej?MyH#h{#LLkD63#Ql5%?x zuOm9J4E_$R?r8vfBx2h(GGlWP0idhwd@tlj@V^9hoyG3zDn4`MYy27rkVx@R z0Bm)dOvD&Uvfd}p2HSTKE~8TsR;b7{do@$7h+?FhMNqR)iBI4O$<#Im;Ym%m z$Sazm87b+>TU+t1m@YWuNwPcZs3BIsk1Tg*jCUGT3+#z7d`aLx5z_LTIT%N$2?^b9 z+(WWs<&CtD^GsM>KiVG#!U4i{!coG=V{WKH0kY&0JAQFF)cN`HFtMyYSV>$-4Og9w z>H|^|Qes>`ZcdbYzUb2HiT>-4k;~?cn;i4CC6b@jrnk_Oxa1RwNI91TZ6V-oYr#a( z^NCZ^%QGeUO_SyC--_ISp>k@e5l=hna^EBRoSR{q>FU-H3TF$km3OgaufAJU zhOyHX9x+xS+}5}|aN1%es3CvL6|({cQidl1eM^q$jbIhmkToBNG}Cq`E?&^fGoCrg zv$|3S4?w^?=SoyR>}(*k9S4A^5x$!$(9sez9Jze}Y&-B(cZ1hP{K)^}OFLiKw02{; zNa&~FZ{ecALDB+Xck(H~VZSv#_DOpFtQ)R8oX6&akvQRIjqS@cQ0w&KMmyJqK($T$ z6NOkV;vAosY_Q442`AyN?Hb6n;4bFM?ulV6PhEJecqWKU1>|R=1E@gsto3v+@=~zR z$1+T3tEUv^N6tA+Kc#E1dNS3H+hA98z&@PZ@GrTHFZy_Ea*Hv?;}_Zxd>%d1r}AaK z7^r;8XQ;442I(pfvUeJr-y?h+^SWVHc_~%!3ej7ZB+#frh;h_rnOwG5&N0v7Hhw(c z|8Myw5jU1aJpi(+9Ho&IR=Bxe9O>rNUsqK1{@NGp+I1c6 zli8nnw!z@R@>o+UAGVB8@vtOsMD43ZHh4MuBqNMWumObYszfT`m&;`W?+;l$?HMkW zE1$gc^az>f*ikCOO)inWg!}ut5qmhbaW1pY{d9y)BnL3SV9Qcm(zw@mTT7Jj3AiJK z*~JeTGxY`+?g5I*n{h&5AN{uAV}vsMXo2LY&K-WcX(cH}2x$aA{8H1SnuWzM)e9h( z=(~q>1^iiWTbB_AAc|jk3Gt*u;dYPc@6ZZ(kcLkF|;GRG-)F zB-9hhCVJ!NJet1w>5OD&y*LTE1k1cMOmL)|ynu;K&w1Aes`o-@$=`hS*q7disP209 zU-|M07^F`N+wr-RsS#qDtDje_%1@NB^f+0t-*28wks{_etAy+t@E(5ppvcrPzw=l5Yl%0 z8u@;+;lEmC>D2CdbD$k;sJYbnS2SK{gYM13N~gy`42ZFlC`|sS9?jTpc@lGO&vomI zyr=Vg_T|knmF!=I{mQoKnoWXq+gvwkWCsY}KlUVax12mfog8577}M^2)STYoYP7@FO_0u=TkFQ+ybh8Nb%YX@kf zd1KG;%tYRAv~W2N>~^;(&RFyG#2iQRf7>Q=e|)qGAhy51w|tT!U2ztb&CISyzKte( z`QKk;2EXeHcCRqcl18vV>XZqiWtmuY7)kfn{8=y+ZN^J<$7BG2uPBcXmx95@EZ{+& z(^T+?je}y9qdtxnM%);5Lll#pA_E{us`c(A$}^7B{5T5rti|8w3$KU)=9Pz#*3e50tagXlTS@-D-CrJ%5pVMj1ODFs9vD!5YZ zWDC5I<#zWnHe?Ih@NOuR3Pm5jg;-iwUJAY4+u!eOh~F8qDB6jnP7d-(D<96B+ce8` z64nf=Y1a zzR;1p6uCqgIk;i-^=$emA-X*h^wxUcYAf?J|ub%QI z*lY1G!0$%O#(c8F8zRa2QzoOPXJx;IRKvh4(Z_! z$SdJekr#yf2lnY^G#(rF3z%vSIB9616&tSoh#JY5{d^VN(y&)V_fI2jO!*R=9%}HI zr3miymaFrCJ2KEhSqno>{$V{FE;tqHI<0!V@g#a4DBMcagL$1H;Wgp=xNIgibr`g6 z)0VOx^NWOM)9ax-2*60Vx8Xb~a!`|x84uSPxL+BT>=H^#r@>CdXGf;_g%Vo+wTF~6 zFS;}b{)(3pICZGVRdS!Z%MRubJM;ZQGUnLZsk2N*T}GFqTOK_yOYbL@IjFi+gh|hF z{q1yc^)TS!(Rl5Sr3Dd^5|D4YOI7k<6BDt=*X=ZLzquHF1BmOnW}-Bez0XqHl}mxs zeE6EFc;n?vf_fmp*TE-QHOor6%Ytj%0$QUlz*@myR-7ZN0Xx7!?U{0NdkU+=bC=Ua zQYVX}-up$qV96UJ>6PyKd;a$*q@X0^;Qsk;7x6)vQJ^W*Bx?h%SGwxh<`jfEMtU|E zX^G{^t<%##bttCAUfz8Yz#q$ST%c%3_B-TfPe8oKTQ{e=9ah>7&H-Jsd z;+%YiD~IHdaw2-&I#c}>s;Sq~w4~>}L358Pi?|eoJ|GK<>NOCzZmx~`W*q+|77A!QQnSmy08te%IH!h;906b@1>T}d|DhJ> z!TzL$zA!CjJ&E>pT}9=GNc@91m>Bdv9l@|}WAMU#=EVQ&2UB8uA)poj%m43~2>2|ZNiKM6(@Jst_GS%AauFk8FhiM1FHUz|0 z2AKgyA!!XnO0EKg0b@smad*rdwj-Af00Tr3VSsQ$1OKN6Ij`{6AM}U;2z`z%B5b-y zc%?60m2ao7JPiEm>3mwwYS>q#R;U~qhHB&~&zD)j2LCv+?(=UUkIf#VneCstO(WX7 zYWZ(&TDEo1K6X~KyzvZVjVr%`)TzlFj{Ij1Y!DH0B03|7F%n z4K?Y&6&bmuGR6L2#;Ur(6qV=NSgy7^k>fS*Q2SI?d6jvUccwlEZ^`=vAYhcyw|&~W zQrwOXoV8DCeK$yY@givrD*SdqPWE>Ep1&~RMFHuIhcig`n1e00xu@2MQuiC57W zd>>rd^qX9>1UM&JNpreX&sbtHZW=%NBt2p}zK`|EX8wVbIfSkPq$+CCL+DyV6mUwa zUQ?#LW0(Ndj#Io3i46UszMZL(6Y?NE`{vI4fNXP4Xzy2q*gm5qP&Jny+OhUG|LB53 zZj*j4q1y*!$n`ixwqHG8I(rkmX!99(cfTLMLt-{Y4#KE9~5eytCgt|>E z5+&Ue?!0Kzq31s6n6&+?`7%t=PK5N$Caw?-L^!j|%%3gQp^%R$biqJW!dR?{oL{ABp*1Rgr*o^2*V}*#_O(?9Vy6X+->`j?e2G z?TGvs5QU+DbE=q%%60J+_oGDxNyoVDI5g^6)#~hYR=Tz7Y52XT5e3P5(et;T&l@&8 zJxN3E7JKmM*PA5F^p=ueCw79L4Ybr`8*H+}w_4iyr!9N9`|4g#aWjK7)NF&d%?fta zp@7+Bv=C!Sxzncg92w1)tOw4=-}zE7!Y{(YbL$uHDnCzdH43j;x(ZVV;Jzo!d^{mU zxL2VF>NVwQ?i7L&ek>okssQQLJ9u`ZM?oOnc}EDm|Q}|MyC=* zf^ad`S+)r1BP(<9%4zwV)|?st9ZDWC)^t=|H7a_GLBKp@N;-N(uNpY=4|nbHk9fUwiaGObnvh1YVT>z_q4UM+TX; zcCu(~qKiTB^ARunik_1NH{FQ+T*Ke2OJQdDJwsRi{)I#kSB97zXGeBU)^i3_ zaJ-j3gdaDDXF(bCfOD-dx<2{?i6~LLvhnMGyUb5LyEQjt#euAHv`k1)MK&o`%M97G<|sld7;RFD22_4L&i8 zaqRobJ9pIa-dK8Krkvoi#8g1aiv5`!LE^=`?3=kn=ofbId-=Jwn0%Dw0B})dlZEEn zwmDS-OV^{%xKAf~tuaQs&I0M*4{+D9lb-g%4;bMy3F+G0DS*#@eR+LhEWyum>%&PI zgTp#N^*8S}mo@%Hk7UqjlVnRRiP5wnye9g)a43ikRZ}y$x?FsezWyobzLf5U zTo!(K?l0JZg!$5$YR^AG+O8(pd2|$q^K0jgb_fK#>Hs6GcnL>%v6mCoTsxE{>9O*j zxQk*ZJ9>X()rzB;BD5)lY7m!{X4GtOFeEdn*oulnf8Sb)o}w}W)*BecBkXvTtQkV~ z+w*J2qs@mLZNbmZzGBJ=c^x~LnY#=({lr-GZb#Yg0KIZFH zcPv^*aVrWwB5tzY=D!No54i5Maf8puCLArR$a=;LKQUE!2o>JUKGT#FaUEM`x5R_DX~^>seh0627L+-(-j) zSQrVxCyUXfs;Y`|dR=V>l+}am7KrE+K|`}Znc)y+0TwZT*j8H%CI{l5NJX6!5dyr1 zc|nx59quP|i3!@dDoqe0qo34=8hg~s#0&BFSEg12Dl}UFML5;l&eOMaE2|OEHq3*E z4iCiNtAecAPXy|p2CB?qbi3j7VvUS>jC3m}R-7XgX!>>#U;!tw_H4A>vL{8n(A@Xq z2hh{2jYl4*r>l2T4}R`3F)me{Edg&O?>8vc3{vTDVN%0o9Yr4L~dyaY2>8i8)f z+l@ClzBN7o(Dm|P^im)k&_5i3hcSA)^SsaXtA83;Wio=CY7mQ=t}P|ir=q$09-C$R*-zC-fgUx;ZekYkmN^b z-S|_5`{lH)Fv95(2mH<~zPpe!1)|-4GbYfd;3s4Nkjbp6Kg_R@TVOYcse`$-mKPVze>#kMt1f8B0a zmYCAJwnji$sMc!%Dz5l8>1Q;(T+80}1d?I9*m5*)Y#gv+W25PQjlFHiHknD2@K*-* zmBOP!Vlf1n1J8OsgkT<47jc=3?t)CWCn3PB=|G+=!$Ulj$FAYhj^M~WI>x&tfXL?7 zYyMpZ@X}S_3|IT@z2NY;qb>_Rsp`9FzE;$xrOu*bN{hg8Xf@m{8dc04yH(QbHmwSV zSydgqN@#(uHpHX6I^gt~nw*xu|EB8h7+c3nN}KPOEH^e|%jYn?xa33?T2i=x4Fb^a z&_X;P#LL2GK%!#lHc!jDH7vG-Q+)wBAy$ktBAN$1RJ{4~kFSyoWWAVgEt_)B@*c_; z?(BI%KYrc%^iP&M_3o@2(SSq1nj@H-YlH*H{Q51BS9fwGviaOd5o?G3Tb+E4p&jpcfx2dP{*%U2xujYG# zLZPVC6CyYq-bXEoRy25BvMgxM@|kAY+u{oxcyN09s^vmNw~-X9qtH5KQ>a#9NuU~? z7(9RbC)`XETMikF%@r>(Q=o;PO=%VTr)q@)VSd1p~jIj)Hp>7RO1O==lT`f=$ zUwxZkxei9Z3KBg;7^at0+}Ks3&{WW;?*~r3Xha(>%BI3mWotHd}Ur~7FfzpqZ;Z7$<_i=0}9Ohh1bWD1S4U4Ki{52FI_d_>S79LE4tP1^V=-zgh_%?$D{st(^n19fajA1xY?h^+72+m0w8or% z;>X+;<(Ld1T>j2lW&tb-D6>y~OiiFN`=WrLi~K7mxx51h*%^5#!^{11`M4PKYnFxZ zIM}MCRN9tN#g%^2afZ+JsLgowfvRWv_)u}Cy3~G7Uga4%Fd_Ix4$#Cpq?sRRrdrWZ zoWT%XU~>T68AF#TTfCZ>cz)A}M)MA+IK3?Fw%R(OPUU0s{j&BI`t=dc_i`Zl&QqrS zjWOltFO(hBBpor53HZJut`JZ(-EnA2VPsrOIk5OXf*iilP58FjT?y<0A5{Wb$q#^| z+x~OB9)crL9bQ#Z4S+QCACft%k1X|srPN(o_(gn!IS0DC#2SnZ8GCTcE`IKK+GCHC zBNn^aGKvhAff16r{5zIzc-Qgq*Mxr3Xud~CRhb-Zj1@$V8I}2s5H@d&-Fo1t<0|*w z!>_V45RnWV5y%eQ4$`%RwT5bT%|zFYUZ48E+u*=XoF*%&e1P8e_4+p4j)TmK>sDK| zQD>P+On%^~(XBB11v<)`(Ye5NRWO86YR-N^R5HXKnCrsN%#+&huMfg)up7P;+uP3# zUR@aS8~n9IfiM`0t;^mf+kcw zi?N);o9iIMi3sZsiv>MQ7ACn(*rf*HwG=IC31xVl+HcTdy+;L%-fOY=Rp|mQwX)Ov zmHGT0`;Gufespiice+vFN<*odDv6dfyScO4QrwDC2mlSd?^TfJv;aJRE19ELcVI?_ z8h+r9x~vPm5bk+rVT{ADS3~`CA%%A<*OLWY3MowyDtrC|3D1i_X9@d;ha;pZS1ompJ~EmF&F>sE)DO za)&Vy0eZJQmjy%G9ewK4>51H41-aq_VQPN{2$*1NgQ1inip2pEu-qyJghyI(Wdbq& zWB;IrUs$B_&-wd+;?(N(n2>>Sb)Y$!U~0l3_f}B_$OcE8{Lh6M^HMq%CU^7scl~)i z2W%rCBcMy+C={HM%#Pp~&by-sixfTMLl)R60qW_$D{RFChJG43Q{<2k^t{)tfG>N% z*^v9>)JqE)8iI_P$}kO#-&W^1=ZdZ+_<+_vxTB$YjK=~vDVCVhznTXo!?sn zdt_H#qL%HVj3UI6rpB~vJ{e$Tw<`x2^6C5C$XzXUkI8BhF7e`!vKKR*&gxzON9*z4 z1K{d1Xc_Z*`<6ZBNa{8yr}NqN0izGN zO=LMzP8Ys^HE$6u!uzA?qfzQQ5?DGwBjx0-3!AFG)QR2=&_go4QD{!@iXJRQeUa;h z2L>v}ER$m_bE#=c;+sWG&}*z8mYxvHUUh#4Cu3=RxjGspsf}3a6$UG>u#vcXOykqyYvjnPrV>4KFM67)L)Cb3_UyK95jiZL+`?)`xw*2Sgcm=UV z5ILmlGvUKJ61s8D2*+BAA2M_`~W3Cpc;A~s!Yt7SuBY^>q*Ct`LQ@ z;2v`rv4d}ytkzMRf!eR3#5%>EH>`=O!5r&X2_!z~ARwZs3ch@<(89d--8%jb}e1Ul)xg-l|fz6h#{1Kj)vgZb#A;0&_wBIv)B`N1(ZR5T?46D75h zG3#;LMw-?5(g5-2fzqY`I>P8~ii&gWn5$N6)!YdYh(Wf`S$1uLpzGxzp~$~cdv9KU zWK29DmmSb%Fro9mG8EO*2}477fx7T2xQETSXO4e3EE&^w zox@Jy1sM7O2Ot*Rer|#ybq`HaqI>%>-iwB^px-GT;68HRKVXnVGzZ1Jcj6LN%>YC2 zL>G+W1By}v@&hRJWg2M&_iOVxBVdR*xDYAP1wgr^5K7r~{f|qgsl$eKU=3-YNiQPg z|AcV;V^vC!&mKPjJTiAFnSA2FO^XvN8Spn0DZhv6=6P*p2buAA10@O(-HbfqTWR@W zH`x6QgZv8JAz?GHEIRyKDYdUq#HaF9133eIK&?ngzYrH#vB(`BJ(TJCT9tXx4TU1##^jeh_|` zVUAEiio*mlDZ%!|P=MMno~L!C`!1zj0%mjcvQJZQHi9QDa+;nxu{G#{k7|;ZJPjR~fO-YftGAH)lmLdPh`pE5($4>#R-ZuxQCXU8OQgy)nh9 zLAMNxezTwAPO=TNb4G0&lw!!{s z)@?J45mN&-x8i?p1K}WnbC=je`7(a`RRn{^C&6aLlhx!@KtF+p^*W^D%20k!x*RNK zX7D_P54ktgM0X2YzDS7pJpiG5NP?*FN8$3Yd2BSeQjP?mDP9=3cYqO#8FOk3A9LJmaF-YLL!wr@6f zwrje!ZJL4iOyC+bz6lKsey79=BbV(&5|Ca7yl`anJ1qWFi|?8U`wJ=w=n>%)t|4V5 z4q8#YmSJDEMX(YJ7+M@b3z`_~N~SW?nOi2kW0V{8>wIhQ$c7Fyz?SXK6tEoAIPWTTk-COt#R501@ZOk>>#&Bnflt|2Hk@_VGscvs>7JAg3}n-PU!IIqdB$>;vc zJ9Hk!QwN)zzJat=%L;BZQ8Ju1FNsBtKSFQ&r<4Ng3U>aTY6#0+!grOSd}rtCpJo`X z7vQ9}@enU+@wjKg8lxI|y$98fysHhpFYIN|>Z{!5QK6pzC?O(82q7qVb+db5rl30M~(4zebGiuALz{ZP_$ zr!~cav#tC#a=azy?Gh5XudzRf)Jcq|8XdWsg^km!s=n^dHUd4yO5^S@9KZ=R%y>_% z$Q%uC3y-6_!8Q?<81eX>Zj=+Fl6+$3S`k=a*TvDH0mEpTjUAA6!XZR8$a~xPGR9IH zLS@0`KVbJnWch}!7lAJjU_ucPUk$IoqWeHTk$lS~t#s`Zd^%GG;3EYRNxIW&JL@Ii zzcUN>KbF-~Nrjxwh+wK@3?xYfRs1M|%aGLdV}2sOYSJGYU?XCKByy+T0Ot@390yEV zOTK&o?GjXKMf)#d*{ZtsxsBR{;@v1_rVg4(-cBSp6dAUGh-ieoehxRg%5f#1DRojzVjUwGAyv{_SDmv*a+8aS@oD z5kn=Wg%q+N#%d1QVD5n3eHpxthXFuSj5u^#nn$DLasHUp{xAp2$Lqu2Z!Rp5-pyUw zHR(%%(eT1Th2&30hF_=oiCg8w{i2uc3D;y}& z&&pz&l3(`(FFQF+OereHyh7|ZE;`GJE(J4ZUVF=t*+KkVddWS>Ic8havj;fbZu_&n zSEQj}%591*y!;&h)>B+LLSE~*iFiZ9GRs-Dloa)IKmAR$zu}}b?R8V}I>ydiGCLK+ zCM07?chSR<-5~FlXN4#F0=^HAuPZ+Kl=A*BM)~ zQp^J5Ci*u%3)p-<)Cd}i0Z{!m{<`r3CJ*Tep zU~M!V=0S_He_wR~#M%AAO1?4vCfnSrI+d!c|7)}eyVtlA+Y<1eIiR@UPIX0t0kX2-EwV+%zQaH(yE3FvM*`HdjOb+~|#I#CMxwywabk^d*?T zs_OScPa=1Q+`D)`8t%n=7Es>9Peu2Ks^8-g^1mN@iU;R4HxB@6QAwsKJY(N&u^i6V z28NVRcj@SD8o$Z1Azt*Av6K>|bJSg$?`5#IRAIH065Y{d3Hb1mdL_nO=DbtO9N01u zBVM5E2s(X#;|PT%f<0(`(V~a?QNN2$mpH_RHgRIzN#Dkjq)URKShK#e z+Y!9mM*7he$f65mJ7w(SW4&_8!9BX46;tMOn!41)1sr`wRMQg>9%4qbtT``ss`~61 zmhhrGJ?Pz<*~@wH&1uu`ajdhABV+vCI?KBzr7X zh&7uZ5V(po>CR8(UhWaFajOz&G~_sNt?Yyi?;Z5c-XH>BfVI;m?!4j(va_5Ua1EaX zi)FTqSMQ8BUYbZC@aGus|c>X!!e^kLXFkuHv4$AG&8XJ9 zu#{c)A`UqrPBt%x_+J}IW7L&P=kdf1u(E{Gl!TR6cf{RrmF2yV{#_AT^Z{)n6MIvr zUQl*l$ru!XRSeslM`;hUqat9B_@k2OAqr4%P5qJcF=PQ-@P!#>Uor~Y82Li4?Avl( zN#H-_(j*E}NwsuYh4C_@;4S8Y@3(RFdtkEu7}N4DsromMGKI!d3d*f`G4|w~hX6Gu zWq~Ww?HmNYD*lD2fNL^TjQQbeaeZFy^BoRpz#)<)4mUvdZ_y?6l}n!N`Ysn}F9wif zI*K07hCL-I|1(?fkvj9Mx6l%P;3$Odo{~PapbhUv`kAQqUp;cbwCAMN=6Y1fIGjrM zZN4r*Sku8uKi>39-gz_J`l6>FE2fS$nG*ElM{;~Bw{+$TG&HiL$b63lN( z?`vwlfj;Q+kQQFPc)iCNFw{G%=yc`KSa=_*CgAGZAm%CF6_*26*S4%8K*GZBf8nLh zsq>wOVqU3yuN{qrwS{?t>7r)us$$CjYaep&QF|@SsxLVMuonvQCkrSmla*04dGB3* z6^~=52l;W=FsX!Ovt0XLhq;Ey4)(&BtfvmJng*!_#*e#Up9pm{zrL4;il|4nD%7!6 zYyD%FVZ4Y{6z1PQ`&0zZ7dRuyXg3Li!pwPc3UU150wmQ{CD>a;qWCz%o<7yIr1TfF zK~?D=vX*P zxHVM2$s?0YsY0^M#R^eP#tg)x>g@vbG=3+Mk;Ho0NE`RvT8HM$(<#jT3eCJ7oz`P%S7WeA&8>yg z>?Wt>K$%;SMy2>%Qrv)^H1iyDsYLp1>tqmGj%{tW0^aJARjZuwZZiBxNA`&PNKJ|m zY3S8IJ3k03pZ@|z_>P#C&RP3T+`*`+u$51U)m?n@QV>Nwr<<95@#Jy0fAuq7;ymHi z=ac9y6S&uC1LkWJ3ZhSoK->0dc*bzUJ?)Uy993$5gO#(w$;#%vJpGvbtd}NM5bR0# zd+)F=LgLRx!D_h4oE`{mIR~~eYWT3-@l4I9?z6z$^kWZziy^4qbFyZsz5ub#`!dkY z_RmIZj^dB|odt3BBS^}Pxe`H$Djqa8?KJ^}iW8&1I8eKdjPUoVN4BUL#J5{8F|Ntw zVS@w>ZS^M<0oeI4VYtyH0Ian);^jrBBHMH4r~T(~ zd%Izq@d)}~l4z*=XU*}|vL>{+8#eE7qxUQf7DvTz#CRbM@(%?&IIB+>w!H)PyFTs{ znp-9k>BC}1I0Nb{bt7=^D2uq4pq}WOi3xh&k4jGf3LI)Cbsdtr)5H17;LlG`5RlK$ zGre>B-DV8Glo9~me08A4R;!UU3H>9!4gAienzjD}n+{gHz>XvFZ_!^asiv-f10d(4 z<4MWMzvkRc2V?t1ElxprvxaWwQM?$uye{|m+m$Gg$-JwNcnVb5YIHJbFcRtoHWss_W2qli zR13NV(egp_Q;8zo2v6|wn1qj3ZesN>oC~@ARpzOFm}o*9uZJn-tCdK+>VFdT<{wHs ztXIEip7vGF-^^j889Lgczm-7}&8FiS@S zaDyKwz(TUO@M4x8G@+S*mjWt^pPG!UVc#qk{#LCM!c7cTPHiS~)+F+wkiAhw#J4sy zMZF%MGxV$tb)Ghd;n%&4=giwTs&g-#@K%VsOnnIMrw<-`j`4|;W~3XhSR5>!u4^RQ zmYI^dK>3yJa|N>}w#3?T|GKD3H$}<>XdhN(Md7BdTCs)M%o^ET-}cargsq)DtWI=URSMf9;@xNR&YdXg@5HruQt#C9!*qVD ztcZ)zm*g$?ZfFg2x5eUUiYo<;+3@w~dbRcG6V$j^@A4fyakXA&H?!lwtDHRtQo7vN z7tl{E;ue@JLjO8Ek0nJD36I$!adDPxhgtU3f~uP(Rw9YTMMEnr=CJ=7K6Lk+B5Hi8 z_@HUBv95M-OXbp0w|9774(8{L(c*P~qL11vVP7QNGS2bT-&iP=D7K z|8Qy*_FfOSZNuL*e{y%;(EV=}aMx?o|LFE5>LC)|v6kHFk$gKyCz4Aoj;x!7vc7qo^cr)mc;VA|L^fuXr@KG?sN9INunJ>_D(FvA3Gs2V zXR#>O@P&o)!#6EhF_;N)6cdhN@O8h|ElNbv(P;7^3mK7D+t!daFM zCZ2a&{0KGYJngert{9yFG%s1)mYH}lIV9^H#BY(gXepK1=oSu*%~oSR_IZlI;e!b9 zl{KuoZwICMjZbVv3Di1I)uw;2Sf1~utV@N=i|6=M;hZqPafbHc>1X2B={|{$U(9KG z2*BH8kZ0^UT++E|0Huu7m=wjhtJ&w-Sa!64OB{zSBIEMglWc`kI?V+hxYthM=iJoA zjLS&VxiuP+3>>yC>ju;>YI^-{3KcEA1iwtYSjV;eRY$sZJZoxvC5H#yRUAH#jz9U1 zefso^1`ycTan)=zKnE4QF6toYEyyajVVb51sFYtQ`^t+dAfW|;$@rwHOotH-xf>+q z9@T%C9?6VF9KlDoM*NNTZ$7OG1g9F+*rp1oI4O2C?Zu07os0QiY?0Dmifj|n{TTS~+|D8`f>>Z&DZklMP$! zwn@q~vjc7?j+1IoD6O0S;n&+5V3MQSIc7~+y0mo76kxIyCrY{hOtpk64#X?{NXEP@ z))w9;U}55)kcb+p7gN{&4v4!QJfDIY_cqZiTV1fGTpDkjcg0<| zxCl|s){QzU4Opd)J$3_^`SX((;5L(u2$|)_Bxe>`?SfQa^3E2|ncyMS96i=_{N)Dj zk(1p)OOD2rn_6Z6S6C?Y*3Y5{SfYZY-9=L8(4Jg%{LqT)GwlO|I)DfH9g3w$GF4kw zc~5#(fI#W_@oI}0A`G9Zgn5PYojs2bH)?i8XT^lm^XTVjBZX;-8+AXJP_@a`%h zxGwTf3Re99va0c(ne5Hi1ZqXgUQ?A~m-(LTC+{IrG^U}W2}!jjyt$ol>mCI@oj%w> zv`pcTvMz*$o|-KUcsif=R9OEVr|KzQ9BPgvx}jD~QQq-!yjpLO(Tb+kl$3w@D|rs9 z@&LP6*@A6z#mjpUw|tWcFmDt58dWrgx6&-~xK+vQt+_5s^fz0O0pt6xpW4*7vjnhK zSSnpuM$qiW5_knDkbGpD<s0CqAhlzk%W3geULt^j+s;mG)j=OW_i z0XD(yXMtES(Xh28=9Jai4(Z}V1^&&HaF~_hc|*bu9B|rCjv^s=0FtX;`;9`So(V)- zs<{6S@u$}1v0!44DYy$t`E#)X7Tl0%!hY|&384A#ByQGK2_76nd{gt;0#4PUTV3YCVpGp=O= zQU>xbkxuv{O>3)rkGxvnI!Tq0oDIg1H9 z;PTfoFVh-9&2mk~QpQ{?Z;M&t11LIiG=(LOl&9CLbh*7FYkKxcaG=49;5+ZyI+4}I zS&eE)UD4^LXJs(X4vbM-(d+A?JBtTF5wVQn1de_yW%=6c{G)?M7}vfoYh{fyd~nIr z_o)(Ym!} zi%)%&WIveDBVZ*EJ4Z{o!sy7r#2Q7NhHiaJ z+#^Up_RFRzfukN$#AcU7hr9Dk)v(p2v&X+%fG*AcTmEv<=u&@Ov|LrSItmaOt8$UJ z9l4o|=-~XGg*j~v&%6y>vf|17E!n!*Qp)Fss}yv6VhhOomQKufWj4)p@a2tN*+w4* zZ(A0sV%G00iKPi_!M|CK;rt-y8LljVkkbvE|A}j^*znUn;)&;XG5v+;q%oPhflWwm zB38lggsSPB)&$RL14@nRlTaQ9=X-V&eO9Wm!a^$l6=sHQ9eX-}<$OCG)?);I2~eSW zP~O-vp>Aq%KZ|zKu*g-LAYPy}LWYH-%0HN4C(+46>s+IXc1B-qpd^I{Jhxw_0Y{k< zFDt7rJySq^-glRrQD*U$uyJ~q!d46~yN6`)J;j1nn@|4TO_Sh>?pzEeJi5&sO_rU* zWW5fSy9Nfj-~re!s{ZH|cEKvY_)(_MjGJ3Zu4PB{iTBAk0OnK-Lp$==eLC3eiPeKD zW&`l9+kVDX>$+anA^+n4J5Tf#%Kv|8S0Sj4b%B9^48nncpnSdI;oxk_Xl8F}@8D|Y z!r*CVJD0lp74yiUm%OtchCs6i#M4;cM19TdupWgK(GQebqaZ|57?Vyv4g6nQ=1eW6 zjPT|4x$b}!mi=Wcog1R+vFKIGe_=1ejiS`^Nc%W>88+SHR^QFnQ?li{pYzxKa$&P` z{eXBM1uNA08?tU#3mGjZhj=Ko6{&;toFt80 z%3kgf_Y7*&)RSN$s9orYIDyF}L^d!oWionI6)HQ8O5d7i2m;Ll|HfeL%WfTNt4c6s ziVR(F5?|aaiItdzKnkfh;}%68TU^Ac?{ex#BERGdGpC8yC{(RBwSY+J$cq=UPgL-7UBwz_7#^%>rCiXN&K z8mXJ|As=8mS9nuX69D#mMM!o# zM@skNgf*Z7*`GRLI5pKb=3%L^Z_Phjx4RVfc(-bq`LJTVlm7g$3n5U}$oOdW zp%{tOt{K8vGVCw~+rMQ^1K&sb?*vf(wlAJ`)@hZNLIJ^jd?55+NBa=Q{}bgV4t92C z_OAaMAh|qUo;wxZWvLAx^{S025aE62-Hc-f9J? z>#-6Xd~j|HkZvrV2j*lSmShK@KttlkZe2iE87bK%Utvz%?WBlvYy!n0am%1&x0j@Z zD@`oS1g(0{PG(dPjVH#VxlsRND=w&`n3{Xqeug)g?5Km0rMf?VFKP7(F}l4oOHUu2 zXOATyEK{xRL@_%GD#{A(=BfgO58bQHL1h`d=)s|gex*1c9Dm0@sf}dQ`@>Fj6*pck zWJwF&Y5QtyAqfn7jlfsk@*&6uiB5n%zy)G!(00pg+86>M6vyL4Jli&}TszxN9hveJ z%m%4EaPrqOczlHPOp+py%~46QqAaFD;~^>`>Yk~xfp}4}6s6?$$wK@_;;H9mxjZ^m z*_PPceXs{nF0S}WlE&zA;37@?H(89Yt%I>8&x6|&;^upoV*zVG=MQw>BVwPq+jN^C z_JQV;R+`!jVw_(QprqPm$s(Zb&u=IO#O)vm+#cc!rlxI8jl6h(59{a)fkqvR3eNbx zJFl?1EK2}=J zMO9EsQ{`t@bMyDW>NoKd*x(f8VL0)p%)iM(gcsIg&W-9%(oFr%WSOkr6CiN)q|hl9 z{&jR65|Gwno*@JxVo<`wn5bLXfQ+)8%<6zD>Oy1Ef}P*k!`t+K5MDilx0Y&$F(bb; z4ZktN@YztotmTtoGakBcRs9n|U6L7%EkG`rPB6rO&gVY|NV~TqDY|={g8Ng4s)8Uo zLE+OANM>=#ll$s>)_Ek%^wyZ2@}C{${w7aRk@586X_MFm!0b^nMWcky#oL+6j$#b? zl~B?QvGoEO(Bd~1EVv2mCfr(Z1MxqC)VO1&xsn{@Bfx7Jra z#@u49kT>pt8bka_U5}qUANthkjQkGlmnL5uGVk_1j>8HRxB`Z4>LfmSDrY3sLDf9tqh5;9mq(r{fG3_Rtn`kUnCA7M0qENkimcU%CW5ohnKocV*ltty|h zJpfg?;an%LBBoQ|Ql5;rf#@3PCBaDf#7e=Z$dpmzVJ+vkWd|ksVo;Ps*^8Ha#Sj8t zp;+1%EA45zG4%aV>%{2<^5jKX1B)zhV%G=ubl~QM2&AsAPXiPdeo;^X7YzjDS~&@! zh63p0)e_DYy5>+aq!ij4JF_WiGo3H|qTV%Dz&~_e8o4!*(-M7?3V;xr+0h_FLYn+l z{_^6GyHKV<^x`CF%UQ+vq;a;R)~RKi)_d@N8kM`bFXM4-E$EhI*0f^(vWOM;{;}h* z`Su9-y6D}bJX-Z>W1d+RFDuzrsRcG@e9^Dv0P-hV?hEJ6!&m+4uGV1nFL8KPUJH zHd!xgWY!oEPyJcPS@mPyBQ2NgACP+O0YbZX3klMzZN8zf&-!qr)A{F?xa{{>VBdc& zc65^8AIYnz*M5!Rj`g{LtcClH%%0e+S?d$WxcLo(spPUF{B;&b$nTl6=2 z>65wO?r@uMQGsuz%0F%nKcBM~SYL{f_{A47=I!Kn>t9FE)`pQFQg9pT{y8tJ_sqy# z^XBle3}mjt5ixWS<6WP+xB1^+doRYpDWkJ6W$Ni-bI@K6IK{_YKfw{E zscrB4)f$oN)Gm1M>sON-1zlAC(@a&NEZ9lI#@GLS_sDDcDN z&6$_K@?{tQ_2zcae)ce9)=Lwmh3z3M_94XLU_^A?+U@M-B`Bp6>#NhO2TZFTtjHR$ zjf-45a0p@%Zx`(cdWy*aPdg>!fn59@w!cR7{ikd32mF}{O6bhr!^RcD#y{Au9J-0x zYDhoM2v6dCft;3?zBb{0uYjJtYZ(3p`PE-^Bv;O$M4|6j&MRD{rv(SYifeS0e(jsx!l9bV&Arwf;zzxCagAg^j&FU;Gcc z@K4GUa3wB#jYBCQvXf|-;N5eHuDExs%wqQAw+@2o+sgz0a@M;mFJ1v9*Nnk#&{fuW z*v;N&q95%R|M5rY+~?r+vjLmg^w4OMK!;_Hm&<*vL#LL&yAW>D;%vr^Sts_w`iW^n z>|}fT&gjA|yg{^Aw1>G6*$4W<``dx#Y^z$6)?HIyt=c6(Lnw_%^=r&Qm|_2%EiW^+n6^fJW2H=SylNLG;x zlZny%^m7&1UhG(>>m)7xhI>uL1>^*Mih`6djlY3E_j|;(2|N-w#RRQ)n%8>8-B>TR z6GRHOF4GOSewrmAJU+flqQMu6I1FbZ>^|&{9sYKCFFW8rdj)2C(Nl*!`fFd#MeWZs zTHbDNb5hQvs;GjsE+z&2NzVOQE_HFs6wE90CgB0WG=y7>LNgrFmDVJx&L0piBgUe) z-%?l57Vf2k6$Np(M5l#gpu`nZ=MAdb%yi&Xs$km_D-nV4RQI5?U)5sN zxd@3GvoMo&6?;f&BBRG=q(u^QqPImB{sIh(gkngEp)dhEVJ$2iMcMA}AGguLlsUpG z)#dL@klO4pam5V-wY~IOWMkkq*?qsYcG2bl?u+Pf&m3_UTL~`{;XYp*sh>=c^jIjD z?l#6jFTL$bI4b8cFq*MxdU{_i-(eL=78-bquG4)-i>EC`=hOCSmo1nhX48BLmJssoUi} z*^0!#_vL7kY9^%YAW}W0n7JpMp_y?ngA(v%s@SxlW$~zCQfY+o8y!N} zvraPxUiG`D4SDFdaVaS|>J;J7U&vlM`BcbT_j?X?sp}~pfxq;`eua+7=7m1;50H`mXP_L;3I!)Tf1wp=?Ay)^|&L^Y$R3F z7h{7uaC>Sds4cK#bCQ2Ap`J8ar}uIwv8NivRcfcwI#1n5tLJHB;LnNg0~!4122oR)qE7enY%_@4kF%jx$3KtBV!Za$I%}&4EqU^(wMOfxB z9GMD>AyRD)Jp54Uh_RvSKiRTQ$j2sHwGsKy5~gP!Lxn@CZ_N9&)Ta-P(*~5Lb=Fh2GmyQ{)AwWN;~~i zwn+>`b)ZV>zE=`vn;4h)~NW8&@5v%-Q!aOfUuKUb9Oo1RlyMeB8 z0389ZY$ror5=6DU1$c2m)?kSG*j8D&@I8>H8t+G!V9tcqEFDogJI?(aStMapyHLU4RPz1!XYh|ODGHO zm`k2FhU+Scic!a`|o{g(nQ3W&Cs$0%K_`B|jMHYW7^s*s& zDsuR6QKex4-DEdO1qu9SSLrC0`sW z?BF8$nm9f`yY%8;_0a8GLt(ZBZei5M4}@g`U(O)pD2KnusQhbou!d%E?9Ie=!Iwj9 z;%d%!1B&W!4IRwt*kc4FJlpr0>MhH&ic?{y#4&37iR{AJim)!p_+Mb@7!}Y{-C5`e zJIUD_0BUh2GnEbdcI8&OsN*_lJ5qMHp)W%T4L*WHv|t7!w%8fsCyJCg1Swf~`Zp<; z>bpX}oXQ(?z?<}ly*pwwD91g~}Fp)ea=`b9*ayHtpdlJ5omDO>78Q^GdO(l_Rc zSlZM<-KY6WL_TuDEREmjArYVC)yv4sri$&N00*0f(4KDC0u>DttvA?29_p;ieQzq_7<%@za;=M$Ym8>8>reuZIQFS(~xTQi^rPY;_x~4qv z5RhFw@JC7?Eo9NewMh9g#%M|3hnA)Wh-#|s=jfXq*w*3cK-Z`7vt?^mAf@q0haO&X zcokQ_fP5MdjoAvnpV6Z-JT8^X@0=~LQuG* z;SzTUz8=zKDsGIpIonc0M{t?IMAE)3Koa9>I6*T%O(-ZXY@uc4W%RO#8K(DgY6fqk zjOsA;?EVwbR4VC2nPKx}EA#xhsLreV43lciO!qtXO&1b{zOoVO4@Bcg_i^;)T$p-2 zic7s3&MO^kepX~((|}0@QjReoQ!c2Flilz$kM<8Ev1WvwS~%bCiFEjY$tPN(mE#0D z3sUn5VQqQ#4RYc&LY1a4(3~?=-mg#Ld~@#z7<0$`bp9b3bvrBRg;{ARYOj;MDA7%G zc%&pLE%;qH7Uob;$vKpChsrM40a;88M-wukwuh6RPM|E7-0|-nb1MsgWM;^95EV+U zD-jtwGb>GWPV;Iq5~YGcrtZEvC7jP7I*NxcCP7Q9jam`OB_0{8Ofg1K%kXq3$dmXq zV##6riYXHkjQE-p_ zbqA-$mvlA381iBIm_^`RCfml>KXW7tSMe}Wm3wEp@O~+ctcb>+I7ORHe8kRvsL6E1 zhZ#fE$RIbmVlQSmGP*9#G-bepGHDld^=WU2Rp?zx-bU9+9s$653L#}rp4eWuSMB?= zU&5TC!&8ERDX}rks+0g;`>mNmv@&CRwnjD4f^JctS+|5z^s5VVQ|!zc#KE@PWUNf( zP;MyN9LXS>K=WHHtGY@-3l)p0fPVr@nFDk&!I@f1=wk0i9BK_xSX)DABp*VQ>*s0w z37u!uB&>6bDh%KjsN5U5IF>A7$eT%R(epUWx(p7r&qLemWS-oB_*5*mzya0lvW%^v zRkBYn@Mpa7pGP3dzLOrej)|jb8bK1*&Pc39_P!}4&9#nus>$&>dw9{3CO_?45+AAb`@tbPhbgM^!~h&$YFp3gSoWFb%wrtYj*}MF^op7 z^KdlNW^H&g?ALa9Isk9CkcUm*_6`OEbK2Z5EIUmuhF62Y1N8cfJ$|c(!)ViL^#Yn5%TKy1x{v2CnwjBOJz&AVfXuu(GxSNA7-n{%(Ir&WQR7UFDw*}J`FWt##S*qJ6bAAkD^VN=*~lm(nR;f5c#@bli< zF)f3Jfol%?5hVS-jpprOygkvPhr*`&%SrRee08qbOF|vR_vXP zJyzqs?k`z|z__Hf^0r66H3S8uk=X=l>c!l!DT%$!WI+fVy0*QI3>os^&O7d`QFYqg zQ9mZ)na^Lg-OoBHn{R2`P@tHwPgPeGfnT#XJ-EbAVn8phfC)YHl5_dFo=RzaKE2iHV&^6%M0P)O0A~>Wt(Lv)@rJ1xER%b^w>FE!o%s#VO$#89oQH(x$N-y@(eabuuABmd$}qm$ag1M zszi}YL!g^{vn1ai|7x9~8zQ?oJmB;PW#=fwpr~~F0d5Ux;sZw5 zze~or7K}q2;uv{54?>Dbe`5IjNOL775(M7=iVTFZ% zKz}W#ywQ9Cj)iP0OJ0WZuDybFed*aUnP>M>WaF=}pO_ zZ$8^wwr#qVZ(83Xb|>DJu|ps6@4Dm`FRWRAMYpAIggU~c&H5mA^aoa1?DPwM4Sv)1 zp+Hf;GPo{M1|$%W_%;v_)c-RMws*5LHgmSJxA<=!e5SYlABeewamoW448oF;0<(lj zx_g4ocG><uaHJa85dCz?;?Ov1!oR z`g)ox`1au;*uM50cHWM+gI84z4*-v~I_;hQkp=7PrnLtAEjkuJ+r7F`H4e{MN6pytr^$&A9+ak+0ZKap9>yml62&Z_JSUsUxpSW- zpc>iFSZ=KJI~6gs4YZJ2G7a5Gdc3+Cgq3oTV;N1NE4LK;2##~2p&DvpQlUC|hI1m# zx|PoPR`%7LmZ5AsepjkccfXzjB1fC#lbxeElyaR>xe8xA^fiRd$(`Ifii;-8y0{q&5yG>b z!Ncy8YPa|B0uGpUgaPKOM}-ZBTSOf#tEU|mn!OCju3Pt{jmKK>Y>|rLhH(?tJut7# z+$Hsp|KAQapP44iE7pPr~iqSzW9=S*vl(469Ss zDwufNpgs7uf|29W{>(r78G!?a>z~zVpjyKLG>A8TO#{CE&hASp_8J~UMDO2SFF2dU zJUw-{3H``gq#nudEG` z&h>bQ-L`^r`y~A=5fPmqh5Z^FlY2p7f-{>1c2W*d*LvvyK10)T+GE)GKuqmn=T-)B zd$Qkin%c|!fS=^W`a64JOg9x-?lHfnK_&eL>GSG$2%vx2|>`o=fBo1`V`NL zdqdR*RcOJA1n}yC#3dXLsuD&zmyaI{40`hOdNqz7mXwCH6rBc>IX$Zl5QBzAm?G9Umk{YA&HF4j}*!zKBbDAuuG%W&>* z*ju(PU4?z+!wyVVoXx4l>qD_9Wq;O9*Q=e57q9KaHV{&gC$L!4wMgoi7%%nPXdO<; z3gTpa!R>vRn5XDgIw)F28CYfMtdK}l76`}8kY@>BY^_f%r7*B7`16cw&V(2q9grG= z`2ozC2hGyR+G;nGv4`sKcKX5GL-QXM`EJz%$}70I!m#PRNRZm8h);!)4M~l!rbFvd+sB&b z11cgT3nvxY(%E$x=~1IF%uOxHF~MJXeTO!C?|MqTR+OiZT1o7c3oF0dsr5k)W#WS+ zv*|9D!mvNKr~2H1X3%xay(Vocez>h5MS4CJn3U3r$P4Vp%LzBIc-05JR3*JfG1|M>=8zsOK4@<;$VmI{EH# zfQQGILnHlttqpK~IH5x`F^BNRuS;h~|_p49VaA)WinO43k2!wJ<%iP%ov9XkF4boV@{ z)nHRuh_2KkK(=hSvtA~ZofnW;#^;>;N zevvL&I&Vy2C!uhxc)m29O|Uo~UGjEEMKw`)<9B~%abrn3)z7blLX8KzSq)s_bzCPF zw55p72Z!EU<(gCpH7Tj0dt(&yz~Xeap9L5~^9QO)4P2$4W(fb7$%Kw`_`nqZh^73Y zklA3bF6G_<;`1&6l%M>H^&tx7+&o*G)1iwI@J=fbZWv6xu1`RxtidCD?zg3Lch7CT z8q9Xcl;iLq{lODdM_@M?_)~k*GFd0Y2WFQD5v6!MQ{n45rJv@{G6$fhU=AY{W~d|5 zt}0&U{kxDRXi~7g=%n9{tU24SWg*aQy1}++sW`a2H1*ZK$-*qJa?C2q`bd6qx8SavZaXKJ=Nu^NHvrwut^ndfr*tj5nYRLOs#F0PhP z+`SuJcA{y@Wf)=2W|LLqYwam6NljxPSyZ7^&}-EX-4VVx8*f?SM|?AH%m$qzJR@p> z?qw;)1OVRfb&^o*^7b{|!Lk&`&*FpyMAn~hFCD6gwdh1iXCpwb3Vf8~&f=eGmh#pg zSm}pK$LbyFwE9g<1nCD6IPytsjf{>t(avq>?zQ02gFnh7)9Gw}rp8@sc3C_6_M`^f zYA!k=Ei$kFPRQfEWnCHa4pzQpYvwWXT)i`wB}X;>X`_yOXo)NYtVLMjDBe$e;+aFz zi}`I?_HJ3$UEU2m-mX9{8QVPRs1IVi+O$KSoa)m6ZxNa_8K2OAnWU57%w=kZEZf!d zls@>gDolKt^@HB-mpp2O-Nv2Tpy)`6K{Ss`Xhf#WLIvMuN#sCDq&TP4;{e9jAhkpD zhgA)B4tm|^F*V3ZHiQ5q`#d?o)a%hOqCGP8kEq?XgXlrN&ycoStGg2eR5&|PgBb6&( zJTj0^-Kw-7Y1ST!1rf$Es#`_z;0ZquWaaBDD8f9s9C!`(7giP*Kfet6~!IxW*B!>C;=x0s=0_Nis9*0>gpQ6kUmGYmXP2)w&ZStf(_x z!)~#Zfl{+9*j(k+guIlzLAId!+a<3vaT%Z)`3=3T=AuY1#MhG`G}SScf+0C74HZc` zK|~J*O->KZ*&sA*%nD36+9gD>(I0A#bZS9%v{JW9wZ0W8-dr*zy1V8T9R-y#kXi;f z`9?s!;e1h=xH3ZcMGgxvdDD?lTgp7Xj1(X31!y=Glu#`3fbVGo70Gh4&XSb?#(AI^ zl-X)t?r-Psa`N58@5O} zWl`9a2wDW_bipme(_KOB>V>s>$U0!32Kpbs(r>fqYGR}CO5A8GyC1tlcuhB*@pLnK zpGcQk6lJc5ILr3s=TtaO@xJ~6t=at$%?C4GBYGxDgP~rCv`Vo-6nLE(wK+}9Dm@i$ z)?F)|SWYL?zY`_oll_6?7T!!)5I4MAbPzCRz#!{EtBN0qD8xZLX?B%#EFM<$6+aB< zQ#kGR|0*n&(xru1r<4${@4xlIUNq&i~Z*IY0s`GZf_#T26R-QHHk&7$w4&b{N!{G)t z?2J*JqyRUekC$o6?v4tb-HS*KjcW`Dbz<*O^F-Bd*}n0+eG6ED64YrGQXbj9U>X;< zzjwonLXoT$Xbd>y22~Mq=rzCXMFqqU=vF~IknKyBUkdtxyrwdWxI=0*^-JpLP(!|o ztigVy>^QH%z@PLby%MyIe+l>ai$&rF7FqPDX15^pcM$dnWECspQDeg=cHx-*d#%h`uyhcHKMX``$ao+WtRMe>GYEfM~D_r zsQ`X0j*oRv->1gFp=mR3ZUzuBQtLJx{RtC{3Kj)o9P>nG~%2K{19;{@OPM__>TDKKywi$0v0S~2+)7|K-26cJRk z%rGX#qH{Wbh4wsBZGSN$e@ipd_vCmLTvO*pdwTrA7NW_$;FDZ+74?!_G^ZdJo?M2A z4MfXGR)tgW^Dgc0GKV@Zqs8#!-AX!r?woA4wnk`scNyX1H(!KbeS`^Q^T7KRvv|I| z&uFv!or-zwXORMDC_0c8w(xjH+3Ifa>Ep|9u!Jk7esb<-LzaXz z^oZr*u8Z_iAq2l0F@ zNxHUXD_2R`h!2+rl!;TwCJag_(dX_joGVbRN`yWAq38t(;HXX%cXuc4;9&5gqvA#z zI5tGBg;MXb>;ka994YK;B#`x6vDNgDNyvV8>HBkws6d6Em=-c_D19~S&7=b4M8DR8 zumg0n&)ZnwVYa!dMub}NHD@5fV!OBCPlN=)SmNMTc=IktcVNk4kfJiunKg=PTDz)O z;>_+G{0+K+cra55QQizeo|@}F<(@F^Ix+MwyRd_M)Ww2ZItV3&)AlTF8a8(%Ci?~H zxjTb1RMw&%20Ej`uHfhNuH^%IbQUThkfp%<;Fv@2TG)_I8Jyq1+XIuL9>pn>j*x&- z4Rnb`E0oG5LbCvamMT0B(&->vuNVqrnO4Xc%F0RBk0;juQavw&=w$U3dn(vZOAU^m zqvKQWAJB__My-TOKUgTVp6Q0b^h{MmegL0Qyzq4t5@BZjvP?Qu?PpMUBU`?Hd*y~r zK8t?<2cg1pz+;Rfn@jD;G zL8^Ykm~IR~U-QyuaVtD;?MQcH+_~L!Ec1??<~(6vd6R(b!yn$H#`X;m15e@fm5u6a zEI*q7UD&c1MuUKF?z~_-f!>+NA;$ceN4MDQc6ed^x?rjIqEN@qSDgtK##BEOn{#hk zHfKP_2V!E*K;0Pd_T7!eq25BJF|a<>!;eB5w&NsZ{CYj13uCll*#wGO@veD@^o*HV zWZs!NY)hl=g1x*!{~RuKiIoP3dPzc6!@JKoB{l(pl;C9cU}9rD`kV80-cHq@IaqVI zGLTyHMw4kM+W!XfbWcol#nmxU(Nmki1J#FW*yG(B=Clk5=NN@dRC#_xp9(HAjI%>Y ztaAS~4xC8r33mDqYSGR8j&D3`-zvL(ZRFN@d8(l4ddC;+$DoN>$8Hw-gpz><2Sfn$=~3>z&;KBqlR*^barvD z{KxlQoF?zQ$AU5pyrRGGiga~W6f5AM`xM1%%T(Ewcs5(_BMep=Hy{>l2M&LSc5Km< zVW#NI-F{=QeSUOemTUq)Yty>pX(t#$r73l*;ktXCzDtPFCE!)oR0`8#Nigmk@`}0I zb{e-x!kv*4357Xqn5*+K@OEYsBcK;i^P=T#Tsvv*vCu;Ub{V-r6)$j6pU~hEUdApW zWQzlzG%m_x=n2-JiVoA#YzTt1LopY8S6X8a97aMnzUyMAAc5`Tm&#&u3gL57ifTf; zbHapH@)eJ=%mIy@_+nE$WtRtJ_L*$CVi#zsR~cO#MRxb}^koHw)({gHx*aAVLl7VQ zhajJ7M+g*w_6UckmO*4qb}+8ld5UdRYR4qMd=zKzyzMo$R*g9xKWU&%wM=o4k%3OL zn~1?(*i*|bEz0NdN649ulr+Fdym}Irc)j+JEGxc|0uBQPyOGOAu=C>br&OwwRXgIi zmI!k^Jrm*=&C6mQx{vJiSYHcv61*58w5``4sWLx+J4-kDGuaT_C%pc4B5MEz-1|43 zg;?Dok{=hBy}N?zl}7}PXgog=9p>Diy0P89xU^5lG}71-YNI(+ltFqZ7C@6_Q`^n$ z7#+&SP8`|CUC*CZ+uFX_H(Bzdjl1yhe$(V!uubl)jq;%@?~|p~ZP}o4Jdw*Mb4Y-p z7vQr1lDwG}gpTiGJw|+p*A%gs?@4-8HYin@q|H_{b0|&u*)>NJ@zOWBJaEAyCD_$z z*axh{s(A`PcMg)hk89S*WB=XbU%=36y=?pPsewQ7_7IetUp$2~YiOgaUPq=B5c+$$ z|BR{}dd1t9^*0KiG7eioF_&&M)S z;#Hs0vn?j26dh(+$alHLO73N&Udnp%brkPEd;l@^ufH9s+5h--De(zm_|!q0muTTe z`$9nGw_&MOv){L5hbPd~#nbk=R+ETJ*V!msU44QA4DfYu3`4%6Iqb-eQT?2l`PI(W zw{nY!G4bdx=HphP*ayr8S;fi!YIQ*5p|S{tcTr#&c0oiKPm7$A>C?ApXZHa|ArMD` zq_O_G5Od9W){F6ICBFYAhc!ni--g?j?)YkAiT|UrQu`sRJWsfvxDmAc$)C`8sNo^W zgv;eQam}agPU~*ytaaYGyl=d%+JesviI|edU~9;kTq)m zyFjQa5I32E43;$SVI$|AzK%!vns~2{3Q5Xv57I?X^l7>1KdkR1{NX zBc0TA!`h(b9hi)z2N7_|%a1!TYy%Zn(GJ~WbmSMYJV|`W`%&tlDc)4y5GEoa?79Bt zAAjxe6@y4W$r$N~c@2yAm02Q537fW?D(n%FQXG(JJAJ0W)hkpof{e9!3r8StopKM1 z3{Qz?Oj^xOBAR~))@Krcv$&&Z*H>XP`;BdGN9&F9t6Sc*dA=kew*yLo6r6G&C0cPc zm`CqKnW4bKVNSY2Wq@JflJvCkXTt^oL1z|p;x}2Zkmb5x@eN7KNHj0fI#tK$@5sHS zt;rC1P6~0BO8hO zUqAKyeFFY{IBezdc@W+Bh7j`Hdib{AM+TJD>LDchbqA@#cVpa-2}5$j8k?r{1t_H) zAy4gVR4X(wa5yIWGvnBA^lbNLcJ_BrLsX>;EHQBxZyVh486^zb+q)@*{|GC>URY~1 zZYzjx!>E76P;!@Gkk#RSj`}Sv9=q7#RXl2TE=$^!K!^$$99O{E|6}LuFZtW@+%ym; zJDrs$4JYvM(;)!5Pel1{_qA1LEbJSyStyAa3htber4$rVJ4d6O9HlM z*3KChYt&@S9OMI(qKJbuuD$W6@`CvlNp|=9P+u|ppa0$k9E71ZJtROM9|P}qF+N#0 z(;lL|m*Md+^k8gSC4z>4v0tV36SA8ciFFAw#0Bs#BJtg__@B9btJQk4^G(&5{m%t`mCs-X37 zVF}!qUk~ZN%E92^K}Va2lL3#HIU_#N*^7n12(=Eo7XK{89yi>M+Ae7P0KKtME&q5@ zw(#o55D&LtxD5wf?Xl@3pOQBQT%EDn_NahhQ#QC6r}J3((lgyc4!wzrq**0GpyHRc zqopH?Nz^pl-oY3%d#ijadqAHTO}6A|)9y=y9#^f-uc~(4!>**oQ`IyqyOW4JYknu- z^N|N684rV>(}XSBYvA)213!W?Sq!uvH&nn_O|{X3T2NIOx}WzCin{Wx#m4rxEo|$> zHqocg&!QYXF;m~F7>%T<3hJ2tDnZxwC*bZ-}R*o>S@01vCye<1`%Jlh@3 zLK0KYSSP`2w{2FZxU#Bti_Frf#W^@`)x}^TLAZ@9F5lk#W1!F3HEJOFZf=HGWlYqZpP+HS^|r#RYz}r8*|@? zJUA%3C_PLlU(0{iPLd9g^7SHW0(#7*Yk=FuG0SeOCua{p13Ir)->-Q1cHdY;ru$b^ z@FAdlv82N3dW?ouESY|V(>1biX=H@e7mVGcWfaI=;p0`l1rmy8;6V+_!TMe}MJJ9i2JK;s?y+_2=3Qh91Q-^X~&&aZotdmO?8mwqV0 zJomsat=6p-ty0wj{-{p;Vn1*GTG#o1u?$BVJK}0+JIGfVL&1JKFKtCD0I4ea-j`Cn z;%KKUP4D&;;lx+iW)v0eF4}CAu^1=fmzXttprm~zLPseeU%tkoaUVo{`x>1X3Jmnu zFT$_R_CT9!QGv?Ls<;QK&^qTtf0#52l*+_?;E;RvH*Rcd?86UgwPnExku{rxR89L* zBl$3ya_}$Y_a-l0`ybMIRjQ0p@hEo5cN&jlH@$ZyLNhZc=*620mUV$Fe1ZkZ_eoP$ zzX=#uvV~OfUVH!^5;31C`4;EYfX^UG{>?QO`*PkU zTwJwM{v{Wnv)M69T_vcTREJp>cY69>dKbYqPyJW=KIv0PEY~R+4Y1M%NL}=e zw~I_VnA^07{1S*Bk8Z5vxc`Tuz(!3me9bm z&0*r^*0k$kvQLnzvv=rw-Y{{8F@yN_w}{KU?xs(FEaUTUo;9TBDPRY(kevf#FtXc~ ziI+Vbx2b@O{FTUSVRACl9x5+Fh%)4?h*2bK88ha}vab z0D{cBI`lVmd6s1!37_N?-RvH@Z|D3`GQ+c=6z0kb$25qyyApxN{po6 ztck>7GNWak6w3D8fxMJAvQj4R_f-q)Uv_F8yydt|1N4(8Kl`gv$#&&)ESQwVP1t5WeQKEbD9xPPao&KlXFaC$jmfv1&gIEodP&svTqfNz$2g;sz z|K5*(>*pod{g8dngVVVFxW^rmtNJYh()|$g(wDCrp#iqBN!hx{Y9CZuDQS-~+NA|^ zEo7oJfnmCw3{I20p1cU9Q(ZzkA%2B4yvH0@Ty3Q4C_l|)7T^Ax&C|^dO6g1FAWB7& zud1MBw$=4rPDcKn)dWxS!AQ)F3{^B6>e~TovQn6v0-s5Ly|0_h+Dbbc7mYfWY>Ox z^l#AI@U7iiykTC6XBX>Llo?_3(;$Xh_DBalOb5Su?T_j4C$ig-5*v+%6KDMHhW@sa zfYI&G7i`dz`E?W3-1d{<;zKY~nKZkximN&FRX8wdp^zq|YIyqhKL6#Uhn7#XY96B+ zeWn5R)_1oQElxpQ>a&q{;B(Ma=o??rICf=u`jILGW@B|CzFNIn1t&&Jhx<*B`z>jfzO212=WZCx);>&c z`GErdY0$nRedYlM`UIRQ5SFvET@4!om1;_w8l-nd?y?g%_N2#X3 zNlS`CdH{3J(0Fo4C>5ETHq+ny7{1i-Q9sAAim&A_RPIu@SrnCDJpEih8wpU>;%{SKzX*nBl=>@Qw{<4z0R4AJa$OB^XIJoJ^FBy1Ib{xF= z_riAIWxo<@7Uhs`BX*9= zRZm*x<0m}KsBaTtu%A-fZ3zuDEAgf}+H5$UGeCPlia__ZfF zv=oU;BdycO@0sP1l%`Vs^#aEf8Deh!tH@#R8dZUEm@B?8yLv7mAeOj$MLSyWxa|O+F3H{ z+@0&kT341;3?1H2h83>*IDSr;87-u(U7GOvLhDL zUnTW~RjBg5hZ;|P6YB{+cVxiv38oP(D;%vHp>d@7w)YPG2j()A=6NVW#&ILrY{N?# zRr7B%my!*&%t{dO4~6V$c-G8`6{@CF{oNf-)+!600Pw@JN(9koEBu0ME$M?ReqU_- zgd$@x8~GpO_&r(U~@i<$YEO!QXx%I!?EAMnuj+nbxJ&P=0li1zkd5R zKo8GU$r#l5J%OVUS|;>fJ2C$p*1W?gm?l?xOHPUEmLmozq;M8Z;e{51X;ZS8iP-N7 z8-u2DZo832V5PUoK91O7j}6X1%V?2CRZt7qOKjcjDZb77{M));P07a?9-%+b@ZP{|#wG(@{9T{rAS>E!PG$^Cx_OBaS5 zeIjVZknlEXNW);YP#+$preW9}7{zWv3cNVhcDW1bXDKmPiX0LeGHJ4EtYv4322zX= zwfTWA(@4we-6b&9o+d4S&G9z0Ls6M^z!!;Na-->+#j75-hKDk;JPbgj-301FmI9RN zMaB4jmMuKdm{`GghK@IY{Z1~1i}|~z4!3>`$cqxBNl??KO6ldY`;8KKc~wq|oMyYG z?293{mZi!P>;YUlw;vE9cFSb@2uUHiY95FgN#E5~#W9+9r+I3b^Z4WUI^Qz^4Jg?n z#bTt~|>qib7Al9c~@wG|J)A~PbQ`5uymE$0UDMBBxS+yi$KPOdJ%B;&Z(Dowl zYmecJp^viB-m@{du~2zPnIlecq1Qp{;58cuE`c^CjDzWSnxRBhKHAvxcQ?QOwug}8 zvy%N$KLK{Qit2O^iG>S7EmnEl*=^vhrrJTz)$SMC;^+u$W>HE_ISY;)JYLFWm4nrj z+5G8vE*tU0m+dRj5^k38J5>T|T8<)}rk{+D-oHIr)`c9=!evpYcJRF+P+^W-&nZDG zp&VJn3o0HIgKK4uZL*D(34uv2sa%TdMN#6!8$|_=jJ;^Fqv{+f`5}2>unxc?%~F1z zk%o*q1_Eo&?xNv-(Q3{gKS#Q0;|HCbwJ&-q9csW^R{(O5TS+OEzN5gxs?OAk!dSCK z<;&=vK5TFOTW)8Q5QrjEyc+T_(i@IcL{8D96e6Y88;fxyax8c@Ne(ZfF?AzH;+ssS zW!YA!qx|X{Y;~UM^v9=PPe`kVNf4Tq>xdR zP;$jnoV!2Ctf5jQs?!0RS@w|X{gVl?@;sWn=PEfd%C|R587z7VZhr!X`0J%#PKo@?+H|T#c6@s{sFMyyjuhAP#WiQf@|p(!hW+2y_y&By^WLOg)#q=)<>ht$Hc=G1Dn zL)ei=-Wx~HgG-Q?`s*47Yw)$J;+cEfJQg**Mc6x^(%KytNl!>2#H+ro+PdBEVxS^J zam=w!Hi$hU!mF$P1&8`VB>WDK+*8YVXDdKaV1RYa&{e+)N=Fsp#q-t%eI`>+LjQK3 zL484JQHFWR5hhSv(<|aSL@irVuEG5pn>QBYP)A2qOG2O~CEgI3-ASKd7XfxbvzJ-O z)^S|+4o;S&sS3J7974kh{uct0L0+K?VcWv??F;E+s4_BV>-ST?-zK=j9~iuq>l^HN zH7fkvMyJla$%lTdVjs*&%;bvL@$fV7o`)VEzOdth^p`-F2^#%G%&@B2I2X|0{rNuG zEd`(b09ktDhUB_6e^oxRv$4Q|Kg*+h>GaYz1W_xUIHni*9m-S#ck?knZ+P5Nh6c~J zya(EgMK}G1hI$BA;PWB#*_hPk@cSe^k;e7ay&k~b`;YO5feQyYkd<;L&Fu4-iF6to z#-q92;o88RS=~S0YZ&kl0J(@6fFMar-<0Iom3`8de4#g0EJZvf8~5NAV2<`!ba+blE#rDI8Jx1(=K>iEuPk&OiY* zpJ3qA^36evhW)LEre>h_K~{FP5BQYUHgu~HTSRaBN!5r~(e2de z87s~oll5~9zsK6J^frb0)VcA)?me@(RJed~r6p@NdR)SKKU6yvyAXhaz1YRS8jg?R z*t%Qf{d|L59Jp(^a>_5)stpaU^p`N5DeuCt6?%zqyxO1UnUN2wUJ?Ay^vCJ*B0^LwolO!EOnc84NSX7a1TrFZcY`ktOPNRWQ zjGr+%37A3$TbB$t-HOVMf^lWIBIUDo74GD%#~%u|7|8uoS3+5;a@#Al8EbD$_fUQZ z7RgQZP-75Jx0}fuL&^BPuUX&>af7kW>YCHKPQISEXR$f&%t5?f-`CcaLl5Z-u#8z%>m10H0m#nn%@@_reifT|RV4&a?UoG=%ag6cU zOwz8mWl`OMSzKF)6d+8|E$Zred@lyt952;rYiumzllRJVBwfX7;L~Kc!mJqd5vyQz zy*Ru*1=xFN|B#4*`939Sx+y%^YFGCloVbU;@}{yMU=yi{r**hwCYuHf$`h6%rrJKo z18gQRHAe~7LfMTA)nhmos_&XmqgxPb?D@u0$yw*Z_jFtf`FA%~Vb8IP4}UT0m-(t& zC_@!a;kmQ@8Ibz(TJX(^izxAm?y2P~g=XBMekGT#y}xpB=~`%MrB~cKqJyRm`u1pt zwx-YBiU@3ra(VWimQ*gVw34kv@$ZAWZffn65|y_5B#sBg+#{YJDsAO64itRlVy}SW zB8{B*uC9k54L+v`wT8aqGGQnTT<{{cWTb}Xx=IvYToO3JX}YX^yGu*zV@CsL2}B8$ zy4a*vv^M>E7-hSXf=5h&j3y@o{VYnxF!gX+R=9-{m*9v#nolMWF`#0vv8ZUg2-ZG% zsNGo2*+&>xSzTXmvM+M=r*qHIU~Q;JV4E42bxfXTVEp5~jf*?!ap>4F#dV|B)Z%N& znI~@&oZk1?Bzp7%k8v>1KrRC08i+Yjd~(RE9K4-P`+v1XPZmpmvxEIRB#5!XU-Mjgt&vs7an|^5 zt8Twq(N-+rpAA*TdCr_mzoNIR>4h#OP(sSmzR5Eck7K$5h4ft_q|A-r`O59+ym88T zJc9(d*pYJR=$6>njb&oKmyEV#sZH3GPU{YvoNRhCojb|&ne4XjK%eXMh%YUkYmd3r zowRWJ$?*HT4V92(gmx2mgK0D4wM%GAhFT4*zK7|Np}on|k?mmwg7KnJr)=esTuhg| z7ZdWH2P8rOPtFeQb_b0ZhS6hZFnTRiG%(z0^2eMX%h#K-BA8ppzA};BH-T?5;+9dV zNq-G5cMUK}@`DV!dn1po|7nCr>`o2yCM3ocnw;gz1PO0Mqk04#D#JW11W%y^<=%8U>Ho0OT0v|`KOfo47Y zDV-;&OUe|J_S2(UD7w2#>UjKfEKQkuL7c}bUB$@8qxeK(%iSNZw8Fx?S*Ml)U;Y`` z%L6&?*%LRSZM#qsSag%mdQ~y8A){{Xl;4{6>s!U!EP~vRG3sIngE+`zaZ1`8I%=S@ zQuu&6u!CTH3MXrTg);y!aIdRmwhu3B)=V|79u+r0Irj6UHq>=aUDY?yn|}d|EUt0( zcRJ%p(ii2!f>IAOEuUS1AmdvNeroKL0gY&h0o1x`Sf^{ot8~-yeV=3V&89;%X66>pXhzgC>Q*F~c#r;g{J(?h%gX6xQa(ejia$a1 z7@xR;L_7c{usCh?6Hfn0&G-jS-=-W2*66)w@pJaZV;)*1)FGWDD)Bn0wKf#7jZ_J; zn-%B8|M=M9_sO9I{FzAT1aH>r^=v(3KZ~+kOV%pTC^=%J#Ue~68g6Q2;+wTrUM=j#7;rydWz%1V)4Zc@1I3ZMIEMua9iH-iE8FYRP*vVZO}I zt8r)`B$H}t&!MDI08J@62Tn@k6KZsdrhL8;UpmT{F?BU>Tk&0XKjxKtvyYiI`;+;` zzlU>r-}@)3U9rJkE8%oGTly(Ht?w|0{R9n8KfxJrn4jQ`G|+{6zPYU(t364?)fbn1 z$;K-ku>q}4&NZ!L4tEjs7tqG+-j6pwGIs=ELj`JeSX3x5fJ?5ta%bwMe8vD08xJWD zYUdFQKow3L6OL+#1Ln0E@Lq?wpWRr<>w~Rh!viiH)Ba_oNv=^8qcw_trlnjAH_5TU zo(z}DZf;NLw`T0vW$SCO>nhu~q%mr~45V zc;fM;>yeY!eZ`hT(U~@f=n&r4Z*Jny?|VJI9J>&0Ej2!JLfj{56U2oLpeBH%Y&^DD2Lo$1M*XiO3!jn2|6Q(NLDyISa)STLF!H&&CqGyBKirLf zOUNO}2OB^^@V^r^{A=O*8`O>sAP3>&0Pwz;o`JY=J`ef7iTD4SKi+_z|1r<`$6W0R z)Q$sSBKQ~N{2xI6zvijW$*A?{pg0@=3gN%N8Za>2e@#AXTkrso93Fs<@P7kD{Yl*B@c-@qtlbj=K(Y`30?-v60EOUR(aHZlC#@tPeEiRI^1s8i{~hcH zB}gA1Kngm;1>k|}&;XK6-!MUh|BU)SQL~?C`=5jt|CTp8P&)qSwfHx<6ATRH-|o*^ zJ|k!uA3&CjH;nX8bol?2a~1$d5*I+54EO8*-$Bm?072jaDE^56#QVa}4#Fe=kbzcl z07!)Y6Z|&`_^(j&{}~KSloJ3N#|4lO{I6TyzZPH$dZ6!k02~ZRsDB! Date: Mon, 22 Aug 2022 22:18:15 -0400 Subject: [PATCH 0416/1248] Messy snapshot of chapter 13 after copyedit check --- TODO.md | 2 +- nostarch/chapter13.md | 152 ++++++++++++++--------------------- nostarch/docx/chapter13.docx | Bin 72779 -> 79284 bytes 3 files changed, 60 insertions(+), 94 deletions(-) diff --git a/TODO.md b/TODO.md index a0a922bac9..b61f853145 100644 --- a/TODO.md +++ b/TODO.md @@ -1,6 +1,6 @@ # In each chapter -- [x] Manual regeneration +- [ ] Manual regeneration - [ ] Check for upstream changes from last snapshot - [ ] Propagate updated output to docx - [ ] Extract docx and check diff diff --git a/nostarch/chapter13.md b/nostarch/chapter13.md index 796b5e7a39..f1bef3dd16 100644 --- a/nostarch/chapter13.md +++ b/nostarch/chapter13.md @@ -114,7 +114,7 @@ impl Inventory { ``` ``` - user_preference: Option + user_preference: Option, ``` ``` @@ -226,7 +226,7 @@ fn main() { ``` ``` - ShirtColor::Blue + ShirtColor::Blue, ``` ``` @@ -321,29 +321,13 @@ calls the closure and returns the value returned by the closure. We specify the closure expression `|| self.most_stocked()` as the argument to `unwrap_or_else`. This is a closure that takes no parameters itself (if the -closure had parameters, they would appear between the two vertical bars). The +closure had parameters, they would appear between the two vertical pipes). The body of the closure calls `self.most_stocked()`. We’re defining the closure here, and the implementation of `unwrap_or_else` will evaluate the closure later if the result is needed. Running this code prints the following: -``` -$ cargo run -``` - -``` - Compiling shirt-company v0.1.0 (file:///projects/shirt-company) -``` - -``` - Finished dev [unoptimized + debuginfo] target(s) in 0.27s -``` - -``` - Running `target/debug/shirt-company` -``` - ``` The user with preference Some(Red) gets Red ``` @@ -491,6 +475,9 @@ error[E0308]: mismatched types ``` | ^- help: try using a conversion method: +``` + +``` `.to_string()` ``` @@ -811,8 +798,8 @@ Using `FnOnce` in the trait bound expresses the constraint that `unwrap_or_else` is only going to call `f` at most one time. In the body of `unwrap_or_else`, we can see that if the `Option` is `Some`, `f` won’t be called. If the `Option` is `None`, `f` will be called once. Because all -closures implement `FnOnce`, `unwrap_or_else` accepts the most different kinds -of closures and is as flexible as it can be. +closures implement `FnOnce`, `unwrap_or_else` accepts the largest variety of +closures and is as flexible as it can be. > NoteFunctions can implement all three of the `Fn` traits too. If what we want to do doesn’t require capturing a value from the environment, we can use the @@ -968,23 +955,7 @@ compiler won’t let us use this closure with `sort_by_key`. Filename: src/main.rs ``` -#[derive(Debug)] -``` - -``` -struct Rectangle { -``` - -``` - width: u32, -``` - -``` - height: u32, -``` - -``` -} +--snip-- ``` ``` @@ -1071,6 +1042,9 @@ implement `FnMut`: ``` error[E0507]: cannot move out of `value`, a captured variable in an `FnMut` +``` + +``` closure ``` @@ -1137,23 +1111,7 @@ the `num_sort_operations` counter and can therefore be called more than once. Filename: src/main.rs ``` -#[derive(Debug)] -``` - -``` -struct Rectangle { -``` - -``` - width: u32, -``` - -``` - height: u32, -``` - -``` -} +--snip-- ``` ``` @@ -1165,51 +1123,47 @@ fn main() { ``` ``` - let mut list = [ + --snip-- ``` -``` - Rectangle { width: 10, height: 1 }, ``` -``` - Rectangle { width: 3, height: 5 }, ``` ``` - Rectangle { width: 7, height: 12 }, + let mut num_sort_operations = 0; ``` ``` - ]; + list.sort_by_key(|r| { ``` ``` - + num_sort_operations += 1; ``` ``` - let mut num_sort_operations = 0; + r.width ``` ``` - list.sort_by_key(|r| { + }); ``` ``` - num_sort_operations += 1; + println!( ``` ``` - r.width + "{:#?}, sorted in {num_sort_operations} operations", ``` ``` - }); + list ``` ``` - println!("{:#?}, sorted in {num_sort_operations} operations", list); + ); ``` ``` @@ -1282,7 +1236,7 @@ for val in v1_iter { ``` ``` - println!("Got: {}", val); + println!("Got: {val}"); ``` ``` @@ -1422,12 +1376,12 @@ trait. Some of these methods call the `next` method in their definition, which is why you’re required to implement the `next` method when implementing the `Iterator` trait. -Methods that call `next` are called *consuming adaptors* because calling them -uses up the iterator. One example is the `sum` method, which takes ownership of -the iterator and iterates through the items by repeatedly calling `next`, thus -consuming the iterator. As it iterates through, it adds each item to a running -total and returns the total when iteration is complete. Listing 13-13 has a -test illustrating a use of the `sum` method. +Methods that call `next` are called *consuming adapt**e**rs* because calling +them uses up the iterator. One example is the `sum` method, which takes +ownership of the iterator and iterates through the items by repeatedly calling +`next`, thus consuming the iterator. As it iterates through, it adds each item +to a running total and returns the total when iteration is complete. Listing +13-13 has a test illustrating a use of the `sum` method. Filename: src/lib.rs @@ -1478,11 +1432,11 @@ ownership of the iterator we call it on. ### Methods That Produce Other Iterators -*Iterator adaptors* are methods defined on the `Iterator` trait that don’t +*Iterator adapt**e**rs* are methods defined on the `Iterator` trait that don’t consume the iterator. Instead, they produce different iterators by changing some aspect of the original iterator. -Listing 13-14 shows an example of calling the iterator adaptor method `map`, +Listing 13-14 shows an example of calling the iterator adapter method `map`, which takes a closure to call on each item as the items are iterated through. The `map` method returns a new iterator that produces the modified items. The closure here creates a new iterator in which each item from the vector will be @@ -1502,7 +1456,7 @@ let v1: Vec = vec![1, 2, 3]; v1.iter().map(|x| x + 1); ``` -Calling the iterator adaptor `map` to create a new iterator +Calling the iterator adapter `map` to create a new iterator However, this code produces a warning: @@ -1539,7 +1493,7 @@ warning: unused `Map` that must be used ``` The code in Listing 13-14 doesn’t do anything; the closure we’ve specified -never gets called. The warning reminds us why: iterator adaptors are lazy, and +never gets called. The warning reminds us why: iterator adapters are lazy, and we need to consume the iterator here. To fix this warning and consume the iterator, we’ll use the `collect` method, @@ -1580,9 +1534,9 @@ on each item. This is a great example of how closures let you customize some behavior while reusing the iteration behavior that the `Iterator` trait provides. -You can chain multiple calls to iterator adaptors to perform complex actions in +You can chain multiple calls to iterator adapters to perform complex actions in a readable way. But because all iterators are lazy, you have to call one of the -consuming adaptor methods to get results from calls to iterator adaptors. +consuming adapter methods to get results from calls to iterator adapters. ### Using Closures That Capture Their Environment @@ -1834,7 +1788,15 @@ impl Config { ``` ``` - pub fn build(args: &[String]) -> Result { + pub fn build( +``` + +``` + args: &[String] +``` + +``` + ) -> Result { ``` ``` @@ -1978,19 +1940,23 @@ fn main() { ``` ``` - let config = Config::build(env::args()).unwrap_or_else(|err| { + let config = ``` ``` - eprintln!("Problem parsing arguments: {err}"); + Config::build(env::args()).unwrap_or_else(|err| { ``` ``` - process::exit(1); + eprintln!("Problem parsing arguments: {err}"); ``` ``` - }); + process::exit(1); +``` + +``` + }); ``` ``` @@ -2173,7 +2139,7 @@ value we want to put in the `query` field of `Config`. If `next` returns not enough arguments were given and we return early with an `Err` value. We do the same thing for the `filename` value. -### Making Code Clearer with Iterator Adaptors +### Making Code Clearer with Iterator Adapters We can also take advantage of iterators in the `search` function in our I/O project, which is reproduced here in Listing 13-21 as it was in Listing 12-19. @@ -2226,7 +2192,7 @@ pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { The implementation of the `search` function from Listing 12-19 -We can write this code in a more concise way using iterator adaptor methods. +We can write this code in a more concise way using iterator adapter methods. Doing so also lets us avoid having a mutable intermediate `results` vector. The functional programming style prefers to minimize the amount of mutable state to make code clearer. Removing the mutable state might enable a future enhancement @@ -2259,11 +2225,11 @@ pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { } ``` -Using iterator adaptor methods in the implementation of the `search` function +Using iterator adapter methods in the implementation of the `search` function Recall that the purpose of the `search` function is to return all lines in `contents` that contain the `query`. Similar to the `filter` example in Listing -13-16, this code uses the `filter` adaptor to keep only the lines for which +13-16, this code uses the `filter` adapter to keep only the lines for which `line.contains(query)` returns `true`. We then collect the matching lines into another vector with `collect`. Much simpler! Feel free to make the same change to use iterator methods in the `search_case_insensitive` function as well. @@ -2274,7 +2240,7 @@ The next logical question is which style you should choose in your own code and why: the original implementation in Listing 13-21 or the version using iterators in Listing 13-22. Most Rust programmers prefer to use the iterator style. It’s a bit tougher to get the hang of at first, but once you get a feel -for the various iterator adaptors and what they do, iterators can be easier to +for the various iterator adapters and what they do, iterators can be easier to understand. Instead of fiddling with the various bits of looping and building new vectors, the code focuses on the high-level objective of the loop. This abstracts away some of the commonplace code so it’s easier to see the concepts @@ -2385,7 +2351,7 @@ multiplies the values together, sums all the results, and shifts the bits in the sum `qlp_shift` bits to the right. Calculations in applications like audio decoders often prioritize performance -most highly. Here, we’re creating an iterator, using two adaptors, and then +most highly. Here, we’re creating an iterator, using two adapters, and then consuming the value. What assembly code would this Rust code compile to? Well, as of this writing, it compiles down to the same assembly you’d write by hand. There’s no loop at all corresponding to the iteration over the values in diff --git a/nostarch/docx/chapter13.docx b/nostarch/docx/chapter13.docx index 0b6dd0cc0108ff072fa4aa6e8399a5145861fcb3..cd3363d391cf8d22286fffe8ca5b302e571d54ad 100644 GIT binary patch delta 62184 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

    uZud?yaw-Y7#hPr4S)Woo7=!}}4A(HJ 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 From 704c51eec2f26a0133ae17a2c01986590c05a045 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 23 Aug 2022 10:21:08 -0400 Subject: [PATCH 0417/1248] Regenerate manual output for chapter 14 --- src/ch14-03-cargo-workspaces.md | 6 +++--- src/ch14-04-installing-binaries.md | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ch14-03-cargo-workspaces.md b/src/ch14-03-cargo-workspaces.md index 55b1a2092b..7c67331b7f 100644 --- a/src/ch14-03-cargo-workspaces.md +++ b/src/ch14-03-cargo-workspaces.md @@ -299,14 +299,14 @@ $ cargo test Compiling add_one v0.1.0 (file:///projects/add/add_one) Compiling adder v0.1.0 (file:///projects/add/adder) Finished test [unoptimized + debuginfo] target(s) in 0.27s - Running target/debug/deps/add_one-f0253159197f7841 + Running unittests src/lib.rs (target/debug/deps/add_one-f0253159197f7841) running 1 test test tests::it_works ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s - Running target/debug/deps/adder-49979ff40686fa8e + Running unittests src/main.rs (target/debug/deps/adder-49979ff40686fa8e) running 0 tests @@ -337,7 +337,7 @@ copy output below; the output updating script doesn't handle subdirectories in p ```console $ cargo test -p add_one Finished test [unoptimized + debuginfo] target(s) in 0.00s - Running target/debug/deps/add_one-b3235fea9a156f74 + Running unittests src/lib.rs (target/debug/deps/add_one-b3235fea9a156f74) running 1 test test tests::it_works ... ok diff --git a/src/ch14-04-installing-binaries.md b/src/ch14-04-installing-binaries.md index 425cf9c371..fd821f3a0e 100644 --- a/src/ch14-04-installing-binaries.md +++ b/src/ch14-04-installing-binaries.md @@ -31,14 +31,14 @@ cargo install something you don't have, copy relevant output below ```console $ cargo install ripgrep Updating crates.io index - Downloaded ripgrep v11.0.2 + Downloaded ripgrep v13.0.0 Downloaded 1 crate (243.3 KB) in 0.88s - Installing ripgrep v11.0.2 + Installing ripgrep v13.0.0 --snip-- - Compiling ripgrep v11.0.2 + Compiling ripgrep v13.0.0 Finished release [optimized + debuginfo] target(s) in 3m 10s Installing ~/.cargo/bin/rg - Installed package `ripgrep v11.0.2` (executable `rg`) + Installed package `ripgrep v13.0.0` (executable `rg`) ``` The second-to-last line of the output shows the location and the name of the From 722650dd66ba24062a1a0060cfb2b32e965c3718 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 23 Aug 2022 10:28:28 -0400 Subject: [PATCH 0418/1248] Update snapshot of ch14 --- nostarch/chapter14.md | 146 ++++++++++++++---------------------------- 1 file changed, 47 insertions(+), 99 deletions(-) diff --git a/nostarch/chapter14.md b/nostarch/chapter14.md index 0764102326..14478f25d7 100644 --- a/nostarch/chapter14.md +++ b/nostarch/chapter14.md @@ -13,9 +13,9 @@ our code, but it can do a lot more. In this chapter, we’ll discuss some of its other, more advanced features to show you how to do the following: * Customize your build through release profiles -* Publish libraries on *https://crates.io/* +* Publish libraries on crates.io * Organize large projects with workspaces -* Install binaries from *https://crates.io/* +* Install binaries from crates.io * Extend Cargo using custom commands Cargo can do even more than the functionality we cover in this chapter, so for @@ -93,10 +93,10 @@ Cargo’s documentation at *https://doc.rust-lang.org/cargo/reference/profiles.h ## Publishing a Crate to Crates.io -We’ve used packages from *https://crates.io/* as dependencies of our project, -but you can also share your code with other people by publishing your own -packages. The crate registry at *https://crates.io* distributes the source code -of your packages, so it primarily hosts code that is open source. +We’ve used packages from crates.io as dependencies of our project, but you can +also share your code with other people by publishing your own packages. The +crate registry at crates.io distributes the source code of your packages, so it +primarily hosts code that is open source. Rust and Cargo have features that make your published package easier for people to find and use. We’ll talk about some of these features next and then explain @@ -138,13 +138,6 @@ pub fn add_one(x: i32) -> i32 { Listing 14-1: A documentation comment for a function - - - Here, we give a description of what the `add_one` function does, start a section with the heading `Examples`, and then provide code that demonstrates how to use the `add_one` function. We can generate the HTML documentation from @@ -383,15 +376,6 @@ pub mod utils { } ``` - - - Listing 14-5: Adding `pub use` statements to re-export items The API documentation that `cargo doc` generates for this crate will now list @@ -435,13 +419,12 @@ differs from their public API. ### Setting Up a Crates.io Account -Before you can publish any crates, you need to create an account on -*https://crates.io/* and get an API token. To do so, visit the home page at -*https://crates.io/* and log in via a GitHub account. (The GitHub account is -currently a requirement, but the site might support other ways of creating an -account in the future.) Once you’re logged in, visit your account settings at -*https://crates.io/me/* and retrieve your API key. Then run the `cargo login` -command with your API key, like this: +Before you can publish any crates, you need to create an account on crates.io +and get an API token. To do so, visit the home page at crates.io and log in via +a GitHub account. (The GitHub account is currently a requirement, but the site +might support other ways of creating an account in the future.) Once you’re +logged in, visit your account settings at https://crates.io/me/ and retrieve +your API key. Then run the `cargo login` command with your API key, like this: ``` $ cargo login abcdefghijklmnopqrstuvwxyz012345 @@ -450,7 +433,7 @@ $ cargo login abcdefghijklmnopqrstuvwxyz012345 This command will inform Cargo of your API token and store it locally in *~/.cargo/credentials*. Note that this token is a *secret*: do not share it with anyone else. If you do share it with anyone for any reason, you should -revoke it and generate a new token on *https://crates.io/*. +revoke it and generate a new token on crates.io. ### Adding Metadata to a New Crate @@ -459,13 +442,12 @@ to add some metadata in the `[package]` section of the crate’s *Cargo.toml* file. Your crate will need a unique name. While you’re working on a crate locally, -you can name a crate whatever you’d like. However, crate names on -*https://crates.io/* are allocated on a first-come, first-served basis. Once a -crate name is taken, no one else can publish a crate with that name. Before -attempting to publish a crate, search for the name you want to use. If the name -has been used, you will need to find another name and edit the `name` field in -the *Cargo.toml* file under the `[package]` section to use the new name for -publishing, like so: +you can name a crate whatever you’d like. However, crate names on crates.io are +allocated on a first-come, first-served basis. Once a crate name is taken, no +one else can publish a crate with that name. Before attempting to publish a +crate, search for the name you want to use. If the name has been used, you will +need to find another name and edit the `name` field in the *Cargo.toml* file +under the `[package]` section to use the new name for publishing, like so: Filename: Cargo.toml @@ -542,15 +524,14 @@ easily. Now that you’ve created an account, saved your API token, chosen a name for your crate, and specified the required metadata, you’re ready to publish! -Publishing a crate uploads a specific version to *https://crates.io/* for -others to use. +Publishing a crate uploads a specific version to crates.io for others to use. Be careful, because a publish is *permanent*. The version can never be overwritten, and the code cannot be deleted. One major goal of crates.io is to act as a permanent archive of code so that builds of all projects that depend -on crates from *https://crates.io/* will continue to work. Allowing version -deletions would make fulfilling that goal impossible. However, there is no -limit to the number of crate versions you can publish. +on crates from crates.io will continue to work. Allowing version deletions +would make fulfilling that goal impossible. However, there is no limit to the +number of crate versions you can publish. Run the `cargo publish` command again. It should succeed now: @@ -600,26 +581,6 @@ $ cargo yank --vers 1.0.1 Yank guessing_game:1.0.1 ``` - - - - - - By adding `--undo` to the command, you can also undo a yank and allow projects to start depending on a version again: @@ -663,14 +624,6 @@ Instead, it will start with a `[workspace]` section that will allow us to add members to the workspace by specifying the path to the package with our binary crate; in this case, that path is *adder*: - - - Filename: Cargo.toml ``` @@ -789,10 +742,7 @@ use add_one; fn main() { let num = 10; - println!( - "Hello, world! {num} plus one is {}!", - add_one::add_one(num) - ); + println!("Hello, world! {num} plus one is {}!", add_one::add_one(num)); } ``` @@ -837,7 +787,7 @@ Filename: add_one/Cargo.toml ``` [dependencies] -rand = "0.8.3" +rand = "0.8.5" ``` We can now add `use rand;` to the *add_one/src/lib.rs* file, and building the @@ -848,9 +798,9 @@ referring to the `rand` we brought into scope: ``` $ cargo build Updating crates.io index - Downloaded rand v0.8.3 + Downloaded rand v0.8.5 --snip-- - Compiling rand v0.8.3 + Compiling rand v0.8.5 Compiling add_one v0.1.0 (file:///projects/add/add_one) warning: unused import: `rand` --> add_one/src/lib.rs:1:5 @@ -860,8 +810,7 @@ warning: unused import: `rand` | = note: `#[warn(unused_imports)]` on by default -warning: 1 warning emitted - +warning: `add_one` (lib) generated 1 warning Compiling adder v0.1.0 (file:///projects/add/adder) Finished dev [unoptimized + debuginfo] target(s) in 10.18s ``` @@ -923,14 +872,14 @@ $ cargo test Compiling add_one v0.1.0 (file:///projects/add/add_one) Compiling adder v0.1.0 (file:///projects/add/adder) Finished test [unoptimized + debuginfo] target(s) in 0.27s - Running target/debug/deps/add_one-f0253159197f7841 + Running unittests src/lib.rs (target/debug/deps/add_one-f0253159197f7841) running 1 test test tests::it_works ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s - Running target/debug/deps/adder-49979ff40686fa8e + Running unittests src/main.rs (target/debug/deps/adder-49979ff40686fa8e) running 0 tests @@ -955,7 +904,7 @@ we want to test: ``` $ cargo test -p add_one Finished test [unoptimized + debuginfo] target(s) in 0.00s - Running target/debug/deps/add_one-b3235fea9a156f74 + Running unittests src/lib.rs (target/debug/deps/add_one-b3235fea9a156f74) running 1 test test tests::it_works ... ok @@ -972,10 +921,10 @@ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; fini This output shows `cargo test` only ran the tests for the `add_one` crate and didn’t run the `adder` crate tests. -If you publish the crates in the workspace to *https://crates.io/*, each crate -in the workspace will need to be published separately. Like `cargo test`, we -can publish a particular crate in our workspace by using the `-p` flag and -specifying the name of the crate we want to publish. +If you publish the crates in the workspace to crates.io at *https://crates.io/*, +each crate in the workspace will need to be published separately. Like `cargo +test`, we can publish a particular crate in our workspace by using the `-p` +flag and specifying the name of the crate we want to publish. For additional practice, add an `add_two` crate to this workspace in a similar way as the `add_one` crate! @@ -990,9 +939,9 @@ are often changed at the same time. The `cargo install` command allows you to install and use binary crates locally. This isn’t intended to replace system packages; it’s meant to be a convenient way for Rust developers to install tools that others have shared on -*https://crates.io/*. Note that you can only install packages that have binary -targets. A *binary target* is the runnable program that is created if the crate -has a *src/main.rs* file or another file specified as a binary, as opposed to a +crates.io. Note that you can only install packages that have binary targets. A +*binary target* is the runnable program that is created if the crate has a +*src/main.rs* file or another file specified as a binary, as opposed to a library target that isn’t runnable on its own but is suitable for including within other programs. Usually, crates have information in the *README* file about whether a crate is a library, has a binary target, or both. @@ -1010,14 +959,14 @@ can run the following: ``` $ cargo install ripgrep Updating crates.io index - Downloaded ripgrep v11.0.2 + Downloaded ripgrep v13.0.0 Downloaded 1 crate (243.3 KB) in 0.88s - Installing ripgrep v11.0.2 + Installing ripgrep v13.0.0 --snip-- - Compiling ripgrep v11.0.2 + Compiling ripgrep v13.0.0 Finished release [optimized + debuginfo] target(s) in 3m 10s Installing ~/.cargo/bin/rg - Installed package `ripgrep v11.0.2` (executable `rg`) + Installed package `ripgrep v13.0.0` (executable `rg`) ``` The second-to-last line of the output shows the location and the name of the @@ -1036,9 +985,8 @@ built-in Cargo tools is a super convenient benefit of Cargo’s design! ## Summary -Sharing code with Cargo and *https://crates.io/* is part of what makes the Rust -ecosystem useful for many different tasks. Rust’s standard library is small and -stable, but crates are easy to share, use, and improve on a timeline different -from that of the language. Don’t be shy about sharing code that’s useful to you -on *https://crates.io/*; it’s likely that it will be useful to someone else as -well! +Sharing code with Cargo and crates.io is part of what makes the Rust ecosystem +useful for many different tasks. Rust’s standard library is small and stable, +but crates are easy to share, use, and improve on a timeline different from +that of the language. Don’t be shy about sharing code that’s useful to you on +crates.io; it’s likely that it will be useful to someone else as well! From 4ab5ba355bb3ae18f9dc246ab2f5fe9e8af0b08e Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 23 Aug 2022 10:33:45 -0400 Subject: [PATCH 0419/1248] Snapshot of chapter 14 after copyedit --- nostarch/chapter14.md | 1050 +++++++++++++++++++++++++++++----- nostarch/docx/chapter14.docx | Bin 0 -> 65403 bytes 2 files changed, 900 insertions(+), 150 deletions(-) create mode 100644 nostarch/docx/chapter14.docx diff --git a/nostarch/chapter14.md b/nostarch/chapter14.md index 14478f25d7..528cdbcefa 100644 --- a/nostarch/chapter14.md +++ b/nostarch/chapter14.md @@ -8,19 +8,19 @@ directory, so all fixes need to be made in `/src/`. # More About Cargo and Crates.io -So far we’ve used only the most basic features of Cargo to build, run, and test -our code, but it can do a lot more. In this chapter, we’ll discuss some of its -other, more advanced features to show you how to do the following: +So far, we’ve used only the most basic features of Cargo to build, run, and +test our code, but it can do a lot more. In this chapter, we’ll discuss some of +its other, more advanced features to show you how to do the following: -* Customize your build through release profiles -* Publish libraries on crates.io -* Organize large projects with workspaces -* Install binaries from crates.io -* Extend Cargo using custom commands +* Customize your build through release profiles. +Publish libraries on *https://crates.i**o**.* +* Organize large projects with workspaces. +* Install binaries from *https://crates.io**.* +* Extend Cargo using custom commands. Cargo can do even more than the functionality we cover in this chapter, so for a full explanation of all its features, see its documentation at -*https://doc.rust-lang.org/cargo/*. +*https://doc.rust-lang.org/cargo*. ## Customizing Builds with Release Profiles @@ -38,14 +38,23 @@ These profile names might be familiar from the output of your builds: ``` $ cargo build +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s +``` + +``` $ cargo build --release +``` + +``` Finished release [optimized] target(s) in 0.0s ``` The `dev` and `release` are these different profiles used by the compiler. -Cargo has default settings for each of the profiles that apply when you haven't +Cargo has default settings for each of the profiles that apply when you haven’t explicitly added any `[profile.*]` sections in the project’s *Cargo.toml* file. By adding `[profile.*]` sections for any profile you want to customize, you override any subset of the default settings. For example, here are the default @@ -55,16 +64,28 @@ Filename: Cargo.toml ``` [profile.dev] +``` + +``` opt-level = 0 +``` + +``` + +``` +``` [profile.release] +``` + +``` opt-level = 3 ``` The `opt-level` setting controls the number of optimizations Rust will apply to your code, with a range of 0 to 3. Applying more optimizations extends compiling time, so if you’re in development and compiling your code often, -you’ll want fewer optimizations to compile faster even if the resulting code +you’ll want fewer optimizations to compile faster even if the resultant code runs slower. The default `opt-level` for `dev` is therefore `0`. When you’re ready to release your code, it’s best to spend more time compiling. You’ll only compile in release mode once, but you’ll run the compiled program many times, @@ -80,6 +101,9 @@ Filename: Cargo.toml ``` [profile.dev] +``` + +``` opt-level = 1 ``` @@ -89,14 +113,15 @@ Cargo will use the defaults for the `dev` profile plus our customization to optimizations than the default, but not as many as in a release build. For the full list of configuration options and defaults for each profile, see -Cargo’s documentation at *https://doc.rust-lang.org/cargo/reference/profiles.html*. +Cargo’s documentation at +*https://doc.rust-lang.org/cargo/reference/profiles.html*. ## Publishing a Crate to Crates.io -We’ve used packages from crates.io as dependencies of our project, but you can -also share your code with other people by publishing your own packages. The -crate registry at crates.io distributes the source code of your packages, so it -primarily hosts code that is open source. +We’ve used packages from *https://crates.io* as dependencies of our project, +but you can also share your code with other people by publishing your own +packages. The crate registry at *https://crates.io* distributes the source code +of your packages, so it primarily hosts code that is open source. Rust and Cargo have features that make your published package easier for people to find and use. We’ll talk about some of these features next and then explain @@ -120,23 +145,59 @@ for an `add_one` function in a crate named `my_crate`. Filename: src/lib.rs -```` +``` /// Adds one to the number given. +``` + +``` /// +``` + +``` /// # Examples +``` + +``` /// +``` + +``` /// ``` +``` + +``` /// let arg = 5; +``` + +``` /// let answer = my_crate::add_one(arg); +``` + +``` /// +``` + +``` /// assert_eq!(6, answer); +``` + +``` /// ``` +``` + +``` pub fn add_one(x: i32) -> i32 { +``` + +``` x + 1 +``` + +``` } -```` +``` -Listing 14-1: A documentation comment for a function +A documentation comment for a function Here, we give a description of what the `add_one` function does, start a section with the heading `Examples`, and then provide code that demonstrates @@ -149,31 +210,32 @@ For convenience, running `cargo doc --open` will build the HTML for your current crate’s documentation (as well as the documentation for all of your crate’s dependencies) and open the result in a web browser. Navigate to the `add_one` function and you’ll see how the text in the documentation comments is -rendered, as shown in Figure 14-1: +rendered, as shown in Figure 14-1. -Rendered HTML documentation for the `add_one` function of `my_crate` -Figure 14-1: HTML documentation for the `add_one` function +Unmatched: GraphicSlug -#### Commonly Used Sections +Unmatched: CaptionLine + #### Commonly Used Sections We used the `# Examples` Markdown heading in Listing 14-1 to create a section in the HTML with the title “Examples.” Here are some other sections that crate authors commonly use in their documentation: -* **Panics**: The scenarios in which the function being documented could - panic. Callers of the function who don’t want their programs to panic should - make sure they don’t call the function in these situations. -* **Errors**: If the function returns a `Result`, describing the kinds of - errors that might occur and what conditions might cause those errors to be - returned can be helpful to callers so they can write code to handle the - different kinds of errors in different ways. -* **Safety**: If the function is `unsafe` to call (we discuss unsafety in - Chapter 19), there should be a section explaining why the function is unsafe - and covering the invariants that the function expects callers to uphold. - -Most documentation comments don’t need all of these sections, but this is a -good checklist to remind you of the aspects of your code users will be + +Unmatched: RunInHead + +Unmatched: RunInPara + +Unmatched: RunInHead + +Unmatched: RunInPara + +Unmatched: RunInHead + +Unmatched: RunInPara + Most documentation comments don’t need all of these sections, but this is +a good checklist to remind you of the aspects of your code users will be interested in knowing about. #### Documentation Comments as Tests @@ -184,15 +246,32 @@ test` will run the code examples in your documentation as tests! Nothing is better than documentation with examples. But nothing is worse than examples that don’t work because the code has changed since the documentation was written. If we run `cargo test` with the documentation for the `add_one` -function from Listing 14-1, we will see a section in the test results like this: +function from Listing 14-1, we will see a section in the test results that +looks like this: ``` Doc-tests my_crate +``` + +``` + +``` +``` running 1 test +``` + +``` test src/lib.rs - add_one (line 5) ... ok +``` + +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s +``` + +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.27s ``` Now if we change either the function or the example so the `assert_eq!` in the @@ -209,21 +288,39 @@ inside a module to document the crate or the module as a whole. For example, to add documentation that describes the purpose of the `my_crate` crate that contains the `add_one` function, we add documentation comments that start with `//!` to the beginning of the *src/lib.rs* file, as shown in Listing -14-2: +14-2. Filename: src/lib.rs ``` //! # My Crate +``` + +``` //! +``` + +``` //! `my_crate` is a collection of utilities to make performing certain +``` + +``` //! calculations more convenient. +``` + +``` + +``` +``` /// Adds one to the number given. -// --snip-- ``` -Listing 14-2: Documentation for the `my_crate` crate as a whole +``` + --snip-- +``` + +Documentation for the `my_crate` crate as a whole Notice there isn’t any code after the last line that begins with `//!`. Because we started the comments with `//!` instead of `///`, we’re documenting the item @@ -231,20 +328,19 @@ that contains this comment rather than an item that follows this comment. In this case, that item is the *src/lib.rs* file, which is the crate root. These comments describe the entire crate. -When we run `cargo doc --open`, these comments will display on the front -page of the documentation for `my_crate` above the list of public items in the -crate, as shown in Figure 14-2: +When we run `cargo doc --open`, these comments will display on the front page +of the documentation for `my_crate` above the list of public items in the +crate, as shown in Figure 14-2. -Rendered HTML documentation with a comment for the crate as a whole -Figure 14-2: Rendered documentation for `my_crate`, including the comment -describing the crate as a whole +Unmatched: GraphicSlug -Documentation comments within items are useful for describing crates and +Unmatched: CaptionLine + Documentation comments within items are useful for describing crates and modules especially. Use them to explain the overall purpose of the container to help your users understand the crate’s organization. -### Exporting a Convenient Public API with `pub use` +### Exporting a Convenient Public API with pub use The structure of your public API is a major consideration when publishing a crate. People who use your crate are less familiar with the structure than you @@ -271,77 +367,179 @@ defined in the other location instead. For example, say we made a library named `art` for modeling artistic concepts. Within this library are two modules: a `kinds` module containing two enums named `PrimaryColor` and `SecondaryColor` and a `utils` module containing a -function named `mix`, as shown in Listing 14-3: +function named `mix`, as shown in Listing 14-3. Filename: src/lib.rs ``` //! # Art +``` + +``` //! +``` + +``` //! A library for modeling artistic concepts. +``` + +``` + +``` +``` pub mod kinds { +``` + +``` /// The primary colors according to the RYB color model. +``` + +``` pub enum PrimaryColor { +``` + +``` Red, +``` + +``` Yellow, +``` + +``` Blue, +``` + +``` } +``` + +``` + +``` +``` /// The secondary colors according to the RYB color model. +``` + +``` pub enum SecondaryColor { +``` + +``` Orange, +``` + +``` Green, +``` + +``` Purple, +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` pub mod utils { +``` + +``` use crate::kinds::*; +``` + +``` + +``` +``` /// Combines two primary colors in equal amounts to create +``` + +``` /// a secondary color. +``` + +``` pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { - // --snip-- +``` + +``` + --snip-- +``` + +``` } +``` + +``` } ``` -Listing 14-3: An `art` library with items organized into `kinds` and `utils` -modules +An `art` library with items organized into `kinds` and `utils` modules Figure 14-3 shows what the front page of the documentation for this crate -generated by `cargo doc` would look like: +generated by `cargo doc` would look like. -Rendered documentation for the `art` crate that lists the `kinds` and `utils` modules -Figure 14-3: Front page of the documentation for `art` that lists the `kinds` -and `utils` modules +Unmatched: GraphicSlug -Note that the `PrimaryColor` and `SecondaryColor` types aren’t listed on the -front page, nor is the `mix` function. We have to click `kinds` and `utils` to -see them. +Unmatched: CaptionLine + Note that the `PrimaryColor` and `SecondaryColor` types aren’t listed on +the front page, nor is the `mix` function. We have to click `kinds` and `utils` +to see them. Another crate that depends on this library would need `use` statements that bring the items from `art` into scope, specifying the module structure that’s currently defined. Listing 14-4 shows an example of a crate that uses the -`PrimaryColor` and `mix` items from the `art` crate: +`PrimaryColor` and `mix` items from the `art` crate. Filename: src/main.rs ``` use art::kinds::PrimaryColor; +``` + +``` use art::utils::mix; +``` + +``` + +``` +``` fn main() { +``` + +``` let red = PrimaryColor::Red; +``` + +``` let yellow = PrimaryColor::Yellow; +``` + +``` mix(red, yellow); +``` + +``` } ``` -Listing 14-4: A crate using the `art` crate’s items with its internal structure -exported +A crate using the `art` crate’s items with its internal structure exported The author of the code in Listing 14-4, which uses the `art` crate, had to figure out that `PrimaryColor` is in the `kinds` module and `mix` is in the @@ -354,60 +552,116 @@ module names in the `use` statements. To remove the internal organization from the public API, we can modify the `art` crate code in Listing 14-3 to add `pub use` statements to re-export the -items at the top level, as shown in Listing 14-5: +items at the top level, as shown in Listing 14-5. Filename: src/lib.rs ``` //! # Art +``` + +``` //! +``` + +``` //! A library for modeling artistic concepts. +``` + +``` + +``` +``` pub use self::kinds::PrimaryColor; +``` + +``` pub use self::kinds::SecondaryColor; +``` + +``` pub use self::utils::mix; +``` + +``` + +``` +``` pub mod kinds { - // --snip-- +``` + +``` + --snip-- +``` + +``` } +``` + +``` + +``` +``` pub mod utils { - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` -Listing 14-5: Adding `pub use` statements to re-export items +Adding `pub use` statements to re-export items The API documentation that `cargo doc` generates for this crate will now list and link re-exports on the front page, as shown in Figure 14-4, making the `PrimaryColor` and `SecondaryColor` types and the `mix` function easier to find. -Rendered documentation for the `art` crate with the re-exports on the front page -Figure 14-4: The front page of the documentation for `art` -that lists the re-exports +Unmatched: GraphicSlug -The `art` crate users can still see and use the internal structure from Listing -14-3 as demonstrated in Listing 14-4, or they can use the more convenient -structure in Listing 14-5, as shown in Listing 14-6: +Unmatched: CaptionLine + The `art` crate users can still see and use the internal structure from +Listing 14-3 as demonstrated in Listing 14-4, or they can use the more +convenient structure in Listing 14-5, as shown in Listing 14-6. Filename: src/main.rs ``` use art::mix; +``` + +``` use art::PrimaryColor; +``` -fn main() { - // --snip-- -} ``` -Listing 14-6: A program using the re-exported items from the `art` crate +``` -In cases where there are many nested modules, re-exporting the types at the top +``` +fn main() { +``` + +``` + --snip-- +``` + +``` +} +``` + +A program using the re-exported items from the `art` crate + +In cases where there are many nested modules, re-exporting the types at the top level with `pub use` can make a significant difference in the experience of people who use the crate. Another common use of `pub use` is to re-export -definitions of a dependency in the current crate to make that crate's +definitions of a dependency in the current crate to make that crate’s definitions part of your crate’s public API. Creating a useful public API structure is more of an art than a science, and @@ -419,12 +673,13 @@ differs from their public API. ### Setting Up a Crates.io Account -Before you can publish any crates, you need to create an account on crates.io -and get an API token. To do so, visit the home page at crates.io and log in via -a GitHub account. (The GitHub account is currently a requirement, but the site -might support other ways of creating an account in the future.) Once you’re -logged in, visit your account settings at https://crates.io/me/ and retrieve -your API key. Then run the `cargo login` command with your API key, like this: +Before you can publish any crates, you need to create an account on +*https://crates.io* and get an API token. To do so, visit the home page at +*https://crates.io* and log in via a GitHub account. (The GitHub account is +currently a requirement, but the site might support other ways of creating an +account in the future.) Once you’re logged in, visit your account settings at +*https://crates.io/**me* and retrieve your API key. Then run the `cargo login` +command with your API key, like this: ``` $ cargo login abcdefghijklmnopqrstuvwxyz012345 @@ -433,7 +688,7 @@ $ cargo login abcdefghijklmnopqrstuvwxyz012345 This command will inform Cargo of your API token and store it locally in *~/.cargo/credentials*. Note that this token is a *secret*: do not share it with anyone else. If you do share it with anyone for any reason, you should -revoke it and generate a new token on crates.io. +revoke it and generate a new token on *https://crates.io*. ### Adding Metadata to a New Crate @@ -442,17 +697,21 @@ to add some metadata in the `[package]` section of the crate’s *Cargo.toml* file. Your crate will need a unique name. While you’re working on a crate locally, -you can name a crate whatever you’d like. However, crate names on crates.io are -allocated on a first-come, first-served basis. Once a crate name is taken, no -one else can publish a crate with that name. Before attempting to publish a -crate, search for the name you want to use. If the name has been used, you will -need to find another name and edit the `name` field in the *Cargo.toml* file -under the `[package]` section to use the new name for publishing, like so: +you can name a crate whatever you’d like. However, crate names on +*https://crates.io* are allocated on a first-come, first-served basis. Once a +crate name is taken, no one else can publish a crate with that name. Before +attempting to publish a crate, search for the name you want to use. If the name +has been used, you will need to find another name and edit the `name` field in +the *Cargo.toml* file under the `[package]` section to use the new name for +publishing, like so: Filename: Cargo.toml ``` [package] +``` + +``` name = "guessing_game" ``` @@ -461,23 +720,61 @@ the crate at this point, you’ll get a warning and then an error: ``` $ cargo publish +``` + +``` Updating crates.io index -warning: manifest has no description, license, license-file, documentation, homepage or repository. -See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info. +``` + +``` +warning: manifest has no description, license, license-file, +``` + +``` +documentation, homepage or repository. +``` + +``` +See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata +for more info. +``` + +``` --snip-- +``` + +``` error: failed to publish to registry at https://crates.io +``` + +``` + +``` +``` Caused by: - the remote server responded with an error: missing or empty metadata fields: description, license. Please see https://doc.rust-lang.org/cargo/reference/manifest.html for how to upload metadata ``` -This errors because you’re missing some crucial information: a description and -license are required so people will know what your crate does and under what -terms they can use it. In *Cargo.toml*, add a description that's just a -sentence or two, because it will appear with your crate in search results. For -the `license` field, you need to give a *license identifier value*. The Linux -Foundation’s Software Package Data Exchange (SPDX) at -*http://spdx.org/licenses/* lists the identifiers you can use for this value. +``` + the remote server responded with an error: missing or empty metadata fields: +``` + +``` +description, license. Please see +https://doc.rust-lang.org/cargo/reference/manifest.html +``` + +``` +for how to upload metadata +``` + +This results in an error because you’re missing some crucial information: a +description and license are required so people will know what your crate does +and under what terms they can use it. In *Cargo.toml*, add a description that’s +just a sentence or two, because it will appear with your crate in search +results. For the `license` field, you need to give a *license identifier +value*. The Linux Foundation’s Software Package Data Exchange (SPDX) at +*http://spdx.org/licenses* lists the identifiers you can use for this value. For example, to specify that you’ve licensed your crate using the MIT License, add the `MIT` identifier: @@ -485,7 +782,13 @@ Filename: Cargo.toml ``` [package] +``` + +``` name = "guessing_game" +``` + +``` license = "MIT" ``` @@ -507,42 +810,85 @@ Filename: Cargo.toml ``` [package] +``` + +``` name = "guessing_game" +``` + +``` version = "0.1.0" +``` + +``` edition = "2021" +``` + +``` description = "A fun game where you guess what number the computer has chosen." +``` + +``` license = "MIT OR Apache-2.0" +``` + +``` + +``` +``` [dependencies] ``` -Cargo’s documentation at *https://doc.rust-lang.org/cargo/* describes other -metadata you can specify to ensure others can discover and use your crate more -easily. +Cargo’s documentation at *https://doc.rust-lang.org/cargo* describes other +metadata you can specify to ensure that others can discover and use your crate +more easily. ### Publishing to Crates.io Now that you’ve created an account, saved your API token, chosen a name for your crate, and specified the required metadata, you’re ready to publish! -Publishing a crate uploads a specific version to crates.io for others to use. +Publishing a crate uploads a specific version to *https://crates.io* for others +to use. Be careful, because a publish is *permanent*. The version can never be -overwritten, and the code cannot be deleted. One major goal of crates.io is to -act as a permanent archive of code so that builds of all projects that depend -on crates from crates.io will continue to work. Allowing version deletions -would make fulfilling that goal impossible. However, there is no limit to the -number of crate versions you can publish. +overwritten, and the code cannot be deleted. One major goal of *crates.io* is +to act as a permanent archive of code so that builds of all projects that +depend on crates from *https://crates.io* will continue to work. Allowing +version deletions would make fulfilling that goal impossible. However, there is +no limit to the number of crate versions you can publish. Run the `cargo publish` command again. It should succeed now: ``` $ cargo publish +``` + +``` Updating crates.io index +``` + +``` Packaging guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +``` Verifying guessing_game v0.1.0 (file:///projects/guessing_game) +``` + +``` Compiling guessing_game v0.1.0 +``` + +``` (file:///projects/guessing_game/target/package/guessing_game-0.1.0) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.19s +``` + +``` Uploading guessing_game v0.1.0 (file:///projects/guessing_game) ``` @@ -553,11 +899,11 @@ anyone can easily add your crate as a dependency of their project. When you’ve made changes to your crate and are ready to release a new version, you change the `version` value specified in your *Cargo.toml* file and -republish. Use the Semantic Versioning rules at *http://semver.org/* to decide +republish. Use the Semantic Versioning rules at *http://semver.org* to decide what an appropriate next version number is based on the kinds of changes you’ve made. Then run `cargo publish` to upload the new version. -### Deprecating Versions from Crates.io with `cargo yank` +### Deprecating Versions from Crates.io with cargo yank Although you can’t remove previous versions of a crate, you can prevent any future projects from adding them as a new dependency. This is useful when a @@ -571,13 +917,19 @@ yank means that all projects with a *Cargo.lock* will not break, and any future To yank a version of a crate, in the directory of the crate that you’ve previously published, run `cargo yank` and specify which version you want to -yank. For example, if we've published a crate named `guessing_game` version -1.0.1 and we want to yank it, in the project directory for `guessing_game` we'd +yank. For example, if we’ve published a crate named `guessing_game` version +1.0.1 and we want to yank it, in the project directory for `guessing_game` we’d run: ``` $ cargo yank --vers 1.0.1 +``` + +``` Updating crates.io index +``` + +``` Yank guessing_game:1.0.1 ``` @@ -586,7 +938,13 @@ to start depending on a version again: ``` $ cargo yank --vers 1.0.1 --undo +``` + +``` Updating crates.io index +``` + +``` Unyank guessing_game_:1.0.1 ``` @@ -606,15 +964,18 @@ help manage multiple related packages that are developed in tandem. A *workspace* is a set of packages that share the same *Cargo.lock* and output directory. Let’s make a project using a workspace—we’ll use trivial code so we can concentrate on the structure of the workspace. There are multiple ways to -structure a workspace, so we'll just show one common way. We’ll have a +structure a workspace, so we’ll just show one common way. We’ll have a workspace containing a binary and two libraries. The binary, which will provide the main functionality, will depend on the two libraries. One library will -provide an `add_one` function, and a second library an `add_two` function. +provide an `add_one` function and the other library an `add_two` function. These three crates will be part of the same workspace. We’ll start by creating a new directory for the workspace: ``` $ mkdir add +``` + +``` $ cd add ``` @@ -628,9 +989,21 @@ Filename: Cargo.toml ``` [workspace] +``` + +``` + +``` +``` members = [ +``` + +``` "adder", +``` + +``` ] ``` @@ -639,6 +1012,9 @@ Next, we’ll create the `adder` binary crate by running `cargo new` within the ``` $ cargo new adder +``` + +``` Created binary (application) `adder` package ``` @@ -647,11 +1023,29 @@ in your *add* directory should look like this: ``` ├── Cargo.lock +``` + +``` ├── Cargo.toml +``` + +``` ├── adder +``` + +``` │ ├── Cargo.toml +``` + +``` │ └── src +``` + +``` │ └── main.rs +``` + +``` └── target ``` @@ -676,10 +1070,25 @@ Filename: Cargo.toml ``` [workspace] +``` + +``` +``` + +``` members = [ +``` + +``` "adder", +``` + +``` "add_one", +``` + +``` ] ``` @@ -687,6 +1096,9 @@ Then generate a new library crate named `add_one`: ``` $ cargo new add_one --lib +``` + +``` Created library `add_one` package ``` @@ -694,15 +1106,45 @@ Your *add* directory should now have these directories and files: ``` ├── Cargo.lock +``` + +``` ├── Cargo.toml +``` + +``` ├── add_one +``` + +``` │ ├── Cargo.toml +``` + +``` │ └── src +``` + +``` │ └── lib.rs +``` + +``` ├── adder +``` + +``` │ ├── Cargo.toml +``` + +``` │ └── src +``` + +``` │ └── main.rs +``` + +``` └── target ``` @@ -712,18 +1154,27 @@ Filename: add_one/src/lib.rs ``` pub fn add_one(x: i32) -> i32 { +``` + +``` x + 1 +``` + +``` } ``` Now we can have the `adder` package with our binary depend on the `add_one` -package that has our library. First, we’ll need to add a path dependency on -`add_one` to *adder/Cargo.toml*. +package that has our library. First we’ll need to add a path dependency on +`add_one` to *adder/Cargo.toml*: Filename: adder/Cargo.toml ``` [dependencies] +``` + +``` add_one = { path = "../add_one" } ``` @@ -739,33 +1190,78 @@ Filename: adder/src/main.rs ``` use add_one; +``` + +``` + +``` +``` fn main() { +``` + +``` let num = 10; - println!("Hello, world! {num} plus one is {}!", add_one::add_one(num)); +``` + +``` + println!( +``` + +``` + "Hello, world! {num} plus one is {}!", +``` + +``` + add_one::add_one(num) +``` + +``` + ); +``` + +``` } ``` -Listing 14-7: Using the `add_one` library crate from the `adder` crate +Using the `add_one` library crate from the `adder` crate Let’s build the workspace by running `cargo build` in the top-level *add* directory! ``` $ cargo build +``` + +``` Compiling add_one v0.1.0 (file:///projects/add/add_one) +``` + +``` Compiling adder v0.1.0 (file:///projects/add/adder) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.68s ``` -To run the binary crate from the *add* directory, we can specify which -package in the workspace we want to run by using the `-p` argument and the -package name with `cargo run`: +To run the binary crate from the *add* directory, we can specify which package +in the workspace we want to run by using the `-p` argument and the package name +with `cargo run`: ``` $ cargo run -p adder +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s +``` + +``` Running `target/debug/adder` +``` + +``` Hello, world! 10 plus one is 11! ``` @@ -787,6 +1283,9 @@ Filename: add_one/Cargo.toml ``` [dependencies] +``` + +``` rand = "0.8.5" ``` @@ -797,21 +1296,73 @@ referring to the `rand` we brought into scope: ``` $ cargo build +``` + +``` Updating crates.io index +``` + +``` Downloaded rand v0.8.5 - --snip-- +``` + +``` + --snip-- +``` + +``` Compiling rand v0.8.5 +``` + +``` Compiling add_one v0.1.0 (file:///projects/add/add_one) +``` + +``` warning: unused import: `rand` +``` + +``` --> add_one/src/lib.rs:1:5 +``` + +``` | +``` + +``` 1 | use rand; +``` + +``` | ^^^^ +``` + +``` | +``` + +``` = note: `#[warn(unused_imports)]` on by default +``` + +``` +``` + +``` warning: `add_one` (lib) generated 1 warning +``` + +``` + +``` + +``` Compiling adder v0.1.0 (file:///projects/add/adder) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 10.18s ``` @@ -823,12 +1374,33 @@ to the *adder/src/main.rs* file for the `adder` package, we’ll get an error: ``` $ cargo build - --snip-- +``` + +``` + --snip-- +``` + +``` Compiling adder v0.1.0 (file:///projects/add/adder) +``` + +``` error[E0432]: unresolved import `rand` +``` + +``` --> adder/src/main.rs:2:5 +``` + +``` | +``` + +``` 2 | use rand; +``` + +``` | ^^^^ no external crate `rand` ``` @@ -849,17 +1421,53 @@ Filename: add_one/src/lib.rs ``` pub fn add_one(x: i32) -> i32 { +``` + +``` x + 1 +``` + +``` } +``` + +``` + +``` +``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` +``` + +``` + +``` #[test] +``` + +``` fn it_works() { +``` + +``` assert_eq!(3, add_one(2)); +``` + +``` } +``` + +``` } ``` @@ -869,27 +1477,93 @@ the workspace: ``` $ cargo test +``` + +``` Compiling add_one v0.1.0 (file:///projects/add/add_one) +``` + +``` Compiling adder v0.1.0 (file:///projects/add/adder) +``` + +``` Finished test [unoptimized + debuginfo] target(s) in 0.27s +``` + +``` Running unittests src/lib.rs (target/debug/deps/add_one-f0253159197f7841) +``` +``` + +``` + +``` running 1 test +``` + +``` test tests::it_works ... ok +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +``` + +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s +``` + +``` +``` + +``` Running unittests src/main.rs (target/debug/deps/adder-49979ff40686fa8e) +``` + +``` + +``` +``` running 0 tests +``` + +``` + +``` + +``` +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s +``` + +``` -test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +``` Doc-tests add_one +``` + +``` + +``` +``` running 0 tests +``` + +``` -test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +``` +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s ``` The first section of the output shows that the `it_works` test in the `add_one` @@ -903,28 +1577,75 @@ we want to test: ``` $ cargo test -p add_one +``` + +``` Finished test [unoptimized + debuginfo] target(s) in 0.00s +``` + +``` Running unittests src/lib.rs (target/debug/deps/add_one-b3235fea9a156f74) +``` + +``` +``` + +``` running 1 test +``` + +``` test tests::it_works ... ok +``` + +``` + +``` + +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +``` + +``` +finished in 0.00s +``` + +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +``` Doc-tests add_one +``` + +``` +``` + +``` running 0 tests +``` -test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +``` + +``` +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +``` + +``` +finished in 0.00s ``` This output shows `cargo test` only ran the tests for the `add_one` crate and didn’t run the `adder` crate tests. -If you publish the crates in the workspace to crates.io at *https://crates.io/*, -each crate in the workspace will need to be published separately. Like `cargo -test`, we can publish a particular crate in our workspace by using the `-p` -flag and specifying the name of the crate we want to publish. +If you publish the crates in the workspace to *https://crates.io*, each crate +in the workspace will need to be published separately. Like `cargo test`, we +can publish a particular crate in our workspace by using the `-p` flag and +specifying the name of the crate we want to publish. For additional practice, add an `add_two` crate to this workspace in a similar way as the `add_one` crate! @@ -934,16 +1655,16 @@ smaller, individual components than one big blob of code. Furthermore, keeping the crates in a workspace can make coordination between crates easier if they are often changed at the same time. -## Installing Binaries with `cargo install` +## Installing Binaries with cargo install The `cargo install` command allows you to install and use binary crates locally. This isn’t intended to replace system packages; it’s meant to be a convenient way for Rust developers to install tools that others have shared on -crates.io. Note that you can only install packages that have binary targets. A -*binary target* is the runnable program that is created if the crate has a -*src/main.rs* file or another file specified as a binary, as opposed to a -library target that isn’t runnable on its own but is suitable for including -within other programs. Usually, crates have information in the *README* file +*https://crates.io*. Note that you can only install packages that have binary +targets. A *binary target* is the runnable program that is created if the crate +has an *src/main.rs* file or another file specified as a binary, as opposed to +a library target that isn’t runnable on its own but is suitable for including +within other programs. Usually, crates have information in the README file about whether a crate is a library, has a binary target, or both. All binaries installed with `cargo install` are stored in the installation @@ -958,14 +1679,41 @@ can run the following: ``` $ cargo install ripgrep +``` + +``` Updating crates.io index +``` + +``` Downloaded ripgrep v13.0.0 +``` + +``` Downloaded 1 crate (243.3 KB) in 0.88s +``` + +``` Installing ripgrep v13.0.0 ---snip-- +``` + +``` + --snip-- +``` + +``` Compiling ripgrep v13.0.0 +``` + +``` Finished release [optimized + debuginfo] target(s) in 3m 10s +``` + +``` Installing ~/.cargo/bin/rg +``` + +``` Installed package `ripgrep v13.0.0` (executable `rg`) ``` @@ -977,16 +1725,18 @@ then run `rg --help` and start using a faster, rustier tool for searching files! ## Extending Cargo with Custom Commands Cargo is designed so you can extend it with new subcommands without having to -modify Cargo. If a binary in your `$PATH` is named `cargo-something`, you can -run it as if it was a Cargo subcommand by running `cargo something`. Custom +modify it. If a binary in your `$PATH` is named `cargo-something`, you can run +it as if it were a Cargo subcommand by running `cargo something`. Custom commands like this are also listed when you run `cargo --list`. Being able to use `cargo install` to install extensions and then run them just like the -built-in Cargo tools is a super convenient benefit of Cargo’s design! +built-in Cargo tools is a super-convenient benefit of Cargo’s design! ## Summary -Sharing code with Cargo and crates.io is part of what makes the Rust ecosystem -useful for many different tasks. Rust’s standard library is small and stable, -but crates are easy to share, use, and improve on a timeline different from -that of the language. Don’t be shy about sharing code that’s useful to you on -crates.io; it’s likely that it will be useful to someone else as well! +Sharing code with Cargo and *https://crates.io* is part of what makes the Rust +ecosystem useful for many different tasks. Rust’s standard library is small and +stable, but crates are easy to share, use, and improve on a timeline different +from that of the language. Don’t be shy about sharing code that’s useful to you +on *https://crates.io*; it’s likely that it will be useful to someone else as +well! + diff --git a/nostarch/docx/chapter14.docx b/nostarch/docx/chapter14.docx new file mode 100644 index 0000000000000000000000000000000000000000..2513634ebd80886511cb4bf5f5182e33535bea7c GIT binary patch literal 65403 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 w{_slIfAjCI&E6}#Z<_xogx Date: Tue, 23 Aug 2022 19:42:31 -0400 Subject: [PATCH 0420/1248] Messy snapshot of chapter 14 after checking copyedit --- nostarch/chapter14.md | 141 ++++++++++++------------- nostarch/docx/chapter14.docx | Bin 65403 -> 76562 bytes src/ch14-02-publishing-to-crates-io.md | 9 +- 3 files changed, 72 insertions(+), 78 deletions(-) diff --git a/nostarch/chapter14.md b/nostarch/chapter14.md index 528cdbcefa..23ea766bf5 100644 --- a/nostarch/chapter14.md +++ b/nostarch/chapter14.md @@ -13,10 +13,9 @@ test our code, but it can do a lot more. In this chapter, we’ll discuss some o its other, more advanced features to show you how to do the following: * Customize your build through release profiles. -Publish libraries on *https://crates.i**o**.* - +* Publish libraries on *https://crates.i**o*. * Organize large projects with workspaces. -* Install binaries from *https://crates.io**.* +* Install binaries from *https://crates.io*. * Extend Cargo using custom commands. Cargo can do even more than the functionality we cover in this chapter, so for a full explanation of all its features, see its documentation at @@ -270,8 +269,11 @@ test src/lib.rs - add_one (line 5) ... ok ``` ``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; -finished in 0.27s +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.27s ``` Now if we change either the function or the example so the `assert_eq!` in the @@ -280,8 +282,8 @@ that the example and the code are out of sync with each other! #### Commenting Contained Items -The style of doc comment `//!` adds documentation to the item that contains the -comments rather than to the items following the comments. We typically use +The doc comment `//!` adds documentation to the item that *contains* the +comments rather than to the items *following* the comments. We typically use these doc comments inside the crate root file (*src/lib.rs* by convention) or inside a module to document the crate or the module as a whole. @@ -301,11 +303,11 @@ Filename: src/lib.rs ``` ``` -//! `my_crate` is a collection of utilities to make performing certain +//! `my_crate` is a collection of utilities to make performing ``` ``` -//! calculations more convenient. +//! certain calculations more convenient. ``` ``` @@ -317,7 +319,7 @@ Filename: src/lib.rs ``` ``` - --snip-- +--snip-- ``` Documentation for the `my_crate` crate as a whole @@ -472,11 +474,23 @@ pub mod utils { ``` ``` - pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { + pub fn mix( +``` + +``` + c1: PrimaryColor, ``` ``` - --snip-- + c2: PrimaryColor, +``` + +``` + ) -> SecondaryColor { +``` + +``` + --snip-- ``` ``` @@ -593,7 +607,7 @@ pub mod kinds { ``` ``` - --snip-- + --snip-- ``` ``` @@ -609,7 +623,7 @@ pub mod utils { ``` ``` - --snip-- + --snip-- ``` ``` @@ -649,7 +663,7 @@ fn main() { ``` ``` - --snip-- + --snip-- ``` ``` @@ -727,15 +741,18 @@ $ cargo publish ``` ``` -warning: manifest has no description, license, license-file, +warning: manifest has no description, license, license-file, documentation, ``` ``` -documentation, homepage or repository. +homepage or repository. ``` ``` See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata +``` + +``` for more info. ``` @@ -760,12 +777,11 @@ Caused by: ``` ``` -description, license. Please see -https://doc.rust-lang.org/cargo/reference/manifest.html +description, license. Please see https://doc.rust- ``` ``` -for how to upload metadata +lang.org/cargo/reference/manifest.html for how to upload metadata ``` This results in an error because you’re missing some crucial information: a @@ -825,7 +841,11 @@ edition = "2021" ``` ``` -description = "A fun game where you guess what number the computer has chosen." +description = "A fun game where you guess what number the +``` + +``` +computer has chosen." ``` ``` @@ -852,11 +872,11 @@ Publishing a crate uploads a specific version to *https://crates.io* for others to use. Be careful, because a publish is *permanent*. The version can never be -overwritten, and the code cannot be deleted. One major goal of *crates.io* is -to act as a permanent archive of code so that builds of all projects that -depend on crates from *https://crates.io* will continue to work. Allowing -version deletions would make fulfilling that goal impossible. However, there is -no limit to the number of crate versions you can publish. +overwritten, and the code cannot be deleted. One major goal of Crates.io is to +act as a permanent archive of code so that builds of all projects that depend +on crates from *https://crates.io* will continue to work. Allowing version +deletions would make fulfilling that goal impossible. However, there is no +limit to the number of crate versions you can publish. Run the `cargo publish` command again. It should succeed now: @@ -930,7 +950,7 @@ $ cargo yank --vers 1.0.1 ``` ``` - Yank guessing_game:1.0.1 + Yank guessing_game@1.0.1 ``` By adding `--undo` to the command, you can also undo a yank and allow projects @@ -945,7 +965,7 @@ $ cargo yank --vers 1.0.1 --undo ``` ``` - Unyank guessing_game_:1.0.1 + Unyank guessing_game@1.0.1 ``` A yank *does not* delete any code. It cannot, for example, delete accidentally @@ -1307,7 +1327,7 @@ $ cargo build ``` ``` - --snip-- + --snip-- ``` ``` @@ -1318,46 +1338,6 @@ $ cargo build Compiling add_one v0.1.0 (file:///projects/add/add_one) ``` -``` -warning: unused import: `rand` -``` - -``` - --> add_one/src/lib.rs:1:5 -``` - -``` - | -``` - -``` -1 | use rand; -``` - -``` - | ^^^^ -``` - -``` - | -``` - -``` - = note: `#[warn(unused_imports)]` on by default -``` - -``` - -``` - -``` -warning: `add_one` (lib) generated 1 warning -``` - -``` - -``` - ``` Compiling adder v0.1.0 (file:///projects/add/adder) ``` @@ -1513,6 +1493,9 @@ test tests::it_works ... ok ``` test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +``` + +``` finished in 0.00s ``` @@ -1538,6 +1521,9 @@ running 0 tests ``` test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +``` + +``` finished in 0.00s ``` @@ -1563,6 +1549,9 @@ running 0 tests ``` test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +``` + +``` finished in 0.00s ``` @@ -1650,10 +1639,10 @@ specifying the name of the crate we want to publish. For additional practice, add an `add_two` crate to this workspace in a similar way as the `add_one` crate! -As your project grows, consider using a workspace: it’s easier to understand -smaller, individual components than one big blob of code. Furthermore, keeping -the crates in a workspace can make coordination between crates easier if they -are often changed at the same time. +As your project grows, consider using a workspace: it provides +easier-to-understand, smaller, individual components than one big blob of code. +Furthermore, keeping the crates in a workspace can make coordination between +crates easier if they are often changed at the same time. ## Installing Binaries with cargo install @@ -1664,7 +1653,7 @@ convenient way for Rust developers to install tools that others have shared on targets. A *binary target* is the runnable program that is created if the crate has an *src/main.rs* file or another file specified as a binary, as opposed to a library target that isn’t runnable on its own but is suitable for including -within other programs. Usually, crates have information in the README file +within other programs. Usually, crates have information in the *README* file about whether a crate is a library, has a binary target, or both. All binaries installed with `cargo install` are stored in the installation @@ -1698,7 +1687,7 @@ $ cargo install ripgrep ``` ``` - --snip-- + --snip-- ``` ``` @@ -1720,7 +1709,7 @@ $ cargo install ripgrep The second-to-last line of the output shows the location and the name of the installed binary, which in the case of `ripgrep` is `rg`. As long as the installation directory is in your `$PATH`, as mentioned previously, you can -then run `rg --help` and start using a faster, rustier tool for searching files! +then run `rg --help` and start using a faster, Rustier tool for searching files! ## Extending Cargo with Custom Commands diff --git a/nostarch/docx/chapter14.docx b/nostarch/docx/chapter14.docx index 2513634ebd80886511cb4bf5f5182e33535bea7c..45fa81c8354f07e93b654e7964fef61f234aead8 100644 GIT binary patch delta 55067 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

    YJpC!W06kCq9F7K{PY2x3j<3!i3CLDb0rx!!n| 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 PWPn{%ghL+v%trqM?b=~C delta 44193 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 IO-B%VX9$MgyqSqB@}I4=>XY> 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 z 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 diff --git a/src/ch14-02-publishing-to-crates-io.md b/src/ch14-02-publishing-to-crates-io.md index 64885d0520..c5b1ac7fc3 100644 --- a/src/ch14-02-publishing-to-crates-io.md +++ b/src/ch14-02-publishing-to-crates-io.md @@ -442,10 +442,15 @@ yank. For example, if we've published a crate named `guessing_game` version 1.0.1 and we want to yank it, in the project directory for `guessing_game` we'd run: + + ```console $ cargo yank --vers 1.0.1 Updating crates.io index - Yank guessing_game:1.0.1 + Yank guessing_game@1.0.1 ``` By adding `--undo` to the command, you can also undo a yank and allow projects @@ -454,7 +459,7 @@ to start depending on a version again: ```console $ cargo yank --vers 1.0.1 --undo Updating crates.io index - Unyank guessing_game_:1.0.1 + Unyank guessing_game@1.0.1 ``` A yank *does not* delete any code. It cannot, for example, delete accidentally From 0c6674de0c94afeef5598aec96858e7632fc6fc4 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 23 Aug 2022 19:51:55 -0400 Subject: [PATCH 0421/1248] Add unittests to the allowed words --- ci/dictionary.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/dictionary.txt b/ci/dictionary.txt index 3fe25ff52f..9eb695d5b3 100644 --- a/ci/dictionary.txt +++ b/ci/dictionary.txt @@ -537,6 +537,7 @@ uncommenting unevaluated Uninstalling uninstall +unittests unix unpopulated unoptimized From 55ee77aecd8c17192d22f748f2d3e589b443e42f Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 23 Aug 2022 20:11:11 -0400 Subject: [PATCH 0422/1248] Messy snapshot of ch2 with indentation fixed --- nostarch/chapter02.md | 158 ++++++++++++++++------------------- nostarch/docx/chapter02.docx | Bin 84936 -> 72773 bytes 2 files changed, 73 insertions(+), 85 deletions(-) diff --git a/nostarch/chapter02.md b/nostarch/chapter02.md index d35b11db54..025d86a360 100644 --- a/nostarch/chapter02.md +++ b/nostarch/chapter02.md @@ -6,8 +6,8 @@ Let’s jump into Rust by working through a hands-on project together! This chapter introduces you to a few common Rust concepts by showing you how to use them in a real program. You’ll learn about `let`, `match`, methods, associated -functions, using external crates, and more! In the following chapters, we’ll -explore these ideas in more detail. In this chapter, you’ll just practice the +functions, external crates, and more! In the following chapters, we’ll explore +these ideas in more detail. In this chapter, you’ll just practice the fundamentals. We’ll implement a classic beginner programming problem: a guessing game. Here’s @@ -216,14 +216,14 @@ program: fn main() { ``` -The `fn` syntax declares a new function, the parentheses, `()`, indicate there -are no parameters, and the curly bracket, `{`, starts the body of the function. +The `fn` syntax declares a new function; the parentheses, `()`, indicate there +are no parameters; and the curly bracket, `{`, starts the body of the function. As you also learned in Chapter 1, `println!` is a macro that prints a string to the screen: ``` - println!("Guess the number!"); +println!("Guess the number!"); ``` ``` @@ -231,7 +231,7 @@ the screen: ``` ``` - println!("Please input your guess."); +println!("Please input your guess."); ``` This code is printing a prompt stating what the game is and requesting input @@ -242,7 +242,7 @@ from the user. Next, we’ll create a *variable* to store the user input, like this: ``` - let mut guess = String::new(); +let mut guess = String::new(); ``` Now the program is getting interesting! There’s a lot going on in this little @@ -295,14 +295,14 @@ the `stdin` function from the `io` module, which will allow us to handle user input: ``` - io::stdin() +io::stdin() ``` ``` - .read_line(&mut guess) + .read_line(&mut guess) ``` -If we hadn’t imported the `io` library with `use std::``io``;` at the beginning +If we hadn’t imported the `io` library with `use std::io``;` at the beginning of the program, we could still use the function by writing this function call as `std::io::stdin`. The `stdin` function returns an instance of `std::io::Stdin`, which is a type that represents a handle to the standard @@ -323,7 +323,7 @@ and one of Rust’s major advantages is how safe and easy it is to use references. You don’t need to know a lot of those details to finish this program. For now, all you need to know is that, like variables, references are immutable by default. Hence, you need to write `&mut guess` rather than -`&guess` to make it mutable. (Chapter 4 will explain references more +`&guess` to make it mutable. (Chapter 4 will explain references more thoroughly.) ### Handling Potential Failure with Result @@ -333,7 +333,7 @@ text, but note that it’s still part of a single logical line of code. The next part is this method: ``` - .expect("Failed to read line"); +.expect("Failed to read line"); ``` We could have written this code as: @@ -429,7 +429,7 @@ indicating that the program hasn’t handled a possible error. The right way to suppress the warning is to actually write error-handling code, but in our case we just want to crash this program when a problem occurs, so we -can use `expect`. You’ll learn about recovering from errors in Chapter 9. +can use `expect`. You’ll learn about recovering from errors in Chapter 9. ### Printing Values with println! Placeholders @@ -437,7 +437,7 @@ Aside from the closing curly bracket, there’s only one more line to discuss in the code so far: ``` - println!("You guessed: {guess}"); +println!("You guessed: {guess}"); ``` This line prints the string that now contains the user’s input. The `{}` set of @@ -628,12 +628,12 @@ $ cargo build Finished dev [unoptimized + debuginfo] target(s) in 2.53s ``` -The output from running `cargo build` after adding the rand crate as a +The output from running `cargo build` after adding the `rand` crate as a dependency You may see different version numbers (but they will all be compatible with the -code, thanks to SemVer!) , different lines (depending on the operating system), -and the lines may be in a different order. +code, thanks to SemVer!) and different lines (depending on the operating +system), and the lines may be in a different order. When we include an external dependency, Cargo fetches the latest versions of everything that dependency needs from the *registry*, which is a copy of data @@ -717,7 +717,7 @@ $ cargo update Cargo ignores the 0.9.0 release. At this point, you would also notice a change in your *Cargo.lock* file noting that the version of the `rand` crate you are -now using is 0.8.6. To use `rand` version 0.9.0 or any version in the 0.9.x +now using is 0.8.6. To use `rand` version 0.9.0 or any version in the 0.9.*x* series, you’d have to update the *Cargo.toml* file to look like this instead: ``` @@ -732,7 +732,7 @@ The next time you run `cargo build`, Cargo will update the registry of crates available and reevaluate your `rand` requirements according to the new version you have specified. -There’s a lot more to say about Cargo and its ecosystem which we’ll discuss in +There’s a lot more to say about Cargo and its ecosystem, which we’ll discuss in Chapter 14, but for now, that’s all you need to know. Cargo makes it very easy to reuse libraries, so Rustaceans are able to write smaller projects that are assembled from a number of packages. @@ -826,7 +826,7 @@ fn main() { Adding code to generate a random number -First we add the line `use rand::``Rng``;` [1]. The `Rng` trait defines methods +First we add the line `use rand::Rng``;` [1]. The `Rng` trait defines methods that random number generators implement, and this trait must be in scope for us to use those methods. Chapter 10 will cover traits in detail. @@ -835,7 +835,7 @@ Next, we’re adding two lines in the middle. In the first line [2], we call the generator we’re going to use: one that is local to the current thread of execution and is seeded by the operating system. Then we call the `gen_range` method on the random number generator. This method is defined by the `Rng` -trait that we brought into scope with the `use rand::``Rng``;` statement. The +trait that we brought into scope with the `use rand::Rng``;` statement. The `gen_range` method takes a range expression as an argument and generates a random number in the range. The kind of range expression we’re using here takes the form `start..=end` and is inclusive on the lower and upper bounds, so we @@ -1088,8 +1088,8 @@ hand, is a number type. A few of Rust’s number types can have a value between and 100: `i32`, a 32-bit number; `u32`, an unsigned 32-bit number; `i64`, a 64-bit number; as well as others. Unless otherwise specified, Rust defaults to an `i32`, which is the type of `secret_number` unless you add type information -elsewhere that would cause Rust to infer a different numerical type. The -reason for the error is that Rust cannot compare a string and a number type. +elsewhere that would cause Rust to infer a different numerical type. The reason +for the error is that Rust cannot compare a string and a number type. Ultimately, we want to convert the `String` the program reads as input into a real number type so we can compare it numerically to the secret number. We do @@ -1098,7 +1098,7 @@ so by adding this line to the `main` function body: Filename: src/main.rs ``` - --snip-- +--snip-- ``` ``` @@ -1106,7 +1106,7 @@ Filename: src/main.rs ``` ``` - let mut guess = String::new(); +let mut guess = String::new(); ``` ``` @@ -1114,15 +1114,15 @@ Filename: src/main.rs ``` ``` - io::stdin() +io::stdin() ``` ``` - .read_line(&mut guess) + .read_line(&mut guess) ``` ``` - .expect("Failed to read line"); + .expect("Failed to read line"); ``` ``` @@ -1130,19 +1130,19 @@ Filename: src/main.rs ``` ``` - let guess: u32 = guess +let guess: u32 = guess ``` ``` - .trim() + .trim() ``` ``` - .parse() + .parse() ``` ``` - .expect("Please type a number!"); + .expect("Please type a number!"); ``` ``` @@ -1150,7 +1150,7 @@ Filename: src/main.rs ``` ``` - println!("You guessed: {guess}"); +println!("You guessed: {guess}"); ``` ``` @@ -1158,31 +1158,31 @@ Filename: src/main.rs ``` ``` - match guess.cmp(&secret_number) { +match guess.cmp(&secret_number) { ``` ``` - Ordering::Less => println!("Too small!"), + Ordering::Less => println!("Too small!"), ``` ``` - Ordering::Greater => println!("Too big!"), + Ordering::Greater => println!("Too big!"), ``` ``` - Ordering::Equal => println!("You win!"), + Ordering::Equal => println!("You win!"), ``` ``` - } +} ``` We create a variable named `guess`. But wait, doesn’t the program already have -a variable named `guess`? It does, but helpfully Rust allows us to *shadow* the -previous value of `guess` with a new one. Shadowing lets us reuse the `guess` +a variable named `guess`? It does, but helpfully Rust allows us to shadow the +previous value of `guess` with a new one. *Shadowing* lets us reuse the `guess` variable name rather than forcing us to create two unique variables, such as `guess_str` and `guess`, for example. We’ll cover this in more detail in -Chapter 3, but for now know that this feature is often used when you want to +Chapter 3, but for now, know that this feature is often used when you want to convert a value from one type to another type. We bind this new variable to the expression `guess.trim().parse()`. The `guess` @@ -1191,7 +1191,7 @@ input as a string. The `trim` method on a `String` instance will eliminate any whitespace at the beginning and end, which we must do to be able to compare the string to the `u32`, which can only contain numerical data. The user must press enter to satisfy `read_line` and input their guess, which adds a newline -character to the string. For example, if the user types 5 and presses enter, +character to the string. For example, if the user types `5` and presses enter, `guess` looks like this: `5\n`. The `\n` represents “newline.” (On Windows, pressing enter results in a carriage return and a newline, `\r\n`.) The `trim` method eliminates `\n` or `\r\n`, resulting in just `5`. @@ -1199,7 +1199,7 @@ method eliminates `\n` or `\r\n`, resulting in just `5`. The `parse` method on strings converts a string to another type. Here, we use it to convert from a string to a number. We need to tell Rust the exact number type we want by using `let guess: u32`. The colon (`:`) after `guess` tells -Rust we’ll annotate the variable’s type. Rust has a few built-in number types; +Rust we’ll annotate the variable’s type. Rust has a few built-in number types; the `u32` seen here is an unsigned, 32-bit integer. It’s a good default choice for a small positive number. You’ll learn about other number types in Chapter 3. @@ -1280,7 +1280,7 @@ more chances at guessing the number: Filename: src/main.rs ``` - --snip-- +--snip-- ``` ``` @@ -1288,7 +1288,7 @@ Filename: src/main.rs ``` ``` - println!("The secret number is: {secret_number}"); +println!("The secret number is: {secret_number}"); ``` ``` @@ -1296,11 +1296,11 @@ Filename: src/main.rs ``` ``` - loop { +loop { ``` ``` - println!("Please input your guess."); + println!("Please input your guess."); ``` ``` @@ -1308,31 +1308,27 @@ Filename: src/main.rs ``` ``` - --snip-- -``` - + --snip-- ``` ``` -``` - match guess.cmp(&secret_number) { ``` ``` - Ordering::Less => println!("Too small!"), + match guess.cmp(&secret_number) { ``` ``` - Ordering::Greater => println!("Too big!"), + Ordering::Less => println!("Too small!"), ``` ``` - Ordering::Equal => println!("You win!"), + Ordering::Greater => println!("Too big!"), ``` ``` - } + Ordering::Equal => println!("You win!"), ``` ``` @@ -1349,7 +1345,7 @@ and run the program again. The program will now ask for another guess forever, which actually introduces a new problem. It doesn’t seem like the user can quit! The user could always interrupt the program by using the keyboard shortcut -ctrl-c. But there’s another way to escape this insatiable monster, as mentioned +ctrl-C. But there’s another way to escape this insatiable monster, as mentioned in the `parse` discussion in “Comparing the Guess to the Secret Number” on page XX: if the user enters a non-number answer, the program will crash. We can take advantage of that to allow the user to quit, as shown here: @@ -1446,7 +1442,7 @@ thread 'main' panicked at 'Please type a number!: ParseIntError note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` -Typing `quit` will quit the game, but as you’ll notice so will entering any +Typing `quit` will quit the game, but as you’ll notice, so will entering any other non-number input. This is suboptimal, to say the least; we want the game to also stop when the correct number is guessed. @@ -1457,7 +1453,7 @@ Let’s program the game to quit when the user wins by adding a `break` statemen Filename: src/main.rs ``` - --snip-- +--snip-- ``` ``` @@ -1465,35 +1461,27 @@ Filename: src/main.rs ``` ``` - match guess.cmp(&secret_number) { +match guess.cmp(&secret_number) { ``` ``` - Ordering::Less => println!("Too small!"), + Ordering::Less => println!("Too small!"), ``` ``` - Ordering::Greater => println!("Too big!"), -``` - -``` - Ordering::Equal => { -``` - -``` - println!("You win!"); + Ordering::Greater => println!("Too big!"), ``` ``` - break; + Ordering::Equal => { ``` ``` - } + println!("You win!"); ``` ``` - } + break; ``` ``` @@ -1518,7 +1506,7 @@ is converted from a `String` to a `u32`, as shown in Listing 2-5. Filename: src/main.rs ``` - --snip-- +--snip-- ``` ``` @@ -1526,15 +1514,15 @@ Filename: src/main.rs ``` ``` - io::stdin() +io::stdin() ``` ``` - .read_line(&mut guess) + .read_line(&mut guess) ``` ``` - .expect("Failed to read line"); + .expect("Failed to read line"); ``` ``` @@ -1542,19 +1530,19 @@ Filename: src/main.rs ``` ``` - let guess: u32 = match guess.trim().parse() { +let guess: u32 = match guess.trim().parse() { ``` ``` - Ok(num) => num, + Ok(num) => num, ``` ``` - Err(_) => continue, + Err(_) => continue, ``` ``` - }; +}; ``` ``` @@ -1562,7 +1550,7 @@ Filename: src/main.rs ``` ``` - println!("You guessed: {guess}"); +println!("You guessed: {guess}"); ``` ``` @@ -1570,7 +1558,7 @@ Filename: src/main.rs ``` ``` - --snip-- +--snip-- ``` Ignoring a non-number guess and asking for another guess instead of crashing @@ -1829,10 +1817,10 @@ fn main() { Complete guessing game code -## Summary - At this point, you’ve successfully built the guessing game. Congratulations! +## Summary + This project was a hands-on way to introduce you to many new Rust concepts: `let`, `match`, functions, the use of external crates, and more. In the next few chapters, you’ll learn about these concepts in more detail. Chapter 3 diff --git a/nostarch/docx/chapter02.docx b/nostarch/docx/chapter02.docx index 7f193103ec3ed6000b3a13c7697b1fcdb1fb5355..4356804bd7a03fa33e36b547c03faeb3d6e36adb 100644 GIT binary patch delta 59776 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 delta 72129 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 From 59926b991281fa0daa24e802efd80356fcf02cbf Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 23 Aug 2022 20:15:07 -0400 Subject: [PATCH 0423/1248] Messy snapshots of other chapters with indentation fixed --- nostarch/chapter03.md | 13 +++++++++---- nostarch/chapter04.md | 24 ++++++++++++------------ nostarch/docx/chapter03.docx | Bin 101617 -> 101900 bytes nostarch/docx/chapter04.docx | Bin 88687 -> 88957 bytes 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/nostarch/chapter03.md b/nostarch/chapter03.md index c64f71d8c3..a5c7d37e23 100644 --- a/nostarch/chapter03.md +++ b/nostarch/chapter03.md @@ -1,3 +1,8 @@ + [TOC] @@ -360,11 +365,11 @@ program asks a user to show how many spaces they want between some text by inputting space characters, and then we want to store that input as a number: ``` - let spaces = " "; +let spaces = " "; ``` ``` - let spaces = spaces.len(); +let spaces = spaces.len(); ``` The first `spaces` variable is a string type and the second `spaces` variable @@ -374,11 +379,11 @@ the simpler `spaces` name. However, if we try to use `mut` for this, as shown here, we’ll get a compile-time error: ``` - let mut spaces = " "; +let mut spaces = " "; ``` ``` - spaces = spaces.len(); +spaces = spaces.len(); ``` The error says we’re not allowed to mutate a variable’s type: diff --git a/nostarch/chapter04.md b/nostarch/chapter04.md index bc94b2e478..087b18cb65 100644 --- a/nostarch/chapter04.md +++ b/nostarch/chapter04.md @@ -306,11 +306,11 @@ Multiple variables can interact with the same data in different ways in Rust. Let’s look at an example using an integer in Listing 4-2. ``` - let x = 5; +let x = 5; ``` ``` - let y = x; +let y = x; ``` Assigning the integer value of variable `x` to `y` @@ -324,11 +324,11 @@ onto the stack. Now let’s look at the `String` version: ``` - let s1 = String::from("hello"); +let s1 = String::from("hello"); ``` ``` - let s2 = s1; +let s2 = s1; ``` This looks very similar, so we might assume that the way it works would be the @@ -423,7 +423,7 @@ error[E0382]: borrow of moved value: `s1` ``` ``` - does not implement the `Copy` trait +does not implement the `Copy` trait ``` ``` @@ -1115,7 +1115,7 @@ attempts to create two mutable references to `s` will fail: Filename: src/main.rs ``` - let mut s = String::from("hello"); +let mut s = String::from("hello"); ``` ``` @@ -1123,11 +1123,11 @@ Filename: src/main.rs ``` ``` - let r1 = &mut s; +let r1 = &mut s; ``` ``` - let r2 = &mut s; +let r2 = &mut s; ``` ``` @@ -1135,7 +1135,7 @@ Filename: src/main.rs ``` ``` - println!("{r1}, {r2}"); +println!("{r1}, {r2}"); ``` Here’s the error: @@ -1726,7 +1726,7 @@ Luckily, Rust has a solution to this problem: string slices. A *string slice* is a reference to part of a `String`, and it looks like this: ``` - let s = String::from("hello world"); +let s = String::from("hello world"); ``` ``` @@ -1734,11 +1734,11 @@ A *string slice* is a reference to part of a `String`, and it looks like this: ``` ``` - let hello = &s[0..5]; +let hello = &s[0..5]; ``` ``` - let world = &s[6..11]; +let world = &s[6..11]; ``` Rather than a reference to the entire `String`, `hello` is a reference to a diff --git a/nostarch/docx/chapter03.docx b/nostarch/docx/chapter03.docx index 3deddeb9f641c72f28968ad968eccb4e8f266a3a..0fec2184f607970b5ac08ef1e359377a7d9cae8b 100644 GIT binary patch delta 75786 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

      XHW1ps-<2HkC^5}6JZ?kWFMZO_)`QMv= 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 C6c&g8 delta 75634 zcmV)PK()V&oCfik2Cy~?3lL-fW)=Pb02u!XlR*j?e|wYT#*yd$7jfSK?%24H);&$U z0k&4X0f3-qZe>|9Gq!bS`y@13?1l#fcmOy(ZLcHrA?}}z*!^<)Bv+Y*Hvtj=A5Cg7 zAx-xHWIeJnf0db)ne{LK`f2HLA4wRwf&cZDaKm45#GeIo*MIo>>i6%buk;75<{Dno~5-`42M$Fz};+X(P+>7}20S_v&h ztqIyDY#H(f+YCQhyQRlQzP&|(Z?T%tMD~p~Ln!x|j$}zWIPbU@X$r&@T7pm7fVk0s zIwLJNi?j_rX=60Yr5oCDTZ&cM4qFvyf5*)UE40MG>R<{DMDuw5*r^pUrRxa3>%`8Z z6J?AJEs}17QnKcrmjxQF9`+N2--N+>mAB^Z*V>yL5}!ah>CjdpP(>k+_8ZK*M`uNm zayh$w^WX=ebMMg+QSsm?hjX|B@Hb@?_<_HYPxu_xngfivx}#dveK3E9pDX%Kf4*Hg zq4S0^rD}+ZsN2RBKBaq73{Pd#lubi7>C;=P!Oh=(eZ}+RsWcUY?9qfQoV6EkzWELw zO*BE~E$n#pU5G#4#m^oc>g`8|g8lp7S;Ex_o`>vpI1T(bqOYB3=DP1Go#-r=E}ige z!;f5OoH$WzM6OeOX(!L%{Udy^fA*WRC@wrU-MP#9_Ji-jAXwnNUrWUN^|bd0e2<5lCHQvKXQNm8~5j!yLwHWxp6IAf5T7nTEw5$ zHT?)QoweD2SPj#S2=HJ`iZgzsZ$ghMB)|v$>@lF5`w#DfnZT>Mu8lPrm)VWtAbh4q z1+o`3j12i*2#jY>WnS0Vn`C)PjQ2Y2qLBl(PA0zlgA=+SgAqrK7w)&~*kP&|e5ip+ z#ZI2c{cCqVCw{qE=e}X#e|LYk4?FE{br&;zXZ*%~Yfrh-@&H%0;F?{%ACwMteAaPs z?xejIw_#w!pXXy56_}r43w*PT)uKI~>aw7ev0Bj$emarFmRQaHpnNm|v&ck)@?@0! zOkalX!($AsdK4oFmA83-|6B!hkJI@vpG+wI>g8kmE<}RGXhfu%f0Z~9NLkdZi5*Jx zD&y7+t(z>Afok98T4UF~9rb}TWgDFBH=tt^uom?8Ui&-w(Cl<5Xq5D^VT%@kULp|&l4J{IW-T!#W6r*e`r((Xsoc6a<0%Q>Qh4y1d!`8G}@{#mAXM=^5(O% z@OMF-cAii-abkx9f3_Laz&)@|8?dgzSK7H^onWa`f!8YDOi>z}x-D4Uunt>q0JcF5 zY>$old1B+cnd4E88_;o2bkqlQycBd)&51UdnpJdEP21LmOu5@19i;&sTchLnJkjxu zACm_%z~kQVI3D2fQs7aM4BO&WkhKClYBoQ%ruG1jF9DA_f0F(D;Bo2&PVD**uf7Xh zKORtWPn6X80VOLOHa=IB)I>p(#3?xUivdHrrOT7)bU?|MKuM(W`Jv>u>m>=@8TUKd z4vVxMFtR^J3Ij%73`S0Qs!Hk*tya_|Ws_Hx37FplMxGoaF$m!NFp^S=GlPIGlaFfT zfROzWQXCMnf5Ke?f36Uz3L;N+MmUoxLZo4ex^l>qngJr)LnH*f4XE6xHE}Lbspx`W8TON`ym1mk<^Twy`xbrelatuHRxa<#?L$b}~z@;=XL`zmGC)|o5YhzLF7*3wN z8S<_x@OP%!Gt;#{8{!@J#JVAKW&`Waw)~E$E0RS`=?d0S=u)RsJP;wWa&Jkz4t?$qj<+5HAoqdGA&q7OF7>m8OGC3ISp{G$9$zbyF>hG8M7Dy< zf8@>JWURp7nWn{9!E!i$-V^GEWSA<{iD#P(!>h(b5sa!Ct@EZOO@=zQ2Z6e?O>Xhy zFz~pk7d#Dc*B|bN)RqmnJKxA{QIzRTL(wZkMrI)D6+lf0ZGK{6(<(#91~)Mt$x0a}VOge@mCvg_J|8 zz|P%*uabBX;aWj@HyQbi@Nr18*}%uM4TV%qs>Jr0o(}kUa(p~-l1-6O ze~(Et?t*iD&fz=~x8U0Y4P!smHanglfV)3%4=FzzzjH2Kf2M3q zEps@He-Yq5)0CgLWJO}sahZzyO%SXG2f!XUIpq3m;N> z4sh5K4t1d9N#U@)+6Ymb0F{5hf51&{5eCaadE5&vVYLUetfJ-FhP-RKC{JajqCE2E zR2PlmMxB>IOQiAnp(WrV_l-0oq729SrT-e}I9w5Savnch)gtk+GhK3~fQQgoE?K02KO?J3I)6P`6;-wDiCT%u zlgENM;l;A@ax${Me}N3$mnQ3bs%>yHHXv>md?X?LXF^vlesp5aS*-|_HV8cSmO&JA zgnsCmTNM@px>`FATirwjqI4Nx!xr1r(|*K&0%DKB6P-7Oh^HX@0JDC(j^Z2cw~k*w z=ZJfBJ`!%Zo;|{+XN*mqt?|y6KnqF(7dRp$H{7>@Pq<(Ke{{*214rP;WDe7gi)`eC zgj@UW|6LO}aRK^WUph7J*D?1*e*Wn{Jdc~Z(QF-obdV*RJ5mKe1&9Rm#Zq+S)5>%5 z_a7;-c4c^8gph=IY33R;66oBboF{HtAhBppEYqweX=|pc36_NR&k2#(4Cc=-jll0# zWacj1nd5oSf7je|ux4E5QP8D0avxC6`{;zObMKMpn!9%*cgDq35qF@p z&BaR^NDfF76t7r#!P5=*9(im5T<4?-fs{b^1cZ-mMksR$I$xvkA^9kW{sLfl$lW-14?Z|*O0T2y18^ul-V=Pb`F_bLbe=t<3q7Z4xpOP3Fyf7)Ko&||Z z-fR)CPoSHZBrMm<(Xrb`FV|o3(tAO@mBy%-V{3g(9YmKN9d4apsvD=czmlZ+9ueuGNn*nyHQFiQ)<_Y5M15@Pq!Wv zBF0|Jw_{LOjsCR5tbNsQl+3WSg=`b3j-!b0fBvno?mO*SMKyK43g5P+Ol`XyyKxFF z>eC?=DT-zW&t#%u<*7!%w*1rxqc&IsJ0d|1yhOi^<~Mi!vbX$A?0D|1x;90bJoql( zAau<9rn`IcXb#7XRPiR<{Z?Q6h3GZ;>IFWizGy_pt zQ;G8__0cTW@fy5Y|0`HuI5q0~qG-r103RLBb8Fy%l41L3WL24}rSpyQ&iH*u7TG3W zvaB#Ps>=}z)%G$~uY2RW3{5nn)`_}j>CL6m1c7#SHM_?-l}(z?-FCHf8*eK z9eNkKI)o{+X(}f4HY}bu8NFLtH~j}n8365*W~<<6#I7|IMv2~DXZN!R4rcggJNzrU z(Y;!(W9QxlL@PT2O5aB9oPC>x7$};eE1JCJE9h$}eg!i`t6$084MGxfQ?WX<$y69) zDa}&RHd#_cvm74T(drN^Nt#v|P9XFaNG+CZ z`>tM%ZKRzL2;!~rx3rlS9bmKMfx`zrn|!Fi?DR>^xON?eq%NN#SO5Ief4+-@uuy;m z-HjQu|NPT`RcLz5<=nD0b5^2lmdtI#`iGgY;Tf0WtA$K##tj8mX% z$AD^TENk_fSMAKKvBC?TAwM0rTSw4*7Wp15whlkpHH&@&j_-mJ=ZCSR9uT9>;aA$%cmW_bi+Io*h(|0MzCONgrX*K-J?$D=w3Z;bG4 zKMuI3(2Xzt;1Um`XHe4;OSeBc$ysIWd;s#yKRSMlF%ayue=c$s1kQ3He%y(kF|-;_ zduQx>mrf2`7o(o3X$bMHc*G5a2v(S7PuXBeDaFq8bGAwu>e9*a z4T*pL=|3XO6@WNi$UcF!e|k)Un(4yRnPZ+wA{7hgV-Th?#jNV&8<$RuC|Hu%g~%6} zDm%=7qT&Iwf2Qof1?#xH;G_E3INlOWMXua>DJ!zBPprL8scOvNLa^G=&ER5S+}$4^ z3E)X85&)_h&R%nnkb!TheFm@YF=vC)(ZSdvCUG;zr_2{a-cAzO*@AoevBd6}J_JP^ zFWn^qj$#32e@HvV+@k9(W?sqV*;nx@4KsO|XcOX?f7)7O{PZ+#Lnp_mbHldCsAMXotL>kF;j5#J`+!4;XdyL%N z4QV?;_zc<`3r*YJ<}Q!RH&o{d9j`jznG-$)$N@W-XFm{bgRqjQDAHI4%dCK~k}jy? zgfAzLe_R&A9@I1So+9*h7LN!^_af5Tot5eKu_C*I#rlml3TLCGpgBRBezH@9Jf5KCcXmr7HoW_vWCD^f3_{$yTll`E&L<-W zhJw4>T5%uMY8$+vi`K-3vfjm9Cs`9kK`EEx*&2dW(yOmsub|_kz!7=Qq7H;dNAQuq5pHg?oWSOTCHV&0!@Uee{if7~WzI-ov*`#|C8$(>=rvh27zKg9m=(~oV)Eoq|2 zW47@??q-gE_3D2-#9wg*N71c(TfP9bVMnkOx`SfLw}HM}5ar)n&{7-ArfsT~qtee9 z8bt2j!5Zx5DAM?`sF@gIJ5X^OMeGN8so3&j&O}t1VaK9>e<~GP_PqA zG?qqvvN1Qr3r8&YsdYOZUGKNVr~4q8f9E_9lTPsi@Y zOZ*v`W9khZjN?NcEiAiFvY@(DP|6}&4||$4ol2rzvHr!WJ+XKz_ZRnpJ$8C=GT1Ae zz;sNU-m6?%du1V2l%*N0wO zw2n#Y9T%-W`gUW{T1OG)n<1UhL=Sh@43V+axLx&f8#RD>7=_3%gtkp3w7+N zfj)2A{q|I+_82y^U+G8-;m6(vMjTBBK6UQsu&PihVr_PQkym(i<0g4gnrIVKGqYj# z+4*1A;OVP%yxbxu zd$Yiz5GyEJO!wZbYC^EW^j9bufv`hCa=lDy1K|A_iB}D7$GUV%_)rZY<8r9v?z5XP zHmJfrlV~MKfNN@kA~&r9x{Xx5G8agUOdn&%11SlZe=`O0-;!J>YG$J;?n1GERG8R? zIuG#nIHu8EIz4di6bL?m+lc;yicRXPnY)XHJEQvp?#-by`#`7uL^X*8T*rwtbY}52 zN0Qq$yh|??QQsHt7+6FF^(SuSQo9jIRS}uY5f5Ih?c?j2<(d|~va>3D|0V@yX!y zwF@X8z!FEO7KOq3;qj)*YITuxnrQMS4<5Z@f9$U$NVbWWrT4Z{_^~3W*~RK7^-uOF zI9z0fpK^sX+oI2U?E})B5&XheK5P zKFoTaymYil*`Sa_kSKa+1X5jgvG&--Xz(2CqamU#p@bN_YTQlYXt0J}844=HJ}Sl~ zf7epu8Wk_3k(2vn3haWEYtJr%dMnqITSlM}d3h`yXhw!dM?~SYY3I(Jt8(dJWUm>t zcZv6#>sI$_UbP&)(W0Dy-0=pT!!O<4$88**G} z1J9|1tA$W?yglVyg(^2TPk+>R*H~D#f50IfFAg~shinx7JDOxerPgdeZPDp5B;c6S zi{U!ZdY~wEDhq;ODW{lT($hhvSKmEld}oe9t)0iw^NflTxN}!6&I?_iTZDn1c|bGO z9IAOXfM`LuJDNlw+%;DrRJfx*rgyYj&K1+YdLcY-&_P&K;oPme)uc3*ZB^YHfBC)c zCXhnu_NKmS=iQ^P242I;><#uterZl>ZIn5A%3DGS=gNbylBURlgb)>$G*P-+?dz-e zSg-h7^2EIjmW~e-#kM?8 z3;5_SkU)9N1jMr6CuiYV;$JFv7(Rjrh&QF7jcU)1l(8bp6a6&B`!2Q!_>}5(Nk-5$ zUB&?x zeymuau>1nptZSg!g|J!In6#6z*yoCMy&0*KqMclx+{j4hkRpgzT0W7DQr&*=1Q!8erXV=1+Bg>^+cX4iQmGgy$+n{F z3ro9*CPqXP}R8B5ipgewq^JBEqy+YfT`=d(Ic62bMle< z)7po-tC#NI=!0L=NB8Ro*IxvG;bO}FB>p1$5>CGO8;Nh@;p0VhN}+5h(z$aLxVLNH z2SNCe5qgBA&w2jG7St9bS(GNjjYJt{*J#RZN=Q@ekafzoe*+zx>8Q4#qpYfisG*an zNJndGn!IlArlY9K2D)+&LB~`_Y$VR^L-#+zA!A552hNFDl6GmsVk2AKiWc3-_v8Yz&)jlJ`-oG`DCa#I;t9t*7^=JigQERr(GaqT$0))}J>UA0XjZI{l; zQ9|#?pgh`?8rrFIc&Y18%it(;!F zYruC5VcHL;>p51drP@Wm_QUIXq|=dFgn@3mv2;C$IRvRX$oN4;r9sB?AZ@irx_$#S z%8{|j9#qzV(-75sik$ za?ttJe{$C-v83*U;KR}hKNR!MH9YTt_~Ngx;1UF=L>DpJu=eA~IPBv;ybopquV{)+ z|KIWz)Gvx(QFUD#SHF@cr_dqco61S2ph>2QXK4k)PnJZ*nBdJO16m#P20Qj? zZTP(=&Kwt{!-T<`QC-jZ`p;$&ZoBsBk|Ju&_ ze+A2DB<|ebVGl2$hzI&UlR|g!@5~G8U^>)!xOEP`+rUh*u6flT%l$(QBz_{q&*kKoNFK@pnONMEx*gS@yNHIQC}t(>L7vdPbu8s6-#vEMn)8Co zP0E3ave(R8O1TM32NpOGoUBbtd@N6Oe|tYVIPEf?zu_`{EuYF?*R3mq_VequyF=%$ zP{}$gK=boY{|_$5Nl$^E9LU>CKgVvipOcvfBA;)7>xkv5wXNaXZ&rP8W`JSty{w71 zmV><=%6ca$i$@u;M-Db#R)r2m8dGf{PvnJjyzPDT+p(AJS^J1MzaOaI!)8u5e?6+R z&Tlw85v_Do(0jXI*wNs&>{-h8u2NNfRO7;9KDT`bS+@Zt?z(z##HI{iTMw6(+2$U9eZ@?fteV zphW#(A~J&|-ch!sGB`t3C2TE0OvxyBk#N`0 zQ=+uIcxN99{a1x9M-}=?UpcH}*8EGtdi{Wd?RBG)zRDDv+JdZ`yO#l9mxA=!sZ2{E z=f&RK}{ugsk2$*u98>S{js$gZR=}ndPb$2#R1&bH$ z>YYuZC8~U(UfSl~QJz8i@G!x49jF1bN<{E5q|I&1^r8`Fnqh@G$A9LcS+IiZ1^k(} z#!w|7_k$PQJ6`(k>Cv4%e_}nWi?6hgWv13xeVbbZVaa8;1ahP$WLU8kpD=d<2pN;b zHcY7UhAt~utF6FuM`RoX?zY5JNY zpMW_c(84aA3Bg+mQbzlM3x6oHrI&sr6j^(7Mgpkw6D(J2yjLuSf4m#GlcvmrC8eZC zWL(o3i!Dr*l2UNIGnTxoPG>C8TB~p!z5AiHQphDNj#ZjU`joAC-Zf^kwHrx~W5(SJ zly_Y^b!tDV?niS?^y#pcT>`H39>HH7=(c~r)gh&2=TWNOBmAszSX~^rN^P)&pN}o( zg|6C&dDD@0w^*fvf6i}ftWqU;Rn#2kX?_=dOs)i=j)Y#6K?eI)9 zMPFLG^k7l5CPqco|BUmKkdWN_*Kck6hu6RR{o8jxy!rNrceeGrZzu0=xwRxhi4LCo zXZDxWrci>Q^J9Iyp~;GpW=`{>p?zpRXL-}rE-NBR7Q4_ z>={M*=-tC;m4>Z}qNk{yMguK$)n*OaY&=PmWqDAhieTC0e$vYllbe&XRqfD8xxFjy z&vC;T^A+1YR&h)%sZtDixo|o)>L5UN>H0zV8tSFP_pxyL<{Ok+x3o_A*xnI56z)aP z0}rxhcv~#Pf0_~Jf-vrWciIj?IQ7i4*s23CWjz(!sc;9yfg{GkftMpC8EQHh^yOA= zlxovg&!B+%t-o{cEkXz2_|uJ(O2aTkaN4i}vfH}bBfg{6Xzy~5%98$cSKc#tG^xJx z1s-s&m-i%ux9oOdJh62+DhTVCdt3OfnY`FJ9RW!q9d+xE-h(cE_Rk@GE zZ-mtxoeFg6?%-1zE&!<;>|F$DFH~mQ;4&oASXJc%@`}1Upx6yrhhFYoYtS_)`=Fe3 zkd5dLe{K*@_Zon@oTc!1BX_QYyPbtaI-bX^S1S_EoQNe5zbMYFA@DGo1z{l`7{byj zv9cv@>Fz|`Aq3^|^;_pYgI7r4|9mvKJePWy3o_a=8j(Nyf( z52(9CcYne$#kAe{diYE_5UhTD9UZ+V0Ovdce{0;y%^^W`$|izrgUIAz5|w3WvTZWQ z;2tT@9r2l2HRz!TVHd$*aJrQwHX)>Sc<$1L6G}X}ZF~93k+f#IuO-o#c#?|a=D@R( zhB0^qqtQ9KRzZX_!TYs27H5N3sh~|mb?z6P$&>Sp$HBO}QyzAc>M^)o#$bS9W(f)1 zf5r1PM<a?ybtI#Ty`rS(jbY! zgo-kCKG4o16irdr%QqNSqT2+%dyHSfg;Q_2`yYP)_M3{2I_tQkPuw|eR;@g#T_O23 z{kLB9M+%Lh2PJ$$Bv1HeE+A1UpT$A=e@qG165aZZ^6oK?SJCZgG!JGsA!U$Pfbcg# z_%I4nP8lI<`~ZA$^B6BT0^hSav>Ry8qnHMIf=0d!;I?m{{<>s*%Z$GkqIqOh^pNwv z!;()0EKXw2sQEExRm9j?Ut+N&c~F(n<=Th9_wWWZ2RyTrrz4THW3wkY9@?!)e;sDj z9gfFk-d6M}7Cr;3+=a4npsrN`yy_;|52qlH z@#W!nPppOf>NKji(nW5t2z<%Kf7W-Q>!dHSPWr9?c0?SpV!WQ_bv0xQ!Qx@IR#J+0x<-Y;rKBO z)(?;1d;mbnWXvhz4=XJT5XA8Cl9>wq%6KY^Qbrss_l^idfhUQA&u;$(NQ&wIl^cL> zxHpg{bPhKm??;VC;;rytf9BEoNLa{!;1j?X$dF*049i4;?5HP93`l`@##|LHlI7wF zQI-yzB%3CfjVn-3Fk=Zgfbm8di^@7}k0ASo`oN+t=_jfWT z@ra1kR*W8mCdIPQnsLtmb6=^K8sV8*9}NjE?|zTX~xvRtF(5^?A&e( zF(Oo5BIhaHz8}_*f5u6vjh0iqjswb7pxSPAPiwrW6cV^u_nIY6%<>UVY5aBdBPjQ* z;^x@C-VHa%jkvv|(vcr4X9m9Vw0@RD6`{7-{rwcS(g3pS1+YRH+JCS{taxFBZbtIa z4c2f-%0796Cv~(-hhkxr99bSQ474rVEucJHeqF+rAl!B*e^T|OtQZV#c-=aW7NRmM>NiBxgR^@?4ZRr+xMtjcek zdxE6wKopo-t-jLRGaSxF;ETEm+uZl4j8%E8?u zrJ@3VzT|6=Z~BKK3ipZonp4{3^2&m#jd|%jGSc@TYyIpbLzH=IVhv1_e5SFc?{0Sb z#QmBRTBV1}ye;a}i%-FC*a~e~RZXjMf6IVFn~c*2)m7UNruuZC=1yvsMe(0Gv5hDy z>SU~%e^p=gK;C-tu0q$3J^xo-*H+VkQ;b^ZWNt|G4_H%`&Ky zDMdtS;PRcz@Q)VMlnuoYRQZ>>zf1&bl4_8BHt@<;UTGHBF0x4#V3U&j;uYXS(fh8A z2&#&z2xGYtsH@1js*KG`zKx_!JqH#Phygjwf1!NuLe+p0*)|&P=^fhtQgf`AnF+^H z2HD|ubBwAaJ~%CB)cAlp26&p0IRcxSstm86x9`Ok;r_Yc(>%%;6V-6vk!C(`(078+ zeQ>wGGQZ*4o~O&g=t;BX){JhaJve=v1JMG(es7CGlBMWO5vHw)+&IOKD4Z zaWQ5a(sik55G?yDKkf!er`UcJl6Hs@Xx{oC+>b{(w>rRzA6YFCx9!fKyNpLX>uY&Vj6qqwz*^tERe-NS+AW-*c`ofOArmy|emJ_-(+KXxWP5@cy zi9psLY*CrDat&HHMrZ`sx0DymK2cM7LuOT8GD3aE zzKMU@8nVVuq_LFevaj$Wp@E2;Yh7TnEBKi`%^!$w^w28$K3|mqRv2vU4unINj zB5&6|CS(1`2t7j5=RE&o8){E^e^pZPdV+!4K&^JiOBMaK0n#m1HKD3)PPD6dSq@_er(pF&ri@~dzm3JcRY)#spdJYwDMe=Mm7O!4%F zvY1Ydopv@P^%V# z$Ei_Em6I1P&R4#&Aq;~M^028T?#yQHoN|xj!3B09USbzgevjM-pA|^Q3WJ3-n_y#& zPdb(QHuKp1Q?dFMH~2oRf0JO>4QHka3FkbazM9ZAupT60tVjrzhy2IZt;gtfElNJA&!~?vlbNL+(Y4H8Qd8XPGwm)n6ci?xCDEpcQ3D zGQTPHJ8Dpm$EIQ%6*EIpRCzkKTbLQm38)DPlQ%sRP>UO2$D;AVfB05Zno3%ghn;M9 zsw7A}D;0RMg1hxSfUOf?5?J91)wEptsUU4r9XSX_!|_J0@Td2}mNxxxLpBd8UAqU# zQVQLVgl_A2cFB~&Vmu4WgnYs(muJ6q_QaFzyDaBCI4&IX<7QO1VwVJ+Gge;*kN>F& zlBcw$yG=;amCmxHe{Z-cRRxpl4X-gFx~5FrrBNa;O7#Iw?CGqr6m|3%JaO~P8$lhHMhVwntyytx90b&03Y{61%IF$l48v^-7x6${rL-9M8zd6_%(M$A6&Hwe+iZ}QRh`_pl>(&vR`gI z;(yU9@>)>FnyKngzNA2AnU`flw14SA#7T{T<3vWVmDt{N3l*$b>%pO@g_XH+*Go_> zt)p-Wli0Q!95lY?4ylz?2nA~0aJerreq2W&C?S@5WZpz-Wa2Bhp=}9u?T&f7e?dLsTK_;|5;FW9*`=a=QzvB9w0lp8S@~ae%&$GS9n5iW|W0 z1-E=!A*kRQZ&h|gmnB}3hxFA}iWr>A^-y*vHa`)Ce<9y+Cyje6x|(c{4NC#XYE6VQa+KAb8LnLIOO%fb}w5;CQ2tVv6?8A0M zckIjl#r}=IU_W8=WCCO&34oa(0Ex2nV9C57GtW7B?w5JIoEC(C*!5&B!jj<`$^b1@ z`uA;vo^EQmj*f}AEgbzBq;2F`HtVVWoWYNjd|DzY2PFe!UdV28D+dNN#qng4sr!rp zfRKgRRrclmntr&rQVwppN8 ze>Qpgm!w*NQO!&iop{omnXCkstcRi}?v$BKEhV0r43FH)KqjxTz!9BFkATyVDObMGyCQLKyse$HeGD9W5@O+bhr~DZ0e-+RIb8!tBX@<53B9juNifSv48-T*nrywnI z9`P>f1nHxgo|oN`{2A;z{Fs24oMp(!!I?)pKL{ec53fKg$F9R!mVJ<5kR_zwAodUw zyB%jI!Q)Rk=mMcd$W}gQ9#8Yj4%3Jl_@&|Nfj!PNB5Elfj#D>{NNf~ZuV*`4e?F#) z*639SZ&jEjnIAR=R;ZtKusIWif)j;z?5+6|TC_h!PVV;>{TiR`Zcvqq+hl{O~*(@ig!o$5jf20eT^WC)Q zsVK)7dI(LV8CkweCh1LzjD;K~YT;S+IW`>D8MYY8o|6aw@Xd4Sk3}w1VL+TZIM#RB z&is+`&2^rv^Ghk8#52Uea3jWSz62lRd1V9j+`up*N4H(J7qk_+ifv<)<3zbZuU_7N zPLd^Xj5*vWOj;%HhzDU9f6)9hosfcagk^R@AT8B9_#7L2dLfblQ6)8GFr}ATipv0D zz`>{T_IjQ}ngFi|l3)*;_&wxUvJ)ZGp}Gd_Z|-Ui^b5RmTMS3!;0*djmnH_CFEUx^1=0#l@_wII>>I?iFHeO1Y0ecMYM7dCjB>}QrFiaGQ5mwx;I1K9iFStR^<*5zeuwaZUXK&o zHe{F3*U&hjmJ+jhE-B2QYbuJIUXLiw3Sofj1YJVjb`?YM30%#MD_aS}gK^BuEYDNi zDY~qYDQmtb*#g-Me-OPrB;-5RD!jopS;roV%!pWQ=E*9ZJTQPU6KU_saumdn*4kWt zGemTM-yo!#RbUU1K({94(x_oUb$WEst0MHeI8a;LT9i!;4tKUF5Vg03Dx%7%>G*A* zl-C#F(JH=iF7Qz9SOEiIyK=zr zG^^=)knTHfz(;|KCNWT~RfS^|D!N^Xjq_jgN}kdIDA;cm`O=`EaQro2B4bMW_1DUg zFSc376j;EjjGWO9cX_kJ#Lu9x{up5@CyAI}j&*`ZEEy%Tg z5Ayg@+Gr}|TI=dJ=UBgc@$#JHO}_Z%C#Weas`3AUe{Uk7EIYD-U{Hm$;;EjYYaD$k zntPock!{lmzQZc@Yg{%x%@$ui|CP{UTOX>Uv}=rt_9yqN2eCc}W^I~xSKOSUx@6m3 z>O(KOimx-$YLH89sJN55o~8Sy*H^euy=+{L@G(j7T(}A13+xT6H}1PLRT7m`Aio{GR;W}8w@}wT2+!xA{($xP8}53rCfv~ z_g%3(qEb_Q&C;L8Ew`hux%9Up#;C;v>wK>_>8u)eYCxB&hZZ{6GrC%D8(rzU$lk%- zc(;>$Ej7P2ALgn4l}%F%t>C#aL`l_U^{;BHfB)r@)jV>{n3*_hJz#akS0mkFvbmq> zouT)dB4G8>;ef9hA@G_w+xZ#3E&PP1(pT18MKR51S}mCXUFnOh&mIj=!w5}N^`8m% z5aCu!B_Yg))Zp*rV7h&u2Rxh& zfvu%}GE_`UF@0epvlD8lrMhIOh+(AHbBPx~=r|ZkY7rb=BCA`Qf@ z3FUel>P~dvO+~iv164vWS1V9d%@>waomd976j$OX0h2&ky56Ddf?3Z=>-KuJMWMi! zIu!0SIE)3rCz@i`D-n!dck_l23arjid4o7}BRf@#N7uQ^OwV;AwysPGT|4rEf1~Qk zY82JSRe9qMlO~U`*8b#vtrx6=tP=dnVvQTCBb#Mbq!pi&@WyQny7guyEmtWbkNdJV zgRt(V?PB400v`T!u}V&3=hpYTV^S=8pqZ$dfm&i8H7H_{EW$MIZxwULY9d% zkM9u#C)xW&`j?ZB{2=QoPe}NNe^^q*T$MRkvhWB<^+yN)v1nrO=gk}nN!A&uSi*x< zpk}G4Mmw+Uvg9K5njVgb5>2l_$zhEWyCL>9N~i5R*y`KYD4FljEYPgeC^a<*Z9iZ; zf_kA5m@-z5J2O8^mmM)H9W+Y67mZTL@KWE(PNn=tkluRNC=0@&+i5)Ef8yHL#c6q^ zd~@Bnj_s-Pelqp7p&vR<$e2!srv`>+wYsBv7U&e28X~E<_FKicREg&XKW|vgV3?BI zg0kBm&5>MBj{_-2yTT++kZ5VPh-akOa)FcqC^Ur_H&hxybiZ|dM!pT2kKa<%3{Ppx zAZ!Hse#%}YO|W^-9Uk14e+769a9$0UNp&!fil?mO9)`~_kD>3hP`eW%dK%oZmaoX( zI6gmWDINi}S-_NKbf-#5#V@1=JK$k=tbsYV7-|~20{OCP8sikFQA>5x9WJ-n5-uL> z^OPOx)80a>Shs zvS~Jj>Bvx*%ifz7J|g54CB)j`@iH|t2*wHPP)l(+0{h@1y&kX4p=$Y>rjFB~jarHa zj+v(sGI2v3++E9<|rGvD6QOAwpyALQ@F^Y*GZGTipiy&p5 zO4T-);&rk$)KWQU@#21MLs_5j3O2%9Ld9byBa%yE=r%QwLDl}$t{$P6g=QCjfQg<< zNmHfkbd5Wq;4_{}Z}A9K?M%Vb{dlQVWD{fit8r%c`YZ+gf0ovUN*6S^F-U6{&?N7R z8RGHSM7zDRo^$;a`MWW!aLvG#=D{v&$p4s8xV1N`UvZxH=u+kdxTn{Ej9#sBI2H%7KVvYm<+r8;$v(0=#yItmED{qqAB=4lP^P7-(z0;i?f)*#?C6aT#;ML};H~GYvrpVW+7@rc&S9pgP}f{XvwsOnPm2l#yV{-r66+S%=fc3y005+Sw zLVtzui+t{&_%b6+w;Z1dl#C<36hqYvpPhQAsirDBxS7`z5?`i1lK66b-3}SAjj33! zYU?M+IG&!@#(H3{O={|cQ=u8UMx@|87ut6yyHnoM}nz=;s>h3#A*yZvTcvFFMK)@EM84+2j?5Q;ahgV`fYU2a_qopwSQqJUY+)}KlmdsYWs(w7aI?kay zDfzUVrIU0m0g%rtP^MPIM09KwWq-F$JS0oG{mC2^hH&H|wpYTm{n`C?5nLrOuY8@s zs9}uaqNPJQix_w2hBCCWXeUGDz=_%(wl@eUt`^Dr7%IfReEy&5qUe@)m#wBbj7uV5 zppHxiB|)FO_+x_GEWTfm@?6FYrc2mEKVRnTnMyX7^I^5xsJaXMaHN(m*JyBGrCzahiMPn>xFw6RUvSJ)h|}jvRu=)Lyxu4t+nWvIWBFv2F4ud4Q#zBB_NP}=$$yt{RR-M-$93v! zxlY&Yh|>uGx?yVwSyH-~AP$Y0(jAEGK{VG!fycd7XnMBerP&Q>et}zJl=QyIp?&ci z#Csc;>&3R{+E%6N80`Xt2e{GJ&*)KoGzj7(1Q34aeu=ru_kx6V3WHVbR5^w zt{;RRZszM$k`RQ^QDNM=W`@2fkLc9blUj<0I&r9opG*Xr4fcBGu}22fL(H8{Q_}r? zcHiDaym3EW)!n^F3eRFkde{3t#C|wvbPN_P?+A5+8xfFLA$-#Hu5Fj&_>KC8#}&AU zHV7}$J(*C1$A8s;CAiuw7T`qBZUs7U$BJ&wm4Oefj+NM=;N* zcNm#Ev4qnbfYO)Ge+7bAAdQ%0)>kP7u1?uEa_uzJ2Iw73>@}Ba2(hpzibych+xxrK7YI(IEdK5*IwzRty}x!)#~__ ze=*PwuhU)B+O=vJ8MY_0wH{6cT_CC%+rtJU=$pWuev1;OGIytfzNwJBl30qu_~JiU&_sq=;gq z*K_f;&+n?G{e+Zv=1x`_`AMWj#N}+!9Yew|7HM*G#Msm2410r}aeTmWab1W~xDRcz=k*AWlJSMg;$J<`Fc*InJ$1W6+IE zC92Gp8;s#lONlcaF=eaQQ*j6YLGN>mpbkvU)6G%vK`qsnpccbYuV)pXslvyFXf%t@ zs6jWc7R|n*%V9VQnyICD(EJWE38xUy%T~$DOGucOKBoC5o=JHEM#VZ?fd;#$?+VYa z>wgmj2k)p#<|T_Ej~E?$J9j))4ad2o)KXl=>lSm;i+4jJuU8QCb#;GY6durZ(C-Y7 zWnr#$Ka&1k`%`&>2na<@4`DVoRNlfKfgp8c9)GChj3TtAB&mLt#M4*Op!$>YPL^f< zQ(cw5cSr_*U|8bJdz_RU&tdux%$|%(AAh%W8&9QtnM~4~G&xk6(G_+FLD$u$IAt+=wAQ2lo~OGc6gQMqSnW2c(&>rE?d^D z$(9z76rk-EHCNM#UvZx$lrK__-{RwVNwV8zg$oTa%}OP1=??DU#%+pEvr_T2lz*<9 zAfzF}T>+4n(p&5)1}6+em3PyLi4=w+#@!SuwaSp&DMax@&Cu|CS(-vz-FHILuyIGk zN7pHw-e{^qm_ARZf^#1^or*kye+-qbM27CLE%E9bY`C%o!wv9*dub6BDKfekEaMDy z(+Z9mLq+Yg`38(WqKC1MYKR;Is(&52B3*inFp?v-+lCfdz6??3CkEZ{Qw)V<%}|A3 z)P?4%u2OYvyO@Q^*#mb}J-qeG;Vn(t<+rii2k!(A+6NwhtNU*vKIWmPcS42Yn?J z*Qni`$g_ZXIQBbruZ~9aA^o(BR(wq{jEG_2BPmq2u6lvSihNZ;uNym*KMCRSLxP!5 zgW%{;kn%JHNBtwKmn?E*-GA1q>s;L?pJD-C-+Aj#nKkR0sam85D4p%6`>N*YRXhKy zVa@WVo10!3tEuURX-7=6hjAFI>Upjo1dId6QY=M74EJd<*56OotvY#!D!Q+Swd#tY zYs@-V89?-zsdjC8ZChq!vr3H;*_IWMaRFZ;Q_ZYu8-%V*)v`>_^nVPHP2;;d?7(&m z9cr^__n&DvveP~X;q;iQmoDPfeKS{8I+W~wJzN#pRG!7;;apu~kUq23t}`I5P!A$J z2amq_o)vm7o|*SGvejz^{XqUpHH)JwcQs{A^KFk2UE^?9Gm;fWV|$~?wyc{rsfBw& z-1UB)NG~=v?nU{sg@4O-sO{{P%XTS(eZ2hq`kvHkbmHl*kKQ0b<3npbv-pmE&MhO9 zLx0a55tz1*r+1tbi=Sk3XcLJOg5E$@*Y;Mc#UpEXFR~b1!s{0HAyh)Fyj7e_wV}|! zvJ~H_)W~sd?%T@dO4>n7Cy)j}Hd)D>>AcB03J4O&gXp$*w0}c zN`FXnTaYLeQydeCG=YaWIi*70^cjQ#f#eKSe|-83x~*$w%NhJ)Q_%lASxm~Dp(ulP zb!ZRyBu&xfPUlH3{gm8Ezhv`x0h_pW7kT|VlYIYW{M1P{gZ|QF;a#py!D{iVh|BtJ z6`&>9${kkW)_-X&%@i#Mi*bHA|Jlar(4SOYvyfR6C4xF-<-}UMk{}GsyMLijLu; z8ScHF_Hc%~(ji{ZAghoyYiN~Ln3H~4AAeOlNCYQdcE;dvG?qGe|DL4AAc&=L^##)HS*)8wL!UO!Qh#-M zoVH8UQe1awzneqR3SJC1y`GQ*H$o0Df}4iUCsAZZ#yC~{)KWaSDG*V$s>IOJ>)|-i zBINQTXlZf>sal|p)UtB7RL3i`9WE$_onFt#ft?P0cH{yc;K`xx!o>V@qY>|*?PvZuoOTIpCP}=%DY$ZF0Zrf12Q8&R6;o_ z2JIrAqooTwPa6}IBW1zoXD6P4x5p|~B}iOW+<@nB#J`JFdC=VR@?p6QS?>(I><+{La? z{rAQB;Z5qKb^OI?;V+hJIe!kDOs?vY>4wT~tT-osDMC%52g7pem`+WMhJ)$sg=wh3 znN~5;c&2kJM4{o7RXgUjMJcaq@5iK^zj{J+QuHopxI%?!0Spohk3i;;fut9dJq(& z6L`~bj_QQG0{D`qb$?C#v7YIkNPHsBCDkxr9ays4#8g)2ZC`^U^hHLtPbQmH*|!fw z2znoK24Kqlf(XgGj1yPKr$Ag?CrC`E*(yJm{s_^mZB_U$!#+EkVBLI(e_;bfISPPkkJqhtqd$!+?=4Hb11$?Qzg1aN-YC{UjQ3 zZQxndhxeAOR)5**JLxV#oE1rcX_`+qc`jkFW*#3aMZ_E5 z4=)G<3T7jMi(@b>kra>$4!>-p0KN1s|v>` zRCK#i4#t0XMU+V!>vB{Jx8v{bGDds(_1DUgFSaTVO?TYU!H1x`7FNN~B7;v$R*hii zWGDNxe1A3Yu#9irUpwsGD^#WT*%ipAQW&S4nc%;FXUR~IkkXfkla zP&Ld*6bqdUTxuyE1DD1d=O}_c&mwN)UKMV(X@8as>j3KJ>sn-uL#nySvhW~M4#aK# zQk@Hr7|Z9)6d9!8QpaCR7x2Z0zL#X| za1oT>+dc+0ygC7ifIb|bR6+vG%q&j_p)ct=K~&F8FUPA#!$kM4%NlA{t&v*PAsw;(ycuv5kY{XyG=8hFnD?4$(- z!K)Bcze|w5ntWPQ?R2Pvw$?m1?}nC!Z1=&~8^@(mkFvG2UZAJcs8 zZDzA%T_MO7>u1AG1~Jz#RYfL1<$v3iIcWc|;_ydMYEl@SIm4D>5k4Hu#4owlyWh4y zp2L_bD01NGl-mu*)0X^3Lp=V|P(#SjZ-uB^=}$aHvqyhNM4tvHrOYzubv}tcT>r7SYkx`Bn-#I>24Q+XWsBo|uta~y8C{^HBkgqSJsMWV zVDDNoJtSiK4H_5Mj9HRqf8rV6?IJ>S<6Jyiuy(YCM;F|!3Ui9(^#JoG{B~cdlZdF} z<1HehmJiosLwx>LQ;k=xtbZvkiok|CWCpgA2M5sJ{Z>qd^@@1`8D<8qs;hV+7F`aZ zL!&-s7}D1z!)S3ugaSCXV(B`|W=V{j38j-5`)}@U6Oa~#$heCcnbCIPPd1%@FgaL) zj>Fs<~k0s<5?mdUObZdGX@F1lxV3ZXvAQQarM-LVu!SY`)h+iI^%n zOc4p8jVW!aIG*b0VYPX~SH|Yw#E8wKTLA?fTV9WS)kTmD`ruUpZM8|q)D<)ZooXYc z@a=_McKl;dzS_>iJ4%V1V69b1oQQnAIw*L|zWsEGNx8p_dJL%5Q>TQ$^fDIRR>H@gz;K-TBcIFKUPfvl|o zrYw8zNDVM|ONk(5YXS-OQS9?z94P7FI%?orvTj7~I1Op2rTFyKTFBP}q=WaSAqTB) zmsk6(akc~^u*nV{ox@l=07^dk?Uf2z75v&BUnbQW3;`O8s(-U(hG2b$86?rR>%ZF2 z9!zQZj)hfS`a7m=TTV+$F%!2G+cQtJ$k%O;83!)QimR&5QIV7=FqB;-12#`oTX${3 zVrtEkACh?LcQ#8XGPOE%yP|qt48=)!*+!LqXes;PEyXHVu8krDcd@>T%0vH*4-LCu zHS;>E#*M6M-+!|3T_`UtL-w*2n7+jX5Dj0p>?pv*)1y^R1;0ieInodegcR&}mS@s! zoI@iGD*c8K8KmSekY`rumYU6w^MpCGKB_`vav;>J)yeW)BCD0aoCy~i=EImF} z(f$GZF_;4r=)%a9_T@WT<~JgfPa5C?p7vojXX+w|et%%}Zplp2ROuSJBmiJco&23H zBs5msYDk@pmqo`uPF(b`^dQH)!ksnHDw8yaF%ptH zn>BMT(tk$zyt0#v`uL{lSz%}uBWFtyTidnxcoBO@vwRF0!apP{;@*Z->rXM1;gEFo z{5HGW6Bea}fn-ZukEfJGHtJz0N3LV(5l^@6abWn+;JZOg9)Cga#Y^eGae&WKBU=w}%l~KaHM4T` zGfU8$()W^jE`KLoTu7`~Z@A*Fr|TA;6?4+?Z8)8xIJOg={OQJ_p8HD)DL;sWw337v zRj2{To*%ew$QZw0F^Bu_96&RCRWoedrOMZusKu#E445zd$g7EfL3y8-Ni^9Uc8?rXIt%= zXmO+*bC~TPvZMQDG~gndW*abcb`}D&0ow11$+)xMm8OrX`?xq<@nTPhYa`EYD|L&# z?v^^vIV>20?em1<@e&Ki$w>gCsQNq0mVXJv__IY@w8X-(-2G^Y+V&kBY}}8QFcB8o zd90DQ7$Ja^+t3Xd`%2RtWHC4(Pdf{N$kY75s|bPdq9uZnM7&%WSnK{YN~zzZsx8PrhS2C*AcED^Bgu2zmyyjb+qa{|K-W&H6z2P0IJd;ZQJN5>7? zrWO;UqTtk0Je{V16z0)1qwJ7a-+z$S>${db()dVfDIP}oJLyFUiGonG)k{7G+3TSy z4Dw{4w+A}u#qS;*dOPt#5wk5mNwjT>d8ttyyy-&+A-cUInU%Yxc<@(?vU-jnn)#2w(cqD++v8Pz`<42w zh-SQVVdfCHUI=VZGy}aER)2D&>#Y8Eg{TJE!uf}nIF;ehm8%8!{w?4uEYk;%WL3$HCwW^)lEIHS(ITmTf43Hh+#9N-f2MybI|? z2?gqyZD;*S30jShtjq^VCdQCdBSZlqMWtYQ-8H_*2fFJeb`Aae)HhqtLF(F46X)ul^$uPHIA)LEyaTmF1V9N zGAu%u)sX28bT!YWn_1Q_H97Ws^^Nqe>w|uT!+UgO%Pbo16d+wi*#f4jUdH((P2b)o zkaIFm7uo6ucaf*?{ag5B|D6lG!wP!HZWx%#~S9Ypv!e6DG8;*sS^Hir>4I8CII$>kJP>@9n#U*UC`B~&Wj%!*X7 z-x0FCmA8shYkRju`&C_69nxN^HQJA-$3O<=-GPCeyDO#1LdIv~?wM^iY;e8WERgjM zLu9f$XzTx%WPioXj_0GFB9C~H#OT@UvPA_;RWw;pSuuM=fv>))>(#!V)dX9=cvfasq^?S)N&JF2I($6)X8)^i)8=2t~t!P%F zFo^sJCR;p{(V-jKlH}CD|7)xgWqev!9*&S;KR6`*J^5(O4Fng-YZJ zS6H-qs&8gl24jTb^ITqPq0Ed{FLk%mthc^vc1~yA!-phJ_L|pw%X?k(dzSoY%m^i_ z5X>|rs%WZzqPfE1^!3%5(EtFN&L9W2ydBYzXXNE2kr*+OOhjI zj$6pJpj#*hVHk8P4d|{9_iR}-eF~vCGC4(492p(Ne~NLV0&Z=0N+>0K{5vJL+^LIt z>swbs*}zKjL7pyjx^8;9>9Te;GPMH(w|(ssXqtoW0Xax5&>llm-4K!ll21UC zIIAbcb3^lF7hTUGnE-mV)ieWvz8^@hNYHUMki}BL0JTTh;pq+x&9;r|$QZq{jed$- zr7Wa>YsfN!PJS_Zf0aU8>+=H}q)4M!ys9Mqx=Lk5d=GT0DajWw7_aff0r2jAOs7eH&MZ%>$sJm$G|a&|sh(3}o$T2za@rpIz@>&Xq6g0$BXR|b^*~jzvO#eoO$|cT33eQ&A5QdCv&L;z_7v|qm0`;- z#OA>`dZ=mv=&sM;Yvyo;D-}{eKw9uPP<6vsbf}PhlCcd{)nwgJo-?z!=;r2sQUbAq zs0T}P9R4N7^e0HCOpA$x@nVs!d2=f@Ik3D?d&WS?__)TzM6Tl~259+oLY5IJo`dHG z^a-@b)r1?=J`fDjU3?GT?rQKPW+%J5LfJEz){fp$1+K-5`}Ry}kpLiJH-{Y*3>ggN{K~U= zQid&aNMW2NlUclf8Y}{Pm_++EXN%+kmKy4O>Oo-IDi)P=?v-a+PGoE|r!Za$!CkxW z8m?6RIG5=EnY05y_H2-@z_9&zgo|Ailvl9&rL@S{o@?}V=5_|yXR-!~kxHZ8WCY^# zdyt~uaKnX<+r$TN5fg;OUbqX860=!s@=ZLGw(1B^h*}AMY%6jMX7Z;TMV6`u7=~RH z%8rqm6Abgqx@DrP`5dP%!6z2x*8|(|U6!$Zwcu-+f7%|%ok-tH-~Q!Wp7_5iyLJ?X z<8&4}q~Z1nat{5mfYx6wF{1>SF;awiBqa)q{jmkRemuWkrLpv%;`J?@yr|Y?UxrfM z%4^K6`SL%1{!jZ(x?aa`dx_~IjVh82TygNUXr^CDpAtG5JN4+gBThs(u;4qA*R>kbsH3wOWAUnq;)4w>ieCEv;L7) z@YjaXY1khidzw;?D?ROa`uZ`5&Cff@``8hGkNg9|HBEe^VAD0{-yhe#=BEX|dwuw3 zic94B{hZ^>-xCQz-ej8sGZ%VQ*bW8 z`=rtu8vh`+m=072-V0YP3w=oO$GKF0C8GxhEhggs&)&E2Hg08U{uOq1(Q(i&72gjB zF~BD}v$Hcnry9W`$R@Nz+uV{#H7S+L-P1t+#sD*aF27{&IhUkJij*!XQWhN*5|m4p z#Cy*@_q@+{QZ9iz&D|&Q(>R3u>z{b?=V(%{YlHNLTb`qN-qFh&4Ugcje{#=%n|uQA zc>@qIjONQt8h#39C%YE6e~zDnPeB5x9KZegUxn=Z?brV%rcgvIHb8SEa^{7+VID{G zV1*4_*)6{2(ilecCEVlY>4XBl`3u5my}=Gb4nkSa5Ik<$75C)7K$!{P|3S!RMT554 z`$u7sQ`aAbAaEH^V}Qq!P*a(4Sj~Sh4sNK zB<%G4I>t)1zkcxE>6{zEMObiX-T@;qkp1Xo^g4&Zp7T8hSyQ-8wI`P99Howxm(q>U zfWJ*wUhO~1>KutVtO+z+mT#xtXCxg}Yso?*`Zs-QnR0vkMKi`^=@*lKI(EM`Q?W*_ zmSr7i0?WRjdNM~efyrH3;ToF2ic{F7{-F-95}V3hTG93rSmQ;-*-luY^wA{MbL$nl z44f-hk^^0rH2~+{lHaVd=7$=imiB$*CMyB;SJ-5W7}Z&Cr(B8i9>qKr5?1NDmxLYL z<%c6-y}@yNyUGL_E*zzQDZJ@a_-VWh_x4eJ!%=`)nvrCGVw*mydhW+H^s%p=G50op=C@O@OzBZ9EK_(SEC*2S;oHL_Ef4J2p4zYz=Jr(9m3C-PWhN|R zd+Lxp!NAQO2dIeR4c|6Q$CDkQv&+_tn@f*k;pUVIzJkxX!fOwIx-*6|>4bSs&!lD2 zm|$wAcAB!Q(xX_;WP2Dl+3|EclR_gUFyV|O@Ci^;mf=ke1DhALnedP+T_<`3b*ciYghhqdi9EjZxqEwM@?4!9u7 zx@T#%AvcQW39^KL^U}BM(XrfAlqCrv(C{}*HM-D-j@;FO0pU34drQ}ycG0mL6uf?; zlz3~byWQg==S);eM7~n*cbU8$%Ozk~K})%WWXYb^xhJomhTA@h$zIDTU(#_bhcMdi zPTrGm=M;eF*Q*+vB#hWDeD)xv3$iP^npN0zHmz4nA*GYF8#e@NoZDj&g~jS7Oq!a7EbZ&(v8?8&j)+ZG7Ro5DbyEzCf1 z;i=^1)*I|phZLuuB>qcnrcTbx&FUG0AX`Wp{H{ZAGzz-GyLN!O?=$FZ?Aie}+o60F zv#+Z|mb$usCe;VA35v^`nXS?H5<0G^TSXxMv~V;y^O0FmNifUuoa_MPnnviDH;Mo9 z0k;baV9+&MJA>=(x<-=>QPss-cNOm`n&T+jnA|YBW&)%0nwif$AZrgfR$Ik}Z>WZ^ z>2#q^ZeMBoSO-ECPp)zrUaC=aNqb`6=N^IxiUbgU7CFABY8Dd8>-ZtS!6`l$ZJzGP z59GI**2NM9I*u<`zqBoRDvFluiyF~|F;P*tGkX0~Vpjm<4|gAa#`?YJVf}c+K@~~{ z7!xe6r%noT;4ffpK|u=Pgl8^Jxb!gzBLqyw`6-nLH_I|bv?NVKJn@n&lVx7hEV~LL z(@~ax8K&SGh0-5imX$QN+Nljs`T$U=CD*d!Q4FrJufF20$oT{j&L2%_gB>*_;mdXu zHhry5gHByylm;~ry+dm~P}bbMtWLd9jYrcvoIlLD)?1cdn_Ehp!d+c`)stH~#kzL5 zr7R{Kn|D;Ucr!B4zSG*i-j&Td1((jA&9-}gtdM$8QhUiV|Gu*v!&q;`Y zQc%PB^yI%w15g}T6ratIEu4F@0@l%MBkI(_$x^yrGY)4&ui}&zi_!_v8L=ReK|L(m z6o9`$Qw406$G1qDMR22 ze*`xzWP%`9ZB1}_6GAQJJeVtg%Chn*_Q?eO5>>NhLBXoSi;dUaFHv=sJja3z{e^ri zen}rcL=_F*)A`BsXv^+gT~kHpGL@Z)g|0qdb1&E2-@&0J?8JoNYr2{u*^_r;n|G&a zy6oBr)^%Z@z3j6h#^!n%{o(2h>Zn4u8!@_Gh$nKx{p01IUoZ(HS;?F;D|8fpL}d>UO7Tzm^4Jl5j)l z7y>X3vRx7cT%KWl<+ILz`9HlLhk~DvUEoOTYORoCU)N}GR)0TsZ8Hv~Aw>TCxB^@dtIZZ%ylc8cXSS8ZrhDYj@P??;1s$t90`(^IOhAm zx38f%t9@-b=-si!VNcN8lO@BdquFFHc3pCh;*EY!>J@V@J?fa4d$;!LLHE}faev?J zc8R=7e0b}NYOL3?Wg){HDwf#MgHRk*vIZ4mn*GI5Kzn0`;~VFyFw(4w5il z(8&yKglSx7Potx58;nPguekeoxs0EQ_i=Xy?MQ>~FH10g2cNUL-^>_(Cja>nhL4k%uIVcT3|GbLBX#F$JDgqu7Sa?XVHD1)bdj9Z@ z@Q|QbrlMS|0yZ9krh8x1B*7MP7E3n2%~cQ1wX4js~jur z(U9K~E0iorwd)Y^*^497tpAgGf-@G6VhL3q3S@UhBOY?2b(D!|Q1oE%_gpASAKs>b zWkpthbj7O0Ib_+?>XW@^?<~v<$%WEHdfYZ_3RZReWRs$A2?JHXbiN`(ZN0nmcwM=yCt7KPIQqapN{96(dH z7kss@p#BCt#Mv#2y1X4S_0>fV+!frd<-Q z*TMd|PK}T4X@g(k9P3jgX!h9UrTMcF7d)-j88-s5+BtLs4o!+%y2m8IGE|D6=YEET zq!g;;X+^F_2&u{ZJ><%wM5J^H(OY@RpJ&Hva7fP|CJvZo%80sy0RJ9!jH5>aZI^d@r01NDRI)mCN*AK2Z)_CbrET+hhKXF&|M7f+K)L)|9fXREJMA(e;LAS}^F7-$ew7N^h%^mxI zN{?bWpxWVZS3myL|9}SFW`|UqX7iF@I#yK*E0$>}0^(T=DTUu?)w|$-il%J3u-8iw z7Er5O)w`nUnx^2yp$qxiwQW`&=yTt2KML2Jc+E-IoP5nGKd}@F@}lY5bmHBG$UrTY zLP1{9bKRPU7{mDA@oS9s_^HT|qxsxLk6JFr9BwTH{Dpn-7n` z_dUf4RLt#7cxk+-IQ5Qu%@!TYD6`$6vDNEaqM%pnAlbjk9$(x-%mXk76(0Bsa6n7Ilr zTrgildgBE~mOuf4Swh4D=rk%@h;XA?Dh4gLjjDjZmR;3rZcg}q4j^oqFiOd-T`ne0 zjpk<|5weZ9!xl|h|LLc^Q< zsK6UsL!}tn>j4rc>kGlM&U`)^AzZY6#DMbDDUtQET+=OsgogH(JO6G803RjUUUEzd zSyzC{<$N=BYJ_Xb;+f$*C&%oQQx?SH3b3GGD7@!t?j;CQyr&(V527%5nNkSFeDN=S zv?0df7uVc>7hZ6e^vWES9@RUwmksx% znhWdJm=Z^W?vf$1*Q4gwXg(j?7BsQ5a_x0KrAPJ7?DagKL3cUo2&Wc;U^x;tO~Z8t z%evH1UDaQ;txu!cCk>v$dAy9HcA;c+$FUSznhsn;wdB(P3zixWgpNT&=(qIE}B>TUYEjQApXlI;xzs6Vw zjIhWg48`xrZrmulQrfPw1Ap@xWm~JV|(8qt624@t|3RBKE}@x_eexCi!C79lBT-uWe!|_ z#TEbyKmt>MY0ji#Dvl!8%qf-EP22FSH?8FE7uQhoWdo%U2{HX_v^4hjljl+|zV zJevI3f3?fM^RQv#L3bNyIGKJH5fjOO-VxYv6s2Ex<;p*O&rtkrU54 zj`Qn5Wn1&dQBv-99qao()6#WZ>r^f^Wg3lL$HaJ*Tv@42;}u*_buF>z8SbM4ER|Q( zZqQqUbsZZ$x{j5z?K-|Gcxo$bi92{sqgIR_9at@C09{fvfwrcPaRx1qI;sPI>&S^K zgYKB&thzU22`$6NY*luh(;y?39(7bR){$p5=#Ed`<8Ky%gm(J7nK-Fw)F$mAwkwuB z-Ts2ETas+my);wS1Qp@UhjcNf5Fja)sbk$U4v(BaZlaIa{T~o3Od}&GD6(J;AL4W|i(-vh>pU-dJh(g;^0f<#Bil1gL30&%^5vJ! zyHf11)hu+W;(+_*+ zcyvoaJU}Er595!sTA}u>i(tv+4ra$TR`EtucjFb69cM2(!4i4MloXRzSCPk}_m6Hx z{*M5mKwiHsYm-;{kumEsX(L^Ye{lUg5SD&;;z4E!3VN3CZyc2}%ApdCbu|e?=*4UQT-(`#!UiDyM1hTB>}Toq&bnuWIoX zOSNprt~qgvXgQLI5Zt}}5u%@T8;Qg0j|`RemU)Z-ce_mT`KG-yzUq^*8&!N&?%_W6 z=(vhC@fGQgE7>`YX6@jOf2A!pv3geF(ex`!-{m*D=9>$)z?*LEE{KBRiYi6X?|T;- zeDf*f=>9cWW4~$|kY$0#^ysfv0SxG&s0wR<{)uyTgxN(6n9#YaweqJwOcQKbau;&s zh|CrHp6n9Hk!-RE$2?vH*9DeSR{8g^$yD6~6vUka1U5Wrsu(s0e>|A&ec=w^g|6VjmSO77CHcQ!&m5V()(x^CZSwiu z=G_T~WVxDmxq$~+e`uA2(RvyE;p&U;mgGCYh=iWis*y4K;wu)O5>3g~mFZKxd3Ta! zDz0N*FrD)Ew8Cxe7g$f&i~^?XH{ADY!hR1oH&O6>#l&K&X4rym)p{Y`3X7?xN^EmX zwqICmFC&HV%?+_P!KPs08r8F1xjr%DLf2io!k-zr$%~(te_<3{{n39~eO+8w7E<%B zE95Wz)N}_Iyu65D52e}C} zD_+tYD8B!DK$I)~lYxa~)ini`zxZ2hSC*J8PfS`za1`4Xqzn838(j(6(twGuJTa5V z0xlR+-E_>ie`s{0e@9f!v!4RQHs@zxL~QCtb7fPKaLU*lR5zMunz|-j!n#cACQqqB zT{h|(w$gW-w>3q2qd@{e_6&``1fC9aP!V`y;Tc}_WVPN>ccE&t!2g04;6f>BmJKed zGxEsGKk%=Aa$$PI{UiJBKfhp6y+lOnihHpY51s^*e>#}_D?l%Z;M5icK>pik=>F+6Vnw-0-}{PwE<=B*s_uu(R4OS3HeHCJTr;sla+Ag!}mDYUHz)g%{hXoJ8! zPRPnue{r;c6QwfVe*?8kg<`69l4RTr)q@Zf%TiN0dMcD{QT0~TJx!ew8QwCv(~kg5 zCh#~g=eJ+~lW+o*x)DBD5mxAgM!8Uv;>%1~N z$}Nsl!Y zf7m&{AHPbNBCof_gEwUB zg25n`HB-@L5mE5QG5yD8&PrF%M1^S-uY()3mT_dtFMs*#_aAx$&$8hK(aa=@0x2lIOn3irD>RXvk-sZY& zEnD&;SvJvH07`nmlqz|x*)mzC^O7T7hfl5cAnT&JAW2}_EY+H;7;W+U%%Sp$Ql-rx zZI7v$o&9Xd%Jgk&@@H0Zj<3bVE8?5MNM_o6os*gT5{Qhf4J{D3mnY&Z`VRp2e}1}U zH-Et*T+lJ#!RKJUS%XCzaQ9*4FURp!^N8dAFCW%bP1i&a(qRxku%c0Rf15`bYrt>ZUp8q5I6Z$1<{xRx&DH{?&dsNQqcHp-h=i1wt2?b!lOqTY zFx}$m(-8sa(U$FR?tvKdbVdkye>?OA|7}CqKkLh(ADTRR-j)Z@TgfoEDL*_CFPH3= zc5i{4%>?%~7a&UjXg3vi@DV=^CQprgmMsnEU=S|>JVlg*t2j+Vn2C$ik+HEY3-Vxl z52YdvgWw=#@+Fg>z(He`K#T=pdAJR;%7flFTT+T^=yJViMbL;XMGO6gf3&2g&=Hvf z+k>K~Fh*dhz}>?}$qcqM_3wlA3q}>^;R@o%V1mu5?eHzMX+)D}sAc^8ZW(+c-YdL+ zLyVmi0;_~JA43``q_QWZ1rUok3g|$WVm3K3pgs{t)c|^`GG>! zW_C!hm{EmI_P-{dNvXN=e*lA*Kx^;BizY{ooB^mQd`DEv(^IeriO?Z37tCd9z0hzo zv)3Z0(o?DI0j7v+163jQ`ViEZZqbte+nX(`; z`xZ;;OfI-bqVwU#&8IJS=xAw(R71ez8ubp<@aO?V0r5#Og+mNNe-Oh7y=tJ2D)Nb5 zwpneFr8qSfYxT#|DAUzYCC%I>L?{8W7e^*`|0nfBG1@+AK+unlAVx!OcP~1WC(4d= z8oF*D)q}2G2{`1w4x&KG0>X^2UNjK`zP!+U(IiXuw9^a%Ejvk1PnBju9ErO;3VjK z%h#h*UYlZSo)HFG!8C6f=FH1C39pv+)5N+;J6EgO_cnDdDz2%DZmpF>6>SMRNRQ#| zGs=Z->Bs>PDB&dXIIx++h=y9gC&HOJG!No0!Do7bVy}pcqoRWQDQ1Q!8!KHG63v^e zeX{oL1;`SSe|emZRvYbqP|xHYlvfNys5i`+6qVDk)a zTH%Z|rfe}9jqeXoc-Yv;$Kd5TP8RuDWd1*b_r;8dF~BND+41cnm@nbJN5S*MlXBTpSV`?qV|HE+1EMpuQK1 zLP*taO(STyCN>-OB8Z_BB)}+0hz($HrSmv}X0QMZi8Z-$#Io9#HW9nSkhk3^k5Jj^ zyvtrUs`Myk#f@x~vZG+)V@ElHwPYw(o?+Z1>l9ogTW-wkrSQLtrE)f~~5FOXt6 z`MSaBiWW?}a3>F$I28F>q+uD7;)_2A%Vm5GT6DSi11k`lXkV;A}YwOD{4G~4qW1G89f@XBefq6%~Z(}g86 zwYPh@m{g#w$);js6YGVPj4IHiq%I6!MhtM?v za17u7NWU(?6eeM7a%_*}VJU4$oo|xm%XSLpnpoG>{-{~-)j8DUzSVOCF)MdPl?Ic6P7jK?-s zbp~)BSza~*JB8k`X;iw*xPObWv)*5m3scbfRT*QDGwYXZ^zRRL8Zi*}6_0*kgQR3| z!KTu9lgw$K&ey;$^LVpdaF2dTf69^@c^BNr$@HPtQnJJ4GV6F;#6e11u;-9rqxJ~Y zB4x%Y`ElzCrPo{>EwlNd(1J}qIDLZTC!EGl0o^~Mv!wHQl?jlnSrm)V?qK_%nu%a! zYS>n7Ns?^D=PVgEyrzjVZyYtw`Rsk1VpuJfi2GO-b{9r|f`xwn54v-~e^@yrmivjk zf@zNzdodS$UM-=K@!*%9NH5=S5>Poa?z<)V&3J-&aGNJjE0QZV#-X<**mk~tSbYMH z4!}8tYb;!yx+We|g!GO+~b-QctoS+qQ&l_w+DQZ?cic z|GBpWfOjMV=LM9XpS^hKe}<8VZfbIFe`OzG(bi)J~~ z*fcMe8uLK}Jq1wlPVap42UD1eD&FeRBf0e1)qyJHBZnm%m1-hZe zB6Q26SZLo!|_gX z{(@}La2Ax#$-@Sq3-=5_!m&Xel|T!!nl6Zne{~vU$I_!%ly*S}HkC8zM)qMg zDypVA&Pga%dK3%Aw#G$4J0ext$T#S&4r%O0VGHxWLMWz7Vax#b$0jLG4!P!5K@1tm zHB8eZdSbKFkbi1X08$D2n8#ID$1W3{-!X;M{_h?*A^{bYa~!wi!yE!o9vN0I97my= z8Che1e-(|g`&%q+si^pEUoXtzC~L%Ak*<7zNT;#C3@DyfrB0m~U1GwjE{cL9ou(1+ zlt%TS_vqVfVhM;>d zMolM8&NhW$dV-3rO&4a#gxSu$`+UQNlE^0BG>bPpQ@eEF9u#leW@kwEqm>Vq8Vu&U z;r{XYpKKk^vhJ9opg~^oLT^@?rkJ883+ic@bQ0s+k{2jR#lkUk9kL#{uhGxUDv=)o ze>yy~PbISG@v^4NHKi=N2Cqn4T-e{cSUBHGWW~@`UC?S60T;1;!b)U87e&XAE}HeA zX6;jnEX+iK#rx$gPf`WRx}3tHQy8KWSrA>tQQeDmQz+_PQ&C}|qpAt6Q@6?mNisyk z8X5@l{Ay__AU32eL6l=1D7HAfBYrPnB$`06WF;yu*hd|K_wWx^@$6XX@Lwgb!yPP z1CCeB-G>hwn9jag6LkoXKEMUAc_34UV3?DMTn(JWhC?IBXCFd38*0k5z}fVV!E$xK zS!Q$Tvqmm*0q&u&_+tdK*$U!N)+q#K@OcHnG!`wS>87O1R;_$Uwsl!jf0be!=|Ea& z3UPn*9_ZC1Z+{}2384zJTv1*Ob)i;T?u(XO>J%%#r_P4tjy?Hgzsv9=>@`eT(i)O1 zYN~+)m&<7lMY24}ehq+?3Dy&-s;4@(bBXcgTfDE|46?I|$U z9BH~H=(2pl#OfjgCB=0#-mazKc-fL1oqsC>=i5?nAt2dM%*lBYe-Lj12JaOf+=zLt zRynl)X)K{@=yqK{vknXI=gb^l$JSM&p@Mrrw<-B)A%&tJiM%L5jwU7Ix8S_PQ5M-L z&z5C3(_kLss$ThcM?AZ&*dOWuF>*D^TERHze1?U5LHH($=fr{FEoGHn`FQVQ5F%s2 zb`5tsM_VE*6ZX~2f3wQhzHc^X1m3cpI!Z2Ynz|)OLkDpto14mE#MkvwVTfbTxW5Fe z0t7oBXFJ~{2~oAn7f56vhW-9S?w7)a!>(WKlv<&4^mwxaFdLm>?Om*pkr)!oiT;{bNJcU6JvK3i14EX}gpUdo~ z_@YwH2{%(x<26b1>{={QG(8>qKf2IYty?&*s$1evUWZPHN7B-gGa)M(V+sCH}g1OU4ds6cd5AZ2~58@VU zH9}RuJ(Lu~z{2VZd0$;l(HFaJuH&iqe^Nh?-tD8hq1SDr)>r}>ExI7j4!OU5Fo2$; zI<|EZLY5xILda5qR!8Cux~E1E!1tM&Z^S>Bpi(Nse?L#xJ%%e=dl7)(ar zV4&;NbMGYh$bWr7*W1x(28UxWG1P0}u@CmG{i(3MWsUpJZ*7$&y5sPRLX{=h;l?{G zt2>Z=f1OhgEbH~b`f+AZf6|v_kfDpB*}3Spm-;F_s+%2f7cW9+aM^Mx9amqvx?$8A zn|{!ppB$V1`zkHmEiK?}r9C$(u54OJ)2|T5KG)8*`aD^8H4#zi%bHEJbRZOyaB=_s{+!$V3Zk`MSiAE3Y=X|3wO4ges|{sPBDDLh8TFjD%j8m?+Tw*akBQK ze>JxV({-4aXRy{#oh>0YV9=8DjTSTR-=QD9*nY|_5aD@Ec?7OaN*s~${z3i4+%ikA zFNx&lnCDKMEk&?dYmZh3feNoZ#?L^MFd-DVzbC>YnuE9{Kh7!G7!|-%CkGJ#g|wVi z9`U|WAuFbA$gaiGWuVKN>ueF!vbdile|c&##p_U1oW2=X(WH?7vWdQpz~9Ubh(=Xg z`j!^jmJAyP67Y^`$*#i!<60xZ{@rG8-oM-L$RhUdwp?xo%#1eaCew#7Ifh#W3AD+R z%T4aPPemQD{37O}c+DljdXq%V@a<#8e=#sRV>u8_)dfSctT)AzCF`1n2BPNZe>z{! zvht=asD=ZS+0x*6L%9>DKC=s?R&ouRY7Kz1ux~Ub#!rn+7r~Ot{1Uk`?#$dQlHi4N zVzN(oz3lL6??ml`Al^s~4sR2AonVP%)C5bBy6%dsu-%I#KR~N&MC+omx0X1EyaL}* z^6TZwJfFV1ENy3ylgl=;PXzU&e;xqyuzc-^{I_$Rn@802rCcUA^Qy?qY@@8G8gqlLw7*Pm)vSpt{R zFDAvnoA$Bc1Z>CVXZb0Bhvb`u^eqvy`3$zvsErM9s|HZ>znxaCo4C`A0iUiQy zLSM4*2k*F+%h%MUVz{#DBGC7iKO|F<4J;?AvqJWp)^q-&otz za}kv7x`+-qk^O92I@3xhKDaBC@^Jn$P(3hSB_i+*wquMb!NZt9}IO#A7 z`k>oBtbT6Ry`_gvh5sRPP4UHxfYNo|`mh~>L~%T^9E5yee-Y!%Byy@mn#05-NR9)j zB}+G|Y)PVE*M+fYnX+nY+i2LSHzL2k7;AD>b zXX3bD6&^g>cv3;;Ez`aPmU8}Nap46^HU#rT{g#sf?ga}1P#Ve;`)Fw%g;B2PA;?gr z-Oz0nR~HpYf2s|A6I?+xT+CPe-EFAa?U?fCd;u9`-R5=A7!Q!)6g*RDiFqqLGwyIgR}m!B9M5bx#j#h~UZ!{Kx75$b z0P%xzcKn+7E1Rg4KIg7}A!f@jO!yv-EbE>+9(eC5e~z}&I`n34^t*R|d{}?Yl^moS z@kWpt4plNG7Y4dc`cNyqQg260{|CeQ@tSB0iZ|Xo-V>ak!d&@xrt((g{sRGJdU}Gg zpvVT#R8V`qXUJUFII%m32V4C4zxf}AV^w8Yki2^Mdt%3m&;NajR!J3INx_Ex>7HMg zeC~wKfA1T}sRTFM`p$9*07a@qyS7#|$8hSRVk?5Fju)0Y#i@5mpbvQJ%@h?BLogM- zhU_INt|>X@R4Do;qeti`{^;_mqW^T0U6@+SJq;NU;e$%1B>lMUrsD%Vf_F?V{

      5j@(;VsA_%CNI^`WU~=1V~hJ)#&P) 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 S1^}>MujSWyQ!1~v2mC)&mRWTG delta 90276 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 V49x$asP50b`~1a=xlc%x{{f$uM8g08 diff --git a/nostarch/docx/chapter04.docx b/nostarch/docx/chapter04.docx index ff520c30e4981252da2706af836becc43c91b6f6..f609cca207c21afef2d3525f49501c0a31155772 100644 GIT binary patch delta 68989 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

      9Zzq2@(v{%#9+mw{SsKgQgcBb7 zh`|Ej1&!{SQ38%1ST86mAl5x8Q>ZVWI@-v)8>m!*5Z#Y=PD8U|sbHPfH@xK*UqP12 zb7bbn1-RVYNPX}=qEFCmcO`*aQZ@Bbh&X#s%2AlJFdwL5e;z`HAu7&cSW}TLYs2D& zEl)#0azBhRspi#p_B2Ssh@_a?AFtwX8r=X4!gEbc_Tf_J>Y?r(=8Q zS!%C39*zL+8`5j$@_Fy1S;}A~4~SSd729$g9i{oh+q<4S23&e}?MuermW)(-kTU5TxWlFN zeDhlY8fvzysI~`lt? zr~-_2wN`?0ZMp>-thB?pvJiY{55i?{!?lQLfA>w>XtbIR6WC^pJ3kA;5EisZLy}5A zkOeTpv>#_rKMk_xN4WT6)nSVM zYYU9Eozys+A;B;n&Qw2H(8FF}Aq)fs>Yd3fRczzea0)yzS!XR61!Za;fgqkJ`n ze?(TrWWvOO=8@b@VoNcHy}ouF4ev}y{Pv$Kk3ih0m6;(<7CZ_Qym|TYD8U^Eg?QZF zBHMVV7zVg@HYF2RSBJK-^rzj=3e+Uhl`Fu7T-Tq&eZfnwMSm%`RxZ=zZEYjPH)b!f&jA=I0amKR+930wF^CR8na*52&eUtEE+5&?QVnHpmG2j zB-Zy<*MphXeO2GJHv(*=4OO-04qF#ehdQS=VxtZA+e(hBQD|MRk$1V261X`of2Bue zGl5$4$rIn{{ouo{c8guvi~G5)@2|FCLS~(9u~LLnRi|gVn%Syor<;!1chL&`r5!MR zxNa-;8|JE*k_ZznqUZUD4eJKBt1&Bbu*{4BhY{oV^H0Q@g|m>V+AOjce9p_` zms|2?Xo03p6?E^f5AN)H%D`mefAj`J*vfyh)|L33x1iS~Z@Wp}-Ml8nhb!haxmQXb zq~O?!#rT10DCOPvs0brgX0*)yd-l7jyRT(zJ?y2?Bixy!$+!s0D}qv!TcIof-+uE~}7hex7nn~uUfoDbjx%>Fw7+QNS#(8|~h*Z$&Ew1QFg zv%lajbsavgQ&&YG;W)F9fRwEvJl(c7Z>vl5GHgxjV`O*TKGoASqqp~j*DvM2@b+WU zivHu_k8L+HmX^imIX7Vwf0hL9JJu5 z+s?yd4jdB^VSso{7FQH4#$*m=s2Frqkfs9yQ5}BF)m4xY%j9kVis(aCY*adC52MDs z&&)du-8{$PWJ0-{e-0YyeIq$gGm&7mL>OS{09@rv#tH=`?;MfZW%4UnbV&0Ar^l3P zYZyNS{GD;;NmzzBNDqhOWrY&?UC6Np+zE^)r3hhdQ0YD;e&qvx(-^~Tr*vbwsxvgP zqF~*d!LU75u4S`1Kj~(#6#j{u5Fm<%?k$v&IMP;G9$$=?e*_K}+&E}-WSP-Ri4G5C z;qCa>_wS*aD#%~WkUdMqzf;?Z-P!VwUry24u@ zKhrtfgJ?)1y)hd$><=)vu%zXOvSo{nhn1{lAnc4Wcv{F2PC=!ek(&f8N?o9ZgkamJMt7qkX-5P_3&C@38MM z{-sJzlYm?+pf%JwZ4z}izajB?i1`iebqUryY~LgY!ff2veigB0MZ+kBOmB%upoq~M ze|Vayv?9?oU6Hl=o&9rDC_j8XxklI?y2F$5D;`Jsbu;rwYl+YF9 zEnQ@wv{BU!9H{ZxwW!@UyxwsN7S*~Ef7#2`@CEn9J}0t1T0-dVA7YQFt`Po6v!29)Df8@&}Nu zpZZg9T5qfDsnOw$}rvQX}Tk~q6@|Iy6_{U1JOHd8k^)Ff2%=tXOE2B zV56n86}8iL)4&=IG+ouVPULrR8gvgEO8vN|-3pyJo2AQcN;LiI%@riSipIa8>jhcf zsxQ6FS+S&>-s)jA>$dzP|$vV zkvPs_t=sE+S=?qcJ01uE=jc#G0*sN<^v$!)aON};iiTM;RY;C zq^Wj~ZmykNX!O428O}x+blf~ktFvYv z)N)3JK9a^5>y{Qle-0%rQRTk`zU^g$evjJ-ow@tfHfmu($L3H z)awO`G)k?><<874P zc14+|74GVIcyKf5mjh=lV)$wme4IToC=sSf#7ZZXS^*b(XT*;)q2R0`*npgtb^Ac& zS85J;ow%_7@+;et7L1~tm1Yp;KZ5KTKNlne({Lp-^CvhbLTo?|_>2+U0<>3cZP2r= zRuw$mf9dP4t?xTU;qhtTi0J>RO0c}}Q9eycUZngaLxx3Ca%FBwQSRBgNuHAJHsSN< z$T*1!Gay6y4B^&Jlpo(!-}b^nj@Q)mG}&$guR}?A0bW3BuptTV6t4w zzQ`M+N2$o}Drf9~a`7SAggGP~hFPGD7pTkge~3Wg=`Qo^*&UZ0z}Zb^sbJ+S#qrWw zM2C^*fcjJ?DdO;fq?sRqv{ftPbMBOYr#h+-t-u6Dmpw~vl?B!<%Ne-n{&c|vx>DaI z3rH%(s$lVSKovNYsjJtgbs0K}Y;AnCx|PkT)|H6O>E2IAU}OpsDjx)JEPwSo_iJ${ ze`VfXll;3GnZ#!xW@Oqc@sC&t>Rr67DaM48)j2@K&YW)d<0mYz83qb;v8&X!!DN7Y zh1-S05H|JiTmkHp6>hDUoP z{m!A*?;s~O6?dCZ103YjeIaT{*#mQj%ohz5F#7&HiL;R1<^X4hP}3ruJTeKqlkx3DjkwT9+?KD}!g4Cwbop3MB5 zV;Qq!Vv^F}$R(0WkYO@svY>J(FBmTI;@Z4a(sy(+e9MD91G92X@DSzoe|%X2;1}LU zXjTU^G@JtZwZapJ?5fY4P+<{zp!gU%+V=1g3aGRV)g0VU{U&SeR4vGjYBgj6La`Y7?@3=20RFB3qNfN*4>L@_MM?? zs6hU+UzF|{8url9UAuL=e|KTKZnmR*HHIwS#bmXo>`<3wNq)ShnHhP8F1_?N}w&-|mS!p#&2t^(vYJk8T|8?xKf zLlZTtrw;}@RdBX##ac#9d;u{J<20EsbJkuW8(N(5y!8GNi&TMne;2B+%jtSML^mllJjE}a0fQ&oQV0Ajhms5gC^7RQkp)ZI|Z?7#*68XR>@GdYUzr%X@gr`oY%S%k#pbo-@TK*e|k?cDs%-z>IXj;VHV=i z@-CC!#q?LIeEb6){xOj7l`mLm{TxzSfOrF`P*~Ch+Dgiq0t3q7+#xKzCERA`WCk+Q zI_x~#{5MfJe<2t}2!^m^hQF^8t~*n^;5o=syL=aYQe?YFvT3OM8|hoN!PhTeLn*isWU52mHbR7ta2uV3*g~8yh$?3B6&oBLLr#5WKeP>_~TH3HaaBW-ZI~A#FAk>LW z<%ee10oke+;ACq!d#v#L40cQ$J!d6*Bc7LS_*}3h)~7MNB@=NdTe1Avi`0N2Z=E4InI@ z3U!$Ha#`ZMiexN{!K0V!jB&4QBGPblMF0fw~S54x7EQ^f9q=Vt5Cs%hxf71gGYSWVh7J&DZWnT zFcjI-l%p(dtt*kG{jkh%DY~${hkY)r_@KoWcCYmAlqfp&f6SW2^nZF#X4e%SVs==- z!fVVTN)Ob#>sj)^&ETDFp|eIiO{^*NWUw8&yT-n0c{&cXo^EL^r#e|yUDj+sitK+C8FMg)SIum1Gf zj*S3*&Gv@FFHr&d{;32Dl6?u*%>NYQfB2zHDF8Xh`OBaXK>O0#cC(H<&OzQS1=@)6 z6x;w%Lhx{qGX8>52K*A~oR{$#YIEw{yr+4tVhsAN69i zROtxUoN4qQJj)-dts4DgkL(2D1D~aDBtxV=mNqc#fo8UL`Zc>{NKg8&YJ3sDUMS@Q>DV2gg3wpD&9(Y;%e+TJ+bQ9Gw#q za4gKi`zkwViQ07h1==Vo=g3`pf94Ywx(fSzfGL6<>R97{6yQ?bF;%&T^`vWDYV-#V z`V<`(!%j9m(of8I3bFl^10SXPf@EM{M3)1Wcxwzf3hty|fBDx43Ty%gGtOPL+B+?+ zA>8T~e0Z2m^K@iye+y)arJ4WfrGs~UDM;p+*m1dV&zAQ&JcU-w7W7Bte=^MGaF|gx z!DEY2-u(K@zcDjIvS5~XsAW{CELTUS?XmbMUhUcbvdh6@<3J?FI)LSa5$ zaCT$>w~rumg^{0PjkrZwSH{n>V#c#amF`|tAzCCUeQl8x(HOj)j+xSGg;mR+5lF&? z!fhkNauh;JejF+2z|t|b&`jBNUX>d9!t_0$5}c{)o85NPmv!w>{bBiSe=g_{mjylskvvJ=DI1bZk&)h;RzmmCXOo-nT9{ zjvVQ}3hWVWNE{ z^6som2c@_xS8$@D>HXq?hBb(u3dvMAb)h^3QlO=AKTjwV&}4~J0I=U8b(Y2lgg?-~ zXr^^s>BB)ke|YM&fE3|%48fy}G*$H#NvioSqU%_$?bP%4uoS*=-i;cn{Bf?r{ePQ> zvxj*2e!RTjT~TdK!oS>!swhgW$3oQoke>Glw4gXqiK-ny|9PsADQzBsVz}6VCe{PF@6_=jt;niSICllWCWbZNg z*6hMAC;tF#tf8$`+kn2V8+s+3k#7;OwFlb;ka}S}r6O=1;XAC26oNKM71hxFa@Sqq z454EH&0r(bfF4&=Eemh7udZ^XO#h;ax-eRBzI1gHcg@i@(F#1(ts!tqwqm;m;u4lM*1pk{jX63r zG3UE@%7Sjw<%E7N9)E^d8h#2hW%0dlA$t~IQ?m5g{2RL{yXw+7Jd;0GxdDpFm^lOx z(d)MR7N(R~S&}8O z>vMLxu?uuIQJzD9B6*^1{OF;=mdPMUSqQQ2sU7oiYdZj{E4doA<6AD>`KNF*T+Zi& zFk|RuNhVKKTCN(I-?m5=;drI*a+St3tbC}$+x50|8!Lf2>v=Sc;?LyX}MP?2|V-2jcI?x$x^^o>H0Ck&<9hNn5(4zL@BMlsZu^{m%urca4bB41k$ z7Z9~3a)}o=gN|Dz?4Gz8+)Lra&FFF$e>iY6MBkQt->+l4i=yQ_*e`yq$#JeZ%nS`7 z#4P)xy;OXutGvxqqjpy>lRLaZ&m!H!WEMxGD`EhJco_yL=Wqvo2H|WL`k>oZzP>1H z4r=FtiCGQyf5f(Ppjpp_9QE)_ZsF!JqIpEjH)0Bd>s(pSob#nejaoJ4IO0nWEzs+ma_~zJ z+ciwx*ml614|r+)GS?ovP5DT!J$9rwt+r1k+Gj{E;^8!yh!{$!%F~KExgsBg1_=w| zK118pyb=Q?FUvu}PeaB2ns9pSfAQ*&i?@lNisljwhqzuz zzwpJ+cM*Qo`E51|+hX7}y1b!i^@WXEY6VajJ(hgf#%BizSC=f3tBTo{n`|u|F8U8; z%bMm|k`K;yC6q174q)fBu>2WEt!rl02)ftow?)k`&BPwxo8d7vuxjWje^;!>6JSKb zd0=N4Q*#e?9Bzu4#dj3A5`rqwbCr5&h3SsE0o$dI$JpE(KaHK!A6Sm@3!ma-Mow50 zkat&t4>RW5pWUs;Jj^o6F(VxyG^Z)i=NNg7<`cY#nJ=e^$xar3m&_+2gu-K9f!e_w zd!YwPg!})zQf8dashG^QvRH)@C%SPbqw)vX8B&ABN8aEuRm&9!F>Za^! zUowY?W4vu29Y8O>&F+w=$#&4vh-Vjf$aNLZ-+IRDjIunLt?ptlkAj{@xZug15o#nw z;gGo%5Xiw4AxLFz6+ylxsoQTOhqc%#O?GjMI%Qjaw}|+bwiY1le`v)m@;uw{3(?jf z*v`c*vZpkBI7`wrzKzFVwgb1Kb+vBCPR$~qWoV-$H`fX?t@XT}N-B8S%H-gBS@C3F zc5CV1l5c5>YIYqAI01L*#t-M?7`)ggi0q(oj@@L}w)&*qKv`$aN>jZP=cneeXrIL1 zF4Z=7vf=O+b0Beye?W|*aGFBFP;Le@PZ4Ar?ryfNSmDRHYkm1(#YF}dG^I4=h^Lwb zSkmSQByFyhOxtsIHCgWz~HpM#ae+qsR6R3-JEc;VcW z=fn%|lJ4!D+bZFS46TRv60k3}1{Ah&G}+Jz`laKly&*w$e~@EwpVSl%Ir-15@fL`P z1r!D*^!&VhC<#Rp>-d{PMj_x57$^HCnl}d;OA@60@!eXKR9InmXShLPtvRyQbMC{j z8UbV@?;_#{+%E6IrX-7+f|4NyGa31FoGjBZ+2DYX9Q09EpZXLJDfr?T0-=N}&x01j zWIkV_W0u99e-U6Zft>Cb+bC!2O{3v*4*t{U<#xncp>f zT)Iofvur4!D0y7EZu@~K7VT$CeA>vo*^4EQ%k~Y&$P-Er;BocEsl03%Pst);fFc?d zuGyvaMKi-}Ir_Sb!-O3D6g(6r>#2UY62d#IScI%Sf5=#GlXH!;+|jTqAu+WL87PM5 zD_cLkHQc>v8EYuWA_Z6#Is$L*P^4<7(2lDi)?C|D_pmhgnA9{O-td&+kjEn|beTuQ z-Os`_aMw){e5Qb5nwibv^m*}s3AJrb%4zHiM5vB$XUZPTKyV+T;UjuAWe6ooedr#{ zT$*Kie>i#4(;-3Oc(66Bb%YP2BZwcw$$1@&b*QD@4CfIT8edbmIx0N?wvGo=RI~Iz zmgSnwcZvX!IeqsdW(Sy?hT*H0TT9`7?Ihg-lT!AHS>&C3ADrgZsiy0ywpOcMH@v`; zL=~GTzB2BZkz=+PPk-^|m;Y>&n7U^;0foERf9ml)-QnK+cm*B>PM>>B6^5U0Jay_i_>mw zXK*!Mjuc?U6coJkXl~IJby?Qy6{)XR%^(N;#TOM*{_C}Hn~*=B5R4%Kl!4EH%W^Gz ze@dlKJjYdrq67Cr-1Z~!_AR6^3F&lt2)hd{nIw>f9{_J1+D7bY%M;hgm1MbIkrZgIp{O;|I-=% z2yQjPOGHImW?eFE_CFQ9+?P1 z!;Bee5De!bwx{cwBAr1aoQ{}Q<+2k*%k*qbtv7=ab z$`YMjQPPw=o8=WGSfmet7WhPq%wKb2g&C-lwKa?Hl$uoRW;WmGetQQ&(w~3&f7fR$DVWnTZ(34Zkw#k%#}>kq?OHyY`v6-&q`wTg z_RhK`7rNu6ykVLLJ%1%dPBaa}H3PWo;S;uv z;%Frb?d!TE(H8H`QRt&W|7_3F@5wysLxn+Fz%6ugDW$z}u!ih8PN2K>7&+k}SP1zBvPpo87OQwSLM`v1 zG#!}CDddEPV<^@~0EG-RA#W)KdhaPBj^!L$3QTKoiM7Sbw&vKC;=wrc4oqHKzeCxX~~Wdic%+kdGLjz%#>M1a6H z92p3~j3Vq;Gkiz@2?F96_y#0V0od9t#5Q7Lr(#?VkKi==9L-N$q%@CJ!2}a%8JY0& zPyY?K9zXx|KNNrtk!YVmpMWh|saOrC`)ZWth(|uJQy1jfB?L3_!!%t^sGWZcNWa{u zzpX-Eu_RA-Y6qIV*ncy1b{}ac9a9>LN5@Q(&p`a-X&TMbhj_-TUm6LzpMK$=IiG&% zl<1B61=sZ^WQwuuy4A9PDp?`4m2U;xyBTeg7dDO2qG!MO~DtU-7}-$wtR_YT&3+;D1_LQ0uv@D7IybL4ohG zgXYtH!|-yTNiNOzyC@vFyQ{vw&Jgc`!5t%(=Hek4T^H#as2IQ@ea(3`qAvSRMU(9z zQ2!%4H)zg#5T*K-otsTpbFwD7Y6WbXPZd42J=Aq&!>mNH_#V0;W#IrZaTi#&HiuQw zL1YbmT2of6EPu(Gq1BQfMb#$)L^*W1L6@d8SFX_0zG$iI0Pnb;y8ea@DjE_2rRYW;8sZDgHY>QL@Tu`OqQ1n!7U19znmWG8;? ziSrJi*xt{>$pp*?_y$Yi%Tqy%>^F$M6A3jT)_+W|DylyTyM}X_)*vSa?9^n+gHm8PuBHWeeRnC<0&4AFldO4xZ#fPGC@v(; zNlHsK2Y4vnaM4k8Y)jRRlP`T;bMQ=2H0?T<5I0Y?O=+*V$cb`EQObwMueF{pP*hiw zwjZO%dOl?EekR?|_3h1%eBw+sJVUnJdH~N20)K}XUI%8>zWi_6?Ep$WQtBh#0TeBE z*!nUf{&Tz_rWvu(M#~|~{=SVK!p|}EnpjEhQ(6-d58z%tVU=Um8Rvc`BP?GOVLei4 z9|jIUQPHML0}jTORo(V9tJZ{2k`%{KR$8^cTC4bD2AP@yj4g&7AgZ$;yBt2|fUXp# z@_*CDJZUl^%bDNCi+MPQ=+r2J%t0)z;5?ljFl;|-jlM*~B_w8me8Sb@@+RRkTwCUs zmIL8idUqZQpW}2Hj){;O#lvusH7^1hA!_ld6J!+MAu!tlvqlrVRGd~tL~T{U2ScfUJQ{)O<}k$-l&2d7?w&AF|wx&ZqfQ}d0t)tG=xZ>ur7 z{uc5n@yh%9El`*$-^Q;ZJy$Qf=^s_U1jFia$V>FwSin z9R<^^?NujpZo^oDOriT|-ipXysv6sh8Gruizxr6t;${YNJ-K5|wx9|$_s_qJQ_S8_ z-)<;%JhCOxs08a0hgsP?fqm5>tADVqOXGlyj1YzXB77rgTtP2Kv30Xv>-5U0_e`kw zg%7XH6J;wndFnNRwnAa-HT#~9>44*ms=lbmzF14!QB>kS`Q|B~(Oro~TqS`xASu*V!z~** zx`0tmxMN9-d1A|FE(v{)9e-Vl-;>7wN&bLP_+%E3PrmI4Rv1A-T)IezZzcf#!aO3r zdlhpb1!0#Jfx+t(euSc)(u}%)EaTzhiIbywEa(m$K1SdvlZ~H5;S{fCnYTSnGG5A& zk+PKK8Esc{tl|(G=xlRS)z>{T6UPW{0BOp!01?6Gu=Xz>K8ofz^*Xq6Hc8H6QZ*7QJ=*Eh#|P9-T3Paaj}qa^Q>dgAh^ zbmNGJ6^_I*1;Ja})wXrImg>k`-+#5hT=lVi6wUxE6o~ZnjoP<{a6_k+!PjadWa zgsGloMTsQtOP{ZZ%D*GW1=|qhC54?IBl9-2RyTN%}%;V27g}T5bzpD)X8Ovcx5rR{v1+}Qd6p&76V<@nUs1cj( zI**1G4b>J6t(GA#2BIPx-k~GWhb@hz@GmTe2bU8|xFSQn2{8eb4FENM#A-999y?6+ zN=W92)xHhofV+0817tqI|Nz-HYeJGy4u(7-x~ew-{Q(X0!w0LqabF zSl-10qz@-AP4KQgxNL7YcjH*q=Gq`2f?wf@Cx2ACEq^jo3Ub@q=d=kvwaIe+`KSN( zB4V>(AnXHL?LYtYKZo4gwjJFOMZ0;VWP>w8$J(Eyv+zC={`99_XvlRZqxhoXns&V& z7IHW>`85LdwL`Vbx~}Nz_D?-%3=8joX@HyB-75794Q|+;BtjW5E@qelKC%dGwEEJcrA?@i-aMeJ9=m+?f;0 z_Js)v0Emc*7^OrB4{7x8xJWt>0QiAM1)(U6U4N7o0mBz2;fqsiSIxkeg=(9Yqt?@q z`pE>`)WQN1fSu)d93cw+7ORD|b*WUF8Nr4~^aCK?V2qk_=vAKk&r2OP{H z`I;^I+J!kdm;+K{oFpO6DpkK%{qVyr8Dd|7c0~hkOvm;z&Bc7VcSc-mo65arcNdP+ zzJH+AIF6MO_?oOpP%u`G3LBC`-nksBMwz>Aw_rf#<8-rucjF|4Din?Zw|@59UU;sV zaM;!7AS&ukS6}WdNvbJYstn1P7Zt^!qJ|G4faEgkr6(l?gS;F|$cihOu2Y8&uHP?L+zV=de0dHbO zCZtv5ulSd>?kcj#qBsKDuQMxqt6-p%q=0`Lh}msq5&)DS+EbM~HU6rW|Fe0p7dx5< z$M9Q@v|Ep&VyG=q0(d(UHIZ`9&P3dE=Il(=CAs zFpXbE<9HQ7L#ckH1S-JZso`cSsw6pTO|j~_ZK$@kpJEMEHOL#Lasy}}jknkaATX0U zeVrEGqml37HF&xC9=`4l5vu0ul^n+21X*b)p53Z9!nwu(O15j51kAa0rNO%ta{TMz z6LOty#la9%{*X5+fwQ_*kjYJQmd0Yzi^#Heeep4px%GWq)^(z6)mj zpoA}@(1MNvW*+4^g`~{0v08C;PJu%KSO?Zi(PoQm_4|aDYlDz1r!x*J(`XilvgfF# z~0MyK>N&PcAR4pJ=a&+XC*4b6V7cP5##D7X!*>i&g0yl(k z=`fDJ`Q?XrLQdiDqbK2y$t0Y@7!UR|ZGLB%uD;B6ZJfZ2abRfpSz%Col~BsHtCY$p zkj=0{g8bkU!nKf#u|h3)wYR5-Ee(fRO=#9wwyqgs}|yVL05fecR@!C zdp2Gt$0GFCcD9NVnn{_DpK-N{$0K4N{<$>)Orf*;50k__vsH$uE?#nKENA`VFmg`-A&xy|@+i)Zo z!RIf0wvo>O=zlBy9wL5kzSLAs!DkfZ3qzhON~fB_(Yz%_5GZ2c)G{Y8Te7ptfsBn< zkwM?UWj(@M#S3B|B#+@UgsTzMfkzzJcA%OFTzc7=E_P;_M&!UC5XDnCuOe!!*#gP1 zEz7LmRGpDTRz2PD0$j_c70RyYmLNJ;7jv4-^CPeZlz&TI5$0IIBS2`qsgMp@^MzbX zR65H{`d#uAeU9e+-101LvJTXR%kmVq-ph2lxI^BRA&hQ~jB8GTYgvwg4f0B-Ky@_9 z(=icx=W|{?GzSv39c>jHj5fw-BgNKi$?8Ar!xy;5(xH-0&2R^HP^zM*nuH>?)P2Qr zHA~T7>2>%1O4ZUOXX_+src~Kxu6zDLw5sB|4tc&)lj)*jD{_(h^vbnrcIsBt>OlBC zgMR_q-jC7(M>9OB)_{!=Ns<*66L&hKyzlCkO>rF3SA&4ggAtVF>uJ2}YIMMb3^D znrnk{yc1A0+ z9UPXvpmF-?;`h;f&r3fMl@#GO)c_r(mG^HB5b}*q{7LT}$g$e`YMSnP^ zw8Isw8qet{K}#YTw5`@~6v(o!PK&+RGYNJdX{Q3s(omfhXmZw|HxhZj@=X5K@RetF zx)Izp=n5J-w2XWnEtd1?TfCD?u?`*0GHTc~ez{b@UampM(#xizOfnk2Q@en0Oi44X zdfv9II396k^G(~ul+z@|s9t`Zd4CQ1hC@TQID?6M&4uZ0oV4ZWgbF9*71z!57))^t-9Ev4u|w9Bb@SqEo7A_I3b_65rVL5vpjaGKr` zPa|jha$%?{K+$BmG_*}0o`Ug_KqsdBOf$e@AP$8mru1QmkXfB}sRkAbX@6({~c6DXg*Y;%N*RqWy%`!B@+xk$k3PLf^T#DtwaniT~H(3>EzR;pvQ$gI9 z?W(bi-AcgL)sQM0eb(Cdb^3m3(s&cF%cR${O5+}E$v^wmm}YdS92!GW95iLxXZLcI zlyNqwnC)VRm6env`3Y>TIe*RAq(VN`&~?*24oY=P8C-3fY|;X-oxNH_QZ;=S0EavfS}=UHZJgnM8XX&8h;4kffF($G#YrtbduJd%4=@+83T5 zvM*?wvwMDt=WzJ0&CCPPEU#Xo6O|f0k@w(16It}`_fHk&cP_tyZ z0eCQ*c8p_Rl)%(fxVJc4d&STVMU&0T$uFP$yXmU)E4=;H{eR+XW)%zntc&2fJ6yoD z60yu9fh9#EoOaoV&h#SwkeyjoiDdu@9^q{Hz9^fAX=wMVwgxX2X_`%3ZP?ko6PoR- zqEWwGJ1cQ)28ycMmqJo5UPJe>RK!*fT0jf=6oMA}7nsV15igVeN z{WoO`!%Vdd#S$;E*77FY{K!E#Loy7}tD_~HlQJ^`#gkmC7ElpQ-?S{L==yp&pOBdF z;Q=bn^K3r|@(Lj{r7&ia<^EMzt28Yn!fqH!H`zcuntxC?0!P*^#&MZ`Im$}y@+4fr zS*Zmu$i`=%DH+5(V%PC4!#6Has@>|o{0A&X-uqO;))Xr^3k|qNkejwAI?4sZg^Stp z16?`YHJ@Xx-MfwLB}*`sAV!GNFKHJMNC0z|_gcChW7afE}?~-t*SH%B;Razk9 z7UA^du76rt#KWP!=xBC5qON$JWZT*)_u#8kcmp0&g-oT!ad*jh40S1R#M5vR3A1pq zhzJb;SEv%{jZu9ta-+m9*Rj4}!(< zbU0p)$R|eOA{4MTg}2zIufp_)D4eZ9Rn5>x;eRgZmWbJL6oL$1&V<|Nek!ryYP0>p z-Rhj>bR4B=!GWB6(ZR^QtP%>JVBe6tpxfVVM3|5!9yM_5fI|$4swHcdU57x^RYj6% zi{%p)L%Wjr<3o(6nOG%H$^0?B0{^8d?ZHSvP+}_ct8Ze_8A`BIXSUqsj=|r)jfp)L zjep`~nS$^GVTUj*PvH~|HMs0373BfqLDoa`c3HhWJ3(5IlZAe4vC+R3zFqwM)4x*T zA4?+Zu)OdYI05xQIDMulN>8BGQt(}ArRFq>MnvOP{n!(v$1PnKkvrhc*H{7eo^VTe zAI8%wT>5Af)8GvVsb?y`$P|gB;74vb-hXofP!}MUZ;AK<4O_mzr~E*OGl}mX7CDKS zwMazxQ#2m)2x`MKHOuwu5VCrnI3ns_|u>sGHNh=}cUK_a7k>|LQi+S7MAOh59}!E=ke_5z)*Y|jcudh9N4Btc z--VwTKNYCf5NW171TNUGTS2Z3OHuU-$Ofl+me)OX&x@H~LyV=DDHD?PH0J@I9Uvq;TEBsfMo^!C`V34lmw(QBwT_wIezayLD9&)-z+?&_A!h34i;~h|k0o z71{9=<1n=$CvTWA_3@364#=+nDDv(dyh!|sEX52$dxe(SA~{S|G*`F1Gc|x!$FKum zKMYjLN%Ps86m4I^Kwt52jcNFj=3LJ2Hp){rB~`I?r%E(c3_RWMJhbEmicaKfE76WC zg{6QItt4gu^(N6Gszshk!+*k{?5<$TL3cvSE)CUJP@fY#yLv&w$iE+WHvi)Iz_UBu zm$tC;@iG9{jlpHd`Qg%QQq_?p&k*a;QdLnLNA9}2&kNp&l3oPIPG~o)f(lmOJOkW>e_$Wb?0z?__tnA#JkUkz`Zfy4TxIJ6{@#XXlG8 zhl7=?cHT{9qjkB-{0rdQRf&{}*xQjw^%phAA z-lDoR%Ntz~fySHK)qhuhYleMa&B(rD9bxxOWBqm!j^kn7f}Us4#v6Jb?P{S{#q~R; zj++{g(6)M6_mXT@*t+C4na`6aLKLbe8^4WBGFRJ|Xw|P2h}9~C%wDN`Q}jTrWhSYn zF6$O{H{RJY&>Yb$JT@-N0NR%zAoUhB2MV*@@8&%2p7xUO+JCFgZBa#4@wUF~*hw*! zhT?NFvO|WNY0K>@4Y=hy+ZwdSoos7rGP*&kN$gQg7crWltCCcQ zAC~k$cfGy5p1_c3jEY~jop#pciZ%Z^9c+7m&Q#ttvd&5!Rh*{G>cVRX8qgRfBY+Jn zr{AH6%Ce3h!hg?L$i#f5{>qVfmeFWpt*I1xzk0Ewocfv}o7RkZAXD{0Lk&OUQ{N zl09ZsMlmf&gRX$1(Hsh28Dr8)YplK+68pIIhVL*HS6$Nz`w?SVS-ME(03^X;?u-&& z)4%W&F)aulL6tMM3v8>JJrC;qziE|at|~H$5afPI93JuxEhNTIA-lk_k4G%v2N^GC zNF3tpEq`Lr7Q{v(raDGCG0!Ky!!@)1l8jna_ITHvwxQ~p?8vpW4asp0Q#8A7iuFQw zWoxz#0O^6D9*DewKHyJyGvU(tM#53I)C}2vfsI=7%@bP zB)5N$h6^bA3X5zJ0X$}61mQuc7s|6*Sd<>u9DnD=Fcr;X;AFeg?wTs;Wn%R%Jg zB%-mK%E5jWPG(=Hd^KU3shFaNmzrnDPKKpR|> z&VQ#P+PT`rva99s)P(Ii*3Xxh|Sz#E~gK-(Rx@;>hMGLwRxmAa-3NQ|us-kT;5+-6@Xv!>1!~;eXrH z#YrYCUuDwk8KfSI{A1P;8JBY(w;AxDVQ}ce2DgM%6tblE##lGNLI?3ZWXnSu)+n0A z!v*AG5&6jqfd-X1zH3yDqV1Y)P;auQTcSn0y{d9lMcE08mo`}x)sLgbWG~??nl$FW z&BNJ4JbXW1vPAM-6zA47|I3{y5r1Z{Qme*0s-{Q`b$_d8N3)evu=O+k+BPvwk`?TS zR^F6SkATL5YmXO@cDN#2$BVDwAIEsxKKjGMJOZ^q3=!g2pryiK+2;cC>mrP&sgO*^ z&!t=gmd{f9sD$FI@=Eb-_-wiWh*-ROXK#bFzz0Gp9s3N{Zb2D@5NeicGy90Lp}3-1i&ATjuNs;So_Uw-vq`%Dp4jnS@l9#0M%uwx zP@PjJ9=zUm%zZ~B>ahG=E`J#v-mS)_OaHr~$(okDgmp~0N{bQ@@5;kCU zXZEWu;a>w^bxEh>Z>=J76}SgK#6FjX;@RgNHvBFoU?SOOPaTrwRRfw0}CdZ z&5{(b{IQ!)u|K!ZtnhW6l-gg_aX+~wDRjTtH9L+KM&+L*aR{G?(|_pqi{qa(ghfJEJi82L|Dn6RgUwHGI<}KKA13HoK2ieg5;xz-|WAyV+ z{~C{ll=!z8x>=^s{(lOS5jo}2{u-s9XjJo9P22%t;I_qjzGAuH#Fl5pUM$V3D&+n| z#;Mbr?B{H;KFr7G95g(54Oz_t(iH<0qc|NdQ;4T8!g!2)RJGsY>B}?KDetJH^|GZk z7>ydSj@CJVXKZ0*uZOHE9*_FDTVLkT)VM3mA56#jH$3`@^OX>_ztAmt!%@U=+ zJbA$2H4LLkx~aGqhAA^l7n$>pYdd}bfTv};Io<1AOY(og@8ZYkDSu8`i}*CYpHcwOdShD*s`V#2 zyAV6^bQBLkT%w4?ycH<$PwqI+M_;!RFq5K!x*vJi%fVcK`&3d$10i!5!qJEZV52WH z@_YzO0#r6R-I(*7@;C{isW_75)f$ENWb>7>ht}GBALA1&4uMWK2wh&oCfcHdjpl21 zU>k=ibbmOJjaYLYwkjae6;(GxgsZ;LHDmA}fnfnl0kK8fm^qrMjto z-}?2NGYmm(rq8)?+s4q{Ht5LBKs1<;oL2(4f`xZSQ?C)2>-M?k z2DR{OpVMxB0J>>My6bg+v5i!QtLv7;Ht1^ap))=85|rsyI)a*=5=O1-*@5s8wm$FE z!GFnz9n7eg)!*Riic3?F4*5AvD~MO*Fowg$G90ruG+1i)lu#l~DV*M^Q=`C+&U)<- zd7sQjv>N0-CbYVR3Xf9rjf~|9F{aUH^1+9YS2!Il847N%JpWyzSztJZ?gUb;fv@U& zvgr7yi~!iFK>0{vxU*vfQ6+MyFvN}J8h<54x1aEAj&JAS^ZhW)K(O(skmZaKO!7*I zj{-q+zhyzqDs0r#G{xY~;vt5v#8C1HShJL<;2^-|C2Z}4sR!~2A{OTnQ6tlcegOpS zsna8qfn>!X1_#2Q$-+iV1+X}N+ZtITh%Lw6DWRk^6i-6QhK>!~9oNc@E*P=*?SHt& zyAIxtYaMO@M}~={nV#WdZ=|wzaDC4;l-HPH^1jtb(gH=4c6jOr)4f~U7~)Jso)I^U z$VDRO0disf3>MNP8O3)LY8quFd5g-y{3!ia_y8Y$$YDZGT_zUYNc4g5o;a{$VgrWc zKa1-uTu0?2w95QNWe&|J29OjjTYs)qO^Si8NUmQ9mu^nXnIglgmKb=VUz0koID2M0 zWLU#@1I51p>uwMz88YlXS!{Y>J7h{H&#BF;lN?D`P5tC?O8aM|;R9HNER~Imb5zk+ z3|9gV`$Aiw78e?uED??8*3T04+o$46fk)_ys_GdSyu9p4yOw)P(+x`ziEHz^TG-o6 zW7!qWz}F9BMVvN`g&#QRX^4{I1@+kSE0-dM@Pp8m*{gc8<#{%bw|^vSqN^5ttInD? zE0kLqj8S6ijr#%2=cb>x^hbDz#~)3fU?AiNuP z`7LFr=YB(W=L!vib8mr1EjXSR*S1Ybw83=klGLZ*;r{zF#ZI7EvNz#l==(Zh zB!xuf5nUuOGrn2mQ!<1u@*3Hcb%zmVcM4bC2zXDkvl}k@X@8<@wdiWl$Z)qw@;C|S zkM98ulnfgK+aY62!wFdkqwL#)jFbl&zlSVIzxVxzWGIOS(XzUzSHI#D$2cDd->Io* z)A2pgtaY4{b;p(r>_fFP*Ly@r6;127xE`Q`k@&l@{g(U6on8h1;mM^cK``M?#^ZSL zj0H_R=&zKX+kYobam;RghEz8st79p>^hRtVH4s`dv<%y9!y}8myk^J-8@C}hns=Sa z4Q=DG<9@$7hFe3Msn|~(EcMn2IlCn z`OR7Q1b_To8*sdV?F(OQkn3xNE-0e@2%bxq2CV{rn*;&5k7-^W(Kaq4X^ zCsnbklA@`G`Bn!u`wmq$uXPpcC7Y}9C|hx(IiSL=uX*}YIzFUR&8BkEejNH6JubQG zeN9L8h*`tB871kOHz@0x?I~t!oY=SPN;OnK3}`!8u|==OgPqo#l^jHJEyHVFQ~Nf> zq<_~kX3@7*+pylG*U+=oR!rS+lvg0lG}zG%6N*L;kgijAa#*A(Kgx0(HP6h~rD6=R za-&`rM{VY*%fm6f2~x4dkbadxV)^A>cCa@6r_*@_0|sy-C3r|LD`vuW@@h*|BsL^{ z`8;EQv=t=X4aP1vSWsV?&0q>s$_EyW*MIexn=&%~4WWQXxiAl&0HSCid`7W?$WuEYXx}NJ)}OM9omg44~MO z=Igtq3jP>FTT4RWE_$G!gQ_3{ZUJbb#L;O~+VP{01x%_o07JOfBo$IBaaom0IDcn= zY8w8&Fa~(Z1fPza3_GkfYv5ufZtPHBtkTzFfIsNP_zVg^i00-#h+>{ADQZ=8S(a)g zd$R4Ry63}1RhM?Wp4Q7*f@0I)){sHI&Tm}Ci_9T8 z4v}ne7@uz}BYH|?4#hNIBXi_cI1XW+LT>vpNQ4xUQUN5G7tx%j^G-BPM^eRM3i`%9 zm!|=OL!~DV2a#dSk!%b!@qc>c!;g3{I5fjFY%)*;JQjPQ6n*V2<0(aPZG$+&9A#sd z(F#z8P-0~W_jrrG?$BkHI-O3JS&k#yIhY_TqHDX-FeR;H5p1<8*vAKeqDOqi7q70(74mSJCbQEdTazS1GX{bj9tRip0l#Qm=b$3X#3pL}4#t!f$A3l~^7m*i0E-I# zxkk#{>pgFztSOq~>tYRjQ8o=x^W5wF&wW-H9E`%bC`>PmCC+fn9QUsyKu1zL$)$DVUA6kJEAz~bTYo~*+y1I3!ofzv2c9kB8wQFP+6y&uu>=Pe(!;} z-%UC49{XuWSZ)LUc7H85BGS{-(Giw=tfyyN zqJdej)JalbJNyzR2r@CJJByy-P-v`@s|gF%?Q-hbF)JLjgcA1y=N*IA$c6iqSreoU z7)Pqg0oF?clIkK$2zbPzP%DjF${9- z``dvkZC=F%x<)?)iJnC`mih?bB=(+dI-dxf#JzM*;G{08z7IIb@)cDXhP{~J8^yBr8+KKyU0WS1ofPZshF=nlvx`4n9rWVXBM67Sp zU>2?g^A|uEbMP9b>HIm0*{M4btP@?%X8fo18wcDi@HCI+Q4DQODL~ZidH-1af%OT2 z!B{!N6;49%{&GkiWFbgA2zr|3>}r8)qziF0MH*;CmLf_elwPA_4lrx>lDc+_v%BZ3 zQ~(zg(tk3~DGlfWrWslf^H}MRFW-O+ITzK|UOnqBW`aFS{&4pRIO2FV| zkkOroe_?)G;opE^rbgm9OYh=vK6Yx{y+GP$nHNMTy*0dW!34m@o7OoLV3lJ#$xe{a0drjNYAMc|M};)xA`=EuH5rohb#=slK=cu_^{2Ech8c88ohN- zY|(f)UIi~X-Ux$(3jS+N(koZQc%6Y1zJGyNcE6oo)sy2Gxhm(7%K5$+a+GTBAS~Xj zLO5}sW_1m$KL3Qej1!i(=hFLz4KjdgvQu7MP@E@koky^oAPLju-U6|Ge$SDDu#41b z66QR4T$#F5j;{}sQXI>m%5K0yh)z6B8K(Q8XUgu_p=mm{TTjcqbJ^j6=T%+N^?y`l z81$i$k2G!FR;Qa1afwwUvh1o7QLyXwJxb@F!lzF_%!f40g>;FR+{{CQOg>JuEWC06 zn=HKV8d7GGmdR2cq%Dc)sw9!th~<}W1|`+9i0rinoqw}OXq%Qn!!bP(D?6*nBa_II zsErv4x-A{?rXozJ?~U~r>k@@*Nq^S~)sEA2eitRI{*!sYSa-diS6dlQyG8%X3SoU? zxZBv^UeY&Fwqhd#HC5bb7m93ahC+s!%HAtxPlsB1vZJfmzADRa6%~&dj%53`eU+Jt z%xv7T{4d~9Y+M2!8!su6WT?ZOm!qNR`mAh0QQ0TNVfRp1imoXtZ+jm=Re$@3zY72S z^WW?ry?^2$tE4-oq+mPu8#HX1Wm>jTcUvV(w+!Fux`llVLc`g%E_<@+kEm_E^?Lhi zTW8}U`dPEw)0#OwA;*?|TN|b*_VS~beJ~p>;p%+b_Y7wkxVo`~+9h0_DoTgo>dNk~ zXaRMxL7b!^`~6@R*@5=&LC7Y7wq?1+XN;OjI#_&QOSeN!XX)Y4%hbHVmV zuI9>O`$^Pq(tb3<*R=>kRMD4h%LXc3se4FTU*XJbQg-bC?1{^I6 zv3=L{)nPJ+W1+5ArS8emwr0DkVY^onA8$Phw7`?>hi+-abi83YoPWk5;X0RBA-aw$ zS$@q+lP%A-O`O5|9!X~$2L@=$im7dln7!<*O6&EWF{{#g&F9Uk5Xn~!uYNFyqGE^& zD&6&9*mW>8JC?_T80thauFRznt#k z^Z&}Btv&`z#D*3_+)W zy?6{*%0IY^;%M=LP%HQMASgld0)HLGIbIBmof75F3p@&5r~_RWJ&QPCSSsd5aa_kV z{I1cO&vnv%{wc+|+6Y&>)(Hm1hsCJaLYE7uTPyHUiW`dvApB;_DO^_oyg>@chs$s{ zG~UmP$1GhwJbxlj5hNDT2XQMK6BseL*ook$nE>5B0sZu*0(}hgeg|7~^8-p`fYSD? zH-vDlrPwx^F4)LfF>u?eDG@~(eE7h7I6=;P&m^ftQZ%vNFf2Qc?kiAoIwZS?p41ew%nK%VcLo0E z8832p^>|M7v$oR*wuH&%ygF0X1Rgy=Mu{cr=q_I{xm_fa!r2X6D@`9667QbOML!%o zU{g3a7!81 zbSj}iDvGRRwimHyYbyuP_s_POkov5c7Utf`o_Rdn%ihWZQfDVllLt!83LrD)+|g?; zv~f7$##Rq%4vQlOg`1l?ldWHVYIfL6qH3a9$5qix)3c;8mnpRMe7rA+^p7_dtoQ@u z0Dl`sa$z34Kty$)E%QYd;0P%IrH|&2;?Kf)IKRVFi+;#v;BiXIF)JMQ{+|jRo7hoW z8Po&3rCTz!Simf;AQtYHluQ92$$hBJybvg<=s`DrS_D-{>~GPB${(44z$B>fk6^l> z`(K~xW#B|D3m#7hx?LVkV6D1NB#D}+Z~uu$599Tl@S9pT zTak2Alxw%ksxNt>fw!`)9bL!Nd};jzE=TwKFqk2Ik6-~1xA1iPQYBu!Dfw5?l`E+F zuq>#!A!}}2QPi7t_QO4BuCF)L?bY;weq_LXIn&ideg~R3z8dJ?W&o zCW}ahvz`z!K#+ZIxnB!=F|F)f3%%>BuDF%p?ai~Qyo!fS1$U0LO_dj&%DHxH=X0Ps zC3_F}^FJgfp||hBplN;|?4HfUMo+n%BY0EfzywMbtXhX88UnpTH$yqA;(wHt7L?_i zkIDpb-|JpyT{xb6WX`4IZ56aW`fY7b#{c=R|1MJDWuCLzpCQEQl+BEY5@8$-)K$m=%89TT2wyosj_C0jlle=axe_1xfe@ zDYF&|tXB<_e2Eul#h`DzMOs&~KBU{z7dC}4Z;&usVz8#gEUiP*e}8H&%dJf^ExBag#53vhz-3tT5^_Yp7WxsgOg zRka-ALZ-Xg9pWjfOvp(Y^aiQ&9L=;C8F$w9{utbaSiN>m(W*dHa?#MSEmeoH9M`II zpw>N%&54o^-`3hynt#csi>4ua{^;i>bVa@$R-*)%D~;Oki}ZJTgg%0$`;HmC@B<%^ zkZr3v@rD^iGzNM7lZR-Q>$|!%`u5-*yE7EeF}+~`rAK1IN|h2AY%zAw{DOVZTxLxo zmLf{t)vR%uwUe66C5I4E8h_i@j@`+oE*bvSTptu9)*{UzFn_u!+AguL9jC{ffU2q+ zib;l<);Wd%wB76mQ33>`f$)7DhZr7%y1ZD~E9W*4QTx|hVIJi<9I$Gal5v~`9$~) zQb3nb;naiJ&7yp|%=685p#*pqQs*j$f7`cb*ON_W<1Mkp6(3d>w_OhXzbO~$ymB6c z=RL*H?7<3=RCQ}k?!gD|pe_-6q3`F3U@sRpWq(~5C2STx1lf!M3INFW$OY(ga0i84 zYe`}Cfu(jqjZ^8C;}=gM*6aYbz&3zSiLSttNmV4n*NF?Qq=(K9UzOzwcG-RtR{R)W zII3f!Wl*$n@HvRC`NY&*vz`IeWYgFDuFKFyz=_Y5plF{CSGIDoIsjHcslR+uOeedB zPybWbM$v!qE!!Kjm$8N2v@SXfo}kun8mE*cLY$^gfFiR2iwW4z=;8GoCIzHW7)&3b z$AFC$NSD0eIqig?B~Tpm>wA%}9oqog&tvXoTQ&??v$q9IB8DuTXn7P}(+tS6Z3L|N zXs3XIw(p+Bs}7-y;82Ft}`N>}LwSsH%}KSk5WG|u6RS+Jngl0-@RC>kFn z{(b-2)@78XShN3SudWI^90|or5FW1WN|>CSEDfJNy*h;G3gHi?>3kk0 z3+&aXLP^lj9C@(wd%55duYer8k)73|+iTi%m6t2t)^}4n>P^1tE{ehOvG zlx=_cG>X3a`d9SQe+pN^&*?l!V1tiVk~e=d&0l|9kTOnTarj~?5Gnh(payt*rdWI*!{b;p0uZFiu0){%%<+Y&_(y_|)w3AG#CQl@)4 zF?{QClAoPRnWkEzY`B+GkaN*e#_AVAnpUL|tJ^S0o-p~k5qK&c70)KVhw)c6_iI@& zV6W?NeJm%*pFm=$-lH@W9w0Zh)r1HTpj4S>SxSSqy>=u91D~nyRsbp>V}e!i!Xf6wH5}W-5zJRRbHL6}*#|7FFxv*oZzim4*@~?gwZ;&Q z`lpsGZ4eN;A?%s5I!9yU*u|{K{Tk3R0kiWa;B_`?2Zte_&hYbL=q44!^JR(-uNI~v zAUHRqsArfNyWrIVZSSKb${)iS?-+m0LDP4qOAq$u1Fk^`(-fv`41-P2N9vPM$AbzL zbwiq+lV|~m*a!;~B*RUM*mD`OS>7sL#xvO08tWV)LI5?Q0K56g7+6*jkXlD&hIq@R7QiXk5maxG!z2i_1)wqEwB+1DkyCyUx;bliVkK%GM~ z+i=EF8ZQyjt1Ro=sB~}Bd3w}^9r8JgvJkFgcrF(tLKI7JuMMyzyY3TeR(`J~+>R*h zl0{Kb74h2sx?e^Q=9YL!O^7MW{u`aKEP0-#>Dn;4@KFmASLZ7+Tw-IVz?GUnEuPL- z#nl{3#5?9{5KL^(B@D^_eK~&?tblTrW={+q7N-U!FJH4s&=T%>avf;Lt~Z@VhH8kkcQ2k|YWA_uZv}x_dDT%sikm=*b0$XdqHRK+ z27$@Hc0LHqPRYIxgYk0t+cZ(&%HY$6o~Q~Ch0QLZ(bC6k8Hf4D^qzlf@QI3dF0Til z6yr@^k079L!*5=7rRbKb!%C{PP@b*(ihNR9*0n@cT%T!NC(_6VpHy@NS&0`x*Qpzg z0(0cs!Bc=)g9TNOn7l#tggvP#-jNhpmYr*!rzCP&l$wRp;F*o)TR~gOmk>G)poIel zo??N1McB7^&`fDnmo$IhC$&aG(IA$qVrbtbr4>=KeKsz=kZ%vMOKfhQk5Bz@^?HjDgoyP~n`mTpdH!nCnu-I+`UCNJL zuS1_;1aU*M#F4VpA~ubepKvIq=n=&w_2EO3WEr+%b$u;6ykdX0CG6&ap`xEt-Hlhl z3yfQb{)}jUkXAT8N4~S&oPy1(+BztlPW-kvS5WuFK?U54=NwefCEXjH_*yc@w#nn@dBpP2wSQ;c!%vh1H_Ty(<8>=bKwXD>l)HuS6tQXLYeBpfa(WKbO;wGticVZo zACgggcI#qe}i%0>pTk%bZiVbHTF&Y7E^`0H8ARx!$S5oRTZ7n z{47Iv5deq(uz)-Zc9U|0|gs=?gB|cD#!d?ukAyj+sM=Q&FsvS2>P@o@#%h_K2coE=nxXB6|Qf+w7SnX|H|^nUCzwMw%YSQ3yHC=b7T z5%ASHUd)$mlc0I`QI;>@ihlb8b?TsAMV*sOO}JtV5O(9U0^#b zgzXw!7S?pNF-wJ1V4~^n0_K&SMh!?81G~|LBA_`vd9w8`^T)D&nn_8$;-T3ZX{MnW zs#mK_lSM^VWCvPL-nPAkAZ>yjHp zi5!2s+_6N`4OAd6p#_JA21x;n#f)=dbMR-ZIU!HuFIp|sNN2>pPnco< z9W?zzep~IJFKc}Nk%O>`FWHu))_Xbc+h?3L4!6xTpnZPWh-$wwC#+(aNj3?|Y6>k0pKIl|-@YjF6|vke$U<>^eS2 zI2)9Rl4yJG)de}m1)+}Ze}r6JMyjmnvSHU85mnVZ(=+XNN8Y15*@gXAsI2f~du5es zkj7I2s9+^Y3Q*wb`lg^{KN<3k3Fij9GqbcyI|Q6_@nN5m$g&3I+g&P&bo~2NnG}#DgZd@S?}~1i zRi}}|{M$oF;XTk#KKgydhlA7aGg_nxgjgTGorKA99ztf8cXGC3YO+|L52SxOhDU}^ z_FuFX??2~y5J6=?bpup+P&MJZ?}WQ=gl{+pZ@8{zD%TOH9J0gyDI&{=$9oV>VjHq? zZL{T~E>91x?wj=GWc2=6{}kn-rXqWejY0ey^ll|X6gA(ifgZ}LtZOt{yvoX<*sqHN zP~HFVZg-MT;xPH}Er;OCvg3cNigz_5C7*b#g)IA~qAIo1Ow@>MDhSNcCD9B`F%*VJ zxjPZa5}8i$T#8;7Bz$9+KX`Atfx?DJqezK=!3mC0!ti8wy%FAbE*LwWi=}Q&$ol$; zLmzaTB}(Qh6q1m^20nnmv7(2w;*4>qQBi+l3AZcdzd~Wc z^f8=10c7RA9?h;bXU7AAQjxJn4Zhv9@l4a?OPDQS%FIQRnSn3{Sr)v&{T9pCuE(EV zqG>AA$U_<@YM36=Ll~94Cgv*-UwoeI6BO-OdO#vnjqo2IXJ=%YJsnNLhmOc-Bddj<6 z`ZYTr-Q)G(!L97~eopX8PatG5gt|ogS&I<%Y|PUP(A+O+YIAGG9x=%IG%hzkbt3pw zFOzh2BRtXnW+|3SQNq4O4<_9PrOIw4mvFFY86_Xlk~r=Ym9wq?y`QIjarYQj9>KCV z>b$l+p;G8U@W)r#c`^3dtyVPO+jqvGkr##pvNtes) zS1i8rw+BmcjLWj-$Uf_F9+!EQ1<$P2nSQj4as1yYuj$g0JH=Qx`eZ>4_glEfKv*oF zW4Qgx7h!M!xBM)eflF4_eqJuWXnbJ{FZ+)Ln3FLW%ea3ex&L$l&gv;!n;4w_MKm{c zz5CC3I8Ev1)8*eC<)D*tY+`;>J%+v)yQrW?5A5POSkOfPT+q%@*0mG%*pq^HwX=|F!*YsX zDGav>77H)}EGrJfOj%+aF`vqHqnmIc3GuG8-x@znKTm`ouwQ;CE*>M%_lL0MIb=Cb z(`S_2{5hOP_s}h0$N-ZT0LkcO@dqZP^VD*t>;iv~xpoB-6$^s`c352+!`6L&o$Vcz zmcF(qU#(E!G+k=hf!U}(l}g8l5TLW`k;+h<+VOxgirO17pTzct4#ra#jVcRN?N3hk zKe^+;or!K?c_v%0{?uH;WE-+CIW_1A$?&ulj~g(kStm{CZ`Uy?=eN3ZtxK>I9zJ%(lLp6(ngYpuf1 z%By(7&jyn61$UipX zmr4ybW%IG+*PU)`pUt>j3T~)&Zjya!bob~RHCr=lE!nao)6dC!MDG4Agi5;tN>M1l z4DnC^D8tH)2eYviguE(v^)ac9-YsIM)|VYBH^LpG#v10lz|Af4Us-u9f%)hO3lx9x z+PI&*i*zZJKIZ^;&-N4{lp!bU`a0m#B!-01JPd$<_sdu)hW8cm91LgxyHiMBFXU|n zwaU_ZDF_B?LVj~*O5PPo62?|=>W@9|rN4ScnGauaX-=d=tDe!63(@7rS zNfBK?;)34>OX_RURXRbI#==k0^f8Td_+mzN9!8Q#(nrzwC@H^+<}J~0Me%>{``5Nc ze+61@JP!8i&8O(ul`Fx~mu*+Vgy&=t`SfX9-ap|A;SZ+i9P+YwOTdHef?`Rr&i;q za3%bl&VvLt_-Ijc*Z9pefBk=PLCQFV#o>#oK&0&Bf*SZKC4__H)i#7EH@i;fS9g1W zB8@!KWK(;S6v5r@HFcUsM9mroZ_aUuQNUq#Y3ep6rkf)Lz>q=9IN=`Ysi^yk0drHX zB;0>0(|-W`cTU3y0RLs)-|a1&(I38k4C6Qjr#PN{&4mR_EZw!tw?TjS<{fIp^)y4P z4eGgy)^5?l?80|dEOQLg@^Akl&;uX8MaLa3gu&%yLC$tkbBCHcsxFz*o8ZNc9cnJI zWu-Q1@+xi3(w0xAaTsJDm}KEll5qaKh>BQ>*|r;ckUT-;5iNx9-^E%OOhqwVy9R&PbrrW}aVxDC%Q!%BRKK^Q0Vbvq?q9aGl6XA4>K>lk%jg3>UyfeCF5lNvPcVKux_uz^w@utisB*cl0kBSJoSfV zVy|ejN_IUFo;N`9bP9Q{UWvz(Bk$I<;q6JX;2ESO630>{sXnp9a!l7F*A|0SdQ}fBk>dwQdTF2j>R2m5hp!$yAe*a0=t-ir&n80atr_nyOEu@wvr_DpMTa zTrgvp`wj*+fcub*li16W4-{+h$og-kgUftcO5sahFWS^I3nAla76o^4Ph>g(a?3#` zum&)TG8O2Fodr{t4679A&~vGbCnK1PT}&Ad=x4mMt^0qjSXkG2z%9(+7LA+KSSW>F zBDKPKgqJha4%1J2I?hj5qCMSrJzLPWVc=xzv7Z`URmHSjMXe`rRo~V{{XI^-Z)X1Y z!555X@Fs?u2sWX3Q`UDr+29b|hj4*)9Z(B%(hy@s_i06-GX zqIAh(2n>HGAmT{EuY`XJlAsJxq0$RR6o&}R5q^Q{TSyb$Wzk|m*BRXpMV}oHptf;E z*8)dPKcq$kle5($O@trlX_ZG0Nq~*f>}16=f~s7crcXi~J;C7?<+mJ0O?L_LB)>Lk zx2L4wA)|H)gLCc^p~B)FlZ-!LY3vP~Xv}xZFH3*2tM~-ch1Hrc)%8r-*${Air^jKH z{3%_r0T$56Pn|`)(1Ky_L59}$G(Bw|U%#i1x)1dX5JUzq>NXHg)D)p&uB{}eY3yJ< zz3lxnMs5&v(kN~f0vc0+RaC-u6-Okt;#1zjcUh4#fLI{NLY7uoM3_++J3WvPY=7T?BiQa6{{$z(u|I$L{nvC#L|u|ZjT9xK<)2haB_;Mvjo-HA z+J;r*x8nJ#;*fP^a~pn(hGu)#QT+Zs3}(oHb__p~x1D1kSDBAJghElRw8*}FcQZZC z&5V-r!iQIEd4J5Ps6hc|3%C+_Z z)m0VEbH{w0d)VvxIY9gfgqv@|-%l1%cF|+Jd#cbv!*lA|8eH07*E8XX1KfX!KBpOG z5Bo$j>58!o%@^(m3NVZi3XJ+$Gdo&NX82vSV0CV6)+fs$oSEeekdDeBq#dw^fs*qM zF5kjM4v2LHYI1Movj0+E@BNN9Vv`BGA7lUT2%3LBH^9vb8lrltCD2iQw=_X%`fA&^i(Rk-#XZpHZ; z6+d6lg%{AW@-V34qh9Z?XLT3j5>JYY!_m(#3zh1XLHSEByni z*%4Tu%fOyTm}5Xp!=g^@T=ml}Bgb7VfKtz(w3t}!a(H8h;E>u?S+@;|CtHvG)ExOr zmaCX@4X1%Po}x*{-YfXiT30Wjy26hh;N(<3YC`^)uHf*58FLT^&!PbO>v$+g?W*h$ ztCn$W5FCfoVf6+h0i@(5sINo>cqkqNnvISO@-NGCvY!-i7j~giaiK$yLePUI4 zP|jZXee5Jbrwe|xZOTQa4D5m1IOq7Bts4pecZDB3hQTw8YsBlWY*t^++C{A_X5&5Y zJwEX`bBUyyN7HD3;K-i2&F6M6I`V`)VMmO6tR$>{NU4WL2ep&59h=)o5K0f8|D_-> z7NZF4wE>-~+5>-8wTGIjfq8?kYqr~QeZ$x5I834;d(5KmJpB&Y?uH{#p?p?#+)nc? z0fTV(F-kfsd_U~F6}1&i`!G?-P#w;3_ukAST{k?F71nGO2@=PUq^@~X+05x~%l`)e z0RR8&J?U=a$eFKF;~z;+V5@l_p0yV|lir;qjqVO+7K4A;8Con^geg)XsaAV80rDCP z?7m!{Wb6Bik|>&zOR^+eZW)+qOXgAa-FICU?~Chyc{{xv!@twZg0TO}B>wQexH^-h zKrwVfIm5s33(_dNW!KQCtei55uFhz7@q72|Ek2~arXpWP>18>N`t<5-T+oshpXu54 z4@os7A0~fg_0NC&Pf6hVir>}oV%=9%&1t^4_*mVilwI{XO0UkoPbykOY3se$z25rA z?sPw-VE0l|-e*5g0=o_!c(W z&sh^@^*%Z`H~Z43gJ_ag5C8JM#Tzx(j+c1D%VP>q*Z@$w768{Ntw>3($j7QkvfInc zL6Lut-kc3-n&xNUekTA?UDgB7)AeJA=n8uAeA%;n^+YdCdP$Q$Wi<1fXf*z={7LHd zl%Iu2#grAv()|-KR|8WNmWJ({t}h!cSXz?d*dajpkg#;~_4*G|W;2yu)WA%#emaS1iI=5p4dmv&q9lJG;1}z)*OvAS7oYo4jHu>UJ^EO*`^-w= zTD^#pl);N+lhF+=dgRlP*74GFN|O z+x1k-l271V3r;c9PxB?y^0Z}GYKG-{mI*~M-&i56?-=Z?jSMHnb9G;qgA-Rax$;TT z5JS;4%{uz{QuppO%P>^aIC_=8Q+j{d*l?1Ws8((1l^WNkZ%C>yxhEQF%9IBYGf~6I zlw`$MW$Oga)!-Dgn`B?L6~$_W9~D0|HD3b&KLSe6ldS+8f?a^}PkDu)TnQgdQru8$ z!e==U1rPWGjp8Xt zzdtD;GsiZZ#N;oZ!V8P^hYX$liWX}(c?6c)O+Lxus7NSews=Z1swz4fV^*?X(5OPA zwF#soL)&$f#Bqw2Y;^2U7%>(~Fg!a)EXF$vGA{DlA{votlBR@yNhNUNW03WkPK*WM{p6Q#g@A1~`H5*p&TCvim;e07|E+(2ORX8VSti`> zdb;iS>u%3iBeU^<%7N0Z!iPsqwbXp|Up7L{pq$sOjpl(F?@vA7A zDd&P#lOhuqv)i%m<4b=*)d0yeCKm6Tm&Fj%w>)C zRN2LC@@l1d_B0(S64f$&)pymPl^T}}%abJ+BG9{JH$P;EwpX(oxJ=(iHx%Kt!Dd(T z+_sP_i~ieDlw`eP*-+|+p{6RXsoPse26yT!J#afa3Gw$ugo1zVQ3yV!7*;$F#YjdL zlH^T!$vsf6Cch;YzqzfJ9noE3Z-oGv@!BJt{Dckvw+O%Knj1RO)~T}BNh>Q*#(p4z z0Ui$on#*2P{(>LGVuxnnDXww+5!mkCNrCT~OisT>O4=>wv!A{3JhRcro8+8J7k1g` zTQJs;NPBSCn{R)6G@Fdr?G=6VEfEnBs^fZ=p>IvLUln5airi#C0Hx&WiroB`{8k8i zhHpBys{xcxG3ZB82S2rgun6}jVi9W9Q598b7j>T4gAxouQnCHwHAZec8L2Pjb1&oXElx;yXUS}5(Tvd8z9z~ziEtvC{S6j;?9hmK#|>_J zwo}F&n2_Un{ho;6(KJu8?Y6I|`m!UL$1Hdr59t3XpOR_KDt*YBtjE)yb0OQ30p_Yf zRNh4WJKzmQ0O_o^7jqN|Bb0>3SeiRLda|E@l1+c_fz0Emig-eX@0M+J6va#;jJY^0 z=zwzR$hW@Wm2sYAASsR=7`Q2vf-^bCd%R%(G^Hb&RhXNfUne3GBu%zF&1=~r&tx~h z09&LRqaRQiq2R4iFwG}v%*)~#yWgR%j`kx|O4`q}cz;r51rZM>8P>dr*Oi4AN;Q2M^Ztw&$rm2U~=ej^I zN^XZ0W3Fk$%zx+oJJfPm)G(U#hwQ?FX$TPcBU+ZA3~p#Ynv^)=LQvrEtA?PTkH$#~ zGc~ZxE-NSXGGn) zx_WWp_z~^GI-i?&w|Uc*tl_)xBoDW4?zf@idNaW_Wu%|dr~vzH;k7Uo0!5j8xzh-U z0zv(+ymuR_;Na`Stvk(c6R?q?{IQ=ipR-@#2AH>x5see5rp154 z(UKcz3_&-{9x1t!Jlwi*Sxf|^Y(WJKE?~rPN1^DqKogRYLM<6;ml{!1!+ll&I~s%i ze85G|y5z7JmD#j+utH|tBE^r!d08e5nrQPudV5lmI}njVJl#VQob4%z#4*R*uh)(vcs9`x~P&-&DuiM zVU}U)rr+uU(QPZxB@YajLtBAISRJN>j^Zft)^!@M(UJz}306Z$zA6Wfb(&YQUTV~( zQlrVro?Ot4X)M;6s|8`8x!YH%y%eCYASut56yG^X$jSo?o2+r01l zt?>)5g^*-f2|PnP4M=>HkjfsqNpHUWj=X)#?T>Fn9t#3 zWZlzsq(DG(FHlUurjxJrjS>UP2wlA80`_whDYR4_^xVf2t8Gy5$^3{x+KJR}$e5 z$@3E;Lhq+Q(k12ROPHmUnV$2MWAjC5ZT_>2v#oQ9VkjA7H|LaD8 zKSLxXcp2TW|H!fxCQWt-KvgW&n`I{7nR)maDkFbK?6Z-^&L18&5k@nt*}$1nn1UYAL+U*+wSJC ze)jm06xz0D_$}R_NuFbB1~gTj#F&_gGyA!?=rVSAWeW50V^Jw5+lC)1K`XEaUaA@@ zkSN(DVxFz+?*qk}e8@jy?1_U5sz!=Qil>c0X*(A5@S>Nj0o#9O<@Y+~JjB?bd_=1u zTQ?T!*TEhP!%oB%?HjY2VKb-Kv;meJD12;RTcD z5W$p)x!}!4r7>y( z@d5R$oq^1K;`M)e0SufPTUJoxcEbc&ze+$1Ls2XHA9mRE@LWq69?7tsPdPLXz2fc% z>>sDQA;MW-kMM)mbRu`ZqDyN&AD!>kFhlEseyK~skv5OM0gj)Wr6ZU!7g)_)a)Y?@ew=*H@Bigf-j^j)Q6xi_mv0FeV&^Z!zqCS3j^tUP-0Ip@bR#qa z{Yix%HgkXQ;~ z)1k-o#S-j931~Nxp`J`%>x|WtQW3nNBuo0{Vq$-Nv&{bYST}RD7SX})R{glHVv4|b zR3&IdWMnV!3?8`Kn(Lq0@!wYV*D(S#IGJ-@Md=-g{hJ($n3vePWF{)|bd^J^72~8N z=1$`cQx?TND9!0Q3OSB$a1IA-2CAX3m}d`Xc8!aC4BhhtyXcuzV|3R7lt@*NuKJ;8 zolbw9nL~bdk`>d1%+WdLmGa-5302CwlB0%lD^ah7o@c6(z&R;L5zXsn1BiB@dfivo z*Gic$?0!K=7AmjyvOKZj-Ams0C9`$09B(#s0R8N`laWs(AJcv^Ncx-3xY%2St|4PT z;aK|GP@fL(9|&nUb7St0e)pVE->ve8J!gM{hBSva(uWoLSO7ecb=oULaTnc|% z`)cnSxsEF$) zTbiTG&e8W{?hK#;hm>qK)yXsz$8~?&EZ*tNr1ihdc>A^}q}#!Llc zJtn&NBsG3O70w8mQ7Dd?!PBf3V}9022TfLV-K<|}KeHSGLx~BsW=~I@7DXvHA4G!* zp4q515Hxtc`d*|>gI0GWx1SltdsA-D;WcuI_5@^xA!)v(o{pA(L@G1p{wnBNUqQsXI%Pu(HLaJ;S9}pXaUVeH|>Sdc6fH+T!!A<*HfZfqoW7; z;YQZ2j*iVjpnC)9BVo|p3az;dD!^B&Be?-{K9~7QW;-&;uXcKrz|7RywJch} zNsY?YC8Av9YM^8RJ-Rr7d3%59J)T^>xN9%8vZ*nE^QWJgiRRFn1;zKtOgplca5nIR z0o5-9r94po%t#%i^hjAl9kb&^$(C$+iagFzU^Vx0xNy;i&o_wRvxq629wYs z+ol!-j;XiLP78g>l#KHBlt=SHedK&!P>;$3Cdpwq`&RHDb;TZ)lW=QBB zHO+3VO_+^a&MR9nq;!8vGguo+nMp|plN99-RKuh>_X4u}Ig%n!Fd~6ZNwE!6wOVcF zn(F#cmbGJwf2HSK8%ZWPcps# zr53wSo@S~jy5%a;fu?=z5AZ9<%6DwVky^#%ox7{o_7zaj+qZw@*F`AmS3J?Bgkbz4 zqxvhSs$ZeJa>&eCX2Or*e4(gyl2kX;)zDP}$8L4;Dy|jkp7W%-zhxvH02Moh`V#0G zczz5Jn=ay-dEnDwE;Iv7^Zmfp?XAzA{kjD2ior^Ac?>5s8$SyPUQ-P$%~B3D+vn8- zzSk22yQ-R!?KyuUqeBhLG;Prk?5olU^Mk%nEi?}BVUFCAYDoI6>}@yDWhJmIt$hTn z5&E((8BZGPu#6+bME%vCFtJmhA50-Y@iG1DBw+xc8FqU$U%R6{9c(uhR9G|h)@87W zNM2u4G!;urPm=e^l2=UGDY9m|-hqa(9oox~4d1t%@IZe9DPN8A`b%B63C%@Kzg4KU z$WzR~cyPAwD_@r52%cyyI&g#bFG!AXGv_lUYxV5sX1b$$(lQ<`lyp@ihN$L&UTgj4LQ$874 zJ4S%0n=5~Zo*&4{VNS?6xPDYEO?5TtFqQhp?%B^K?zNO7`5ki#f47vrh3-|R1LFJT z$vG=1%+h_|(cBXb1aN>yoN|Mu%AtwA&e|?c2`%rlD*7TagV|6mPtn}N6hyy5$@)O3 z3Le&GIF^jTss_|$FEAWmT|o1zfqLu6p~hq3p?ZHP%Zk3~L$_*BZoF!P2IWROa(y-e z)XxicCfBcAhU3#Zlf`!-)|tFh1gsmO^l~vhZ-aRA0Ou!6zbZ^G5PP|7&YZ9;K53w{ zpB~b}bw7O$uK1%v08Lb64?FPH7-CEnqfoiz( z8U%mgK?exf4PXyYt<~+m7-kFZfU?Y@h+sI)*E{r23MF54cf?BTLrr(Q{xe1*`D73HLt}RxLQSb}?{eP^TMi7j72DTc z+0Zroc5Bhr;Yb`qdHKht%07pwDKO?^l-z#~E0T;N#$PZF7#ief)Fa{$L8bqoxvssc%@5Hq`;96Jn zb;p7|A2lqycc;s?9)$W~%1@4kQn>EC;=?eapX6Ro6(SX8pE|DWAN|qtD};)!>y~k# z^Ba$WRHBk8h3Xgj*Kgj`BMOjUegc01BbI4Zd_~g@Y-?!R^NOV#wzcc#xkFk6kN2_T z%v;WAa7M*^;KzFX`jja}KP9U2^ZLhcO9?&l4zop&qMJ>snlg8sZEQKH80Y8Y=6=;8 zUg;1Dev&FO*(c>oRs|u&M{$2YhLn#rX6evjqZ2Fw2G1x8p5*K zkp%T9{?BaZaQ4iavz1^qexTYOlw>uRSbw=v9CQsF@P^U2J%;DO-nW?aumZ-`o+QpX zSiRgRWmh~|Fwt^~P96h-SBHP0PiWp4&6+Q}+LCzN8=4!h+Ki7y@mjxNmv|Llvlw1? z3T}~!?1t=XmU@^jPLV{Vv$gr(na;(dm+Fb^lM(xK?Ot?VjGcTBbHCd1EsZouofY1Z zKK;lS2;Z&G&ftQ&@hN$RtvP-x@oWTPsOaG_dvn_Y6%MlL=gd18*9L#_G^0g1OvdMn zW2^b#?Rm{b3G=^3bd(qO%#9k*>K+V37=heE%@XGxgOe~W^4lUBJvd~MpKgrDQNn{J zFv#sT`Am5#i-E5y@|55tw0jun!+~?`(3q64PlnpIzs#Mc^1iGngH;W*5f&fU&?y=9 zOyFe8*}&CfhXt|)@CSdIP0^&vM^Tl)5pMScPRq^6WL!_YgbUDz0ZgZUUgt>#V zpO23o93!@4PW*A6F?ShJjR6Ke`5fd$Om8N)gh|*UVk`nj*74KBF{)7WOmAs<-6Gov zP18{wus0hbTk$1FadB*P!|K!3fLACr_h`$Cw5Tb1nE|-#KhJ;UE{O&M=5Ci{m`_QX zH^UT=e!`C^i6EARr)f{?fW^XL7bLIkXl7~Iv*1XrKn9ZnS6U5=d~!Q4foG3K+Q$R6 zn7;0j?qoC^i5k3-ga-=$~kPjO2j#YhdkzMbpo%; z9qfM3+>#V>?7G%}E$FujFI3!b6$hu7-?~#u==57lrZnC!y>p#5gge+{vb>`FRoP?| zj=B8~t$NyrNO|Q;mNwTn@Z3z9is)AhyT)_o@#3fhx`0C7-c*z@- zgRoBqe!9skWzBJjln7zCFjPCh;5s@;vT{>n zWQ33=DP>sSu#A5wp+#bDh+s%0Nk%9-2o610)Err>dZ6hj5LneC&Bl=~I5!_h3i_nm zaip+MT8tz0(uwsGTu91cFcFGj1D|S#7*=nEoB&v2lf8dtd1g+)^yUo)XZ&r1MWEFZ zSQuYTxJ69FG!Ns3B35ppcvS08T77GJRO#1`R)gllmWAb(h#pO@O{1%Z#I91`3Q{o2 zO&K+$Xby1{T&J0Ay8|0bgTb_c>^};?p5@KFgY*ZM+P_-cw%UdcIK=#V?^s@0{xQ+_ z2JEIqv>JayO!#}v#u5e@+$}sRG-tu}2R5Gu5cB|ZLI?gV8pfh#AktO0KOFK_`AWQG)U`vSW`R^rqhTZ<_#)YgP(BEn}s( z^<`Dzj2Az{L~j!Y%URfpwlu*-Zu%onR@JZQ+mY9IMFbOAyLR?Aim4AI{JxDfeS-ad4l7q>#X?)cX?JD<;z&Rt_l&V2RGOMHDI;FDh z4s0yV4yFxc|Cs=LmNoMV84N77f3>zvbqpPFNci>Hv8;;xb7J5RI8BFWJ%)dT@P5rE z5@s{FTX>W-C*lSJn@dw@A6178*mV^K38?yB2y=)kgSIMt~*4()^u2KK;@!JGhe zVv_VCO4#TMoi8#dMY>INM{?>sK29!R)dh80 z|8Sa%Q;Qno*xJ!9U4yE0lwdZ;aSa)AlUJ;w4 zv;<8gQpgAetjXo)Bq--e>pP9z*rPQ@_tWTM`7;Ei)xNWgvtHLf=W4(3lIIoh{kte! z&Z5?|AzPGZra$uJOw0ROa2HhzJ}Gz65@EYrI|*$Kv0dGF4jFa&htoaw;W>BPN4XII zu5V!LUNM?IRYR(pQ2y83Kc@s1+)$pEFN2qls`zI_2{#YnVln;ke~5B+d!Go@-Rt#V zlVRBvvu50t27j{hr{lZ?002f7000pH004Jya%3-KZ*6U5Zgg`lcx`Olm)&loMij^I zEA<_wTsPs<7*OoUfT&GHT4}|fImNP}a)D%R@m?l|yKYvsHxQ#9x1#yAP1n0CQGi6J- zay|d~r>l(@)1n}y;0O>U_cm2LQ&J%+PgQxGk^=L~B8wU2bR{lfvPxI0EGFuPvP3mB zU8|oeMq|P`tQX+&0du9n#gD^i3Bwz3mOx95Q_KW;JTUapkcsN5&MC+^0|akq=%*-i zG|E=xu76HI)>$Cf)d^{G9;xT$?DI&*DQS8h$vh=F=aEjzsW>fgT9FcrE6NHi;9qvH z7MOimR~G=Tu*mMRJQG`BYIcjkS^4FR9f8-LP?*VR!c;A2LUJ={DRic+S?M+Y7khuX zb#Le2eC<6*K5SW7&Q-~y$hl~J*^t=n+(R0#Wq)U>qoy*FLmX+z)2!NehvHls7}FN= z@LT{MioBh-sq}$T`>)m(?$U4o4%vQ_yCUE1{CT3T4alZM>^+8Tp}S_glL9LEu<%)- zISQ^mu=%tA;{;&GWZ+@ZGMt8?#s_svPBu_hEoYY%$;l3Z)d%*#r<*wf@I)l(D2ma> zRezPfSl|@%eW6Pt8Mmp)9=9!yVpQF~P6)p-x~>ki>~*x8LrdJq%gG2@mvxaH~QaPZpywRp1G) zMM|N8F4hSnTNKi5PUJY`8PGg{uH?fgoN_{rPTi&J_>)Nb!<{hsG*dK9b9CRH?1w_K!s}cdS!()6R)2jK zusN9efZ?nNb}w@abVZ$CsrzZWkLJ10H*Y-cN zgj^!HnW8OSqbesD(wM;onN^TtL4Zt9E+H_wqVORo!l+FmtSTqmk^8JHp+*p0)dO;| zYq@#RzJd%*{n@zol!9|y3iX?!4}V#l(wz6yf_1C8o^GGkLhzxd80^5-jBqJeI4*|f zuTu;`G;t<=UomtoALWo98ouk)3%*Iln>qYz%Q7_SEk^?09Xk-kJcOSzzl;pOSqos4 z63u~142{Sz7mIH2HQP5M!|y6_YMQ>Q^##ANye}pG+A4+SAeX@7YTNSUC7 z)|%kBASi{UF2`oZ9xsgPKw(Tm!_}=&=KdvNSX0|}g1+2zEwwNr*Rr(ehY-fZ7%dEE zm@sTz4}9NVc7v}^mkT|z^iJ?i*O)|ggM1qN#`4aD@l+WEvpgfL)y4O3|BTIo`F0{O zZQVC)UACf^M4$y`81;&vYhbBG;8!v(h1eT}uoXveAu%?zD1XC%pV-fgE zI5NVp6a2`6Q@r<{)>z(|2%gu#*ki!1JHp#2Kr=(v@GW_{c}W3F+jRRc%U#Rv7zlJ@ zvHV{u;PA}n{{oY7))cd#=|ceu^tRY4W)=VdCT5fE>KT7oj~q9WeqUh!gV4|07Vkr_ zJm5Ljz_JauJ+rUbRoUts*M+QV$vuPp?;ET`Eww)ywt<<4aW%gr84N}QBZ7y%{L3%v z)rj#xIM9D*`xn&2X8&rvcztz$IP6}%e7RrTkLzLo#dbGt2)x_Q>)}9u&hK8XhxzA+ z-SuL--VKN8c3Mq`$CrXJb9HWJ`}*o(-n=?DalM`v^LD?zJG3gVws&{aVm$xnQe*x- z{hq4i?c!lQZVtyDU(Vx-XxMJ{_tS2FX>I*yTO)t){?f?%-x|dG_3HB72hM)Sa6fG4 z<;NPohrCu{H*Xi?eoqs$UR?;BHcuU^Up4fx?=PtD^AL|sQFYFazdog0|FH(duNp9m z@s~f=hC8?Ml4^e1&b0hv?U;}4OizsE=FbuHNdx=kVR`?DS`in%zHD`e!*DIV3tSX!c(mscZjF zOl}6IV`AI3ZF6GV z$pjsDY;$7UwylZT6WdO1e*bgsUFUqbU#ja}d#|cm-L?B&yY{o|(eJYDZSBTS<&1qD zXsuqKG6K+blCO=S@1M7<4@?d4IS_J8)Qkj-w>xgyBUu1Ex$q!y`)@{^x=4oz3?^$b z3@05@-WCt7*WP?wJoTbWwjRz89|z1UB`FrI#OYD$E}@LEYNF@}+1qup%R9S`&o74t zK5F#=8jCM$cmlLM99@8h=dvk62l7WY`1zrk?lnGSw1dMU;PAnWOv(Zu10p3&=Fq$S z?ZALJz#j0lyz@A~*O>|2^!-e9VC47cd8$)(vNEj01wO;@rxG;tu9_b{f7?=gJ$^g z9c`4pRxZh78F-Ock7USjd!OkqV(8QBOGSyz=rfHfKA*MPcmy$>Uwfn;q>AvfdF-ut zYQPGieGJDQ%=F!IC(+x~f$!@LVC;_VDrV7HG~@aG?bu+^Y+>}YK|p|3;O1cewjE^t zdjg_1F>-SUTR3fc2y4aqg$)@6V*5p(zE=S~bs8%yB z2o&)56}Y}o1CW~-ct^wP#sNN>kb!O107iX)2h{j|z@^w*Cj6oUHOII1w|Y{*$$?)x z?;8_=<-K6|=}oSwPIo#7Xc=^O@o{xf7+8YCm*DAg(~_}E^v*56AxU_0?#|62?wwY$ z-D8Z`bWb(s zeSd2GdCG;nJc{%_yZ`0v(g z^HuTwwU+Qxm@sjK2w1)jJ>C=Nn?mbTn%aHOq5lbl5kvr*)BJtBHzcDWt z+mC@i5}&L#0>y4qJ1Lhqa5>@?fTFUZfIp>L5@W>T5l4h3QMpe*q7ob-Nz=4{D87S} zuf}pX^p86~u@1XV#z-s?5L5P7L^=pXo9-ZnLmL!tt&49z`$r?iK65RMF8k*1(5B@Ce%VG^7&v8+%4cXVj zgfs)f5uoBBVUb`_5$j0-NO_@QFcwi6yarWmm38?H6pKs**S z4eRtrv#*3Y%F;p}lrGinJ=YBzZBme7T0Xb3l9;S@O5?aJW=4?5L$NTW1@?*$t3eHL zUr=J}?ygCtXc{s4BPTN1jYULRO+-;ZlXg2-RCvg)Yk~H+3X}l3wP!2RL3qQG1Pdf zRaW9dYBomBC5Y;P{&!0g@FW|fD7G}~5&DPuV6<@IOKGn2Iyd6NUn+_-$PUIpC}9cP zZLwLDbxskL!5hq|lSwP0(7kvG3LL#dF|vvpqvflfn_s#qbu^nRTkzvs+{l~%7{52-@1aR#w^jRv@hW}{||$d zd1MG_auzQnHPMW?EERErY!H3rzcm;=NhX{;HRXR_Jl7OOQY#b*(u)u+6wyXXr$zZX zjtXU8jOm0V$z@>H1!Nrs%r#9YT0!JPC0y>xJm*WAtDyp|tgjMRUCwc>(q+Ns<)Cfxi-yXb$a6FO3 z1}?oT%y?;n2xvuH`qWXbBCH5;nu9ps@PZB68j~1vUAc&DK!8x4nP9whz7tKFik^Dq zl!yT!e3~D1X8H{yq><~kz?M;0OoI)i=U@M?2J~FF2BHFL89El%5hLFAGSfQY-~6>h z8iSo_E1i;Bu! z%)>%icP5s?JO9&6GRTdsomDU#Co6h3{LPcDz*L{D(ILYY`T@_iKHHZfJ7loCXL@)~ zuVk9TcqU-4Cd$RVJ#8^Qd#(A1secThI1pxoVU`q^kcWr8fFDZ?2Sq-p#c*|zRwv^$scZu)U}l(w>KbVc|cJmgri&zOmEF3%GXT(|)8QhmQl#xjf)N8|9T(i}owr){zN=m@No zAugrk&YVLmIgt*_jy}>Yqmtx73`?X+B2I)@$@(zO!%#zqxIom?JUnF7x}sVYr?X3B5+}&b1OqH4 zq|p~yxq$h~0ZwrNSb|s<5)e;@o5FW(=WFufwXnr>JDrSL^=1ueJZXT|h;<2}R;35Z+)!~K?foU19 zciXl@$JO^07TTcA1^^cU>e3j^*fHuN*of=JF#*GtIxC6Wq#T1=X_kVg9<-vng+zD$@M7_L8M)RShax-1NdiX5(8=C=squggY*Z% zsV?=>O}Z{7syO9tI4mCbF)@9FW6o@D%&=81lC)8sVc{j}u;hH-5H{k%v|bMb{!m{p znc$Ka4b{o#q}-SboHSU@3yL@>93=va=N&tA2DR0i*9&VqCaTYm4+oHi@VI%a9&DO5 zc7v|C3tx382LQcGd?nBoKPQf^Gvn`H(O4|I*$j+ovEX@V58$1(_>37FaSBPGG12~4 z>|b@RZP2%PD6o=C=sD(iCZ0v!4MGy|y3C3xc!!WMbx(!d#N5UN*c9Iz)wjZ?y#Nks zlu*af3YacQQnYE-u*Fx;Vu}GU(*)iXEL)P4h5F-SfG{-J5tp14*UrD*C8*8lTP~6O z#)^B9cKMWDCsM{c1ec#rLd~$TY@@+5z$YQxC~D~9y`@RXE$)V$0z%1A|Ir_!j~(#t3!*o|I1u ziRDkWgQmRNKS4)7Z72*!gQjqd!Vn!ey|3PY~@=_N+_$`ka98EulO3 znW1WY1h5%bF+!HBe}82Mx}5fnpSXEH=KWz03CoLmerbFR}P zKufqSMwsvv)X8j9{ApnD2BNTGFxDCOkBBWNH6f{fWnn57cU!5tul8nnEH}eUBJ+_J zdAKo}tRm}FrVOwU@%4w z0oEj|oLTP?A|CeJ$SRJFKgUi7Ta5EfVR8w{3k|Dc6R`M7lwo6LswAb64`PyVUmcV) z60RqubsdK*i9O9C$ikk)Bp2n}JpYIf{Y}V1h}LWN{1DwH#GxAc(7I5N>+{f!(A};-t@VEo|AlMq2 z%;NkP1Z0%hu@j=8#0^oMIXT63_GOx9-xfVF#vzjNJVEYQgt%AuepMrF7jhY$5p4?g zvL`S*bfJy+>rb>r4yFv;TEm#ecny^m?~n*4uNHws5503C+4J(Rt+mGwM;j4IAZz62dv#7>bW6y<^eI1|DtiT4ZGW>#m zwVwy@IS>P^e-li_2EFP`y@o7c5-_rT_=vYaewBMGK=~9thf25@J|Mw7_f&Qkv?nJu zcl~u5@3gCXM4|=ip>=|0U4b@WOYN+vh-j2}Fsyt<@Q>2Chbu!`n4NJ1dY$1~KFdmj ztf{1vIWhUgReGhEAI+~rl?0s2{lY?C?>B1g@a2Rguc6hyN%Ch(`cWfoeQI9)&x2}a zhjd`X7`cr^SXB)bX_+A*jr*AMA_S)9^f6P;yeJU+JT2cjl|-OnxHJ<1ZLnN6X>ABx zpD7ThSy2-rD!m9O&K$Ms(+Ld`Z41+yZpf$C;SZH!{l7Dklkj7#jp}A3rH*F*;*BcU zNO(}qa_o2#XKp>u*|v`G>aRk_`qtSto=!Gf#b&z3ZN$?|@W&k1C*#}MYI;f5XKq6_CiYwO2kc%gT-7sq*%YTlGiC`q!}&&r@|RU}*JN%(Tsi<=K)IH=Uz=J#M6!92eD9f~s{+ z+`pIBEJnejBO>5+LX30xSN0!#?mZPf7;vA6Ce*_OM%k0GL~Mb(OFA&|N*66y?QKn5 zy5G%KiiIH8l2JQJ!DbcnOgDvwRKQn*rp&h_CWfn;amf|nE^V{U;Ez{z&iipM?-ipezq{z1_@# zWLw6q*V1vOPC_~8k@SS}by{TXI-K0un&DQ&Z92`TD0pJ9?Pq&v0de)JBU7ewI|ow3 z;5~^+8yk2)44}LzTdSe{7i2;E*7@;C;lM9>w-gips&fk56#VTh^svUC=#KiO!k%wy zDhLUnpS;1?J|@7pVBb32Ox+liFCq*z(h!L>-f-PFL^NW=!+B_F{NpK&ozg!E9+5MI zYR7uv=cG^s0fn75OFi>h%lh3#pU<%g?3MQ_b^SR!bzZT)!qLfI+1q z`+RM8cFFG0`U4U{r>()pwBU%9OP|9?$2p&0#0KBSuin#Bv|0nC3iWK@5Cm7fov#lL zZ>-12cEv)_@=SM{(Xn&q>-tFZn(i&=ZQ1L!mN$>^z{unG=;IAcdX&qQmCKX4j=}gN zQVS;_RVUNP@9oF$6}ld8LBi*|!5pL-#7EG}6VVOlz{121=-{O!^MUMw>kP?A5TT~# zgIn+O{8hu1mwvsYec?XSL2;o@Yih)!X{2Sq-s5-C;{!gxx5@faC^tu^q$g$I?e;o$ z-D58*oRmUgVsF1t#(JthlC_n}cuWw}=?W;A;#o75YZqwN4}M7ww! zNgl395^_EyKjo$@piw;Tg4MD z`wM$duy-h%+ejVExm!V$$D28@(@2At2Au%*59dG9+6ur5tk=y(J*1vE=vq~dr#Ha8 zwdaNap1^Cf(K%@IkiHR6visJ3GciL$$bN)Ff1dpUV%_JAJzX!+T<+nD{>^@l#0j!b z0}i-%8-BVBw&n{nZpG!#*O;_9x8a)$q@O|N@_026Y(;x<^7~TFq$;<4tON@Xe@^o_ zXC}2`hA!Kf<+nemWSkb-Tq}fNp22-?uVU(b1fcH|uf5(Onnxq9j0 z3>#i^u8c^QbE!S-n-W37TUK}yo*UTPxhl#Co*NIZC$Uhv5dA~tZ-E#y9ial$Cr0JkMDdC7pN3Pfsb z$@XjKT`ts<1apv-Un(1+pEeF9?V%lUGFOjvA&l?p7LOxDc8>^l5 zXhQcCa-q}HzY?6c*@aVj3*q#(qc6I}S6rrhNjn+wkdw~c=D>vm3|v5?Nk9{p4Qh|x zj|{Q8)SHx?38#+bm~-ZflNZybrUqd(!|+^rotN%MY+z)%ZVbhKz@$r`W`ZNyZ>p_n zT50x|pR%_*R9S=tl>Y<;5aWI@>-1XTZMZVwVTrVA*9@E^FA(b$APa0dGl6qv%P(h6 z!6U?Z`gIDO9>1i(1SvZ0fKa^e{|CL(a`YXn76szw?c!&0YBmNK6+qenMD%qWOgiOJ z+ggInTd~x5!gJy^FYADwh`r(3y9tR!qYK4=b;qZwPk4c*vBGSr6d3bR!PxvVJ&(7TvRnq?tQaG{Cvqe8&Q=sIAl z70XNX6;2^yEtVo$1dtWrox)9rCFoR7g|G)XcbNzGcd1cFiJ%iy!;-@+t+n?I7z5c$ z9ShGSWihsNO`z~Z6O7C(zj(L}M}IKvbizgO2|d7&E{YEYDXSi-xe1vt#;Gq6%fCqh zyjsf$slRg6udr1%<29aVf3O3B0gmQuPlqNZx=a1%Xx;C1046CML#%YapM zpIoOGRlNp6z{s&-KfH7LJfDJ1gkE43s=2i?H@Gx2|%7*Dn=5wb_yW1S7JMt@!8;0S8+s9gH5v=ubo@uz#SZLn81yq}3 zr|uG??S%K0p!Zn;xkF#z2kUuTWb&^B&8Fwz8fd3>l`I?(lgHiQ6%1Fdd;UfGrsAyI z$o9a$rpk-@XkWwPug<<`m3Vp?{+zwruOOq4P!bJ@gI&*_LtS}*whe&-!nYRCqkHh^ z&EH&gO}Oot!?(UPj`6ITsKXsUeDkY!!c_?ca%{wsU z{pId3_tzJq-#bg%sP9=0Z((OJrVtM=RfZ&tNqjF3i76pn_OkgnFRwB@mbv3LJJ?nz!1p^R$2{CRCzLg+E-pgr@+ay=;!(#e0 zZdR^@Wr27%YuY?09Su1To|F{BVZ5nuS{zkeO6)db#a3xQeIuAgf{n{>*@91a6FX@~ zzhx)7p|SP_=CQ`_IQ2q;M+_wc|F3A_0{_YY0xG<60OEcMYyumDWvm-$QWl=Hz-O&S8aBq|2tWc%?am5PO9 zK$yO8V-=wS*dHeu5&646=l<{wN)yBowDlQ*MGmvT0Zvl0>z@#;t54YTiS$#N^-w>a z6&B3g&&7#&rBW#(q&bNphApi`OBo62_Hb}Sqr#ERt@aL!!Vfib$>kZ=|NdkkMFm)5 zQl(rH^WopMFy?mqKCicTydPdXYf)C*^K@3yd9*8 zHg9s<%AhQc-u)em9AqW6nS^cZo3!njWHjF1Uw%?vndp`#e%iWTR%=}vO;4tbxl(v2 zk9}iAgLgtgFlpZFK?`$x2r3#6sc} zwa&sv70g+6rO2{bz?zp_O0!DDwe|355mD?OIM(MPzN|&r28?Axv5S! zPZW+b)X^jBjQn{QZ;eiC{TIc_4abbe#n&3K#G0p%QSe!io07T53sdP#dFLHQ@yjQm zn`;@FBTLtmvx7dSJ)AEdv;~MA_RF$qgdo`PSiQHP@%E2l?seHJIU0cd-tBoJpo_4v z_}hUQSN>tkB?@LbN7LKuZXU@*F)*d)#stysoqP2$Q)1f-OmiX37i$A^@ZI9Um6cwq zwZr=Tj7ry@f!9q)EkwB*=>VuF=&iN=FoURBXH5c2G)oF6(fuo9`-x5XZaDT517;*w z-2LV0qu#E_Mws?5ZqLW{>$2b{O?~tWRA@U#jE))ImqO^A%cX9xD}+ek|{2^bL=AS%JYA&?1uXgl?cH?CXs*@Q#%TVmT2TlAP#^I4Tm%^D27 zRmEtFfpA~lQ*Dbk*Wt%+Z&?=Jjl_ZRBCt}* z-*KnvUps;|n3G}u%4qz7hdS3vm}Ra~X=E*qVE*e0MLw4!4{c*#2%rhCQ?YXrKgzKM z19pG<%Q6L{h&sZ#Rs@7GNJ&7Mx+#f68KR4VkwX_a?La(bu>X~?tHzIjKGVW~q?Y_}|>t&D7!^3cVBx1yT(MV=ATu;)q%w^{W0V~qepa!bGy zQ?7mVPvXSOH1NC2Srh0s;rAhbhTtJwQivaR`^O?e0bkm%F#79<1@B|&CoCN!+8dB- zjGn<056!#R3j$=o_?qbW7XxN!KO+zu{M$F?7IShiVlaTb!#Wdu7t#uV$;ZL8V~P?T zLo~1oXpewg()E--)<`;;0x!*+@%Ezpu*bcwFhT6;Q<#$@MR9lCRUL>Km8?@W;E5Un zMwRDMHtyyrCAdxB-^)|&{L2dB^a`HC$COZTHhT^Mo3am*D({Skk7v0Ox^54ey#-B< zb`pJUaRXpvDU%;50=r`ER4&Y&AT}4(+wnbF)NdI+(5R->dh;{lK*tmCz|PNEI${ay zrs@P`+c1uZnVZQ!A^RYHS|4a=V+xl8-F@z{x{tcE`bLJ=Ox8g#xz#wvI%yD26@Ccg zC+~c2EfWf7S&m<$qWxW$g#U-@h-@ugy2?E12?l^(cVh-k=C>TDq2&`JlMaXVILAcA`mMrXaym_wid*yDOVXx`g)vm9c#5vHC= zDI9lPcSXMOtGh9%;WK08hAnZ2ekjTYb_O2 zU>ZLFH!q`IbmZT@mCl2GL;8QwlP<1awr2l>ojlXGa{#s1efR~u5=Qx03)-TshbQ8> z>XIpRYO`g^FRxxeFfcHfMuxkQ$X1g%a2zhD)}T@+Bv2_gXSG61593;kP4lt-gWvvm zc{Gsic|;Sd!-6D4dI50r90eE>v;%%!-Cggz4*VNf6=qb(>UDc#`bLQKOW5b?vFH5} z@P5DF!sT@@yb%N+_|&rh2I?b`*66_}7`}zj;<+~H$ABifW{yfx00&4Y0%a+G|Edv~ z9M~V1?o9tW06E>=IkI#WS`|}o4UUc7!qW@6y+{24;n3dg%i_}qM^q!FF~1t1_gkG;Qg=k%TQZFznMJ1dPDTMAyn z#4mGV|)m>HKvB4%sI*Ad~;|@W(o>FB8%-*qgT}Pk;WS$>Ym1US-_9sPzurZpq~=oB&PNLwzi0 z`Ex4mzHCzMlF>g%&k#_PYY|Z4Flg+*71s8*+^gEfZlowmfNf(D7{hs=mniRR*;s~@ zZGR$ak@?)ciS3fSw89T)b%GGOLVIEoy5z2gd)79^4lu>vOw zm+@N{z_2SzyLV;Wt9}^nN442CbBsn5FGOR50_G_GZ%m;s*8}C1PU}3AscDC<*0xII z#I60c#{lwQ9_~b;UhIS*6OJk1Q=0rOih%iokN?c^WJ(wnr))z01|3Y4a|0P?prWpG z!3Nz}^nVZIRc#vtor5C`IfMoe6^A>+eqjKXo9I*K`y6m6#BUiMoNSM)9Udfy)Xo}_ z1Tx3vt2cHW@6%>S-46t|cUIJtx*!+$cxKxstjbKdFJ#a}tBPOBB<;S%Sg(rTl>8YS z9z_AzT6A`+X?qU2OuyTA$LE^_cTvs+bQ@(TY91=Lz-M7`4pWR;i0nnjlGtu1gBHKs?{x-27ws4U^_N{+V zTI9)cAHUmlxaxo=8p$EvHDbBe&iU63CoL2KL@ayRaeY zQcUjHze1%^8LF-eak>QGzcmQ1m+b%`-~)p+WvjYslL-1JhjT&{LLFiCWwUme7U1}3 zeW?x}k*;{)vPYW+&IQ0tpXI>moU(W(FmPP8YUz)#4E}u9G2!;Vee8=7jKi(6lta-@ zwl*4d=DZ^wOzCgxuQVj!ytFGgexM+^U9Uf^uoF^1pJgDS)N&X-`d``P)qw*#4x%wu zR;|xgJoZ)=6hi(USX8t{<(@xqAbn8v%pw(xG&v~xN9D1@u!Q~|S5Yn)#j>IR>FI?Nj5Ncut=Yl8ejV~YP zzfTjDb+m*!VMEBrjfq+qyzYxGknf9OB!p?AYZ&gl*ge$8VPqjYCfGZvvxLl;d0!ug z;^rd=Prv`S9ucZ%j2uyMTGqf@%irvl>1E5~z!2qyA#9%G8UrUAvl9US{or^!eSxp* zYE8S(re$k^+SBJZ9l-O*TPtcX7h4RlIHYw`E;MZSnnR6 zMx+UYX$hpj;E0Uz9%^3~wY;X)Q7z8~5!D8x+AH%AcXN|pyHlV*&YG+vZJ6LW={{X6 zy^&tcywVd=QNF)r93g<2r_vqH((Y6Vri`s2pO^z!GJb>#MK06k!hH^0brzcUSMh05 z2mRj+;@xBp=3gIv;duAml*&?P?hb5G+6&uMv+XB-RB2mh4# zG_hDYx(oGyr_5GO1)9-&tEaT z-QQm+^gDARr44EhRoWJoBNtYbe!_phql-dl>gyGn=^s_vUp~bypB!3IGQ%7WrD=nHP&YTSEoFf-5lz;{{%Jjx*ZFbJ6H4R4 z%%PSZQkOUW#gT)6F@lQ#ul{>`R%!q7Kg&fidEu>z(q^wNR!wvIQ%_`DW4&mOpj9n$`ayZhTh{9w zd#OwAn_&w)CcR<+zN&`DQ$CD?W42SaozOCOgQnegr>&kQaX&QDy_bp&7vs}4tSmkC z7WEw&bME4-4z>lTPv}}(B#&9d!bOK7a!N5o0L#l#AHF<<@5 z;6i+HeRop+oT*Tr>66OU;W&s`YGCy72%gY|DT{yYtn91E46O0l&<+t6aoH6p1e$J z&wPCYQ~5Y3uQA>|yADR=(~wf{rduMpd;e#QBJTlgOX|DUM%(#n*U%;!|{zO0dV z{U?(DZ&CGsx&cI{boXlV!BIlUrz#}fo#E5Eg9al9t^7haABn)7jy`|b&)BOvMC*7x zk!-jJdxBnP44;3D!{aAS*_k?x3FjpdGd!)zJCKVo7G&HV$;;m{S2Jbj3;-mVqspw( z3kv40ci#R5Ch5fgEHbYDL{4!c_$pnIE?;3%xeg+{IRPT#gZ+GT3w~B*xuMQCD?w&t zmffW)Q9EQud>S_4DHRR_qEL8uwJ+?;uOWi~3MKNH}TqX|n+u-HFtbfpjl+TV{$np8!MBuv?2u6t&PWFXiJ@x_bn4w}8} zN~-l1A4+7U*RPaa?2sDQid7hA-Tf6JD?~)OWiZ4~EyjN#S?0ram;|2Y zqVS|Gij3GqRCwxg=I^*7jI2Uy0~4I~dJ$Ah+!@n!l|Ny4-h0{_bd~?GfZECQ$k0DQ z`U%*CTv2E=EQl;V_dhQLU#Smx)~J1Gg@vrH-c4Xw7|Qx7Y6Z^9ppZja@%Hlim+bh(7wgMC{+xb`R?BK&G+*SBr;crAHeMgCS7@7{9l z;S>CkJ3`oQKqtB#1iZ-YZUpOQrGK)-vjaf+SZqQOvNxyn0^2-lJJ>@qk!R-r!d}x& zoUnoIw_zrs)3^(HZTTvxklMl|rM+g}hBXuM0FN9G?uY>LBH6!2lL<&dYCz*bnl3h} zke+mQYT$gnU1)4os!A4o=c-(2Lgt~3DaxyC3F(SN5T8$YMBjRd*oxWR0NlYCg@D+A zOMsKqv11YANsy%JHX{{r^o+yQoW(yH)bm%AoTx<>uCHsvewd(OJ%y8aedV=qEH+Rv zGUrzQvf4ZbGvC(>hfP(D$Uu;IDy!zJ@i%1Gq|pIi?L1;wH~QEaYHr12z5_3utxLqX z(luFAh3eaE!k!h!c^8czsY_yL1b|XnGkY(Vo;v5NEv?SAymNjw5KJ0)V(4fL1IgB- z=2p8Yuf{fo=|%uYrd&4AKZ=TJ8QZe1Rhub!#>XNBs|<`%l^y*Pp2is&C2?(wWh9*7 z&7+m29S9*G(wR3sfCsIs$}F9Htmb1cJ!G2zaCm;eU?9_jL-)ffZtr)M1{{BSV>zeO z=^cEQE>6_vGUoj3{=;jMucQY7&EBXW;+hH3+WuGN;s*WEV+(64lBj6IyQ(mY=LL4xprF^dlv6r5gFyXIe=^thWL&u`{=Pu zKU3%rp-H_667|>yO*4poL40=*a&_-=k|cg$E|YSR%{*rQ?y3o7@&Z;AyT8iR9Ft>gYnQYgT}9J93oNqfmLQxX12k9M(zpHK7MWFo4lvX2(jt zu;;R){Pg>#daQZ(AHct1#4SAXGI8Y}nz6Y%Bbr;8rMa8f?o7oy3P!Ro1`j z75>J%d|rX!qddDwXtJs)Gfx#j)0p#;a~2vGsn}52x*hKUj{h+-V2iTPW}bZtMUu=C zmV!jP5UX*gTAjS7sZu?=bi|2b<`{}ImzThQnA(!0J8yU9W&%XnMg6PsbGN2|xisEA zWP0j><6L@@1ULvPX^x7HTy@`6DZ_e#g`t6P3_MAT?~a$eIRSzzELzo?1k@=|axzR% z(XE}uhHOOxqLBr3x&!6ghi7Qoo$dR5n1mkaQSTi%s++%Sqm1?8y<=#NxihSXCZA_% zg7A@sHxXJd3IMbEGs^NcozT64e&hJj<&*2q#BD-$nR(hqM}MT#azdTwbbHc6AmFnw(5DoAly1lVx33 zGhB4ir5`$Q*j(*>{8^!<;YSBrqXJKjh?8fhn87&VnEFlOv*?A>5}96m6jo=K0dAD5|)!_)>|)2Jz1V4x$6J(E7UB zXraKm+9~1sEpz)9oHu0Yd!$0kJE-I4tL-*>I8>~%q`lckDYQ0`t3y&e(W@GCe!6l&GB^hPqHmJX{5U+VP){Tx~VS~2q^&BRiIoDO@e@t zQTIhP5y^VoRuX9SCBiBRRPgVpHNiuE#cUJ> zUAVt+?=d0Qm0TBN3^_)M&HR%ge$aL)?Ro=!S@W_^YA$!^tM zSeMh^FZGgTxD9RHeAnHcr18UPi%)953H^%j|~X&I%YMRsTj-+gRuQZ@`5nuG_? z+Vz|+A>3wF6(DcfT#lA>`JS6!52n5;Whhi;i>yD$Bmn$18|h_5D83f={7V4Kb1>PP zGXeSwf~kW^-zc0I3=f99hPZ^4C=U9g;EJRprC1-MfS5HX2OZSy9Z`Bx184#TyFE+^5(c)sm7-* zv9X}ODfdb_7*OKfJ{xqdTjoDjA6_n>b_!29Qa|qnjq>to0m1g5+pQ=|I(dBRjCn&k zbq0n?{H{($<=vlFtw|Jd2#9YBNUYJ|tn!y5&9>!{I5hXmZ1CvcC&f8z_i(2jG2CUNo(? zQMpgJ%c$F8VtRlt=wAZ0=j00;>yt%?jj;XJsP?yaJtuxRj;|Ia0Sqy0FO3X}a4laq zQ>KK<<=!0lPCvV2>1=i`qmZ~)(5pvLNMuZv6S$kBymk3(*B+ZM^IOPE1Lu^%4v^ix z*A7ruT@1u*6DgUj-Qe$@qS1h+NDMBHTvWBMfn*OVkq8ibShbazkfZA zeNRdXW_rNWEDWJb1=QO2Ck$=y#@j>p#!sFXHDHotjK)-oo6|}teOox|th_@382*Li zX9G|EUG-anS#q7h^YA_YDa(+l%sX-q1##)8AZrA-NDC`<=eCiI{zi&N8p*#uM-nj9 zaXFe8_o$AcDhNTJo|7OMU3%@x{)Au0{6 zAJZO9Lr_tdI$CQbhgNQf!PKy8viKQ{RvmeAn>ELK*^o+_ywu6%&J_ta9rl&ue=5;N zF_;`4KA^F?`T*Ti_-PcHCA7$zzr8iB5(Ez`7AJVlwdY#guDF#LD95Ox?aX?J3SX$g zj{p@W5Zi>M{@WkCpcTarXNZbH1l z&F@E3h?CU-a?3v@-*FYUC>BFo_d0O7u6&QjnANWYG5~Q`QmF;Lh*y>*NRsgpv`aV5 z+&>@9CVh9}++9L`pLIvw-d?w!+>i&kND>G&CjA@9(M{4DEADvM_i&5(aM1MA+)7O4 z`dIEwMJnI1`YG|}2>+R$xf5PK5L6BxKo5^v#Kj^*84|wj(Hwhh@0mj@a zy6*B1H_j!zniNzzj&64wR9ClJB?q7MtCG>gZ0O=UCg~z|xo*+qzZ}u}NPip@S#G5x zcL-CB{`J=pf2fl`s8Q0EXD=4|wOIR?`~3twZn+se>`0A6a8CXD)a+VD62DH&b(hfH zU_UHJ6LU8GF1iw6N8LpEaegU!=)h2l`s}fL;$pWZTi6_y{%dZOZ*Rmj&(W#z4v}r3S<-UQ<=?z$+iF*ZIp{e%EWLrm&J2M%Jp0YbGWk9 z={Fp3BpJ2nCBAq5Kgk~~5U0hVNtfRM$+>S#G1*dGm2-zXX_}D|OHBS{nrdMBpviUEm;SmS+ECyl?rsF4Kjb_lY%@8ea@I z0&xV}uiH7d92t)PTy*X286ciP%z`W7U{N1O z?~w2U_p8b}Uch*EZ=*qi);H7O>P2^J>BkXL7&PTIriumwv{y%!zI*_?2#COMMWRP> z1jy@#U%V}U_@HPuKr8A5_D}IDRBnf`54UCdS&Bu6cM*PO1-E6;s%voHf8>uNCUe5F z-J(-q^tdk_Tjms(H*YYo9>xv0_0^Gc`<{YGJ8(maJE8a0aqy%mF@7e^FuPhp7SdE4=d9Rw4`6e~f_%nO)MQ8%Yy^9PedRXuOO}(SuUl{hVvs zYL<)MewRHmQW@R$hS=G4NCh~(x>ZUdkd)JvLRQjgXnSo{Nzqrju9aulz{4R*W@)R> zV>ouT6`WmhC6rgeQnuod%ad4Iibon2f{&l9$4b&LUVZT7_{0OO<#Wo*$1fv%5*yeZ zdRI?gcm9&PKxbuk!zysH#U=!yL9vmtUFXeP@pM}*aQ9{OTj~)w*B)m4t#jwpd&nAA z_8EW!7t_Y}LZj}Mow$j^hYgfap?PLbkVm08$dNNO?s@0@UZg#n>_p$#4sb2D=fIs` zw_8(MWy?shF0cZuzFF2uoO9f>yxo5@h{K)8$>bb=T4Ojr2J5feY+ZBBZ?|c2cj|J` z*6d84#QMbq=54sKzopp27guw_dR65>U*ki7N+E24YgGSZfe&AEa$cB`yGfUypy_>p ze*`pU8Wltqxd#3JbakcSP_6_}hzOJwL*ZbqX?&mqrk8|GZI`@6Q*6uva7qj;| zdR&fv;^_OOaPCf&e3xEzESW#3t!c#K@Xhp0`v9boQm}E(Tl}oHThEVFnzV2jQ+^>lyfZTf3ywCHQ@g&z~Bk>Z7HO1+N`rBdYQ$H5(Ar9O`EW+e?*vzPCW8 zhSi-P?28rLpZr8-dkO7fz+J>$ zw^qV3!PL{?n68mbtEAmct#{yO6QGxW9+@%}HzUvC6QQ8b*UZUEuft6rBqb(e_|ATf zG%aSAX;DkS#U{1n-!~V`>uy zhUIf-Yi?sz$Mq1g1KKH6SWmEBCWO2{-+RqT`WrFg zw9@yDDbacPwnKi}?u_%(nz!d&6g16Gi2*oFv$}`J^r{9p()oy3S6P{_s^^>KDmExk zp-Mnh-Z33N`H(JHzwY7h{ggDqFZbpEQ?6%D*=Lb)OYgEZT>SW+!`sFafiv92Uc@BJ zXbB6Zpk2Yh6!Oi=tIS@wCv?g6Mr48f)(d=9lwo)%ML#akIBH%oO`76=XnXGY*79aI z^@2{%9yH94L%j7$)PYpNgn?URC{Atp`M2ftK|ihL;^Fr%<4up6T`L^AT(Y9ZlIDy^ zD;hoOcC3tWv1`Myzp1Dr{S~WjS)j%zzS<*Su!JNT*Ez=j?;>**Zwzf686b`~T~S0G zEHHz9#S(I);qV@$vU8+iLCp~L1UnCw+02Gd3{P;?lyJuC3Xd7T(kFGo9W0$n7=}xhs;8wt%VJU z=?A-a$O$((x7z*EhG@>L;`U#gchV3oy#1T*tuEaHxW#SM;_RE{8I5j^q@HtQ4ka1I zYkKb%Juv)LqCyhpl5O+-hxcD`_kAO>%EsRl`Z#0x`!`aPh?K<4&5Vy>HeUsK?~%nE zw;caTHnrAWSPMvbTvWBouIPBCM@5^?AxpC}H6m*$m9pg|@~kO_M~MiUFb<$X;dIJ2 z_#6^p>!cJh+b*_n&SzT7UUb2t`}8U6Y%bWtU8%-%PldCS6|1}_%|A`N#^Vc*^+z+l za_W^LvqqD;PCO)BG9M;yS)o4eka^pt%QG~xwQ)aPows8zOznMiQ}RIZ4QW)MoMC`y zEV=7uf+0Wu)l`22o#?pGL~DCp#p2YUB3tyqll!)Vp(#so=0|ZdpArYErqa}Mp>m!E zc}G&hnnju+<_fU-F!|IMwzDIChftdXJUk@tr|VI4-uN+1JP(h;GPI3{>*4AyvlID{ zx9DQq#ig4V9UBF6nAEzR|L{w813*8dhn)S4!c?^VDD8@k%}h={~qonf>>`+iyAl=JrSfOxsHjd()OP0H? zeEd-1tjb6rQM5cKr|-x^VG09M{Q-xQEp#EfzeJVPv@K&t=JQ6}_o!>arA7oz?|T*w zpS^#arPHV7-a{&_KyOETV(jEn;p<_Y^A2tgYLo4n57IYOlc8|I@iqE&)}?gsPDSpt z7GR(C3>(%1ZHAtSHQGv)BN3O#v3)x|r`)YBySTNf#(MsiHL2Dl3hDG!CqDXtAZ-V=g9!%>(Ahp zx!Res@2WGnA|^N%dlquJ>fJ)^EM}BvDl-z1Hadny{i+X4?Izr#B>7j#wIeFCw~U%} z8aLcvp#k9ny4_c)iP1fD2?u+LvwN`>xEg~0$0>!BL^Qm8kH1-ZD%4a83U~tV2@sXVEeM_~jOfJnaRSykE zb5LbB&wHihU0E$7JYm_}G_1->y3lMO`g-@ykM%^`K>?OvD~0iFunrH1k>CF`(nS0= z($v13isL?7qTy&(KRUwZeh*=+sI9EBy7*2Kpy8iH=$afK_}aC!@_OuczEWq2IRBA} zR$9cj7}qx;%NV(Jy{)CJu94xI%i+ z&^Tl$VKL-HNPh7cc(}r1sI-9jRzv>Kh{!J|$V#TegXX(4ov>$RI}M=ynGrxA=4C zZCBKEg~WKz=zvSd6lK4CkPEX3 z5$T9Y4vei?B#oaF!E2XMS-dSLzXaF?<=2@~65?BZ$Tse`Y&`OGl5Xc687}fY{i9gx z4fs7dbN<_nQu&cf3$M8Hi(S>sTcpdMS|(*s=O2%YW(;L{z!2=fhscGY3J9d; zD=TPe24GRY;&K@h)GinV!pqPU{#hH1V6hp1LH*1iea1k%VjzBIHvU<2E#SNvpvE-x z9F#Q&q)>mSJN`jlYiHcC%|Md66RESpV23%tjrx<2_BSu3CvjyC0df!lZuC#1+FeHV z$BgPie+U`7BU2DinFwe>*JdDKAQ2Ep|FR7+u-SVckp2I|=6#2NO+?@z`j>Ho5kM&~ z`S;^`?m$3R3r3ITOyC&{-~^PN1pq}w0sdcop#IZIGx+~Mg~x2*3kyIT^`DrRLC^ia z>c*TPlmwh)%7laJBtVO4bT4?D1mKuIa{&+#CI|c;h|J&e&OaQhJiza$%->>9kcR~D gp?W&(_(rhYsW-FTr*Gc;;lud0`$h;t)18@) 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�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 AJOBUy diff --git a/nostarch/docx/chapter05.docx b/nostarch/docx/chapter05.docx index 05d12380158ef4600daa5279b736cae4783a010e..16d68d10a12da115bd853369fc0a5caad140a40d 100644 GIT binary patch delta 52018 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 diff --git a/nostarch/docx/chapter06.docx b/nostarch/docx/chapter06.docx index ea883663358def432fd4751eb15878ec25cab731..7680ec924ef0956f3c30ea901e749d7e30351e81 100644 GIT binary patch delta 47011 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 $_x<8W2Pv<0e_YKPE*`Zi%}`YwAh)av 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 IefoX&AJ?QimjD0& diff --git a/nostarch/docx/chapter07.docx b/nostarch/docx/chapter07.docx index 5e618453ba6749ef94fb23c39a96eff1d4516ffc..e2955957a1aa6ef098233e9dd7b4a11859483248 100644 GIT binary patch delta 61095 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�(rzOXZ&0v|BZrIonR*j^N_S%bCjqQ#C^R_L1&F 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 delta 69427 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

      t3W^R_6UjGiwd5ur+2FA($yds1USr^59; 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�WnOy(y)uDbacKHQ;e-Y$?+gf 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 W_&;Ww)lKyV0;r%94M0F{u>S=x;;BOb delta 85312 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ÝW%dDCV`rBkmaHzk11%tJ~zrrg&nH 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

      koc;R}NfZ@? zq3SRlQ;2zvA4!x1A^l|nE{I^J0)k*Zi6MD9EcYjh-XOpRx8KJd45g^1M9gSo9D@KkaX+c#1qE)?AdsnGCF|dc_@#S!GH8vnWwkKLy%E~ z-~6%#+Nz?h=&smEoh3W$fT`;`^r} z!~=lOpn$5c!C*kg?0+oG)DjR4a9Rjpw*haAXaT=6Y{@A5a!CQb%5u*x@x9Y!SW)w<69M3lHpsKY9uih}6V>;&a88-2lPT1&~8XD6e1NhHV za?6eiY??I5VK(r!bKDnjI0={-IEP`e-M|$SpbJkb+sOidD1RVH&d%%0x|mR?rhw#T zzeTVDw=_dl8x*Vhf?g7v;U5xpeb0ib+WH(K%}?rW!Fn1r=fr>%NY@G2t(ZTqI$!d+ znKE(D7$yYqMh8*8q{76W2G9+%&#PePrJBa($9ES$P))bpIG(`%&I0y017fh9lLwFI z@U@egc4JDS0Dqi4Ki5%|uuoLs3p_3%LOrlqmm&;s1gO?Vl!=Pu`>NcyP|yU!_I!N$ zx(*Jj?+sS)z|VL@E9D`lK9@F3o@6Do(q99BdEi7~=o0z?TDw8jm9bdu1tvh|YJcye z5b87e2t(zNz(gFE1yM(&RlC{pOd;TWluZ!U@`{&$S${xPIVk{R%smP|gMz}o&a@WB zP1CbA`x!q&?ITDY+2)8!6B<9MksCS;?jyEshD>8(N0O78I-hdb26+X~bv;RI7QvBi zTXUrOtK3&%vRM&!QW{tz(4MQ)d;Xc}HP=iVF4%GRZdlsMP+=XUpxCckTo|4wE0$gQ zuk1WLFn=v2$mwv&*X0S9gtQ2vxU|urJ$V5`k9lh>?~BXLyEF|s;GM5sI$aTD-`|{o z5r8UKf68To11#g91J09#Q9hXD-0(P}029$52gA(FjB;>HCw!^PIJ*UPDrNH$WJB9lI;32CQ8~?OzWCr8q>R(R$}@)8idyNa(css?#7Gc zy4pA|(3=FxAv4Yg*QMpT@fVp6BQYxGZ@4v!x}r&T(=|+XBu(^Yo_$-e9^}NZ=RE+s z)ew(?^QI@p7wO2vLqOmf11+1gxuVg5X@8K>?PFykr0iUkAbRpcSN3=%_Eau{@DeYmYiLm^053q$_slE$F$fUpY}t+540eYF`6|JN`FDk z3xgs6^DP6Mf?l?utghOQ>PevS^pu@Z7K+YrzXS$Xcw7j$>jv!EHgr`rU6Dn%SrkqZ zRYvfge1cDzuFE0ELfiG>j3_9TR`s?!>hn8SE*tSm3HXPLf;OC^NS5xam=m>rLn2F( z=Nt3EWxI1uw_4arnyy%w?|4ls(=9JWdl2St%ZHK@t?{=n`IFB!dU4!w*IBkgaNSB##WX4CS@wa#{EiY*y)c4Z!fVK*!BhrdEkD>JdT zUJBeWl*AF^pc~2*ijFwvwh4Y)&>fxmK&gb=``L9s$J=`lWOw}h(|>vfn~026u4d_I z6o4}p?(&;S6o-Iv$X;-t!8rMbryxOdRB$9is~*XW*Be zlf3k+E@yqm1a^+7xe!8orqC5tGhq1s!3pR1S_s~dTZKk ze&|Yi*=GAGnkqTXn%*55u8zxmQCW8fjA<~KYnj>t%RxIjD>86h^laV>E3IH#&P)&! z1M;YNNXrPYR(GDdp{t%F9fnh$%qqk7#xn!;avJ}S{eQ5EoyJqYiHcqLfftw*8HZe4 zFlKGBaH{8vnt=rF7jE_DfIkjGK{!Q$zayppUZFt?Vr!l%nJ(r5+=|$SqzV2k?r6`% zZpCZIu~AAwY_(BBzC+r88dE+c)ozp~)-|?P7CN520P(kROcz|13{nU>O6RQz@bDGFT~3h z`%w~fS8%;XP>^gmsxC_4Zne+-Sc90A@cDgkLy;FYnE1W{bk#;#0cnO|Il9vD*Lc0+ z{>{n?xhv@B3$|c2Q_xF-FN?OlZv*cs&~H=)Cx4Ou(}H}OYAP1{+aRALNTz1)l+RPO zG)G1^f@dLLEk*1~6>=4b*3f3Y(Q;0;5zY%En1D5nAZo76e16qNf9t5bDG#ie@3PCz zYRZ~UNvl?#6s^g1nh&x3=9URs6Mb2l&9|IZ?iD!@Qy*`=(&^2B0T7>OWdglPNf^syK}!$}85d+Yn9l9n<%eMkt?bNuuO5 z>N@RCv{vUjelT?c3{38TgllXob>|1T%72+U63jdX<~<2+9=mj*O6Wt26_g!Wvo)dV z;cT-LyRFUFGAx55mMqr%C#@OWjb27nIWs=ju1eP^^{D1wo z|4T3LF3;;!l;(bu&j~FS!T>fN$YmRxmnGK~gvNcBmZeDYbj!S!=;N7l z@e7PT_S1|c>BBi3FYr=1x=X-?0sS!2G2XR;FE96-xlIQXbfd(8qG?*jA5+MowwSGN z$*A|V(OdMi7eVucS9F`@Scz3reSiJX=YgH9FDs^V%>~J9uS7}6lmLi1zz;B_qT$P) z^JH~(7v#^37f~D)aG}XxooX4Fh!wt#S=UBT?~)-tYXyDvrjhY8S1(K-w7&ZJKAB~y z<4#vQcLi6K+8LwZkj7(@^T1|s{$>Qs2TbN?Q3{U3N4!_J#j+~eznpD427jHDM=LTW z0jI3^A$ZIYgPmn>SwGS*xKvzM4A0NHb1foOE6Ns?{Ng~9Aq>aOT&3qj1p;}c@I zvuQOezb#Y1e3Rj`(y$pTk}A16TH>}=z?PgDyH&tCgeo{tRv~6nh`(W@g#fM&L(XQ_ zsP)aa5aAd`d^Fa)*29LlvVWQrW+znUhQ8KA-3Z94;B#>GV8=4fE2U{1Vr0V*4qXyz ztn3s9)obFMC}kJ}pZa3(EdQrFJl}23*gE>C2g!8XlrAnH^dRp%q^zrw-;{b%NaUCw`uA!Tl0Dos|6xK{hZWJ7T z*~egve!4Cr2=i-Ph?jR3UM;3pG4;w3bQT$Um^oL$q8J6rYgd5oSgXebPNnC7MoukhoqTaaFKY|Zo*e3yIDFI?;T zQ4-}tuvUP`{p%!wbi||RpX|xMkdWR?m_)x#|D7;dd`F9~@~;7jg-ca$Rc%?Y1l_jV zxZjjSd<7II@5|iIkOcWjgPy7hZY||MA5-~oPh;A`*L)AXet*R|>I!*`{W~tV_eBf7 zk`!OD9Rrx6e*dJ|ny&0U@7f74+Z$6d72`%zsbQF!aHF)rNY(a5OEepP2d9UTD`w}r zk|YQX77+x`FnxO`3)#HErSD0)KOcJ z48-IY%BCv|kR6guxh40SvF0TMAYS0}8zNw)BmNWjQNSNZte*-0xdkI@mafT)&|qXm z^gUnjXH(k`BR}OJb_}WsJH!IykMvjSlX>lvVw8F*!FK@Pak1gR@oBuyorvdE3(R*~x+} z__BAPO!p^nzN@rlVM*$q(|yZUg?*>eIEoODjR*`Epp3TT zNkMM2bTqXMV8YcEc_Uj|4J1WVZQpBHpjF+m1;yBRa7}IgODTUWNlfsv9V?~+Sn&L{ z0e57b`o3}}jxx*g9HAG6vaSElY75Z1*=}=Ldw)m|=e7gp6{Zq!i$EH~H8=M&!l0Sb z@n)XkYo5(rCSR+}H@i-;s(w+H2buX#%{DlE1QYA3D0jp7bOMaEv-2HiEU0yi=@KWS z5v0oLgt|>tgb^pO9`QQsglj=zd(9$a6jd#&uI{L#PEyetk!cZ z+ke=}y2c0{mneo&cvbDZl16-NRZ{VG#n3fR_Z+bqY$i*J@A)q!4d*7LfAf|*T#nN` zkIE{^P?DvJehI1ws}N!mqJo4e&3VRY^wCV%7a47tN;QdtlPWH}yf1JI43Yu;W}5Vt z7kcOEU!SVWQ8S?~-Db<`a{T_=f4&6@gMSG70O@EyB8UH!#5B*zhkCiI_w<(u`;dme z|Mp*p+=%OdbjuLc2DRl$Nd$AmLku1W5AaQAr>(f`CC zeI-bIM|np48FEieb~AI*l`C~q@A6qZfG(X;!&V>DOH-iicmzEigS!-qSnsY9!f_rvY3*e~1P%(j^c+hMoU@81intutybbvCM zXB*&U|C+;D3%+RaABhFAy_?9Y0hic4Gms++Lph&$OhqE$foQIN z*orTbM_Qbd8@7VH{dsn)*JJ*-Pj%Ap}pUFMc zz`NGGYjUf2vltxSRbQw`W$RpH(yuO7;V zhtcgV&A<)|OK?u|$zTYww39jTijOF`J6V!9=U707yAFV;DG__p6+8z zTRR?||2mSle00h@x_yZh$xt-GHXCRlxWEP8e2iC5>GIFkB|QXNw;}YUhu(I?Zd0Q| z^dvvVyOn-KZ)wc@?y1dMhX`!L#_s|LM zf(R|#(>RnQedy8|V4LIY$_s=fFKB?S44sU1WAj04)`Irh9Jdw8wS28vH?ckXyfi&< zUFggT5K<*wky^z|z77g<>nI%OuCHsGv39(`y(fG)0fNuP*RGN>(1GV@iaXOH zd9UTeO?zEs;@%>minESXiydRmGR9*50A%v2q#SmgI*dF5U z2RyHKG@{e*je^g#id8|+1K3mf7o`_0{6Zc;aevIy5oK?)(U(P5@Qvvm#5hQzL4HZR zU@)A<5KaSJ68ga2fjBE3f`u(YBT!|l`~+fLE9Zx5IQV=R zk%pJ#?NgequIZjVcbE3`Exa=f#%wzfbA8iKuMJ$klOl+5(CCndju+tV8lm4uK^}rf zxPQw*Qoin|2dh61L_jZCQdVij$_Eemw;%4`Df@ImUw|!o%{@!jCWp&Rm zO~LNX@+~R5-Ibolq>d}~*Ul}8+_-4M3%$1YOqyefuIp@VQ|s@U7HKLPj;dNnl^1AL z(=^exHD~Kvv}2jw0=w*2%il<>sDdImigTdE(I@UBQXVZ^3KP|LOx@Occ5Nj_xPNKm ztFs@#yfv#P2ezWKR`NvgO@_Pffr>kwGP&DG5QU6xk|Q@S4TTd#$|?V zT83qz73!7q|3a$eQ{#V-&yb?1jT5aT%d&1ZV^&`Zs|$vs=?i7IUa|1JV1Js>m=__q z0l`Nt7)EzRL$Un^Hp+^l2!AG)tD2Ft;RE_o^%3qJ_9eKGeaY>8=v!5gFP9kozC0&0 zCz)$exSn_DTEWH;SMCUnO)6@ZtN7jyez&JUUdE*K8a?m# zn_%#{$e0LgK|V#*42co&Wy%mm_dQb(8q6UXmcVAcQ>2z_O5V(ve5&fwLbZfVx$TtH zCBgP|-B%BD8*>6kvHCVKBDUbzw%m+6e<3KMnvUQbHjJV!Vr*NmMR~r~*E}q| zJiu5;j(BQ-F&7HNjeiRDa3FCn;XsnEi<;NCZPRqY@GXC*TtZv!hP^Y<)^NRZ-962< zb={F(DALHX#85&xd2MWO3`4Ul&8}xhFpS_y*#?F~1y+yv^5TLW$i8gBI;taxj;SoT ztFosOl6;@UJ;9QVGh~D^78J@_l%Z0HjyxIc^cjYDwE;uhRDWboZzg$^OkGv1mmNy? zw&O7V-7DeoaJcRYLN2l9?>gizb2u!yWY}hes~V``!hD<0U$^oh#jv=XVk}%oPTS!NGXd3KXVzII~@k)0gEl}97nFe{9U^;I) zjY=&Kofs{O7JtG)kW-A!yraA>CV#*5cj$yw_qCh2P@VcbMI8}i6Je`_I3@~J zaPj&kPc2BYR$R8+rH9^Q?MrL!Vajm?E>ZuOpnD!q2@F~En?u-BZ=KBSP31fY434#N zK@e6BQH=Z9hP$1Vq4BVpDG4$NhUN7FN~f>{Jge}@Nq^0KilFt$R|(du8gPI()#_r2 zg!ylm)zyFrPHOJ68pu$`6Vl|f7ozx)iG`cV9mCjJT}ue&=U?IR{0}IB_`Ep-M9H(v z{V9j!74;aLG%2z)#x?vdeJC?PSZsdpC&>{N%(O+tRIEMq^aK=_eeF))ZVP74HG8%6 zEGLSRYkzr4)39Y~n(Ec+$JK_hbZphb7wXjua=NNMhbqZbwJfWqLzTL94D+l-ZFZmk zbycbS99?~D7T3;d!f$wR+hJo={~V|6S(6;)&CgIxv1Y(2Yp*s;I&EM;5)8$b{e}%z zwN1q{{TE`=*@#7c#4J2)cR!{RCfDyN0>$&1|xr?j(E*glrv zoWR8fpy?3qpx`R1ykx4~L?38Aw?UlmVL~UuOAzbc5h3@KBNTI)RyO0xzKVxd@)Jf) zADYs&W{%Ga%~zFI^_}Dd72{a|_J1ISdcOHo(XS=tg%q+6a5^oRvUE8&xU1!6K}|D6 zS!?FtR5VqRjh%urPtzW-e3{=S)4+K3LR9g-c!J^O-SF&tI$&b_F5Vfzm^zS61_c6f zM`IlX$){l&hr2@=Erw}W-Lb);JfmX@u8#yS*rM4Yh~kBMNve{okjQ}F<$vSGII0`u zb=SfuUXrr%HmYCz+6X)rqN2>O%S`$`w zWyzMktutA_xNYAi^_}WUw&{o`FK?F5PIE;;71fikS+zHofI27}$^oXjd4h|9Sv?Kc z;?->eZhLrA`|6LuX#7o1zNk>3>&b(-ee0S?ZI^ z0Dpk;mnfGBk{Q>adH@T7|M0JIF;o8@f6``e_^RfsZX@4TzbK1~(nc1^nj}k}b(rwJ zmmZr1~?*Q4_(wvqZzq3pIJsZJEMvF-X z7pT=WaAg)Bv7d9cHPP@LkTK0}+1|%!42Wby+wo~!T4D%Z&7iO0tqM1W*XvQzUuiao zAcncKdF^}kZXU@XqXEwB=x>O?Un@ukr56Yk+YGqT2%>t7@_**2R72Sloj*ZN;4+Q9 z6%`m01T>r$9X*n1?*ZB8DAeqDPknSUpEr%wR2NoLyqxR!YPoFjZN;&~hEb3SG|gAA zaPro&rN52Y;WkE8ZBz86ledoTjoUY@(5Rc9D?0XJ($Sm({Wh!3C>pwKT5cmHi)d@M z=GZ%xiI6-^@_*;k8JCX^LcUsf-%6XoIyg9FnuvYF&x-kidYMm{vUz>|Kid>fVv{vY zA7#S}G~COwYg>ZY8}8RL%|?ae1lzO(#cP1EBzuNosXJMUmY~TYX?lccvNGYyfzaeO zA#sr1(d<)o@cNXGf;etn3QzKE%TbiZ?Z4zoj%exoc7Iwt;SIQMoh?(5w7DSmPP#hy zyiPuO3N6arLB8GaGF0&dL(>mb_2=Yo;cCt?Mk@~vS@S*B?XQ|!Q@3)F(c6$$(_BHZ zjs7&&ioE~PMhjPc&(kdoMeRun-&vVpVLh<{l1l|;V@y^pPx57?Rlf$CV6xfUvL6>J*d4ZM@g&oXnxoHzrbl-JEccX5y%{C>^lzQp%B#X84 z1rrQGlY0lcYNNCvny7e^VvCI3mvny<%tv(>)sw2co1(wu;qZ z_sR9OX)fjZqjhHcF)d1`9n463Pe~9$BA5Wv!DIHyC}Dkfm=OhUi(7NiO0TIjoW%6H zn|~p$zPj9IsH+<2NSE42d4N+`d&p)HFo?LDF!ZaQA#2~JaSSyhfQ2VH6fn4t^5`at zqvDZd>}xrA4Gth{DKAE}eneZQMt&C*Lmrp^p5D?dL&rBv;q$hjqblXV4}9DoGfFo} zm%I(H)p8)Oc>P!t8?R(kyDVdH5@3Z43x7$n5?b*qy00c6`50&1a26Q?Ycc?yfYp&} zFeR^~6Y%V=8cWzKn7nI{jxn1${8Dcmvs(dm0&*9pH<%EkEq}aO$V$5Lq;uf)N1og1 z0ZL@ta_O>UDvU1oK@?ZTU@*6qP#ER}PP9>A5ph)(JNSdf$Jp`+w}|DU~Y z?{VBn^86}v53ugJtt#h(nIwDQ2KbyY*5g^&J@DM^0&Z4`Ri$l}Sk|Mya^SYW((ClsVev5odpY?m!*jXsGz zlv+XM4BQNSmqqgI__eLp!+)u@2^S_Xz!d-%L>XbG1shA3B0YhK^Zj=VW0Zn1q}tNDI=LuGKmXUki>xP)qjYK{2AZG3R1cNjY3LL;eT+y* z$~whpyf$9`Uzn_x1j^{YCSYnW@hGY-!NyH&%mK9Y}5EPMsxP0a73k+p>26|z?9Y5 zyRy9sHZKwNtNlyuXPVm=L%!!R6QnXod+)||K$AAb5qJ2|q^&1tcr|I#W?qDRYcLx6 z(rwhFO(SfXHW_F)w8X2`5Gb}d%fZ#SVGwD(;ceTBjf2n*hkrxj=9X8h6&rcJ?_p=? z6>e;K^;)sH&jQyy`7`+Ah*!(d*oyM}c#O2}f4AMoMusU%aqu40eau1_k8h<)U`1f5BLLXCD6yNqtq z85Bem%9vk1!hd|u`K+36fb$km|6e$ZdZ96Dn%u>C+iE8F>*O|_CGaIE){(X4svD}8 zA$81Q;Ht(&7|6xCeEDfSnPj86ec=j~Gflhz{b{myyw|BY5fO_JARmi?GwmY8E-Z%PB}=T^GDS*1=IRH^G2K1{J=d6nu{Vme-kt%K+dPE_EB7pXJuFc$fh92TZF z3L>*>Ho%t^c6@kBv${&@`Kqe)AJQjCXv@m4R988LOI1^v`u% zYUtVbz)f;RexPpH&bwNWFthwmKWDCu3^MN%5)rc zpD^atV83jcnDW=ZSgo+d5erPWf-S1=%AIMxuLWs3vpwJAvMp?o(zn%Icln7Y&8yx&A1;R7*EGHp8%(PVSJr|uB6lK$VO)^GE7{@4=SQ00dhH&R8X%? zTX*6ketlugXEzzV$U9=cb2LPZX<$ZySqV58vLnxuhpA_*t-?V|-WkFHR>}U4KY#x9 zrw_k)uK#ZzesultTl~>Trk}^NbP5M5#^-o8&asY1#GHQ%uI{HyOSby?H%4_xeV~k4NdOfCZvYqofO+P)vvrj)Q;@Lv{Vk~w_ zd2|k3JKw&6y<|MSyG(vv#*^{l`4Tc6mtxIcepKW7CHeKMkC(C9;kI2&?w0CezkEn< zFygj@F}2IT2!U%RySe3dmgLo=)z8y*H?8+fLz_edfPWs=JNiC=;Xftu zD3^G?PdA*Q`W|C#jclfVFin{T&S7%)=wJ^DSJCWU(2;e~OQ9B!$js4+oz#mmaZ@ziW)w z&-$J~%_Wxeykckfm0CJk{cv5uBacD$MZTq;NAm5r2M;2B6n__9q_ZpIPw7)46fz?^ zkW5iG(7}+Ytg4}az7t75xe()yXCq@WzMjRiXQ-(9JRT*`@V0JHH_DF9qh+85cl4)2r? zXy+Hk)BRW|&_nzQzOyidNgacQN@WMrZh;`iJgc<#mF4~2LOktFRoqYaz-ciSD>6P**_%R-7>k~a2;QPE$*VAmX7mG1b>RyU7P#7(yf2S7x;sgs+03yKJL*c{M{z(Kxh@^7Tm?g;v2rQpmIwtap!O{EO&T!`euDay zJFq!z+)JO$2~*-=p>pMEdBx=rkIQRlxXVn~+xVR^rX=sG6Mt$o)e*-c#Egcfy4}VD z;0=v`HOh9lMo&G2nTrM}rCd+7aQ1@GGCh9sh=0S|M`s2mb3%ObHSwLPL}Lm%KlDO8 zG-TxRYeqiD5J!krYm^5YziH#4K%@!n911;)nEuK8B-=+vD019DR#^{vvr}*Mxq3{- zLPD+9*c`7%rndkT^b5q)(!JFq=P@nYBvF+xdl2uYc-M&C5Qx7uFIIsB(ZlGbjQ9?d zIDbTgsCSB53!~e$QOKPky3M4i6*Zs`JCTp7LJM$!ZP|g^rO>o8H7b|s$B&QzNI+dcG+}4ZX!IWEO8v=G#bb3qyRVX9MrQ&#)bD?vtBO zs{=dPXD~0%V2wb-2wB1xAFO94&>WQn%P>*LlzM;EiJ~I`=bVBBiVM1NUsvMFak6VsuzNWS)090PLM0EqG?3lhy%}R_&O_y8TJ?H@HLiSd-+l(N3eyiAh%9e2#FOSlM|o9UUnDsV_S9DMk{AB=^6(8F zu!(W2tJi?8hDr_F3gukwHad>6NyX;t`PCGzNhxuhwLLp&yLY&>^YCL6Ek47R&x^)a z*z+&kL>ZGb{WKR#`x88`gj`ousaJ;oMZkaVyGk3Zk{eLZG@UO1ElFIvpNFQsEO;$G zChkVIa9JwuwSMq$rVy~5l)Nz8^APa|T$SBBP*(C%UIg1EiXG08Q^gs3_1dbF!nRz8 zIu;vJf%$i8$!7t|c-5XTH{!c^Jk_GM^9Z4#IphX&wQQUlq@L#m$Q}ria|!N>W3+!U zbV)=#-#S;=Btp3pTJEsP<~q{^yo{pIrnH(|Jr~tr7V`bqn8A!7Hj2s|yJ3@gk8R2wljRN0#NP=IiWYWml|l)9m!U zC}mudVd3KYB+_&~Yg>f$v3-q?Zzq4r?ZWu>TVn=9EWiJ#p#aQ93_H~g1#vT?kqI>t zuUr9Yo2ZVY0K0C#IkJO7w_}a;J!q-WR`cV9hJs?`*}h9Fo;X98TCVgiU%7(T=9|t= zL64@N(s~L7WgpAv-WY44d(+4X8DvMZq^v0QB1GHyTPZEq{)HR>4i8aqNuf@-J^+a5z@(vVkT*$yu7Vr~$) zQ57MR+rAlu{B>YnZ$Mr{bx(gubQ>3Mc`#mQD_cB#5o~H*!1IvI=P^_%B$LV9SZ4Jv zWt1)XR^9F8;5bEvyvODf$qiNG3hK*AEq=1r%^F5Rx)*qgd#crHnv-fX_qzmI4(YRN z7J6{Dj-_P=Q2T*FKV|(-Z-p`-;!~6B;pjxYArMMUJvDji*B#Y8@MnJo!4}UFsPP=n zR|fSynLJ8^Dp8P)Q6e^qJD~o3;TpXv5AMz09bUq&_*($~bszT& zt=2)E@%p=V-KH+ z=iW%bKctIHUqt*fPahHkezz3nd#)U0=`jP2-%~pKG*_^!AWaGEC(*NWINMWFtnK$I zxS?6;uiVyTi$!0ckP0ol-rxW7ZcTi%5EFdp^R45pbT&!=204H0Y!Rzk+NRs*Qg4oM zBjN?9SOF|s{N~5yd?A$(kdk|znr@tl7wv88&WiN$;LQx&zKnVgf61{0v`#%}61xmc#2YMA&&lP`^Q@1RzPh{90H zpmsScWE#NUW(R*)ClFCL+E8?MVbj5u=dnto5XTYogXkc*V$Wxm2$B&m2a$lg2OCF8 zV1{9RXTQnzMEO}Bi_43{AE_{{%XtFcG&Eq|#B;c^@~eN<@8G&{u%NO|ac0~b54k0u zfEa%t(!EYDWUwq`_-UFxtutzBbfW|g02axlo=K(SfzIz?n~%!K1qsoVjrH~? z=;&t08teNA_%?ovq22HT)yhY^@kW3%AmdR{*CH4P@2ZsJ^T_{a3|k2NCOXb}K&IO~6$9PzT56huE<;IhdYC z(r2syXKE^gk`v19<`L|2c=eo4r!qlb^)Z4fmD|q{SCw*Ha~Y_~Rkdb}TT#4?XNAP4 zf~$X&$E6UeK?Y5{vEq13;;Di$%A&*T1iqe;&y9?SC4lPWXd6de#jCyN)OAE|3VjSh z?lbc%!-ZgfHhvg`!Wav&0jT2^8Kq~g)duaO`dVpf!471Xgt$j+SIZmdR~MH`rpt${ zmI+u%WuPkwN`YVR_5%J=WP{Tz?pa^>EcAb6?Uk?D7eTNo$P6SY&rJ(_i(gI-{i$1# zMKVt&ZJ4GUt;b7lV%S-(Q=oa4Y9;ec!ZR3uR{a+8%?n7;gMh?uRpDe#tHv%dS#z2$ z=Sw(nJ}5NVfzeQRh6k%4hCoc%&L>zu;;ncz+6MvL^`!ppKcw7}w<|5bFyus6SV(^w z3M9M!A)#WtDh2`t0gI3s4xlFmvyo@T#5b;tpOTjx#qL8)`P(eHtBmvNqyt=<8N{1?&rAaVN7EJfm#~UbRwJyY74%@u<+! zmlBQkB`IC8RMQ&!MbnQQiUQ9L8;^gXM1@dP>?=^$_~k=-gAunKjHy%pNeIR1`Ay{~m1f(BaO_lD0ul3F@jhFb{C$7BK>lVS zqZ^u(IRG6mKhf$s`co2*q^KLr2FN*cDEd-QU0qa7gK8$LwIqsP{`?O8-@D3V_tmJQ zY}9|wMh#yr3~q~7;_QOk8o{Y&35~AwQzB+#mr3;6*1B2#om}aJc5@J6NC!7dTu*k6?fP_P0Yv`}+%HF0&ufAj-^l0&GSJ@U^eaw!YsF%^d zUpYr$X_o7vw^4c{O%Q)ft}1ey7Sf>dWaSSkK^m`nh393ssh2+XRbD^qmAOu!0NWUk zk{A-;tNORcS$aK59w1S>vN2G^eN}p_Z?<|+!hP~QRaa32*P_UF(780gHxhcO=xmZ9 z{Lka(LeEmU>g;ZoBw{CgOj7X^u}Gx$UuW6P2v9i$mEqQ3ClD=(1dQ!$6AXmBAY~I3pcxU{JFc5zbzC}(V z@RM>gw77-|b|`-dD>$~y@sZ2)&@mw$3+~S{NjJ=N__Pj6qMM^mygNp-Mjzs z2Mx(0E9ACGPJUt6=ndwMZB~0h2ff+Uo8SEhtVSJEMs2YYeedL(P681iNUkdix~}uSt@lT^ir6W1}~IJWD5Uey?K-sfm~){x!&3N8Z_y*;^&^ zt6afX64!qcIWt2M-IIY_XRpY0Vi3+e)Ar3lnwd1U0ypMbEVR7}mxCF3E+f+Rb}6*N zK#rMiuFl0LUcDf=@ew?Luv-m-#mlf2?bpi($U{^=R@-dwn&&fiaCg(lS;<}5) zvug71?Z8#$U3Oo2|F{(=ah6S%r8AO7E^Cd*_YQxBnxNW~CB)1qxfze3ZbAH+DyifN zYMF)?|6M+g;tYUB=B!us@Fg*;Ysw?Soca~Gw(pahPjFwDh2*#RrqEoF<+$aEnz+_t zIfLT(+gbY1pQv*=XiK{TLzgG&%_YpK?9rNT7aOqQdb7JYBY=lb!isK{XzkCZO156EFRS#yBv9OL28bV(4j zCiy&X#_8@(jd17(++`q-!Q0&FyDOo-dk25}b#`>5cM@Yd7ISQ;3SIHqRawWarxEvq zNLJkTubn5bM*``z^m5l&h$}!vRqrRX@(I*bM=!$wg~%HM&0M(6nW#h4F)@RFh(Utz zoqD$PB1iT1d}=egYV0x3vHUaTBqlWQuxV55Fm4$RMwZma<-w2mlIL;?p@L@6GQGGf0*X0hry z%YUkamj8V7`wAf}(ISK;kw+bmRC*{0x9rd_=;c|e>M;mmX=DYMSBvNf!qjsJy!+bp zw;3TU^?mA4|4hs2C`XRXZD=$;M;CvTTdwT{m2%?21=VsvO^z(rr$b1TU+Ng&NLm~q;?Z?9Px_Dd-Vc5v{2Ke zUSyfFH+2xJ#?F0ssU{&I5pL31DstzJ(r$Bpz`DsxKy^$vv;82jT1PyuZHd6EuClfa z8L(a6ICSj5sy5A+{ZMLd|&f}ZP$ z&b2s=%;Ox6exZ=Rk#YDzl9nm@W5|c+h0E*u+q(qV+GJEeo~kewQ00G<*$l9NRj{jd zw8}WAoDa=4x#&ATd}Lna5t~<(+eCz!CMu&iyr#oPovmF*x`By&Y=dYD(nW~-7RPIA z`g-(NdPAy~@nfqKNbH8x#vjdPkEkt@+=e78R(X**;8FQWdiH_ zWb$Y%s}Q^DUkx7Ss2w_rEJ?N~+yl6n;w4%2ZOIRwKomfaD=Exnoh@{Q!MCsKo(i7H zwwdD|2j;zSt8Rdyo1vC>I#PYqa+&K;h~s&K-KBW=OX(xbFTsEOUVc=xxxdKwKB{%L z^w zUa%K^X``;{6{kb^aEsaadbyCCRWAUD-1dowkF;Xfx6%=tlvfj~_TGlo7|1oJr?7z#!t9*Z_UDkEi#@ukEIk&db%F0c*tbCfUsm=8-p1=#Jgexwtf8vMK_cYf3 zDR>q&v-sUqvSsD;P^*?_)zX|H245KCtZVb(F`X^47Hj!kRh|H(QnGLJKAw&yVmDIR z2ocz+OV0s8{wd##6?@$ZKvjH8JaL8}UZ*^nR<=7v|D%5x!-j{`R8o>gP7PO#giH?-e<^diodq;9x)FDRfIISb!{vkWPi; ztJD_2ke>i00n1VujF3bP0H673CLS$^eU>9lrht=>mD`9dE_ry&y+$?H;@dAk8chu3 z9>L{RFDid-5U~NQLN)#wY*Q+0Q(@NHZa}$DB1Ef)704wXC$BM$yIt~tSdlfkUq2T~ z3fCT0FB-OEpX^o9#L|I{L3NI=inTtR7#xJ^%!HG5vHvMR5^3GXa@SI=nmN+7S}}iE zN8A!ozWB3~8v3>&j?!eVpjPBywX6g2XozT~{~v$*mg{o~^V7&W1jz*6bTMl?&cr)^;^+=AH`1m-aCYfiOT%z_+p9ZKdy6sBPWw7t`AwciVUGrpePutwfc$ zTAhCkDnA+|_aLmS&Ke|+8@PT@4RNR$u#k5RrJt=${pF@31aT!_!ZhUzQ>IngEX>;H zf}HpY;y+)P>c8sN#npO~KEPRkjOa@_DXxZA`?;k)FPIp4TGe(WxrUYPVngAIhmom> zjBp_T-%T}cWu#j^Oo5SL`Q--iz4pWtDU0u$;#%#&#s@`3PUQKyD>luopWMth-_A5;lEM?q8w)i^OIwG0 zS4hcs%TmfEkUwEb1S?Y@1h+$6nJSiNHzJJSbCir6?Jgr}+NKrQW~J4KngCBwIbnaQ zcR$LXNPAc)qN%kzKaVTtaR8&1J-A#}M{z;cHzl&Ax3y7fxa7rR|E6$aUER>cW7W+W z;(p*d)e3rsLriTK0@5x+&sG!p1x^M5S}G%Xmky5}e3Tp7He=P}|9%RBPDGORC5JL= z^3E7jqEr3L8ABE^j{|;mDq5-s21|c^6G_gSlNVgg2u&*@#{&F671bC&JWd*zF5)|$ z@8IJAshqs&%76z&4E%O&#d5qseWCNnicmn0Q$Tw1LWkG*HcPhu%S1>T8~^>^`Tv9D zF+zGQ1O!>3X;y$jw#vOxlI%b)mBC>!cFCgd7GQcF?2tT@T$(Cj3^44w9iU4eX93wlp$5? z`(Zg>0MYu!f#ij((W|yFty4pih@qh@@kVM$*#gF}ztX!b4U#Ei!_np07&$n2zmlF& z@ANC*zh9NRs7e~xA~jeewRV33TD;!~3U-CCp&PjjRe}QsXC{GDu4F%E+JVT7M;j>~ zVm#yq_QH(EO3yVX)Ut^a*sRK1%Pr4!b?OQ0J)`pGaU9R6FgYy})rED{{p1|os_XRw z+AKsoJPu;eSvbZznE=zJt{-Z-y(gLpFau=y4ml3Q+F9sL7OZAomKJ{sdFTZsw2#wp zdh#;XYvFZ6?p2FtU$;cHQkxhtWLfAe5`Q(S;Y21TN8+tM71d}+R7@ymEF7GPk_?-X z6(bTckIC3~5aC{%zidcYOf1v00{b}V{a?h4VUB&o+oRmQF8$F5zcYR6BJs~4S3S8F z>$r8~%Wc<1IBJc__PT%Mt1t)SMKb$kaUV~A!3gQnLI>D2BiSf6$a$}vS8Pli@|?C+}8@1jZleHoucZ< z)%JYsMHM^BOw*!NlH_!$kb%d7NR_#6mFr9HB9l1P{k6;P@-$i~RH3~szFqX$=ey1I z>~}JXW1EhuH}2>jy^QDmb#e7+SC*u=y05(LJ|)_Qb=|gmjq-rnzEwE`X2kN5X=#vZ z)Sw(Nor;7<+FRGJ(d=K|?8nmeAoqbTTt7 znuLGa&rIRIE&7DiedTR?nM`<9XHvVU{D2*-n{FZ6qFbmS(c%C#{G_afC{xJhqwcbc z=m630Y9yj98i@{5(MF9!6xs}eDzCE{xRGr}cKqrLgIxQLy^BOfnx`(b%Dm&MtnOk4iE1$ zVje~zvs!oIyfCTP>>R{I%*MxI7d)wCLe~vP+_6!>Q0pSh*C=TnxuVc=xD%YqGVM^V zS~YB(1fheDRMqf>4yd#*2GaU@3+ZAJ-5)S>fd@gI-N31<&dCglIHR`xa!Rnjw3vSz z7mrYfax?H>PE+icmSEH3k;wh-`!LXuv_%<3*m^nX*_M*tJ~~FYM?LT4N7tDiWej3^ zHE=u#LL0rD4u?)vgSy!D!eCI1Ts108xMdU5j02ZM!lGEw%V~1{(y~=Vqtb}y{I?mc z+B}1GPs(+~HF7n9Ab`D`c9?EgB;$V^Ieb`=ZHzVHHUTucL3m1d^>Jp6iPPB-9oOcj zfAW6)_R%rN4!lUxLKH?vOp9?(rlr@TvjN$7U8uBsAla8+^hzrg+bZAr%0R1vTiiv# ztqF8lky|N1F)hz>d7*Oo6`8kU!EH%^g26oJJOnpDwC{>J7cL{VHeoki3l9u{*Im!8r6^-?HZrsH4}91DYB}VUS|6gn z6gLaHiL+UT+3RJ!wc@De z7*2tp8MvBbv7&AzH4ZpB@mwsi+gbV`zne~_EqM~3X3^+)dM8XxYCM0$pH5-=6e`pM zbhc&_D7OKa)p#@#=HEzVlYBhsXE0ks_%;IpBleIipc4c*Lr+2Wt6pfeH%Yy_k7rXj zGL@$$Qis4#UYq@V1IzdMjK&vC2Fzgkc|1x0>+83jtkDmtQ0cMwqTEG5$$ODjSH#7| zLnQ|snXC`HmxumBJx+hsdvSM|BCtVa}o2`2T)b*MbGZpT8{1W=sRFbA|ML`vR9eF5Zw!N;MmxhXCw*ZZxtXF+W z+3RY?MJzDSrZ9i6Mpb;DI=IU4ak7K#QdJr@sU1pYuPJKE{m9Bt#B|pi5-9CDB=D6ovDXqVRrSPnuoQ_ z6-Cre8qIoA&A^I$iYv>}^t~W7{W79WCH&cE?z)PJnk=otG_*dCleg|?HLes?b8;+` zGK)zXw_z{Rmb6y0rilaJ@`HiQKwGqbHw8s}>$sd$ zdylEhq9A`V%UP^rdR44NzMh|`S2cmRHeIUyFd(c2)Q%ETY1}Ys$KgDbCkyB0RIwJA zH#H(UhEs(+WO|5H5tIp|HdY5er|DF&7Kc`aY3OG$Hg&2{rT`& zUWd&{cufa6%pwqK41(0$D4=7a2^BAbu4#nMn2OiLHgN)bFnJBMr~x6b8&WfnNX7W2J63B|ZLCZB~qdk2uLKZiPHz3Ki2^JfY_|njI zSo=e=AzIunSMJz^SP~m}kZVbleSJLn z3@1JE%Y60OcTkTn-y?P=gVirO-8^?R`a*w)lP@i)Cg0kh9?C+-|}FyiOEk!MaoMDKQ?G5?1uYI(j8`Mla9XL&LO~iFmEzMyh|> z;Pd6%FQeevDLQySD*%i_cj}e#GZ-M~^S_TjC&qe7!-$gUVhoM%C37Xm`;@oyUl>pK z-?cppN7;7|wYN1F_!(sUoGy)<`!t0W zpJp@job?XRp>y~?eG&o?!p}6aJWqdOGM3ZvuR=&dB%|kP`~aYU(~lPlx956J@{o7@G#IS*svK2!mT_{adP=33=o3KDG5oYcw8wP^R*Qg(T8QmC$- zdDl#aB*2zLIVsE}p&@lW6R>vo?Dl7zVr$bCi7B!|9O)c!_$~_kHJjaT$pwT)+;1qk zmvpM6U!spp#<+v4@P>}dEYn$G>Fg0<`IGh{EUfVs{c3GX^t%%~yh?vEFU)l9nr@qj z>$u!sK2|5S?Ag?3Z)N5F1uvn&D7$3$Y%Awo9RR#_C&|V$w-Zpa4gl;~mW|!Y5e1E` z&|#?D<=n`T=-plxBz{<1O1Eo$rIwoVCnWO41XKzNG372Z$wAO(TP$$@r4ii;^Jqp> zvthsy?t>)L9u7h)#_)fTc1z}1enhqEt_F8)y9hZBc;xU(aUMq)S-w~4;X0zb##?v7 zy>54{J>~^Jtm&;d%-7_vwN5r|Jo7R9HH+GQz))o)G9yRKmtvKF`TkmGX|^xnuSGrz z5vk$>VB(tCtzh{L{@NGw*D&LhW0^=UOcN6#^+>dn>b?ipte}7TE%KvQ>-^|y4i5M6 zG(?UV!_2Re4K0s^gy}cVK(r*tt1@G>sfTK(d^mf4w-7mW<{k(pC_L+_DEL7Nyu5 zku(hv$B3Q=JUYOkmw9TH0; zjw}*X0m?Y{IW{FN@>;&cLT0F&k<7mQ;zhZ*7xEh!Uq8g->DS6ie@aF`g!r{ax~e4L z!ZTGQ(Bz4Z+R9MLwrS`K53IlvcDt-E)HW$~WH9s^*CT&H=<4f>LTS@GOvOJs%TI)n zUMP{niuo;@kq}qTBVUg=6}LM?FS5M!BBFc>;Kz_A6-BE7JoF7>F4n*odUCn zSfI0Ud_9rX;-m5WaS}hD`m&6T>-gr=VkYjUp+lC*EfI_l=w6#Tq`dAG^Qr1M%UU>~ ze@nM{%cOs<YwtQ`YLU*ZIaM; z9c))(IfNXKn&`EzQP?)$eB3w=+9p1qhPD+!edu7~^6%7wGu5nuwb{#inqaxsV{ClX z*?U+-BObH{2zyBrQ=@tw!=_D#97S>EHpx+N+w_0KfVM_qIY$B3Z>Tjb`8ZWuya#7N#{Y2+&d$tL+^1RVpg zEa5L?jPIuDO#S&FuDZRA|oT?_Y3t(Rks?M+G6>-=`j1H;iJ*e z47`XB&pja{D}=Q&@~QKZ+vCa8#WbD7ya9h2o25(C2XNKcFO#Iqn8d}V={}iWDAz0A zTU~F%EwlL!0h|Ro7vRAi{U}yU!NZD8J*Y3ZHgdE`(BkU*pY;y$PO<3N2q*LEic&Mrzp(f z!MVxbAS>4odJ6K`t2>Ev98))~C*fn|RWf|!h1JSDp5y>f(T95{C91}~cjAt`&ayA_ zIR8=|$!=mz)FPgW2RBdNDozSTUv7JpbYvs1~Y{K*1o7-9pHO5u6-PV6i z;%Uj_@(vzK&}5~Gdnvd*%17KC=vn=Ap@i5DkqRxkN7#lxm%DZcKHNd$-;jT>U5ay; zk=B!}<%ew!_I~w#nqX4^T&`}dww?*6l(y}Yp*o?dT4A$UmQpRW+?QQn_oF}xDwHB) z25qjy2v7$16BgVtoAVJ3T@EhAEQxr=KKYO{14?`mO|?}qP(_}+7|D|SFUnt;F@abq z8w{g7n=1lXQPH$ZX4~Zn5V?N@9%Sc49wMXU$#Ru12E(uk^UflHA?#RCvrx~F-H2KS zi1OAJ&~dH}Pc?L3CctiMn(1wRwC`NkKhAGF{-e%w4UYc5#@7ilb4~K5KG`~;=eSZ< z-bYJJvN6UMD z`=<5a_+m-P4bwG?Ng3XWvc(cs6Bm;-{qCDjDf4%gACd>XW$u!uW%QMCVNQf&X2 z6Ii}f<^Mg&W*ICNf5xcIY7&A!WqkJCI-g4>mMgAtvCi@K(?)II^&RpwP}vp5)p^=# z2kj4QyXZSp#B>b9@}7TYrpWnlvEMuqU9%%Sat}^#y-X%{=V#=nK+wo`ErMOD!{=jq zbM`sqylxgsy8Qf*+%kw~dePHV z)SSPFOK{Xs1J||D106ZKlcO@+)FR6dtG-HB241htidzsX-nnQ#jA)ScaZ#6EqO@M>rY2pmCnxotXuf~{M6VizEG#81u4>PI*KRhN zzUdOT;TcithSUu<*X>!~EywTD-}4kRbL&hcrX|ZH*V$y|k_EK%6*#CxBo#rre_1iI z;0l9`wUXVl)hx5ToUyXL34r!;LJuTjuVJ>sBwKt<7Adq0KE#jk)UDL4z-j=Igs4co zcogq|SAu`u;4hjBeuA!h5m`fQpw1EnF#|GKHIDeC<$;x<1Cw>FDk`j~9DZ z2)*N0O=RmU{C*kF(n)iH(+uVE=tb_)$sj(%`xk#FyKufjB{TRGSU+(woV;_v{FgWU zg=z6Q$@4z8cpv4|sG)w>s?n+Io0O`JJe3g!DkXHIsb7so|L_BIk5O-c@$qHB{;Np7 z!d8OaP&5pO%`~Z5mVE)-5S-?f7Gj`Ri#yPFK~HIpx4)|jC|3^5-{XlnRn2D zaD#sZ5lf~7Kp|k~2AE%PmeA`O8&8)*#j@xzl`(blBo}_+gl%jFv)-0rTe7*l}gc?!GF^zWTc+0dv2p4odlGq zB#@Xd)qR_JuIgLs5fxIm8I~RvUkI zJ18!*PCl*{@W~3fE$W1d=e1QwTY(V-Rs)34a5c}<^`n%^^D&V-Wa$5_*r6Y)iIkge z`PT0AUZuj6)O{)fhGKH77<;;a=kLySp~yR?i8J83Ui=|PBTC{K{Nv1jKk9wQTKydl zxK0;w{lCJ$Itn3%(``o~^oDQ-}R!*9rVopg95@E8~B{Jcec_ zKz?V>O(D0>_8EGe*q6_WZb4|C%y1Kzn4=S$h^nZ#QbYpbLSY^h1fMRH;y#(AH;Eg2V zB`&l4a>DjLnXH!SS5Z~o`ZQ$7b|_x2f29&TGX*uL+3Qjd@&F$5hW@?uhM21NHx$g8 zK<_Opv&6&OTCJ?mv<-i|5!KTyVtE9S5MG%T`Qh(yQ-K19Jnx**lHSkOX>NAsmZmx{ zDP*6iI;uR=$j51%nIk$+Vw5+ei=#WPZ-g86Ri<#@k^s&Cz}`)gOaY%?`DF#eLh>uc zOC~WWr*rc}MIJxL%s!HfV2n(+va^q~_5-JB0ww3r+&qYhM(&eW!c&|FHT$Sjr`jL0v6> zebV48Xi==45?q+Z%b0sYj1fRSMy|!V6ag`Io1ER@Lb|Y4T+qdvVzBaW4SAdJ--w|k zAOP$XEz`+r7U#Si@w{$PUTzN&y>%TJ6d9FUS-T}S=b?Y)#>vhsu*s8B>FwQ8$-XAJ zC=M+5SM(;}VAkto`H&=V&G1VHzggB3#bU2Wy7yk}^b`GV;%z;ZT zZ*z91CTFEk+utRsDe-1OCM;I-Yw%YfnUB^HgvEcR+)qRJ@`T5nhl+`#`6yofgnUqL zX7PFHOA-5T*|4>|mYt0)xqwfgP2;ku;H(Hog8)-CU>*pcNNQ3LH3L-*o=1@O*}|Co zY2V4-Ktb<1**6A5ibq(_x>N|NnQeeYr1F zIq`qM%JSF`m0_)K%&CO$!v$OY1~=nA&)A(hM;l(Kt$49DX!SG_K2*Jtuo}{0zR9(2 z>2(g3#G*VE8bTidBIA}_7NAM6w2>XZ#Wc=w;v7Vrm0Fyfy#jkgnWBH) zefkf)8gU`B#qqFADS)RS)umZqV+nKVD7EQh2;~m*)Lh^;T1VmS$qM*!NTV_rW>t`ex(L@wU0CDC4s#;UgVRmt=va+?{{@f9BF?utU`x) z1jo0G0UqGi%|e{-&rH-mi-Yl5Q{Tkzl~gAs7(V-_BrbbkSeo6KD`JL3^VRUweGz9H zKm#1$(vW)d&G$H(bfaGDd~TeZNLPb;Y)vv2Jd9rb|KGfonc_?X&2a7J@ZmA8x-Ax( zDx<}GR|SlTk)5R&N-#|~Lf3y(jk5=RZ>LTRtw1H#C=#Ve^c>}+vy028>Ih(8@~__z zCj+cf*B%x8UIh<%i(+-3 z@0es9;Io&fHxS`Si_gH>&yZ~U3~v9Mw^AyPIJQI7aC9a2vKju&5-5M<2lwW?4u{i_ z@+4H>3qyOnXymxQ84K|SVqLfaQf$^p=n>Zjc8qM^$z~bX!z8|E5m#om@j2e%TIA8d zAB(2;%8L9QuIYxW>6oP$dD`<1hZw!&9jO3A)RaF$rE5z=T(j7e}7$Iby~Blr7%4Fd`8TE1qP27RGPRbpF2 zGu+V&FJ(tmVHPsCg6`R&X_(M+^#Vo1RNavH7S!R5q5-mS$^Pt8E5&lkED8laCUYMe zVc=>8u%W_UgL;3F?Ya;+IGDYnRY+@ZV^^qDqNK+ zw>vxT_Hm@|zIJ%c&6+h^=C1Ilrn_UXZM})2%kR(gI9>c%!TFhA0BU@x{Fw)Rz)OU~ zlT6<$KfjqJH%sNa@01*XUf%vJ!*Nq*ceB?xMX#6RT_JxU;4I@X{ke{J)Xr3@1*R5I zn8P$OwVSCZrHrYX`tzSJlp>#qBJKB@^WKqQGx3P+>tPccGl~d_5Z-OW=8$OA+;IN< z6$8`y$$JblU})jzkAM5=(`V21|L>=dt{;A<{oIO=2fZ``X;*^3T1X<>4;q%cK~2{S z5dh(}Y2$xb0Z7ed&IDOTJT={Ojp*#-!R^$kwoaX`N%yb#s_x_XsIFnzzCSW=_XWZJ zbh`@@Y_@2mQq_H_Cy@BA5k}1^l8)+SlN# z9hfI-y5q*~x9lhA0$?IJm}=RnjU%|%-RadPSpXFV>`nF)K`t~CUjxplKxUY7XwK?@ zt@?kH_=z59DB$j3#i>qE&wgfjQ#}?XUO!M^=s4|gp};KpI7jfqbAwqZ5}t4uPy#4* z#cDnW=nyWFrMSnlB2xgHhPS(OXw}Ns&WdbdvtHGn4oVJw-Hd6tAq|?=hH5&*FmXJ^ z3sBv?c=tWR!juq+ptnmkh$@8Fa)A0PryqY7C6E9@u>cGvV3#3Y%{d88`?~-=w>%km z7K9>aC!<(RCP`7;tY(83LtI|M`vp=|*BjvZl@V&aHeJTKBM!Api#ATmEB1{4q%<)b zyLPFap_)VVFbJB7v>?*7$XE}%f00&Wqn>DkE?h@uiEranL;?qcb&@(;LzqVZstbQA z^PH6AhhvJRG-5)}<5-VUGP8fNl&SeT(Z&qSnuRATmeOdbMIrKV=S_(CGziKJN ziZtCGJ22Pm-5n3@&|kjhyP65azQBJIXlSM#hR)fSvUX@s&7oSTjfJ`g-94)6MwT-o zS(M!Co3I9rEx~5f40YXB&%R{1ojRR{u5LtUuRc$91pAbXSVk174mtZ1*g>7829cqk zeJ8-lMB}uz@@7CoYLhXdRI>Mw;&f`64x#GE#FB}_7pGfZ==<8(4j?#wlHz}KGjJV; zU;)#})NZC8Tb!<`fgd?d+0_l#b|@<14V%Z}^h1i%151sJCYmiV4c#}~HTL~0(#HLY z(>0Aoj&GlRxUGXaU)5b72SSZHuCJ#-^~g8K6yTNg@#pU(mC47Vv-TD};OWGbrNb6tO%=%;R#osixS*MzAM2!|a#v|hT(NXYN z24x4aJ|k$~HXk?dk^d#Xr8l#we;0#vh<|;0yl2e3PHxk6N%Q)->7svF=ARgQI+XQ) zgvvKuTXQ*qYLWuB>myr9@(mUNt)J0&_VH^@7V9a-HHk;2`v$e5zVa^3oQ_w?@T+>F zMB$kX%LXHE7Z-O4e{WS%j@^xwpYYg25$h+U|N2q+fgS0ZGHE@`ns{bw8sBuOPaBRQ zH8qb0i2r*^&0S$Z>ydwc+G@t1vU##h=P-=2Ea?KUJD6Y$S7xzFm!dGb94ya10bjro zhmYCnpTGSMbAPk^3m=25OxVrC=Uy`QF4M_s#^ff>llTG$*w4XEE%d9 zQv1|VhCk@A_G0y?OqnM04D^1?4l7ps3+5`^NGeClSH_Uuq&Yj@6Lu`I2QG)&SUgHM zS$;->wqwL|`zn93RX&Vvh^N!f%ZKbK6+?+hisLY$5`57tL)R{F7G_OjW($~Civl8Z z+%zvTL!$|yOAKG9mU+}{z;Ptz*1P0KVw#Q{Fc*ES%_~`Vzq$rgd2tL69E7PmfvX1E z*#jeR2e?*xr0BAs$zvWa4ft#qV69zATG!vlvmS=_GSoT+n zM9-mzrtL-6*zU36U%#P;8Z~vxqNDij)$!0q-)HC{(L-uz=ig=9L0!PiQ+FKSyI*eP z2PTn#83&#Uw2wU9$vlk{x@ao@i8iLE=t@WxW4 zzV`{;+$Xx+eWL0H30z@BC zl;L@L16lm!^WADO&6BC@7+2SI9eo^i+50BZRI<5CG*y*4 zQOz+LB)BP+*Dxq`XcRQ+tW-U8J?psnKy6HW4wFTDvG7x+3_}3N!4IbC%}tU+TMky# z$Q*Umi`*b=@LAI}%Z=1iS0Y!aZRPXx0S2uj_5p{XjIyj4ix-dUI-~+iDggUAeo&G) zpQTC8egsv2ac732Thhvw4&s^@C1VVu2})1lpr z&^NqhEeFv8)iKpN4)DwFDa*cGu}h)sCsR++PeyfrVg+W@kQ`z%&N}*QJd4KAh@}#HtRLEQG8Dzn=J)9g!yMCTk}F@;EA2{E-moh*dH?R+yZb!*f5~K7 zyu)9=m0-Q4d%olAW3kIV)+%sn|xdZyR)-8tx|g_mcA^r8%)$q|5C zXiXces@*#Dw48XuCF&i@82kHP9B&zTLPCAw+N61zMwd#ndcKb+OI% zb)Cf>jrAvp!(KP9s(40s07nIEfYC!6_j7^JCjZtK|x24lKB z>I2rU`V;N)6H3%=`V|I#zo@`2Ra+0-w0L_p*WCM3$&joA4q9i8 z9_|1`2<;TSoW?dLQ0h7O7d$wXPb1ve#i&1gR#I~002yXC~-_{3q?K2 z7J&FR7%r2vuIgabdN?>QAOto5G0ZS2J^q1}Ed=ccQMgjWvsJ_PL*E@MtxBfVhG#do zrk#f*pkZj5V~TP2O+Q4Uiuj%z>0}I3?qmJIi7HLTgYt3=BbfkHg6}5s-{kV(Xe}Mx6?t1Dnp}oV4i(bcL#M&5NRqIOBG5HDa}?Q-Nm2> zman_sI3~PgVKq~AL>Ggpg+}B!qiA;W^^h(GVjH$+Hv8XRiaOJD$2J3_kvyTA1MM&` ze2m#v7Ldqi0W}H9QEex59IKIGH6mi#I%1x@w)1#=uFtS6qB4VjzRprzH%-&V$>yhI zX@$&Z5M%oU$%aWbpF#ShbO;?f)&~y5*+* z^S9p%5#43vSK^v~qPcmKDT_;XTtABaXC~uW(GDFB>s?(Fe%19dcvYlodgS+g)j^|w zDz7?ZR8q2-_L%x}Qo43c{V}N;xZaa6u=1({XD9XJ;YmrW@$j9vI9t-*Zyec%W&I^h)Q^b zb@Nf~VJPu(nWxvQC033c$atwOCpJ494P|$pTP~{{dcJ-6;rsFk!AvtT9qw8V(i<|hA6`~ixuLt1`S9H>R>2qQ`Ya)eCZ3@I@&Q)_cCwlWBRDOV3HJLgK z%_6Ezn`sKoHv-!`Zm``rX>03U@{_hGbv2hAp8B@D;t;(&fU0g1-_x6;RwyNrX8AjD z=w3j7;FRg`nTkK4_jh0K3+4??d6eFs(>0;ZMoS@Y|jw}>E8i<8`xz$}E zF^o!{C1n;t`A#7)%1mm$jbRWP`Hk{>66&s_(Ynd^+&AbXZ0y>#=AI4p+|$TH1z4Ah z#D!u=0qPn?WH{{79xn#LNf`)Oi(0-z)Uz*tgzOLrlc@*){M%1YCK5fs)@?0_tWXBX z;dm|fk$38=ACyG@gO(v0t3 zDL+8>_g%6maoN{xVf#3BXc$xY;zv^lf#?h6dbJ#8o%Op(dbKCe+|w*6u$5X07~Z3f zXR1%r6J`J;wTpC~*KPPDkcm>e<=V!7Q;oGh+ua%lCXu)#(wwKU%+Hzi2X~)I6``t* z5vZ!vC@uuVsEp2pc5 zkcsWo(a;V|TYH)T5a%Ew{kzYY2OBZ%4Wy1N1a9FKS$7q%J4*DuNU&7XwaBA?(bIH% zo()S&FHyeL%peZcB69YpyPZ1KRb4}KWbzq=u>t$0UX(!aj9@q5q;~jt7c&TKZ)+Bb zPBk?M-BX(mVt1Z3!)vW(H3n8*(IBSJ3!b#->yS=4657Po!!0NS&oq7Y)Dlr4>>0#w z0VQ(xMm%jitxH(eqf^oXt2^0$2FJyag_lS7@?9x>_+_QabOU`T-cd$gMLXE47-%yp zut}Gf?0~#WV!kEl?HC5Gm8pHBzlX_1x`K41L+P6+sgFrPS89bp^ymiCFI;mz5 zQK=#*;uwS@QoeMKkAbzL18cf#szHQf>8gRXFm$xY*&N$fbG#3Ob<#|K&kFpruTbo` z0d(ImR6{1F|2jmZ_xusfWmh+!ZZL8XxYZR`lf!a~v_SLpv*%_zbtGci*jF0?LsQp1 zs_L7#58hql?2&$`Lx$@*gz8OPe?vDM9cOXBwsUwq>JT+mN=y{Y>S3g|riK2gSz00U z8N^b&M?}=lvl&)0a3~vp-YZ&bF`dU>5(T6belk$;-03=N#rXr|B#t!R^+0%BM0C^U zt7X?>vRvg0CO*Hc(#ez z(_sOmE=onWHO9(-h-$E`g4uPKh~Dnxk#Bt&KVytoWXnH-0Sm0B95#}6wd<%k7Kt3v z_n`*?{#0Id0I*6wu%DBXwF?5{`SPy`aq?U_=((!Te3+-;VC7XZ9Q5I|z83(1#e42u z^kU*kY1_p_8mdNr&|5bg#Kg+0D?80Ck2ibzvUuOAjyh#5$hRhMS z16#j_M&&j(ms9^r1)fHrb~T*((1Dmw18c#HE)7oAe2^(vKAhh2K`_X^}gW$npd<>tRBF>Uub4yc#BO{m>6zcn;ew z6hQc49E7YeM-)YQDUJQfU3|~1x(l@5K$>uX8M_|tXUVTHr?VVaUNYz(fC4bx?X(Dyd1|w?M z*?Yd+L%wl;Pvu#1Pxc%^Ey%|eQ%Ybs0Z~w^kS@Nk!*adB?gWTpb_BR5{g5$_oBd=G zFOyql?kB~2%)M1ySmvH5w>cgU{?qP5!WXJi>RB~?TKCYtU&ga^($uDZTfcSp(J*29NbS>Kh8+K$tFw-Og9>Y>6!{^aav?EP9esBB*0ncx&(Yuv_9|i^edo=0XOm+ z_QoA-Km*D*EWMW6AI>b?ysC$HSJ~CRLVr@)cG}j@mWf-3;(0Rhm;?EJlSJur*~g07 zafHDn$dm1`Ry+)2g@KWL zJaqYgkh7v3X?n<3Gp1!ZwBov2?tXR61Z<-_ks0^d5_TAoMU!8Xe3Igq%IT_SMLWMq z3TANfX6&o3*PPqc&@*cAx-W*FEb0bZ+4G|I3+TCQ)w@>r)`}wL%LYx1PB-wQD0m_6 zZ7-Ga_dG>I^qQ%BsaZQQ5HgwJV*+vKb?<@!2g z^h`6JW@S`C{s+oOCP?6%5q+T)2?)=USpaxnEVEn8BGq+kyR_+)5*pgiV>;MzF#Bx* zPwXoa0Z;JO_Dv#puq%5jKuXp6S2lqvNBrhQn~uI6gv<619cN4BUvAq~L)AjlX-p@7 zqmgU62DXX503EW!wZC8G_b@`69s7!l&U6Jp#(HH+eQM)6SdF z8UjvbWs0AvmPIuq&z~X!0UYH-fkr<8&drZ(GQCp%fk}Pla^J6(wdHXmcegS*%t6_K zdMq6(m@*Gzvdox5Vhct70b&IoGPPlUkI=g!cP&B)yZ!&bvm%$HkPdC3R9+=xCDlB(?M#-5bUT_)c%W@wd{jI}qn&z_-u)D9!>E04|#T{B^JDkE$? z=4!xcW~Ye<){Zt1kS&%F^jza?mCb2f&#_O`h6e~ThZ{V{B<2mQqh6W5i_%_yx37%B zWLS}-IrM1^CV{GttLQSA{L>mtI4)5nmhZ|5P<&%A*`8ni{J;Kly$k>K^A1Z22V-wr zQfRfb+B4*&mJ}RFG^CV&<5CF%TU~oYgjyD)?=Y}jBXlFLkpb5{LWvQ)d;@Ec!@Xm3 z`fDCBOQ0)r6$sD*@!Shn6djTkn%Pkc9t#vS3S{N}zbVG0m zpP(48eHiHNhFHxE)xYx+a5fg9tw0OL3p7p=|zjeE2>a zAC_gRhDLW3UO=%i)WS+UgMXYY?x^=28}#USfZ*p;VOK_a6Hk^f`!t4sxPK|=FwrPM zsSzcpRp+Tlgtt+CYdg%x!~kcEZVDRKKFkF=DathCe%c~|*3~o9Ygfu&vxnp>6nm6B zsCbi{_;uC<47vjR(9%`ILSoKJ_~!E=T>1*@<`FxJd|nvjRD?qcL!DN$Dc|qw^U9f& z;$QCQ`si>?a8-NjyY`@evgO$-!LF2Q#U6=lE!1B~ugdZJ_c4L-eOzct@-ZP5b`W?8Kr9o30vj{$E#&FkC!RL0Uj$pV^fyxOq6`>}_od5>Ohv4n#&lVS}DVS(Tl}odL{c)mM`99vsw0l zeSFJgE@GHG>2M7pZxI)~O}{1(>7KAV2z!)jbryid2;t)IA<_f#9v2A)z*|2DCt;9H zJxvmcL(Q-?-sjoZ6o|imx#C$fZ0JS@?@I9=MYa84k^WQ2?fPhyfh-a2 zE!OkPDha@U6mfUs$&v{G`_F2c5KwFeE5kThR#2qagd{^%$)j?Y%%D49Q)+_8VV>UJ zLF69E!k{Jl9@j}1nCF>JQ=a_cW8v`Y{{sL3|NrbgYj5Mok$^#;7%hYB9{tzN@;1AJpUK^S(I1HZFAc^Y-X~wZ5d=$=3_*Fr zK6%e?_%?eC3BBvV55IczO^}hq58vGIC-7UcyI=n~BWd=R&CeEf6}v|H*`Xgz={>|x zGcyf;{IA}S==%3o{o#YQ$HGG$OY=-&+lNlVv3>8ugYw@#KF-NkZ-!(VM8%z(UKK=X zmV6{XX6VORc$?1s5&iZ&At^~7$eTO#y^G$ACR6lw6i1U_x=8#ih@&r%pJhofTx0~1 zX#9aLl)PaZvU=Vzpro(v0^>_VXBm?ev6Jb4OGGFAIfr|Par|lKC!fB}{3N5_2*zK% zF_bs-x5%H-F9Ev*(e!$r1P_!quP2LW1c0URsFts*>#zUtF&>Em)(ufqrRrDQXuN(O z`(%!mqH;U;6aO8(iZ#W?j%mDMS2KzvxT-pet|^`iuUMfeXV^wAE-pG`;xEDsK2arq zMH8*!llO4RFtF)44AFCr#Cb)Wd`r)Km%2i7Zqtx4_%8ddXW zF|Mgns%DCst4TtYQYFjKbxYCqq15VsCyY`{pf^&g6^|cxC)8Fnx6shXdrG69fBI*N z#$*T>g`+!&PCH&Qh7KM@pU^sdPy7*Wi@lY`kjPSapW5tGI2IZt1IG(aE7 z)KA7CNmE2wV0j;m?pMnW#v~5o=_7iK7sww2p!88!=))q-7{u&(qeql1=mXF=Mt&H^ zOLqH)SK9O^eRRT5G>XS`=@I%S;O`X0Yf<9r4}4tzdOtc*5Yfw#AO7Hv>AE(*;xMXF zGaCt#V48|0SJ_C$t{`Jc+J}vQa_L@XBVEFR$4}NqHnQo?eB%!Z!`5!Rv^A2_WYmWJ zgG<7jFc=P!s@!Yd7VM~ws0dzlTeSSY1539O3Ab)b57KQb)Xf(|G>NE482^wh`V9+{ci`XO4!k`T-R=1FIHPr6#8FPJiYa=kn}|d1j~YdsELjVs_X^9 zfUW=QB7#LncU{Lkb)+>zrqv^?qDQArC6Q2m@vCS!<~d0#*!|(E*NJQ1aA~- zKKdORc9CMDAd6VJknA>6Om#KW)xDY`c`i~+vK7rV9f0FP65OXdnoQq;4``a%&U{+B*+p$!zbk9(1 ziGqeLNdvd*g>E*|O;e1j8K<&h8jg)GIDHnUB~AD37oFssCToU+^_o-ng4?IKW%_JN zFJwQEzy0d1a#c4fBrw^(=pq6oMZ&J2UUZvhk>1Igmo!7R^@}-wmSeM<3q%kV+hE?} z64L0wr8qJ}CoN0Dfr{77;Z6NpPaed8Hew;b=7tM>ObCR4g7C zw-j8^olV2VnGet{+#z8t- z(8G2NVZ+U@^fc8H^mbsrPspSW$>*Q`_1@3!Q#6Sa^npxBk^r}7F*cDKZ1m!e?*BaF32Grpm*>QB^DsQDMvHfwo-MPPvJtSM8bYwOwN3K|$P<{$*Q|SQXQ~;j;9q?zn`+rY&)IP>@a&cMNOX z=loJ|cavKzjTx;Nln0*C3bJ>~lY6fj1l)#b{2H@=v7aWw%GIxwk_<8bq#n+)Raca1 zUOrh=L`yLDGUIheld)cW(m4^9VRwrS0MzEETVJ%e9n+Tf@E6Q-{iShH#scTXGtBsX zR|1k*hwy0$o(3k=@@F(9IOwV^Y7V$6%B<*MRk4{{V`o-;@eYi4TrJ|x-749Dy-jua zAR*y@BceEAx+$niRAWj|7z`6Xd8EeqJ$Yp2P5E+RPo`8#qNV>xb?L`E!|7kZ#)da23mqKQ6L)B)HGk$D1M*@0kuMN6K{P_o=cpv%;zNYqYPX% zOA>|@%ovRl0{Y&Q&AVc1?IcL(!y^Lzoo94zK~*iS!iZIq- z;CRY-OzE!j)@HVrsX}YILM`l|s910er2|{%zJ!i!?P!jzwzKuB)MU-9jmiakUtXkh zPp*H8Z8lz89ykv(@NGX~5Uh9IIifHfnujx~;a2Kp#fUghj~3a0`W3#)T1B1;AW0)=MW9{@Kc()xjs))u(m z@>KXAIONvHAhp65qijK~n!GfBk{uIa@CnR|AieD%Is_TA@61aTSApcGp_69BDT3n) zSge`+uNZNkfBx6!pMRqN_{ls7@Eh92-( zSJRsjs41FZTJj~abB(}%AcQ{u{Bw@R&XvKMX&Q=bUog4GWP!t{Do@LQ>0%m&U>PT$ z^M5E5wkN!Me){JRvtBz^on%tBuL6Y&AyY5{`7il$tWS(*Je8SKv=*}BVoVNF| zx2-*yTQU5g3*iZ-MKM>ClGre0LG<=YdOeZ07Mub$qJIP2Tfc5M@gV7fENSW`SH3_a z1nQWL)TM4iv;|WTYxxUgS^d@HIM05 zi>By?U`W!XEGoxhyOvn3Lu2ym_O|HM)3FE*JJhJL^h@WMf@VAQT(DgkL$AteXhOpR zwv}~g{6I*131w3)RA@epK|rX=FV)lVjF$>hpS)WFJ90a!PD)e8K zKCq5W-B4J=&;!y(3B+TXU;Creg}^2YW^^Kw=W1Av6QmDPO5G`eoz5V?fc|6&OH0Bt zil}kPOH-<8U-UAIkz_VpjutmJ} zv#SSAztoebOVr~YtcI3Hiyikv4`msv4F)ut}M3nQxI&pl^Md(EM_y#;Y~dvkM>XOpHk?Bh<&WkpkwEgMjDLH#Dw zBQJ=8^d7W-3Q+U^yoh3IkI#a?(<{G&p7D!m5KZF0po~&J$=;@4!0{mtWU-6WUeFBH zP{b~d*&K@ofY|OtL6=6#P{6W(uTO>qcaf2zDw&E{Z=`g3GO`6a zQI=Gt4xOUuj-&H(;a#E2L%3z=N=kn#bY?L<>rk{(3MJQVt2A~jPosH;TrBKs0e3Wb{L$-+Poy6DL&wpW74}Ux-*Gd|VA)YM zSF2TZh*YD)0!s~lZ9=BOT&iRCdM7JDz=A0qDR=7Vq6cGDPzCv-G#2-?b^*BCS|OJu zNitox=8VRYqhl4XvR+@Wg(Yv2@tZKRt!!u!!%Pn><+63R4K$6O*Jt28ZGlepB;7QB zyA%vsSaF=ShO(JN^P5kJM3t97qCJ`_ST!HAu+2NwUQ>e3O!ZMlW=6kmR#vb1s11ZuN3N} z(7Du7mNCWP`Nkt`6He<6(6wtFCrS%{PmX!vu*W=9h-!*gvqVH!*IaBJdThlj@kmOZ zXUJ^kM_F@{v1FU-D@+Gx{qVB;gb<9SgFlJGFkZq*P~h!u!-62oX<&<(#u-Dt%K`QBr4k%nB9}@Gk zduYwduQ6<~WKxbUh9G(gP;^=(&sAI2rZ!C}^$t47Oj)#5M-ghrkRm#^ayHrQE!zOn zk@u)wi2zm~QWl5Dj(N0ZICKSniuD^VS|78nhm@fo2&HWjQ8)=D3#!gU1cgBaf-d3p zGHZG87C!9K^=!{EBfaoIo6Cl^OXl@BOrxlD>#If_iXShP%U5Gz=*hL1&7kaQwUyf! zvj`4WbkVArfU4m*mMlSAlUJrPwM&YI#`d|?U=8l!9LZZkvhC=FceV?EQf|V@wlv$5 zxa%I`Z7r(!Bc<6wePKm|Rl&w}oJy4}D1r52+9Si=8fNLdQ6L6dBmg&BnX2EU%O4xo zR)2kGSlQ&dA))YbYo!<7+TfW533py{yK$ zvAs3A_hATJ%Elt(m}ZrK#8l1C>wjlJSfw(vQ)=1!)KS?pv6edK<~AePPtX;73jy9ZzbJ-(qdtiK%9V|wDRnLSJ^f+%@!}+nKm=VuBDg404tq(|Jok5Jh$$Ra81MUJjmWy zZ-eYfin>nNJ7bK0A0#zdG&RrBom!5F3iipo~YpHlA5ebMAHmoBo0Sdk_^35 z5w~hOrpyAkCoM^up~E6}bX~a2Ehxxn>jY#)5;SbNm$sh;2KkY_OUAD(+LG)ZDNp|R ztY+(2QR|uNG8QDP%2gMSt4Z#9;_fqmgbR*)TkQ^0CXjm9EXDJ0=Fo`wg= zy>VsAj7*j2pBX&`i}r?eCh*IT-ae4Lh0U51ad(WpBSNz*7)QD6}iJ_|Kn3}^9p5t8&eh^|W;^xU9#k*Qe? z6IIpfch>WNN#VU5j>AZWZ&ynP%6(UINqvN+*C?xLJ!1aICV?TEI=1v$nFDq#O8m~D z+o6;&@B$J~%#_VXUWFc7<|ogB>3zm#R)SxXjnaD(sdxb~g=Yf=u=;xv&QY99{V4c5 zb79WD4sZZ=nYm z@slth$rXD^LXs*i!%`);Fg>ecq+k;uax_tt+VFo*WB&;yWGwz0j{sk*!^UwLTQuKAaBoDA( ztk)xdpUi%8u0rO2);O354zlXG9>Ps5{rRVVeaqPa7~~HtU6U@rS#6pJ>-+rEzxT##+XLY1Si%^8 z%lzwiadfPAb;i`39>nPT@AqC8^vC}(OZ*XQ>OSMR_L46KPr}Y9$&^6d((;tWVcXIrtnKBHyo~c} zdR?=yY2F*GXqIHi;9tK)Y}i?}7@`T7p;UNuoHd4J*N_eMICbaSjHcjVNxDo-5>&;+j&>pDf|$FEA)^)*RyV#kZF-h) zCUwOvB>7!wzQ#I^;ZOY_0$t_vPyeI`cuGLkipX-6$)0;_*ddsg8yD3HZ8Clz4f1fh zBTus=4+H>+7gMO{3An!ojboB>&(0{0G9OYli$dbHz7kO|$HAEEae0d8=2e}F?zU2; znZ8CrUxLi(l(i_zqU!0jaBFvep_7}I-T0?V)3pl!G-CVriO;y~Sr&TE>}`1-;B4#M z5y6#A4=X#LqGyUn#(_*Q?b1_P5@qm4cIk2Q(vjK%poVS7uGb2wx~^-QRCN^Uie$5C zn_XaWGr zo#7=rs-?2VG|xfj=$a`&sJs`(d`b3CE!%me*)@$`;U9LHy&@_Y8>0F|2C9kZA8puTY~M`^=3hm zV(O|RuQA+8QfF%CbSWjnd*pwj+t}pJULI)Y+2Kkn(IN(Ro4~Gs=g&t6Ioire9p&b?~X#%@ib46>diJa zN01EGg7bAU>i){EVA-m!8s~75Gy^EhrX;&!7hmBkqMTNJcl${Xnj|Zl$a<%pCk0`_ zb0k4I2W|3z6tshXmkS%VEn)W@qOdKjfIaM3dacQWYzc~`N^7qcEKl+zON zun$btJXfTOSrzSyp=p98cNkH7Q4U%VtLUC+sXBBsE+H1XvP;)=-Yw3*_8&mFRgm=L zF}t>5W6`(GkA8lI$e+&%Yk0TL7~@QqcU10W?VF_jEe*r6$!3W{a0P2W9Y8gQmw<92>K6kFopu46Wn2*6L{5QQECvS z8S%$Z6}75`-Tbx}QM|HFsytG`&CM(x_thl=nqATzpC|EO$tYXbwbfs??Q@S>(GkT< z6vpwV6otWmCn)C)I#qONmhH%Ty`rPLmblfSa|(&ppMU<>=bwL~|BwwG8wX)L>f(wM zAm-p5De2%8@tDQ4>MV^GJld9NE85Nugfqrty_sVBqK$>)jGa6UOcpro?1Qic&BAq)=Jld~us!g-X7dJZwuRGOYA?F1;rs=; z&mgxd0vdG577<{{RF)noIpxGrTp)M1oDIb_Elt&Hp-jc~6j62#-RiIe{R?n@uy%a; zIJ7vVrXw@~06TCLM-RM36fa2s04BK~rZHN8g_&l4G={Hn+kM?ls;?dxCV03au=b$W z1$ys)XZM$e7l&zhF+hLhdtP+e=k9MKP$e4sA?{e1nvJY3_%KG}W*Xrg2 zWKkGLQz|yO18=}P@xcA*VpuqH0zxj*;07DO*bwyio5 zEueo`wkrB=ohq2O5rYYgMH{KFNdmyLgDP()#r*Mp7#2tJ=4HN&bBTf8+hR)zihD1A znP)uq(^axt;`pXjZzaXL_}E27G%Q1@c|inOvSh(y&69T(Lzk{eO|RR{0+kI{rPw=8 zzRcFP{x6o-0CJTjr+wK0hmxdeie9h0I6Z$!GjysdxmdDm)nBjI8+1nx(A-_wg*dQh zh`M$9J)K&_2aM{#+RmhZrsCt*e+CJE{Fe^op*Xs3>CSO-qfZBc6X>_OQoTC%u@glq zh)vcp;3BEo^-%gB7hkuxd6&R0a!i&CQ#8$;gIecFsO>0*c=?aKtT`~o^9wxLsMQ~ZKz(dM{5`Vsc$jTpoW9ISf z(^=l80`0I`G$x}E++fVx$>Tw6B7@I=&mHRJyO!`LeRrCH-;70mz6scX5u{y9BFk%w z+SbKr&sJ1V<*T~8+8ctho38LntUNUR_8F`R^3I?f;20?&9W-)d^UNeR8IR9QdNOP2 zdJ-qs!yxjL$7}8o(N>Xo z;d{rO*(inG`aqXK-Z08vJ)rjB{TECkHbkzG(Kqecwrp_sWW*LrC$~6%)Hb8o8viws zp`1UqDGSiVnxuMlUyLp|rskb@Da5-8f(FV(GI9Wp>Iyxv^NbDb%iFuc9h=47&hvS0 zX7u@o3g_`K7b7K^mnvV7Bew~?bQprtU546=C!=)Zx@^IqyjY?S;s zkJI&lxjX@gmEqJ^d7uUL0{mSLP9D4avLfWDNJ}82DIdQvTcnYHy;6fNY^gDF$z(?r-{fP}zWQ(W! zuoz{F1co;~IZpckhRT|~p#t3y$p5+Owp!t}4 z`Vu@J;ND;<-oTN}@kxBJJkyewgB4rF`7FanHV2)l)#*JOUbxD$&YmPdZ@ZkM>enQK z=3bB+5AlK^S`apGyD(&6m^S&5!kp#v9@^$c~>%qkA&? z#I4sE6iloTQ*v&c6zGhivv^9t6;6pgfpACoSXk-gk=2Nlpko4Iz8HqV2$}ESvC_)I zy91nme_9*Qoh~e41SA=i`Fz4$-mWVQ^Aec>a!X?)*MgDi3n+c01~}BuFunU^V2_s( zNz(gZj*)gM$=chjg-ND9^^(Wy6uc5P3`EW7Nr z=@j1(&N-uaHVh&zSw2PaG9=?EVP|Ma{A3kV4M61jbEvfgfkdwXg$D8Bw2ssqhP4hs z4-~(M9Q~@1j-ZP3eZ|JvL?G}DYPLjiM)*6U#mt+5g3fk+OtrJw%1d6kaX$U_@AS56 zB`C*&&PE;G!&GEh5;(2Qr+;83QWnp@dSeKD7!pK+=wF!qHH@aVV9%W+YfM!38?rY+l1ub z@0eS%l2wF0Ee`>XeLkN%+}$5o=Ip7`so+c3zwum$aw4LX@0RZGU)#~bb+o}e!kOT7 z=^m+e?^oZy-4$UhgyF(a?Er)8u#jZwCdSARAx#p>u)bj_Q9_G<*xV4okci`yP*eyN zp}_OK@=hv2sMc`cBj$Uo-5N&@{b-TG1t?qK1d#+QLk}m0e>G%^ZqcF(3I>3{!@%#N z##f_e$Xe9_O$LF$st##7jC8@d*)USjCC!JC#$D247^zcEtXtqhQVxr;Pz)P*R6E45 zde7wuz!IDEEzMGYa|EV0YcM$F?*l9Xt(L&X(ba@GVj`m1IBFE?=uwf?Bpx2A`c zetl^*Xx8soIPMnFgUPgMbXA|&RqAU&az?o+qlOgCAdZ6TB$e%SU_)uJm^6_6X93u= ztl3vczh|rcYqYJaG@O8a%&&9DvdZ$$iN4n(n-?}rd_q9g&sYEVMwDfDVr_)F*?AOT^th%Ajn_Pd*nAZeLn3Rl! zPdhFYe#^jrB4`f>D%>eEVE>^|?4`V=hf;2H?bsRPuFgKIoFX(w2?$LkR@eyTg2)!= z$S*faP@aT#?Foe5Ae0~Rrtn>USOlQ*vx;-gI2VrG0rp7U3s>m z+s)K}99IWED|^ur6L1$c;n+|Z>z-A}Qk#Ha(muRA-i5HtX5+_)?Pl|Tgyo`ppM~h`L9hM*laTrp1W_p&*^}Pn zEPu6lQH0n5nz%)7LDN0}L(!HHaREtL_S<);)s5UhR!-GH%aHSN<|jGS-Tjf}&VeeO z3BGpy8_#tpCnCxCe(nDL^?eq(jy9MlI2W9*-4oUB{pRbJyE3Lc;lfbu0D|kdlw|Fu z#>f~UO;XCRzF`?rLW`ZbA%Y>X+hv5JQh%rf1)lF!Z&C?DwTAH?Fh5}JHaKz|M@tkg z!Px@mh@@BlrSEH85Ml}G!_K0EiR>&EEB{tb>mS^S!OmEp@aK_&zM1KTc z9f5_()r1vdBB6Phv=p&+3&rEcf7bci(Bs;_d2}8$A2%!vcZ=xJwBZnb}vw#RxJdf=Gwo4I3o9r?#Z z-y1QT7SVZ(3E}TC+ejF!;C|pq(tn(Z>yIoxEg%>GmV}NxELuj?Fc9f?x8-Cbw^hrj zXT@@|URZx*4SXNW89*l{Nw1;=t**%WVuMqxyM=Cv^tzxH9qz==G?M$zZG<066tbsf zpQAnXC9$+WCs(kV4RyZB_2+_lNwI`V$w>UP=R)Dv93q14;lK)asu{3%Sbr$?QN7Y* zWw&$f*c#(*`oAitjLk^`K~sqpHbS{zvg>o^SN$aT&STs51jfaDyWIvMoH5o4XO^+n zRdZQa_`^$nu3gWIwySTepff$v9WHV+YYjDT zGpm0v?>>GOHho+e;iAnQ>M-1EMw?UJr0NdUy-EL)5=3y5@uE5mUf!$XT@WRVJZ}*N z^Z!GXi|KtJQ2(wse*lw^`V_Ot=amM3&wu7Vhy(xtR}ugK5dZ)HcW-iJFJo_QZDnqB zb1ryoY|NM4Zre5#$L|O19avp$KpcJgLqhDrmg6BnQ50>40lQ-)IwDGm0!jI!SAC7W zz#gnmvO`(2?8@sT2LqA|NhW!IJUoA%L+0-7E@fy#grq#18uqPaAd*EqrrGm<)cE~z zHJBJkDxAfb@r+E3J(0%S+0Q@SZG(uXDan*XfXHO9&7-N2D3u4MDWim>Sl*^I5?u1N zx`n|eU$1FI%qp39vtke*U^HoZqveazDah9Nmbj5F0nh9FL_kx%2Gyu%@l+|9C;=a znjfn}dMyn)lNz%5Q2;h6tH*6~yJM>TTWMP!WN3h0+^@7t*}?N46K$)5ni_Gm=;Ffp zoV6z@?BHhNt3q=UT)SiOsR2$4Fp5aW!=h$PDux*~*{wOWV_MamgDRRso50!~YvA|J zoB(93;-nYFspD#DTdZ(@g5`0eYa;3A)bNPgrzbJWpI?>;zX@LC4UN8x_Ry5Xt-hS} zU{wiqn&k3j&U{L64wW*Ef`{jf3;e{uBS;SfI~e9wq(2c2OK5Z@VClY!$t+J4}FIDuvTse5Tg6~zpe zH806I%;p6-7We_kW6!?#9Dit(t#HaI-8x(>=Jskh*YmSl|! zrcQcF`Ug?IJ}GbxhHfyN72#nqk3cuf*`0YDc6e0Zmu!7wa9}~RXp)U>+t$Y1*tTuk zIUC!yZQHgswzHdLv$2zx@4NTMt9q~MRG*n@%+#EznLg7!-Le9S>?n?C6e)V_m=-u1 z$4(&MDs#ycW`yavx`em^GVDPH7@^;UDD>DAU}^~|lJOSwcL-RZ@EF>B=!5G|h=M4T z3#paGZ|_hsFq$Jro2z~IvX!|Cbw$4F<8YlZ3T|}U!dF(wj+9K$r~EwX%y*lEAy-V) zr`(4jmuo8>&WC@lWVwBg;R#+7olp6RT$6w+db_Ude?USRE?FP&i+*fzrIRB0)DA&u zM%`8701x~#FdqtBXt zrP6<$R??)VWL^8*q{Q~ZktC~TM8?9n*}2nd@=()BCOmlBE3 znd)y~_!(4isy6*P68?S9?Vw*ia6DsuRoP>rQfgOmyRioTq3_D5ZKE+IP6*Wya-dkv zAc2pMGuLI@xc6go?EcUCtJ99c=FAk_2S%4Chdt)zakJOs&B1Bg{h}V^xs?SFI_PV4fyHu-ruaXRSpxjJ>^V&1y<^>8;+ zGPQDYE*bkit#*vONsRKdPi&5CdvD>#k_qIEVJy^dUpSO)e{5~O)IEp;dzT$akA0jG zkLSzJJxJN_0l)p%W~USwKA^p72JCkjN8fY7oAq;GvN__uRqeXoSzXjwUWCyQb`_pv z699hl9Um?P;k&Men1^G6t6@H8hukf1-Fa5er!OpdFByb5Q!@r+CryYCQ$sfo3iqV5 zzJ5C!h++HgYrtaR%Hb1m8orp<*<~PjW7+pYrtK1_udsT{oM(F@WVRB8Rkvf;dh6Ij z>MZG&n{by$P+{|_AZz={^MNl&n8zug>nkE~uzKnKelZla&BZjXsILz_z?jQvsA~{6 zRrUIAq`P`~QZFdbO}R0FaeVo>IkddZ=WxX_$cyyO-Kmr?K@&y!cKh+xkM0NN-Z(U8G?~{fy3h!O-PDzmAR} zYyhUe4`G)tQ4)65Gy8AhZ4zU(k98b^oX-RXoh4TB4E_s_E)ufoc>?@w9Kf|H_srpe zV_~D$77@qSHU-RzykovOrH6Uk)^}a@-Mo7p{l#;@!#G96ta3^xS_mr(yOihn&6m^v zY9+{@GdSe=4v%vxZ?=Rw}!<9$d;mO&Ng51gew}jV6FKxiTE2qpr>Na$F*+6G5bYr16AYT9_dI!GF1dQT_`7*B_M`$OQ0wHc)m`vS1*r!7A`5nG z(@efMcX_=W(v2=?$3<2vTnv7*lcJJZ8YL5w_-4=eYW?B{pLOgZdN0bKi+)V9`Ty0zMVRfzFvBl?tLQW+-R<(R{5gVJ6Ra7hFFwwe<7H!vu$rrw{&6im0{{^s!7 zMG7iy%+KKqS_lZXPnCt=(Ywd@(~38{A(2UcptI;}hC`?FmHx2I1s9i%hap>W=2M{& z9=T1}xCs;6gGnO=1yuovE}m%$rAN^{8NQuZnhLogCo!B@9?TlYQWA2X=p;@W^-`pe zwJuFZ4%ju$;?FfhYx#tqYHo;OMbS`mh+WXoYJlG6<6iyaT5jC<9kT^m{PTM*Uox1* z3ZA7)FgPSX#Hp;2+>tIioYkQ&CM0_>TmoD&64v54VxhD}Y2p}=%tBfr5>8z~b`sDi zWeCf*x^~j8-n-}2yrOy7u|II=6s@#IhlYxsTR}k-=Vcd@l+Iye9Kf+^pwRK1^zhj; ziM5o08Iu_zAS$|r7FUhMZXrGRo`EHa87UD1MP&9w(%f6&?1Xh zHLdgx8wLNBKv)$R!BtKkJEy6eNii0+1YL#Dr$HLUuURp%f}`xXAeP4CA{uCZbi^Ns zR-6A5!MSqaL|rgy)3YZnM$Ij3JKXG)^-UKmI3FP1glKl#tYJbHb}oy=*Qp zgm;m+KFDtlL2cN}pq*eiiDeBjfn~E2hC-qAK%PM@{gDI&4JCe;mY61(QVrmsqON5n z5cRq62-X-hB1d+qCj=*{XOAQ%({B@-r*ZfGUP;#R13pARNt6<2Wq3R&Kwnn$*wL35 zwTS>0bqaBg&FP%QPAcjrMOt(`0W5Xrh_6hmbMgZnDT& zt}N7%@Yozcof56I6ZX75R^9IUg)9p~$blw<5mr0(Xls8ww!3AZSHt-d{3wf@im0Gh ziUfAHw74GS)Lc0-*pIYBRPP^`auo=Ba3(Yow{-YGt}d+#Z;us9gF+_(kQO(YV;I*MS=-2!c@&7yoDTjrMniZa18fe8L3F$XOl5gk`- zU5Q#wWmq#0<<@A#)_zM_HRf%<3Od52Dx|q%tBmBJO%Z&fYI~;CfCyo;8Khut-k)pUxcm;GT$YR6X z;r6B-O* z$4_vY4b5yv)bP!;QVB#YFAh_d2~XjM6@zR5_erIXC6UHKKF8$rJLH`Of-=@v;*{_3 zJ_5(o7K6UG)BE=lUQ>?QlC0$f{LtM=Bvtu|LH-hA<_&_139LS{Lg)o1n+vJ|Zd6Lc z%R-`5P^uHG7e;F8C_Vye6by0%#Rt;$rGR6J()Y-Od|$Tj6+f6txy|I_SCezJ5$%Kk zm9?mI{EBCjN(htd%o^l-8PN~mM#8=3*PhL`P# ziW?hnvENO%3lXU82$~1G)Pq%Z@qP`EM^wbpdlVCxp?hXqvekm055v#0yB#!&;Az3= zTe&G?j`i?Z(KU=xpFI`e4YX z!0rk{LqoP%>A(p!BvMnL!fwbd{_L7d$|=rEE*ELcIM}m0%QSJKeN?P>Wd9F23B;IW zsIff0SXMPoEX`MD$)R&n>{>b?s}Q!^2%gChHvu!0@(0SOz z!-jIrk*GFXS*V0{XX;if`>}=PU~{V9BbAs3Bfz5-Qvg-xvMTclpmngOdSI?;nIZaTKS(=o{2u|<}`_zxegu(kWX_{X*Fj3?AKwDVnD z=EcFjF4^4ONmpFlgw!g)nA)H!?*MFW1)8q$oJ9D5RykVezHA|hr^JkudcB0R@=3JU zkG}|4+T3CR2+;}n&;Gu`BQy!ZWt=pwWifv*pm-xM{#E{NHh&_IE;2>CD&oD7#3e&t z-{0UNLCiCE3|$MNVHVXb<1BI-J)oxP&kaQ0Ea*q|s8`pLi{cRlvRS!c9p!y|5l6VC zshu43WpuGza!J9rDA^udk(YimtcBmAV$lc>;Kw9i9_$nzd!7cw%Wp4IEUd4R-y0H4 zN!LiiC(!e>AV@fo?l`z+kfP9Y3-e^Ixq~x%M8xNVDSnA^zv5m0~)YeKq`qoN}o-b*S8 z4vwUO-a33o)&3x@&3?(}x%VXUvcTGu7;uExmiX;xdRipS<#4AYlWpM@Dei=S)wD>k zO>@}}BR*aa)cZ!Bcp^NcNa#Mp92q)o$xI{<>>Q_?3tb{idm?n8anX>L{#2&y9ztnH z#AqW~8nuWELI%C!gd|bHN(0~<{&4x0nmVl31TPs@2C*UO}IVzAlJanCrD5(#xF|Bo_Z*a zNdgP#pisy>Z4r~?@E9a_8$OFFpa1k?DCs|^A;BGUP|8f??O6}(n~Rj@(nW|nLcK4VSxo>6Hq{57xEMkcRz@?R2}uXS~!~pY8}W2_Lt@wQrsGjs%Jcjn0ZK?5V3pC zvJt3?51=W$*SR^ddnRyie}Y}i`cjkswRAAdY06J9M#$zI&9{+2E24fD2R;8MxW`Q{J;oYK{l&OwLDT&3Z3fy-X3qPC1k_<-go-J|TK(=-O zj2RXJp|7raoHCr)(l@vrwz3p4R)Z7gac_y0)}l;~e?3I!kG3iBHPn%kA7*n%Z9cny zC3OF%u@P*kTR<_q$IeAFaQ)~~tO}neAw7xPos`Gs(w-@i+C3Nn2& z^MEBaoes*UjRm7-xFN8Cr!@XdB{f4`Yc1Mqmrp2UZ9j=m{ClxVg-ZKyO>-NmQJO4w z@h`@iCOe|c*f-=_r;=~KQlhfah4E*6q)G4AqBz&mboB_1jJ-uvzB&piPBK0T0II>y zdc4`5nbv{OKAHk?o^3WIto&y~h_<%X92U$`J%_@=lZami%~9;T%=tB5uJ4ma5)Ec% zlTS|Dg1pj|EJ)*h`?n732@F3rf!SGidu9@Hle+94>a{D=ItT%{OdZ>Z61fJ7Sp^r% zvO1pd!BMNK$JQ@$zWX0RKX_Xo`tF z)0&wxu32{H43-A#ZA+Yn>4Knwh!^ma!_nJ{4)PxolQ5 zN?mh_pCvejM)JS4D|8C>m4!l83j{{HGB~nKXA4UTF`dvpXqrnKsdAE$=DJVb@Ie*> zmc_lbK34@L3_6~+kuP@+AXcB=ELqbzma3Zv%?3Oc5~jkluUK&_%Hvn$DcBV{RvrFB zM6jtZYc05ule=c%#8a|RM70VL1^J=0V??%_EiY`;`B6zqNqwyN$Ui~~64)!pWJ{hh zS}A_oUW|P5eV$y>1doA3Qzf1rGabiijY{$lL(#EWE_8~6N_)Fwz;ZlivVC~5_Hxty z>yIMvoY)Qyi&WRC`Z`5L8pc8!0?G3;IexZ>PAz`f13AZ0t~}D65r-7r;4sp>BpbIb zM$IY2;|9iwOQ8Hn!s$UNWuL3a7P^*R)y`#5RVDn_et82Sz^}-F^fax|BD}{V)^b_p z5M3VrxKX)`B9RjesCFBx+Q83hR+^w%pe{$qKPcrKugO=HnWD*Twkd*>jqa%&E^h|< zL5IXa+3Y_Z)tq|ysVWx_ZJ4HEkm46NY92HH>>XJ6w z5HH7kbkll(hmVn`>mR~e@?lXH zufTS*E)tOx#G2LE!T#m4V_y%i@3sBV##9%Rk7e76;1K4b$?w^QSFu5tzpzN~0i!pl)rXtI_T( zLIXZPa`e88@eby>&Aj{H_>x&7jc(<^JGL3LtU;(dZf(3EX35)b(AOez%Gmq-Kei}X z51ockdoU1?P1v*w6i{LybvL$<8GZDMbKQe@%Z3J)7AI%Ayy@CLY1{9oe1&jmYjI7W zLmvZ>W3~da1KsM|=bxSHa<=3mk9IB`9L=q>>G)?2(rA=P*ivq`Van4UzU%Ui#wHA2)`L z7Vm@twi+Pslm;6ck?cLgV2nk62^)6n->jG~8-?JA=olPK>NWKcXYnzYGF6Tx=YW@VdM=-{P{JZG z0;5PSF#B6HNTnD!c;t#$R{KuSH=3XB7wuTAh7d42I1mhx&qqE%Urpm{mj?ky`(C_& zcP>;>#~2ex{+_x#RRc1iMyghW;b*Kd>4Bdo=Ri{k2`=S|&z+={&9NO2Tk?CNJXH5D z#GY`{O9y=jzsx02W2a#+0(W83x51m4JbQ&!uw=rCP^bjlHT?6M*??Kb*<$3QW#b$O z;m=Y)aO4FcO3EdQ%512{25DQi<8qp7tmHnf#g^ZK#C*62_{{789ajulAdb`-!@y=x zrWS6Laup#TlJ!FPEA3#MoJ&X-Oca>6l!_@R&fCnu@*OG}w7N3iK1x@>{6r&Id7Fj? z5s_*X!dt<*nM{u`b=I+J4fM7OZA3RxClTw=ypCbX!rH;Shgb}Zz*U>^#8J>g zBUdjvbR=N9VSs;PORrlPi>IU*|2-nu-w}Nl*mg*ZdN=+#tk-kVTGh6$fjGLSuO5rk zhVfS%OdwB^6G%&-2gQI$l6S>sO1nn~B?a0sdYR@upuxZ`nJ6)75)uP*^wt`Ca*W-- zLNhMdjHnwM*-peCzuh(Zr3(lL^r{*Zkl&k3B+?`%+Q}Vsq?5mJpLopf?@Q#0yoBZH zt4~!?F>O2<{kz89vR>8DXNEiV|MztL;$TolRDE70cLC|*fdjcScCO*z^1c+;_X%tx z&3O#CyIqML4bYL2t!?qwSrFA>Id%8q!E-c)v^jIO(E*qtS^r3Sb3&?wp8oC4bq}~; z&p;`D!+o_Q2>I^NMBFLb5TG759mEP=iB#@L=@xz2!r(Nly=fV`kip0_osk)N5 zoH(2~IGWYMp{zKNuc{0Rvtc6U zBpS3l9zB{nbE!Y>XlQ(?HO4~6!;+cYEsu-=4^=9mJvf*os2_sek7cfwdyb=rQTA2 z$@OQdihhJjqD|&yw3v$Vc|HzESJF^pK||)rf>cBIe^+pQPq9k?!eJ3ld#>HD}~^^V6ZE@zADy3J*^-*pPZoG|=ki+=&qILF3teOc_a ze37q4pLjKkDBSP43mj4)ul&HCz}}K>d?;w!#Q#Tu3Qfe|U&1#_G~l5k%yh0avFL7$ z4gLT@?a}-ME${87vlA)pZh0i$ve9(_DSWNtaSt`7WH3D$RHUJfWL{t7^Ys+qQA~vK zvIff>VQX;=k`RA)^R<>6c*un1okwGauPvmPlT(s!kMU*dd|3v37%gqC{@AMcDauEA zV|_eaA>Kg?)u!|C3xhA;J$c-)<>c7IYSSAesc53QZqi&Bd|nD0rH-hiBgXhs!{1XB zqChxem>;@?v2Df0o1bm1IT((t0fq7A4-~~DF}!TVB2JcPonhL3FjnJ7v7p%5cJSEA z>Fn?DjF*tBlg+@UD{9R0l0A=uruT*Ojb?%elAUS7I>{_Uf{tdg$6QZFpR>w>4`nZC z8$miYHpfwV`u0h><^rK=X(fOA5^*g*<*1`EXw&Y)&&-)7sGjW}{yWTvbn4A-hD)r? zPElUJuP=>6P8gx4g|6Hk5Q;+BOD9+A*)M(sFFCF%*cbvLr3Y)EXp)ZCyO(Av}26XEy z0c5BWIhaa!XRUVZ#rFe^>Tpwy*CGt0=a#Ja0|Jj5>O&?(^fEz_m1YcPQ-L(t8>LBK zX8hZAoGM_p`Hpd{IdTPrp-~MJPvBSS3^X_LL*`3!qc{-{uA(-|LUaNIl?h|jF$Jj{ zg2F|28ES}sgh2$}(?Ht=jKzMf6x_{2v0_O+4Fe;{HepaiDvut2^T@g1(HyW3f-g6^ zHtK$fE#x1wI)&pkK03SBAclrjvesyhJ7w?pzzNXwawL=`uM}tz#a@~JRfm+wp@D#6 zn^|G&Uo*OZX!weIP3R{Kf5GbeP&lWLPZS7#OtR1&%|_1QMk9pV5^$%}?i}PT>P=8M z4(Q^C4zp5;NfImYI}tZ5^g&By(Fz|RdW1HIX!?t62)m{niOPo+lQgIXv5|NFa>Okg zx&h?J5!cyxAt%la^};XCqZ z#pXBfA!PrCR$%*!uAKd0E84EGt}4BhF!Qia(uERyT}a(AjcNKGGklq7ceV?$sp|DN z!Mg5&Y{(%(t!a}+ucp7JM=H&We6UkXA0H?HJR&rkLo1DXr8F1i{*)*$6b0L9IIbXY zEKE|O*tT(oLU)I1Wrt)W3%%3F?lAl@d35D`Q9SrmyV|+mC@d`fIOMpgweJtZ`xQ`{ z8Tsezval9*&ZCHap^$>Y%&(-RS5~9z*FTSHx`j##3cUpyDl3kqR2n?v*f_oB6-mHv zT(WSEAp;E=RnGHt#(uq?QyZCq7!|%ntiFx&_h2r#zG(^>P1ihP9sRC~bcKi=>!K?e zfi?P{zXU^$l-_wRLT{Bfe$tN7A+m*`zy05y8050^yK5KOWA!|4MwV?G)y0l z*uCcv>!DCeN)@;mEtJ`E%KR^tswlvKcc(enOWcj3%JJ0(f=b;$h2r_c*$ViTR{fNt z1lq?o|3{z50R(jH(`C!u{_4aT1U_ODB(9T`8#8IY^4FIs?I9o zwfGO7WTSh@qD*)Jg4{F%6gQBlU2%hK>=KBwCu}3HjOK}4@Ny&aXPzG8CqBT26BoZ2 z>B23=4{Ojlr@}cc`{&iBZt0g?Q@FQekGzV8=Eq}BsX86`nOkOO1kSCbjl$9|jMf*w zvWjI`81I}?dt+C=#^oh8w-7V8pI&;;EZ4tz z=EcMwPzB)AtWM`+yozL8yiEWuG(tNRsXC2;w$S{+ugG-B--e9rXyWxSJ2K#*5ptb> zh`NlXP^-a>mP47mDPhWT*iHug&fohE(J1p9GvI9>Qi^OsT!x#xa9xw7=_0Y#j7<|) zjze>@0A(iaZya8Wp*!~iE4B)uERXDD0E*nt$PDweP5PpS;ssN(Vtia+L9{g9$~|I= z6%47tVU)cun2Wz58<43EwzePNurCz)&uHp(sHH%od#Y;^8&=G>9&DC zcb(mJnk?!`F)i(pyE4YIMpUzMf+1>V)(W@2bVtO>B^~v3Wh@4{ss&9FHBWi|U-?>k z(;V+#J;`tlu?s!0TGje)b!e$N>`GI95cfqsG+3%`t36-AY6#t!j+HA+T$cLYdek`%Jcz4^zV60N;gg^ZmoAOrso7&5S zXOY#-n%#u)<$oYY>N2k#qu;vv^-Lb{e?DlJyJq4Gdx8OYy(^VoX72EzkdE`r8ano+ zgOk-9VzZ9cvfv1-iuet57N3nhf~I;}-}UA7s~CO0U=l1%TGA@GdKh9txeE98@lngv zgv~NVqle24t}0IsMocIq$A#-bl{5xCo(WrM%c;{*s^iZf7DrY2v-0i7)M7`QnZo)9 zzeqIhC*Y`UkZVWip!MA&Urlm`B27nKF@;pmxg+dsg?Ie8^~woD+(YUr6+`tnEbZfr8%&Lk zdG)mE4iCG!IrCLEE*)C-qi{@0#!=oYs9w+JeMJL>B?+9w9H%|AVGTmn+JXruq|l8#l}!^ z=%*4^S`xprSYTzt@lJaE@Tkb+12y?7r^4V($^7BXpq2xI6(B-BdK-K<%#!FrUsy)S|yw?zd zIX~?A1FhNJz`NfBks&|gIsno#niM~DB~+;SC#Acu)VJnT1I&IC)GwSf@ z^xc zE$VexHKr6h96sWd8V0pu(tI7BUkI_P{SRmO@splsy{dtFZR7K!HUOp4Dgo|Vt1JIH)_(+Pa1*BxSZLbOwYtvqH?KV<0c*e0MYp6}-(W7DpM1O0y*_ou%+VnA1sTyeEy_*IdUVaLE}&D5 z3G!@H*K655zand{^dUJAEOEkDd)kf9U$F-JTalFpjT&^*YAy|sH6eeu^0{0GsymOX zw^Tr~F+{t`t9S{-X{OJBSiKZ=R{hK4=8_z)uIA1}_b|f|t zn)@hT3#dj_OV1=*Kxn?v4WwqR&T^b~sd-XBJYHkc_~6-*L2fto&1v$I8fF0OqjV%) zx4WdYQA2G=vhW}a0z)ynJf9^=Nj#$sNl86KZ%Fds!<8S6);My!@*3%OAwvkmsIap1 z?3>j`6ffTB?4nE1B@a+HFOt+T5cdi7AK!RbOCi;=fUgssD7Z8oa!?YWI91N2kQsmU zinnPuU}Br{haZi~rjyS0b@xMK8=L4vGPx`&M&CQ-coc&U+#RWN_Urkjao70{Y#Kh*k#J|++0csghc)y?Se08!nfg)vlYzV8F;j8 zK5`Wn5yBE<(bGc4vY0|Zxs)*X3THM7Maxzu9$k=gms#*&ktz#(d|YIgtdwv|>!zTQ zQ$KDpSE5JJ2rN;}8mI$_R6Q%31Gc}zIQGtf79Ki0$T}7L8wc%0Oy-Z%N{CJZ@Wxv0 z;%nwbfY6>b8ogO+$*8zqE)#*QWip}-PS;#@ZKOsOAMaJ|l6VaGW0x00&ova<)0mu* zWL78@G9cTH;ApDG9uVf_Fo^Dqv&0rn7nvQ@gQ`?PwCruc&vQN{Q`vOZEAh+hk_*T3`!7@NLYv(AfYJ$1pw zHN<)~`|IiL?whHEd348HQyQEjO^HeKh>>w>Rdarx5zmdr6)!EOEM#mD@EoU17*G076>K~pyJVa@!uNtj#XSU3Lj zwK?Q~afD$eYFDq8pVOp&C`@E!1gA1UOno!DeND1+q0;KD{38t0q7ZV zp>~)-YG~5n53n_~k12_&kpo!YZXs&iU4%g1Q-#$%i_?9>(ILNgTH2G3T#?EJtz*a!HhokbqR@A)XPCmxBwY+`Ij}? z;;%HjjV33=;Yx=_0?pCw4D@>VIK#oR;1Z6aaIo(5D^GN;fJJx1O`S_W*C3z*ZqXn>Ky=XNbB!Nr@&36K46OeSevC4@INxO1g;@x<3`)VJq}MsJgf8$X~uj;br?#R|a-x|(vdyB`z1srNBy2jQmZ7pZUfP8`*+9wisv0oRzgc(Qe z-gQsJ%ATc)_;n7f{LTML&n7eINq|0pN={#k<(iqN@{xn2? zF~^Lz(gAJl_@;5xciTV0kD_N(*2;&mZ=~YZ9y(-i^Q;;OF+1WqoMa9E!jcH98w(h- zwzeowG(uCdlC#OrbK-Fw(p8Q&$Q&^M!fe((K(F9w>Nh50*{5IaH$js@HLuD=aaf1c zy)E-axmk;93OIe53G(mD90;QX%Z3cCH_hu(>r3c&8yMFHw8~oPdsN%Ja{la`rx@u& z^rMF}ht#p0Sy0dm)&aO}MAA>GWw@~eQGBdtg?q~cSatjcC_6q3L~mZs_edZ~2`^}A z7*?RjZGlXn6ksq8do+P|pdcV)ZS^dmB%pw@o4n*J+EL9Vf@D!2brSlHgi3&X zRJdgXqrj&T0{`XXJL3SdIQ&3Oflf^9neD`xr51te0uFOz!B5oS1+IT!z6-dDCB2*T zEEbZpysCPeCk)^S_mhSa#~@imA-Fc=oX4sJ=9IB}lu1 zKjixO!E{t0h9y%NR;yz19JB5SGqo*gOYK$>8uN)a=r4Tixa!j=vrs7DEGB--V|J>1 zqBQfv#&-MtqYvkq2v2hHec$iL_ql9GvN9AXT(=RB&^ik%I9J$Wo*bfXoqFus=x}&p z3O)7;{Nxfi_D60z-*93+BWr*6UT6C6ofw!cYzJJ-ueE`-O`YvOgFj%u$qe6vv?hq% z%h|Y1KLaK<5^s23p!03mimBI<^%A;?LPR;5!$5FSpU-U5DsAsN!P~bGd+BwxHNu-& z-MS@qNefjXKbWzka`l?z)3+&_?7W@Us|cg|khA`p-{&*-Z}i`OE*K7B7_-&ug${eM za105{jvOOxqteCFV*pV^1x-&)xnDg>1#U8dUJCQ;rd2uWWR^W@w8V(o)rUs&uff-* zxo4d)@92|xcLa}qj;aI0>&}rPJ}iUgTD^YQN28F?W$;hdJ1F@{e z{WX;Fbwp`@gLYh5b$v*_<49WcXfC)0_B9n z3VrZ6^&A!?mRP+*L^yg2p~-W-JBR^Id`%LaDh~#T$A!sId2840%nTh*N_A(P`bmVMAUI>WoBhx?tGP86DLYIwBrmb9nzo z^OqTeQ|5R#iC9?7k}$#-AP0hC3fKp$_s-wR-c}dqu(Q)yuqENeUH(l)kKr6ULGK-k`ZqBDJu$K{fF`mJ*p7$;rF-*a*JbPs$t_oMy3{0g^6 zjJ0-ts?6(}|`C34!yz;84!*%v6O4*Y1xu0PrdB*#Yhzd%jNq4%sv`&}TBW_8f`Lu)-WRzV@X?hZw$}wkeghYPpZAG9 z7xu@*5hvD?Xg71O#|eN!4lqQt1^Y#)vJ3ZvNt4L}leyKIu;v;pz(&hAx(MS?9`v$0 z3Boxn7ebLK#|xdKPWw!=>2^+kOIJNy>dN`@wI8)khZlLMJ2UQ@CF?{4@SQGwh9+vV z66im5HJ1@h&Z3Y~vQGsU@6bxb8z^Jw_^KTJw{pCqYyYT!V1hLl$Mm}F;%Fi$it{{r zpY9zO@C^!NrVB6g^jN~IjQEFJ9Heobpvi? z27=bH$xN3E{+9a97!Dpa8b%HVF$Ke;H(@b36wI)<>@UHt=m zsIhD`o3h|4Y_7j$%qdfpWB}LU=38~5G$qiZ%aFY`)R5Q@6nbmSo!s~sWUC!QZa>Fj ztu1Wccac?^u2*J^=(w_LBIzFVae3= z)F%@TPLJk>$cH+@>d9p9F)zXK(fLuIJTm=bh07Ul8MYnZm$v)vRYY z!^$i8Y+%L(2H*TWNRf_1Y;l%*FwAu~nDysAKyFWJ|8iVtO~Cuzu~8@Pz1YvF=9PTTHJTR%EjrG|ZF61Mo_$Tl)>bqvi|A6)-e z2}MY_N4%zwHPp}?!W~=E6H6)C?~EZXe`g$V+=4_%00*Nyc*zJ$G~XM^OdQp~P%p}D zy$c)|X4N;991$6s*I0+A&3J2#hx7Cjg{C^&XoUss9-)R&otD&XGxaxmVf&r(y3|Aa zVToF0Jw-;#!|8{D-nt%7TjlC|URLk5%A zpo@PTx4B6!KBVMKQgJE68qcfrYHe4XQRuFBooT7MfA_{rd5_5zqZlg!wuiqhH}MZ} zFMk&tVEQVR$RzUqv?l0$c#q`o`tVC))SnwEu3L4f*!q1wVr5&75DMyzIU2fQXqazd zWLkc6?gp=RVr*N^3TGmcqJ@nIRPybxepmhNCnA!vTW3%zjJs+Bz&O54QD zp_&oWP%ud!jnHzUsQ>9rAd=F7jaNB6xTa|KB{$L}1~Qbk$HB7v=Jh|4mB$p#7{3^! zmi`C-e@lQ@^Y4i*nAD9%P%}6BpB{|3fMTW{ihv3L-|(<2?|KUgCa+dmR5N7$x0&HW z1OA!{Hl2ul5GqPp>_~BX7W@^H^1A){7h|WAfGPOv@rI4X>+X)JX<99>NI%zwsZtJv8182>P~V<~u#v)wx6p}S#j zZ5FxW6b=^{k0{*ZN7Ba~&R-?$L}liYA0HN?fQ(7x)d?~>%i%-$b$+y$f1WOvpBfe` zFyOh2{L#X((VVNytt^2rYN#|rEUiohxYH}OPZVXAQL|nuQ?-`WTc-bm$4~iR{Qnny zTsy70%nGHVHia*%wp}l>(pXVvouOu@HdXznLOU`kMvcLRS*>My;EO6uyE1j{m&TXa z)=D$=dsPN8vC+!Z|B5xNw9WuT7}R8J|5Rz4tLZGWR*|Y5mTM`tB!qUX&OjP%MVS+@ zJ{D%Uoak4hFgQ7^MyGNivKLWkX~>?MFQC@3@rPAzEV-0dit|H}`B|^0)2Yu*Y7TjS zHDia#P@$@~t9bv_!>_W{e*i}12E8_|YKvBLvBrOZ@)v+9R(A6{tv*$hNvjYCB_ig$ zh;RAo&i_mJU+QAzv>#toY5C%ySb)JEU2aHHV5tn1wD&_SMwiop*a4g1&|e?q0IoX# ztj(gWA}>bU>xq8LJ=pW`bNW)w`ai$khYklDH#oi7vl%N-uM=@0sf6r=HZdl7xR9`X^6@xyaM}bb1%}bPX40&Q$;y+X`2)XWL@k7C!(dZr ztNb;*2y+GXfcep$xVFE~j)D*<(|%hp+(i74?}`(&c3{|#i)rqP={qF5`{etWe>cW? z`OBXsC~GmDn72EWVLMJ92%%7G3rb%17SO zXT=YQPlY_C>gGs9*S32m*X0)QsOUgClVprES22706W0`9@fp_nP;In8%zQA$oF^Dj zLH=E+rD4A@2AbOZs9xiH8lM$WEH%BaJMUe2sAG>OiL6|SqeYAL&6$}uiK!(X{9a+b zQe7Z7yEpA#T=+4Rzn1ucGIo-l| z78vjs7D~Fi_{8ZNW8NKBJ#=~7c!rNzdQ@)w9xq`zlM`w=Bm-W7QX<6{O?|n|hV!Oh zwVWsX3z`y_{468*RE>W_1OLwcg1fxE=?Uj^mcUK1ec24Ht43}!YG!(#+oSq-e2K$X z6LI(Gr{U(8-}Pr<8Y}t#bafU$aV%ROXR#nbg9KP4xGWOf2?T;Wi@UpPAS@8veQ^ma z5Hz@Jf(Lhp;4Z;~e0$&b>fQJ5shX;;nXc2Px_V}+yZ`6c%k$lt1+?{yk?RNNuO4oP zeBH9ahJMplcC(Q?ixGTVKp0q2d3I3H_2gtNpN6_~bk8=FnYqY^K)lz!cq>$+T*DSC zq=F3^r2wC0XqBP;c)Qr^{<}suARt`^`JS^GsU2IS`_@ggZpgU*vx^r} zWhF<&%gScLX%z4}#q+KA)lq8NP*38ZnvR0V$Osm!g1yi(p?C)s z{Ox^F*DStOXq;rwGbe`OUK}&V3K0dJm6Q%%Fyy`*nH-nWa=F2}yWd=+YUtI=TCP;N zBcFj2dpn=-v2Dhg_ao$K3muo=@1{D>w~u@n-Dvg6SBPpGd0YARl2BsjC&xdjWr{D^ zrTw|xuu0rZGbU8DZ2q0`_4hUOlmOfGTXaYgfLL1LUY~e~|7eIF z7Ft6tV#xW@JQu1w8Y*n<|6mDMe(J?nyas9&hFH7{>XNC}x#xXk?T6j1&2TBVW}3Bx zY`)lDj7uI5jV%G_hs4S6vXJLl5XD2HxtWD&FwAXfODDGMC!R~N!ta9f?LqD|@x~x~ zxA^kL^h|$LF-f(@S4^aj;w`KXUX@EhKcpbcF#b!CNy$pwhdYFR+y|DB*VVi3=csmt z?o^o|Wv=lDYy}++5@SbZjX=aF+14sxN2^%S4>Z-vo)Jb?>SB-J%dysg_;Tr`Kvn&Q za7EFC)Z+B-5}a!w?ebLrZ+wDFR|D+o!G5MJ%1ecb*3%tYiFvfHgtcnY!PAmbAan>9 zzS6z`!yrM%=CD8GWwGv+dTG~eSb(huHX#dSp*AMCk+%H_-NQUl0>$)IiW<45)`n6= z;_f9g_OXq1kA(|i-*AotZ4}wlWCg>HOp~A~^Y__V*ptrZ?KQRQH&c0$h05A#Rjn-H z1H6TN+ujWwrlb~h3J z$_o_GMAM$5vAXyZqAJqyT0Z|137 z%2Lm~TiHMzR`W64PfX&6qk~wk-nVH-3-shg^anCFa7r7(T1Fck-@LuU_*pQU*0QfS z`DJoax9|w?;}wx|$4Q3|7eaE;E4$+HhW5lQqjeOA;l%hs_`6-_pQj-D2E8-uMTkGr z!l5?D#Y@#7C8;EEg6g6QYA@sw=NfMrUG*#qCtK zZ#h_rFRH{fDm%A-{%7dK`u?BBF^uW>U59zc0@k~#O@6kzETu#N|0X+4<{S{s$$qJ0 z(c`OMT~i_kd)?O+8eQfKk~8!_JwlVrboPaV(H@^`5J~^At`)=Zb}k_n0+@FRme&Xo z@lVY7$s#5Sb1b;MzX$XN2PJbXC&FwD61J2~s}U>ebZf=6*-TUsBSm7C62B{y`F>bP z+-V+b95<|(mAcpTSdB#vcS|50z030a@-lm>c2O`!m+zxQ>BfXis~9#*TI}MHK0&L6 z5R91@GfF6Mzw+jL`5rw)O?P4F%_hf7F^A-fQ|C4dME>m~HMwsX4UONb)UfIv9fvKc z!1PaiIaiP+=~SLGuf8y#J%-j68XjE@;~-G4ubq{G_tW4u`H7ksq)%oPmnlRB7qissU@)U|{(i~%;DhMM=`VjOm#DM$n5 z+BHQA(h3}i+kX42`YCawO}9&(qlF#BIR!=!#Y>vZ13V5z6?ghaF^x9I> zhfz6rmh-y7zfj&ooER53_`a}A&=JlT*vHjmFlJU-$xcwfF@soILe68@bLt&Mc)G`d z3)gWr&PKQ&+KjO@e5t&dE2pt57JbQxtsG}v3_@>R74DMHli|ol$D@=5Qvwzc;%@8W zFQh&%R?zX(@46PZ9s-nO81@LXZbhZ&WX}Cu38|zkJ6R3_ZU)QV8SrUZsLY~oVWjc- zLXe|Zjg5A(6_U!P2*X+0+sn8IbAN*mEV8f5_m%{22^gVC=E;2xHAc8qAFMlWt<+4b$5Pk0I~uUq(E}x@MBwMyT&kccXqhrNONb%p;dr^1rlv zVL8`{&pi&A0>m&ly|R6;e{O&UyzRK$N@Mn>RFv^99G(zG@#anlE0F0;vGrNXiuuF2 zBkC;E+AJaBY1DUj=dJH?m)PA*b3>&ocVRZhDpzSfW$@>sRZ#l5k)@O6bV45ZY_~rA z0(@47MWb>V`;ZD>r=st60S9&wp+=|yNnlAm11Au%MuzAy!!!4GcVVA6s}FDL32S4+ zTiU-fTQbqy>vhOQKHRYCQ-x@_JRi}O6v{GY-o4+SX@~%$yayu@Rf0t)vt9%*HKHnV&pxukE~q8j zHdad>oruh+l?S~=P`iY$L*dqJYfuSU{bO3;Bs2Zm7dgAkzRDNljST5`g;Hm6!yFLT zjd|SXQheXiB*GabTeVI-o_FBR7~j(tc3)@O?VwD{s%OK~tM{r8TgBNEL|!A!2gnJ) zg)UrAV?DX!2*{s5<9C^urIJquP51hl*Z5yqO^ZD2kA4yEm6CnpZ2}>)hzaScRTt^A zO;Aft?-H2!09~g=5?dO(7<28LtLi&3_jiE7L9I%4r4*T@9L3&j3CCObuQaCoM=Ez_=igpsvsO zU^5zi$|ciYlp(Pj*4RlUUFJKoEdex`?rHx&-dY{wyUM{g9*oq(KL z>)n`VEqbiZP1LQ3xuG}4r&{yQGWo+3mH8Ok1|*0saj}hFCbkXQs$p0wg34E%{aUpF zs+}ENbHDgZIM7yRVmHbM-;)6u#nTWwdE?bavB zccC>s{e@=tVg^gh%l~5nAB9zHO`7)#nG-+MUFAm8<-8Ti7f^?w(I+MMk*;ZA)WpZ( zpwd4;>DGPo7AK>v_8l0))b457Lai1OdBCzTHFt&~%x_1joM{?J^==PmUvfvU!eVq(ZZe|b5HVh4?b#1Y{T+1@Gx z55bJ$ucfSw!#@SKoDH1qWtG(Sg`G|Gme|yc{hkD83sCXEL>fq%L}lf|r<#RCnt~4C5uQ+#Fq+YF=6#H&)n!#r zZ=mdqX2`4M=tO!59(UarDGoJ&#no{?O$xC$gj~5prk-9I4BqyV>KIzc&|0^@`s93= zAb>ooXoONsmLWaZ9f6dAmvO7I&rNPrx1VLKXu{2gBQWo#c&Ob<#^$TE$=I=h0{8-o zZi^sTgIV|tV55lBFr_@a9xOs5bW^71tX_M{44ee*4K+cCbXUX#)%nP<_K$fTO6*A$ z4k6!MtRyY>CXsdBmmz`3BS_YYN^@$L zFORn7NQ54Z5Zq3v>d6B=1Ldvi6ub5JCv656=V6fCq+1QAH%H!cD-H4OtkaDsK9!-u zD+EtB*v<54V6^4?*&vrdD~meCH}d;BHhn*rYa@{`543L_-HP$b#5}$Z2FkbkC|~FZ zrmZ?9;k!yl7Whb(f`gOSC(m67oq44k@VtAFPEQ4!3= z#xX;XZ9clwZ|uqA9hpg~)(EJ(g@IsH`GL3ui|Hdc1( zhw=p+-O(-IuP1ANLNw{V^q!Rb92OyMPoppwV)gE=azJP7RLebg^5N*w88L1-`xi#P z)NiS(&K8U5ArAmcwq)g>HUW^}cDk1}!92ai3 zEW?rCbM5vLTBQ~RTai$|Chex}cB)%7HIMPq0aF7spCvawfD(U=N}$>8WB%}og*s?? zVL?3`);iV@Z;z>yT^gYy#q5%!VjHdR+uSB-TyYYaVvPrwY*y92!8xxGoWHMiy|DB@T*2LLE)wBQCDYRE`|4w@9l`aF!dVv#9>pWl(ei- z!=YyOHV09$9$gW9O4>*^U;53`kKqtv2;LqsL!z4({o)#_N8*!FI+VT%lZJ2Gpw_0lzy=!hFfG-4DOFl(q7xB10L*#`;=>xuvWI+(Z=}88 zCc9UQ8H$B!R5@CdX=+|V*YZaC2=^uN2Y3=R) zW;b|fm-ehyb9Ck&cIYXPh@l%FoyhWP%fl`$hO?=459j`KC+`3P7Ci10hbk~r35d}@KE+qJM-Irn@%>go@&D&Cj{PcehL0Hf2wJF%&(nv06TQKT#)9^T1Zr(hx`GM*N1XN7h`xD&#F)GUIQg zo^Zi_QL?efspYBtfoB)vAl%CZwK$54@|iQ3qF+J^zT1eQS!5K^1@g1CMN_Azt#7p zS9rHY^;xT9;D_w0m3f?zbXwP-ReWf<+KC$Pk76-k5a03Re%&S{=*!37K?!UZqi7cs zymtakrm{pEGCXY&tRWZNFl-r3a-=}37p#5UphIf2K38H+rcl#ln7k5%qVp`jIH~Yt;Qg z6dP(C^d9m%Cy7FIChCX$Z3FK6>}X}BbQ!u~jT~|VD?=*wEZ>r6>gK$!U(|5VA9?y4 zV^qc1>ChqaSie5%b(?L}!5GuqrkUEqFu2Ki&KG&6-Z3$fjk;d`jPN?6B-W!5aA?AC=Gvv3&RL7 z;THk|6krD+gln3I6X9vxU1M5BGfn+`}b!WJ_pQSN-t`oHH62 z)<48=`R(p54-6lsTaG56rMvQan5?;x_i)6iH{`ZJR(ad24`o8Mqd7+hrrUA%J4XGV zyal=uid}*QV8KkyF|Yzvg%8C*L8?x5W zX~2w`xX?UvLLZO?rU%=w*qeIs7`gaye20aT;?hpJY$?#&7%IM4OerFU|E(X`5Tr9w z{wN95+1E=KICv<&$Er(!43m#k4s|j}j8SKzLR59;Wp3xJz6Kv)RFZpPj2JlQZ=W#% z{E={tP4B81NjAxl)>~SuC>uPp>@;68R3KrpTCH2X^+F&ikZHs-Fi2sM}}=pVP*w^i$kBEkq}g%APYbQ#?ei?;xhc!S2Sp+1>hY}&#sSjvkn0P zP5#Bdh~99h_rHxF14?EIpaK4M07EByERVp)G93H;UnbWH)wKlB0{;Trcfo7)!)yFS z1^?RwdY~DW01-sSUg&})fC2bVe)!)t+lQe*D|k)!aj2dZfDQOJxA&hu8z-PJD|lRg zLm&_kNd9&NFHP)1EARkh&}SGjoM8Ewre9r>}D99S_>F?wN1O&4G@icP> zHKGNOL&L2B%s6om{|260Iyt&)m_P%q0mO`d%fk^6;H~_Zc>)0c&qsH*aB{YX2HF4! z{}S$!A~GOD-`W7^f&Y>2!n^K&yGShC=Vg8T46pmcS{V&(>B02!U+{sME)ydh7 z-Ne}$3a|kXK&St5ukaFjW&@B!jKqTS+5*H7)3Kpmwg3*M|L6~=0sn|J7x&+hy1Dz< dTe$tp7w{jSu>WdZi#OE{K#z(f03SvO{|9Z|G@bwe delta 84051 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

      =PR5MW< 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 diff --git a/nostarch/docx/chapter12.docx b/nostarch/docx/chapter12.docx index ac3117afe1076062bb7f6e4943485d232cd6b984..eba55b866526417a55eb727a88cd4cac86de5399 100644 GIT binary patch delta 82878 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 PM0zly@OBwzFV|Dq3UNBe2=2(H%`q%?z{b3e_O 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≤J;SHPlWH!qh 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 delta 87613 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

      nkOTJ#sE_m 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 diff --git a/nostarch/docx/chapter13.docx b/nostarch/docx/chapter13.docx index cd3363d391cf8d22286fffe8ca5b302e571d54ad..39dae6b332509bd972d98c89ce2cd63afc68e4ea 100644 GIT binary patch delta 48936 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
      FMB8jdn=@83u{PEEo|t+#COdJJ#+=3(eix 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 diff --git a/nostarch/docx/chapter14.docx b/nostarch/docx/chapter14.docx index 45fa81c8354f07e93b654e7964fef61f234aead8..e5f8f6d70cb601638174a2bbb1b96a9f383078b0 100644 GIT binary patch delta 52613 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 delta 60808 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 s6nJ^6c8XAr26NC%+KVO%N=>Px# diff --git a/nostarch/docx/frontmatter.docx b/nostarch/docx/frontmatter.docx index 869a63f4ba1e9efb4ae1059d1b8dee001e747408..65d41f2519b2983481b2162f63128490df0f5d39 100644 GIT binary patch delta 38676 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 z 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 L1zzj?pQHZ|<=32v diff --git a/nostarch/frontmatter.md b/nostarch/frontmatter.md index e23cc9fb92..527b2bca84 100644 --- a/nostarch/frontmatter.md +++ b/nostarch/frontmatter.md @@ -184,10 +184,10 @@ Goulding, and her daughter, Vivian. ## Preface This version of the text assumes you’re using Rust 1.62.0 (released 2022-06-30) -or later with `edition="2021"` in *Cargo.toml* of all projects to configure -them to use Rust 2021 edition idioms. See “Installation” on page XX for -instructions on installing or updating Rust, and see Appendix E for information -on editions. +or later with `edition="2021"` in the *Cargo.toml* file of all projects to +configure them to use Rust 2021 edition idioms. See “Installation” on page XX +for instructions on installing or updating Rust, and see Appendix E for +information on editions. The 2021 edition of the Rust language includes a number of improvements that make Rust more ergonomic and that correct some inconsistencies. On top of a @@ -221,7 +221,7 @@ backward-compatibility guarantees at work! ## Introduction -Welcome to *The Rust Programming Language,* an introductory book about Rust. +Welcome to *The Rust Programming Language*, an introductory book about Rust. The Rust programming language helps you write faster, more reliable software. High-level ergonomics and low-level control are often at odds in programming language design; Rust challenges that conflict. Through balancing powerful From cb5689654676a7b42fad1832d5023480862cf8b1 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 25 Aug 2022 22:05:02 -0400 Subject: [PATCH 0427/1248] Messy snapshot of ch 15 after copyedit checks --- nostarch/chapter15.md | 261 +++++++++++++++++++++++++++++------ nostarch/docx/chapter15.docx | Bin 100375 -> 113472 bytes 2 files changed, 221 insertions(+), 40 deletions(-) diff --git a/nostarch/chapter15.md b/nostarch/chapter15.md index 27e7849793..ca37e727cd 100644 --- a/nostarch/chapter15.md +++ b/nostarch/chapter15.md @@ -104,7 +104,7 @@ fn main() { ``` ``` - println!("b = {}", b); + println!("b = {b}"); ``` ``` @@ -206,6 +206,14 @@ Listing 15-3. Filename: src/main.rs +``` +--snip-- +``` + +``` + +``` + ``` use crate::List::{Cons, Nil}; ``` @@ -270,6 +278,9 @@ error[E0072]: recursive type `List` has infinite size ``` help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` +``` + +``` representable ``` @@ -339,6 +350,8 @@ variant. The `Cons` variant holds a value of type `i32` and a value of type `List`, and this process continues infinitely, as shown in Figure 15-1. +Unmatched: GraphicSlug + Unmatched: CaptionLine #### Using Box to Get a Recursive Type with a Known Size @@ -347,6 +360,9 @@ defined types, the compiler gives an error with this helpful suggestion: ``` help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` +``` + +``` representable ``` @@ -413,7 +429,43 @@ fn main() { ``` ``` - let list = Cons(1, Box::new(Cons(2, Box::new(Cons(3, Box::new(Nil)))))); + let list = Cons( +``` + +``` + 1, +``` + +``` + Box::new(Cons( +``` + +``` + 2, +``` + +``` + Box::new(Cons( +``` + +``` + 3, +``` + +``` + Box::new(Nil) +``` + +``` + )) +``` + +``` + )) +``` + +``` + ); ``` ``` @@ -536,7 +588,11 @@ error[E0277]: can't compare `{integer}` with `&{integer}` ``` ``` - | ^^^^^^^^^^^^^^^^ no implementation for `{integer} == &{integer}` + | ^^^^^^^^^^^^^^^^ no implementation for `{integer} == +``` + +``` +&{integer}` ``` ``` @@ -544,7 +600,11 @@ error[E0277]: can't compare `{integer}` with `&{integer}` ``` ``` - = help: the trait `PartialEq<&{integer}>` is not implemented for `{integer}` + = help: the trait `PartialEq<&{integer}>` is not implemented +``` + +``` +for `{integer}` ``` Comparing a number and a reference to a number isn’t allowed because they’re @@ -717,7 +777,7 @@ trait we need to provide implementations for the trait’s required methods. The `Deref` trait, provided by the standard library, requires us to implement one method named `deref` that borrows `self` and returns a reference to the inner data. Listing 15-10 contains an implementation of `Deref` to add to the -definition of `MyBox`. +definition of `MyBox```. Filename: src/main.rs @@ -966,7 +1026,7 @@ let’s implement `drop` with `println!` statements for now. Listing 15-14 shows a `CustomSmartPointer` struct whose only custom functionality is that it will print `Dropping CustomSmartPointer!` when the -instance goes out of scope, to show when Rust runs the `drop` function. +instance goes out of scope, to show when Rust runs the `drop` method. Filename: src/main.rs @@ -995,7 +1055,19 @@ struct CustomSmartPointer { ``` ``` - 2 println!("Dropping CustomSmartPointer with data `{}`!", self.data); + 2 println!( +``` + +``` + "Dropping CustomSmartPointer with data `{}`!", +``` + +``` + self.data +``` + +``` + ); ``` ``` @@ -1052,8 +1124,8 @@ put our cleanup code The `Drop` trait is included in the prelude, so we don’t need to bring it into scope. We implement the `Drop` trait on `CustomSmartPointer` [1] and provide an implementation for the `drop` method that calls `println!` [2]. The body of the -`drop` function is where you would place any logic that you wanted to run when -an instance of your type goes out of scope. We’re printing some text here to +`drop` method is where you would place any logic that you wanted to run when an +instance of your type goes out of scope. We’re printing some text here to demonstrate visually when Rust will call `drop`. In `main`, we create two instances of `CustomSmartPointer` at [3] and [4] and @@ -1522,6 +1594,14 @@ then we can see how the reference count changes when `c` goes out of scope. Filename: src/main.rs +``` +--snip-- +``` + +``` + +``` + ``` fn main() { ``` @@ -1740,6 +1820,8 @@ examine how it’s possible. A consequence of the borrowing rules is that when you have an immutable value, you can’t borrow it mutably. For example, this code won’t compile: +Filename: src/main.rs + ``` fn main() { ``` @@ -1890,7 +1972,19 @@ where ``` ``` - pub fn new(messenger: &'a T, max: usize) -> LimitTracker<'a, T> { + pub fn new( +``` + +``` + messenger: &'a T, +``` + +``` + max: usize +``` + +``` + ) -> LimitTracker<'a, T> { ``` ``` @@ -1934,39 +2028,39 @@ where ``` ``` - let percentage_of_max = self.value as f64 / self.max as f64; + let percentage_of_max = ``` ``` - + self.value as f64 / self.max as f64; ``` ``` - if percentage_of_max >= 1.0 { + ``` ``` - self.messenger.send("Error: You are over your quota!"); + if percentage_of_max >= 1.0 { ``` ``` - } else if percentage_of_max >= 0.9 { + self.messenger ``` ``` - self.messenger + .send("Error: You are over your quota!"); ``` ``` - .send( + } else if percentage_of_max >= 0.9 { ``` ``` - "Urgent warning: You've used up over 90% of your quota!" + self.messenger ``` ``` - ); + .send("Urgent: You're at 90% of your quota!"); ``` ``` @@ -1978,7 +2072,7 @@ where ``` ``` - .send("Warning: You've used up over 75% of your quota!"); + .send("Warning: You're at 75% of your quota!"); ``` ``` @@ -2182,6 +2276,9 @@ However, there’s one problem with this test, as shown here: ``` error[E0596]: cannot borrow `self.sent_messages` as mutable, as it is behind a +``` + +``` `&` reference ``` @@ -2199,6 +2296,9 @@ error[E0596]: cannot borrow `self.sent_messages` as mutable, as it is behind a ``` | ----- help: consider changing that to be a mutable reference: +``` + +``` `&mut self` ``` @@ -2308,7 +2408,15 @@ mod tests { ``` ``` - 3 self.sent_messages.borrow_mut().push(String::from(message)); + self.sent_messages +``` + +``` + 3 .borrow_mut() +``` + +``` + .push(String::from(message)); ``` ``` @@ -2340,7 +2448,19 @@ mod tests { ``` ``` - 4 assert_eq!(mock_messenger.sent_messages.borrow().len(), 1); + assert_eq!( +``` + +``` + 4 mock_messenger.sent_messages.borrow().len(), +``` + +``` + 1 +``` + +``` + ); ``` ``` @@ -2397,19 +2517,19 @@ at runtime. Filename: src/lib.rs ``` - impl Messenger for MockMessenger { +impl Messenger for MockMessenger { ``` ``` - fn send(&self, message: &str) { + fn send(&self, message: &str) { ``` ``` - let mut one_borrow = self.sent_messages.borrow_mut(); + let mut one_borrow = self.sent_messages.borrow_mut(); ``` ``` - let mut two_borrow = self.sent_messages.borrow_mut(); + let mut two_borrow = self.sent_messages.borrow_mut(); ``` ``` @@ -2417,19 +2537,19 @@ Filename: src/lib.rs ``` ``` - one_borrow.push(String::from(message)); + one_borrow.push(String::from(message)); ``` ``` - two_borrow.push(String::from(message)); + two_borrow.push(String::from(message)); ``` ``` - } + } ``` ``` - } +} ``` Creating two mutable references in the same scope to see that `RefCell` will @@ -2478,9 +2598,10 @@ get a value that can have multiple owners *and* that you can mutate! For example, recall the cons list example in Listing 15-18 where we used `Rc` to allow multiple lists to share ownership of another list. Because `Rc` holds only immutable values, we can’t change any of the values in the -list once we’ve created them. Let’s add in `RefCell` the ability to change -the values in the lists. Listing 15-24 shows that by using a `RefCell` in -the `Cons` definition, we can modify the value stored in all the lists. +list once we’ve created them. Let’s add in `RefCell` for its ability to +change the values in the lists. Listing 15-24 shows that by using a +`RefCell` in the `Cons` definition, we can modify the value stored in all +the lists. Filename: src/main.rs @@ -2765,7 +2886,19 @@ fn main() { ``` ``` - println!("a rc count after b creation = {}", Rc::strong_count(&a)); + println!( +``` + +``` + "a rc count after b creation = {}", +``` + +``` + Rc::strong_count(&a) +``` + +``` + ); ``` ``` @@ -2797,11 +2930,35 @@ fn main() { ``` ``` - println!("b rc count after changing a = {}", Rc::strong_count(&b)); + println!( +``` + +``` + "b rc count after changing a = {}", +``` + +``` + Rc::strong_count(&b) +``` + +``` + ); +``` + +``` + println!( +``` + +``` + "a rc count after changing a = {}", ``` ``` - println!("a rc count after changing a = {}", Rc::strong_count(&a)); + Rc::strong_count(&a) +``` + +``` + ); ``` ``` @@ -3141,7 +3298,19 @@ fn main() { ``` ``` - 2 println!("leaf parent = {:?}", leaf.parent.borrow().upgrade()); + 2 println!( +``` + +``` + "leaf parent = {:?}", +``` + +``` + leaf.parent.borrow().upgrade() +``` + +``` + ); ``` ``` @@ -3181,7 +3350,19 @@ fn main() { ``` ``` - 5 println!("leaf parent = {:?}", leaf.parent.borrow().upgrade()); + 5 println!( +``` + +``` + "leaf parent = {:?}", +``` + +``` + leaf.parent.borrow().upgrade() +``` + +``` + ); ``` ``` @@ -3295,11 +3476,11 @@ fn main() { ``` ``` - { + 2 { ``` ``` - 2 let branch = Rc::new(Node { + let branch = Rc::new(Node { ``` ``` diff --git a/nostarch/docx/chapter15.docx b/nostarch/docx/chapter15.docx index ef66c7a0130d6617cc9163c81668fabbad6da806..bc296df83dd68a45ae7c374f69c7469fc7eab013 100644 GIT binary patch delta 102467 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 x#b6nKa?o7%G(E7r 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 z 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 R`TpN~37k7UQf^-S6b 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 From 856d89c53a6d69470bb5669c773fdfe6aab6fcc9 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 26 Aug 2022 09:00:12 -0400 Subject: [PATCH 0428/1248] Updated snapshot of ch16 --- nostarch/chapter16.md | 62 ++----------------------------------- src/ch16-03-shared-state.md | 6 ++-- 2 files changed, 6 insertions(+), 62 deletions(-) diff --git a/nostarch/chapter16.md b/nostarch/chapter16.md index 1f404f84de..a103d1bed6 100644 --- a/nostarch/chapter16.md +++ b/nostarch/chapter16.md @@ -16,30 +16,6 @@ computers take advantage of their multiple processors. Historically, programming in these contexts has been difficult and error prone: Rust hopes to change that. - - - Initially, the Rust team thought that ensuring memory safety and preventing concurrency problems were two separate challenges to be solved with different methods. Over time, the team discovered that the ownership and type systems are @@ -464,26 +440,6 @@ containing data. Here’s the idea in a slogan from the Go language documentation at *https://golang.org/doc/effective_go.html#concurrency*: “Do not communicate by sharing memory; instead, share memory by communicating.” - - - - - - To accomplish message-sending concurrency, Rust's standard library provides an implementation of *channels*. A channel is a general programming concept by which data is sent from one thread to another. @@ -503,7 +459,7 @@ Here, we’ll work up to a program that has one thread to generate values and send them down a channel, and another thread that will receive the values and print them out. We’ll be sending simple values between threads using a channel to illustrate the feature. Once you’re familiar with the technique, you could -use channels for any threads that needs to communicate between each other, such +use channels for any threads that need to communicate between each other, such as a chat system or a system where many threads perform parts of a calculation and send the parts to one thread that aggregates the results. @@ -568,10 +524,8 @@ Listing 16-7: Moving `tx` to a spawned thread and sending “hi” Again, we’re using `thread::spawn` to create a new thread and then using `move` to move `tx` into the closure so the spawned thread owns `tx`. The spawned thread needs to own the transmitter to be able to send messages through the -channel. - -The transmitter has a `send` method that takes the value we want to send. -The `send` method returns a `Result` type, so if the receiver has +channel. The transmitter has a `send` method that takes the value we want to +send. The `send` method returns a `Result` type, so if the receiver has already been dropped and there’s nowhere to send a value, the send operation will return an error. In this example, we’re calling `unwrap` to panic in case of an error. But in a real application, we would handle it properly: return to @@ -833,11 +787,6 @@ one. Another method would be for multiple threads to access the same shared data. Consider this part of the slogan from the Go language documentation again: “do not communicate by sharing memory.” - - - What would communicating by sharing memory look like? In addition, why would message-passing enthusiasts caution not to use memory sharing? @@ -1152,11 +1101,6 @@ standard library. These types provide safe, concurrent, atomic access to primitive types. We chose to use `Mutex` with a primitive type for this example so we could concentrate on how `Mutex` works. - - - ### Similarities Between `RefCell`/`Rc` and `Mutex`/`Arc` You might have noticed that `counter` is immutable but we could get a mutable diff --git a/src/ch16-03-shared-state.md b/src/ch16-03-shared-state.md index 41dccfa133..918d162cf5 100644 --- a/src/ch16-03-shared-state.md +++ b/src/ch16-03-shared-state.md @@ -219,9 +219,9 @@ thread update the final result with its part. Note that if you are doing simple numerical operations, there are types simpler than `Mutex` types provided by the [`std::sync::atomic` module of the -standard library][atomic]. These types provide safe, concurrent, atomic access -to primitive types. We chose to use `Mutex` with a primitive type for this -example so we could concentrate on how `Mutex` works. +standard library][atomic]. These types provide safe, concurrent, +atomic access to primitive types. We chose to use `Mutex` with a primitive +type for this example so we could concentrate on how `Mutex` works. ### Similarities Between `RefCell`/`Rc` and `Mutex`/`Arc` From 5588eede27fb1aa75095299f612adc0ab87e040a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 26 Aug 2022 16:13:02 -0400 Subject: [PATCH 0429/1248] Snapshot of ch16 copyedited --- nostarch/chapter16.md | 1501 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 1319 insertions(+), 182 deletions(-) diff --git a/nostarch/chapter16.md b/nostarch/chapter16.md index a103d1bed6..a2dd80c4bf 100644 --- a/nostarch/chapter16.md +++ b/nostarch/chapter16.md @@ -30,17 +30,17 @@ shipped to production. We’ve nicknamed this aspect of Rust *fearless* *concurrency*. Fearless concurrency allows you to write code that is free of subtle bugs and is easy to refactor without introducing new bugs. -> Note: For simplicity’s sake, we’ll refer to many of the problems as -> *concurrent* rather than being more precise by saying *concurrent and/or -> parallel*. If this book were about concurrency and/or parallelism, we’d be -> more specific. For this chapter, please mentally substitute *concurrent -> and/or parallel* whenever we use *concurrent*. +> NoteFor simplicity’s sake, we’ll refer to many of the problems as +*concurrent* rather than being more precise by saying *concurrent and/or* +*parallel*. If this book were about concurrency and/or parallelism, we’d be +more specific. For this chapter, please mentally substitute *concurrent* +*and/or parallel* whenever we use *concurrent*. Many languages are dogmatic about the solutions they offer for handling concurrent problems. For example, Erlang has elegant functionality for message-passing concurrency but has only obscure ways to share state between threads. Supporting only a subset of possible solutions is a reasonable -strategy for higher-level languages, because a higher-level language promises +strategy for higher-level languages because a higher-level language promises benefits from giving up some control to gain abstractions. However, lower-level languages are expected to provide the solution with the best performance in any given situation and have fewer abstractions over the hardware. Therefore, Rust @@ -52,10 +52,9 @@ Here are the topics we’ll cover in this chapter: * How to create threads to run multiple pieces of code at the same time * *Message-passing* concurrency, where channels send messages between threads * *Shared-state* concurrency, where multiple threads have access to some piece - of data +of data * The `Sync` and `Send` traits, which extend Rust’s concurrency guarantees to - user-defined types as well as types provided by the standard library - +user-defined types as well as types provided by the standard library ## Using Threads to Run Code Simultaneously In most current operating systems, an executed program’s code is run in a @@ -72,12 +71,11 @@ order in which parts of your code on different threads will run. This can lead to problems, such as: * Race conditions, where threads are accessing data or resources in an - inconsistent order +inconsistent order * Deadlocks, where two threads are waiting for each other, preventing both - threads from continuing +threads from continuing * Bugs that happen only in certain situations and are hard to reproduce and fix - reliably - +reliably Rust attempts to mitigate the negative effects of using threads, but programming in a multithreaded context still takes careful thought and requires a code structure that is different from that in programs running in a single @@ -88,38 +86,83 @@ operating systems provide an API the language can call for creating new threads. The Rust standard library uses a *1:1* model of thread implementation, whereby a program uses one operating system thread per one language thread. There are crates that implement other models of threading that make different -tradeoffs to the 1:1 model. +trade-offs to the 1:1 model. -### Creating a New Thread with `spawn` +### Creating a New Thread with spawn To create a new thread, we call the `thread::spawn` function and pass it a closure (we talked about closures in Chapter 13) containing the code we want to run in the new thread. The example in Listing 16-1 prints some text from a main -thread and other text from a new thread: +thread and other text from a new thread. Filename: src/main.rs ``` use std::thread; +``` + +``` use std::time::Duration; +``` + +``` +``` + +``` fn main() { +``` + +``` thread::spawn(|| { +``` + +``` for i in 1..10 { +``` + +``` println!("hi number {} from the spawned thread!", i); +``` + +``` thread::sleep(Duration::from_millis(1)); +``` + +``` } +``` + +``` }); +``` + +``` +``` + +``` for i in 1..5 { +``` + +``` println!("hi number {} from the main thread!", i); +``` + +``` thread::sleep(Duration::from_millis(1)); +``` + +``` } +``` + +``` } ``` -Listing 16-1: Creating a new thread to print one thing while the main thread -prints something else +Creating a new thread to print one thing while the main thread prints something +else Note that when the main thread of a Rust program completes, all spawned threads are shut down, whether or not they have finished running. The output from this @@ -128,13 +171,37 @@ following: ``` hi number 1 from the main thread! +``` + +``` hi number 1 from the spawned thread! +``` + +``` hi number 2 from the main thread! +``` + +``` hi number 2 from the spawned thread! +``` + +``` hi number 3 from the main thread! +``` + +``` hi number 3 from the spawned thread! +``` + +``` hi number 4 from the main thread! +``` + +``` hi number 4 from the spawned thread! +``` + +``` hi number 5 from the spawned thread! ``` @@ -150,45 +217,97 @@ If you run this code and only see output from the main thread, or don’t see an overlap, try increasing the numbers in the ranges to create more opportunities for the operating system to switch between the threads. -### Waiting for All Threads to Finish Using `join` Handles +### Waiting for All Threads to Finish Using join Handles The code in Listing 16-1 not only stops the spawned thread prematurely most of the time due to the main thread ending, but because there is no guarantee on the order in which threads run, we also can’t guarantee that the spawned thread will get to run at all! -We can fix the problem of the spawned thread not running or ending prematurely -by saving the return value of `thread::spawn` in a variable. The return type of -`thread::spawn` is `JoinHandle`. A `JoinHandle` is an owned value that, when we -call the `join` method on it, will wait for its thread to finish. Listing 16-2 -shows how to use the `JoinHandle` of the thread we created in Listing 16-1 and -call `join` to make sure the spawned thread finishes before `main` exits: +We can fix the problem of the spawned thread not running or of it ending +prematurely by saving the return value of `thread::spawn` in a variable. The +return type of `thread::spawn` is `JoinHandle`. A `JoinHandle` is an owned +value that, when we call the `join` method on it, will wait for its thread to +finish. Listing 16-2 shows how to use the `JoinHandle` of the thread we created +in Listing 16-1 and call `join` to make sure the spawned thread finishes before +`main` exits. Filename: src/main.rs ``` use std::thread; +``` + +``` use std::time::Duration; +``` + +``` + +``` +``` fn main() { +``` + +``` let handle = thread::spawn(|| { +``` + +``` for i in 1..10 { +``` + +``` println!("hi number {} from the spawned thread!", i); +``` + +``` thread::sleep(Duration::from_millis(1)); +``` + +``` } +``` + +``` }); +``` + +``` + +``` +``` for i in 1..5 { +``` + +``` println!("hi number {} from the main thread!", i); +``` + +``` thread::sleep(Duration::from_millis(1)); +``` + +``` } +``` + +``` +``` + +``` handle.join().unwrap(); +``` + +``` } ``` -Listing 16-2: Saving a `JoinHandle` from `thread::spawn` to guarantee the -thread is run to completion +Saving a `JoinHandle` from `thread::spawn` to guarantee the thread is run to +completion Calling `join` on the handle blocks the thread currently running until the thread represented by the handle terminates. *Blocking* a thread means that @@ -198,17 +317,53 @@ produce output similar to this: ``` hi number 1 from the main thread! +``` + +``` hi number 2 from the main thread! +``` + +``` hi number 1 from the spawned thread! +``` + +``` hi number 3 from the main thread! +``` + +``` hi number 2 from the spawned thread! +``` + +``` hi number 4 from the main thread! +``` + +``` hi number 3 from the spawned thread! +``` + +``` hi number 4 from the spawned thread! +``` + +``` hi number 5 from the spawned thread! +``` + +``` hi number 6 from the spawned thread! +``` + +``` hi number 7 from the spawned thread! +``` + +``` hi number 8 from the spawned thread! +``` + +``` hi number 9 from the spawned thread! ``` @@ -222,22 +377,73 @@ Filename: src/main.rs ``` use std::thread; +``` + +``` use std::time::Duration; +``` + +``` +``` + +``` fn main() { +``` + +``` let handle = thread::spawn(|| { +``` + +``` for i in 1..10 { +``` + +``` println!("hi number {} from the spawned thread!", i); +``` + +``` thread::sleep(Duration::from_millis(1)); +``` + +``` } +``` + +``` }); +``` + +``` +``` + +``` handle.join().unwrap(); +``` +``` + +``` + +``` for i in 1..5 { +``` + +``` println!("hi number {} from the main thread!", i); +``` + +``` thread::sleep(Duration::from_millis(1)); +``` + +``` } +``` + +``` } ``` @@ -246,57 +452,122 @@ The main thread will wait for the spawned thread to finish and then run its ``` hi number 1 from the spawned thread! +``` + +``` hi number 2 from the spawned thread! +``` + +``` hi number 3 from the spawned thread! +``` + +``` hi number 4 from the spawned thread! +``` + +``` hi number 5 from the spawned thread! +``` + +``` hi number 6 from the spawned thread! +``` + +``` hi number 7 from the spawned thread! +``` + +``` hi number 8 from the spawned thread! +``` + +``` hi number 9 from the spawned thread! +``` + +``` hi number 1 from the main thread! +``` + +``` hi number 2 from the main thread! +``` + +``` hi number 3 from the main thread! +``` + +``` hi number 4 from the main thread! ``` Small details, such as where `join` is called, can affect whether or not your threads run at the same time. -### Using `move` Closures with Threads +### Using move Closures with Threads -We'll often use the `move` keyword with closures passed to `thread::spawn` +We’ll often use the `move` keyword with closures passed to `thread::spawn` because the closure will then take ownership of the values it uses from the environment, thus transferring ownership of those values from one thread to -another. In the “Capturing the Environment with Closures” section of Chapter -13, we discussed `move` in the context of closures. Now, we’ll concentrate more -on the interaction between `move` and `thread::spawn`. +another. In “Capturing the Environment with Closures” on page XX, we discussed +`move` in the context of closures. Now we’ll concentrate more on the +interaction between `move` and `thread::spawn`. Notice in Listing 16-1 that the closure we pass to `thread::spawn` takes no arguments: we’re not using any data from the main thread in the spawned thread’s code. To use data from the main thread in the spawned thread, the spawned thread’s closure must capture the values it needs. Listing 16-3 shows an attempt to create a vector in the main thread and use it in the spawned -thread. However, this won’t yet work, as you’ll see in a moment. +thread. However, this won’t work yet, as you’ll see in a moment. Filename: src/main.rs ``` use std::thread; +``` -fn main() { - let v = vec![1, 2, 3]; - - let handle = thread::spawn(|| { - println!("Here's a vector: {:?}", v); - }); - - handle.join().unwrap(); -} ``` -Listing 16-3: Attempting to use a vector created by the main thread in another -thread +``` + +``` +fn main() { +``` + +``` + let v = vec![1, 2, 3]; +``` + +``` + +``` + +``` + let handle = thread::spawn(|| { +``` + +``` + println!("Here's a vector: {:?}", v); +``` + +``` + }); +``` + +``` + +``` + +``` + handle.join().unwrap(); +``` + +``` +} +``` + +Attempting to use a vector created by the main thread in another thread The closure uses `v`, so it will capture `v` and make it part of the closure’s environment. Because `thread::spawn` runs this closure in a new thread, we @@ -304,61 +575,162 @@ should be able to access `v` inside that new thread. But when we compile this example, we get the following error: ``` -error[E0373]: closure may outlive the current function, but it borrows `v`, which is owned by the current function +error[E0373]: closure may outlive the current function, but it +``` + +``` +borrows `v`, which is owned by the current function +``` + +``` --> src/main.rs:6:32 +``` + +``` | +``` + +``` 6 | let handle = thread::spawn(|| { +``` + +``` | ^^ may outlive borrowed value `v` +``` + +``` 7 | println!("Here's a vector: {:?}", v); +``` + +``` | - `v` is borrowed here +``` + +``` | +``` + +``` note: function requires argument type to outlive `'static` +``` + +``` --> src/main.rs:6:18 +``` + +``` | +``` + +``` 6 | let handle = thread::spawn(|| { +``` + +``` | __________________^ +``` + +``` 7 | | println!("Here's a vector: {:?}", v); +``` + +``` 8 | | }); +``` + +``` | |______^ -help: to force the closure to take ownership of `v` (and any other referenced variables), use the `move` keyword +``` + +``` +help: to force the closure to take ownership of `v` (and any +``` + +``` +other referenced variables), use the `move` keyword +``` + +``` | +``` + +``` 6 | let handle = thread::spawn(move || { +``` + +``` | ++++ ``` Rust *infers* how to capture `v`, and because `println!` only needs a reference to `v`, the closure tries to borrow `v`. However, there’s a problem: Rust can’t -tell how long the spawned thread will run, so it doesn’t know if the reference -to `v` will always be valid. +tell how long the spawned thread will run, so it doesn’t know whether the +reference to `v` will always be valid. Listing 16-4 provides a scenario that’s more likely to have a reference to `v` -that won’t be valid: +that won’t be valid. Filename: src/main.rs ``` use std::thread; +``` + +``` +``` + +``` fn main() { +``` + +``` let v = vec![1, 2, 3]; +``` + +``` +``` + +``` let handle = thread::spawn(|| { +``` + +``` println!("Here's a vector: {:?}", v); +``` + +``` }); +``` + +``` +``` + +``` drop(v); // oh no! +``` +``` + +``` + +``` handle.join().unwrap(); +``` + +``` } ``` -Listing 16-4: A thread with a closure that attempts to capture a reference to -`v` from a main thread that drops `v` +A thread with a closure that attempts to capture a reference to `v` from a main +thread that drops `v` -If Rust allowed us to run this code, there’s a possibility the spawned thread -would be immediately put in the background without running at all. The spawned -thread has a reference to `v` inside, but the main thread immediately drops -`v`, using the `drop` function we discussed in Chapter 15. Then, when the +If Rust allowed us to run this code, there’s a possibility that the spawned +thread would be immediately put in the background without running at all. The +spawned thread has a reference to `v` inside, but the main thread immediately +drops `v`, using the `drop` function we discussed in Chapter 15. Then, when the spawned thread starts to execute, `v` is no longer valid, so a reference to it is also invalid. Oh no! @@ -366,35 +738,78 @@ To fix the compiler error in Listing 16-3, we can use the error message’s advice: ``` -help: to force the closure to take ownership of `v` (and any other referenced variables), use the `move` keyword +help: to force the closure to take ownership of `v` (and any +``` + +``` +other referenced variables), use the `move` keyword +``` + +``` | +``` + +``` 6 | let handle = thread::spawn(move || { +``` + +``` | ++++ ``` By adding the `move` keyword before the closure, we force the closure to take ownership of the values it’s using rather than allowing Rust to infer that it should borrow the values. The modification to Listing 16-3 shown in Listing -16-5 will compile and run as we intend: +16-5 will compile and run as we intend. Filename: src/main.rs ``` use std::thread; +``` +``` + +``` + +``` fn main() { +``` + +``` let v = vec![1, 2, 3]; +``` + +``` + +``` +``` let handle = thread::spawn(move || { +``` + +``` println!("Here's a vector: {:?}", v); +``` + +``` }); +``` + +``` + +``` +``` handle.join().unwrap(); +``` + +``` } ``` -Listing 16-5: Using the `move` keyword to force a closure to take ownership of -the values it uses +Using the `move` keyword to force a closure to take ownership of the values it +uses We might be tempted to try the same thing to fix the code in Listing 16-4 where the main thread called `drop` by using a `move` closure. However, this fix will @@ -405,17 +820,58 @@ thread. We would get this compiler error instead: ``` error[E0382]: use of moved value: `v` +``` + +``` --> src/main.rs:10:10 +``` + +``` | +``` + +``` 4 | let v = vec![1, 2, 3]; - | - move occurs because `v` has type `Vec`, which does not implement the `Copy` trait +``` + +``` + | - move occurs because `v` has type `Vec`, which does not +``` + +``` +implement the `Copy` trait +``` + +``` 5 | +``` + +``` 6 | let handle = thread::spawn(move || { +``` + +``` | ------- value moved into closure here +``` + +``` 7 | println!("Here's a vector: {:?}", v); - | - variable moved due to use in closure +``` + +``` + | - variable moved due to use in +closure +``` + +``` ... +``` + +``` 10 | drop(v); // oh no! +``` + +``` | ^ value used here after move ``` @@ -434,13 +890,13 @@ can *do* with threads. ## Using Message Passing to Transfer Data Between Threads -One increasingly popular approach to ensuring safe concurrency is *message -passing*, where threads or actors communicate by sending each other messages -containing data. Here’s the idea in a slogan from the Go language -documentation at *https://golang.org/doc/effective_go.html#concurrency*: -“Do not communicate by sharing memory; instead, share memory by communicating.” +One increasingly popular approach to ensuring safe concurrency is *message* +*passing*, where threads or actors communicate by sending each other messages +containing data. Here’s the idea in a slogan from the Go language documentation +at *https://golang.org/doc/effective_go.html#concurrency*: “Do not communicate +by sharing memory; instead, share memory by communicating.” -To accomplish message-sending concurrency, Rust's standard library provides an +To accomplish message-sending concurrency, Rust’s standard library provides an implementation of *channels*. A channel is a general programming concept by which data is sent from one thread to another. @@ -449,7 +905,7 @@ water, such as a stream or a river. If you put something like a rubber duck into a river, it will travel downstream to the end of the waterway. A channel has two halves: a transmitter and a receiver. The transmitter half is -the upstream location where you put rubber ducks into the river, and the +the upstream location where you put the rubber duck into the river, and the receiver half is where the rubber duck ends up downstream. One part of your code calls methods on the transmitter with the data you want to send, and another part checks the receiving end for arriving messages. A channel is said @@ -459,9 +915,9 @@ Here, we’ll work up to a program that has one thread to generate values and send them down a channel, and another thread that will receive the values and print them out. We’ll be sending simple values between threads using a channel to illustrate the feature. Once you’re familiar with the technique, you could -use channels for any threads that need to communicate between each other, such -as a chat system or a system where many threads perform parts of a calculation -and send the parts to one thread that aggregates the results. +use channels for any threads that need to communicate with each other, such as +a chat system or a system where many threads perform parts of a calculation and +send the parts to one thread that aggregates the results. First, in Listing 16-6, we’ll create a channel but not do anything with it. Note that this won’t compile yet because Rust can’t tell what type of values we @@ -471,13 +927,25 @@ Filename: src/main.rs ``` use std::sync::mpsc; +``` + +``` +``` + +``` fn main() { +``` + +``` let (tx, rx) = mpsc::channel(); +``` + +``` } ``` -Listing 16-6: Creating a channel and assigning the two halves to `tx` and `rx` +Creating a channel and assigning the two halves to `tx` and `rx` We create a new channel using the `mpsc::channel` function; `mpsc` stands for *multiple producer, single consumer*. In short, the way Rust’s standard library @@ -489,14 +957,14 @@ producer for now, but we’ll add multiple producers when we get this example working. The `mpsc::channel` function returns a tuple, the first element of which is the -sending end--the transmitter--and the second element is the receiving end--the -receiver. The abbreviations `tx` and `rx` are traditionally used in many fields -for *transmitter* and *receiver* respectively, so we name our variables as such -to indicate each end. We’re using a `let` statement with a pattern that -destructures the tuples; we’ll discuss the use of patterns in `let` statements -and destructuring in Chapter 18. For now, know that using a `let` statement -this way is a convenient approach to extract the pieces of the tuple returned -by `mpsc::channel`. +sending end—the transmitter—and the second element of which is the receiving +end—the receiver. The abbreviations `tx` and `rx` are traditionally used in +many fields for *transmitter* and *receiver*, respectively, so we name our +variables as such to indicate each end. We’re using a `let` statement with a +pattern that destructures the tuples; we’ll discuss the use of patterns in +`let` statements and destructuring in Chapter 18. For now, know that using a +`let` statement in this way is a convenient approach to extract the pieces of +the tuple returned by `mpsc::channel`. Let’s move the transmitting end into a spawned thread and have it send one string so the spawned thread is communicating with the main thread, as shown in @@ -507,28 +975,60 @@ Filename: src/main.rs ``` use std::sync::mpsc; +``` + +``` use std::thread; +``` +``` + +``` + +``` fn main() { +``` + +``` let (tx, rx) = mpsc::channel(); +``` +``` + +``` + +``` thread::spawn(move || { +``` + +``` let val = String::from("hi"); +``` + +``` tx.send(val).unwrap(); +``` + +``` }); +``` + +``` } ``` -Listing 16-7: Moving `tx` to a spawned thread and sending “hi” +Moving `tx` to a spawned thread and sending `"hi"` Again, we’re using `thread::spawn` to create a new thread and then using `move` to move `tx` into the closure so the spawned thread owns `tx`. The spawned thread needs to own the transmitter to be able to send messages through the -channel. The transmitter has a `send` method that takes the value we want to -send. The `send` method returns a `Result` type, so if the receiver has -already been dropped and there’s nowhere to send a value, the send operation -will return an error. In this example, we’re calling `unwrap` to panic in case -of an error. But in a real application, we would handle it properly: return to +channel. + +The transmitter has a `send` method that takes the value we want to send. The +`send` method returns a `Result` type, so if the receiver has already +been dropped and there’s nowhere to send a value, the send operation will +return an error. In this example, we’re calling `unwrap` to panic in case of an +error. But in a real application, we would handle it properly: return to Chapter 9 to review strategies for proper error handling. In Listing 16-8, we’ll get the value from the receiver in the main thread. This @@ -539,22 +1039,61 @@ Filename: src/main.rs ``` use std::sync::mpsc; +``` + +``` use std::thread; +``` + +``` + +``` +``` fn main() { +``` + +``` let (tx, rx) = mpsc::channel(); +``` +``` + +``` + +``` thread::spawn(move || { +``` + +``` let val = String::from("hi"); +``` + +``` tx.send(val).unwrap(); +``` + +``` }); +``` + +``` + +``` +``` let received = rx.recv().unwrap(); +``` + +``` println!("Got: {}", received); +``` + +``` } ``` -Listing 16-8: Receiving the value “hi” in the main thread and printing it +Receiving the value `"``hi``"` in the main thread and printing it The receiver has two useful methods: `recv` and `try_recv`. We’re using `recv`, short for *receive*, which will block the main thread’s execution and wait @@ -591,29 +1130,71 @@ advantage of thinking about ownership throughout your Rust programs. Let’s do an experiment to show how channels and ownership work together to prevent problems: we’ll try to use a `val` value in the spawned thread *after* we’ve sent it down the channel. Try compiling the code in Listing 16-9 to see why -this code isn’t allowed: +this code isn’t allowed. Filename: src/main.rs ``` use std::sync::mpsc; +``` + +``` use std::thread; +``` +``` + +``` + +``` fn main() { +``` + +``` let (tx, rx) = mpsc::channel(); +``` + +``` + +``` +``` thread::spawn(move || { +``` + +``` let val = String::from("hi"); +``` + +``` tx.send(val).unwrap(); +``` + +``` println!("val is {}", val); +``` + +``` }); +``` + +``` + +``` +``` let received = rx.recv().unwrap(); +``` + +``` println!("Got: {}", received); +``` + +``` } ``` -Listing 16-9: Attempting to use `val` after we’ve sent it down the channel +Attempting to use `val` after we’ve sent it down the channel Here, we try to print `val` after we’ve sent it down the channel via `tx.send`. Allowing this would be a bad idea: once the value has been sent to another @@ -624,18 +1205,46 @@ us an error if we try to compile the code in Listing 16-9: ``` error[E0382]: borrow of moved value: `val` +``` + +``` --> src/main.rs:10:31 +``` + +``` | +``` + +``` 8 | let val = String::from("hi"); - | --- move occurs because `val` has type `String`, which does not implement the `Copy` trait +``` + +``` + | --- move occurs because `val` has type `String`, +``` + +``` +which does not implement the `Copy` trait +``` + +``` 9 | tx.send(val).unwrap(); +``` + +``` | --- value moved here +``` + +``` 10 | println!("val is {}", val); +``` + +``` | ^^^ value borrowed here after move ``` -Our concurrency mistake has caused a compile time error. The `send` function -takes ownership of its parameter, and when the value is moved, the receiver +Our concurrency mistake has caused a compile-time error. The `send` function +takes ownership of its parameter, and when the value is moved the receiver takes ownership of it. This stops us from accidentally using the value again after sending it; the ownership system checks that everything is okay. @@ -651,50 +1260,131 @@ Filename: src/main.rs ``` use std::sync::mpsc; +``` + +``` use std::thread; +``` + +``` use std::time::Duration; +``` + +``` +``` + +``` fn main() { +``` + +``` let (tx, rx) = mpsc::channel(); +``` + +``` +``` + +``` thread::spawn(move || { +``` + +``` let vals = vec![ +``` + +``` String::from("hi"), +``` + +``` String::from("from"), +``` + +``` String::from("the"), +``` + +``` String::from("thread"), +``` + +``` ]; +``` + +``` + +``` +``` for val in vals { +``` + +``` tx.send(val).unwrap(); +``` + +``` thread::sleep(Duration::from_secs(1)); +``` + +``` } +``` + +``` }); +``` + +``` + +``` +``` for received in rx { +``` + +``` println!("Got: {}", received); +``` + +``` } +``` + +``` } ``` -Listing 16-10: Sending multiple messages and pausing between each +Sending multiple messages and pausing between each one This time, the spawned thread has a vector of strings that we want to send to the main thread. We iterate over them, sending each individually, and pause between each by calling the `thread::sleep` function with a `Duration` value of -1 second. +one second. In the main thread, we’re not calling the `recv` function explicitly anymore: instead, we’re treating `rx` as an iterator. For each value received, we’re printing it. When the channel is closed, iteration will end. When running the code in Listing 16-10, you should see the following output -with a 1-second pause in between each line: +with a one-second pause in between each line: ``` Got: hi +``` + +``` Got: from +``` + +``` Got: the +``` + +``` Got: thread ``` @@ -704,55 +1394,166 @@ the spawned thread. ### Creating Multiple Producers by Cloning the Transmitter -Earlier we mentioned that `mpsc` was an acronym for *multiple producer, -single consumer*. Let’s put `mpsc` to use and expand the code in Listing 16-10 +Earlier we mentioned that `mpsc` was an acronym for *multiple producer,* +*single consumer*. Let’s put `mpsc` to use and expand the code in Listing 16-10 to create multiple threads that all send values to the same receiver. We can do -so by cloning the transmitter, as shown in Listing 16-11: +so by cloning the transmitter, as shown in Listing 16-11. Filename: src/main.rs ``` - // --snip-- + --snip-- +``` + +``` + +``` +``` let (tx, rx) = mpsc::channel(); +``` + +``` + +``` +``` let tx1 = tx.clone(); +``` + +``` thread::spawn(move || { +``` + +``` let vals = vec![ +``` + +``` String::from("hi"), +``` + +``` String::from("from"), +``` + +``` String::from("the"), +``` + +``` String::from("thread"), +``` + +``` ]; +``` +``` + +``` + +``` for val in vals { +``` + +``` tx1.send(val).unwrap(); +``` + +``` thread::sleep(Duration::from_secs(1)); +``` + +``` } +``` + +``` }); +``` + +``` +``` + +``` thread::spawn(move || { +``` + +``` let vals = vec![ +``` + +``` String::from("more"), +``` + +``` String::from("messages"), +``` + +``` String::from("for"), +``` + +``` String::from("you"), +``` + +``` ]; +``` + +``` +``` + +``` for val in vals { +``` + +``` tx.send(val).unwrap(); +``` + +``` thread::sleep(Duration::from_secs(1)); +``` + +``` } +``` + +``` }); +``` + +``` + +``` +``` for received in rx { +``` + +``` println!("Got: {}", received); +``` + +``` } +``` - // --snip-- ``` -Listing 16-11: Sending multiple messages from multiple producers +``` + +``` + --snip-- +``` + +Sending multiple messages from multiple producers This time, before we create the first spawned thread, we call `clone` on the transmitter. This will give us a new transmitter we can pass to the first @@ -763,12 +1564,33 @@ When you run the code, your output should look something like this: ``` Got: hi +``` + +``` Got: more +``` + +``` Got: from +``` + +``` Got: messages +``` + +``` Got: for +``` + +``` Got: the +``` + +``` Got: thread +``` + +``` Got: you ``` @@ -782,15 +1604,15 @@ concurrency. ## Shared-State Concurrency -Message passing is a fine way of handling concurrency, but it’s not the only -one. Another method would be for multiple threads to access the same shared -data. Consider this part of the slogan from the Go language documentation -again: “do not communicate by sharing memory.” +Message passing is a fine way to handle concurrency, but it’s not the only way. +Another method would be for multiple threads to access the same shared data. +Consider this part of the slogan from the Go language documentation again: “Do +not communicate by sharing memory.” What would communicating by sharing memory look like? In addition, why would message-passing enthusiasts caution not to use memory sharing? -In a way, channels in any programming language are similar to single ownership, +In a way, channels in any programming language are similar to single ownership because once you transfer a value down a channel, you should no longer use that value. Shared memory concurrency is like multiple ownership: multiple threads can access the same memory location at the same time. As you saw in Chapter 15, @@ -802,7 +1624,7 @@ for shared memory. ### Using Mutexes to Allow Access to Data from One Thread at a Time -*Mutex* is an abbreviation for *mutual exclusion*, as in, a mutex allows only +*Mutex* is an abbreviation for *mutual exclusion*, as in a mutex allows only one thread to access some data at any given time. To access the data in a mutex, a thread must first signal that it wants access by asking to acquire the mutex’s *lock*. The lock is a data structure that is part of the mutex that @@ -812,11 +1634,11 @@ mutex is described as *guarding* the data it holds via the locking system. Mutexes have a reputation for being difficult to use because you have to remember two rules: -* You must attempt to acquire the lock before using the data. -* When you’re done with the data that the mutex guards, you must unlock the - data so other threads can acquire the lock. -For a real-world metaphor for a mutex, imagine a panel discussion at a +Unmatched: ListNumber0 + +Unmatched: ListNumber0 + For a real-world metaphor for a mutex, imagine a panel discussion at a conference with only one microphone. Before a panelist can speak, they have to ask or signal that they want to use the microphone. When they get the microphone, they can talk for as long as they want to and then hand the @@ -829,30 +1651,62 @@ Management of mutexes can be incredibly tricky to get right, which is why so many people are enthusiastic about channels. However, thanks to Rust’s type system and ownership rules, you can’t get locking and unlocking wrong. -#### The API of `Mutex` +#### The API of Mutex As an example of how to use a mutex, let’s start by using a mutex in a -single-threaded context, as shown in Listing 16-12: +single-threaded context, as shown in Listing 16-12. Filename: src/main.rs ``` use std::sync::Mutex; +``` + +``` + +``` +``` fn main() { - [1] let m = Mutex::new(5); +``` + +``` + 1 let m = Mutex::new(5); +``` + +``` + +``` +``` { - [2] let mut num = m.lock().unwrap(); - [3] *num = 6; - [4] } +``` + +``` + 2 let mut num = m.lock().unwrap(); +``` + +``` + 3 *num = 6; +``` + +``` + 4 } +``` + +``` + +``` - [5] println!("m = {:?}", m); +``` + 5 println!("m = {:?}", m); +``` + +``` } ``` -Listing 16-12: Exploring the API of `Mutex` in a single-threaded context for -simplicity +Exploring the API of `Mutex` in a single-threaded context for simplicity As with many types, we create a `Mutex` using the associated function `new` [1]. To access the data inside the mutex, we use the `lock` method to acquire @@ -877,48 +1731,111 @@ pointer implements `Deref` to point at our inner data; the smart pointer also has a `Drop` implementation that releases the lock automatically when a `MutexGuard` goes out of scope, which happens at the end of the inner scope [4]. As a result, we don’t risk forgetting to release the lock and blocking the -mutex from being used by other threads, because the lock release happens +mutex from being used by other threads because the lock release happens automatically. After dropping the lock, we can print the mutex value and see that we were able -to change the inner `i32` to 6 [5]. +to change the inner `i32` to `6` [5]. + +#### Sharing a Mutex Between Multiple Threads + +Now let’s try to share a value between multiple threads using `Mutex`. We’ll +spin up 10 threads and have them each increment a counter value by 1, so the +counter goes from 0 to 10. The example in Listing 16-13 will have a compiler +error, and we’ll use that error to learn more about using `Mutex` and how +Rust helps us use it correctly. + +Filename: src/main.rs + +``` +use std::sync::Mutex; +``` + +``` +use std::thread; +``` + +``` + +``` + +``` +fn main() { +``` + +``` + 1 let counter = Mutex::new(0); +``` + +``` + let mut handles = vec![]; +``` + +``` + +``` + +``` + 2 for _ in 0..10 { +``` + +``` + 3 let handle = thread::spawn(move || { +``` -#### Sharing a `Mutex` Between Multiple Threads +``` + 4 let mut num = counter.lock().unwrap(); +``` -Now, let’s try to share a value between multiple threads using `Mutex`. -We’ll spin up 10 threads and have them each increment a counter value by 1, so -the counter goes from 0 to 10. The next example in Listing 16-13 will have -a compiler error, and we’ll use that error to learn more about using -`Mutex` and how Rust helps us use it correctly. +``` -Filename: src/main.rs +``` ``` -use std::sync::Mutex; -use std::thread; + 5 *num += 1; +``` -fn main() { - [1] let counter = Mutex::new(0); - let mut handles = vec![]; +``` + }); +``` - [2] for _ in 0..10 { - [3] let handle = thread::spawn(move || { - [4] let mut num = counter.lock().unwrap(); +``` + 6 handles.push(handle); +``` - [5] *num += 1; - }); - [6] handles.push(handle); +``` } +``` + +``` + +``` +``` for handle in handles { - [7] handle.join().unwrap(); +``` + +``` + 7 handle.join().unwrap(); +``` + +``` } +``` + +``` + +``` + +``` + 8 println!("Result: {}", *counter.lock().unwrap()); +``` - [8] println!("Result: {}", *counter.lock().unwrap()); +``` } ``` -Listing 16-13: Ten threads each increment a counter guarded by a `Mutex` +Ten threads, each incrementing a counter guarded by a `Mutex` We create a `counter` variable to hold an `i32` inside a `Mutex` [1], as we did in Listing 16-12. Next, we create 10 threads by iterating over a range of @@ -937,25 +1854,60 @@ We hinted that this example wouldn’t compile. Now let’s find out why! ``` error[E0382]: use of moved value: `counter` +``` + +``` --> src/main.rs:9:36 +``` + +``` | +``` + +``` 5 | let counter = Mutex::new(0); - | ------- move occurs because `counter` has type `Mutex`, which does not implement the `Copy` trait +``` + +``` + | ------- move occurs because `counter` has type `Mutex`, which +``` + +``` +does not implement the `Copy` trait +``` + +``` ... +``` + +``` 9 | let handle = thread::spawn(move || { - | ^^^^^^^ value moved into closure here, in previous iteration of loop +``` + +``` + | ^^^^^^^ value moved into closure here, +``` + +``` +in previous iteration of loop +``` + +``` 10 | let mut num = counter.lock().unwrap(); +``` + +``` | ------- use occurs due to use in closure ``` The error message states that the `counter` value was moved in the previous -iteration of the loop. Rust is telling us that we can’t move the ownership -of lock `counter` into multiple threads. Let’s fix the compiler error with a +iteration of the loop. Rust is telling us that we can’t move the ownership of +lock `counter` into multiple threads. Let’s fix the compiler error with a multiple-ownership method we discussed in Chapter 15. #### Multiple Ownership with Multiple Threads -In Chapter 15, we gave a value multiple owners by using the smart pointer +In Chapter 15, we gave a value to multiple owners by using the smart pointer `Rc` to create a reference counted value. Let’s do the same here and see what happens. We’ll wrap the `Mutex` in `Rc` in Listing 16-14 and clone the `Rc` before moving ownership to the thread. @@ -964,61 +1916,180 @@ Filename: src/main.rs ``` use std::rc::Rc; +``` + +``` use std::sync::Mutex; +``` + +``` use std::thread; +``` + +``` + +``` +``` fn main() { +``` + +``` let counter = Rc::new(Mutex::new(0)); +``` + +``` let mut handles = vec![]; +``` + +``` + +``` +``` for _ in 0..10 { +``` + +``` let counter = Rc::clone(&counter); +``` + +``` let handle = thread::spawn(move || { +``` + +``` let mut num = counter.lock().unwrap(); +``` + +``` +``` + +``` *num += 1; +``` + +``` }); +``` + +``` handles.push(handle); +``` + +``` } +``` + +``` + +``` +``` for handle in handles { +``` + +``` handle.join().unwrap(); +``` + +``` } +``` + +``` + +``` +``` println!("Result: {}", *counter.lock().unwrap()); +``` + +``` } ``` -Listing 16-14: Attempting to use `Rc` to allow multiple threads to own the -`Mutex` +Attempting to use `Rc` to allow multiple threads to own the `Mutex` + +Once again, we compile and get… different errors! The compiler is teaching us a +lot. -Once again, we compile and get... different errors! The compiler is teaching us -a lot. +``` +error[E0277]: `Rc>` cannot be sent between threads safely 1 +``` ``` -[1] error[E0277]: `Rc>` cannot be sent between threads safely --> src/main.rs:11:22 +``` + +``` | +``` + +``` 11 | let handle = thread::spawn(move || { +``` + +``` | ______________________^^^^^^^^^^^^^_- +``` + +``` | | | - | | `Rc>` cannot be sent between threads safely +``` + +``` + | | `Rc>` cannot be sent between threads +safely +``` + +``` 12 | | let mut num = counter.lock().unwrap(); +``` + +``` 13 | | +``` + +``` 14 | | *num += 1; +``` + +``` 15 | | }); +``` + +``` | |_________- within this `[closure@src/main.rs:11:36: 15:10]` +``` + +``` | -[2] = help: within `[closure@src/main.rs:11:36: 15:10]`, the trait `Send` is not implemented for `Rc>` - = note: required because it appears within the type `[closure@src/main.rs:11:36: 15:10]` +``` + +``` += help: within `[closure@src/main.rs:11:36: 15:10]`, the trait `Send` is not +``` + +``` +implemented for `Rc>` 2 +``` + +``` + = note: required because it appears within the type +`[closure@src/main.rs:11:36: 15:10]` +``` + +``` note: required by a bound in `spawn` ``` Wow, that error message is very wordy! Here’s the important part to focus on: -`` `Rc>` cannot be sent between threads safely `` [1]. The compiler -is also telling us the reason why: ``the trait `Send` is not implemented for -`Rc>` `` [2]. We’ll talk about `Send` in the next section: it’s one -of the traits that ensures the types we use with threads are meant for use in +``Rc>` cannot be sent between threads safely` [1]. The compiler is +also telling us the reason why: `the trait `Send` is not implemented for +`Rc>`` [2]. We’ll talk about `Send` in the next section: it’s one of +the traits that ensures the types we use with threads are meant for use in concurrent situations. Unfortunately, `Rc` is not safe to share across threads. When `Rc` @@ -1030,15 +2101,15 @@ could in turn lead to memory leaks or a value being dropped before we’re done with it. What we need is a type exactly like `Rc` but one that makes changes to the reference count in a thread-safe way. -#### Atomic Reference Counting with `Arc` +#### Atomic Reference Counting with Arc Fortunately, `Arc` *is* a type like `Rc` that is safe to use in -concurrent situations. The *a* stands for *atomic*, meaning it’s an *atomically -reference counted* type. Atomics are an additional kind of concurrency -primitive that we won’t cover in detail here: see the standard library -documentation for `std::sync::atomic` for more details. At this point, you just -need to know that atomics work like primitive types but are safe to share -across threads. +concurrent situations. The *a* stands for *atomic*, meaning it’s an +*atomically* *reference counted* type. Atomics are an additional kind of +concurrency primitive that we won’t cover in detail here: see the standard +library documentation for `std::sync::atomic` for more details. At this point, +you just need to know that atomics work like primitive types but are safe to +share across threads. You might then wonder why all primitive types aren’t atomic and why standard library types aren’t implemented to use `Arc` by default. The reason is that @@ -1049,38 +2120,104 @@ guarantees atomics provide. Let’s return to our example: `Arc` and `Rc` have the same API, so we fix our program by changing the `use` line, the call to `new`, and the call to -`clone`. The code in Listing 16-15 will finally compile and run: +`clone`. The code in Listing 16-15 will finally compile and run. Filename: src/main.rs ``` use std::sync::{Arc, Mutex}; +``` + +``` use std::thread; +``` + +``` + +``` +``` fn main() { +``` + +``` let counter = Arc::new(Mutex::new(0)); +``` + +``` let mut handles = vec![]; +``` + +``` + +``` +``` for _ in 0..10 { +``` + +``` let counter = Arc::clone(&counter); +``` + +``` let handle = thread::spawn(move || { +``` + +``` let mut num = counter.lock().unwrap(); +``` + +``` + +``` +``` *num += 1; +``` + +``` }); +``` + +``` handles.push(handle); +``` + +``` } +``` + +``` + +``` +``` for handle in handles { +``` + +``` handle.join().unwrap(); +``` + +``` } +``` + +``` + +``` +``` println!("Result: {}", *counter.lock().unwrap()); +``` + +``` } ``` -Listing 16-15: Using an `Arc` to wrap the `Mutex` to be able to share -ownership across multiple threads +Using an `Arc` to wrap the `Mutex` to be able to share ownership across +multiple threads This code will print the following: @@ -1101,7 +2238,7 @@ standard library. These types provide safe, concurrent, atomic access to primitive types. We chose to use `Mutex` with a primitive type for this example so we could concentrate on how `Mutex` works. -### Similarities Between `RefCell`/`Rc` and `Mutex`/`Arc` +### Similarities Between RefCell/Rc and Mutex/Arc You might have noticed that `counter` is immutable but we could get a mutable reference to the value inside it; this means `Mutex` provides interior @@ -1124,7 +2261,7 @@ useful information. We’ll round out this chapter by talking about the `Send` and `Sync` traits and how we can use them with custom types. -## Extensible Concurrency with the `Sync` and `Send` Traits +## Extensible Concurrency with the Send and Sync Traits Interestingly, the Rust language has *very* few concurrency features. Almost every concurrency feature we’ve talked about so far in this chapter has been @@ -1133,9 +2270,9 @@ concurrency are not limited to the language or the standard library; you can write your own concurrency features or use those written by others. However, two concurrency concepts are embedded in the language: the -`std::marker` traits `Sync` and `Send`. +`std::marker` traits `Send` and `Sync` . -### Allowing Transference of Ownership Between Threads with `Send` +### Allowing Transference of Ownership Between Threads with Send The `Send` marker trait indicates that ownership of values of the type implementing `Send` can be transferred between threads. Almost every Rust type @@ -1148,15 +2285,15 @@ performance penalty. Therefore, Rust’s type system and trait bounds ensure that you can never accidentally send an `Rc` value across threads unsafely. When we tried to do -this in Listing 16-14, we got the error `the trait Send is not implemented for -Rc>`. When we switched to `Arc`, which is `Send`, the code -compiled. +this in Listing 16-14, we got the error `the trait` ````Send```` `is not +implemented for` ````Rc>````. When we switched to `Arc`, which is +`Send`, the code compiled. Any type composed entirely of `Send` types is automatically marked as `Send` as well. Almost all primitive types are `Send`, aside from raw pointers, which we’ll discuss in Chapter 19. -### Allowing Access from Multiple Threads with `Sync` +### Allowing Access from Multiple Threads with Sync The `Sync` marker trait indicates that it is safe for the type implementing `Sync` to be referenced from multiple threads. In other words, any type `T` is @@ -1169,10 +2306,9 @@ The smart pointer `Rc` is also not `Sync` for the same reasons that it’s no family of related `Cell` types are not `Sync`. The implementation of borrow checking that `RefCell` does at runtime is not thread-safe. The smart pointer `Mutex` is `Sync` and can be used to share access with multiple -threads as you saw in the “Sharing a `Mutex` Between Multiple -Threads” section. +threads, as you saw in “Sharing a Mutex Between Multiple Threads” on page XX. -### Implementing `Send` and `Sync` Manually Is Unsafe +### Implementing Send and Sync Manually Is Unsafe Because types that are made up of `Send` and `Sync` traits are automatically also `Send` and `Sync`, we don’t have to implement those traits manually. As @@ -1183,7 +2319,7 @@ Manually implementing these traits involves implementing unsafe Rust code. We’ll talk about using unsafe Rust code in Chapter 19; for now, the important information is that building new concurrent types not made up of `Send` and `Sync` parts requires careful thought to uphold the safety guarantees. “The -Rustonomicon” at *https://doc.rust-lang.org/stable/nomicon/* has more +Rustonomicon” at *https://doc.rust-lang.org/stable/nomicon* has more information about these guarantees and how to uphold them. ## Summary @@ -1210,3 +2346,4 @@ go forth and make your programs concurrent, fearlessly! Next, we’ll talk about idiomatic ways to model problems and structure solutions as your Rust programs get bigger. In addition, we’ll discuss how Rust’s idioms relate to those you might be familiar with from object-oriented programming. + From 61d1d99f52bec1ae817bca5251dcb3f97f60bc8b Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 26 Aug 2022 16:14:47 -0400 Subject: [PATCH 0430/1248] Messy snapshot of ch16 after copyedit --- nostarch/chapter16.md | 135 +++++++++++++++++++---------------- nostarch/docx/chapter16.docx | Bin 0 -> 82872 bytes 2 files changed, 72 insertions(+), 63 deletions(-) create mode 100644 nostarch/docx/chapter16.docx diff --git a/nostarch/chapter16.md b/nostarch/chapter16.md index a2dd80c4bf..20fe039607 100644 --- a/nostarch/chapter16.md +++ b/nostarch/chapter16.md @@ -122,7 +122,7 @@ fn main() { ``` ``` - println!("hi number {} from the spawned thread!", i); + println!("hi number {i} from the spawned thread!"); ``` ``` @@ -146,7 +146,7 @@ fn main() { ``` ``` - println!("hi number {} from the main thread!", i); + println!("hi number {i} from the main thread!"); ``` ``` @@ -226,11 +226,11 @@ will get to run at all! We can fix the problem of the spawned thread not running or of it ending prematurely by saving the return value of `thread::spawn` in a variable. The -return type of `thread::spawn` is `JoinHandle`. A `JoinHandle` is an owned -value that, when we call the `join` method on it, will wait for its thread to -finish. Listing 16-2 shows how to use the `JoinHandle` of the thread we created -in Listing 16-1 and call `join` to make sure the spawned thread finishes before -`main` exits. +return type of `thread::spawn` is `JoinHandle```. A `JoinHandle``` is an +owned value that, when we call the `join` method on it, will wait for its +thread to finish. Listing 16-2 shows how to use the `JoinHandle``` of the +thread we created in Listing 16-1 and call `join` to make sure the spawned +thread finishes before `main` exits. Filename: src/main.rs @@ -259,7 +259,7 @@ fn main() { ``` ``` - println!("hi number {} from the spawned thread!", i); + println!("hi number {i} from the spawned thread!"); ``` ``` @@ -283,7 +283,7 @@ fn main() { ``` ``` - println!("hi number {} from the main thread!", i); + println!("hi number {i} from the main thread!"); ``` ``` @@ -306,8 +306,8 @@ fn main() { } ``` -Saving a `JoinHandle` from `thread::spawn` to guarantee the thread is run to -completion +Saving a `JoinHandle``` from `thread::spawn` to guarantee the thread is run +to completion Calling `join` on the handle blocks the thread currently running until the thread represented by the handle terminates. *Blocking* a thread means that @@ -400,7 +400,7 @@ fn main() { ``` ``` - println!("hi number {} from the spawned thread!", i); + println!("hi number {i} from the spawned thread!"); ``` ``` @@ -432,7 +432,7 @@ fn main() { ``` ``` - println!("hi number {} from the main thread!", i); + println!("hi number {i} from the main thread!"); ``` ``` @@ -575,11 +575,11 @@ should be able to access `v` inside that new thread. But when we compile this example, we get the following error: ``` -error[E0373]: closure may outlive the current function, but it +error[E0373]: closure may outlive the current function, but it borrows `v`, ``` ``` -borrows `v`, which is owned by the current function +which is owned by the current function ``` ``` @@ -643,11 +643,11 @@ note: function requires argument type to outlive `'static` ``` ``` -help: to force the closure to take ownership of `v` (and any +help: to force the closure to take ownership of `v` (and any other referenced ``` ``` -other referenced variables), use the `move` keyword +variables), use the `move` keyword ``` ``` @@ -738,11 +738,11 @@ To fix the compiler error in Listing 16-3, we can use the error message’s advice: ``` -help: to force the closure to take ownership of `v` (and any +help: to force the closure to take ownership of `v` (and any other referenced ``` ``` -other referenced variables), use the `move` keyword +variables), use the `move` keyword ``` ``` @@ -860,6 +860,9 @@ implement the `Copy` trait ``` | - variable moved due to use in +``` + +``` closure ``` @@ -885,8 +888,8 @@ rules when we try to use `v` in the main thread. The `move` keyword overrides Rust’s conservative default of borrowing; it doesn’t let us violate the ownership rules. -With a basic understanding of threads and the thread API, let’s look at what we -can *do* with threads. +Now that we’ve covered what threads are and the methods supplied by the thread +API, let’s look at some situations in which we can use threads. ## Using Message Passing to Transfer Data Between Threads @@ -1086,7 +1089,7 @@ fn main() { ``` ``` - println!("Got: {}", received); + println!("Got: {received}"); ``` ``` @@ -1171,7 +1174,7 @@ fn main() { ``` ``` - println!("val is {}", val); + println!("val is {val}"); ``` ``` @@ -1187,7 +1190,7 @@ fn main() { ``` ``` - println!("Got: {}", received); + println!("Got: {received}"); ``` ``` @@ -1220,11 +1223,11 @@ error[E0382]: borrow of moved value: `val` ``` ``` - | --- move occurs because `val` has type `String`, + | --- move occurs because `val` has type `String`, which does ``` ``` -which does not implement the `Copy` trait +not implement the `Copy` trait ``` ``` @@ -1236,11 +1239,11 @@ which does not implement the `Copy` trait ``` ``` -10 | println!("val is {}", val); +10 | println!("val is {val}"); ``` ``` - | ^^^ value borrowed here after move + | ^^^ value borrowed here after move ``` Our concurrency mistake has caused a compile-time error. The `send` function @@ -1347,7 +1350,7 @@ fn main() { ``` ``` - println!("Got: {}", received); + println!("Got: {received}"); ``` ``` @@ -1402,7 +1405,7 @@ so by cloning the transmitter, as shown in Listing 16-11. Filename: src/main.rs ``` - --snip-- +--snip-- ``` ``` @@ -1410,7 +1413,7 @@ Filename: src/main.rs ``` ``` - let (tx, rx) = mpsc::channel(); +let (tx, rx) = mpsc::channel(); ``` ``` @@ -1418,35 +1421,35 @@ Filename: src/main.rs ``` ``` - let tx1 = tx.clone(); +let tx1 = tx.clone(); ``` ``` - thread::spawn(move || { +thread::spawn(move || { ``` ``` - let vals = vec![ + let vals = vec![ ``` ``` - String::from("hi"), + String::from("hi"), ``` ``` - String::from("from"), + String::from("from"), ``` ``` - String::from("the"), + String::from("the"), ``` ``` - String::from("thread"), + String::from("thread"), ``` ``` - ]; + ]; ``` ``` @@ -1454,23 +1457,23 @@ Filename: src/main.rs ``` ``` - for val in vals { + for val in vals { ``` ``` - tx1.send(val).unwrap(); + tx1.send(val).unwrap(); ``` ``` - thread::sleep(Duration::from_secs(1)); + thread::sleep(Duration::from_secs(1)); ``` ``` - } + } ``` ``` - }); +}); ``` ``` @@ -1478,31 +1481,31 @@ Filename: src/main.rs ``` ``` - thread::spawn(move || { +thread::spawn(move || { ``` ``` - let vals = vec![ + let vals = vec![ ``` ``` - String::from("more"), + String::from("more"), ``` ``` - String::from("messages"), + String::from("messages"), ``` ``` - String::from("for"), + String::from("for"), ``` ``` - String::from("you"), + String::from("you"), ``` ``` - ]; + ]; ``` ``` @@ -1510,23 +1513,23 @@ Filename: src/main.rs ``` ``` - for val in vals { + for val in vals { ``` ``` - tx.send(val).unwrap(); + tx.send(val).unwrap(); ``` ``` - thread::sleep(Duration::from_secs(1)); + thread::sleep(Duration::from_secs(1)); ``` ``` - } + } ``` ``` - }); +}); ``` ``` @@ -1534,15 +1537,15 @@ Filename: src/main.rs ``` ``` - for received in rx { +for received in rx { ``` ``` - println!("Got: {}", received); + println!("Got: {received}"); ``` ``` - } +} ``` ``` @@ -1550,7 +1553,7 @@ Filename: src/main.rs ``` ``` - --snip-- +--snip-- ``` Sending multiple messages from multiple producers @@ -1614,7 +1617,7 @@ message-passing enthusiasts caution not to use memory sharing? In a way, channels in any programming language are similar to single ownership because once you transfer a value down a channel, you should no longer use that -value. Shared memory concurrency is like multiple ownership: multiple threads +value. Shared-memory concurrency is like multiple ownership: multiple threads can access the same memory location at the same time. As you saw in Chapter 15, where smart pointers made multiple ownership possible, multiple ownership can add complexity because these different owners need managing. Rust’s type system @@ -1687,7 +1690,7 @@ fn main() { ``` ``` - 3 *num = 6; + 3 *num = 6; ``` ``` @@ -1902,7 +1905,7 @@ in previous iteration of loop The error message states that the `counter` value was moved in the previous iteration of the loop. Rust is telling us that we can’t move the ownership of -lock `counter` into multiple threads. Let’s fix the compiler error with a +lock `counter` into multiple threads. Let’s fix the compiler error with the multiple-ownership method we discussed in Chapter 15. #### Multiple Ownership with Multiple Threads @@ -2041,6 +2044,9 @@ error[E0277]: `Rc>` cannot be sent between threads safely 1 ``` | | `Rc>` cannot be sent between threads +``` + +``` safely ``` @@ -2078,6 +2084,9 @@ implemented for `Rc>` 2 ``` = note: required because it appears within the type +``` + +``` `[closure@src/main.rs:11:36: 15:10]` ``` diff --git a/nostarch/docx/chapter16.docx b/nostarch/docx/chapter16.docx new file mode 100644 index 0000000000000000000000000000000000000000..7941ef9948a115deb9c7200ad7278623a395587f GIT binary patch literal 82872 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 IFxvwCAMpVuY5)KL literal 0 HcmV?d00001 From 94ffaf0b32c93147ae096c20c2f153de2d459348 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 26 Aug 2022 19:54:27 -0400 Subject: [PATCH 0431/1248] Updated snapshot of ch17 --- nostarch/chapter17.md | 89 +++++-------------------------------------- 1 file changed, 9 insertions(+), 80 deletions(-) diff --git a/nostarch/chapter17.md b/nostarch/chapter17.md index f13b1484aa..2c4f7cbf2c 100644 --- a/nostarch/chapter17.md +++ b/nostarch/chapter17.md @@ -20,11 +20,6 @@ translate to idiomatic Rust. We’ll then show you how to implement an object-oriented design pattern in Rust and discuss the trade-offs of doing so versus implementing a solution using some of Rust’s strengths instead. - - - ## Characteristics of Object-Oriented Languages There is no consensus in the programming community about what features a @@ -120,12 +115,6 @@ impl AveragedCollection { } ``` - - - Listing 17-2: Implementations of the public methods `add`, `remove`, and `average` on `AveragedCollection` @@ -182,22 +171,6 @@ also override the default implementation of the `summarize` method when we implement the `Summary` trait, which is similar to a child class overriding the implementation of a method inherited from a parent class. - - - The other reason to use inheritance relates to the type system: to enable a child type to be used in the same places as the parent type. This is also called *polymorphism*, which means that you can substitute multiple objects for @@ -223,15 +196,6 @@ apply to the subclass. In addition, some languages will only allow single inheritance (meaning a subclass can only inherit from one class), further restricting the flexibility of a program’s design. - - - For these reasons, Rust takes the different approach of using trait objects instead of inheritance. Let’s look at how trait objects enable polymorphism in Rust. @@ -239,7 +203,7 @@ Rust. ## Using Trait Objects That Allow for Values of Different Types In Chapter 8, we mentioned that one limitation of vectors is that they can -store elements of only one type. We created a workaround in Listing 8-10 where +store elements of only one type. We created a workaround in Listing 8-9 where we defined a `SpreadsheetCell` enum that had variants to hold integers, floats, and text. This meant we could store different types of data in each cell and still have a vector that represented a row of cells. This is a perfectly good @@ -484,12 +448,6 @@ fn main() { } ``` - - - Listing 17-9: Using trait objects to store values of different types that implement the same trait @@ -532,8 +490,8 @@ fn main() { } ``` -Listing 17-10: Attempting to use a type that doesn’t -implement the trait object’s trait +Listing 17-10: Attempting to use a type that doesn’t implement the trait +object’s trait We’ll get this error because `String` doesn’t implement the `Draw` trait: @@ -582,25 +540,12 @@ states are represented by a set of *state objects*, and the value’s behavior changes based on its state. We’re going to work through an example of a blog post struct that has a field to hold its state, which will be a state object from the set "draft", "review", or "published". - - - - - - -The state objects share functionality: in Rust, of course, we use -structs and traits rather than objects and inheritance. Each state object is -responsible for its own behavior and for governing when it should change into -another state. The value that holds a state object knows nothing about the -different behavior of the states or when to transition between states. + +The state objects share functionality: in Rust, of course, we use structs and +traits rather than objects and inheritance. Each state object is responsible +for its own behavior and for governing when it should change into another +state. The value that holds a state object knows nothing about the different +behavior of the states or when to transition between states. The advantage of using the state pattern is that, when the business requirements of the program change, we won’t need to change the code of the @@ -681,22 +626,6 @@ definition of the struct and an associated public `new` function to create an instance of `Post`, as shown in Listing 17-12. We’ll also make a private `State` trait that will define the behavior that all state objects for a `Post` must have. - - - Then `Post` will hold a trait object of `Box` inside an `Option` in a private field named `state` to hold the state object. You’ll see why the From 90a880b5e19c85d497b8fba0a969cbd0ddc46c21 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 26 Aug 2022 20:07:43 -0400 Subject: [PATCH 0432/1248] Snapshot of ch17 copyedit --- nostarch/chapter17.md | 1318 ++++++++++++++++++++++++++++------ nostarch/docx/chapter17.docx | Bin 0 -> 75451 bytes 2 files changed, 1113 insertions(+), 205 deletions(-) create mode 100644 nostarch/docx/chapter17.docx diff --git a/nostarch/chapter17.md b/nostarch/chapter17.md index 2c4f7cbf2c..bfd7f0fd4c 100644 --- a/nostarch/chapter17.md +++ b/nostarch/chapter17.md @@ -13,9 +13,9 @@ programmatic concept were introduced in the programming language Simula in the 1960s. Those objects influenced Alan Kay’s programming architecture in which objects pass messages to each other. To describe this architecture, he coined the term *object-oriented programming* in 1967. Many competing definitions -describe what OOP is, and by some of these definitions Rust is object-oriented, +describe what OOP is, and by some of these definitions Rust is object oriented but by others it is not. In this chapter, we’ll explore certain characteristics -that are commonly considered object-oriented and how those characteristics +that are commonly considered object oriented and how those characteristics translate to idiomatic Rust. We’ll then show you how to implement an object-oriented design pattern in Rust and discuss the trade-offs of doing so versus implementing a solution using some of Rust’s strengths instead. @@ -23,7 +23,7 @@ versus implementing a solution using some of Rust’s strengths instead. ## Characteristics of Object-Oriented Languages There is no consensus in the programming community about what features a -language must have to be considered object-oriented. Rust is influenced by many +language must have to be considered object oriented. Rust is influenced by many programming paradigms, including OOP; for example, we explored the features that came from functional programming in Chapter 13. Arguably, OOP languages share certain common characteristics, namely objects, encapsulation, and @@ -33,20 +33,20 @@ Rust supports it. ### Objects Contain Data and Behavior The book *Design Patterns: Elements of Reusable Object-Oriented Software* by -Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (Addison-Wesley -Professional, 1994), colloquially referred to as *The Gang of Four* book, is a -catalog of object-oriented design patterns. It defines OOP this way: +Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (Addison-Wesley, +1994), colloquially referred to as *The Gang of Four* book, is a catalog of +object-oriented design patterns. It defines OOP in this way: -> Object-oriented programs are made up of objects. An *object* packages both -> data and the procedures that operate on that data. The procedures are -> typically called *methods* or *operations*. +Object-oriented programs are made up of objects. An *object* packages both data +and the procedures that operate on that data. The procedures are typically +called *methods* or *operations*. -Using this definition, Rust is object-oriented: structs and enums have data, +Using this definition, Rust is object oriented: structs and enums have data, and `impl` blocks provide methods on structs and enums. Even though structs and enums with methods aren’t *called* objects, they provide the same functionality, according to the Gang of Four’s definition of objects. -### Encapsulation that Hides Implementation Details +### Encapsulation That Hides Implementation Details Another aspect commonly associated with OOP is the idea of *encapsulation*, which means that the implementation details of an object aren’t accessible to @@ -61,66 +61,150 @@ keyword to decide which modules, types, functions, and methods in our code should be public, and by default everything else is private. For example, we can define a struct `AveragedCollection` that has a field containing a vector of `i32` values. The struct can also have a field that contains the average of -the values in the vector, meaning the average doesn’t have to be computed -on demand whenever anyone needs it. In other words, `AveragedCollection` will +the values in the vector, meaning the average doesn’t have to be computed on +demand whenever anyone needs it. In other words, `AveragedCollection` will cache the calculated average for us. Listing 17-1 has the definition of the -`AveragedCollection` struct: +`AveragedCollection` struct. Filename: src/lib.rs ``` pub struct AveragedCollection { +``` + +``` list: Vec, +``` + +``` average: f64, +``` + +``` } ``` -Listing 17-1: An `AveragedCollection` struct that maintains a list of integers -and the average of the items in the collection +An `AveragedCollection` struct that maintains a list of integers and the +average of the items in the collection The struct is marked `pub` so that other code can use it, but the fields within the struct remain private. This is important in this case because we want to ensure that whenever a value is added or removed from the list, the average is also updated. We do this by implementing `add`, `remove`, and `average` methods -on the struct, as shown in Listing 17-2: +on the struct, as shown in Listing 17-2. Filename: src/lib.rs ``` impl AveragedCollection { +``` + +``` pub fn add(&mut self, value: i32) { +``` + +``` self.list.push(value); +``` + +``` self.update_average(); +``` + +``` } +``` + +``` +``` + +``` pub fn remove(&mut self) -> Option { +``` + +``` let result = self.list.pop(); +``` + +``` match result { +``` + +``` Some(value) => { +``` + +``` self.update_average(); +``` + +``` Some(value) +``` + +``` } +``` + +``` None => None, +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` pub fn average(&self) -> f64 { +``` + +``` self.average +``` + +``` } +``` + +``` + +``` +``` fn update_average(&mut self) { +``` + +``` let total: i32 = self.list.iter().sum(); +``` + +``` self.average = total as f64 / self.list.len() as f64; +``` + +``` } +``` + +``` } ``` -Listing 17-2: Implementations of the public methods `add`, `remove`, and -`average` on `AveragedCollection` +Implementations of the public methods `add`, `remove`, and `average` on +`AveragedCollection` The public methods `add`, `remove`, and `average` are the only ways to access -or modify data in an instance of `AveragedCollection`. When an item is added -to `list` using the `add` method or removed using the `remove` method, the +or modify data in an instance of `AveragedCollection`. When an item is added to +`list` using the `add` method or removed using the `remove` method, the implementations of each call the private `update_average` method that handles updating the `average` field as well. @@ -134,15 +218,15 @@ Because we’ve encapsulated the implementation details of the struct `AveragedCollection`, we can easily change aspects, such as the data structure, in the future. For instance, we could use a `HashSet` instead of a `Vec` for the `list` field. As long as the signatures of the `add`, -`remove`, and `average` public methods stay the same, code using +`remove`, and `average` public methods stayed the same, code using `AveragedCollection` wouldn’t need to change. If we made `list` public instead, this wouldn’t necessarily be the case: `HashSet` and `Vec` have different methods for adding and removing items, so the external code would likely have to change if it were modifying `list` directly. -If encapsulation is a required aspect for a language to be considered -object-oriented, then Rust meets that requirement. The option to use `pub` or -not for different parts of code enables encapsulation of implementation details. +If encapsulation is a required aspect for a language to be considered object +oriented, then Rust meets that requirement. The option to use `pub` or not for +different parts of code enables encapsulation of implementation details. ### Inheritance as a Type System and as Code Sharing @@ -150,8 +234,8 @@ not for different parts of code enables encapsulation of implementation details. another object’s definition, thus gaining the parent object’s data and behavior without you having to define them again. -If a language must have inheritance to be an object-oriented language, then -Rust is not one. There is no way to define a struct that inherits the parent +If a language must have inheritance to be object oriented, then Rust is not +such a language. There is no way to define a struct that inherits the parent struct’s fields and method implementations without using a macro. However, if you’re used to having inheritance in your programming toolbox, you @@ -176,15 +260,20 @@ child type to be used in the same places as the parent type. This is also called *polymorphism*, which means that you can substitute multiple objects for each other at runtime if they share certain characteristics. + +Unmatched: BoxType + > ### Polymorphism -> + + > To many people, polymorphism is synonymous with inheritance. But it’s -> actually a more general concept that refers to code that can work with data -> of multiple types. For inheritance, those types are generally subclasses. -> +actually a more general concept that refers to code that can work with data of +multiple types. For inheritance, those types are generally subclasses. + + > Rust instead uses generics to abstract over different possible types and -> trait bounds to impose constraints on what those types must provide. This is -> sometimes called *bounded parametric polymorphism*. +trait bounds to impose constraints on what those types must provide. This is +sometimes called *bounded parametric polymorphism*. Inheritance has recently fallen out of favor as a programming design solution in many programming languages because it’s often at risk of sharing more code @@ -221,7 +310,7 @@ some types for people to use, such as `Button` or `TextField`. In addition, instance, one programmer might add an `Image` and another might add a `SelectBox`. -We won’t implement a fully fledged GUI library for this example but will show +We won’t implement a full-fledged GUI library for this example but will show how the pieces would fit together. At the time of writing the library, we can’t know and define all the types other programmers might want to create. But we do know that `gui` needs to keep track of many values of different types, and it @@ -247,12 +336,12 @@ implementing our specified trait and a table used to look up trait methods on that type at runtime. We create a trait object by specifying some sort of pointer, such as a `&` reference or a `Box` smart pointer, then the `dyn` keyword, and then specifying the relevant trait. (We’ll talk about the reason -trait objects must use a pointer in Chapter 19 in the section “Dynamically -Sized Types and the `Sized` Trait.”) We can use trait objects in place of a -generic or concrete type. Wherever we use a trait object, Rust’s type system -will ensure at compile time that any value used in that context will implement -the trait object’s trait. Consequently, we don’t need to know all the possible -types at compile time. +trait objects must use a pointer in “Dynamically Sized Types and the Sized +Trait” on page XX.) We can use trait objects in place of a generic or concrete +type. Wherever we use a trait object, Rust’s type system will ensure at compile +time that any value used in that context will implement the trait object’s +trait. Consequently, we don’t need to know all the possible types at compile +time. We’ve mentioned that, in Rust, we refrain from calling structs and enums “objects” to distinguish them from other languages’ objects. In a struct or @@ -266,81 +355,149 @@ languages: their specific purpose is to allow abstraction across common behavior. Listing 17-3 shows how to define a trait named `Draw` with one method named -`draw`: +`draw`. Filename: src/lib.rs ``` pub trait Draw { +``` + +``` fn draw(&self); +``` + +``` } ``` -Listing 17-3: Definition of the `Draw` trait +Definition of the `Draw` trait This syntax should look familiar from our discussions on how to define traits in Chapter 10. Next comes some new syntax: Listing 17-4 defines a struct named `Screen` that holds a vector named `components`. This vector is of type -`Box`, which is a trait object; it’s a stand-in for any type inside -a `Box` that implements the `Draw` trait. +`Box`, which is a trait object; it’s a stand-in for any type inside a +`Box` that implements the `Draw` trait. Filename: src/lib.rs ``` pub struct Screen { +``` + +``` pub components: Vec>, +``` + +``` } ``` -Listing 17-4: Definition of the `Screen` struct with a `components` field -holding a vector of trait objects that implement the `Draw` trait +Definition of the `Screen` struct with a `components` field holding a vector of +trait objects that implement the `Draw` trait On the `Screen` struct, we’ll define a method named `run` that will call the -`draw` method on each of its `components`, as shown in Listing 17-5: +`draw` method on each of its `components`, as shown in Listing 17-5. Filename: src/lib.rs ``` impl Screen { +``` + +``` pub fn run(&self) { +``` + +``` for component in self.components.iter() { +``` + +``` component.draw(); +``` + +``` } +``` + +``` } +``` + +``` } ``` -Listing 17-5: A `run` method on `Screen` that calls the `draw` method on each -component +A `run` method on `Screen` that calls the `draw` method on each component This works differently from defining a struct that uses a generic type parameter with trait bounds. A generic type parameter can only be substituted with one concrete type at a time, whereas trait objects allow for multiple concrete types to fill in for the trait object at runtime. For example, we -could have defined the `Screen` struct using a generic type and a trait bound -as in Listing 17-6: +could have defined the `Screen` struct using a generic type and a trait bound, +as in Listing 17-6. Filename: src/lib.rs ``` pub struct Screen { +``` + +``` pub components: Vec, +``` + +``` } +``` + +``` + +``` +``` impl Screen +``` + +``` where +``` + +``` T: Draw, +``` + +``` { +``` + +``` pub fn run(&self) { +``` + +``` for component in self.components.iter() { +``` + +``` component.draw(); +``` + +``` } +``` + +``` } +``` + +``` } ``` -Listing 17-6: An alternate implementation of the `Screen` struct and its `run` -method using generics and trait bounds +An alternate implementation of the `Screen` struct and its `run` method using +generics and trait bounds This restricts us to a `Screen` instance that has a list of components all of type `Button` or all of type `TextField`. If you’ll only ever have homogeneous @@ -358,25 +515,55 @@ Now we’ll add some types that implement the `Draw` trait. We’ll provide the `Button` type. Again, actually implementing a GUI library is beyond the scope of this book, so the `draw` method won’t have any useful implementation in its body. To imagine what the implementation might look like, a `Button` struct -might have fields for `width`, `height`, and `label`, as shown in Listing 17-7: +might have fields for `width`, `height`, and `label`, as shown in Listing 17-7. Filename: src/lib.rs ``` pub struct Button { +``` + +``` pub width: u32, +``` + +``` pub height: u32, +``` + +``` pub label: String, +``` + +``` } +``` + +``` + +``` +``` impl Draw for Button { +``` + +``` fn draw(&self) { +``` + +``` // code to actually draw a button +``` + +``` } +``` + +``` } ``` -Listing 17-7: A `Button` struct that implements the `Draw` trait +A `Button` struct that implements the `Draw` trait The `width`, `height`, and `label` fields on `Button` will differ from the fields on other components; for example, a `TextField` type might have those @@ -389,67 +576,172 @@ happens when a user clicks the button. These kinds of methods won’t apply to types like `TextField`. If someone using our library decides to implement a `SelectBox` struct that has -`width`, `height`, and `options` fields, they implement the `Draw` trait on the -`SelectBox` type as well, as shown in Listing 17-8: +`width`, `height`, and `options` fields, they would implement the `Draw` trait +on the `SelectBox` type as well, as shown in Listing 17-8. Filename: src/main.rs ``` use gui::Draw; +``` + +``` +``` + +``` struct SelectBox { +``` + +``` width: u32, +``` + +``` height: u32, +``` + +``` options: Vec, +``` + +``` } +``` +``` + +``` + +``` impl Draw for SelectBox { +``` + +``` fn draw(&self) { +``` + +``` // code to actually draw a select box +``` + +``` } +``` + +``` } ``` -Listing 17-8: Another crate using `gui` and implementing the `Draw` trait on a -`SelectBox` struct +Another crate using `gui` and implementing the `Draw` trait on a `SelectBox` +struct Our library’s user can now write their `main` function to create a `Screen` instance. To the `Screen` instance, they can add a `SelectBox` and a `Button` by putting each in a `Box` to become a trait object. They can then call the `run` method on the `Screen` instance, which will call `draw` on each of the -components. Listing 17-9 shows this implementation: +components. Listing 17-9 shows this implementation. Filename: src/main.rs ``` use gui::{Button, Screen}; +``` + +``` +``` + +``` fn main() { +``` + +``` let screen = Screen { +``` + +``` components: vec![ +``` + +``` Box::new(SelectBox { +``` + +``` width: 75, +``` + +``` height: 10, +``` + +``` options: vec![ +``` + +``` String::from("Yes"), +``` + +``` String::from("Maybe"), - String::from("No"), +``` + +``` + String::from("No"), +``` + +``` ], +``` + +``` }), +``` + +``` Box::new(Button { +``` + +``` width: 50, +``` + +``` height: 10, +``` + +``` label: String::from("OK"), +``` + +``` }), +``` + +``` ], +``` + +``` }; +``` + +``` +``` + +``` screen.run(); +``` + +``` } ``` -Listing 17-9: Using trait objects to store values of different types that -implement the same trait +Using trait objects to store values of different types that implement the same +trait When we wrote the library, we didn’t know that someone might add the `SelectBox` type, but our `Screen` implementation was able to operate on the @@ -457,8 +749,8 @@ new type and draw it because `SelectBox` implements the `Draw` trait, which means it implements the `draw` method. This concept—of being concerned only with the messages a value responds to -rather than the value’s concrete type—is similar to the concept of *duck -typing* in dynamically typed languages: if it walks like a duck and quacks +rather than the value’s concrete type—is similar to the concept of *duck* +*typing* in dynamically typed languages: if it walks like a duck and quacks like a duck, then it must be a duck! In the implementation of `run` on `Screen` in Listing 17-5, `run` doesn’t need to know what the concrete type of each component is. It doesn’t check whether a component is an instance of a `Button` @@ -474,53 +766,98 @@ if a value doesn’t implement a method but we call it anyway. Rust won’t comp our code if the values don’t implement the traits that the trait objects need. For example, Listing 17-10 shows what happens if we try to create a `Screen` -with a `String` as a component: +with a `String` as a component. Filename: src/main.rs ``` use gui::Screen; +``` + +``` +``` + +``` fn main() { +``` + +``` let screen = Screen { +``` + +``` components: vec![Box::new(String::from("Hi"))], +``` + +``` }; +``` +``` + +``` + +``` screen.run(); +``` + +``` } ``` -Listing 17-10: Attempting to use a type that doesn’t implement the trait -object’s trait +Attempting to use a type that doesn’t implement the trait object’s trait We’ll get this error because `String` doesn’t implement the `Draw` trait: ``` error[E0277]: the trait bound `String: Draw` is not satisfied +``` + +``` --> src/main.rs:5:26 +``` + +``` | +``` + +``` 5 | components: vec![Box::new(String::from("Hi"))], - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Draw` is not implemented for `String` +``` + +``` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the +``` + +``` +trait `Draw` is not implemented for `String` +``` + +``` | +``` + +``` = note: required for the cast to the object type `dyn Draw` ``` -This error lets us know that either we’re passing something to `Screen` we -didn’t mean to pass and so should pass a different type or we should implement +This error lets us know that either we’re passing something to `Screen` that we +didn’t mean to pass and so should pass a different type, or we should implement `Draw` on `String` so that `Screen` is able to call `draw` on it. ### Trait Objects Perform Dynamic Dispatch -Recall in the “Performance of Code Using Generics” section in Chapter 10 our -discussion on the monomorphization process performed by the compiler when we -use trait bounds on generics: the compiler generates nongeneric implementations -of functions and methods for each concrete type that we use in place of a -generic type parameter. The code that results from monomorphization is doing -*static dispatch*, which is when the compiler knows what method you’re calling -at compile time. This is opposed to *dynamic dispatch*, which is when the -compiler can’t tell at compile time which method you’re calling. In dynamic -dispatch cases, the compiler emits code that at runtime will figure out which -method to call. +Recall in “Performance of Code Using Generics” on page XX our discussion on the +monomorphization process performed by the compiler when we use trait bounds on +generics: the compiler generates nongeneric implementations of functions and +methods for each concrete type that we use in place of a generic type +parameter. The code that results from monomorphization is doing *static +dispatch*, which is when the compiler knows what method you’re calling at +compile time. This is opposed to *dynamic dispatch*, which is when the compiler +can’t tell at compile time which method you’re calling. In dynamic dispatch +cases, the compiler emits code that at runtime will figure out which method to +call. When we use trait objects, Rust must use dynamic dispatch. The compiler doesn’t know all the types that might be used with the code that’s using trait objects, @@ -539,7 +876,7 @@ pattern is that we define a set of states a value can have internally. The states are represented by a set of *state objects*, and the value’s behavior changes based on its state. We’re going to work through an example of a blog post struct that has a field to hold its state, which will be a state object -from the set "draft", "review", or "published". +from the set “draft,” “review,” or “published.” The state objects share functionality: in Rust, of course, we use structs and traits rather than objects and inheritance. Each state object is responsible @@ -553,19 +890,18 @@ value holding the state or the code that uses the value. We’ll only need to update the code inside one of the state objects to change its rules or perhaps add more state objects. -First, we’re going to implement the state pattern in a more traditional +First we’re going to implement the state pattern in a more traditional object-oriented way, then we’ll use an approach that’s a bit more natural in -Rust. Let’s dig in to incrementally implementing a blog post workflow using the +Rust. Let’s dig in to incrementally implement a blog post workflow using the state pattern. The final functionality will look like this: 1. A blog post starts as an empty draft. -2. When the draft is done, a review of the post is requested. -3. When the post is approved, it gets published. -4. Only published blog posts return content to print, so unapproved posts can’t - accidentally be published. - +1. When the draft is done, a review of the post is requested. +1. When the post is approved, it gets published. +1. Only published blog posts return content to print, so unapproved posts can’t +accidentally be published. Any other changes attempted on a post should have no effect. For example, if we try to approve a draft blog post before we’ve requested a review, the post should remain an unpublished draft. @@ -578,23 +914,61 @@ Filename: src/main.rs ``` use blog::Post; +``` + +``` + +``` +``` fn main() { - [1] let mut post = Post::new(); +``` + +``` + 1 let mut post = Post::new(); +``` + +``` + +``` + +``` + 2 post.add_text("I ate a salad for lunch today"); +``` + +``` + 3 assert_eq!("", post.content()); +``` + +``` + +``` + +``` + 4 post.request_review(); +``` - [2] post.add_text("I ate a salad for lunch today"); - [3] assert_eq!("", post.content()); +``` + 5 assert_eq!("", post.content()); +``` - [4] post.request_review(); - [5] assert_eq!("", post.content()); +``` + +``` - [6] post.approve(); - [7] assert_eq!("I ate a salad for lunch today", post.content()); +``` + 6 post.approve(); +``` + +``` + 7 assert_eq!("I ate a salad for lunch today", post.content()); +``` + +``` } ``` -Listing 17-11: Code that demonstrates the desired behavior we want our `blog` -crate to have +Code that demonstrates the desired behavior we want our `blog` crate to have We want to allow the user to create a new draft blog post with `Post::new` [1]. We want to allow text to be added to the blog post [2]. If we try to get the @@ -616,9 +990,9 @@ in—draft, waiting for review, or published. Changing from one state to another will be managed internally within the `Post` type. The states change in response to the methods called by our library’s users on the `Post` instance, but they don’t have to manage the state changes directly. Also, users can’t -make a mistake with the states, like publishing a post before it’s reviewed. +make a mistake with the states, such as publishing a post before it’s reviewed. -### Defining `Post` and Creating a New Instance in the Draft State +### Defining Post and Creating a New Instance in the Draft State Let’s get started on the implementation of the library! We know we need a public `Post` struct that holds some content, so we’ll start with the @@ -635,28 +1009,82 @@ Filename: src/lib.rs ``` pub struct Post { +``` + +``` state: Option>, +``` + +``` content: String, +``` + +``` } +``` +``` + +``` + +``` impl Post { +``` + +``` pub fn new() -> Post { +``` + +``` Post { - [1] state: Some(Box::new(Draft {})), - [2] content: String::new(), +``` + +``` + 1 state: Some(Box::new(Draft {})), +``` + +``` + 2 content: String::new(), +``` + +``` } +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` trait State {} +``` + +``` +``` + +``` struct Draft {} +``` +``` + +``` + +``` impl State for Draft {} ``` -Listing 17-12: Definition of a `Post` struct and a `new` function that creates -a new `Post` instance, a `State` trait, and a `Draft` struct +Definition of a `Post` struct and a `new` function that creates a new `Post` +instance, a `State` trait, and a `Draft` struct The `State` trait defines the behavior shared by different post states. The state objects are `Draft`, `PendingReview`, and `Published`, and they will all @@ -666,9 +1094,9 @@ want a post to start in. When we create a new `Post`, we set its `state` field to a `Some` value that holds a `Box` [1]. This `Box` points to a new instance of the `Draft` struct. -This ensures whenever we create a new instance of `Post`, it will start out as -a draft. Because the `state` field of `Post` is private, there is no way to -create a `Post` in any other state! In the `Post::new` function, we set the +This ensures that whenever we create a new instance of `Post`, it will start +out as a draft. Because the `state` field of `Post` is private, there is no way +to create a `Post` in any other state! In the `Post::new` function, we set the `content` field to a new, empty `String` [2]. ### Storing the Text of the Post Content @@ -679,23 +1107,37 @@ blog post. We implement this as a method, rather than exposing the `content` field as `pub`, so that later we can implement a method that will control how the `content` field’s data is read. The `add_text` method is pretty straightforward, so let’s add the implementation in Listing 17-13 to the `impl -Post` block: +Post` block. Filename: src/lib.rs ``` impl Post { - // --snip-- +``` + +``` + --snip-- +``` + +``` pub fn add_text(&mut self, text: &str) { +``` + +``` self.content.push_str(text); +``` + +``` } +``` + +``` } ``` -Listing 17-13: Implementing the `add_text` method to add text to a post’s -`content` +Implementing the `add_text` method to add text to a post’s `content` -The `add_text` method takes a mutable reference to `self`, because we’re +The `add_text` method takes a mutable reference to `self` because we’re changing the `Post` instance that we’re calling `add_text` on. We then call `push_str` on the `String` in `content` and pass the `text` argument to add to the saved `content`. This behavior doesn’t depend on the state the post is in, @@ -712,65 +1154,160 @@ implement the `content` method with the simplest thing that will fulfill this requirement: always returning an empty string slice. We’ll change this later once we implement the ability to change a post’s state so it can be published. So far, posts can only be in the draft state, so the post content should always -be empty. Listing 17-14 shows this placeholder implementation: +be empty. Listing 17-14 shows this placeholder implementation. Filename: src/lib.rs ``` impl Post { - // --snip-- +``` + +``` + --snip-- +``` + +``` pub fn content(&self) -> &str { +``` + +``` "" +``` + +``` } +``` + +``` } ``` -Listing 17-14: Adding a placeholder implementation for the `content` method on -`Post` that always returns an empty string slice +Adding a placeholder implementation for the `content` method on `Post` that +always returns an empty string slice With this added `content` method, everything in Listing 17-11 up to the line at [3] works as intended. -### Requesting a Review of the Post Changes Its State +### Requesting a Review If the Post Changes Its State Next, we need to add functionality to request a review of a post, which should -change its state from `Draft` to `PendingReview`. Listing 17-15 shows this code: +change its state from `Draft` to `PendingReview`. Listing 17-15 shows this code. Filename: src/lib.rs ``` impl Post { - // --snip-- - [1] pub fn request_review(&mut self) { - [2] if let Some(s) = self.state.take() { - [3] self.state = Some(s.request_review()) +``` + +``` + --snip-- +``` + +``` + 1 pub fn request_review(&mut self) { +``` + +``` + 2 if let Some(s) = self.state.take() { +``` + +``` + 3 self.state = Some(s.request_review()) +``` + +``` } +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` trait State { - [4] fn request_review(self: Box) -> Box; +``` + +``` + 4 fn request_review(self: Box) -> Box; +``` + +``` } +``` +``` + +``` + +``` struct Draft {} +``` +``` + +``` + +``` impl State for Draft { +``` + +``` fn request_review(self: Box) -> Box { - [5] Box::new(PendingReview {}) +``` + +``` + 5 Box::new(PendingReview {}) +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` struct PendingReview {} +``` + +``` +``` + +``` impl State for PendingReview { +``` + +``` fn request_review(self: Box) -> Box { - [6] self +``` + +``` + 6 self +``` + +``` } +``` + +``` } ``` -Listing 17-15: Implementing `request_review` methods on `Post` and the `State` -trait +Implementing `request_review` methods on `Post` and the `State` trait We give `Post` a public method named `request_review` that will take a mutable reference to `self` [1]. Then we call an internal `request_review` method on @@ -788,7 +1325,7 @@ ownership of `Box`, invalidating the old state so the state value of the To consume the old state, the `request_review` method needs to take ownership of the state value. This is where the `Option` in the `state` field of `Post` comes in: we call the `take` method to take the `Some` value out of the `state` -field and leave a `None` in its place, because Rust doesn’t let us have +field and leave a `None` in its place because Rust doesn’t let us have unpopulated fields in structs [2]. This lets us move the `state` value out of `Post` rather than borrowing it. Then we’ll set the post’s `state` value to the result of this operation. @@ -801,7 +1338,7 @@ we’ve transformed it into a new state. The `request_review` method on `Draft` returns a new, boxed instance of a new `PendingReview` struct [5], which represents the state when a post is waiting for a review. The `PendingReview` struct also implements the `request_review` -method but doesn’t do any transformations. Rather, it returns itself [6], +method but doesn’t do any transformations. Rather, it returns itself [6] because when we request a review on a post already in the `PendingReview` state, it should stay in the `PendingReview` state. @@ -814,61 +1351,187 @@ slice. We can now have a `Post` in the `PendingReview` state as well as in the `Draft` state, but we want the same behavior in the `PendingReview` state. Listing 17-11 now works up to the line at [5]! -### Adding `approve` to Change the Behavior of `content` +### Adding approve to Change the Behavior of content The `approve` method will be similar to the `request_review` method: it will set `state` to the value that the current state says it should have when that -state is approved, as shown in Listing 17-16: +state is approved, as shown in Listing 17-16. Filename: src/lib.rs ``` impl Post { - // --snip-- +``` + +``` + --snip-- +``` + +``` pub fn approve(&mut self) { +``` + +``` if let Some(s) = self.state.take() { +``` + +``` self.state = Some(s.approve()) +``` + +``` } +``` + +``` } +``` + +``` } +``` +``` + +``` + +``` trait State { +``` + +``` fn request_review(self: Box) -> Box; +``` + +``` fn approve(self: Box) -> Box; +``` + +``` } +``` + +``` +``` + +``` struct Draft {} +``` +``` + +``` + +``` impl State for Draft { - // --snip-- +``` + +``` + --snip-- +``` + +``` fn approve(self: Box) -> Box { - [1] self +``` + +``` + 1 self +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` struct PendingReview {} +``` + +``` +``` + +``` impl State for PendingReview { - // --snip-- +``` + +``` + --snip-- +``` + +``` fn approve(self: Box) -> Box { - [2] Box::new(Published {}) +``` + +``` + 2 Box::new(Published {}) +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` struct Published {} +``` + +``` + +``` +``` impl State for Published { +``` + +``` fn request_review(self: Box) -> Box { +``` + +``` + self +``` + +``` + } +``` + +``` + +``` + +``` + fn approve(self: Box) -> Box { +``` + +``` self +``` + +``` } +``` - fn approve(self: Box) -> Box { - self - } +``` } ``` -Listing 17-16: Implementing the `approve` method on `Post` and the `State` trait +Implementing the `approve` method on `Post` and the `State` trait We add the `approve` method to the `State` trait and add a new struct that implements `State`, the `Published` state. @@ -878,33 +1541,51 @@ Similar to the way `request_review` on `PendingReview` works, if we call the return `self` [1]. When we call `approve` on `PendingReview`, it returns a new, boxed instance of the `Published` struct [2]. The `Published` struct implements the `State` trait, and for both the `request_review` method and the `approve` -method, it returns itself, because the post should stay in the `Published` -state in those cases. +method, it returns itself because the post should stay in the `Published` state +in those cases. Now we need to update the `content` method on `Post`. We want the value returned from `content` to depend on the current state of the `Post`, so we’re going to have the `Post` delegate to a `content` method defined on its `state`, -as shown in Listing 17-17: +as shown in Listing 17-17. Filename: src/lib.rs ``` impl Post { - // --snip-- +``` + +``` + --snip-- +``` + +``` pub fn content(&self) -> &str { +``` + +``` self.state.as_ref().unwrap().content(self) +``` + +``` } - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` -Listing 17-17: Updating the `content` method on `Post` to delegate to a -`content` method on `State` +Updating the `content` method on `Post` to delegate to a `content` method on +`State` -Because the goal is to keep all these rules inside the structs that implement -`State`, we call a `content` method on the value in `state` and pass the post -instance (that is, `self`) as an argument. Then we return the value that’s -returned from using the `content` method on the `state` value. +Because the goal is to keep all of these rules inside the structs that +implement `State`, we call a `content` method on the value in `state` and pass +the post instance (that is, `self`) as an argument. Then we return the value +that’s returned from using the `content` method on the `state` value. We call the `as_ref` method on the `Option` because we want a reference to the value inside the `Option` rather than ownership of the value. Because `state` @@ -912,47 +1593,92 @@ is an `Option>`, when we call `as_ref`, an `Option<&Box>` is returned. If we didn’t call `as_ref`, we would get an error because we can’t move `state` out of the borrowed `&self` of the function parameter. -We then call the `unwrap` method, which we know will never panic, because we +We then call the `unwrap` method, which we know will never panic because we know the methods on `Post` ensure that `state` will always contain a `Some` value when those methods are done. This is one of the cases we talked about in -the “Cases In Which You Have More Information Than the Compiler” section of -Chapter 9 when we know that a `None` value is never possible, even though the -compiler isn’t able to understand that. +“Cases in Which You Have More Information Than the Compiler” on page XX when we +know that a `None` value is never possible, even though the compiler isn’t able +to understand that. At this point, when we call `content` on the `&Box`, deref coercion will take effect on the `&` and the `Box` so the `content` method will ultimately be called on the type that implements the `State` trait. That means we need to add `content` to the `State` trait definition, and that is where we’ll put the logic for what content to return depending on which state we -have, as shown in Listing 17-18: +have, as shown in Listing 17-18. Filename: src/lib.rs ``` trait State { - // --snip-- +``` + +``` + --snip-- +``` + +``` fn content<'a>(&self, post: &'a Post) -> &'a str { - [1] "" +``` + +``` + 1 "" +``` + +``` } +``` + +``` } +``` + +``` + +``` + +``` +--snip-- +``` -// --snip-- +``` struct Published {} +``` +``` + +``` + +``` impl State for Published { - // --snip-- +``` + +``` + --snip-- +``` + +``` fn content<'a>(&self, post: &'a Post) -> &'a str { - [2] &post.content +``` + +``` + 2 &post.content +``` + +``` } +``` + +``` } ``` -Listing 17-18: Adding the `content` method to the `State` trait +Adding the `content` method to the `State` trait We add a default implementation for the `content` method that returns an empty -string slice [1]. That means we don’t need to implement `content` on the `Draft` -and `PendingReview` structs. The `Published` struct will override the `content` -method and return the value in `post.content` [2]. +string slice [1]. That means we don’t need to implement `content` on the +`Draft` and `PendingReview` structs. The `Published` struct will override the +`content` method and return the value in `post.content` [2]. Note that we need lifetime annotations on this method, as we discussed in Chapter 10. We’re taking a reference to a `post` as an argument and returning a @@ -963,14 +1689,18 @@ And we’re done—all of Listing 17-11 now works! We’ve implemented the state pattern with the rules of the blog post workflow. The logic related to the rules lives in the state objects rather than being scattered throughout `Post`. -> #### Why Not An Enum? -> + +Unmatched: BoxType + +> ### Why Not An Enum? + + > You may have been wondering why we didn’t use an `enum` with the different -> possible post states as variants. That’s certainly a possible solution, try -> it and compare the end results to see which you prefer! One disadvantage of -> using an enum is every place that checks the value of the enum will need a -> `match` expression or similar to handle every possible variant. This could -> get more repetitive than this trait object solution. +possible post states as variants. That’s certainly a possible solution; try it +and compare the end results to see which you prefer! One disadvantage of using +an enum is that every place that checks the value of the enum will need a +`match` expression or similar to handle every possible variant. This could get +more repetitive than this trait object solution. ### Trade-offs of the State Pattern @@ -997,25 +1727,24 @@ The implementation using the state pattern is easy to extend to add more functionality. To see the simplicity of maintaining code that uses the state pattern, try a few of these suggestions: -* Add a `reject` method that changes the post’s state from `PendingReview` back - to `Draft`. -* Require two calls to `approve` before the state can be changed to `Published`. -* Allow users to add text content only when a post is in the `Draft` state. - Hint: have the state object responsible for what might change about the - content but not responsible for modifying the `Post`. - -One downside of the state pattern is that, because the states implement the -transitions between states, some of the states are coupled to each other. If we -add another state between `PendingReview` and `Published`, such as `Scheduled`, -we would have to change the code in `PendingReview` to transition to -`Scheduled` instead. It would be less work if `PendingReview` didn’t need to + +Unmatched: ListBullet0 + +Unmatched: ListBullet0 + +Unmatched: ListBullet0 + One downside of the state pattern is that, because the states implement +the transitions between states, some of the states are coupled to each other. +If we add another state between `PendingReview` and `Published`, such as +`Scheduled`, we would have to change the code in `PendingReview` to transition +to `Scheduled` instead. It would be less work if `PendingReview` didn’t need to change with the addition of a new state, but that would mean switching to another design pattern. Another downside is that we’ve duplicated some logic. To eliminate some of the duplication, we might try to make default implementations for the `request_review` and `approve` methods on the `State` trait that return `self`; -however, this would violate object safety, because the trait doesn’t know what +however, this would violate object safety because the trait doesn’t know what the concrete `self` will be exactly. We want to be able to use `State` as a trait object, so we need its methods to be object safe. @@ -1024,12 +1753,12 @@ and `approve` methods on `Post`. Both methods delegate to the implementation of the same method on the value in the `state` field of `Option` and set the new value of the `state` field to the result. If we had a lot of methods on `Post` that followed this pattern, we might consider defining a macro to eliminate the -repetition (see the “Macros” section in Chapter 19). +repetition (see “Macros” on page XX). By implementing the state pattern exactly as it’s defined for object-oriented languages, we’re not taking as full advantage of Rust’s strengths as we could. Let’s look at some changes we can make to the `blog` crate that can make -invalid states and transitions into compile time errors. +invalid states and transitions into compile-time errors. #### Encoding States and Behavior as Types @@ -1045,10 +1774,25 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let mut post = Post::new(); +``` + +``` + +``` +``` post.add_text("I ate a salad for lunch today"); +``` + +``` assert_eq!("", post.content()); +``` + +``` } ``` @@ -1058,42 +1802,113 @@ and the ability to add text to the post’s content. But instead of having a draft posts don’t have the `content` method at all. That way, if we try to get a draft post’s content, we’ll get a compiler error telling us the method doesn’t exist. As a result, it will be impossible for us to accidentally -display draft post content in production, because that code won’t even compile. +display draft post content in production because that code won’t even compile. Listing 17-19 shows the definition of a `Post` struct and a `DraftPost` struct, -as well as methods on each: +as well as methods on each. Filename: src/lib.rs ``` pub struct Post { +``` + +``` content: String, +``` + +``` } +``` + +``` + +``` +``` pub struct DraftPost { +``` + +``` content: String, +``` + +``` } +``` + +``` + +``` +``` impl Post { - [1] pub fn new() -> DraftPost { +``` + +``` + 1 pub fn new() -> DraftPost { +``` + +``` DraftPost { +``` + +``` content: String::new(), +``` + +``` } +``` + +``` } +``` + +``` + +``` + +``` + 2 pub fn content(&self) -> &str { +``` - [2] pub fn content(&self) -> &str { +``` &self.content +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` impl DraftPost { - [3] pub fn add_text(&mut self, text: &str) { +``` + +``` + 3 pub fn add_text(&mut self, text: &str) { +``` + +``` self.content.push_str(text); +``` + +``` } +``` + +``` } ``` -Listing 17-19: A `Post` with a `content` method and a `DraftPost` without a -`content` method +A `Post` with a `content` method and a `DraftPost` without a `content` method Both the `Post` and `DraftPost` structs have a private `content` field that stores the blog post text. The structs no longer have the `state` field because @@ -1118,38 +1933,95 @@ So how do we get a published post? We want to enforce the rule that a draft post has to be reviewed and approved before it can be published. A post in the pending review state should still not display any content. Let’s implement these constraints by adding another struct, `PendingReviewPost`, defining the -`request_review` method on `DraftPost` to return a `PendingReviewPost`, and +`request_review` method on `DraftPost` to return a `PendingReviewPost` and defining an `approve` method on `PendingReviewPost` to return a `Post`, as -shown in Listing 17-20: +shown in Listing 17-20. Filename: src/lib.rs ``` impl DraftPost { - // --snip-- +``` + +``` + --snip-- +``` + +``` pub fn request_review(self) -> PendingReviewPost { +``` + +``` PendingReviewPost { +``` + +``` content: self.content, +``` + +``` } +``` + +``` } +``` + +``` } +``` +``` + +``` + +``` pub struct PendingReviewPost { +``` + +``` content: String, +``` + +``` } +``` + +``` + +``` +``` impl PendingReviewPost { +``` + +``` pub fn approve(self) -> Post { +``` + +``` Post { +``` + +``` content: self.content, +``` + +``` } +``` + +``` } +``` + +``` } ``` -Listing 17-20: A `PendingReviewPost` that gets created by calling -`request_review` on `DraftPost` and an `approve` method that turns a -`PendingReviewPost` into a published `Post` +A `PendingReviewPost` that gets created by calling `request_review` on +`DraftPost` and an `approve` method that turns a `PendingReviewPost` into a +published `Post` The `request_review` and `approve` methods take ownership of `self`, thus consuming the `DraftPost` and `PendingReviewPost` instances and transforming @@ -1169,28 +2041,63 @@ called on, so we need to add more `let post =` shadowing assignments to save the returned instances. We also can’t have the assertions about the draft and pending review posts’ contents be empty strings, nor do we need them: we can’t compile code that tries to use the content of posts in those states any longer. -The updated code in `main` is shown in Listing 17-21: +The updated code in `main` is shown in Listing 17-21. Filename: src/main.rs ``` use blog::Post; +``` + +``` + +``` +``` fn main() { +``` + +``` let mut post = Post::new(); +``` + +``` + +``` +``` post.add_text("I ate a salad for lunch today"); +``` + +``` + +``` +``` let post = post.request_review(); +``` + +``` + +``` +``` let post = post.approve(); +``` + +``` + +``` +``` assert_eq!("I ate a salad for lunch today", post.content()); +``` + +``` } ``` -Listing 17-21: Modifications to `main` to use the new implementation of the -blog post workflow +Modifications to `main` to use the new implementation of the blog post workflow The changes we needed to make to `main` to reassign `post` mean that this implementation doesn’t quite follow the object-oriented state pattern anymore: @@ -1216,16 +2123,17 @@ object-oriented languages don’t have. ## Summary -No matter whether or not you think Rust is an object-oriented language after +Regardless of whether you think Rust is an object-oriented language after reading this chapter, you now know that you can use trait objects to get some object-oriented features in Rust. Dynamic dispatch can give your code some flexibility in exchange for a bit of runtime performance. You can use this flexibility to implement object-oriented patterns that can help your code’s maintainability. Rust also has other features, like ownership, that object-oriented languages don’t have. An object-oriented pattern won’t always -be the best way to take advantage of Rust’s strengths, but is an available +be the best way to take advantage of Rust’s strengths, but it is an available option. Next, we’ll look at patterns, which are another of Rust’s features that enable lots of flexibility. We’ve looked at them briefly throughout the book but haven’t seen their full capability yet. Let’s go! + diff --git a/nostarch/docx/chapter17.docx b/nostarch/docx/chapter17.docx new file mode 100644 index 0000000000000000000000000000000000000000..933e4868b0b5787d296e5f2bfbc3fa447dbd8180 GIT binary patch literal 75451 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 literal 0 HcmV?d00001 From c0c2035a5db0fc8e8d8dc50a2ed72bd72e1397c1 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 26 Aug 2022 21:04:59 -0400 Subject: [PATCH 0433/1248] Messy snapshot of ch 17 after copyedit review --- nostarch/chapter17.md | 26 +++++++++++++------------- nostarch/docx/chapter17.docx | Bin 75451 -> 79998 bytes 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/nostarch/chapter17.md b/nostarch/chapter17.md index bfd7f0fd4c..8463010c00 100644 --- a/nostarch/chapter17.md +++ b/nostarch/chapter17.md @@ -6,7 +6,7 @@ directory, so all fixes need to be made in `/src/`. [TOC] -# Object-Oriented Programming Features of Rust +# Object-Oriented Programming Features Object-oriented programming (OOP) is a way of modeling programs. Objects as a programmatic concept were introduced in the programming language Simula in the @@ -827,11 +827,11 @@ error[E0277]: the trait bound `String: Draw` is not satisfied ``` ``` - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Draw` is ``` ``` -trait `Draw` is not implemented for `String` +not implemented for `String` ``` ``` @@ -986,11 +986,11 @@ post will be returned when `content` is called [7]. Notice that the only type we’re interacting with from the crate is the `Post` type. This type will use the state pattern and will hold a value that will be one of three state objects representing the various states a post can be -in—draft, waiting for review, or published. Changing from one state to another -will be managed internally within the `Post` type. The states change in -response to the methods called by our library’s users on the `Post` instance, -but they don’t have to manage the state changes directly. Also, users can’t -make a mistake with the states, such as publishing a post before it’s reviewed. +in—draft, review, or published. Changing from one state to another will be +managed internally within the `Post` type. The states change in response to the +methods called by our library’s users on the `Post` instance, but they don’t +have to manage the state changes directly. Also, users can’t make a mistake +with the states, such as publishing a post before it’s reviewed. ### Defining Post and Creating a New Instance in the Draft State @@ -1188,7 +1188,7 @@ always returns an empty string slice With this added `content` method, everything in Listing 17-11 up to the line at [3] works as intended. -### Requesting a Review If the Post Changes Its State +### Requesting a Review Changes the Post’s State Next, we need to add functionality to request a review of a post, which should change its state from `Draft` to `PendingReview`. Listing 17-15 shows this code. @@ -1743,10 +1743,10 @@ another design pattern. Another downside is that we’ve duplicated some logic. To eliminate some of the duplication, we might try to make default implementations for the -`request_review` and `approve` methods on the `State` trait that return `self`; -however, this would violate object safety because the trait doesn’t know what -the concrete `self` will be exactly. We want to be able to use `State` as a -trait object, so we need its methods to be object safe. +`request_review` and `approve` methods on the `State` trait that return `self`. +However, this wouldn’t work: when using `State` as a trait object, the trait +doesn’t know what the concrete `self` will be exactly, so the return type isn’t +known at compile time. Other duplication includes the similar implementations of the `request_review` and `approve` methods on `Post`. Both methods delegate to the implementation of diff --git a/nostarch/docx/chapter17.docx b/nostarch/docx/chapter17.docx index 933e4868b0b5787d296e5f2bfbc3fa447dbd8180..60fc780036400ccd866574d237a4a2dad2f4626c 100644 GIT binary patch delta 68514 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 EZ|^>UTL1t6 delta 63970 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 Date: Fri, 26 Aug 2022 21:26:20 -0400 Subject: [PATCH 0434/1248] Update snapshot of ch18 --- nostarch/chapter18.md | 35 +++-------------------------------- 1 file changed, 3 insertions(+), 32 deletions(-) diff --git a/nostarch/chapter18.md b/nostarch/chapter18.md index 0b104dcf61..0e6bfcadbb 100644 --- a/nostarch/chapter18.md +++ b/nostarch/chapter18.md @@ -23,20 +23,6 @@ Some example patterns include `x`, `(a, 3)`, and `Some(Color::Red)`. In the contexts in which patterns are valid, these components describe the shape of data. Our program then matches values against the patterns to determine whether it has the correct shape of data to continue running a particular piece of code. - - - - To use a pattern, we compare it to some value. If the pattern matches the value, we use the value parts in our code. Recall the `match` expressions in @@ -159,17 +145,6 @@ can’t combine these two conditions into `if let Ok(age) = age && age > 30`. Th shadowed `age` we want to compare to 30 isn’t valid until the new scope starts with the curly bracket. - - - The downside of using `if let` expressions is that the compiler doesn’t check for exhaustiveness, whereas with `match` expressions it does. If we omitted the last `else` block [9] and therefore missed handling some cases, the compiler @@ -404,11 +379,12 @@ error[E0005]: refutable pattern in local binding: `None` not covered | = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html +note: `Option` defined here = note: the matched value is of type `Option` help: you might want to use `if let` to ignore the variant that isn't matched | -3 | if let Some(x) = some_option_value { /* */ } - | +3 | let x = if let Some(x) = some_option_value { x } else { todo!() }; + | ++++++++++ ++++++++++++++++++++++ ``` Because we didn’t cover (and couldn’t cover!) every valid value with the @@ -718,11 +694,6 @@ Remember that a `match` expression stops checking arms once it has found the first matching pattern, so even though `Point { x: 0, y: 0}` is on the `x` axis and the `y` axis, this code would only print `On the x axis at 0`. - - - #### Destructuring Enums We've destructured enums in this book (for example, Listing 6-5 in Chapter 6), From 3669149d7b6349c4828ae7483b03e5ccdd7055a3 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 27 Aug 2022 10:10:39 -0400 Subject: [PATCH 0435/1248] Snapshot of ch 18 after copyedit --- nostarch/chapter18.md | 1210 ++++++++++++++++++++++++++++++---- nostarch/docx/chapter18.docx | Bin 0 -> 70766 bytes 2 files changed, 1066 insertions(+), 144 deletions(-) create mode 100644 nostarch/docx/chapter18.docx diff --git a/nostarch/chapter18.md b/nostarch/chapter18.md index 0e6bfcadbb..a67051847b 100644 --- a/nostarch/chapter18.md +++ b/nostarch/chapter18.md @@ -18,7 +18,6 @@ control flow. A pattern consists of some combination of the following: * Variables * Wildcards * Placeholders - Some example patterns include `x`, `(a, 3)`, and `Some(Color::Red)`. In the contexts in which patterns are valid, these components describe the shape of data. Our program then matches values against the patterns to determine whether @@ -42,7 +41,7 @@ Patterns pop up in a number of places in Rust, and you’ve been using them a lo without realizing it! This section discusses all the places where patterns are valid. -### `match` Arms +### match Arms As discussed in Chapter 6, we use patterns in the arms of `match` expressions. Formally, `match` expressions are defined as the keyword `match`, a value to @@ -51,23 +50,44 @@ expression to run if the value matches that arm’s pattern, like this: ``` match VALUE { +``` + +``` PATTERN => EXPRESSION, +``` + +``` PATTERN => EXPRESSION, +``` + +``` PATTERN => EXPRESSION, +``` + +``` } ``` -For example, here's the `match` expression from Listing 6-5 that matches on an +For example, here’s the `match` expression from Listing 6-5 that matches on an `Option` value in the variable `x`: ``` match x { +``` + +``` None => None, +``` + +``` Some(i) => Some(i + 1), +``` + +``` } ``` -The patterns in this `match` expression are the `None` and `Some(i)` on the +The patterns in this `match` expression are the `None` and `Some(i)` to the left of each arrow. One requirement for `match` expressions is that they need to be *exhaustive* in @@ -79,12 +99,12 @@ value can never fail and thus covers every remaining case. The particular pattern `_` will match anything, but it never binds to a variable, so it’s often used in the last match arm. The `_` pattern can be useful when you want to ignore any value not specified, for example. We’ll -cover the `_` pattern in more detail in the “Ignoring Values in a Pattern” -section later in this chapter. +cover the `_` pattern in more detail in “Ignoring Values in a Pattern” on page +XX. -### Conditional `if let` Expressions +### Conditional if let Expressions -In Chapter 6 we discussed how to use `if let` expressions mainly as a shorter +In Chapter 6, we discussed how to use `if let` expressions mainly as a shorter way to write the equivalent of a `match` that only matches one case. Optionally, `if let` can have a corresponding `else` containing code to run if the pattern in the `if let` doesn’t match. @@ -92,8 +112,8 @@ the pattern in the `if let` doesn’t match. Listing 18-1 shows that it’s also possible to mix and match `if let`, `else if`, and `else if let` expressions. Doing so gives us more flexibility than a `match` expression in which we can express only one value to compare with the -patterns. Also, Rust doesn't require that the conditions in a series of `if -let`, `else if`, `else if let` arms relate to each other. +patterns. Also, Rust doesn’t require that the conditions in a series of `if +let`, `else if`, and `else if let` arms relate to each other. The code in Listing 18-1 determines what color to make your background based on a series of checks for several conditions. For this example, we’ve created @@ -104,27 +124,81 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let favorite_color: Option<&str> = None; +``` + +``` let is_tuesday = false; +``` + +``` let age: Result = "34".parse(); +``` - [1] if let Some(color) = favorite_color { - [2] println!("Using your favorite color, {color}, as the background"); - [3] } else if is_tuesday { - [4] println!("Tuesday is green day!"); - [5]} else if let Ok(age) = age { - [6] if age > 30 { - [7] println!("Using purple as the background color"); +``` + +``` + +``` + 1 if let Some(color) = favorite_color { +``` + +``` + 2 println!("Using your favorite color, {color}, as the background"); +``` + +``` + 3 } else if is_tuesday { +``` + +``` + 4 println!("Tuesday is green day!"); +``` + +``` + 5} else if let Ok(age) = age { +``` + +``` + 6 if age > 30 { +``` + +``` + 7 println!("Using purple as the background color"); +``` + +``` } else { - [8] println!("Using orange as the background color"); +``` + +``` + 8 println!("Using orange as the background color"); +``` + +``` } - [9] } else { - [10] println!("Using blue as the background color"); +``` + +``` + 9 } else { +``` + +``` + 0 println!("Using blue as the background color"); +``` + +``` } +``` + +``` } ``` -Listing 18-1: Mixing `if let`, `else if`, `else if let`, and `else` +Mixing `if let`, `else if`, `else if let`, and `else` If the user specifies a favorite color [1], that color is used as the background [2]. If no favorite color is specified and today is Tuesday [3], the @@ -150,7 +224,7 @@ for exhaustiveness, whereas with `match` expressions it does. If we omitted the last `else` block [9] and therefore missed handling some cases, the compiler would not alert us to the possible logic bug. -### `while let` Conditional Loops +### while let Conditional Loops Similar in construction to `if let`, the `while let` conditional loop allows a `while` loop to run for as long as a pattern continues to match. In Listing @@ -159,47 +233,89 @@ values in the vector in the opposite order in which they were pushed. ``` let mut stack = Vec::new(); +``` + +``` + +``` +``` stack.push(1); +``` + +``` stack.push(2); +``` + +``` stack.push(3); +``` + +``` + +``` +``` while let Some(top) = stack.pop() { +``` + +``` println!("{}", top); +``` + +``` } ``` -Listing 18-2: Using a `while let` loop to print values for as long as -`stack.pop()` returns `Some` +Using a `while let` loop to print values for as long as `stack.pop()` returns +`Some` -This example prints 3, 2, and then 1. The `pop` method takes the last element -out of the vector and returns `Some(value)`. If the vector is empty, `pop` -returns `None`. The `while` loop continues running the code in its block as -long as `pop` returns `Some`. When `pop` returns `None`, the loop stops. We can -use `while let` to pop every element off our stack. +This example prints `3`, `2`, and then `1`. The `pop` method takes the last +element out of the vector and returns `Some(value)`. If the vector is empty, +`pop` returns `None`. The `while` loop continues running the code in its block +as long as `pop` returns `Some`. When `pop` returns `None`, the loop stops. We +can use `while let` to pop every element off our stack. -### `for` Loops +### for Loops In a `for` loop, the value that directly follows the keyword `for` is a -pattern. For example, in `for x in y` the `x` is the pattern. Listing 18-3 +pattern. For example, in `for x in y`, the `x` is the pattern. Listing 18-3 demonstrates how to use a pattern in a `for` loop to destructure, or break apart, a tuple as part of the `for` loop. ``` let v = vec!['a', 'b', 'c']; +``` + +``` + +``` +``` for (index, value) in v.iter().enumerate() { +``` + +``` println!("{} is at index {}", value, index); +``` + +``` } ``` -Listing 18-3: Using a pattern in a `for` loop to destructure a tuple +Using a pattern in a `for` loop to destructure a tuple The code in Listing 18-3 will print the following: ``` a is at index 0 +``` + +``` b is at index 1 +``` + +``` c is at index 2 ``` @@ -209,7 +325,7 @@ tuple `(0, 'a')`. When this value is matched to the pattern `(index, value)`, `index` will be `0` and `value` will be `'a'`, printing the first line of the output. -### `let` Statements +### let Statements Prior to this chapter, we had only explicitly discussed using patterns with `match` and `if let`, but in fact, we’ve used patterns in other places as well, @@ -220,7 +336,7 @@ variable assignment with `let`: let x = 5; ``` -Every time you've used a `let` statement like this you've been using patterns, +Every time you’ve used a `let` statement like this you’ve been using patterns, although you might not have realized it! More formally, a `let` statement looks like this: @@ -230,26 +346,25 @@ let PATTERN = EXPRESSION; In statements like `let x = 5;` with a variable name in the `PATTERN` slot, the variable name is just a particularly simple form of a pattern. Rust compares -the expression against the pattern and assigns any names it finds. So in the +the expression against the pattern and assigns any names it finds. So, in the `let x = 5;` example, `x` is a pattern that means “bind what matches here to the variable `x`.” Because the name `x` is the whole pattern, this pattern effectively means “bind everything to the variable `x`, whatever the value is.” -To see the pattern matching aspect of `let` more clearly, consider Listing +To see the pattern-matching aspect of `let` more clearly, consider Listing 18-4, which uses a pattern with `let` to destructure a tuple. ``` let (x, y, z) = (1, 2, 3); ``` -Listing 18-4: Using a pattern to destructure a tuple and create three variables -at once +Using a pattern to destructure a tuple and create three variables at once Here, we match a tuple against a pattern. Rust compares the value `(1, 2, 3)` to the pattern `(x, y, z)` and sees that the value matches the pattern, in that -it sees that the number of elements is the same in both, so Rust -binds `1` to `x`, `2` to `y`, and `3` to `z`. You can think of this tuple -pattern as nesting three individual variable patterns inside it. +it sees that the number of elements is the same in both, so Rust binds `1` to +`x`, `2` to `y`, and `3` to `z`. You can think of this tuple pattern as nesting +three individual variable patterns inside it. If the number of elements in the pattern doesn’t match the number of elements in the tuple, the overall type won’t match and we’ll get a compiler error. For @@ -260,28 +375,56 @@ elements into two variables, which won’t work. let (x, y) = (1, 2, 3); ``` -Listing 18-5: Incorrectly constructing a pattern whose variables don’t match -the number of elements in the tuple +Incorrectly constructing a pattern whose variables don’t match the number of +elements in the tuple Attempting to compile this code results in this type error: ``` error[E0308]: mismatched types +``` + +``` --> src/main.rs:2:9 +``` + +``` | +``` + +``` 2 | let (x, y) = (1, 2, 3); - | ^^^^^^ --------- this expression has type `({integer}, {integer}, {integer})` +``` + +``` + | ^^^^^^ --------- this expression has type `({integer}, {integer}, +{integer})` +``` + +``` | | +``` + +``` | expected a tuple with 3 elements, found one with 2 elements +``` + +``` | +``` + +``` = note: expected tuple `({integer}, {integer}, {integer})` +``` + +``` found tuple `(_, _)` ``` To fix the error, we could ignore one or more of the values in the tuple using -`_` or `..`, as you’ll see in the “Ignoring Values in a Pattern” section. If -the problem is that we have too many variables in the pattern, the solution is -to make the types match by removing variables so the number of variables equals +`_` or `..`, as you’ll see in “Ignoring Values in a Pattern” on page XX. If the +problem is that we have too many variables in the pattern, the solution is to +make the types match by removing variables so the number of variables equals the number of elements in the tuple. ### Function Parameters @@ -292,11 +435,17 @@ declares a function named `foo` that takes one parameter named `x` of type ``` fn foo(x: i32) { +``` + +``` // code goes here +``` + +``` } ``` -Listing 18-6: A function signature uses patterns in the parameters +A function signature using patterns in the parameters The `x` part is a pattern! As we did with `let`, we could match a tuple in a function’s arguments to the pattern. Listing 18-7 splits the values in a tuple @@ -306,25 +455,46 @@ Filename: src/main.rs ``` fn print_coordinates(&(x, y): &(i32, i32)) { +``` + +``` println!("Current location: ({}, {})", x, y); +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` let point = (3, 5); +``` + +``` print_coordinates(&point); +``` + +``` } ``` -Listing 18-7: A function with parameters that destructure a tuple +A function with parameters that destructure a tuple This code prints `Current location: (3, 5)`. The values `&(3, 5)` match the pattern `&(x, y)`, so `x` is the value `3` and `y` is the value `5`. We can also use patterns in closure parameter lists in the same way as in -function parameter lists, because closures are similar to functions, as +function parameter lists because closures are similar to functions, as discussed in Chapter 13. -At this point, you’ve seen several ways of using patterns, but patterns don’t +At this point, you’ve seen several ways to use patterns, but patterns don’t work the same in every place we can use them. In some places, the patterns must be irrefutable; in other circumstances, they can be refutable. We’ll discuss these two concepts next. @@ -340,12 +510,12 @@ a_value` because if the value in the `a_value` variable is `None` rather than `Some`, the `Some(x)` pattern will not match. Function parameters, `let` statements, and `for` loops can only accept -irrefutable patterns, because the program cannot do anything meaningful when -values don’t match. The `if let` and `while let` expressions accept -refutable and irrefutable patterns, but the compiler warns against -irrefutable patterns because by definition they’re intended to handle possible -failure: the functionality of a conditional is in its ability to perform -differently depending on success or failure. +irrefutable patterns because the program cannot do anything meaningful when +values don’t match. The `if let` and `while let` expressions accept refutable +and irrefutable patterns, but the compiler warns against irrefutable patterns +because, by definition, they’re intended to handle possible failure: the +functionality of a conditional is in its ability to perform differently +depending on success or failure. In general, you shouldn’t have to worry about the distinction between refutable and irrefutable patterns; however, you do need to be familiar with the concept @@ -355,16 +525,16 @@ using the pattern with, depending on the intended behavior of the code. Let’s look at an example of what happens when we try to use a refutable pattern where Rust requires an irrefutable pattern and vice versa. Listing 18-8 shows a -`let` statement, but for the pattern we’ve specified `Some(x)`, a refutable +`let` statement, but for the pattern, we’ve specified `Some(x)`, a refutable pattern. As you might expect, this code will not compile. ``` let Some(x) = some_option_value; ``` -Listing 18-8: Attempting to use a refutable pattern with `let` +Attempting to use a refutable pattern with `let` -If `some_option_value` was a `None` value, it would fail to match the pattern +If `some_option_value` were a `None` value, it would fail to match the pattern `Some(x)`, meaning the pattern is refutable. However, the `let` statement can only accept an irrefutable pattern because there is nothing valid the code can do with a `None` value. At compile time, Rust will complain that we’ve tried to @@ -372,18 +542,61 @@ use a refutable pattern where an irrefutable pattern is required: ``` error[E0005]: refutable pattern in local binding: `None` not covered +``` + +``` --> src/main.rs:3:9 +``` + +``` | +``` + +``` 3 | let Some(x) = some_option_value; +``` + +``` | ^^^^^^^ pattern `None` not covered +``` + +``` | - = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant - = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html -note: `Option` defined here +``` + +``` + = note: `let` bindings require an "irrefutable pattern", like a `struct` or +``` + +``` +an `enum` with only one variant +``` + +``` + = note: for more information, visit +``` + +``` +book/ch18-02-refutability.html +``` + +``` = note: the matched value is of type `Option` +``` + +``` help: you might want to use `if let` to ignore the variant that isn't matched +``` + +``` | +``` + +``` 3 | let x = if let Some(x) = some_option_value { x } else { todo!() }; +``` + +``` | ++++++++++ ++++++++++++++++++++++ ``` @@ -392,18 +605,23 @@ pattern `Some(x)`, Rust rightfully produces a compiler error. If we have a refutable pattern where an irrefutable pattern is needed, we can fix it by changing the code that uses the pattern: instead of using `let`, we -can use `if let`. Then if the pattern doesn’t match, the code will just skip +can use `if let`. Then, if the pattern doesn’t match, the code will just skip the code in the curly brackets, giving it a way to continue validly. Listing 18-9 shows how to fix the code in Listing 18-8. ``` if let Some(x) = some_option_value { +``` + +``` println!("{}", x); +``` + +``` } ``` -Listing 18-9: Using `if let` and a block with refutable patterns instead of -`let` +Using `if let` and a block with refutable patterns instead of `let` We’ve given the code an out! This code is perfectly valid, although it means we cannot use an irrefutable pattern without receiving an error. If we give `if @@ -412,24 +630,54 @@ the compiler will give a warning. ``` if let x = 5 { +``` + +``` println!("{}", x); +``` + +``` }; ``` -Listing 18-10: Attempting to use an irrefutable pattern with `if let` +Attempting to use an irrefutable pattern with `if let` Rust complains that it doesn’t make sense to use `if let` with an irrefutable pattern: ``` warning: irrefutable `if let` pattern +``` + +``` --> src/main.rs:2:8 +``` + +``` | +``` + +``` 2 | if let x = 5 { +``` + +``` | ^^^^^^^^^ +``` + +``` | +``` + +``` = note: `#[warn(irrefutable_let_patterns)]` on by default +``` + +``` = note: this pattern will always match, so the `if let` is useless +``` + +``` = help: consider replacing the `if let` with a `let` ``` @@ -445,8 +693,8 @@ patterns. ## Pattern Syntax -In this section, we gather all the syntax valid in patterns and discuss why and -when you might want to use each one. +In this section, we gather all the syntax that is valid in patterns and discuss +why and when you might want to use each one. ### Matching Literals @@ -455,23 +703,44 @@ following code gives some examples: ``` let x = 1; +``` + +``` + +``` +``` match x { +``` + +``` 1 => println!("one"), +``` + +``` 2 => println!("two"), +``` + +``` 3 => println!("three"), +``` + +``` _ => println!("anything"), +``` + +``` } ``` -This code prints `one` because the value in `x` is 1. This syntax is useful +This code prints `one` because the value in `x` is `1`. This syntax is useful when you want your code to take an action if it gets a particular concrete value. ### Matching Named Variables Named variables are irrefutable patterns that match any value, and we’ve used -them many times in the book. However, there is a complication when you use +them many times in this book. However, there is a complication when you use named variables in `match` expressions. Because `match` starts a new scope, variables declared as part of a pattern inside the `match` expression will shadow those with the same name outside the `match` construct, as is the case @@ -485,21 +754,53 @@ Filename: src/main.rs ``` fn main() { - [1] let x = Some(5); - [2] let y = 10; +``` + +``` + 1 let x = Some(5); +``` + +``` + 2 let y = 10; +``` + +``` + +``` +``` match x { - [3] Some(50) => println!("Got 50"), - [4] Some(y) => println!("Matched, y = {y}"), - [5] _ => println!("Default case, x = {:?}", x), +``` + +``` + 3 Some(50) => println!("Got 50"), +``` + +``` + 4 Some(y) => println!("Matched, y = {y}"), +``` + +``` + 5 _ => println!("Default case, x = {:?}", x), +``` + +``` } +``` + +``` - [6] println!("at the end: x = {:?}, y = {y}", x); +``` + +``` + 6 println!("at the end: x = {:?}, y = {y}", x); +``` + +``` } ``` -Listing 18-11: A `match` expression with an arm that introduces a shadowed -variable `y` +A `match` expression with an arm that introduces a shadowed variable `y` Let’s walk through what happens when the `match` expression runs. The pattern in the first match arm [3] doesn’t match the defined value of `x` [1], so the @@ -508,7 +809,7 @@ code continues. The pattern in the second match arm [4] introduces a new variable named `y` that will match any value inside a `Some` value. Because we’re in a new scope inside the `match` expression, this is a new `y` variable, not the `y` we -declared at the beginning with the value 10 [2]. This new `y` binding will +declared at the beginning with the value `10` [2]. This new `y` binding will match any value inside a `Some`, which is what we have in `x`. Therefore, this new `y` binds to the inner value of the `Some` in `x`. That value is `5`, so the expression for that arm executes and prints `Matched, y = 5`. @@ -526,8 +827,8 @@ the inner `y`. The last `println!` [6] produces `at the end: x = Some(5), y = To create a `match` expression that compares the values of the outer `x` and `y`, rather than introducing a shadowed variable, we would need to use a match -guard conditional instead. We’ll talk about match guards later in the “Extra -Conditionals with Match Guards” section. +guard conditional instead. We’ll talk about match guards in “Extra Conditionals +with Match Guards” on page XX. ### Multiple Patterns @@ -539,17 +840,35 @@ arm’s code will run: ``` let x = 1; +``` + +``` + +``` +``` match x { +``` + +``` 1 | 2 => println!("one or two"), +``` + +``` 3 => println!("three"), +``` + +``` _ => println!("anything"), +``` + +``` } ``` This code prints `one or two`. -### Matching Ranges of Values with `..=` +### Matching Ranges of Values with ..= The `..=` syntax allows us to match to an inclusive range of values. In the following code, when a pattern matches any of the values within the given @@ -557,18 +876,33 @@ range, that arm will execute: ``` let x = 5; +``` + +``` +``` + +``` match x { +``` + +``` 1..=5 => println!("one through five"), +``` + +``` _ => println!("something else"), +``` + +``` } ``` -If `x` is 1, 2, 3, 4, or 5, the first arm will match. This syntax is more -convenient for multiple match values than using the `|` operator to express the -same idea; if we were to use `|` we would have to specify `1 | 2 | 3 | 4 | 5`. -Specifying a range is much shorter, especially if we want to match, say, any -number between 1 and 1,000! +If `x` is `1`, `2`, `3`, `4`, or `5`, the first arm will match. This syntax is +more convenient for multiple match values than using the `|` operator to +express the same idea; if we were to use `|`, we would have to specify `1 | 2 | +3 | 4 | 5`. Specifying a range is much shorter, especially if we want to match, +say, any number between 1 and 1,000! The compiler checks that the range isn’t empty at compile time, and because the only types for which Rust can tell if a range is empty or not are `char` and @@ -578,11 +912,29 @@ Here is an example using ranges of `char` values: ``` let x = 'c'; +``` +``` + +``` + +``` match x { +``` + +``` 'a'..='j' => println!("early ASCII letter"), +``` + +``` 'k'..='z' => println!("late ASCII letter"), +``` + +``` _ => println!("something else"), +``` + +``` } ``` @@ -603,20 +955,53 @@ Filename: src/main.rs ``` struct Point { +``` + +``` x: i32, +``` + +``` y: i32, +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` let p = Point { x: 0, y: 7 }; +``` + +``` +``` + +``` let Point { x: a, y: b } = p; +``` + +``` assert_eq!(0, a); +``` + +``` assert_eq!(7, b); +``` + +``` } ``` -Listing 18-12: Destructuring a struct’s fields into separate variables +Destructuring a struct’s fields into separate variables This code creates the variables `a` and `b` that match the values of the `x` and `y` fields of the `p` struct. This example shows that the names of the @@ -634,20 +1019,53 @@ Filename: src/main.rs ``` struct Point { +``` + +``` x: i32, +``` + +``` y: i32, +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let p = Point { x: 0, y: 7 }; +``` + +``` +``` + +``` let Point { x, y } = p; +``` + +``` assert_eq!(0, x); +``` + +``` assert_eq!(7, y); +``` + +``` } ``` -Listing 18-13: Destructuring struct fields using struct field shorthand +Destructuring struct fields using struct field shorthand This code creates the variables `x` and `y` that match the `x` and `y` fields of the `p` variable. The outcome is that the variables `x` and `y` contain the @@ -660,23 +1078,47 @@ destructure the other fields. In Listing 18-14, we have a `match` expression that separates `Point` values into three cases: points that lie directly on the `x` axis (which is true when -`y = 0`), on the `y` axis (`x = 0`), or neither. +`y = 0`), on the `y` axis (`x = 0`), or on neither axis. Filename: src/main.rs ``` fn main() { +``` + +``` let p = Point { x: 0, y: 7 }; +``` +``` + +``` + +``` match p { +``` + +``` Point { x, y: 0 } => println!("On the x axis at {}", x), +``` + +``` Point { x: 0, y } => println!("On the y axis at {}", y), +``` + +``` Point { x, y } => println!("On neither axis: ({}, {})", x, y), +``` + +``` } +``` + +``` } ``` -Listing 18-14: Destructuring and matching literal values in one pattern +Destructuring and matching literal values in one pattern The first arm will match any point that lies on the `x` axis by specifying that the `y` field matches if its value matches the literal `0`. The pattern still @@ -696,8 +1138,8 @@ and the `y` axis, this code would only print `On the x axis at 0`. #### Destructuring Enums -We've destructured enums in this book (for example, Listing 6-5 in Chapter 6), -but haven’t yet explicitly discussed that the pattern to destructure an enum +We’ve destructured enums in this book (for example, Listing 6-5), but we +haven’t yet explicitly discussed that the pattern to destructure an enum corresponds to the way the data stored within the enum is defined. As an example, in Listing 18-15 we use the `Message` enum from Listing 6-2 and write a `match` with patterns that will destructure each inner value. @@ -706,35 +1148,113 @@ Filename: src/main.rs ``` enum Message { +``` + +``` Quit, +``` + +``` Move { x: i32, y: i32 }, +``` + +``` Write(String), +``` + +``` ChangeColor(i32, i32, i32), +``` + +``` } +``` +``` + +``` + +``` fn main() { - [1] let msg = Message::ChangeColor(0, 160, 255); +``` +``` + 1 let msg = Message::ChangeColor(0, 160, 255); +``` + +``` + +``` + +``` match msg { - [2] Message::Quit => { +``` + +``` + 2 Message::Quit => { +``` + +``` println!("The Quit variant has no data to destructure.") +``` + +``` } - [3] Message::Move { x, y } => { +``` + +``` + 3 Message::Move { x, y } => { +``` + +``` println!( +``` + +``` "Move in the x direction {} and in the y direction {}", +``` + +``` x, y +``` + +``` ); +``` + +``` } - [4] Message::Write(text) => println!("Text message: {}", text), - [5] Message::ChangeColor(r, g, b) => println!( +``` + +``` + 4 Message::Write(text) => println!("Text message: {}", text), +``` + +``` + 5 Message::ChangeColor(r, g, b) => println!( +``` + +``` "Change the color to red {}, green {}, and blue {}", +``` + +``` r, g, b +``` + +``` ), +``` + +``` } +``` + +``` } ``` -Listing 18-15: Destructuring enum variants that hold different kinds of values +Destructuring enum variants that hold different kinds of values This code will print `Change the color to red 0, green 160, and blue 255`. Try changing the value of `msg` [1] to see the code from the other arms run. @@ -764,35 +1284,113 @@ message, as shown in Listing 18-16. ``` enum Color { +``` + +``` Rgb(i32, i32, i32), +``` + +``` Hsv(i32, i32, i32), +``` + +``` } +``` +``` + +``` + +``` enum Message { +``` + +``` Quit, +``` + +``` Move { x: i32, y: i32 }, +``` + +``` Write(String), +``` + +``` ChangeColor(Color), +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let msg = Message::ChangeColor(Color::Hsv(0, 160, 255)); +``` + +``` +``` + +``` match msg { +``` + +``` Message::ChangeColor(Color::Rgb(r, g, b)) => println!( +``` + +``` "Change the color to red {}, green {}, and blue {}", +``` + +``` r, g, b +``` + +``` ), +``` + +``` Message::ChangeColor(Color::Hsv(h, s, v)) => println!( +``` + +``` "Change the color to hue {}, saturation {}, and value {}", +``` + +``` h, s, v +``` + +``` ), +``` + +``` _ => (), +``` + +``` } +``` + +``` } ``` -Listing 18-16: Matching on nested enums +Matching on nested enums The pattern of the first arm in the `match` expression matches a `Message::ChangeColor` enum variant that contains a `Color::Rgb` variant; then @@ -827,7 +1425,7 @@ pattern (which you’ve seen), using the `_` pattern within another pattern, using a name that starts with an underscore, or using `..` to ignore remaining parts of a value. Let’s explore how and why to use each of these patterns. -#### Ignoring an Entire Value with `_` +#### An Entire Value with _ We’ve used the underscore as a wildcard pattern that will match any value but not bind to the value. This is especially useful as the last arm in a `match` @@ -838,15 +1436,33 @@ Filename: src/main.rs ``` fn foo(_: i32, y: i32) { +``` + +``` println!("This code only uses the y parameter: {}", y); +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` foo(3, 4); +``` + +``` } ``` -Listing 18-17: Using `_` in a function signature +Using `_` in a function signature This code will completely ignore the value `3` passed as the first argument, and will print `This code only uses the y parameter: 4`. @@ -854,12 +1470,12 @@ and will print `This code only uses the y parameter: 4`. In most cases when you no longer need a particular function parameter, you would change the signature so it doesn’t include the unused parameter. Ignoring a function parameter can be especially useful in cases when, for example, -you're implementing a trait when you need a certain type signature but the +you’re implementing a trait when you need a certain type signature but the function body in your implementation doesn’t need one of the parameters. You then avoid getting a compiler warning about unused function parameters, as you would if you used a name instead. -#### Ignoring Parts of a Value with a Nested `_` +#### Parts of a Value with a Nested _ We can also use `_` inside another pattern to ignore just part of a value, for example, when we want to test for only part of a value but have no use for the @@ -870,22 +1486,58 @@ setting but can unset the setting and give it a value if it is currently unset. ``` let mut setting_value = Some(5); +``` + +``` let new_setting_value = Some(10); +``` + +``` + +``` +``` match (setting_value, new_setting_value) { +``` + +``` (Some(_), Some(_)) => { +``` + +``` println!("Can't overwrite an existing customized value"); +``` + +``` } +``` + +``` _ => { +``` + +``` setting_value = new_setting_value; +``` + +``` } +``` + +``` } +``` +``` + +``` + +``` println!("setting is {:?}", setting_value); ``` -Listing 18-18: Using an underscore within patterns that match `Some` variants -when we don’t need to use the value inside the `Some` +Using an underscore within patterns that match `Some` variants when we don’t +need to use the value inside the `Some` This code will print `Can't overwrite an existing customized value` and then `setting is Some(5)`. In the first match arm, we don’t need to match on or use @@ -894,8 +1546,8 @@ when `setting_value` and `new_setting_value` are the `Some` variant. In that case, we print the reason for not changing `setting_value`, and it doesn’t get changed. -In all other cases (if either `setting_value` or `new_setting_value` are -`None`) expressed by the `_` pattern in the second arm, we want to allow +In all other cases (if either `setting_value` or `new_setting_value` is `None`) +expressed by the `_` pattern in the second arm, we want to allow `new_setting_value` to become `setting_value`. We can also use underscores in multiple places within one pattern to ignore @@ -904,20 +1556,38 @@ fourth values in a tuple of five items. ``` let numbers = (2, 4, 8, 16, 32); +``` +``` + +``` + +``` match numbers { +``` + +``` (first, _, third, _, fifth) => { +``` + +``` println!("Some numbers: {first}, {third}, {fifth}") +``` + +``` } +``` + +``` } ``` -Listing 18-19: Ignoring multiple parts of a tuple +Ignoring multiple parts of a tuple -This code will print `Some numbers: 2, 8, 32`, and the values 4 and 16 will be -ignored. +This code will print `Some numbers: 2, 8, 32`, and the values `4` and `16` will +be ignored. -#### Ignoring an Unused Variable by Starting Its Name with `_` +#### An Unused Variable by Starting Its Name with _ If you create a variable but don’t use it anywhere, Rust will usually issue a warning because an unused variable could be a bug. However, sometimes it’s @@ -931,15 +1601,24 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let _x = 5; +``` + +``` let y = 10; +``` + +``` } ``` -Listing 18-20: Starting a variable name with an -underscore to avoid getting unused variable warnings +Starting a variable name with an underscore to avoid getting unused variable +warnings -Here we get a warning about not using the variable `y`, but we don’t get a +Here, we get a warning about not using the variable `y`, but we don’t get a warning about not using `_x`. Note that there is a subtle difference between using only `_` and using a name @@ -949,16 +1628,34 @@ distinction matters, Listing 18-21 will provide us with an error. ``` let s = Some(String::from("Hello!")); +``` + +``` + +``` +``` if let Some(_s) = s { +``` + +``` println!("found a string"); +``` + +``` } +``` +``` + +``` + +``` println!("{:?}", s); ``` -Listing 18-21: An unused variable starting with an underscore still binds the -value, which might take ownership of the value +An unused variable starting with an underscore still binds the value, which +might take ownership of the value. We’ll receive an error because the `s` value will still be moved into `_s`, which prevents us from using `s` again. However, using the underscore by itself @@ -967,19 +1664,37 @@ because `s` doesn’t get moved into `_`. ``` let s = Some(String::from("Hello!")); +``` + +``` +``` + +``` if let Some(_) = s { +``` + +``` println!("found a string"); +``` + +``` } +``` + +``` +``` + +``` println!("{:?}", s); ``` -Listing 18-22: Using an underscore does not bind the value +Using an underscore does not bind the value. This code works just fine because we never bind `s` to anything; it isn’t moved. -#### Ignoring Remaining Parts of a Value with `..` +#### Remaining Parts of a Value with .. With values that have many parts, we can use the `..` syntax to use specific parts and ignore the rest, avoiding the need to list underscores for each @@ -991,19 +1706,49 @@ the values in the `y` and `z` fields. ``` struct Point { +``` + +``` x: i32, +``` + +``` y: i32, +``` + +``` z: i32, +``` + +``` } +``` + +``` + +``` +``` let origin = Point { x: 0, y: 0, z: 0 }; +``` + +``` +``` + +``` match origin { +``` + +``` Point { x, .. } => println!("x is {}", x), +``` + +``` } ``` -Listing 18-23: Ignoring all fields of a `Point` except for `x` by using `..` +Ignoring all fields of a `Point` except for `x` by using `..` We list the `x` value and then just include the `..` pattern. This is quicker than having to list `y: _` and `z: _`, particularly when we’re working with @@ -1017,21 +1762,44 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let numbers = (2, 4, 8, 16, 32); +``` + +``` + +``` +``` match numbers { +``` + +``` (first, .., last) => { +``` + +``` println!("Some numbers: {first}, {last}"); +``` + +``` } +``` + +``` } +``` + +``` } ``` -Listing 18-24: Matching only the first and last values in a tuple and ignoring -all other values +Matching only the first and last values in a tuple and ignoring all other values -In this code, the first and last value are matched with `first` and `last`. The -`..` will match and ignore everything in the middle. +In this code, the first and last values are matched with `first` and `last`. +The `..` will match and ignore everything in the middle. However, using `..` must be unambiguous. If it is unclear which values are intended for matching and which should be ignored, Rust will give us an error. @@ -1042,27 +1810,69 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let numbers = (2, 4, 8, 16, 32); +``` + +``` + +``` +``` match numbers { +``` + +``` (.., second, ..) => { +``` + +``` println!("Some numbers: {}", second) +``` + +``` }, +``` + +``` } +``` + +``` } ``` -Listing 18-25: An attempt to use `..` in an ambiguous way +An attempt to use `..` in an ambiguous way When we compile this example, we get this error: ``` error: `..` can only be used once per tuple pattern +``` + +``` --> src/main.rs:5:22 +``` + +``` | +``` + +``` 5 | (.., second, ..) => { +``` + +``` | -- ^^ can only be used once per tuple pattern +``` + +``` | | +``` + +``` | previously used here ``` @@ -1086,18 +1896,36 @@ guard of `if x % 2 == 0` (which will be true if the number is even). ``` let num = Some(4); +``` +``` + +``` + +``` match num { +``` + +``` Some(x) if x % 2 == 0 => println!("The number {} is even", x), +``` + +``` Some(x) => println!("The number {} is odd", x), +``` + +``` None => (), +``` + +``` } ``` -Listing 18-26: Adding a match guard to a pattern +Adding a match guard to a pattern This example will print `The number 4 is even`. When `num` is compared to the -pattern in the first arm, it matches, because `Some(4)` matches `Some(x)`. Then +pattern in the first arm, it matches because `Some(4)` matches `Some(x)`. Then the match guard checks whether the remainder of dividing `x` by 2 is equal to 0, and because it is, the first arm is selected. @@ -1108,7 +1936,7 @@ second arm doesn’t have a match guard and therefore matches any `Some` variant There is no way to express the `if x % 2 == 0` condition within a pattern, so the match guard gives us the ability to express this logic. The downside of -this additional expressiveness is that the compiler doesn't try to check for +this additional expressiveness is that the compiler doesn’t try to check for exhaustiveness when match guard expressions are involved. In Listing 18-11, we mentioned that we could use match guards to solve our @@ -1122,20 +1950,53 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let x = Some(5); +``` + +``` let y = 10; +``` +``` + +``` + +``` match x { +``` + +``` Some(50) => println!("Got 50"), +``` + +``` Some(n) if n == y => println!("Matched, n = {n}"), +``` + +``` _ => println!("Default case, x = {:?}", x), +``` + +``` } +``` + +``` +``` + +``` println!("at the end: x = {:?}, y = {y}", x); +``` + +``` } ``` -Listing 18-27: Using a match guard to test for equality with an outer variable +Using a match guard to test for equality with an outer variable This code will now print `Default case, x = Some(5)`. The pattern in the second match arm doesn’t introduce a new variable `y` that would shadow the outer `y`, @@ -1158,22 +2019,40 @@ applies to `6`. ``` let x = 4; +``` + +``` let y = false; +``` + +``` +``` + +``` match x { +``` + +``` 4 | 5 | 6 if y => println!("yes"), +``` + +``` _ => println!("no"), +``` + +``` } ``` -Listing 18-28: Combining multiple patterns with a match guard +Combining multiple patterns with a match guard The match condition states that the arm only matches if the value of `x` is equal to `4`, `5`, or `6` *and* if `y` is `true`. When this code runs, the pattern of the first arm matches because `x` is `4`, but the match guard `if y` is false, so the first arm is not chosen. The code moves on to the second arm, which does match, and this program prints `no`. The reason is that the `if` -condition applies to the whole pattern `4 | 5 | 6`, not only to the last value +condition applies to the whole pattern `4 | 5 | 6`, not just to the last value `6`. In other words, the precedence of a match guard in relation to a pattern behaves like this: @@ -1181,9 +2060,9 @@ behaves like this: (4 | 5 | 6) if y => ... ``` -rather than this: -``` +Unmatched: BodyContinued + ``` 4 | 5 | (6 if y) => ... ``` @@ -1192,45 +2071,87 @@ were applied only to the final value in the list of values specified using the `|` operator, the arm would have matched and the program would have printed `yes`. -### `@` Bindings +### @ Bindings The *at* operator `@` lets us create a variable that holds a value at the same -time as we’re testing that value for a pattern match. In Listing 18-29, we want -to test that a `Message::Hello` `id` field is within the range `3..=7`. We also +time we’re testing that value for a pattern match. In Listing 18-29, we want to +test that a `Message::Hello` `id` field is within the range `3..=7`. We also want to bind the value to the variable `id_variable` so we can use it in the code associated with the arm. We could name this variable `id`, the same as the field, but for this example we’ll use a different name. ``` enum Message { +``` + +``` Hello { id: i32 }, +``` + +``` } +``` + +``` + +``` +``` let msg = Message::Hello { id: 5 }; +``` + +``` +``` + +``` match msg { +``` + +``` Message::Hello { +``` + +``` id: id_variable @ 3..=7, +``` + +``` } => println!("Found an id in range: {}", id_variable), +``` + +``` Message::Hello { id: 10..=12 } => { +``` + +``` println!("Found an id in another range") +``` + +``` } +``` + +``` Message::Hello { id } => println!("Found some other id: {}", id), +``` + +``` } ``` -Listing 18-29: Using `@` to bind to a value in a pattern while also testing it +Using `@` to bind to a value in a pattern while also testing it This example will print `Found an id in range: 5`. By specifying `id_variable @` before the range `3..=7`, we’re capturing whatever value matched the range while also testing that the value matched the range pattern. -In the second arm, where we only have a range specified in the pattern, the code -associated with the arm doesn’t have a variable that contains the actual value -of the `id` field. The `id` field’s value could have been 10, 11, or 12, but -the code that goes with that pattern doesn’t know which it is. The pattern code -isn’t able to use the value from the `id` field, because we haven’t saved the -`id` value in a variable. +In the second arm, where we only have a range specified in the pattern, the +code associated with the arm doesn’t have a variable that contains the actual +value of the `id` field. The `id` field’s value could have been 10, 11, or 12, +but the code that goes with that pattern doesn’t know which it is. The pattern +code isn’t able to use the value from the `id` field because we haven’t saved +the `id` value in a variable. In the last arm, where we’ve specified a variable without a range, we do have the value available to use in the arm’s code in a variable named `id`. The @@ -1251,3 +2172,4 @@ variables. We can create simple or complex patterns to suit our needs. Next, for the penultimate chapter of the book, we’ll look at some advanced aspects of a variety of Rust’s features. + diff --git a/nostarch/docx/chapter18.docx b/nostarch/docx/chapter18.docx new file mode 100644 index 0000000000000000000000000000000000000000..2ed2c5a22d21b09b7599c327c57046cf8c3abe74 GIT binary patch literal 70766 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�U+^Z)x_&*fA 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 literal 0 HcmV?d00001 From 455241376025a060ddf6b9e65ecbb317b356285b Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 27 Aug 2022 11:39:47 -0400 Subject: [PATCH 0436/1248] Messy snapshot of ch 18 after copyedit review --- .../listing-18-14/src/main.rs | 8 +- .../listing-18-15/src/main.rs | 12 +- .../listing-18-16/src/main.rs | 10 +- nostarch/chapter18.md | 119 +++++++++++------- nostarch/docx/chapter18.docx | Bin 70766 -> 78947 bytes 5 files changed, 88 insertions(+), 61 deletions(-) diff --git a/listings/ch18-patterns-and-matching/listing-18-14/src/main.rs b/listings/ch18-patterns-and-matching/listing-18-14/src/main.rs index 8d445d9b9d..b71da9a371 100644 --- a/listings/ch18-patterns-and-matching/listing-18-14/src/main.rs +++ b/listings/ch18-patterns-and-matching/listing-18-14/src/main.rs @@ -8,9 +8,11 @@ fn main() { let p = Point { x: 0, y: 7 }; match p { - Point { x, y: 0 } => println!("On the x axis at {}", x), - Point { x: 0, y } => println!("On the y axis at {}", y), - Point { x, y } => println!("On neither axis: ({}, {})", x, y), + Point { x, y: 0 } => println!("On the x axis at {x}"), + Point { x: 0, y } => println!("On the y axis at {y}"), + Point { x, y } => { + println!("On neither axis: ({x}, {y})"); + } } } // ANCHOR_END: here diff --git a/listings/ch18-patterns-and-matching/listing-18-15/src/main.rs b/listings/ch18-patterns-and-matching/listing-18-15/src/main.rs index 9b8dac1938..4ddef0aafb 100644 --- a/listings/ch18-patterns-and-matching/listing-18-15/src/main.rs +++ b/listings/ch18-patterns-and-matching/listing-18-15/src/main.rs @@ -10,18 +10,18 @@ fn main() { match msg { Message::Quit => { - println!("The Quit variant has no data to destructure.") + println!("The Quit variant has no data to destructure."); } Message::Move { x, y } => { println!( - "Move in the x direction {} and in the y direction {}", - x, y + "Move in the x direction {x} and in the y direction {y}" ); } - Message::Write(text) => println!("Text message: {}", text), + Message::Write(text) => { + println!("Text message: {text}"); + } Message::ChangeColor(r, g, b) => println!( - "Change the color to red {}, green {}, and blue {}", - r, g, b + "Change the color to red {r}, green {g}, and blue {b}", ), } } diff --git a/listings/ch18-patterns-and-matching/listing-18-16/src/main.rs b/listings/ch18-patterns-and-matching/listing-18-16/src/main.rs index ed6a20bf47..4c958601b8 100644 --- a/listings/ch18-patterns-and-matching/listing-18-16/src/main.rs +++ b/listings/ch18-patterns-and-matching/listing-18-16/src/main.rs @@ -14,13 +14,11 @@ fn main() { let msg = Message::ChangeColor(Color::Hsv(0, 160, 255)); match msg { - Message::ChangeColor(Color::Rgb(r, g, b)) => println!( - "Change the color to red {}, green {}, and blue {}", - r, g, b - ), + Message::ChangeColor(Color::Rgb(r, g, b)) => { + println!("Change color to red {r}, green {g}, and blue {b}"); + } Message::ChangeColor(Color::Hsv(h, s, v)) => println!( - "Change the color to hue {}, saturation {}, and value {}", - h, s, v + "Change color to hue {h}, saturation {s}, value {v}" ), _ => (), } diff --git a/nostarch/chapter18.md b/nostarch/chapter18.md index a67051847b..8beb011741 100644 --- a/nostarch/chapter18.md +++ b/nostarch/chapter18.md @@ -8,7 +8,7 @@ directory, so all fixes need to be made in `/src/`. # Patterns and Matching -*Patterns* are a special syntax in Rust for matching against the structure of + *Patterns* are a special syntax in Rust for matching against the structure of types, both complex and simple. Using patterns in conjunction with `match` expressions and other constructs gives you more control over a program’s control flow. A pattern consists of some combination of the following: @@ -147,7 +147,15 @@ fn main() { ``` ``` - 2 println!("Using your favorite color, {color}, as the background"); + 2 println!( +``` + +``` + "Using your favorite, {color}, as the background" +``` + +``` + ); ``` ``` @@ -155,11 +163,11 @@ fn main() { ``` ``` - 4 println!("Tuesday is green day!"); + 4 println!("Tuesday is green day!"); ``` ``` - 5} else if let Ok(age) = age { + 5 } else if let Ok(age) = age { ``` ``` @@ -175,7 +183,7 @@ fn main() { ``` ``` - 8 println!("Using orange as the background color"); + 8 println!("Using orange as the background color"); ``` ``` @@ -187,7 +195,7 @@ fn main() { ``` ``` - 0 println!("Using blue as the background color"); + 10 println!("Using blue as the background color"); ``` ``` @@ -205,7 +213,7 @@ background [2]. If no favorite color is specified and today is Tuesday [3], the background color is green [4]. Otherwise, if the user specifies their age as a string and we can parse it as a number successfully [5], the color is either purple [7] or orange [8] depending on the value of the number [6]. If none of -these conditions apply [9], the background color is blue. +these conditions apply [9], the background color is blue [10]. This conditional structure lets us support complex requirements. With the hardcoded values we have here, this example will print `Using purple as the @@ -260,7 +268,7 @@ while let Some(top) = stack.pop() { ``` ``` - println!("{}", top); + println!("{top}"); ``` ``` @@ -296,7 +304,7 @@ for (index, value) in v.iter().enumerate() { ``` ``` - println!("{} is at index {}", value, index); + println!("{value} is at index {index}"); ``` ``` @@ -344,7 +352,7 @@ like this: let PATTERN = EXPRESSION; ``` -In statements like `let x = 5;` with a variable name in the `PATTERN` slot, the +In statements like `let x = 5;` with a variable name in the PATTERN slot, the variable name is just a particularly simple form of a pattern. Rust compares the expression against the pattern and assigns any names it finds. So, in the `let x = 5;` example, `x` is a pattern that means “bind what matches here to @@ -398,6 +406,9 @@ error[E0308]: mismatched types ``` | ^^^^^^ --------- this expression has type `({integer}, {integer}, +``` + +``` {integer})` ``` @@ -458,7 +469,7 @@ fn print_coordinates(&(x, y): &(i32, i32)) { ``` ``` - println!("Current location: ({}, {})", x, y); + println!("Current location: ({x}, {y})"); ``` ``` @@ -614,7 +625,7 @@ if let Some(x) = some_option_value { ``` ``` - println!("{}", x); + println!("{x}"); ``` ``` @@ -633,7 +644,7 @@ if let x = 5 { ``` ``` - println!("{}", x); + println!("{x}"); ``` ``` @@ -674,7 +685,11 @@ warning: irrefutable `if let` pattern ``` ``` - = note: this pattern will always match, so the `if let` is useless + = note: this pattern will always match, so the `if let` is +``` + +``` +useless ``` ``` @@ -1099,15 +1114,23 @@ fn main() { ``` ``` - Point { x, y: 0 } => println!("On the x axis at {}", x), + Point { x, y: 0 } => println!("On the x axis at {x}"), +``` + +``` + Point { x: 0, y } => println!("On the y axis at {y}"), ``` ``` - Point { x: 0, y } => println!("On the y axis at {}", y), + Point { x, y } => { ``` ``` - Point { x, y } => println!("On neither axis: ({}, {})", x, y), + println!("On neither axis: ({x}, {y})"); +``` + +``` + } ``` ``` @@ -1195,7 +1218,15 @@ fn main() { ``` ``` - println!("The Quit variant has no data to destructure.") + println!( +``` + +``` + "The Quit variant has no data to destructure." +``` + +``` + ); ``` ``` @@ -1211,35 +1242,35 @@ fn main() { ``` ``` - "Move in the x direction {} and in the y direction {}", + "Move in the x dir {x}, in the y dir {y}" ``` ``` - x, y + ); ``` ``` - ); + } ``` ``` - } + 4 Message::Write(text) => { ``` ``` - 4 Message::Write(text) => println!("Text message: {}", text), + println!("Text message: {text}"); ``` ``` - 5 Message::ChangeColor(r, g, b) => println!( + } ``` ``` - "Change the color to red {}, green {}, and blue {}", + 5 Message::ChangeColor(r, g, b) => println!( ``` ``` - r, g, b + "Change color to red {r}, green {g}, and blue {b}" ``` ``` @@ -1256,7 +1287,7 @@ fn main() { Destructuring enum variants that hold different kinds of values -This code will print `Change the color to red 0, green 160, and blue 255`. Try +This code will print `Change color to red 0, green 160, and blue 255`. Try changing the value of `msg` [1] to see the code from the other arms run. For enum variants without any data, like `Message::Quit` [2], we can’t @@ -1351,11 +1382,7 @@ fn main() { ``` ``` - "Change the color to red {}, green {}, and blue {}", -``` - -``` - r, g, b + "Change color to red {r}, green {g}, and blue {b}" ``` ``` @@ -1367,11 +1394,7 @@ fn main() { ``` ``` - "Change the color to hue {}, saturation {}, and value {}", -``` - -``` - h, s, v + "Change color to hue {h}, saturation {s}, value {v}" ``` ``` @@ -1406,7 +1429,11 @@ The following example shows a complicated destructure where we nest structs and tuples inside a tuple and destructure all the primitive values out: ``` -let ((feet, inches), Point { x, y }) = ((3, 10), Point { x: 3, y: -10 }); +let ((feet, inches), Point { x, y }) = +``` + +``` + ((3, 10), Point { x: 3, y: -10 }); ``` This code lets us break complex types into their component parts so we can use @@ -1439,7 +1466,7 @@ fn foo(_: i32, y: i32) { ``` ``` - println!("This code only uses the y parameter: {}", y); + println!("This code only uses the y parameter: {y}"); ``` ``` @@ -1571,7 +1598,7 @@ match numbers { ``` ``` - println!("Some numbers: {first}, {third}, {fifth}") + println!("Some numbers: {first}, {third}, {fifth}"); ``` ``` @@ -1741,7 +1768,7 @@ match origin { ``` ``` - Point { x, .. } => println!("x is {}", x), + Point { x, .. } => println!("x is {x}"), ``` ``` @@ -1829,7 +1856,7 @@ fn main() { ``` ``` - println!("Some numbers: {}", second) + println!("Some numbers: {second}"); ``` ``` @@ -1907,11 +1934,11 @@ match num { ``` ``` - Some(x) if x % 2 == 0 => println!("The number {} is even", x), + Some(x) if x % 2 == 0 => println!("The number {x} is even"), ``` ``` - Some(x) => println!("The number {} is odd", x), + Some(x) => println!("The number {x} is odd"), ``` ``` @@ -2117,7 +2144,7 @@ match msg { ``` ``` - } => println!("Found an id in range: {}", id_variable), + } => println!("Found an id in range: {id_variable}"), ``` ``` @@ -2133,7 +2160,7 @@ match msg { ``` ``` - Message::Hello { id } => println!("Found some other id: {}", id), + Message::Hello { id } => println!("Some other id: {id}"), ``` ``` diff --git a/nostarch/docx/chapter18.docx b/nostarch/docx/chapter18.docx index 2ed2c5a22d21b09b7599c327c57046cf8c3abe74..6574875d98905132e7f2527d32db68511264c9b9 100644 GIT binary patch delta 56307 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 From f10ae00d9eaff0440060d476af82cd2d46005038 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 27 Aug 2022 19:19:24 -0400 Subject: [PATCH 0437/1248] Updated snapshot of ch19 --- nostarch/chapter19.md | 61 +++++-------------------------------------- 1 file changed, 7 insertions(+), 54 deletions(-) diff --git a/nostarch/chapter19.md b/nostarch/chapter19.md index 5ef3fd7a27..4a8b5a3a9c 100644 --- a/nostarch/chapter19.md +++ b/nostarch/chapter19.md @@ -420,18 +420,10 @@ functions from another language we want to call. The `"C"` part defines which defines how to call the function at the assembly level. The `"C"` ABI is the most common and follows the C programming language’s ABI. - - - > #### Calling Rust Functions from Other Languages > > We can also use `extern` to create an interface that allows other languages -> to call Rust functions. Instead of an creating a whole `extern` block, we add +> to call Rust functions. Instead of creating a whole `extern` block, we add > the `extern` keyword and specify the ABI to use just before the `fn` keyword > for the relevant function. We also need to add a `#[no_mangle]` annotation to > tell the Rust compiler not to mangle the name of this function. *Mangling* is @@ -667,13 +659,6 @@ trait must provide a type to stand in for the associated type placeholder. Associated types often have a name that describes how the type will be used, and documenting the associated type in the API documentation is good practice. - - - ### Default Generic Type Parameters and Operator Overloading When we use generic type parameters, we can specify a default concrete type for @@ -1039,9 +1024,9 @@ definition is relying on is called a *supertrait* of your trait. For example, let’s say we want to make an `OutlinePrint` trait with an `outline_print` method that will print a given value formatted so that it's framed in asterisks. That is, given a `Point` struct that implements the -standard library trait `Display` to result in `(x, y)`, when we -call `outline_print` on a `Point` instance that has `1` for `x` and `3` for -`y`, it should print the following: +standard library trait `Display` to result in `(x, y)`, when we call +`outline_print` on a `Point` instance that has `1` for `x` and `3` for `y`, it +should print the following: ``` ********** @@ -1142,8 +1127,7 @@ it within an outline of asterisks. In Chapter 10 in the “Implementing a Trait on a Type” section, we mentioned the orphan rule that states we’re only allowed to implement a trait on a type if -either the trait or the type are local to our crate. -It’s possible to get +either the trait or the type are local to our crate. It’s possible to get around this restriction using the *newtype pattern*, which involves creating a new type in a tuple struct. (We covered tuple structs in the “Using Tuple Structs without Named Fields to Create Different Types” section of Chapter 5.) @@ -1267,15 +1251,6 @@ that we get from the newtype pattern discussed earlier. In other words, if we mix up `Kilometers` and `i32` values somewhere, the compiler will not give us an error. - - - The main use case for type synonyms is to reduce repetition. For example, we might have a lengthy type like this: @@ -1619,8 +1594,8 @@ functions can accept functions as arguments, but C doesn’t have closures. As an example of where you could use either a closure defined inline or a named function, let’s look at a use of the `map` method provided by the `Iterator` -trait in the standard library. To use the `map` function to turn a -vector of numbers into a vector of strings, we could use a closure, like this: +trait in the standard library. To use the `map` function to turn a vector of +numbers into a vector of strings, we could use a closure, like this: ``` let list_of_numbers = vec![1, 2, 3]; @@ -1877,14 +1852,6 @@ other resources, such as “The Little Book of Rust Macros” at *https://veykril.github.io/tlborm/* started by Daniel Keep and continued by Lukas Wirth. - - - ### Procedural Macros for Generating Code from Attributes The second form of macros is the *procedural macro*, which acts more like a @@ -2281,20 +2248,6 @@ This definition is similar to the custom derive macro’s signature: we receive the tokens that are inside the parentheses and return the code we wanted to generate. - - - ## Summary Whew! Now you have some Rust features in your toolbox that you likely won’t use From 11f87241358b1611dc0092e9352b583771c356e4 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 27 Aug 2022 19:23:23 -0400 Subject: [PATCH 0438/1248] Snapshot of ch19 after copyedit --- nostarch/chapter19.md | 1999 ++++++++++++++++++++++++++++------ nostarch/docx/chapter19.docx | Bin 0 -> 101929 bytes 2 files changed, 1695 insertions(+), 304 deletions(-) create mode 100644 nostarch/docx/chapter19.docx diff --git a/nostarch/chapter19.md b/nostarch/chapter19.md index 4a8b5a3a9c..2e613fc488 100644 --- a/nostarch/chapter19.md +++ b/nostarch/chapter19.md @@ -9,7 +9,7 @@ directory, so all fixes need to be made in `/src/`. # Advanced Features By now, you’ve learned the most commonly used parts of the Rust programming -language. Before we do one more project in Chapter 20, we’ll look at a few +language. Before we do one more project, in Chapter 20, we’ll look at a few aspects of the language you might run into every once in a while, but may not use every day. You can use this chapter as a reference for when you encounter any unknowns. The features covered here are useful in very specific situations. @@ -19,14 +19,13 @@ grasp of all the features Rust has to offer. In this chapter, we’ll cover: * Unsafe Rust: how to opt out of some of Rust’s guarantees and take - responsibility for manually upholding those guarantees +responsibility for manually upholding those guarantees * Advanced traits: associated types, default type parameters, fully qualified - syntax, supertraits, and the newtype pattern in relation to traits +syntax, supertraits, and the newtype pattern in relation to traits * Advanced types: more about the newtype pattern, type aliases, the never type, - and dynamically sized types +and dynamically sized types * Advanced functions and closures: function pointers and returning closures * Macros: ways to define code that defines more code at compile time - It’s a panoply of Rust features with something for everyone! Let’s dive in! ## Unsafe Rust @@ -66,25 +65,24 @@ include the ability to: * Access or modify a mutable static variable * Implement an unsafe trait * Access fields of `union`s - It’s important to understand that `unsafe` doesn’t turn off the borrow checker -or disable any other of Rust’s safety checks: if you use a reference in unsafe +or disable any of Rust’s other safety checks: if you use a reference in unsafe code, it will still be checked. The `unsafe` keyword only gives you access to these five features that are then not checked by the compiler for memory -safety. You’ll still get some degree of safety inside of an unsafe block. +safety. You’ll still get some degree of safety inside an unsafe block. In addition, `unsafe` does not mean the code inside the block is necessarily dangerous or that it will definitely have memory safety problems: the intent is that as the programmer, you’ll ensure the code inside an `unsafe` block will access memory in a valid way. -People are fallible, and mistakes will happen, but by requiring these five -unsafe operations to be inside blocks annotated with `unsafe` you’ll know that +People are fallible and mistakes will happen, but by requiring these five +unsafe operations to be inside blocks annotated with `unsafe`, you’ll know that any errors related to memory safety must be within an `unsafe` block. Keep `unsafe` blocks small; you’ll be thankful later when you investigate memory bugs. -To isolate unsafe code as much as possible, it’s best to enclose unsafe code +To isolate unsafe code as much as possible, it’s best to enclose such code within a safe abstraction and provide a safe API, which we’ll discuss later in the chapter when we examine unsafe functions and methods. Parts of the standard library are implemented as safe abstractions over unsafe code that has been @@ -98,22 +96,21 @@ some abstractions that provide a safe interface to unsafe code. ### Dereferencing a Raw Pointer -In Chapter 4, in the “Dangling References” section, we mentioned that the -compiler ensures references are always valid. Unsafe Rust has two new types -called *raw pointers* that are similar to references. As with references, raw -pointers can be immutable or mutable and are written as `*const T` and `*mut -T`, respectively. The asterisk isn’t the dereference operator; it’s part of the +In “Dangling References” on page XX, we mentioned that the compiler ensures +references are always valid. Unsafe Rust has two new types called *raw +pointers* that are similar to references. As with references, raw pointers can +be immutable or mutable and are written as `*const T` and `*mut T`, +respectively. The asterisk isn’t the dereference operator; it’s part of the type name. In the context of raw pointers, *immutable* means that the pointer can’t be directly assigned to after being dereferenced. Different from references and smart pointers, raw pointers: * Are allowed to ignore the borrowing rules by having both immutable and - mutable pointers or multiple mutable pointers to the same location +mutable pointers or multiple mutable pointers to the same location * Aren’t guaranteed to point to valid memory * Are allowed to be null * Don’t implement any automatic cleanup - By opting out of having Rust enforce these guarantees, you can give up guaranteed safety in exchange for greater performance or the ability to interface with another language or hardware where Rust’s guarantees don’t apply. @@ -123,12 +120,21 @@ references. ``` let mut num = 5; +``` + +``` + +``` +``` let r1 = &num as *const i32; +``` + +``` let r2 = &mut num as *mut i32; ``` -Listing 19-1: Creating raw pointers from references +Creating raw pointers from references Notice that we don’t include the `unsafe` keyword in this code. We can create raw pointers in safe code; we just can’t dereference raw pointers outside an @@ -150,10 +156,13 @@ possible. ``` let address = 0x012345usize; +``` + +``` let r = address as *const i32; ``` -Listing 19-2: Creating a raw pointer to an arbitrary memory address +Creating a raw pointer to an arbitrary memory address Recall that we can create raw pointers in safe code, but we can’t *dereference* raw pointers and read the data being pointed to. In Listing 19-3, we use the @@ -161,23 +170,47 @@ dereference operator `*` on a raw pointer that requires an `unsafe` block. ``` let mut num = 5; +``` +``` + +``` + +``` let r1 = &num as *const i32; +``` + +``` let r2 = &mut num as *mut i32; +``` + +``` + +``` +``` unsafe { +``` + +``` println!("r1 is: {}", *r1); +``` + +``` println!("r2 is: {}", *r2); +``` + +``` } ``` -Listing 19-3: Dereferencing raw pointers within an `unsafe` block +Dereferencing raw pointers within an `unsafe` block Creating a pointer does no harm; it’s only when we try to access the value that it points at that we might end up dealing with an invalid value. -Note also that in Listing 19-1 and 19-3, we created `*const i32` and `*mut i32` -raw pointers that both pointed to the same memory location, where `num` is +Note also that in Listings 19-1 and 19-3, we created `*const i32` and `*mut +i32` raw pointers that both pointed to the same memory location, where `num` is stored. If we instead tried to create an immutable and a mutable reference to `num`, the code would not have compiled because Rust’s ownership rules don’t allow a mutable reference at the same time as any immutable references. With @@ -186,8 +219,8 @@ same location and change data through the mutable pointer, potentially creating a data race. Be careful! With all of these dangers, why would you ever use raw pointers? One major use -case is when interfacing with C code, as you’ll see in the next section, -“Calling an Unsafe Function or Method.” Another case is when building up safe +case is when interfacing with C code, as you’ll see in“Calling an Unsafe +Function or Method” on page XX. Another case is when building up safe abstractions that the borrow checker doesn’t understand. We’ll introduce unsafe functions and then look at an example of a safe abstraction that uses unsafe code. @@ -201,16 +234,28 @@ definition. The `unsafe` keyword in this context indicates the function has requirements we need to uphold when we call this function, because Rust can’t guarantee we’ve met these requirements. By calling an unsafe function within an `unsafe` block, we’re saying that we’ve read this function’s documentation and -take responsibility for upholding the function’s contracts. +we take responsibility for upholding the function’s contracts. Here is an unsafe function named `dangerous` that doesn’t do anything in its body: ``` unsafe fn dangerous() {} +``` +``` + +``` + +``` unsafe { +``` + +``` dangerous(); +``` + +``` } ``` @@ -218,13 +263,36 @@ We must call the `dangerous` function within a separate `unsafe` block. If we try to call `dangerous` without the `unsafe` block, we’ll get an error: ``` -error[E0133]: call to unsafe function is unsafe and requires unsafe function or block +error[E0133]: call to unsafe function is unsafe and requires unsafe function or +block +``` + +``` --> src/main.rs:4:5 +``` + +``` | +``` + +``` 4 | dangerous(); +``` + +``` | ^^^^^^^^^^^ call to unsafe function +``` + +``` | - = note: consult the function's documentation for information on how to avoid undefined behavior +``` + +``` + = note: consult the function's documentation for information on how to avoid +``` + +``` +undefined behavior ``` With the `unsafe` block, we’re asserting to Rust that we’ve read the function’s @@ -247,16 +315,37 @@ argument. Listing 19-4 shows how to use `split_at_mut`. ``` let mut v = vec![1, 2, 3, 4, 5, 6]; +``` + +``` + +``` +``` let r = &mut v[..]; +``` + +``` + +``` +``` let (a, b) = r.split_at_mut(3); +``` + +``` + +``` +``` assert_eq!(a, &mut [1, 2, 3]); +``` + +``` assert_eq!(b, &mut [4, 5, 6]); ``` -Listing 19-4: Using the safe `split_at_mut` function +Using the safe `split_at_mut` function We can’t implement this function using only safe Rust. An attempt might look something like Listing 19-5, which won’t compile. For simplicity, we’ll @@ -265,15 +354,33 @@ of `i32` values rather than for a generic type `T`. ``` fn split_at_mut(values: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { +``` + +``` let len = values.len(); +``` + +``` + +``` +``` assert!(mid <= len); +``` + +``` + +``` +``` (&mut values[..mid], &mut values[mid..]) +``` + +``` } ``` -Listing 19-5: An attempted implementation of `split_at_mut` using only safe Rust +An attempted implementation of `split_at_mut` using only safe Rust This function first gets the total length of the slice. Then it asserts that the index given as a parameter is within the slice by checking whether it’s @@ -289,16 +396,50 @@ When we try to compile the code in Listing 19-5, we’ll get an error: ``` error[E0499]: cannot borrow `*values` as mutable more than once at a time +``` + +``` --> src/main.rs:6:31 +``` + +``` | -1 | fn split_at_mut(values: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { +``` + +``` +1 | fn split_at_mut(values: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) +{ +``` + +``` | - let's call the lifetime of this reference `'1` +``` + +``` ... +``` + +``` 6 | (&mut values[..mid], &mut values[mid..]) +``` + +``` | --------------------------^^^^^^-------- +``` + +``` | | | | +``` + +``` | | | second mutable borrow occurs here +``` + +``` | | first mutable borrow occurs here +``` + +``` | returning this value requires that `*values` is borrowed for `'1` ``` @@ -313,32 +454,72 @@ to unsafe functions to make the implementation of `split_at_mut` work. ``` use std::slice; +``` + +``` +``` + +``` fn split_at_mut(values: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { - [1] let len = values.len(); - [2] let ptr = values.as_mut_ptr(); +``` + +``` + 1 let len = values.len(); +``` + +``` + 2 let ptr = values.as_mut_ptr(); +``` + +``` - [3] assert!(mid <= len); +``` + +``` + 3 assert!(mid <= len); +``` + +``` + +``` - [4] unsafe { +``` + 4 unsafe { +``` + +``` ( - [5] slice::from_raw_parts_mut(ptr, mid), - [6] slice::from_raw_parts_mut(ptr.add(mid), len - mid), +``` + +``` + 5 slice::from_raw_parts_mut(ptr, mid), +``` + +``` + 6 slice::from_raw_parts_mut(ptr.add(mid), len - mid), +``` + +``` ) +``` + +``` } -} ``` -Listing 19-6: Using unsafe code in the implementation of the `split_at_mut` -function +``` +} +``` +Using unsafe code in the implementation of the `split_at_mut` function -Recall from “The Slice Type” section in Chapter 4 that a slice is a pointer to -some data and the length of the slice. We use the `len` method to get the -length of a slice [1] and the `as_mut_ptr` method to access the raw pointer of -a slice [2]. In this case, because we have a mutable slice to `i32` values, -`as_mut_ptr` returns a raw pointer with the type `*mut i32`, which we’ve stored -in the variable `ptr`. +Recall from “The Slice Type” on page XX that a slice is a pointer to some data +and the length of the slice. We use the `len` method to get the length of a +slice [1] and the `as_mut_ptr` method to access the raw pointer of a slice [2]. +In this case, because we have a mutable slice to `i32` values, `as_mut_ptr` +returns a raw pointer with the type `*mut i32`, which we’ve stored in the +variable `ptr`. We keep the assertion that the `mid` index is within the slice [3]. Then we get to the unsafe code [4]: the `slice::from_raw_parts_mut` function takes a raw @@ -350,15 +531,15 @@ we create a slice using that pointer and the remaining number of items after The function `slice::from_raw_parts_mut` is unsafe because it takes a raw pointer and must trust that this pointer is valid. The `add` method on raw -pointers is also unsafe, because it must trust that the offset location is also +pointers is also unsafe because it must trust that the offset location is also a valid pointer. Therefore, we had to put an `unsafe` block around our calls to -`slice::from_raw_parts_mut` and `add` so we could call them. By looking at -the code and by adding the assertion that `mid` must be less than or equal to +`slice::from_raw_parts_mut` and `add` so we could call them. By looking at the +code and by adding the assertion that `mid` must be less than or equal to `len`, we can tell that all the raw pointers used within the `unsafe` block will be valid pointers to data within the slice. This is an acceptable and appropriate use of `unsafe`. -Note that we don’t need to mark the resulting `split_at_mut` function as +Note that we don’t need to mark the resultant `split_at_mut` function as `unsafe`, and we can call this function from safe Rust. We’ve created a safe abstraction to the unsafe code with an implementation of the function that uses `unsafe` code in a safe way, because it creates only valid pointers from the @@ -370,24 +551,39 @@ location and creates a slice 10,000 items long. ``` use std::slice; +``` + +``` + +``` +``` let address = 0x01234usize; +``` + +``` let r = address as *mut i32; +``` + +``` +``` + +``` let values: &[i32] = unsafe { slice::from_raw_parts_mut(r, 10000) }; ``` -Listing 19-7: Creating a slice from an arbitrary memory location +Creating a slice from an arbitrary memory location We don’t own the memory at this arbitrary location, and there is no guarantee that the slice this code creates contains valid `i32` values. Attempting to use `values` as though it’s a valid slice results in undefined behavior. -#### Using `extern` Functions to Call External Code +#### Using extern Functions to Call External Code -Sometimes, your Rust code might need to interact with code written in another +Sometimes your Rust code might need to interact with code written in another language. For this, Rust has the keyword `extern` that facilitates the creation -and use of a *Foreign Function Interface (FFI)*. An FFI is a way for a +and use of a *Foreign Function Interface* *(FFI)*. An FFI is a way for a programming language to define functions and enable a different (foreign) programming language to call those functions. @@ -401,48 +597,78 @@ Filename: src/main.rs ``` extern "C" { +``` + +``` fn abs(input: i32) -> i32; +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` unsafe { +``` + +``` println!("Absolute value of -3 according to C: {}", abs(-3)); +``` + +``` } +``` + +``` } ``` -Listing 19-8: Declaring and calling an `extern` function defined in another -language +Declaring and calling an `extern` function defined in another language Within the `extern "C"` block, we list the names and signatures of external functions from another language we want to call. The `"C"` part defines which -*application binary interface (ABI)* the external function uses: the ABI +*application binary interface* *(ABI)* the external function uses: the ABI defines how to call the function at the assembly level. The `"C"` ABI is the most common and follows the C programming language’s ABI. -> #### Calling Rust Functions from Other Languages -> + +Unmatched: BoxType + +> ### Calling Rust Functions from Other Languages + + > We can also use `extern` to create an interface that allows other languages -> to call Rust functions. Instead of creating a whole `extern` block, we add -> the `extern` keyword and specify the ABI to use just before the `fn` keyword -> for the relevant function. We also need to add a `#[no_mangle]` annotation to -> tell the Rust compiler not to mangle the name of this function. *Mangling* is -> when a compiler changes the name we’ve given a function to a different name -> that contains more information for other parts of the compilation process to -> consume but is less human readable. Every programming language compiler -> mangles names slightly differently, so for a Rust function to be nameable by -> other languages, we must disable the Rust compiler’s name mangling. -> +to call Rust functions. Instead of creating a whole `extern` block, we add the +`extern` keyword and specify the ABI to use just before the `fn` keyword for +the relevant function. We also need to add a `#[no_mangle]` annotation to tell +the Rust compiler not to mangle the name of this function. *Mangling* is when a +compiler changes the name we’ve given a function to a different name that +contains more information for other parts of the compilation process to consume +but is less human readable. Every programming language compiler mangles names +slightly differently, so for a Rust function to be nameable by other languages, +we must disable the Rust compiler’s name mangling. + + > In the following example, we make the `call_from_c` function accessible from -> C code, after it’s compiled to a shared library and linked from C: -> -> ``` -> #[no_mangle] -> pub extern "C" fn call_from_c() { -> println!("Just called a Rust function from C!"); -> } -> ``` -> +C code, after it’s compiled to a shared library and linked from C: + + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + +Unmatched: BoxCode + > This usage of `extern` does not require `unsafe`. ### Accessing or Modifying a Mutable Static Variable @@ -452,27 +678,38 @@ support but can be problematic with Rust’s ownership rules. If two threads are accessing the same mutable global variable, it can cause a data race. In Rust, global variables are called *static* variables. Listing 19-9 shows an -example declaration and use of a static variable with a string slice as a -value. +example declaration and use of a static variable with a string slice as a value. Filename: src/main.rs ``` static HELLO_WORLD: &str = "Hello, world!"; +``` +``` + +``` + +``` fn main() { +``` + +``` println!("name is: {}", HELLO_WORLD); +``` + +``` } ``` -Listing 19-9: Defining and using an immutable static variable +Defining and using an immutable static variable -Static variables are similar to constants, which we discussed in the -“Differences Between Variables and Constants” section in Chapter 3. The names -of static variables are in `SCREAMING_SNAKE_CASE` by convention. Static -variables can only store references with the `'static` lifetime, which means -the Rust compiler can figure out the lifetime and we aren’t required to -annotate it explicitly. Accessing an immutable static variable is safe. +Static variables are similar to constants, which we discussed in “Differences +Between Variables and Constants” on page XX. The names of static variables are +in `SCREAMING_SNAKE_CASE` by convention. Static variables can only store +references with the `'static` lifetime, which means the Rust compiler can +figure out the lifetime and we aren’t required to annotate it explicitly. +Accessing an immutable static variable is safe. A subtle difference between constants and immutable static variables is that values in a static variable have a fixed address in memory. Using the value @@ -486,23 +723,65 @@ Filename: src/main.rs ``` static mut COUNTER: u32 = 0; +``` -fn add_to_count(inc: u32) { - unsafe { - COUNTER += inc; - } +``` + +``` + +``` +fn add_to_count(inc: u32) { +``` + +``` + unsafe { +``` + +``` + COUNTER += inc; +``` + +``` + } +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` add_to_count(3); +``` + +``` +``` + +``` unsafe { +``` + +``` println!("COUNTER: {}", COUNTER); +``` + +``` } +``` + +``` } ``` -Listing 19-10: Reading from or writing to a mutable static variable is unsafe +Reading from or writing to a mutable static variable is unsafe. As with regular variables, we specify mutability using the `mut` keyword. Any code that reads or writes from `COUNTER` must be within an `unsafe` block. This @@ -514,7 +793,7 @@ With mutable data that is globally accessible, it’s difficult to ensure there are no data races, which is why Rust considers mutable static variables to be unsafe. Where possible, it’s preferable to use the concurrency techniques and thread-safe smart pointers we discussed in Chapter 16 so the compiler checks -that data accessed from different threads is done safely. +that data access from different threads is done safely. ### Implementing an Unsafe Trait @@ -526,30 +805,54 @@ Listing 19-11. ``` unsafe trait Foo { +``` + +``` // methods go here +``` + +``` } +``` +``` + +``` + +``` unsafe impl Foo for i32 { +``` + +``` // method implementations go here +``` + +``` } +``` + +``` + +``` +``` fn main() {} ``` -Listing 19-11: Defining and implementing an unsafe trait +Defining and implementing an unsafe trait By using `unsafe impl`, we’re promising that we’ll uphold the invariants that the compiler can’t verify. -As an example, recall the `Sync` and `Send` marker traits we discussed in the -“Extensible Concurrency with the `Sync` and `Send` Traits” section in Chapter -16: the compiler implements these traits automatically if our types are -composed entirely of `Send` and `Sync` types. If we implement a type that -contains a type that is not `Send` or `Sync`, such as raw pointers, and we want -to mark that type as `Send` or `Sync`, we must use `unsafe`. Rust can’t verify -that our type upholds the guarantees that it can be safely sent across threads -or accessed from multiple threads; therefore, we need to do those checks -manually and indicate as such with `unsafe`. +As an example, recall the `S``end` and `S``ync` marker traits we discussed in +“Extensible Concurrency with the Send and Sync Traits” on page XX: the compiler +implements these traits automatically if our types are composed entirely of +`Send` and `Sync` types. If we implement a type that contains a type that is +not `Send` or `Sync`, such as raw pointers, and we want to mark that type as +`Send` or `Sync`, we must use `unsafe`. Rust can’t verify that our type upholds +the guarantees that it can be safely sent across threads or accessed from +multiple threads; therefore, we need to do those checks manually and indicate +as such with `unsafe`. ### Accessing Fields of a Union @@ -559,7 +862,7 @@ used in a particular instance at one time. Unions are primarily used to interface with unions in C code. Accessing union fields is unsafe because Rust can’t guarantee the type of the data currently being stored in the union instance. You can learn more about unions in the Rust Reference at -*https://doc.rust-lang.org/reference/items/unions.html*. +*https://doc.rust-lang.org/reference/items/unions.html**.* ### When to Use Unsafe Code @@ -571,11 +874,11 @@ it easier to track down the source of problems when they occur. ## Advanced Traits -We first covered traits in the “Traits: Defining Shared Behavior” section of -Chapter 10, but we didn’t discuss the more advanced details. Now that you know -more about Rust, we can get into the nitty-gritty. +We first covered traits in “Traits: Defining Shared Behavior” on page XX, but +we didn’t discuss the more advanced details. Now that you know more about Rust, +we can get into the nitty-gritty. -### Specifying Placeholder Types in Trait Definitions with Associated Types +### Associated Types *Associated types* connect a type placeholder with a trait such that the trait method definitions can use these placeholder types in their signatures. The @@ -597,14 +900,25 @@ iterating over. The definition of the `Iterator` trait is as shown in Listing ``` pub trait Iterator { +``` + +``` type Item; +``` + +``` +``` + +``` fn next(&mut self) -> Option; +``` + +``` } ``` -Listing 19-12: The definition of the `Iterator` trait that has an associated -type `Item` +The definition of the `Iterator` trait that has an associated type `Item` The type `Item` is a placeholder, and the `next` method’s definition shows that it will return values of type `Option`. Implementors of the @@ -621,10 +935,22 @@ Filename: src/lib.rs ``` impl Iterator for Counter { +``` + +``` type Item = u32; +``` +``` + +``` + +``` fn next(&mut self) -> Option { - // --snip-- +``` + +``` + --snip-- ``` This syntax seems comparable to that of generics. So why not just define the @@ -632,11 +958,17 @@ This syntax seems comparable to that of generics. So why not just define the ``` pub trait Iterator { +``` + +``` fn next(&mut self) -> Option; +``` + +``` } ``` -Listing 19-13: A hypothetical definition of the `Iterator` trait using generics +A hypothetical definition of the `Iterator` trait using generics The difference is that when using generics, as in Listing 19-13, we must annotate the types in each implementation; because we can also implement @@ -649,15 +981,15 @@ indicate which implementation of `Iterator` we want to use. With associated types, we don’t need to annotate types because we can’t implement a trait on a type multiple times. In Listing 19-12 with the -definition that uses associated types, we can only choose what the type of -`Item` will be once, because there can only be one `impl Iterator for Counter`. -We don’t have to specify that we want an iterator of `u32` values everywhere -that we call `next` on `Counter`. +definition that uses associated types, we can choose what the type of `Item` +will be only once because there can be only one `impl Iterator for Counter`. We +don’t have to specify that we want an iterator of `u32` values everywhere we +call `next` on `Counter`. Associated types also become part of the trait’s contract: implementors of the trait must provide a type to stand in for the associated type placeholder. Associated types often have a name that describes how the type will be used, -and documenting the associated type in the API documentation is good practice. +and documenting the associated type in the API documentation is a good practice. ### Default Generic Type Parameters and Operator Overloading @@ -675,40 +1007,111 @@ operators. But you can overload the operations and corresponding traits listed in `std::ops` by implementing the traits associated with the operator. For example, in Listing 19-14 we overload the `+` operator to add two `Point` instances together. We do this by implementing the `Add` trait on a `Point` -struct: +struct. Filename: src/main.rs ``` use std::ops::Add; +``` + +``` + +``` +``` #[derive(Debug, Copy, Clone, PartialEq)] +``` + +``` struct Point { +``` + +``` x: i32, +``` + +``` y: i32, +``` + +``` } +``` + +``` +``` + +``` impl Add for Point { +``` + +``` type Output = Point; +``` + +``` +``` + +``` fn add(self, other: Point) -> Point { +``` + +``` Point { +``` + +``` x: self.x + other.x, +``` + +``` y: self.y + other.y, +``` + +``` } +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` assert_eq!( +``` + +``` Point { x: 1, y: 0 } + Point { x: 2, y: 3 }, +``` + +``` Point { x: 3, y: 3 } +``` + +``` ); +``` + +``` } ``` -Listing 19-14: Implementing the `Add` trait to overload the `+` operator for -`Point` instances +Implementing the `Add` trait to overload the `+` operator for `Point` instances The `add` method adds the `x` values of two `Point` instances and the `y` values of two `Point` instances to create a new `Point`. The `Add` trait has an @@ -720,15 +1123,27 @@ definition: ``` trait Add { +``` + +``` type Output; +``` +``` + +``` + +``` fn add(self, rhs: Rhs) -> Self::Output; +``` + +``` } ``` This code should look generally familiar: a trait with one method and an associated type. The new part is `Rhs=Self`: this syntax is called *default -type parameters*. The `Rhs` generic type parameter (short for “right hand +type parameters*. The `Rhs` generic type parameter (short for “right-hand side”) defines the type of the `rhs` parameter in the `add` method. If we don’t specify a concrete type for `Rhs` when we implement the `Add` trait, the type of `Rhs` will default to `Self`, which will be the type we’re implementing @@ -741,40 +1156,71 @@ default. We have two structs, `Millimeters` and `Meters`, holding values in different units. This thin wrapping of an existing type in another struct is known as the -*newtype pattern*, which we describe in more detail in the “Using the Newtype -Pattern to Implement External Traits on External Types” section. We want to add -values in millimeters to values in meters and have the implementation of `Add` -do the conversion correctly. We can implement `Add` for `Millimeters` with -`Meters` as the `Rhs`, as shown in Listing 19-15. +*newtype pattern*, which we describe in more detail in “Using the Newtype +Pattern to Implement External Traits on External Types” on page XX. We want to +add values in millimeters to values in meters and have the implementation of +`Add` do the conversion correctly. We can implement `Add` for `Millimeters` +with `Meters` as the `Rhs`, as shown in Listing 19-15. Filename: src/lib.rs ``` use std::ops::Add; +``` + +``` + +``` +``` struct Millimeters(u32); +``` + +``` struct Meters(u32); +``` +``` + +``` + +``` impl Add for Millimeters { +``` + +``` type Output = Millimeters; +``` + +``` + +``` +``` fn add(self, other: Meters) -> Millimeters { +``` + +``` Millimeters(self.0 + (other.0 * 1000)) +``` + +``` } +``` + +``` } ``` -Listing 19-15: Implementing the `Add` trait on `Millimeters` to add -`Millimeters` to `Meters` +Implementing the `Add` trait on `Millimeters` to add `Millimeters` and `Meters` To add `Millimeters` and `Meters`, we specify `impl Add` to set the value of the `Rhs` type parameter instead of using the default of `Self`. You’ll use default type parameters in two main ways: -* To extend a type without breaking existing code -* To allow customization in specific cases most users won’t need - +1. To extend a type without breaking existing code +1. To allow customization in specific cases most users won’t need The standard library’s `Add` trait is an example of the second purpose: usually, you’ll add two like types, but the `Add` trait provides the ability to customize beyond that. Using a default type parameter in the `Add` trait @@ -787,7 +1233,7 @@ type parameter to an existing trait, you can give it a default to allow extension of the functionality of the trait without breaking the existing implementation code. -### Fully Qualified Syntax for Disambiguation: Calling Methods with the Same Name +### Disambiguation: Calling Methods with the Same Name Nothing in Rust prevents a trait from having a method with the same name as another trait’s method, nor does Rust prevent you from implementing both traits @@ -804,37 +1250,114 @@ Filename: src/main.rs ``` trait Pilot { +``` + +``` fn fly(&self); +``` + +``` } +``` + +``` +``` + +``` trait Wizard { +``` + +``` fn fly(&self); +``` + +``` } +``` +``` + +``` + +``` struct Human; +``` + +``` + +``` +``` impl Pilot for Human { +``` + +``` fn fly(&self) { +``` + +``` println!("This is your captain speaking."); +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` impl Wizard for Human { +``` + +``` fn fly(&self) { +``` + +``` println!("Up!"); +``` + +``` } +``` + +``` } +``` +``` + +``` + +``` impl Human { +``` + +``` fn fly(&self) { +``` + +``` println!("*waving arms furiously*"); +``` + +``` } +``` + +``` } ``` -Listing 19-16: Two traits are defined to have a `fly` method and are -implemented on the `Human` type, and a `fly` method is implemented on `Human` -directly +Two traits are defined to have a `fly` method and are implemented on the +`Human` type, and a `fly` method is implemented on `Human` directly. When we call `fly` on an instance of `Human`, the compiler defaults to calling the method that is directly implemented on the type, as shown in Listing 19-17. @@ -843,12 +1366,21 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let person = Human; +``` + +``` person.fly(); +``` + +``` } ``` -Listing 19-17: Calling `fly` on an instance of `Human` +Calling `fly` on an instance of `Human` Running this code will print `*waving arms furiously*`, showing that Rust called the `fly` method implemented on `Human` directly. @@ -861,14 +1393,29 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let person = Human; +``` + +``` Pilot::fly(&person); +``` + +``` Wizard::fly(&person); +``` + +``` person.fly(); +``` + +``` } ``` -Listing 19-18: Specifying which trait’s `fly` method we want to call +Specifying which trait’s `fly` method we want to call Specifying the trait name before the method name clarifies to Rust which implementation of `fly` we want to call. We could also write @@ -880,11 +1427,29 @@ Running this code prints the following: ``` $ cargo run +``` + +``` Compiling traits-example v0.1.0 (file:///projects/traits-example) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.46s +``` + +``` Running `target/debug/traits-example` +``` + +``` This is your captain speaking. +``` + +``` Up! +``` + +``` *waving arms furiously* ``` @@ -894,41 +1459,101 @@ trait to use based on the type of `self`. However, associated functions that are not methods don’t have a `self` parameter. When there are multiple types or traits that define non-method -functions with the same function name, Rust doesn't always know which type you +functions with the same function name, Rust doesn’t always know which type you mean unless you use *fully qualified syntax*. For example, in Listing 19-19 we -create a trait for an animal shelter that wants to name all baby dogs *Spot*. -We make an `Animal` trait with an associated non-method function `baby_name`. -The `Animal` trait is implemented for the struct `Dog`, on which we also -provide an associated non-method function `baby_name` directly. +create a trait for an animal shelter that wants to name all baby dogs Spot. We +make an `Animal` trait with an associated non-method function `baby_name`. The +`Animal` trait is implemented for the struct `Dog`, on which we also provide an +associated non-method function `baby_name` directly. Filename: src/main.rs ``` trait Animal { +``` + +``` fn baby_name() -> String; +``` + +``` } +``` + +``` + +``` +``` struct Dog; +``` + +``` + +``` +``` impl Dog { +``` + +``` fn baby_name() -> String { +``` + +``` String::from("Spot") +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` impl Animal for Dog { +``` + +``` fn baby_name() -> String { +``` + +``` String::from("puppy") +``` + +``` } +``` + +``` } +``` +``` + +``` + +``` fn main() { +``` + +``` println!("A baby dog is called a {}", Dog::baby_name()); +``` + +``` } ``` -Listing 19-19: A trait with an associated function and a type with an -associated function of the same name that also implements the trait +A trait with an associated function and a type with an associated function of +the same name that also implements the trait We implement the code for naming all puppies Spot in the `baby_name` associated function that is defined on `Dog`. The `Dog` type also implements the trait @@ -953,24 +1578,49 @@ Filename: src/main.rs ``` fn main() { +``` + +``` println!("A baby dog is called a {}", Animal::baby_name()); +``` + +``` } ``` -Listing 19-20: Attempting to call the `baby_name` function from the `Animal` -trait, but Rust doesn’t know which implementation to use +Attempting to call the `baby_name` function from the `Animal` trait, but Rust +doesn’t know which implementation to use Because `Animal::baby_name` doesn’t have a `self` parameter, and there could be other types that implement the `Animal` trait, Rust can’t figure out which implementation of `Animal::baby_name` we want. We’ll get this compiler error: ``` -error[E0283]: type annotations needed - --> src/main.rs:20:43 +error[E0283]: type annotations needed +``` + +``` + --> src/main.rs:20:43 +``` + +``` | +``` + +``` 20 | println!("A baby dog is called a {}", Animal::baby_name()); - | ^^^^^^^^^^^^^^^^^ cannot infer type +``` + +``` + | ^^^^^^^^^^^^^^^^^ cannot infer +type +``` + +``` | +``` + +``` = note: cannot satisfy `_: Animal` ``` @@ -983,12 +1633,18 @@ Filename: src/main.rs ``` fn main() { +``` + +``` println!("A baby dog is called a {}", ::baby_name()); +``` + +``` } ``` -Listing 19-21: Using fully qualified syntax to specify that we want to call the -`baby_name` function from the `Animal` trait as implemented on `Dog` +Using fully qualified syntax to specify that we want to call the `baby_name` +function from the `Animal` trait as implemented on `Dog` We’re providing Rust with a type annotation within the angle brackets, which indicates we want to call the `baby_name` method from the `Animal` trait as @@ -1013,16 +1669,16 @@ in the program. You only need to use this more verbose syntax in cases where there are multiple implementations that use the same name and Rust needs help to identify which implementation you want to call. -### Using Supertraits to Require One Trait’s Functionality Within Another Trait +### Using Supertraits -Sometimes, you might write a trait definition that depends on another trait: -for a type to implement the first trait, you want to require that type to also +Sometimes you might write a trait definition that depends on another trait: for +a type to implement the first trait, you want to require that type to also implement the second trait. You would do this so that your trait definition can make use of the associated items of the second trait. The trait your trait definition is relying on is called a *supertrait* of your trait. For example, let’s say we want to make an `OutlinePrint` trait with an -`outline_print` method that will print a given value formatted so that it's +`outline_print` method that will print a given value formatted so that it’s framed in asterisks. That is, given a `Point` struct that implements the standard library trait `Display` to result in `(x, y)`, when we call `outline_print` on a `Point` instance that has `1` for `x` and `3` for `y`, it @@ -1030,9 +1686,21 @@ should print the following: ``` ********** +``` + +``` * * +``` + +``` * (1, 3) * +``` + +``` * * +``` + +``` ********** ``` @@ -1048,22 +1716,58 @@ Filename: src/main.rs ``` use std::fmt; +``` + +``` + +``` +``` trait OutlinePrint: fmt::Display { +``` + +``` fn outline_print(&self) { +``` + +``` let output = self.to_string(); +``` + +``` let len = output.len(); +``` + +``` println!("{}", "*".repeat(len + 4)); +``` + +``` println!("*{}*", " ".repeat(len + 2)); +``` + +``` println!("* {} *", output); +``` + +``` println!("*{}*", " ".repeat(len + 2)); +``` + +``` println!("{}", "*".repeat(len + 4)); +``` + +``` } +``` + +``` } ``` -Listing 19-22: Implementing the `OutlinePrint` trait that requires the -functionality from `Display` +Implementing the `OutlinePrint` trait that requires the functionality from +`Display` Because we’ve specified that `OutlinePrint` requires the `Display` trait, we can use the `to_string` function that is automatically implemented for any type @@ -1079,10 +1783,25 @@ Filename: src/main.rs ``` struct Point { +``` + +``` x: i32, +``` + +``` y: i32, +``` + +``` } +``` + +``` + +``` +``` impl OutlinePrint for Point {} ``` @@ -1090,17 +1809,54 @@ We get an error saying that `Display` is required but not implemented: ``` error[E0277]: `Point` doesn't implement `std::fmt::Display` +``` + +``` --> src/main.rs:20:6 +``` + +``` | +``` + +``` 20 | impl OutlinePrint for Point {} +``` + +``` | ^^^^^^^^^^^^ `Point` cannot be formatted with the default formatter +``` + +``` | +``` + +``` = help: the trait `std::fmt::Display` is not implemented for `Point` - = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead +``` + +``` + = note: in format strings you may be able to use `{:?}` (or {:#?} for +pretty-print) instead +``` + +``` note: required by a bound in `OutlinePrint` +``` + +``` --> src/main.rs:3:21 +``` + +``` | +``` + +``` 3 | trait OutlinePrint: fmt::Display { +``` + +``` | ^^^^^^^^^^^^ required by this bound in `OutlinePrint` ``` @@ -1111,31 +1867,49 @@ Filename: src/main.rs ``` use std::fmt; +``` + +``` + +``` +``` impl fmt::Display for Point { +``` + +``` fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { +``` + +``` write!(f, "({}, {})", self.x, self.y) +``` + +``` } +``` + +``` } ``` -Then implementing the `OutlinePrint` trait on `Point` will compile +Then, implementing the `OutlinePrint` trait on `Point` will compile successfully, and we can call `outline_print` on a `Point` instance to display it within an outline of asterisks. -### Using the Newtype Pattern to Implement External Traits on External Types +### Using the Newtype Pattern to Implement External Traits -In Chapter 10 in the “Implementing a Trait on a Type” section, we mentioned the -orphan rule that states we’re only allowed to implement a trait on a type if -either the trait or the type are local to our crate. It’s possible to get -around this restriction using the *newtype pattern*, which involves creating a -new type in a tuple struct. (We covered tuple structs in the “Using Tuple -Structs without Named Fields to Create Different Types” section of Chapter 5.) -The tuple struct will have one field and be a thin wrapper around the type we -want to implement a trait for. Then the wrapper type is local to our crate, and -we can implement the trait on the wrapper. *Newtype* is a term that originates -from the Haskell programming language. There is no runtime performance penalty -for using this pattern, and the wrapper type is elided at compile time. +In “Implementing a Trait on a Type” on page XX, we mentioned the orphan rule +that states we’re only allowed to implement a trait on a type if either the +trait or the type is local to our crate. It’s possible to get around this +restriction using the *newtype pattern*, which involves creating a new type in +a tuple struct. (We covered tuple structs in “Using Tuple Structs Without Named +Fields to Create Different Types” on page XX.) The tuple struct will have one +field and be a thin wrapper around the type for which we want to implement a +trait. Then the wrapper type is local to our crate, and we can implement the +trait on the wrapper. *Newtype* is a term that originates from the Haskell +programming language. There is no runtime performance penalty for using this +pattern, and the wrapper type is elided at compile time. As an example, let’s say we want to implement `Display` on `Vec`, which the orphan rule prevents us from doing directly because the `Display` trait and the @@ -1147,25 +1921,63 @@ Filename: src/main.rs ``` use std::fmt; +``` + +``` + +``` +``` struct Wrapper(Vec); +``` + +``` + +``` +``` impl fmt::Display for Wrapper { +``` + +``` fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { +``` + +``` write!(f, "[{}]", self.0.join(", ")) +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` let w = Wrapper(vec![String::from("hello"), String::from("world")]); +``` + +``` println!("w = {}", w); +``` + +``` } ``` -Listing 19-23: Creating a `Wrapper` type around `Vec` to implement -`Display` +Creating a `Wrapper` type around `Vec` to implement `Display` -The implementation of `Display` uses `self.0` to access the inner `Vec`, +The implementation of `Display` uses `self.0` to access the inner `Vec` because `Wrapper` is a tuple struct and `Vec` is the item at index 0 in the tuple. Then we can use the functionality of the `Display` type on `Wrapper`. @@ -1174,12 +1986,11 @@ doesn’t have the methods of the value it’s holding. We would have to impleme all the methods of `Vec` directly on `Wrapper` such that the methods delegate to `self.0`, which would allow us to treat `Wrapper` exactly like a `Vec`. If we wanted the new type to have every method the inner type has, -implementing the `Deref` trait (discussed in Chapter 15 in the “Treating Smart -Pointers Like Regular References with the `Deref` Trait” section) on the -`Wrapper` to return the inner type would be a solution. If we don’t want the -`Wrapper` type to have all the methods of the inner type—for example, to -restrict the `Wrapper` type’s behavior—we would have to implement just the -methods we do want manually. +implementing the `Deref` trait (discussed in “Treating Smart Pointers Like +Regular References with Deref” on page XX) on the `Wrapper` to return the inner +type would be a solution. If we didn’t want the `Wrapper` type to have all the +methods of the inner type—for example, to restrict the `Wrapper` type’s +behavior—we would have to implement just the methods we do want manually. This newtype pattern is also useful even when traits are not involved. Let’s switch focus and look at some advanced ways to interact with Rust’s type system. @@ -1194,9 +2005,8 @@ the `!` type and dynamically sized types. ### Using the Newtype Pattern for Type Safety and Abstraction -> Note: This section assumes you’ve read the earlier section “Using the -> Newtype Pattern to Implement External Traits on External -> Types.” +> NoteThis section assumes you’ve read the earlier section “Using the Newtype +Pattern to Implement External Traits” on page XX. The newtype pattern is also useful for tasks beyond those we’ve discussed so far, including statically enforcing that values are never confused and @@ -1217,8 +2027,8 @@ associated with their name. Code using `People` would only interact with the public API we provide, such as a method to add a name string to the `People` collection; that code wouldn’t need to know that we assign an `i32` ID to names internally. The newtype pattern is a lightweight way to achieve encapsulation -to hide implementation details, which we discussed in the “Encapsulation that -Hides Implementation Details” section of Chapter 17. +to hide implementation details, which we discussed in “Encapsulation That Hides +Implementation Details” on page XX. ### Creating Type Synonyms with Type Aliases @@ -1230,23 +2040,38 @@ the alias `Kilometers` to `i32` like so: type Kilometers = i32; ``` -Now, the alias `Kilometers` is a *synonym* for `i32`; unlike the `Millimeters` +Now the alias `Kilometers` is a *synonym* for `i32`; unlike the `Millimeters` and `Meters` types we created in Listing 19-15, `Kilometers` is not a separate, new type. Values that have the type `Kilometers` will be treated the same as values of type `i32`: ``` type Kilometers = i32; +``` + +``` + +``` +``` let x: i32 = 5; +``` + +``` let y: Kilometers = 5; +``` + +``` + +``` +``` println!("x + y = {}", x + y); ``` Because `Kilometers` and `i32` are the same type, we can add values of both types and we can pass `Kilometers` values to functions that take `i32` -parameters. However, using this method, we don’t get the type checking benefits +parameters. However, using this method, we don’t get the type-checking benefits that we get from the newtype pattern discussed earlier. In other words, if we mix up `Kilometers` and `i32` values somewhere, the compiler will not give us an error. @@ -1264,17 +2089,41 @@ code like that in Listing 19-24. ``` let f: Box = Box::new(|| println!("hi")); +``` + +``` +``` + +``` fn takes_long_type(f: Box) { - // --snip-- +``` + +``` + --snip-- +``` + +``` } +``` + +``` +``` + +``` fn returns_long_type() -> Box { - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` -Listing 19-24: Using a long type in many places +Using a long type in many places A type alias makes this code more manageable by reducing the repetition. In Listing 19-25, we’ve introduced an alias named `Thunk` for the verbose type and @@ -1282,19 +2131,49 @@ can replace all uses of the type with the shorter alias `Thunk`. ``` type Thunk = Box; +``` + +``` +``` + +``` let f: Thunk = Box::new(|| println!("hi")); +``` +``` + +``` + +``` fn takes_long_type(f: Thunk) { - // --snip-- +``` + +``` + --snip-- +``` + +``` } +``` + +``` + +``` +``` fn returns_long_type() -> Thunk { - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` -Listing 19-25: Introducing a type alias `Thunk` to reduce repetition +Introducing a type alias `Thunk` to reduce repetition This code is much easier to read and write! Choosing a meaningful name for a type alias can help communicate your intent as well (*thunk* is a word for code @@ -1310,15 +2189,42 @@ possible I/O errors. Many of the functions in `std::io` will be returning the `Write` trait: ``` -use std::fmt; -use std::io::Error; +use std::fmt; +``` + +``` +use std::io::Error; +``` + +``` + +``` +``` pub trait Write { +``` + +``` fn write(&mut self, buf: &[u8]) -> Result; +``` + +``` fn flush(&mut self) -> Result<(), Error>; +``` + +``` + +``` +``` fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>; +``` + +``` fn write_fmt(&mut self, fmt: fmt::Arguments) -> Result<(), Error>; +``` + +``` } ``` @@ -1336,11 +2242,29 @@ looking like this: ``` pub trait Write { +``` + +``` fn write(&mut self, buf: &[u8]) -> Result; +``` + +``` fn flush(&mut self) -> Result<()>; +``` + +``` + +``` +``` fn write_all(&mut self, buf: &[u8]) -> Result<()>; +``` + +``` fn write_fmt(&mut self, fmt: fmt::Arguments) -> Result<()>; +``` + +``` } ``` @@ -1349,7 +2273,7 @@ us a consistent interface across all of `std::io`. Because it’s an alias, it just another `Result`, which means we can use any methods that work on `Result` with it, as well as special syntax like the `?` operator. -### The Never Type that Never Returns +### The Never Type That Never Returns Rust has a special type named `!` that’s known in type theory lingo as the *empty type* because it has no values. We prefer to call it the *never type* @@ -1358,35 +2282,59 @@ return. Here is an example: ``` fn bar() -> ! { - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` This code is read as “the function `bar` returns never.” Functions that return -never are called *diverging functions*. We can’t create values of the type `!` +never are called *diverging functions*. We can’t create values of the type `!`, so `bar` can never possibly return. But what use is a type you can never create values for? Recall the code from -Listing 2-5, part of the number guessing game; we’ve reproduced a bit of it +Listing 2-5, part of the number-guessing game; we’ve reproduced a bit of it here in Listing 19-26. ``` let guess: u32 = match guess.trim().parse() { +``` + +``` Ok(num) => num, +``` + +``` Err(_) => continue, +``` + +``` }; ``` -Listing 19-26: A `match` with an arm that ends in `continue` +A `match` with an arm that ends in `continue` -At the time, we skipped over some details in this code. In Chapter 6 in “The -`match` Control Flow Operator” section, we discussed that `match` arms must all -return the same type. So, for example, the following code doesn’t work: +At the time, we skipped over some details in this code. In “The match Control +Flow Construct” on page XX, we discussed that `match` arms must all return the +same type. So, for example, the following code doesn’t work: ``` let guess = match guess.trim().parse() { +``` + +``` Ok(_) => 5, +``` + +``` Err(_) => "hello", +``` + +``` }; ``` @@ -1412,12 +2360,33 @@ this definition: ``` impl Option { +``` + +``` pub fn unwrap(self) -> T { +``` + +``` match self { +``` + +``` Some(val) => val, +``` + +``` None => panic!("called `Option::unwrap()` on a `None` value"), +``` + +``` } +``` + +``` } +``` + +``` } ``` @@ -1431,9 +2400,21 @@ One final expression that has the type `!` is a `loop`: ``` print!("forever "); +``` + +``` +``` + +``` loop { +``` + +``` print!("and ever "); +``` + +``` } ``` @@ -1441,7 +2422,7 @@ Here, the loop never ends, so `!` is the value of the expression. However, this wouldn’t be true if we included a `break`, because the loop would terminate when it got to the `break`. -### Dynamically Sized Types and the `Sized` Trait +### Dynamically Sized Types and the Sized Trait Rust needs to know certain details about its types, such as how much space to allocate for a value of a particular type. This leaves one corner of its type @@ -1457,6 +2438,9 @@ we can’t create a variable of type `str`, nor can we take an argument of type ``` let s1: str = "Hello there!"; +``` + +``` let s2: str = "How's it going?"; ``` @@ -1468,25 +2452,25 @@ storage and `s2` needs 15. This is why it’s not possible to create a variable holding a dynamically sized type. So what do we do? In this case, you already know the answer: we make the types -of `s1` and `s2` a `&str` rather than a `str`. Recall from the “String Slices” -section of Chapter 4 that the slice data structure just stores the starting -position and the length of the slice. So although a `&T` is a single value that -stores the memory address of where the `T` is located, a `&str` is *two* -values: the address of the `str` and its length. As such, we can know the size -of a `&str` value at compile time: it’s twice the length of a `usize`. That is, -we always know the size of a `&str`, no matter how long the string it refers to -is. In general, this is the way in which dynamically sized types are used in -Rust: they have an extra bit of metadata that stores the size of the dynamic +of `s1` and `s2` a `&str` rather than a `str`. Recall from “String Slices” on +page XX that the slice data structure just stores the starting position and the +length of the slice. So, although a `&T` is a single value that stores the +memory address of where the `T` is located, a `&str` is *two* values: the +address of the `str` and its length. As such, we can know the size of a `&str` +value at compile time: it’s twice the length of a `usize`. That is, we always +know the size of a `&str`, no matter how long the string it refers to is. In +general, this is the way in which dynamically sized types are used in Rust: +they have an extra bit of metadata that stores the size of the dynamic information. The golden rule of dynamically sized types is that we must always put values of dynamically sized types behind a pointer of some kind. We can combine `str` with all kinds of pointers: for example, `Box` or `Rc`. In fact, you’ve seen this before but with a different dynamically sized type: traits. Every trait is a dynamically sized type we can refer to by -using the name of the trait. In Chapter 17 in the “Using Trait Objects That -Allow for Values of Different Types” section, we mentioned that to use traits -as trait objects, we must put them behind a pointer, such as `&dyn Trait` or -`Box` (`Rc` would work too). +using the name of the trait. In “Using Trait Objects That Allow for Values of +Different Types” on page XX, we mentioned that to use traits as trait objects, +we must put them behind a pointer, such as `&dyn Trait` or `Box` +(`Rc` would work too). To work with DSTs, Rust provides the `Sized` trait to determine whether or not a type’s size is known at compile time. This trait is automatically implemented @@ -1496,15 +2480,27 @@ generic function definition like this: ``` fn generic(t: T) { - // --snip-- -} ``` -is actually treated as though we had written this: +``` + --snip-- +``` ``` +} +``` + + +Unmatched: BodyContinued + ``` fn generic(t: T) { - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` @@ -1514,7 +2510,13 @@ restriction: ``` fn generic(t: &T) { - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` @@ -1539,14 +2541,14 @@ including function pointers and returning closures. We’ve talked about how to pass closures to functions; you can also pass regular functions to functions! This technique is useful when you want to pass a function you’ve already defined rather than defining a new closure. Functions -coerce to the type `fn` (with a lowercase f), not to be confused with the `Fn` -closure trait. The `fn` type is called a *function pointer*. Passing functions -with function pointers will allow you to use functions as arguments to other -functions. +coerce to the type `fn` (with a lowercase *f*), not to be confused with the +`Fn` closure trait. The `fn` type is called a *function pointer*. Passing +functions with function pointers will allow you to use functions as arguments +to other functions. The syntax for specifying that a parameter is a function pointer is similar to that of closures, as shown in Listing 19-27, where we’ve defined a function -`add_one` that adds one to its parameter. The function `do_twice` takes two +`add_one` that adds 1 to its parameter. The function `do_twice` takes two parameters: a function pointer to any function that takes an `i32` parameter and returns an `i32`, and one `i32 value`. The `do_twice` function calls the function `f` twice, passing it the `arg` value, then adds the two function call @@ -1557,21 +2559,57 @@ Filename: src/main.rs ``` fn add_one(x: i32) -> i32 { +``` + +``` x + 1 +``` + +``` } +``` + +``` +``` + +``` fn do_twice(f: fn(i32) -> i32, arg: i32) -> i32 { +``` + +``` f(arg) + f(arg) +``` + +``` } +``` + +``` +``` + +``` fn main() { +``` + +``` let answer = do_twice(add_one, 5); +``` + +``` + +``` +``` println!("The answer is: {}", answer); +``` + +``` } ``` -Listing 19-27: Using the `fn` type to accept a function pointer as an argument +Using the `fn` type to accept a function pointer as an argument This code prints `The answer is: 12`. We specify that the parameter `f` in `do_twice` is an `fn` that takes one parameter of type `i32` and returns an @@ -1599,7 +2637,13 @@ numbers into a vector of strings, we could use a closure, like this: ``` let list_of_numbers = vec![1, 2, 3]; +``` + +``` let list_of_strings: Vec = +``` + +``` list_of_numbers.iter().map(|i| i.to_string()).collect(); ``` @@ -1608,36 +2652,57 @@ like this: ``` let list_of_numbers = vec![1, 2, 3]; +``` + +``` let list_of_strings: Vec = +``` + +``` list_of_numbers.iter().map(ToString::to_string).collect(); ``` -Note that we must use the fully qualified syntax that we talked about earlier -in the “Advanced Traits” section because there are multiple functions available +Note that we must use the fully qualified syntax that we talked about in +“Advanced Traits” on page XX because there are multiple functions available named `to_string`. -Here, we’re using the `to_string` function defined in the -`ToString` trait, which the standard library has implemented for any type that -implements `Display`. +Here, we’re using the `to_string` function defined in the `ToString` trait, +which the standard library has implemented for any type that implements +`Display`. -Recall from the “Enum values” section of Chapter 6 that the name of each enum -variant that we define also becomes an initializer function. We can use these -initializer functions as function pointers that implement the closure traits, -which means we can specify the initializer functions as arguments for methods -that take closures, like so: +Recall from “Enum Values” on page XX that the name of each enum variant that we +define also becomes an initializer function. We can use these initializer +functions as function pointers that implement the closure traits, which means +we can specify the initializer functions as arguments for methods that take +closures, like so: ``` enum Status { +``` + +``` Value(u32), +``` + +``` Stop, +``` + +``` } +``` + +``` + +``` +``` let list_of_statuses: Vec = (0u32..20).map(Status::Value).collect(); ``` -Here we create `Status::Value` instances using each `u32` value in the range +Here, we create `Status::Value` instances using each `u32` value in the range that `map` is called on by using the initializer function of `Status::Value`. -Some people prefer this style, and some people prefer to use closures. They +Some people prefer this style and some people prefer to use closures. They compile to the same code, so use whichever style is clearer to you. ### Returning Closures @@ -1653,7 +2718,13 @@ The following code tries to return a closure directly, but it won’t compile: ``` fn returns_closure() -> dyn Fn(i32) -> i32 { +``` + +``` |x| x + 1 +``` + +``` } ``` @@ -1661,15 +2732,58 @@ The compiler error is as follows: ``` error[E0746]: return type cannot have an unboxed trait object +``` + +``` --> src/lib.rs:1:25 +``` + +``` | +``` + +``` 1 | fn returns_closure() -> dyn Fn(i32) -> i32 { - | ^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time +``` + +``` + | ^^^^^^^^^^^^^^^^^^ doesn't have a size known at +``` + +``` +compile-time +``` + +``` | - = note: for information on `impl Trait`, see -help: use `impl Fn(i32) -> i32` as the return type, as all return paths are of type `[closure@src/lib.rs:2:5: 2:14]`, which implements `Fn(i32) -> i32` +``` + +``` + = note: for information on `impl Trait`, see +``` + +``` + +``` + +``` +help: use `impl Fn(i32) -> i32` as the return type, as all return paths are of +``` + +``` +type `[closure@src/lib.rs:2:5: 2:14]`, which implements `Fn(i32) -> i32` +``` + +``` | +``` + +``` 1 | fn returns_closure() -> impl Fn(i32) -> i32 { +``` + +``` | ~~~~~~~~~~~~~~~~~~~ ``` @@ -1679,13 +2793,18 @@ We can use a trait object: ``` fn returns_closure() -> Box i32> { +``` + +``` Box::new(|x| x + 1) +``` + +``` } ``` -This code will compile just fine. For more about trait objects, refer to the -section “Using Trait Objects That Allow for Values of Different Types” in -Chapter 17. +This code will compile just fine. For more about trait objects, refer to “Using +Trait Objects That Allow for Values of Different Types” on page XX. Next, let’s look at macros! @@ -1697,11 +2816,10 @@ of features in Rust: *declarative* macros with `macro_rules!` and three kinds of *procedural* macros: * Custom `#[derive]` macros that specify code added with the `derive` attribute - used on structs and enums +used on structs and enums * Attribute-like macros that define custom attributes usable on any item * Function-like macros that look like function calls but operate on the tokens - specified as their argument - +specified as their argument We’ll talk about each of these in turn, but first, let’s look at why we even need macros when we already have functions. @@ -1715,7 +2833,7 @@ macros *expand* to produce more code than the code you’ve written manually. Metaprogramming is useful for reducing the amount of code you have to write and maintain, which is also one of the roles of functions. However, macros have -some additional powers that functions don’t. +some additional powers that functions don’t have. A function signature must declare the number and type of parameters the function has. Macros, on the other hand, can take a variable number of @@ -1735,14 +2853,14 @@ Another important difference between macros and functions is that you must define macros or bring them into scope *before* you call them in a file, as opposed to functions you can define anywhere and call anywhere. -### Declarative Macros with `macro_rules!` for General Metaprogramming +### Declarative Macros with macro_rules! for General Metaprogramming The most widely used form of macros in Rust is the *declarative macro*. These are also sometimes referred to as “macros by example,” “`macro_rules!` macros,” or just plain “macros.” At their core, declarative macros allow you to write something similar to a Rust `match` expression. As discussed in Chapter 6, `match` expressions are control structures that take an expression, compare the -resulting value of the expression to patterns, and then run the code associated +resultant value of the expression to patterns, and then run the code associated with the matching pattern. Macros also compare a value to patterns that are associated with particular code: in this situation, the value is the literal Rust source code passed to the macro; the patterns are compared with the @@ -1769,25 +2887,58 @@ Listing 19-28 shows a slightly simplified definition of the `vec!` macro. Filename: src/lib.rs ``` -[1] #[macro_export] -[2] macro_rules! vec { - [3] ( $( $x:expr ),* ) => { - { - let mut temp_vec = Vec::new(); - [4] $( - [5] temp_vec.push($x [6]); +1 #[macro_export] +``` + +``` +2 macro_rules! vec { +``` + +``` + 3 ( $( $x:expr ),* ) => { +``` + +``` + { +``` + +``` + let mut temp_vec = Vec::new(); +``` + +``` + 4 $( +``` + +``` + 5 temp_vec.push(6 $x); +``` + +``` )* - [7] temp_vec +``` + +``` + 7 temp_vec +``` + +``` } +``` + +``` }; +``` + +``` } ``` -Listing 19-28: A simplified version of the `vec!` macro definition +A simplified version of the `vec!` macro definition -> Note: The actual definition of the `vec!` macro in the standard library -> includes code to preallocate the correct amount of memory up front. That code -> is an optimization that we don’t include here to make the example simpler. +> NoteThe actual definition of the `vec!` macro in the standard library +includes code to pre-allocate the correct amount of memory up front. That code +is an optimization that we don’t include here, to make the example simpler. The `#[macro_export]` annotation [1] indicates that this macro should be made available whenever the crate in which the macro is defined is brought into @@ -1805,20 +2956,19 @@ is the only pattern in this macro, there is only one valid way to match; any other pattern will result in an error. More complex macros will have more than one arm. -Valid pattern syntax in macro definitions is different than the pattern syntax +Valid pattern syntax in macro definitions is different from the pattern syntax covered in Chapter 18 because macro patterns are matched against Rust code structure rather than values. Let’s walk through what the pattern pieces in Listing 19-28 mean; for the full macro pattern syntax, see the Rust Reference at *https://doc.rust-lang.org/reference/macros-by-example.html*. -First, we use a set of parentheses to encompass the whole pattern. We use a +First we use a set of parentheses to encompass the whole pattern. We use a dollar sign (`$`) to declare a variable in the macro system that will contain the Rust code matching the pattern. The dollar sign makes it clear this is a -macro variable as opposed to a regular Rust variable. -Next comes a set of parentheses that captures values that match the -pattern within the parentheses for use in the replacement code. Within `$()` is -`$x:expr`, which matches any Rust expression and gives the expression the name -`$x`. +macro variable as opposed to a regular Rust variable. Next comes a set of +parentheses that captures values that match the pattern within the parentheses +for use in the replacement code. Within `$()` is `$x:expr`, which matches any +Rust expression and gives the expression the name `$x`. The comma following `$()` indicates that a literal comma separator character could optionally appear after the code that matches the code in `$()`. The `*` @@ -1828,19 +2978,37 @@ When we call this macro with `vec![1, 2, 3];`, the `$x` pattern matches three times with the three expressions `1`, `2`, and `3`. Now let’s look at the pattern in the body of the code associated with this arm: -`temp_vec.push()` [5] within `$()*` [4][7] is generated for each part that -matches `$()` in the pattern zero or more times depending on how many times the -pattern matches. The `$x` [6] is replaced with each expression matched. When we -call this macro with `vec![1, 2, 3];`, the code generated that replaces this -macro call will be the following: +`temp_vec.push()` [5] within `$()*` at [4] and [7] is generated for each part +that matches `$()` in the pattern zero or more times depending on how many +times the pattern matches. The `$x` [6] is replaced with each expression +matched. When we call this macro with `vec![1, 2, 3];`, the code generated that +replaces this macro call will be the following: ``` { +``` + +``` let mut temp_vec = Vec::new(); +``` + +``` temp_vec.push(1); +``` + +``` temp_vec.push(2); +``` + +``` temp_vec.push(3); +``` + +``` temp_vec +``` + +``` } ``` @@ -1849,7 +3017,7 @@ generate code to create a vector containing the specified elements. To learn more about how to write macros, consult the online documentation or other resources, such as “The Little Book of Rust Macros” at -*https://veykril.github.io/tlborm/* started by Daniel Keep and continued by +*https://veykril.github.io/tlborm* started by Daniel Keep and continued by Lukas Wirth. ### Procedural Macros for Generating Code from Attributes @@ -1871,13 +3039,25 @@ Filename: src/lib.rs ``` use proc_macro; +``` + +``` +``` + +``` #[some_attribute] +``` + +``` pub fn some_name(input: TokenStream) -> TokenStream { +``` + +``` } ``` -Listing 19-29: An example of defining a procedural macro +An example of defining a procedural macro The function that defines a procedural macro takes a `TokenStream` as an input and produces a `TokenStream` as an output. The `TokenStream` type is defined by @@ -1892,7 +3072,7 @@ Let’s look at the different kinds of procedural macros. We’ll start with a custom derive macro and then explain the small dissimilarities that make the other forms different. -### How to Write a Custom `derive` Macro +### How to Write a Custom derive Macro Let’s create a crate named `hello_macro` that defines a trait named `HelloMacro` with one associated function named `hello_macro`. Rather than @@ -1908,18 +3088,42 @@ Filename: src/main.rs ``` use hello_macro::HelloMacro; +``` + +``` use hello_macro_derive::HelloMacro; +``` + +``` + +``` +``` #[derive(HelloMacro)] +``` + +``` struct Pancakes; +``` + +``` +``` + +``` fn main() { +``` + +``` Pancakes::hello_macro(); +``` + +``` } ``` -Listing 19-30: The code a user of our crate will be able to write when using -our procedural macro +The code a user of our crate will be able to write when using our procedural +macro This code will print `Hello, Macro! My name is Pancakes!` when we’re done. The first step is to make a new library crate, like this: @@ -1934,7 +3138,13 @@ Filename: src/lib.rs ``` pub trait HelloMacro { +``` + +``` fn hello_macro(); +``` + +``` } ``` @@ -1943,17 +3153,53 @@ the trait to achieve the desired functionality, like so: ``` use hello_macro::HelloMacro; +``` + +``` + +``` +``` struct Pancakes; +``` + +``` +``` + +``` impl HelloMacro for Pancakes { +``` + +``` fn hello_macro() { +``` + +``` println!("Hello, Macro! My name is Pancakes!"); +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` Pancakes::hello_macro(); +``` + +``` } ``` @@ -1997,10 +3243,25 @@ Filename: hello_macro_derive/Cargo.toml ``` [lib] +``` + +``` proc-macro = true +``` + +``` + +``` +``` [dependencies] +``` + +``` syn = "1.0" +``` + +``` quote = "1.0" ``` @@ -2012,22 +3273,58 @@ Filename: hello_macro_derive/src/lib.rs ``` use proc_macro::TokenStream; +``` + +``` use quote::quote; +``` + +``` use syn; +``` + +``` + +``` +``` #[proc_macro_derive(HelloMacro)] +``` + +``` pub fn hello_macro_derive(input: TokenStream) -> TokenStream { +``` + +``` // Construct a representation of Rust code as a syntax tree +``` + +``` // that we can manipulate +``` + +``` let ast = syn::parse(input).unwrap(); +``` + +``` + +``` +``` // Build the trait implementation +``` + +``` impl_hello_macro(&ast) +``` + +``` } ``` -Listing 19-31: Code that most procedural macro crates will require in order to -process Rust code +Code that most procedural macro crates will require in order to process Rust +code Notice that we’ve split the code into the `hello_macro_derive` function, which is responsible for parsing the `TokenStream`, and the `impl_hello_macro` @@ -2062,30 +3359,78 @@ The `hello_macro_derive` function first converts the `input` from a operations on. This is where `syn` comes into play. The `parse` function in `syn` takes a `TokenStream` and returns a `DeriveInput` struct representing the parsed Rust code. Listing 19-32 shows the relevant parts of the `DeriveInput` -struct we get from parsing the `struct Pancakes;` string: +struct we get from parsing the `struct Pancakes;` string. ``` DeriveInput { - // --snip-- +``` + +``` + --snip-- +``` + +``` +``` + +``` ident: Ident { +``` + +``` ident: "Pancakes", +``` + +``` span: #0 bytes(95..103) +``` + +``` }, +``` + +``` data: Struct( +``` + +``` DataStruct { +``` + +``` struct_token: Struct, +``` + +``` fields: Unit, +``` + +``` semi_token: Some( +``` + +``` Semi +``` + +``` ) +``` + +``` } +``` + +``` ) +``` + +``` } ``` -Listing 19-32: The `DeriveInput` instance we get when parsing the code that has -the macro’s attribute in Listing 19-30 +The `DeriveInput` instance we get when parsing the code that has the macro’s +attribute in Listing 19-30 The fields of this struct show that the Rust code we’ve parsed is a unit struct with the `ident` (identifier, meaning the name) of `Pancakes`. There are more @@ -2116,24 +3461,54 @@ Filename: hello_macro_derive/src/lib.rs ``` fn impl_hello_macro(ast: &syn::DeriveInput) -> TokenStream { +``` + +``` let name = &ast.ident; +``` + +``` let gen = quote! { +``` + +``` impl HelloMacro for #name { +``` + +``` fn hello_macro() { +``` + +``` println!("Hello, Macro! My name is {}!", stringify!(#name)); +``` + +``` } +``` + +``` } +``` + +``` }; +``` + +``` gen.into() +``` + +``` } ``` -Listing 19-33: Implementing the `HelloMacro` trait using the parsed Rust code +Implementing the `HelloMacro` trait using the parsed Rust code We get an `Ident` struct instance containing the name (identifier) of the annotated type using `ast.ident`. The struct in Listing 19-32 shows that when we run the `impl_hello_macro` function on the code in Listing 19-30, the -`ident` we get will have the `ident` field with a value of `"Pancakes"`. Thus, +`ident` we get will have the `ident` field with a value of `"Pancakes"`. Thus the `name` variable in Listing 19-33 will contain an `Ident` struct instance that, when printed, will be the string `"Pancakes"`, the name of the struct in Listing 19-30. @@ -2152,13 +3527,13 @@ introduction. We want our procedural macro to generate an implementation of our `HelloMacro` trait for the type the user annotated, which we can get by using `#name`. The -trait implementation has the one function `hello_macro`, whose body contains the -functionality we want to provide: printing `Hello, Macro! My name is` and then -the name of the annotated type. +trait implementation has the one function `hello_macro`, whose body contains +the functionality we want to provide: printing `Hello, Macro! My name is` and +then the name of the annotated type. The `stringify!` macro used here is built into Rust. It takes a Rust expression, such as `1 + 2`, and at compile time turns the expression into a -string literal, such as `"1 + 2"`. This is different than `format!` or +string literal, such as `"1 + 2"`. This is different from `format!` or `println!`, macros which evaluate the expression and then turn the result into a `String`. There is a possibility that the `#name` input might be an expression to print literally, so we use `stringify!`. Using `stringify!` also @@ -2170,12 +3545,18 @@ and `hello_macro_derive`. Let’s hook up these crates to the code in Listing your *projects* directory using `cargo new pancakes`. We need to add `hello_macro` and `hello_macro_derive` as dependencies in the `pancakes` crate’s *Cargo.toml*. If you’re publishing your versions of `hello_macro` and -`hello_macro_derive` to *https://crates.io/*, they would be regular +`hello_macro_derive` to *https://crates.io*, they would be regular dependencies; if not, you can specify them as `path` dependencies as follows: ``` [dependencies] +``` + +``` hello_macro = { path = "../hello_macro" } +``` + +``` hello_macro_derive = { path = "../hello_macro/hello_macro_derive" } ``` @@ -2188,7 +3569,7 @@ trait implementation. Next, let’s explore how the other kinds of procedural macros differ from custom derive macros. -### Attribute-like macros +### Attribute-like Macros Attribute-like macros are similar to custom derive macros, but instead of generating code for the `derive` attribute, they allow you to create new @@ -2199,6 +3580,9 @@ named `route` that annotates functions when using a web application framework: ``` #[route(GET, "/")] +``` + +``` fn index() { ``` @@ -2207,6 +3591,9 @@ macro. The signature of the macro definition function would look like this: ``` #[proc_macro_attribute] +``` + +``` pub fn route(attr: TokenStream, item: TokenStream) -> TokenStream { ``` @@ -2219,17 +3606,17 @@ Other than that, attribute-like macros work the same way as custom derive macros: you create a crate with the `proc-macro` crate type and implement a function that generates the code you want! -### Function-like macros +### Function-like Macros Function-like macros define macros that look like function calls. Similarly to `macro_rules!` macros, they’re more flexible than functions; for example, they -can take an unknown number of arguments. However, `macro_rules!` macros can be -defined only using the match-like syntax we discussed in the section -“Declarative Macros with `macro_rules!` for General Metaprogramming” earlier. -Function-like macros take a `TokenStream` parameter and their definition -manipulates that `TokenStream` using Rust code as the other two types of -procedural macros do. An example of a function-like macro is an `sql!` macro -that might be called like so: +can take an unknown number of arguments. However, `macro_rules!` macros can +only be defined using the match-like syntax we discussed in “Declarative Macros +with macro_rules! for General Metaprogramming” on page XX. Function-like macros +take a `TokenStream` parameter and their definition manipulates that +`TokenStream` using Rust code as the other two types of procedural macros do. +An example of a function-like macro is an `sql!` macro that might be called +like so: ``` let sql = sql!(SELECT * FROM posts WHERE id=1); @@ -2241,6 +3628,9 @@ syntactically correct, which is much more complex processing than a ``` #[proc_macro] +``` + +``` pub fn sql(input: TokenStream) -> TokenStream { ``` @@ -2253,9 +3643,10 @@ generate. Whew! Now you have some Rust features in your toolbox that you likely won’t use often, but you’ll know they’re available in very particular circumstances. We’ve introduced several complex topics so that when you encounter them in -error message suggestions or in other peoples’ code, you’ll be able to +error message suggestions or in other people’s code, you’ll be able to recognize these concepts and syntax. Use this chapter as a reference to guide you to solutions. Next, we’ll put everything we’ve discussed throughout the book into practice and do one more project! + diff --git a/nostarch/docx/chapter19.docx b/nostarch/docx/chapter19.docx new file mode 100644 index 0000000000000000000000000000000000000000..fe2e02f0a76c0e653874ad2fbe4db0809f0ac7d3 GIT binary patch literal 101929 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

      l>2#UYN$3QA$bWY~f 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 C Date: Sat, 27 Aug 2022 22:09:11 -0400 Subject: [PATCH 0439/1248] Messy snapshot of chapter 19 after copyedit checks --- nostarch/chapter19.md | 309 +++++++++++++++++++++++++---------- nostarch/docx/chapter19.docx | Bin 101929 -> 116775 bytes 2 files changed, 220 insertions(+), 89 deletions(-) diff --git a/nostarch/chapter19.md b/nostarch/chapter19.md index 2e613fc488..b67fa6d614 100644 --- a/nostarch/chapter19.md +++ b/nostarch/chapter19.md @@ -150,9 +150,9 @@ To demonstrate this, next we’ll create a raw pointer whose validity we can’t so certain of. Listing 19-2 shows how to create a raw pointer to an arbitrary location in memory. Trying to use arbitrary memory is undefined: there might be data at that address or there might not, the compiler might optimize the code -so there is no memory access, or the program might error with a segmentation -fault. Usually, there is no good reason to write code like this, but it is -possible. +so there is no memory access, or the program might terminate with a +segmentation fault. Usually, there is no good reason to write code like this, +but it is possible. ``` let address = 0x012345usize; @@ -219,7 +219,7 @@ same location and change data through the mutable pointer, potentially creating a data race. Be careful! With all of these dangers, why would you ever use raw pointers? One major use -case is when interfacing with C code, as you’ll see in“Calling an Unsafe +case is when interfacing with C code, as you’ll see in “Calling an Unsafe Function or Method” on page XX. Another case is when building up safe abstractions that the borrow checker doesn’t understand. We’ll introduce unsafe functions and then look at an example of a safe abstraction that uses unsafe @@ -263,8 +263,11 @@ We must call the `dangerous` function within a separate `unsafe` block. If we try to call `dangerous` without the `unsafe` block, we’ll get an error: ``` -error[E0133]: call to unsafe function is unsafe and requires unsafe function or -block +error[E0133]: call to unsafe function is unsafe and requires +``` + +``` +unsafe function or block ``` ``` @@ -288,11 +291,11 @@ block ``` ``` - = note: consult the function's documentation for information on how to avoid + = note: consult the function's documentation for information on ``` ``` -undefined behavior +how to avoid undefined behavior ``` With the `unsafe` block, we’re asserting to Rust that we’ve read the function’s @@ -353,7 +356,19 @@ implement `split_at_mut` as a function rather than a method and only for slices of `i32` values rather than for a generic type `T`. ``` -fn split_at_mut(values: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { +fn split_at_mut( +``` + +``` + values: &mut [i32], +``` + +``` + mid: usize, +``` + +``` +) -> (&mut [i32], &mut [i32]) { ``` ``` @@ -399,7 +414,7 @@ error[E0499]: cannot borrow `*values` as mutable more than once at a time ``` ``` - --> src/main.rs:6:31 + --> src/main.rs:9:31 ``` ``` @@ -407,12 +422,11 @@ error[E0499]: cannot borrow `*values` as mutable more than once at a time ``` ``` -1 | fn split_at_mut(values: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) -{ +2 | values: &mut [i32], ``` ``` - | - let's call the lifetime of this reference `'1` + | - let's call the lifetime of this reference `'1` ``` ``` @@ -420,7 +434,7 @@ error[E0499]: cannot borrow `*values` as mutable more than once at a time ``` ``` -6 | (&mut values[..mid], &mut values[mid..]) +9 | (&mut values[..mid], &mut values[mid..]) ``` ``` @@ -461,7 +475,19 @@ use std::slice; ``` ``` -fn split_at_mut(values: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { +fn split_at_mut( +``` + +``` + values: &mut [i32], +``` + +``` + mid: usize, +``` + +``` +) -> (&mut [i32], &mut [i32]) { ``` ``` @@ -570,7 +596,15 @@ let r = address as *mut i32; ``` ``` -let values: &[i32] = unsafe { slice::from_raw_parts_mut(r, 10000) }; +let values: &[i32] = unsafe { +``` + +``` + slice::from_raw_parts_mut(r, 10000) +``` + +``` +}; ``` Creating a slice from an arbitrary memory location @@ -620,7 +654,19 @@ fn main() { ``` ``` - println!("Absolute value of -3 according to C: {}", abs(-3)); + println!( +``` + +``` + "Absolute value of -3 according to C: {}", +``` + +``` + abs(-3) +``` + +``` + ); ``` ``` @@ -695,7 +741,7 @@ fn main() { ``` ``` - println!("name is: {}", HELLO_WORLD); + println!("value is: {HELLO_WORLD}"); ``` ``` @@ -704,12 +750,12 @@ fn main() { Defining and using an immutable static variable -Static variables are similar to constants, which we discussed in “Differences -Between Variables and Constants” on page XX. The names of static variables are -in `SCREAMING_SNAKE_CASE` by convention. Static variables can only store -references with the `'static` lifetime, which means the Rust compiler can -figure out the lifetime and we aren’t required to annotate it explicitly. -Accessing an immutable static variable is safe. +Static variables are similar to constants, which we discussed in “Constants” on +page XX. The names of static variables are in `SCREAMING_SNAKE_CASE` by +convention. Static variables can only store references with the `'static` +lifetime, which means the Rust compiler can figure out the lifetime and we +aren’t required to annotate it explicitly. Accessing an immutable static +variable is safe. A subtle difference between constants and immutable static variables is that values in a static variable have a fixed address in memory. Using the value @@ -770,7 +816,7 @@ fn main() { ``` ``` - println!("COUNTER: {}", COUNTER); + println!("COUNTER: {COUNTER}"); ``` ``` @@ -831,14 +877,6 @@ unsafe impl Foo for i32 { } ``` -``` - -``` - -``` -fn main() {} -``` - Defining and implementing an unsafe trait By using `unsafe impl`, we’re promising that we’ll uphold the invariants that @@ -1233,7 +1271,7 @@ type parameter to an existing trait, you can give it a default to allow extension of the functionality of the trait without breaking the existing implementation code. -### Disambiguation: Calling Methods with the Same Name +### Disambiguating Between Methods with the Same Name Nothing in Rust prevents a trait from having a method with the same name as another trait’s method, nor does Rust prevent you from implementing both traits @@ -1425,22 +1463,6 @@ disambiguate. Running this code prints the following: -``` -$ cargo run -``` - -``` - Compiling traits-example v0.1.0 (file:///projects/traits-example) -``` - -``` - Finished dev [unoptimized + debuginfo] target(s) in 0.46s -``` - -``` - Running `target/debug/traits-example` -``` - ``` This is your captain speaking. ``` @@ -1613,6 +1635,9 @@ error[E0283]: type annotations needed ``` | ^^^^^^^^^^^^^^^^^ cannot infer +``` + +``` type ``` @@ -1636,7 +1661,19 @@ fn main() { ``` ``` - println!("A baby dog is called a {}", ::baby_name()); + println!( +``` + +``` + "A baby dog is called a {}", +``` + +``` + ::baby_name() +``` + +``` + ); ``` ``` @@ -1837,6 +1874,9 @@ error[E0277]: `Point` doesn't implement `std::fmt::Display` ``` = note: in format strings you may be able to use `{:?}` (or {:#?} for +``` + +``` pretty-print) instead ``` @@ -1901,15 +1941,15 @@ it within an outline of asterisks. In “Implementing a Trait on a Type” on page XX, we mentioned the orphan rule that states we’re only allowed to implement a trait on a type if either the -trait or the type is local to our crate. It’s possible to get around this -restriction using the *newtype pattern*, which involves creating a new type in -a tuple struct. (We covered tuple structs in “Using Tuple Structs Without Named -Fields to Create Different Types” on page XX.) The tuple struct will have one -field and be a thin wrapper around the type for which we want to implement a -trait. Then the wrapper type is local to our crate, and we can implement the -trait on the wrapper. *Newtype* is a term that originates from the Haskell -programming language. There is no runtime performance penalty for using this -pattern, and the wrapper type is elided at compile time. +trait or the type, or both, are local to our crate. It’s possible to get around +this restriction using the *newtype pattern*, which involves creating a new +type in a tuple struct. (We covered tuple structs in “Using Tuple Structs +Without Named Fields to Create Different Types” on page XX.) The tuple struct +will have one field and be a thin wrapper around the type for which we want to +implement a trait. Then the wrapper type is local to our crate, and we can +implement the trait on the wrapper. *Newtype* is a term that originates from +the Haskell programming language. There is no runtime performance penalty for +using this pattern, and the wrapper type is elided at compile time. As an example, let’s say we want to implement `Display` on `Vec`, which the orphan rule prevents us from doing directly because the `Display` trait and the @@ -1964,11 +2004,23 @@ fn main() { ``` ``` - let w = Wrapper(vec![String::from("hello"), String::from("world")]); + let w = Wrapper(vec![ +``` + +``` + String::from("hello"), +``` + +``` + String::from("world"), +``` + +``` + ]); ``` ``` - println!("w = {}", w); + println!("w = {w}"); ``` ``` @@ -2088,7 +2140,15 @@ over the code can be tiresome and error prone. Imagine having a project full of code like that in Listing 19-24. ``` -let f: Box = Box::new(|| println!("hi")); +let f: Box = Box::new(|| { +``` + +``` + println!("hi"); +``` + +``` +}); ``` ``` @@ -2221,7 +2281,19 @@ pub trait Write { ``` ``` - fn write_fmt(&mut self, fmt: fmt::Arguments) -> Result<(), Error>; + fn write_fmt( +``` + +``` + &mut self, +``` + +``` + fmt: fmt::Arguments, +``` + +``` + ) -> Result<(), Error>; ``` ``` @@ -2375,7 +2447,15 @@ impl Option { ``` ``` - None => panic!("called `Option::unwrap()` on a `None` value"), + None => panic!( +``` + +``` + "called `Option::unwrap()` on a `None` value" +``` + +``` + ), ``` ``` @@ -2602,7 +2682,7 @@ fn main() { ``` ``` - println!("The answer is: {}", answer); + println!("The answer is: {answer}"); ``` ``` @@ -2640,11 +2720,19 @@ let list_of_numbers = vec![1, 2, 3]; ``` ``` -let list_of_strings: Vec = +let list_of_strings: Vec = list_of_numbers ``` ``` - list_of_numbers.iter().map(|i| i.to_string()).collect(); + .iter() +``` + +``` + .map(|i| i.to_string()) +``` + +``` + .collect(); ``` Or we could name a function as the argument to `map` instead of the closure, @@ -2655,11 +2743,19 @@ let list_of_numbers = vec![1, 2, 3]; ``` ``` -let list_of_strings: Vec = +let list_of_strings: Vec = list_of_numbers ``` ``` - list_of_numbers.iter().map(ToString::to_string).collect(); + .iter() +``` + +``` + .map(ToString::to_string) +``` + +``` + .collect(); ``` Note that we must use the fully qualified syntax that we talked about in @@ -2697,7 +2793,15 @@ enum Status { ``` ``` -let list_of_statuses: Vec = (0u32..20).map(Status::Value).collect(); +let list_of_statuses: Vec = (0u32..20) +``` + +``` + .map(Status::Value) +``` + +``` + .collect(); ``` Here, we create `Status::Value` instances using each `u32` value in the range @@ -2763,8 +2867,11 @@ compile-time ``` ``` - + ``` ``` @@ -3026,7 +3133,7 @@ The second form of macros is the *procedural macro*, which acts more like a function (and is a type of procedure). Procedural macros accept some code as an input, operate on that code, and produce some code as an output rather than matching against patterns and replacing the code with other code as declarative -macros do. The three kinds of procedural macros are custom derive, +macros do. The three kinds of procedural macros are custom `derive`, attribute-like, and function-like, and all work in a similar fashion. When creating procedural macros, the definitions must reside in their own crate @@ -3038,7 +3145,7 @@ macro variety. Filename: src/lib.rs ``` -use proc_macro; +use proc_macro::TokenStream; ``` ``` @@ -3069,7 +3176,7 @@ that specifies which kind of procedural macro we’re creating. We can have multiple kinds of procedural macros in the same crate. Let’s look at the different kinds of procedural macros. We’ll start with a -custom derive macro and then explain the small dissimilarities that make the +custom `derive` macro and then explain the small dissimilarities that make the other forms different. ### How to Write a Custom derive Macro @@ -3079,10 +3186,10 @@ Let’s create a crate named `hello_macro` that defines a trait named making our users implement the `HelloMacro` trait for each of their types, we’ll provide a procedural macro so users can annotate their type with `#[derive(HelloMacro)]` to get a default implementation of the `hello_macro` -function. The default implementation will print `Hello, Macro! My name is -TypeName!` where `TypeName` is the name of the type on which this trait has -been defined. In other words, we’ll write a crate that enables another -programmer to write code like Listing 19-30 using our crate. +function. The default implementation will print `Hello, Macro! My name is` +TypeName`!` where TypeName is the name of the type on which this trait has been +defined. In other words, we’ll write a crate that enables another programmer to +write code like Listing 19-30 using our crate. Filename: src/main.rs @@ -3215,8 +3322,8 @@ name at runtime. We need a macro to generate code at compile time. The next step is to define the procedural macro. At the time of this writing, procedural macros need to be in their own crate. Eventually, this restriction might be lifted. The convention for structuring crates and macro crates is as -follows: for a crate named `foo`, a custom derive procedural macro crate is -called `foo_derive`. Let’s start a new crate called `hello_macro_derive` inside +follows: for a crate named foo, a custom `derive` procedural macro crate is +called foo`_derive`. Let’s start a new crate called `hello_macro_derive` inside our `hello_macro` project: ``` @@ -3440,7 +3547,7 @@ documentation for `DeriveInput` at Soon we’ll define the `impl_hello_macro` function, which is where we’ll build the new Rust code we want to include. But before we do, note that the output -for our derive macro is also a `TokenStream`. The returned `TokenStream` is +for our `derive` macro is also a `TokenStream`. The returned `TokenStream` is added to the code that our crate users write, so when they compile their crate, they’ll get the extra functionality that we provide in the modified `TokenStream`. @@ -3480,7 +3587,19 @@ fn impl_hello_macro(ast: &syn::DeriveInput) -> TokenStream { ``` ``` - println!("Hello, Macro! My name is {}!", stringify!(#name)); + println!( +``` + +``` + "Hello, Macro! My name is {}!", +``` + +``` + stringify!(#name) +``` + +``` + ); ``` ``` @@ -3567,11 +3686,11 @@ should print `Hello, Macro! My name is Pancakes!` The implementation of the trait implementation. Next, let’s explore how the other kinds of procedural macros differ from custom -derive macros. +`derive` macros. ### Attribute-like Macros -Attribute-like macros are similar to custom derive macros, but instead of +Attribute-like macros are similar to custom `derive` macros, but instead of generating code for the `derive` attribute, they allow you to create new attributes. They’re also more flexible: `derive` only works for structs and enums; attributes can be applied to other items as well, such as functions. @@ -3594,7 +3713,19 @@ macro. The signature of the macro definition function would look like this: ``` ``` -pub fn route(attr: TokenStream, item: TokenStream) -> TokenStream { +pub fn route( +``` + +``` + attr: TokenStream, +``` + +``` + item: TokenStream +``` + +``` +) -> TokenStream { ``` Here, we have two parameters of type `TokenStream`. The first is for the @@ -3602,7 +3733,7 @@ contents of the attribute: the `GET, "/"` part. The second is the body of the item the attribute is attached to: in this case, `fn index() {}` and the rest of the function’s body. -Other than that, attribute-like macros work the same way as custom derive +Other than that, attribute-like macros work the same way as custom `derive` macros: you create a crate with the `proc-macro` crate type and implement a function that generates the code you want! @@ -3634,7 +3765,7 @@ syntactically correct, which is much more complex processing than a pub fn sql(input: TokenStream) -> TokenStream { ``` -This definition is similar to the custom derive macro’s signature: we receive +This definition is similar to the custom `derive` macro’s signature: we receive the tokens that are inside the parentheses and return the code we wanted to generate. diff --git a/nostarch/docx/chapter19.docx b/nostarch/docx/chapter19.docx index fe2e02f0a76c0e653874ad2fbe4db0809f0ac7d3..3846472eb026df06a99573718c316c135493e8fe 100644 GIT binary patch delta 106853 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 delta 91955 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

      x9Gbh$q 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

      o!OmbNlYP^_<%eJd0#-bJ6zgI^0}z9QZ7J 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 From f97611741d9c1f50680e26d0c6428e2ba715f30c Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 28 Aug 2022 20:08:30 -0400 Subject: [PATCH 0440/1248] Updated snapshot of chapter 20 --- nostarch/chapter20.md | 59 ++++++++++++++++--------------------------- 1 file changed, 22 insertions(+), 37 deletions(-) diff --git a/nostarch/chapter20.md b/nostarch/chapter20.md index e692e2f1dc..413bfc7e83 100644 --- a/nostarch/chapter20.md +++ b/nostarch/chapter20.md @@ -733,11 +733,6 @@ you’re interested in this topic, you can read more about other solutions and try to implement them; with a low-level language like Rust, all of these options are possible. - - - Before we begin implementing a thread pool, let’s talk about what using the pool should look like. When you’re trying to design code, writing the client interface first can help guide your design. Write the API of the code so it’s @@ -831,9 +826,9 @@ error we get: $ cargo check Checking hello v0.1.0 (file:///projects/hello) error[E0433]: failed to resolve: use of undeclared type `ThreadPool` - --> src/main.rs:10:16 + --> src/main.rs:11:16 | -10 | let pool = ThreadPool::new(4); +11 | let pool = ThreadPool::new(4); | ^^^^^^^^^^ use of undeclared type `ThreadPool` ``` @@ -870,9 +865,9 @@ we need to address: $ cargo check Checking hello v0.1.0 (file:///projects/hello) error[E0599]: no function or associated item named `new` found for struct `ThreadPool` in the current scope - --> src/bin/main.rs:11:28 + --> src/main.rs:12:28 | -11 | let pool = ThreadPool::new(4); +12 | let pool = ThreadPool::new(4); | ^^^ function or associated item not found in `ThreadPool` ``` @@ -905,9 +900,9 @@ Let’s check the code again: $ cargo check Checking hello v0.1.0 (file:///projects/hello) error[E0599]: no method named `execute` found for struct `ThreadPool` in the current scope - --> src/bin/main.rs:16:14 + --> src/main.rs:17:14 | -16 | pool.execute(|| { +17 | pool.execute(|| { | ^^^^^^^ method not found in `ThreadPool` ``` @@ -1037,12 +1032,6 @@ following signature to compare with the `new` function: ``` pub fn build(size: usize) -> Result { ``` - - #### Creating Space to Store the Threads @@ -1195,16 +1184,6 @@ impl Worker { } ``` - - - Listing 20-15: Modifying `ThreadPool` to hold `Worker` instances instead of holding threads directly @@ -1347,12 +1326,12 @@ When we try to check this code, we get this error: $ cargo check Checking hello v0.1.0 (file:///projects/hello) error[E0382]: use of moved value: `receiver` - --> src/lib.rs:27:42 + --> src/lib.rs:26:42 | -22 | let (sender, receiver) = mpsc::channel(); +21 | let (sender, receiver) = mpsc::channel(); | -------- move occurs because `receiver` has type `std::sync::mpsc::Receiver`, which does not implement the `Copy` trait ... -27 | workers.push(Worker::new(id, receiver)); +26 | workers.push(Worker::new(id, receiver)); | ^^^^^^^^ value moved here, in previous iteration of loop ``` @@ -1655,10 +1634,14 @@ Here is the error we get when we compile this code: ``` error[E0507]: cannot move out of `worker.thread` which is behind a mutable reference - --> src/lib.rs:52:13 - | -52 | worker.thread.join().unwrap(); - | ^^^^^^^^^^^^^ move occurs because `worker.thread` has type `JoinHandle<()>`, which does not implement the `Copy` trait + --> src/lib.rs:52:13 + | +52 | worker.thread.join().unwrap(); + | ^^^^^^^^^^^^^ ------ `worker.thread` moved due to this method call + | | + | move occurs because `worker.thread` has type `JoinHandle<()>`, which does not implement the `Copy` trait + | +note: this function takes ownership of the receiver `self`, which moves `worker.thread` ``` The error tells us we can’t call `join` because we only have a mutable borrow @@ -1703,8 +1686,8 @@ error[E0308]: mismatched types found struct `JoinHandle<_>` help: try wrapping the expression in `Some` | -72 | Worker { id, Some(thread) } - | +++++ + +72 | Worker { id, thread: Some(thread) } + | +++++++++++++ + ``` Let’s address the second error, which points to the code at the end of @@ -1828,7 +1811,9 @@ Filename: src/lib.rs impl Worker { fn new(id: usize, receiver: Arc>>) -> Worker { let thread = thread::spawn(move || loop { - match receiver.lock().unwrap().recv() { + let message = receiver.lock().unwrap().recv(); + + match message { Ok(job) => { println!("Worker {id} got a job; executing."); From 1cd127707d18223bb1f65fbcabbd8eb1d5318293 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 28 Aug 2022 20:25:37 -0400 Subject: [PATCH 0441/1248] Snapshot of ch20 after copyedit --- nostarch/chapter20.md | 2595 +++++++++++++++++++++++++++++----- nostarch/docx/chapter20.docx | Bin 0 -> 127368 bytes 2 files changed, 2257 insertions(+), 338 deletions(-) create mode 100644 nostarch/docx/chapter20.docx diff --git a/nostarch/chapter20.md b/nostarch/chapter20.md index 413bfc7e83..a98d384fb7 100644 --- a/nostarch/chapter20.md +++ b/nostarch/chapter20.md @@ -16,21 +16,20 @@ lessons. For our final project, we’ll make a web server that says “hello” and looks like Figure 20-1 in a web browser. -!hello from rust at *img/trpl20-01.png* -Figure 20-1: Our final shared project +Unmatched: GraphicSlug -Here is our plan for building the web server: +Unmatched: CaptionLine + Here is our plan for building the web server: 1. Learn a bit about TCP and HTTP. -2. Listen for TCP connections on a socket. -3. Parse a small number of HTTP requests. -4. Create a proper HTTP response. -5. Improve the throughput of our server with a thread pool. - +1. Listen for TCP connections on a socket. +1. Parse a small number of HTTP requests. +1. Create a proper HTTP response. +1. Improve the throughput of our server with a thread pool. Before we get started, we should mention one detail: the method we’ll use won’t be the best way to build a web server with Rust. Community members have -published a number of production-ready crates available at *https://crates.io/* +published a number of production-ready crates available at *https://crates.io* that provide more complete web server and thread pool implementations than we’ll build. However, our intention in this chapter is to help you learn, not to take the easy route. Because Rust is a systems programming language, we can @@ -46,11 +45,12 @@ let’s look at a quick overview of the protocols involved in building web servers. The details of these protocols are beyond the scope of this book, but a brief overview will give you the information you need. -The two main protocols involved in web servers are *Hypertext Transfer -Protocol* *(HTTP)* and *Transmission Control Protocol* *(TCP)*. Both protocols -are *request-response* protocols, meaning a *client* initiates requests and a -*server* listens to the requests and provides a response to the client. The -contents of those requests and responses are defined by the protocols. +The two main protocols involved in web servers are *Hypertext* *Transfer* +*Protocol* *(HTTP)* and *Transmission* *Control* *Protocol* *(TCP)*. Both +protocols are *request-response* protocols, meaning a *client* initiates +requests and a *server* listens to the requests and provides a response to the +client. The contents of those requests and responses are defined by the +protocols. TCP is the lower-level protocol that describes the details of how information gets from one server to another but doesn’t specify what that information is. @@ -67,39 +67,74 @@ this. Let’s make a new project in the usual fashion: ``` $ cargo new hello +``` + +``` Created binary (application) `hello` project +``` + +``` $ cd hello ``` Now enter the code in Listing 20-1 in *src/main.rs* to start. This code will listen at the local address `127.0.0.1:7878` for incoming TCP streams. When it -gets an incoming stream, it will print `Connection established!`. +gets an incoming stream, it will print `Connection` `established!`. Filename: src/main.rs ``` use std::net::TcpListener; +``` +``` + +``` + +``` fn main() { - [1] let listener = TcpListener::bind("127.0.0.1:7878").unwrap(); +``` + +``` + 1 let listener = TcpListener::bind("127.0.0.1:7878").unwrap(); +``` + +``` + +``` + +``` + 2 for stream in listener.incoming() { +``` - [2] for stream in listener.incoming() { - [3] let stream = stream.unwrap(); +``` + 3 let stream = stream.unwrap(); +``` + +``` + +``` + +``` + 4 println!("Connection established!"); +``` - [4] println!("Connection established!"); +``` } +``` + +``` } ``` -Listing 20-1: Listening for incoming streams and printing a message when we -receive a stream +Listening for incoming streams and printing a message when we receive a stream Using `TcpListener`, we can listen for TCP connections at the address `127.0.0.1:7878` [1]. In the address, the section before the colon is an IP address representing your computer (this is the same on every computer and doesn’t represent the authors’ computer specifically), and `7878` is the port. We’ve chosen this port for two reasons: HTTP isn’t normally accepted on this -port so our server is unlikely to conflict with any other web server you might +port, so our server is unlikely to conflict with any other web server you might have running on your machine, and 7878 is *rust* typed on a telephone. The `bind` function in this scenario works like the `new` function in that it @@ -107,9 +142,9 @@ will return a new `TcpListener` instance. The function is called `bind` because, in networking, connecting to a port to listen to is known as “binding to a port.” -The `bind` function returns a `Result`, which indicates that it’s +The `bind` function returns a `Result`, which indicates that it’s possible for binding to fail. For example, connecting to port 80 requires -administrator privileges (nonadministrators can listen only on ports higher +administrator privileges (non-administrators can listen only on ports higher than 1023), so if we tried to connect to port 80 without being an administrator, binding wouldn’t work. Binding also wouldn’t work, for example, if we ran two instances of our program and so had two programs listening to the @@ -132,27 +167,36 @@ our program if the stream has any errors [3]; if there aren’t any errors, the program prints a message [4]. We’ll add more functionality for the success case in the next listing. The reason we might receive errors from the `incoming` method when a client connects to the server is that we’re not actually -iterating over connections. Instead, we’re iterating over *connection -attempts*. The connection might not be successful for a number of reasons, many -of them operating system specific. For example, many operating systems have a -limit to the number of simultaneous open connections they can support; new -connection attempts beyond that number will produce an error until some of the -open connections are closed. - -Let’s try running this code! Invoke `cargo run` in the terminal and then load +iterating over connections. Instead, we’re iterating over *connection* +*attempts*. The connection might not be successful for a number of reasons, +many of them operating system specific. For example, many operating systems +have a limit to the number of simultaneous open connections they can support; +new connection attempts beyond that number will produce an error until some of +the open connections are closed. + +Let’s try running this code! Invoke `cargo` `run` in the terminal and then load *127.0.0.1:7878* in a web browser. The browser should show an error message -like “Connection reset,” because the server isn’t currently sending back any +like “Connection reset” because the server isn’t currently sending back any data. But when you look at your terminal, you should see several messages that were printed when the browser connected to the server! ``` Running `target/debug/hello` +``` + +``` Connection established! +``` + +``` Connection established! +``` + +``` Connection established! ``` -Sometimes, you’ll see multiple messages printed for one browser request; the +Sometimes you’ll see multiple messages printed for one browser request; the reason might be that the browser is making a request for the page as well as a request for other resources, like the *favicon.ico* icon that appears in the browser tab. @@ -164,10 +208,10 @@ part of the `drop` implementation. Browsers sometimes deal with closed connections by retrying, because the problem might be temporary. The important factor is that we’ve successfully gotten a handle to a TCP connection! -Remember to stop the program by pressing ctrl-c -when you’re done running a particular version of the code. Then restart the -program by invoking the `cargo run` command after you’ve made each set of code -changes to make sure you’re running the newest code. +Remember to stop the program by pressing ctrl-c when you’re done running a +particular version of the code. Then restart the program by invoking the +`cargo` `run` command after you’ve made each set of code changes to make sure +you’re running the newest code. ### Reading the Request @@ -181,34 +225,106 @@ look like Listing 20-2. Filename: src/main.rs ``` -[1] use std::{ +1 use std::{ +``` + +``` io::{prelude::*, BufReader}, +``` + +``` net::{TcpListener, TcpStream}, +``` + +``` }; +``` +``` + +``` + +``` fn main() { +``` + +``` let listener = TcpListener::bind("127.0.0.1:7878").unwrap(); +``` + +``` + +``` +``` for stream in listener.incoming() { +``` + +``` let stream = stream.unwrap(); +``` + +``` + +``` + +``` + 2 handle_connection(stream); +``` - [2] handle_connection(stream); +``` } +``` + +``` } +``` + +``` +``` + +``` fn handle_connection(mut stream: TcpStream) { - [3] let buf_reader = BufReader::new(&mut stream); - [4] let http_request: Vec<_> = buf_reader - [5] .lines() - [6] .map(|result| result.unwrap()) - [7] .take_while(|line| !line.is_empty()) +``` + +``` + 3 let buf_reader = BufReader::new(&mut stream); +``` + +``` + 4 let http_request: Vec<_> = buf_reader +``` + +``` + 5 .lines() +``` + +``` + 6 .map(|result| result.unwrap()) +``` + +``` + 7 .take_while(|line| !line.is_empty()) +``` + +``` .collect(); +``` + +``` - [8] println!("Request: {:#?}", http_request); +``` + +``` + 8 println!("Request: {:#?}", http_request); +``` + +``` } ``` -Listing 20-2: Reading from the `TcpStream` and printing the data +Reading from the `TcpStream` and printing the data We bring `std::io::prelude` and `std::io::BufReader` into scope to get access to traits and types that let us read from and write to the stream [1]. In the @@ -225,8 +341,8 @@ the browser sends to our server. We indicate that we want to collect these lines in a vector by adding the `Vec<_>` type annotation [4]. `BufReader` implements the `std::io::BufRead` trait, which provides the `lines` -method [5]. The `lines` method returns an iterator of `Result` by splitting the stream of data whenever it sees a newline +method [5]. The `lines` method returns an iterator of `Result` by splitting the stream of data whenever it sees a newline byte. To get each `String`, we map and `unwrap` each `Result` [6]. The `Result` might be an error if the data isn’t valid UTF-8 or if there was a problem reading from the stream. Again, a production program should handle these errors @@ -245,24 +361,90 @@ program’s output in the terminal will now look similar to this: ``` $ cargo run +``` + +``` Compiling hello v0.1.0 (file:///projects/hello) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.42s +``` + +``` Running `target/debug/hello` +``` + +``` Request: [ +``` + +``` "GET / HTTP/1.1", +``` + +``` "Host: 127.0.0.1:7878", - "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:99.0) Gecko/20100101 Firefox/99.0", - "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", +``` + +``` + "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:99.0) +``` + +``` +Gecko/20100101 Firefox/99.0", +``` + +``` + "Accept: +text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/* +``` + +``` +;q=0.8", +``` + +``` "Accept-Language: en-US,en;q=0.5", +``` + +``` "Accept-Encoding: gzip, deflate, br", +``` + +``` "DNT: 1", +``` + +``` "Connection: keep-alive", +``` + +``` "Upgrade-Insecure-Requests: 1", +``` + +``` "Sec-Fetch-Dest: document", +``` + +``` "Sec-Fetch-Mode: navigate", +``` + +``` "Sec-Fetch-Site: none", +``` + +``` "Sec-Fetch-User: ?1", +``` + +``` "Cache-Control: max-age=0", +``` + +``` ] ``` @@ -282,27 +464,34 @@ HTTP is a text-based protocol, and a request takes this format: ``` Method Request-URI HTTP-Version CRLF +``` + +``` headers CRLF +``` + +``` message-body ``` -The first line is the *request line* that holds information about what the +The first line is the *request* *line* that holds information about what the client is requesting. The first part of the request line indicates the *method* being used, such as `GET` or `POST`, which describes how the client is making this request. Our client used a `GET` request, which means it is asking for information. -The next part of the request line is */*, which indicates the *Uniform Resource -Identifier* *(URI)* the client is requesting: a URI is almost, but not quite, -the same as a *Uniform Resource Locator* *(URL)*. The difference between URIs -and URLs isn’t important for our purposes in this chapter, but the HTTP spec -uses the term URI, so we can just mentally substitute URL for URI here. +The next part of the request line is */*, which indicates the *u**niform* +*r**esource* *i**dentifier* *(URI)* the client is requesting: a URI is almost, +but not quite, the same as a *u**niform* *r**esource* *l**ocator* *(URL)*. The +difference between URIs and URLs isn’t important for our purposes in this +chapter, but the HTTP spec uses the term *URI*, so we can just mentally +substitute *URL* for *URI* here. The last part is the HTTP version the client uses, and then the request line -ends in a *CRLF sequence*. (CRLF stands for *carriage return* and *line feed*, -which are terms from the typewriter days!) The CRLF sequence can also be -written as `\r\n`, where `\r` is a carriage return and `\n` is a line feed. The -CRLF sequence separates the request line from the rest of the request data. +ends in a *CRLF* *sequence*. (CRLF stands for *carriage* *return* and *line* +*feed*, which are terms from the typewriter days!) The CRLF sequence can also +be written as `\r\n`, where `\r` is a carriage return and `\n` is a line feed. +The CRLF sequence separates the request line from the rest of the request data. Note that when the CRLF is printed, we see a new line start rather than `\r\n`. Looking at the request line data we received from running our program so far, @@ -324,18 +513,24 @@ Responses have the following format: ``` HTTP-Version Status-Code Reason-Phrase CRLF +``` + +``` headers CRLF +``` + +``` message-body ``` -The first line is a *status line* that contains the HTTP version used in the +The first line is a *status* *line* that contains the HTTP version used in the response, a numeric status code that summarizes the result of the request, and a reason phrase that provides a text description of the status code. After the CRLF sequence are any headers, another CRLF sequence, and the body of the response. -Here is an example response that uses HTTP version 1.1, has a status code of -200, an OK reason phrase, no headers, and no body: +Here is an example response that uses HTTP version 1.1, and has a status code +of 200, an OK reason phrase, no headers, and no body: ``` HTTP/1.1 200 OK\r\n\r\n @@ -351,20 +546,53 @@ Filename: src/main.rs ``` fn handle_connection(mut stream: TcpStream) { +``` + +``` let buf_reader = BufReader::new(&mut stream); +``` + +``` let http_request: Vec<_> = buf_reader +``` + +``` .lines() +``` + +``` .map(|result| result.unwrap()) +``` + +``` .take_while(|line| !line.is_empty()) +``` + +``` .collect(); +``` + +``` + +``` - [1] let response = "HTTP/1.1 200 OK\r\n\r\n"; +``` + 1 let response = "HTTP/1.1 200 OK\r\n\r\n"; +``` + +``` + +``` + +``` + 2 stream.write_all(response.3 as_bytes()).unwrap(); +``` - [2] stream.write_all(response.as_bytes()[3]).unwrap(); +``` } ``` -Listing 20-3: Writing a tiny successful HTTP response to the stream +Writing a tiny successful HTTP response to the stream The first new line defines the `response` variable that holds the success message’s data [1]. Then we call `as_bytes` on our `response` to convert the @@ -376,7 +604,7 @@ a real application you would add error handling here. With these changes, let’s run our code and make a request. We’re no longer printing any data to the terminal, so we won’t see any output other than the output from Cargo. When you load *127.0.0.1:7878* in a web browser, you should -get a blank page instead of an error. You’ve just hand-coded receiving an HTTP +get a blank page instead of an error. You’ve just handcoded receiving an HTTP request and sending a response! ### Returning Real HTML @@ -390,19 +618,49 @@ Filename: hello.html ``` +``` + +``` +``` + +``` +``` + +``` +``` + +``` Hello! +``` + +``` +``` + +``` +``` + +```

      Hello!

      +``` + +```

      Hi from Rust

      +``` + +``` +``` + +``` ``` -Listing 20-4: A sample HTML file to return in a response +A sample HTML file to return in a response This is a minimal HTML5 document with a heading and some text. To return this from the server when a request is received, we’ll modify `handle_connection` as @@ -413,44 +671,113 @@ Filename: src/main.rs ``` use std::{ - [1] fs, +``` + +``` + 1 fs, +``` + +``` io::{prelude::*, BufReader}, +``` + +``` net::{TcpListener, TcpStream}, +``` + +``` }; -// --snip-- +``` + +``` +--snip-- +``` +``` + +``` + +``` fn handle_connection(mut stream: TcpStream) { +``` + +``` let buf_reader = BufReader::new(&mut stream); +``` + +``` let http_request: Vec<_> = buf_reader +``` + +``` .lines() +``` + +``` .map(|result| result.unwrap()) +``` + +``` .take_while(|line| !line.is_empty()) +``` + +``` .collect(); +``` +``` + +``` + +``` let status_line = "HTTP/1.1 200 OK"; +``` + +``` let contents = fs::read_to_string("hello.html").unwrap(); +``` + +``` let length = contents.len(); +``` + +``` + +``` - [2] let response = +``` + 2 let response = +``` + +``` format!("{status_line}\r\nContent-Length: {length}\r\n\r\n{contents}"); +``` + +``` + +``` +``` stream.write_all(response.as_bytes()).unwrap(); +``` + +``` } ``` -Listing 20-5: Sending the contents of *hello.html* as the body of the response +Sending the contents of *hello.html* as the body of the response We’ve added `fs` to the `use` statement to bring the standard library’s filesystem module into scope [1]. The code for reading the contents of a file -to a string should look familiar; we used it in Chapter 12 when we read the -contents of a file for our I/O project in Listing 12-4. +to a string should look familiar; we used it when we read the contents of a +file for our I/O project in Listing 12-4. Next, we use `format!` to add the file’s contents as the body of the success response [2]. To ensure a valid HTTP response, we add the `Content-Length` header which is set to the size of our response body, in this case the size of `hello.html`. -Run this code with `cargo run` and load *127.0.0.1:7878* in your browser; you +Run this code with `cargo` `run` and load *127.0.0.1:7878* in your browser; you should see your HTML rendered! Currently, we’re ignoring the request data in `http_request` and just sending @@ -465,7 +792,7 @@ request to */*. Right now, our web server will return the HTML in the file no matter what the client requested. Let’s add functionality to check that the browser is -requesting */* before returning the HTML file and return an error if the +requesting */* before returning the HTML file, and return an error if the browser requests anything else. For this we need to modify `handle_connection`, as shown in Listing 20-6. This new code checks the content of the request received against what we know a request for */* looks like and adds `if` and @@ -474,29 +801,86 @@ received against what we know a request for */* looks like and adds `if` and Filename: src/main.rs ``` -// --snip-- +--snip-- +``` + +``` +``` + +``` fn handle_connection(mut stream: TcpStream) { +``` + +``` let buf_reader = BufReader::new(&mut stream); - [1] let request_line = buf_reader.lines().next().unwrap().unwrap(); +``` + +``` + 1 let request_line = buf_reader.lines().next().unwrap().unwrap(); +``` + +``` + +``` + +``` + 2 if request_line == "GET / HTTP/1.1" { +``` - [2] if request_line == "GET / HTTP/1.1" { +``` let status_line = "HTTP/1.1 200 OK"; +``` + +``` let contents = fs::read_to_string("hello.html").unwrap(); +``` + +``` let length = contents.len(); +``` + +``` + +``` +``` let response = format!( +``` + +``` "{status_line}\r\nContent-Length: {length}\r\n\r\n{contents}" +``` + +``` ); +``` + +``` + +``` +``` stream.write_all(response.as_bytes()).unwrap(); - [3] } else { +``` + +``` + 3 } else { +``` + +``` // some other request +``` + +``` } +``` + +``` } ``` -Listing 20-6: Handling requests to */* differently from other requests +Handling requests to */* differently from other requests We’re only going to be looking at the first line of the HTTP request, so rather than reading the entire request into a vector, we’re calling `next` to get the @@ -526,46 +910,109 @@ indicating the response to the end user. Filename: src/main.rs ``` - // --snip-- - } else { - [1] let status_line = "HTTP/1.1 404 NOT FOUND"; - [2] let contents = fs::read_to_string("404.html").unwrap(); + --snip-- +``` + +``` + } else { +``` + +``` + 1 let status_line = "HTTP/1.1 404 NOT FOUND"; +``` + +``` + 2 let contents = fs::read_to_string("404.html").unwrap(); +``` + +``` let length = contents.len(); +``` + +``` + +``` +``` let response = format!( +``` + +``` "{status_line}\r\nContent-Length: {length}\r\n\r\n{contents}" +``` + +``` ); +``` +``` + +``` + +``` stream.write_all(response.as_bytes()).unwrap(); +``` + +``` } ``` -Listing 20-7: Responding with status code 404 and an error page if anything -other than */* was requested +Responding with status code 404 and an error page if anything other than */* +was requested Here, our response has a status line with status code 404 and the reason phrase -`NOT FOUND` [1]. The body of the response will be the HTML in the file +`NOT` `FOUND` [1]. The body of the response will be the HTML in the file *404.html* [1]. You’ll need to create a *404.html* file next to *hello.html* -for the error page; again feel free to use any HTML you want or use the example -HTML in Listing 20-8. +for the error page; again feel free to use any HTML you want, or use the +example HTML in Listing 20-8. Filename: 404.html ``` +``` + +``` +``` + +``` +``` + +``` +``` + +``` Hello! +``` + +``` +``` + +``` +``` + +```

      Oops!

      +``` + +```

      Sorry, I don't know what you're asking for.

      +``` + +``` +``` + +``` ``` -Listing 20-8: Sample content for the page to send back with any 404 response +Sample content for the page to send back with any 404 response With these changes, run your server again. Requesting *127.0.0.1:7878* should return the contents of *hello.html*, and any other request, like @@ -573,41 +1020,95 @@ return the contents of *hello.html*, and any other request, like ### A Touch of Refactoring -At the moment the `if` and `else` blocks have a lot of repetition: they’re both -reading files and writing the contents of the files to the stream. The only -differences are the status line and the filename. Let’s make the code more +At the moment, the `if` and `else` blocks have a lot of repetition: they’re +both reading files and writing the contents of the files to the stream. The +only differences are the status line and the filename. Let’s make the code more concise by pulling out those differences into separate `if` and `else` lines that will assign the values of the status line and the filename to variables; we can then use those variables unconditionally in the code to read the file -and write the response. Listing 20-9 shows the resulting code after replacing +and write the response. Listing 20-9 shows the resultant code after replacing the large `if` and `else` blocks. Filename: src/main.rs ``` -// --snip-- +--snip-- +``` + +``` + +``` +``` fn handle_connection(mut stream: TcpStream) { - // --snip-- +``` + +``` + --snip-- +``` +``` + +``` + +``` let (status_line, filename) = if request_line == "GET / HTTP/1.1" { +``` + +``` ("HTTP/1.1 200 OK", "hello.html") +``` + +``` } else { +``` + +``` ("HTTP/1.1 404 NOT FOUND", "404.html") +``` + +``` }; +``` + +``` +``` + +``` let contents = fs::read_to_string(filename).unwrap(); +``` + +``` let length = contents.len(); +``` + +``` + +``` +``` let response = +``` + +``` format!("{status_line}\r\nContent-Length: {length}\r\n\r\n{contents}"); +``` + +``` + +``` +``` stream.write_all(response.as_bytes()).unwrap(); +``` + +``` } ``` -Listing 20-9: Refactoring the `if` and `else` blocks to contain only the code -that differs between the two cases +Refactoring the `if` and `else` blocks to contain only the code that differs +between the two cases Now the `if` and `else` blocks only return the appropriate values for the status line and filename in a tuple; we then use destructuring to assign these @@ -638,70 +1139,136 @@ server received more and more requests, this serial execution would be less and less optimal. If the server receives a request that takes a long time to process, subsequent requests will have to wait until the long request is finished, even if the new requests can be processed quickly. We’ll need to fix -this, but first, we’ll look at the problem in action. +this, but first we’ll look at the problem in action. -### Simulating a Slow Request in the Current Server Implementation +### Simulating a Slow Request We’ll look at how a slow-processing request can affect other requests made to our current server implementation. Listing 20-10 implements handling a request to */sleep* with a simulated slow response that will cause the server to sleep -for 5 seconds before responding. +for five seconds before responding. Filename: src/main.rs ``` use std::{ +``` + +``` fs, +``` + +``` io::{prelude::*, BufReader}, +``` + +``` net::{TcpListener, TcpStream}, +``` + +``` thread, +``` + +``` time::Duration, +``` + +``` }; -// --snip-- +``` + +``` +--snip-- +``` + +``` +``` + +``` fn handle_connection(mut stream: TcpStream) { - // --snip-- +``` + +``` + --snip-- +``` + +``` + +``` + +``` + let (status_line, filename) = 1 match &request_line[..] { +``` + +``` + 2 "GET / HTTP/1.1" => ("HTTP/1.1 200 OK", "hello.html"), +``` + +``` + 3 "GET /sleep HTTP/1.1" => { +``` - let (status_line, filename) = [1] match &request_line[..] { - [2] "GET / HTTP/1.1" => ("HTTP/1.1 200 OK", "hello.html"), - [3] "GET /sleep HTTP/1.1" => { +``` thread::sleep(Duration::from_secs(5)); +``` + +``` ("HTTP/1.1 200 OK", "hello.html") +``` + +``` } - [4] _ => ("HTTP/1.1 404 NOT FOUND", "404.html"), +``` + +``` + 4 _ => ("HTTP/1.1 404 NOT FOUND", "404.html"), +``` + +``` }; +``` + +``` - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` -Listing 20-10: Simulating a slow request by sleeping for 5 seconds +Simulating a slow request by sleeping for five seconds We switched from `if` to `match` now that we have three cases [1]. We need to -explicitly match on a slice of `request_line` to pattern match against the +explicitly match on a slice of `request_line` to pattern-match against the string literal values; `match` doesn’t do automatic referencing and -dereferencing like the equality method does. +dereferencing, like the equality method does. The first arm [2] is the same as the `if` block from Listing 20-9. The second arm [3] matches a request to */sleep*. When that request is received, the -server will sleep for 5 seconds before rendering the successful HTML page. The -third arm [4] is the same as the `else` block from Listing 20-9. +server will sleep for five seconds before rendering the successful HTML page. +The third arm [4] is the same as the `else` block from Listing 20-9. You can see how primitive our server is: real libraries would handle the recognition of multiple requests in a much less verbose way! -Start the server using `cargo run`. Then open two browser windows: one for -*http://127.0.0.1:7878/* and the other for *http://127.0.0.1:7878/sleep*. If -you enter the */* URI a few times, as before, you’ll see it respond quickly. -But if you enter */sleep* and then load */*, you’ll see that */* waits until -`sleep` has slept for its full 5 seconds before loading. +Start the server using `cargo` `run`. Then open two browser windows: one for +*http://127.0.0.1:7878* and the other for *http://127.0.0.1:7878/sleep*. If you +enter the */* URI a few times, as before, you’ll see it respond quickly. But if +you enter */sleep* and then load */*, you’ll see that */* waits until `sleep` +has slept for its full five seconds before loading. There are multiple techniques we could use to avoid requests backing up behind a slow request; the one we’ll implement is a thread pool. ### Improving Throughput with a Thread Pool -A *thread pool* is a group of spawned threads that are waiting and ready to +A *thread* *pool* is a group of spawned threads that are waiting and ready to handle a task. When the program receives a new task, it assigns one of the threads in the pool to the task, and that thread will process the task. The remaining threads in the pool are available to handle any other tasks that come @@ -711,10 +1278,10 @@ a new task. A thread pool allows you to process connections concurrently, increasing the throughput of your server. We’ll limit the number of threads in the pool to a small number to protect us -from Denial of Service (DoS) attacks; if we had our program create a new thread -for each request as it came in, someone making 10 million requests to our -server could create havoc by using up all our server’s resources and grinding -the processing of requests to a halt. +from DoS attacks; if we had our program create a new thread for each request as +it came in, someone making 10 million requests to our server could create havoc +by using up all our server’s resources and grinding the processing of requests +to a halt. Rather than spawning unlimited threads, then, we’ll have a fixed number of threads waiting in the pool. Requests that come in are sent to the pool for @@ -727,11 +1294,11 @@ back up in the queue, but we’ve increased the number of long-running requests we can handle before reaching that point. This technique is just one of many ways to improve the throughput of a web -server. Other options you might explore are the *fork/join model*, the -*single-threaded async I/O model*, or the *multi-threaded async I/O model*. If -you’re interested in this topic, you can read more about other solutions and -try to implement them; with a low-level language like Rust, all of these -options are possible. +server. Other options you might explore are the *fork/join* *model*, the +*single-threaded* *async* *I/O* *model*, and the *multithreaded* *async* *I/O* +*model*. If you’re interested in this topic, you can read more about other +solutions and try to implement them; with a low-level language like Rust, all +of these options are possible. Before we begin implementing a thread pool, let’s talk about what using the pool should look like. When you’re trying to design code, writing the client @@ -752,8 +1319,7 @@ First, let’s explore how our code might look if it did create a new thread for every connection. As mentioned earlier, this isn’t our final plan due to the problems with potentially spawning an unlimited number of threads, but it is a starting point to get a working multithreaded server first. Then we’ll add the -thread pool as an improvement, and contrasting the two solutions will be -easier. +thread pool as an improvement, and contrasting the two solutions will be easier. Listing 20-11 shows the changes to make to `main` to spawn a new thread to handle each stream within the `for` loop. @@ -762,19 +1328,49 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let listener = TcpListener::bind("127.0.0.1:7878").unwrap(); +``` + +``` +``` + +``` for stream in listener.incoming() { +``` + +``` let stream = stream.unwrap(); +``` + +``` + +``` +``` thread::spawn(|| { +``` + +``` handle_connection(stream); +``` + +``` }); +``` + +``` } +``` + +``` } ``` -Listing 20-11: Spawning a new thread for each stream +Spawning a new thread for each stream As you learned in Chapter 16, `thread::spawn` will create a new thread and then run the code in the closure in the new thread. If you run this code and load @@ -785,62 +1381,113 @@ new threads without any limit. #### Creating a Finite Number of Threads -We want our thread pool to work in a similar, familiar way so switching from -threads to a thread pool doesn’t require large changes to the code that uses -our API. Listing 20-12 shows the hypothetical interface for a `ThreadPool` +We want our thread pool to work in a similar, familiar way so that switching +from threads to a thread pool doesn’t require large changes to the code that +uses our API. Listing 20-12 shows the hypothetical interface for a `ThreadPool` struct we want to use instead of `thread::spawn`. Filename: src/main.rs ``` fn main() { +``` + +``` let listener = TcpListener::bind("127.0.0.1:7878").unwrap(); - [1] let pool = ThreadPool::new(4); +``` +``` + 1 let pool = ThreadPool::new(4); +``` + +``` + +``` + +``` for stream in listener.incoming() { +``` + +``` let stream = stream.unwrap(); +``` + +``` + +``` - [2] pool.execute(|| { +``` + 2 pool.execute(|| { +``` + +``` handle_connection(stream); +``` + +``` }); +``` + +``` } +``` + +``` } ``` -Listing 20-12: Our ideal `ThreadPool` interface +Our ideal `ThreadPool` interface We use `ThreadPool::new` to create a new thread pool with a configurable number of threads, in this case four [1]. Then, in the `for` loop, `pool.execute` has a similar interface as `thread::spawn` in that it takes a closure the pool should run for each stream [2]. We need to implement `pool.execute` so it takes the closure and gives it to a thread in the pool to run. This code won’t yet -compile, but we’ll try so the compiler can guide us in how to fix it. +compile, but we’ll try so that the compiler can guide us in how to fix it. -#### Building `ThreadPool` Using Compiler Driven Development +#### Building ThreadPool Using Compiler-Driven Development Make the changes in Listing 20-12 to *src/main.rs*, and then let’s use the -compiler errors from `cargo check` to drive our development. Here is the first -error we get: +compiler errors from `cargo` `check` to drive our development. Here is the +first error we get: ``` $ cargo check +``` + +``` Checking hello v0.1.0 (file:///projects/hello) +``` + +``` error[E0433]: failed to resolve: use of undeclared type `ThreadPool` +``` + +``` --> src/main.rs:11:16 +``` + +``` | +``` + +``` 11 | let pool = ThreadPool::new(4); +``` + +``` | ^^^^^^^^^^ use of undeclared type `ThreadPool` ``` Great! This error tells us we need a `ThreadPool` type or module, so we’ll build one now. Our `ThreadPool` implementation will be independent of the kind -of work our web server is doing. So, let’s switch the `hello` crate from a +of work our web server is doing. So let’s switch the `hello` crate from a binary crate to a library crate to hold our `ThreadPool` implementation. After we change to a library crate, we could also use the separate thread pool library for any work we want to do using a thread pool, not just for serving web requests. -Create a *src/lib.rs* that contains the following, which is the simplest +Create an *src/lib.rs* file that contains the following, which is the simplest definition of a `ThreadPool` struct that we can have for now: Filename: src/lib.rs @@ -849,7 +1496,7 @@ Filename: src/lib.rs pub struct ThreadPool; ``` -Then edit *main.rs* file to bring `ThreadPool` into scope from the library +Then edit the *main.rs* file to bring `ThreadPool` into scope from the library crate by adding the following code to the top of *src/main.rs*: Filename: src/main.rs @@ -863,12 +1510,35 @@ we need to address: ``` $ cargo check +``` + +``` Checking hello v0.1.0 (file:///projects/hello) -error[E0599]: no function or associated item named `new` found for struct `ThreadPool` in the current scope +``` + +``` +error[E0599]: no function or associated item named `new` found for struct +``` + +``` +`ThreadPool` in the current scope +``` + +``` --> src/main.rs:12:28 +``` + +``` | +``` + +``` 12 | let pool = ThreadPool::new(4); - | ^^^ function or associated item not found in `ThreadPool` +``` + +``` + | ^^^ function or associated item not found in +`ThreadPool` ``` This error indicates that next we need to create an associated function named @@ -881,51 +1551,99 @@ Filename: src/lib.rs ``` pub struct ThreadPool; +``` + +``` + +``` +``` impl ThreadPool { +``` + +``` pub fn new(size: usize) -> ThreadPool { +``` + +``` ThreadPool +``` + +``` } +``` + +``` } ``` -We chose `usize` as the type of the `size` parameter, because we know that a +We chose `usize` as the type of the `size` parameter because we know that a negative number of threads doesn’t make any sense. We also know we’ll use this -4 as the number of elements in a collection of threads, which is what the -`usize` type is for, as discussed in the “Integer Types” section of Chapter 3. +`4` as the number of elements in a collection of threads, which is what the +`usize` type is for, as discussed in “Integer Types” on page XX. Let’s check the code again: ``` $ cargo check +``` + +``` Checking hello v0.1.0 (file:///projects/hello) -error[E0599]: no method named `execute` found for struct `ThreadPool` in the current scope +``` + +``` +error[E0599]: no method named `execute` found for struct `ThreadPool` in the +current scope +``` + +``` --> src/main.rs:17:14 +``` + +``` | +``` + +``` 17 | pool.execute(|| { +``` + +``` | ^^^^^^^ method not found in `ThreadPool` ``` Now the error occurs because we don’t have an `execute` method on `ThreadPool`. -Recall from the “Creating a Finite Number of Threads” section that we decided +Recall from “Creating a Finite Number of Threads” on page XX that we decided our thread pool should have an interface similar to `thread::spawn`. In addition, we’ll implement the `execute` function so it takes the closure it’s given and gives it to an idle thread in the pool to run. We’ll define the `execute` method on `ThreadPool` to take a closure as a -parameter. Recall from the “Moving Captured Values Out of the Closure and the -`Fn` Traits” section in Chapter 13 that we can take closures as parameters with -three different traits: `Fn`, `FnMut`, and `FnOnce`. We need to decide which -kind of closure to use here. We know we’ll end up doing something similar to -the standard library `thread::spawn` implementation, so we can look at what -bounds the signature of `thread::spawn` has on its parameter. The documentation -shows us the following: +parameter. Recall from “Moving Captured Values Out of Closures and the Fn +Traits” on page XX that we can take closures as parameters with three different +traits: `Fn`, `FnMut`, and `FnOnce`. We need to decide which kind of closure to +use here. We know we’ll end up doing something similar to the standard library +`thread::spawn` implementation, so we can look at what bounds the signature of +`thread::spawn` has on its parameter. The documentation shows us the following: ``` pub fn spawn(f: F) -> JoinHandle +``` + +``` where +``` + +``` F: FnOnce() -> T, +``` + +``` F: Send + 'static, +``` + +``` T: Send + 'static, ``` @@ -947,12 +1665,33 @@ Filename: src/lib.rs ``` impl ThreadPool { - // --snip-- +``` + +``` + --snip-- +``` + +``` pub fn execute(&self, f: F) +``` + +``` where - F: FnOnce() [1] + Send + 'static, +``` + +``` + F: FnOnce() 1 + Send + 'static, +``` + +``` { +``` + +``` } +``` + +``` } ``` @@ -962,32 +1701,38 @@ function definitions, the return type can be omitted from the signature, but even if we have no parameters, we still need the parentheses. Again, this is the simplest implementation of the `execute` method: it does -nothing, but we’re trying only to make our code compile. Let’s check it again: +nothing, but we’re only trying to make our code compile. Let’s check it again: ``` $ cargo check +``` + +``` Checking hello v0.1.0 (file:///projects/hello) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.24s ``` -It compiles! But note that if you try `cargo run` and make a request in the +It compiles! But note that if you try `cargo` `run` and make a request in the browser, you’ll see the errors in the browser that we saw at the beginning of the chapter. Our library isn’t actually calling the closure passed to `execute` yet! -> Note: A saying you might hear about languages with strict compilers, such as -> Haskell and Rust, is “if the code compiles, it works.” But this saying is not -> universally true. Our project compiles, but it does absolutely nothing! If we -> were building a real, complete project, this would be a good time to start -> writing unit tests to check that the code compiles *and* has the behavior we -> want. +> NoteA saying you might hear about languages with strict compilers, such as +Haskell and Rust, is “if the code compiles, it works.” But this saying is not +universally true. Our project compiles, but it does absolutely nothing! If we +were building a real, complete project, this would be a good time to start +writing unit tests to check that the code compiles *and* has the behavior we +want. -#### Validating the Number of Threads in `new` +#### Validating the Number of Threads in new We aren’t doing anything with the parameters to `new` and `execute`. Let’s implement the bodies of these functions with the behavior we want. To start, let’s think about `new`. Earlier we chose an unsigned type for the `size` -parameter, because a pool with a negative number of threads makes no sense. +parameter because a pool with a negative number of threads makes no sense. However, a pool with zero threads also makes no sense, yet zero is a perfectly valid `usize`. We’ll add code to check that `size` is greater than zero before we return a `ThreadPool` instance and have the program panic if it receives a @@ -997,30 +1742,75 @@ Filename: src/lib.rs ``` impl ThreadPool { +``` + +``` /// Create a new ThreadPool. +``` + +``` /// +``` + +``` /// The size is the number of threads in the pool. - /// - [1] /// # Panics - /// - /// The `new` function will panic if the size is zero. - pub fn new(size: usize) -> ThreadPool { - [2] assert!(size > 0); +``` - ThreadPool - } +``` + /// +``` - // --snip-- -} +``` + 1 /// # Panics ``` -Listing 20-13: Implementing `ThreadPool::new` to panic if `size` is zero +``` + /// +``` -We’ve also added some documentation for our `ThreadPool` with doc comments. +``` + /// The `new` function will panic if the size is zero. +``` + +``` + pub fn new(size: usize) -> ThreadPool { +``` + +``` + 2 assert!(size > 0); +``` + +``` + +``` + +``` + ThreadPool +``` + +``` + } +``` + +``` + +``` + +``` + --snip-- +``` + +``` +} +``` + +Implementing `ThreadPool::new` to panic if `size` is zero + +We’ve also added some documentation for our `ThreadPool` with doc comments. Note that we followed good documentation practices by adding a section that calls out the situations in which our function can panic [1], as discussed in -Chapter 14. Try running `cargo doc --open` and clicking the `ThreadPool` struct -to see what the generated docs for `new` look like! +Chapter 14. Try running `cargo` `doc` `--open` and clicking the `ThreadPool` +struct to see what the generated docs for `new` look like! Instead of adding the `assert!` macro as we’ve done here [2], we could change `new` into `build` and return a `Result` like we did with `Config::build` in @@ -1042,9 +1832,21 @@ look at the `thread::spawn` signature: ``` pub fn spawn(f: F) -> JoinHandle +``` + +``` where +``` + +``` F: FnOnce() -> T, +``` + +``` F: Send + 'static, +``` + +``` T: Send + 'static, ``` @@ -1062,45 +1864,105 @@ returned a `ThreadPool` instance containing them. Filename: src/lib.rs ``` -[1] use std::thread; +1 use std::thread; +``` + +``` + +``` +``` pub struct ThreadPool { - [2] threads: Vec>, +``` + +``` + 2 threads: Vec>, +``` + +``` } +``` + +``` + +``` +``` impl ThreadPool { - // --snip-- +``` + +``` + --snip-- +``` + +``` pub fn new(size: usize) -> ThreadPool { +``` + +``` assert!(size > 0); +``` + +``` + +``` - [3] let mut threads = Vec::with_capacity(size); +``` + 3 let mut threads = Vec::with_capacity(size); +``` + +``` +``` + +``` for _ in 0..size { +``` + +``` // create some threads and store them in the vector +``` + +``` } +``` + +``` +``` + +``` ThreadPool { threads } +``` + +``` } - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` -Listing 20-14: Creating a vector for `ThreadPool` to hold the threads +Creating a vector for `ThreadPool` to hold the threads -We’ve brought `std::thread` into scope in the library crate [1], because we’re +We’ve brought `std::thread` into scope in the library crate [1] because we’re using `thread::JoinHandle` as the type of the items in the vector in `ThreadPool` [2]. Once a valid size is received, our `ThreadPool` creates a new vector that can hold `size` items [3]. The `with_capacity` function performs the same task as -`Vec::new` but with an important difference: it preallocates space in the +`Vec::new` but with an important difference: it pre-allocates space in the vector. Because we know we need to store `size` elements in the vector, doing this allocation up front is slightly more efficient than using `Vec::new`, which resizes itself as elements are inserted. -When you run `cargo check` again, it should succeed. +When you run `cargo` `check` again, it should succeed. -#### A `Worker` Struct Responsible for Sending Code from the `ThreadPool` to a Thread +#### Sending Code from the ThreadPool to a Thread We left a comment in the `for` loop in Listing 20-14 regarding the creation of threads. Here, we’ll look at how we actually create threads. The standard @@ -1117,9 +1979,9 @@ this data structure *Worker*, which is a common term in pooling implementations. The Worker picks up code that needs to be run and runs the code in the Worker’s thread. -Think of people working in the kitchen at a restaurant: the -workers wait until orders come in from customers, and then they’re responsible -for taking those orders and filling them. +Think of people working in the kitchen at a restaurant: the workers wait until +orders come in from customers, and then they’re responsible for taking those +orders and filling them. Instead of storing a vector of `JoinHandle<()>` instances in the thread pool, we’ll store instances of the `Worker` struct. Each `Worker` will store a single @@ -1133,13 +1995,12 @@ implement the code that sends the closure to the thread after we have `Worker` set up in this way: 1. Define a `Worker` struct that holds an `id` and a `JoinHandle<()>`. -2. Change `ThreadPool` to hold a vector of `Worker` instances. -3. Define a `Worker::new` function that takes an `id` number and returns a - `Worker` instance that holds the `id` and a thread spawned with an empty - closure. -4. In `ThreadPool::new`, use the `for` loop counter to generate an `id`, create - a new `Worker` with that `id`, and store the worker in the vector. - +1. Change `ThreadPool` to hold a vector of `Worker` instances. +1. Define a `Worker::new` function that takes an `id` number and returns a +`Worker` instance that holds the `id` and a thread spawned with an empty +closure. +1. In `ThreadPool::new`, use the `for` loop counter to generate an `id`, create +a new `Worker` with that `id`, and store the worker in the vector. If you’re up for a challenge, try implementing these changes on your own before looking at the code in Listing 20-15. @@ -1149,43 +2010,142 @@ Filename: src/lib.rs ``` use std::thread; +``` + +``` +``` + +``` pub struct ThreadPool { - [1] workers: Vec, +``` + +``` + 1 workers: Vec, +``` + +``` } +``` + +``` +``` + +``` impl ThreadPool { - // --snip-- +``` + +``` + --snip-- +``` + +``` pub fn new(size: usize) -> ThreadPool { +``` + +``` assert!(size > 0); +``` + +``` + +``` +``` let mut workers = Vec::with_capacity(size); +``` + +``` + +``` + +``` + 2 for id in 0..size { +``` + +``` + 3 workers.push(Worker::new(id)); +``` - [2] for id in 0..size { - [3] workers.push(Worker::new(id)); +``` } +``` + +``` + +``` +``` ThreadPool { workers } +``` + +``` } - // --snip-- +``` + +``` + --snip-- +``` + +``` } +``` + +``` + +``` + +``` +4 struct Worker { +``` -[4] struct Worker { +``` id: usize, +``` + +``` thread: thread::JoinHandle<()>, +``` + +``` } +``` + +``` + +``` +``` impl Worker { - [5] fn new(id: usize) -> Worker { - [6] let thread = thread::spawn(|| {}); +``` + +``` + 5 fn new(id: usize) -> Worker { +``` + +``` + 6 let thread = thread::spawn(|| {}); +``` + +``` + +``` + +``` + Worker { 7 id, 8 thread } +``` - Worker { [7] id, [8] thread } +``` } +``` + +``` } ``` -Listing 20-15: Modifying `ThreadPool` to hold `Worker` instances instead of -holding threads directly +Modifying `ThreadPool` to hold `Worker` instances instead of holding threads +directly We’ve changed the name of the field on `ThreadPool` from `threads` to `workers` because it’s now holding `Worker` instances instead of `JoinHandle<()>` @@ -1199,12 +2159,12 @@ so we make the `Worker` struct [4] and its `new` function [5] private. The `JoinHandle<()>` instance [8] that is created by spawning a new thread using an empty closure [6]. -> Note: If the operating system can’t create a thread because there aren’t -> enough system resources, `thread::spawn` will panic. That will cause our -> whole server to panic, even though the creation of some threads might -> succeed. For simplicity’s sake, this behavior is fine, but in a production -> thread pool implementation, you’d likely want to use `std::thread::Builder` -> and its `spawn` method that returns `Result` instead. +> NoteIf the operating system can’t create a thread because there aren’t enough +system resources, `thread::spawn` will panic. That will cause our whole server +to panic, even though the creation of some threads might succeed. For +simplicity’s sake, this behavior is fine, but in a production thread pool +implementation, you’d likely want to use `std::thread::Builder` and its `spawn` +method that returns `Result` instead. This code will compile and will store the number of `Worker` instances we specified as an argument to `ThreadPool::new`. But we’re *still* not processing @@ -1226,14 +2186,13 @@ as the queue of jobs, and `execute` will send a job from the `ThreadPool` to the `Worker` instances, which will send the job to its thread. Here is the plan: 1. The `ThreadPool` will create a channel and hold on to the sender. -2. Each `Worker` will hold on to the receiver. -3. We’ll create a new `Job` struct that will hold the closures we want to send - down the channel. -4. The `execute` method will send the job it wants to execute through the - sender. -5. In its thread, the `Worker` will loop over its receiver and execute the - closures of any jobs it receives. - +1. Each `Worker` will hold on to the receiver. +1. We’ll create a new `Job` struct that will hold the closures we want to send +down the channel. +1. The `execute` method will send the job it wants to execute through the +sender. +1. In its thread, the `Worker` will loop over its receiver and execute the +closures of any jobs it receives. Let’s start by creating a channel in `ThreadPool::new` and holding the sender in the `ThreadPool` instance, as shown in Listing 20-16. The `Job` struct doesn’t hold anything for now but will be the type of item we’re sending down @@ -1243,35 +2202,110 @@ Filename: src/lib.rs ``` use std::{sync::mpsc, thread}; +``` + +``` +``` + +``` pub struct ThreadPool { +``` + +``` workers: Vec, +``` + +``` sender: mpsc::Sender, +``` + +``` } +``` + +``` + +``` +``` struct Job; +``` + +``` + +``` +``` impl ThreadPool { - // --snip-- +``` + +``` + --snip-- +``` + +``` pub fn new(size: usize) -> ThreadPool { +``` + +``` assert!(size > 0); +``` - [1] let (sender, receiver) = mpsc::channel(); +``` - let mut workers = Vec::with_capacity(size); +``` - for id in 0..size { - workers.push(Worker::new(id)); - } +``` + 1 let (sender, receiver) = mpsc::channel(); +``` - ThreadPool { workers, [2] sender } - } - // --snip-- -} ``` -Listing 20-16: Modifying `ThreadPool` to store the sender of a channel that -transmits `Job` instances +``` + +``` + let mut workers = Vec::with_capacity(size); +``` + +``` + +``` + +``` + for id in 0..size { +``` + +``` + workers.push(Worker::new(id)); +``` + +``` + } +``` + +``` + +``` + +``` + ThreadPool { workers, 2 sender } +``` + +``` + } +``` + +``` + --snip-- +``` + +``` +} +``` + +Modifying `ThreadPool` to store the sender of a channel that transmits `Job` +instances In `ThreadPool::new`, we create our new channel [1] and have the pool hold the sender [2]. This will successfully compile. @@ -1285,37 +2319,121 @@ Filename: src/lib.rs ``` impl ThreadPool { - // --snip-- +``` + +``` + --snip-- +``` + +``` pub fn new(size: usize) -> ThreadPool { +``` + +``` assert!(size > 0); +``` +``` + +``` + +``` let (sender, receiver) = mpsc::channel(); +``` + +``` + +``` +``` let mut workers = Vec::with_capacity(size); +``` + +``` + +``` +``` for id in 0..size { - [1] workers.push(Worker::new(id, receiver)); +``` + +``` + 1 workers.push(Worker::new(id, receiver)); +``` + +``` } +``` + +``` +``` + +``` ThreadPool { workers, sender } +``` + +``` } - // --snip-- +``` + +``` + --snip-- +``` + +``` } +``` + +``` + +``` + +``` +--snip-- +``` -// --snip-- +``` + +``` +``` impl Worker { +``` + +``` fn new(id: usize, receiver: mpsc::Receiver) -> Worker { +``` + +``` let thread = thread::spawn(|| { - [2] receiver; +``` + +``` + 2 receiver; +``` + +``` }); +``` + +``` +``` + +``` Worker { id, thread } +``` + +``` } +``` + +``` } ``` -Listing 20-17: Passing the receiver to the workers +Passing the receiver to the workers We’ve made some small and straightforward changes: we pass the receiver into `Worker::new` [1], and then we use it inside the closure [2]. @@ -1324,15 +2442,50 @@ When we try to check this code, we get this error: ``` $ cargo check +``` + +``` Checking hello v0.1.0 (file:///projects/hello) +``` + +``` error[E0382]: use of moved value: `receiver` +``` + +``` --> src/lib.rs:26:42 +``` + +``` | +``` + +``` 21 | let (sender, receiver) = mpsc::channel(); - | -------- move occurs because `receiver` has type `std::sync::mpsc::Receiver`, which does not implement the `Copy` trait +``` + +``` + | -------- move occurs because `receiver` has type +``` + +``` +`std::sync::mpsc::Receiver`, which does not implement the `Copy` trait +``` + +``` ... +``` + +``` 26 | workers.push(Worker::new(id, receiver)); - | ^^^^^^^^ value moved here, in previous iteration of loop +``` + +``` + | ^^^^^^^^ value moved here, in +``` + +``` +previous iteration of loop ``` The code is trying to pass `receiver` to multiple `Worker` instances. This @@ -1356,42 +2509,141 @@ Filename: src/lib.rs ``` use std::{ +``` + +``` sync::{mpsc, Arc, Mutex}, +``` + +``` thread, +``` + +``` }; -// --snip-- +``` + +``` +--snip-- +``` + +``` + +``` +``` impl ThreadPool { - // --snip-- +``` + +``` + --snip-- +``` + +``` pub fn new(size: usize) -> ThreadPool { +``` + +``` assert!(size > 0); +``` + +``` +``` + +``` let (sender, receiver) = mpsc::channel(); +``` + +``` + +``` + +``` + 1 let receiver = Arc::new(Mutex::new(receiver)); +``` + +``` - [1] let receiver = Arc::new(Mutex::new(receiver)); +``` +``` let mut workers = Vec::with_capacity(size); +``` +``` + +``` + +``` for id in 0..size { - workers.push(Worker::new(id, Arc::clone(&receiver)[2])); +``` + +``` + workers.push(Worker::new(id, Arc::clone(& 2 receiver))); +``` + +``` } +``` + +``` +``` + +``` ThreadPool { workers, sender } +``` + +``` } +``` - // --snip-- +``` + +``` + +``` + --snip-- +``` + +``` } +``` + +``` -// --snip-- +``` +``` +--snip-- +``` + +``` + +``` + +``` impl Worker { +``` + +``` fn new(id: usize, receiver: Arc>>) -> Worker { - // --snip-- +``` + +``` + --snip-- +``` + +``` } +``` + +``` } ``` -Listing 20-18: Sharing the receiver among the workers using `Arc` and `Mutex` +Sharing the receiver among the workers using `Arc` and `Mutex` In `ThreadPool::new`, we put the receiver in an `Arc` and a `Mutex` [1]. For each new worker, we clone the `Arc` to bump the reference count so the workers @@ -1399,39 +2651,90 @@ can share ownership of the receiver [2]. With these changes, the code compiles! We’re getting there! -#### Implementing the `execute` Method +#### Implementing the execute Method Let’s finally implement the `execute` method on `ThreadPool`. We’ll also change `Job` from a struct to a type alias for a trait object that holds the type of -closure that `execute` receives. As discussed in the “Creating Type Synonyms -with Type Aliases” section of Chapter 19, type aliases allow us to make long -types shorter for ease of use. Look at Listing 20-19. +closure that `execute` receives. As discussed in “Creating Type Synonyms with +Type Aliases” on page XX, type aliases allow us to make long types shorter for +ease of use. Look at Listing 20-19. Filename: src/lib.rs ``` -// --snip-- +--snip-- +``` +``` + +``` + +``` type Job = Box; +``` +``` + +``` + +``` impl ThreadPool { - // --snip-- +``` + +``` + --snip-- +``` + +``` + +``` +``` pub fn execute(&self, f: F) +``` + +``` where +``` + +``` F: FnOnce() + Send + 'static, +``` + +``` { - [1] let job = Box::new(f); +``` + +``` + 1 let job = Box::new(f); +``` + +``` - [2] self.sender.send(job).unwrap(); +``` + +``` + 2 self.sender.send(job).unwrap(); +``` + +``` } +``` + +``` } +``` -// --snip-- ``` -Listing 20-19: Creating a `Job` type alias for a `Box` that holds each closure -and then sending the job down the channel +``` + +``` +--snip-- +``` + +Creating a `Job` type alias for a `Box` that holds each closure and then +sending the job down the channel After creating a new `Job` instance using the closure we get in `execute` [1], we send that job down the sending end of the channel [2]. We’re calling @@ -1451,24 +2754,66 @@ shown in Listing 20-20 to `Worker::new`. Filename: src/lib.rs ``` -// --snip-- +--snip-- +``` +``` + +``` + +``` impl Worker { +``` + +``` fn new(id: usize, receiver: Arc>>) -> Worker { +``` + +``` let thread = thread::spawn(move || loop { - let job = receiver.lock()[1].unwrap()[2].recv()[3].unwrap()[4]; +``` +``` + 1 let job = receiver.lock().2 unwrap()3 .recv()4 .unwrap(); +``` + +``` + +``` + +``` println!("Worker {id} got a job; executing."); +``` + +``` +``` + +``` job(); +``` + +``` }); +``` + +``` + +``` +``` Worker { id, thread } +``` + +``` } +``` + +``` } ``` -Listing 20-20: Receiving and executing the jobs in the worker’s thread +Receiving and executing the jobs in the worker’s thread Here, we first call `lock` on the `receiver` to acquire the mutex [1], and then we call `unwrap` to panic on any errors [2]. Acquiring a lock might fail if the @@ -1487,44 +2832,146 @@ The call to `recv` blocks, so if there is no job yet, the current thread will wait until a job becomes available. The `Mutex` ensures that only one `Worker` thread at a time is trying to request a job. -Our thread pool is now in a working state! Give it a `cargo run` and make some -requests: +Our thread pool is now in a working state! Give it a `cargo` `run` and make +some requests: ``` $ cargo run +``` + +``` Compiling hello v0.1.0 (file:///projects/hello) +``` + +``` warning: field is never read: `workers` +``` + +``` --> src/lib.rs:7:5 +``` + +``` | +``` + +``` 7 | workers: Vec, +``` + +``` | ^^^^^^^^^^^^^^^^^^^^ +``` + +``` | +``` + +``` = note: `#[warn(dead_code)]` on by default +``` +``` + +``` + +``` warning: field is never read: `id` +``` + +``` --> src/lib.rs:48:5 +``` + +``` | +``` + +``` 48 | id: usize, +``` + +``` | ^^^^^^^^^ +``` + +``` + +``` +``` warning: field is never read: `thread` +``` + +``` --> src/lib.rs:49:5 +``` + +``` | +``` + +``` 49 | thread: thread::JoinHandle<()>, +``` + +``` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +``` +``` + +``` + +``` warning: `hello` (lib) generated 3 warnings +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 1.40s +``` + +``` Running `target/debug/hello` +``` + +``` Worker 0 got a job; executing. +``` + +``` Worker 2 got a job; executing. +``` + +``` Worker 1 got a job; executing. +``` + +``` Worker 3 got a job; executing. +``` + +``` Worker 0 got a job; executing. +``` + +``` Worker 2 got a job; executing. +``` + +``` Worker 1 got a job; executing. +``` + +``` Worker 3 got a job; executing. +``` + +``` Worker 0 got a job; executing. +``` + +``` Worker 2 got a job; executing. ``` @@ -1534,35 +2981,77 @@ overloaded if the server receives a lot of requests. If we make a request to */sleep*, the server will be able to serve other requests by having another thread run them. -> Note: if you open */sleep* in multiple browser windows simultaneously, they -> might load one at a time in 5 second intervals. Some web browsers execute -> multiple instances of the same request sequentially for caching reasons. This -> limitation is not caused by our web server. +> NoteIf you open */sleep* in multiple browser windows simultaneously, they +might load one at a time in five-second intervals. Some web browsers execute +multiple instances of the same request sequentially for caching reasons. This +limitation is not caused by our web server. -After learning about the `while let` loop in Chapter 18, you might be wondering -why we didn’t write the worker thread code as shown in Listing 20-21. +After learning about the `while` `let` loop in Chapter 18, you might be +wondering why we didn’t write the worker thread code as shown in Listing 20-21. Filename: src/lib.rs ``` -// --snip-- +--snip-- +``` + +``` + +``` +``` impl Worker { +``` + +``` fn new(id: usize, receiver: Arc>>) -> Worker { +``` + +``` let thread = thread::spawn(move || { +``` + +``` while let Ok(job) = receiver.lock().unwrap().recv() { +``` + +``` println!("Worker {id} got a job; executing."); +``` + +``` + +``` +``` job(); +``` + +``` } +``` + +``` }); +``` + +``` + +``` +``` Worker { id, thread } +``` + +``` } +``` + +``` } ``` -Listing 20-21: An alternative implementation of `Worker::new` using `while let` +An alternative implementation of `Worker::new` using `while` `let` This code compiles and runs but doesn’t result in the desired threading behavior: a slow request will still cause other requests to wait to be @@ -1575,23 +3064,22 @@ lock. However, this implementation can also result in the lock being held longer than intended if we aren’t mindful of the lifetime of the `MutexGuard`. -The code in Listing 20-20 that uses `let job = -receiver.lock().unwrap().recv().unwrap();` works because with `let`, any -temporary values used in the expression on the right hand side of the equals -sign are immediately dropped when the `let` statement ends. However, `while -let` (and `if let` and `match`) does not drop temporary values until the end of -the associated block. In Listing 20-21, the lock remains held for the duration -of the call to `job()`, meaning other workers cannot receive jobs. +The code in Listing 20-20 that uses `let` `job` `=` +`receiver.lock().unwrap().recv().unwrap();` works because with `let`, any +temporary values used in the expression on the right-hand side of the equal +sign are immediately dropped when the `let` statement ends. However, `while` +`let` (and `if` `let` and `match`) does not drop temporary values until the end +of the associated block. In Listing 20-21, the lock remains held for the +duration of the call to `job()`, meaning other workers cannot receive jobs. ## Graceful Shutdown and Cleanup The code in Listing 20-20 is responding to requests asynchronously through the use of a thread pool, as we intended. We get some warnings about the `workers`, `id`, and `thread` fields that we’re not using in a direct way that reminds us -we’re not cleaning up anything. When we use the less elegant ctrl-c method to halt the main thread, all other -threads are stopped immediately as well, even if they’re in the middle of -serving a request. +we’re not cleaning up anything. When we use the less elegant ctrl-c method to +halt the main thread, all other threads are stopped immediately as well, even +if they’re in the middle of serving a request. Next, then, we’ll implement the `Drop` trait to call `join` on each of the threads in the pool so they can finish the requests they’re working on before @@ -1600,7 +3088,7 @@ accepting new requests and shut down. To see this code in action, we’ll modify our server to accept only two requests before gracefully shutting down its thread pool. -### Implementing the `Drop` Trait on `ThreadPool` +### Implementing the Drop Trait on ThreadPool Let’s start with implementing `Drop` on our thread pool. When the pool is dropped, our threads should all join to make sure they finish their work. @@ -1611,19 +3099,43 @@ Filename: src/lib.rs ``` impl Drop for ThreadPool { +``` + +``` fn drop(&mut self) { - [1] for worker in &mut self.workers { - [2] println!("Shutting down worker {}", worker.id); +``` + +``` + 1 for worker in &mut self.workers { +``` + +``` + 2 println!("Shutting down worker {}", worker.id); +``` + +``` + +``` - [3] worker.thread.join().unwrap(); +``` + 3 worker.thread.join().unwrap(); +``` + +``` } +``` + +``` } +``` + +``` } ``` -Listing 20-22: Joining each thread when the thread pool goes out of scope +Joining each thread when the thread pool goes out of scope -First, we loop through each of the thread pool `workers` [1]. We use `&mut` for +First we loop through each of the thread pool `workers` [1]. We use `&mut` for this because `self` is a mutable reference, and we also need to be able to mutate `worker`. For each worker, we print a message saying that this particular worker is shutting down [2], and then we call `join` on that @@ -1633,15 +3145,43 @@ panic and go into an ungraceful shutdown. Here is the error we get when we compile this code: ``` -error[E0507]: cannot move out of `worker.thread` which is behind a mutable reference +error[E0507]: cannot move out of `worker.thread` which is behind a mutable +reference +``` + +``` --> src/lib.rs:52:13 +``` + +``` | +``` + +``` 52 | worker.thread.join().unwrap(); - | ^^^^^^^^^^^^^ ------ `worker.thread` moved due to this method call +``` + +``` + | ^^^^^^^^^^^^^ ------ `worker.thread` moved due to this +method call +``` + +``` | | - | move occurs because `worker.thread` has type `JoinHandle<()>`, which does not implement the `Copy` trait +``` + +``` + | move occurs because `worker.thread` has type +`JoinHandle<()>`, which does not implement the `Copy` trait +``` + +``` | -note: this function takes ownership of the receiver `self`, which moves `worker.thread` +``` + +``` +note: this function takes ownership of the receiver `self`, which moves +`worker.thread` ``` The error tells us we can’t call `join` because we only have a mutable borrow @@ -1661,8 +3201,17 @@ Filename: src/lib.rs ``` struct Worker { +``` + +``` id: usize, +``` + +``` thread: Option>, +``` + +``` } ``` @@ -1670,23 +3219,76 @@ Now let’s lean on the compiler to find the other places that need to change. Checking this code, we get two errors: ``` -error[E0599]: no method named `join` found for enum `Option` in the current scope +error[E0599]: no method named `join` found for enum `Option` in the current +scope +``` + +``` --> src/lib.rs:52:27 +``` + +``` | +``` + +``` 52 | worker.thread.join().unwrap(); +``` + +``` | ^^^^ method not found in `Option>` +``` +``` + +``` + +``` error[E0308]: mismatched types +``` + +``` --> src/lib.rs:72:22 +``` + +``` | +``` + +``` 72 | Worker { id, thread } - | ^^^^^^ expected enum `Option`, found struct `JoinHandle` +``` + +``` + | ^^^^^^ expected enum `Option`, found struct +`JoinHandle` +``` + +``` | +``` + +``` = note: expected enum `Option>` +``` + +``` found struct `JoinHandle<_>` +``` + +``` help: try wrapping the expression in `Some` +``` + +``` | +``` + +``` 72 | Worker { id, thread: Some(thread) } +``` + +``` | +++++++++++++ + ``` @@ -1698,14 +3300,41 @@ Filename: src/lib.rs ``` impl Worker { +``` + +``` fn new(id: usize, receiver: Arc>>) -> Worker { - // --snip-- +``` + +``` + --snip-- +``` + +``` + +``` +``` Worker { +``` + +``` id, +``` + +``` thread: Some(thread), +``` + +``` } +``` + +``` } +``` + +``` } ``` @@ -1717,87 +3346,228 @@ Filename: src/lib.rs ``` impl Drop for ThreadPool { +``` + +``` fn drop(&mut self) { +``` + +``` for worker in &mut self.workers { +``` + +``` println!("Shutting down worker {}", worker.id); +``` + +``` + +``` + +``` + 1 if let Some(thread) = worker.thread.take() { +``` + +``` + 2 thread.join().unwrap(); +``` - [1] if let Some(thread) = worker.thread.take() { - [2] thread.join().unwrap(); +``` } +``` + +``` } +``` + +``` } +``` + +``` } ``` As discussed in Chapter 17, the `take` method on `Option` takes the `Some` -variant out and leaves `None` in its place. We’re using `if let` to destructure -the `Some` and get the thread [1]; then we call `join` on the thread [2]. If a -worker’s thread is already `None`, we know that worker has already had its -thread cleaned up, so nothing happens in that case. +variant out and leaves `None` in its place. We’re using `if` `let` to +destructure the `Some` and get the thread [1]; then we call `join` on the +thread [2]. If a worker’s thread is already `None`, we know that worker has +already had its thread cleaned up, so nothing happens in that case. ### Signaling to the Threads to Stop Listening for Jobs With all the changes we’ve made, our code compiles without any warnings. -However, the bad news is this code doesn’t function the way we want it to yet. -The key is the logic in the closures run by the threads of the `Worker` -instances: at the moment, we call `join`, but that won’t shut down the threads +However, the bad news is that this code doesn’t function the way we want it to +yet. The key is the logic in the closures run by the threads of the `Worker` +instances: at the moment, we call `join`, but that won’t shut down the threads, because they `loop` forever looking for jobs. If we try to drop our `ThreadPool` with our current implementation of `drop`, the main thread will block forever waiting for the first thread to finish. -To fix this problem, we’ll need a change in the the `ThreadPool` `drop` +To fix this problem, we’ll need a change in the `ThreadPool` `drop` implementation and then a change in the `Worker` loop. -First, we’ll change the `ThreadPool` `drop` implementation to explicitly drop +First we’ll change the `ThreadPool` `drop` implementation to explicitly drop the `sender` before waiting for the threads to finish. Listing 20-23 shows the changes to `ThreadPool` to explicitly drop `sender`. We use the same `Option` and `take` technique as we did with the thread to be able to move `sender` out -of `ThreadPool`: +of `ThreadPool`. + +Filename: src/lib.rs + +``` +pub struct ThreadPool { +``` + +``` + workers: Vec, +``` + +``` + sender: Option>, +``` + +``` +} +``` -Filename: src/lib.rs +``` +--snip-- +``` ``` -pub struct ThreadPool { - workers: Vec, - sender: Option>, -} -// --snip-- impl ThreadPool { +``` + +``` pub fn new(size: usize) -> ThreadPool { - // --snip-- +``` + +``` + --snip-- +``` + +``` + +``` +``` ThreadPool { +``` + +``` workers, +``` + +``` sender: Some(sender), +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` pub fn execute(&self, f: F) +``` + +``` where +``` + +``` F: FnOnce() + Send + 'static, +``` + +``` { +``` + +``` let job = Box::new(f); +``` + +``` + +``` +``` self.sender.as_ref().unwrap().send(job).unwrap(); +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` impl Drop for ThreadPool { +``` + +``` fn drop(&mut self) { - [1] drop(self.sender.take()); +``` +``` + 1 drop(self.sender.take()); +``` + +``` + +``` + +``` for worker in &mut self.workers { +``` + +``` println!("Shutting down worker {}", worker.id); +``` + +``` + +``` +``` if let Some(thread) = worker.thread.take() { +``` + +``` thread.join().unwrap(); +``` + +``` } +``` + +``` } +``` + +``` } +``` + +``` } ``` -Listing 20-23: Explicitly drop `sender` before joining the worker threads +Explicitly dropping `sender` before joining the worker threads Dropping `sender` [1] closes the channel, which indicates no more messages will be sent. When that happens, all the calls to `recv` that the workers do in the @@ -1809,32 +3579,101 @@ Filename: src/lib.rs ``` impl Worker { +``` + +``` fn new(id: usize, receiver: Arc>>) -> Worker { +``` + +``` let thread = thread::spawn(move || loop { +``` + +``` let message = receiver.lock().unwrap().recv(); +``` + +``` +``` + +``` match message { +``` + +``` Ok(job) => { +``` + +``` println!("Worker {id} got a job; executing."); +``` + +``` +``` + +``` job(); +``` + +``` } +``` + +``` Err(_) => { +``` + +``` println!("Worker {id} disconnected; shutting down."); +``` + +``` break; +``` + +``` } +``` + +``` } +``` + +``` }); +``` + +``` + +``` +``` Worker { +``` + +``` id, +``` + +``` thread: Some(thread), +``` + +``` } +``` + +``` } +``` + +``` } ``` -Listing 20-24: Explicitly break out of the loop when `recv` returns an error +Explicitly breaking out of the loop when `recv` returns an error To see this code in action, let’s modify `main` to accept only two requests before gracefully shutting down the server, as shown in Listing 20-25. @@ -1843,23 +3682,61 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let listener = TcpListener::bind("127.0.0.1:7878").unwrap(); +``` + +``` let pool = ThreadPool::new(4); +``` + +``` + +``` +``` for stream in listener.incoming().take(2) { +``` + +``` let stream = stream.unwrap(); +``` + +``` + +``` +``` pool.execute(|| { +``` + +``` handle_connection(stream); +``` + +``` }); +``` + +``` } +``` + +``` + +``` +``` println!("Shutting down."); +``` + +``` } ``` -Listing 20-25: Shut down the server after serving two requests by exiting the -loop +Shutting down the server after serving two requests by exiting the loop You wouldn’t want a real-world web server to shut down after serving only two requests. This code just demonstrates that the graceful shutdown and cleanup is @@ -1869,24 +3746,66 @@ The `take` method is defined in the `Iterator` trait and limits the iteration to the first two items at most. The `ThreadPool` will go out of scope at the end of `main`, and the `drop` implementation will run. -Start the server with `cargo run`, and make three requests. The third request +Start the server with `cargo` `run`, and make three requests. The third request should error, and in your terminal you should see output similar to this: ``` $ cargo run +``` + +``` Compiling hello v0.1.0 (file:///projects/hello) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 1.0s +``` + +``` Running `target/debug/hello` +``` + +``` Worker 0 got a job; executing. +``` + +``` Shutting down. +``` + +``` Shutting down worker 0 +``` + +``` Worker 3 got a job; executing. +``` + +``` Worker 1 disconnected; shutting down. +``` + +``` Worker 2 disconnected; shutting down. +``` + +``` Worker 3 disconnected; shutting down. +``` + +``` Worker 0 disconnected; shutting down. +``` + +``` Shutting down worker 1 +``` + +``` Shutting down worker 2 +``` + +``` Shutting down worker 3 ``` @@ -1909,7 +3828,7 @@ all exited their loops and stopped. Congrats! We’ve now completed our project; we have a basic web server that uses a thread pool to respond asynchronously. We’re able to perform a graceful shutdown of the server, which cleans up all the threads in the pool. See -*https://www.nostarch.com/Rust2021/* to download the full code for this chapter +*https://www.nostarch.com/Rust2021* to download the full code for this chapter for reference. We could do more here! If you want to continue enhancing this project, here are @@ -1919,14 +3838,14 @@ some ideas: * Add tests of the library’s functionality. * Change calls to `unwrap` to more robust error handling. * Use `ThreadPool` to perform some task other than serving web requests. -* Find a thread pool crate on *https://crates.io/* and implement a similar web - server using the crate instead. Then compare its API and robustness to the - thread pool we implemented. - +* Find a thread pool crate on *https://crates.io* and implement a similar web +server using the crate instead. Then compare its API and robustness to the +thread pool we implemented. ## Summary Well done! You’ve made it to the end of the book! We want to thank you for joining us on this tour of Rust. You’re now ready to implement your own Rust -projects and help with other peoples’ projects. Keep in mind that there is a +projects and help with other people’s projects. Keep in mind that there is a welcoming community of other Rustaceans who would love to help you with any challenges you encounter on your Rust journey. + diff --git a/nostarch/docx/chapter20.docx b/nostarch/docx/chapter20.docx new file mode 100644 index 0000000000000000000000000000000000000000..ac9561a416cf0c10eb04b42de1e6e16e129a7814 GIT binary patch literal 127368 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
      S+!vqyo}S#b+d8 zEJP_EVuU&REOo~D&tID8JI&|9p(E~l;`QgLWxYT#u>PB*O80)%a31y|WWY`jwnk52 ztHYPJ8)-`ymo{AgFlo(>p~Zawhm7ZlfRDs1(lHg5Y?LC=XGN!-0_^{omU|u0wm2HY zc_PC*U$p9%VWRVTe7{qNE8b>sep-?bBNK z+gh>LUfd-bm;u+Fc?}oO;WScy-lGp@5QnHM$pg!FM1tz(v5AJPUZP;T!Wl{m&m41~ zbrb*-Mi0oeF+h%h8FWLM5yOXGQHiJ0IE(iOMkIsYLPUMq5V5|{A)46&=eok_k;F%m zDY-AN;9#Q&9*gf`;DbJhho`WEAjmxa3bJGrY_kZb0B;jUr#lnFVaUWC=Re(y=(`Nn zeu~50(n93xu+&?_m%*Br!hf`5O@jR^9yv=eUBiSW>-M7)>1}8CXn)uu{=*J5)r{p$ z9vK2}n2r@hS;g1AUx?LXP&=hZHuQ+QYxyO%{Zey_tJjT@8<{VDZ}h+!gHqV zkobK1YKdLv6T~V<&${*skL@EfHiR;)^eAOvAyxEJLYHIrJpoguUg|{)omJg zpZ_fV!_HIjDgSjt16C_@Jv^1wOjao8f9bE^M^R$MX}lq65F>{sXLNWlvoc|=KQ+<^ zv%;z%_J8!(x{N)|rxtJ4)S$@hJ8L&1LcfTM4`*6~Bk*~c(O+War^vTjN(Kvvp>?7_ zoNTP<`ui7s!blIUQyyhru$O%<{EraJRwf13dSB*Ggk>Fmtr@WODi@=Rs#Ah)%O-JT z6nJy3s+bZfQl)!G*IIv^m#tcoznzrly@6QRugcCLx_#u80B9uRa7S`}lR#zzQnr=p z@GlU!g@g1ug|sNiwH(30)inW0_WJ39w%bdG!i@(libmJV1)gTZGtz)IvvLUQE}5b% zjWDDwk&~0`{z-vw=R0@>jh6aa&FzW49fa~q3L@IJCCYi*<B#&w$}=dr_?Zgm%8gV4shos8a3gXH|eR@s5VEKx^ z6ZrP;Q*?Ta%8?_RVZfGR1SHCHEms0|klK?LD`>#P(Lb?d1k5MVCNv`Xh*jlo zAr%u!0}Uk%=leZ0nL4caC61;sy~5+L(r6mBxywlyHj)pzI5W8f?4*WeQxPFSB?^aJ z9E>vXiAoMjYe?4~hJ08QRV*u51x6xDqv)a<6)hU~wIG8dTF{${Ye@4nF98qi8pceY zMM?Gs6HyvY6870po(cSZ2^*>Biw}1FweU5`>iJ=%=Hbx8n(I3^m#GXN(VRtPj*_SA z%DjvIo_ESup7ilu2;$?ggOn`1g#tPQ0lj7f3napDV0v5PX#FW(rI^g@Vr<_gxS*>Ob$KzKrIP|J(o5z&^SDa};_qNr_g<7?@KY(deuCpKEu2 zZG_^Wk%TN3i4raW^sn|$OGHx8M9E3BD02R@j+AZquclIHyJA^rFvXG38dwOg#(+oc zpR9b~ieOQU)s(H!VW(lq5l9_;l?T}v5HmJ_j17|6`#CiG5(cCa7Aj9udA*3aORA1^ zDFd1@ARE=#rupCkIb$!T^Z_fq;MOwM81IIFlE7=&LBdt7Af9lHa9r=lQBU|m@*Gsk zz9x6gdJsgR`1V)=^)%*Xz!V$j)vB3;# z;CMqRDO;h*)zq0XSC;?joq&X9rbBvHssBV6`(&Kv)Y9bdmBa_~WQ{|+QBpJ}|F@UU zz^GaKEUPHn5kz>x8UN>lt7GahN(Uc`nT)(CC8NI05H?t2?v?j)z!`K z_Q^X8a%-O45*N4T>g{W zmKFYR)JkA!)%1^8YgI2;5z4h-Z7VADSFSC0^)SOuJaeR466)DBvJmwV?f_jjppAm^R0H-otcB zohM~42OokGzkvP|mC^+vx5!#Y(**0>6(n!_ayfxH7?uLfEST-)x&~)a?dc7anRElL z`2q$Lt6>G5E=piuFP%l8LXzNlqg8aqTp<%#C)#n)8tf}9w*Q(FWimxDA?9g5kTb@9Xc&@} zJ;;r&M+%S12vX3c6rmzs-7k6W~Eu+o4IP_SxK?B*%Z&5}f%e zh|eIWN*#rXxhuf=%~fZ2Rp>Ce>-zlv1h-7gln34Gzq?Yq_n#r~l?b<)K19 zBIOHSU-JzWT?(j$LpekpPRUUc!i0RA*Q^5=R6 zas1ocKQDA^cBp6w3!h`l8Sf-0EK=Jj%DXx4j?TC~o zb{W7$<~PD5kmyb5G55O@?e<7^)xIVBR~)hdTyAE*6E)2tJB~xt_S|5aw$|N2T)!Uj zz|YU%B0k26Fe5iS&7T2CpIC^a^QPK=_La8wseS<#m8TP;yK31`z;|~nJF)Sl@QBbO zw;ebi$(c^1Wqo|>UCCnzReYK`g2laVB2mur{>ID>AO4o1?RiIGp1tmm->&DGHT0fo zN>hAXt$ePhN~i7hd+JJ<$|<` z9cCa4B%$~D*66rM^cH-0%i)wG+^d_j60X%+#a4gzao<)S|KS{>%bq-=h*nTPo8O9 z=34|q16APV?JMcOi%_8aiC^P|Zl>vF;ZZ{W0LRweF&O=6&uU|uV!1|^(NyZqm*z%oT?jYL-nDhfRJEVb{Pd+;!X$d*{1I(YM{A0yR!;n2I zJWt}mLwWR8nqH&Wn&YK8PfYH}Ft@?(%Cx02Uty2bxLV}aQz_Q*j{8O=7)0(V@JlA& zeTICIM#6_uhj#`$$F1ST`txvI0eev3ekrg`ki+|}V3fEoV`oE9DwWSxj;3DREJWF} zyn!G(CHaXWX5Q#a>WLQAl~9otyg8N}^N7?#)rSVfpTi$(k6K{8y8OP|&c<MR6`3X!(q0tMsH8M7A$&+phx&>LZE`3W zDWu@9jfzgqvPBJV#O$~U2sDUS(OeUo0i-=z#QLQ5<-r3Kn_QBzwtw_!qhsR^yY#a` z6wzx(>KMrk6GU72h=(R<90)$p;d*eEB~J3K`)WKNL5dwz-w6v(yD=w@+{c&e4Azk; z6H7+|d;SOS-bV+3pu<(?>pqYVxI#Dr+6+@( z^HsI%6Bd|<4-$2BIKR9Qd-D$rGu|bKqv5_P;WL6n$cVK*TNAo6{W2IHoG&Zw;`3B< z!&>AFCs9y;Xj8!OcacL;UwaRfkOboYl+Pl524<#Ja1I^412Hj#a(GowDyq5?!@;!c z)?l3(HNv3t-E~9}0R|uQ#B7>I8>tm9e`&M{r&HxCIIH|O4v&$gwF zaKfJ}p*tfR4*b@Lb|_V^-UGQcURPi7@GV4So}em>mhw zhW6$cJdFNV^53J5{4S3klD|19u@{>J=uky5&VfB}Eq9l)hjgH!?JME8!EUJ6LJd>` zD=rYt9l|hScRLT~H6@@vY)FPV);i53N~jWq%9MYi&VD{-C^tH6za7@*(N9G$ic9#d zU1`T^-;A33jg?v@O-pfeWJLEz?l=c2hCX`z@34@lC`c74jH&2VsFTV{3T&^vy|7mAE`* zsBIxGjm9j@5;yH*kPLuQ{x_!T_`EgXs-AYT7hCD?cB8A`EyJJu17h5_k?r5{^?mPs z3yEJgQkVZ}PtPC`@~LU@4J`Sum8$kD57gl^PNkFwf6p$W93M2rYr?A4T^kE~;!Mlz zd-?og8DmZu(KKEAa+}@qNupA~&E3rVEA6szV0sB#R?9E@wQWUt7Q*kWO!0IoF3C1o zM?_MF{l5x-(scXN@3Rp3fBi=D`>d*ojB?s#Z5VNLD^nrQpsYr{f|-r(Tj{UvaRw!A zzFfV~*@|lFKV)NhBwr0wBIlV3Z0M5pvOTJxe`hhoC;syMdf7YyV$sUVooHohrZ=p7 zLX{n=Bs?}ql(Ijzw~2!OdOO7dtD`eUx`eM4Uw+p)M|*$%PP}5Ih%<5AfN*??cJDz5b(R80;$^+inhVftr9xZ zOrd)vHLuyGvaZ{45L&t1OZgwav;H!#`f2@EKX#F&nf(!Y z@7iJzN4AQzYI!#H#v67pTUoyp?I-=OC-?MYdIn?8I$3CTLoK6|6=o?;u`F_@q+3k% zeaHm+R;QQ>x|$0<%;Vjf$0%VI<+%IdL&b2&h0so4$V$DWWCj_-$_n)F=9BSzO#%tO z9{vfF7!C@bB27z(l9)&d-!0%xgc8_Yvv*fmxKtY8mAuzf$(<=-d2>toJBgSKK$M=7 z*PMSjvJ4`dGj^zszI$W!{&v2raaaaViz7_B+-8{Kpk&(o;({XDNazoUfqc9%Kj+nM zIsA|YkMKI?uFRfR=%w_?OxWN=DeODO1ghCFtL7JOxhnW~g4&+NkFTbw9O#-kZ`!zt zAeJc8NI_`5{vA!E18-`2fBTw##0A%kr z$e;jw%K3HyJ12dP=?;Myi{EAU54W=gl``VB41Zd{hrHP5vU?NwmZD2oq3qgc0!SAr zG?FeOyqeoX5C(C=jSk0drT?ZlIIkHh{SKRN{WQT`XPhdt5wrD0VnF&(o-v5mGP61J z^^#=&CE{c&gfhn*bV}Vv?I6?H7!WHvfZ=Ly-P@aAoZdz~34Zm)eLh$iQUBU{eI6OU zw}vfScY7AxH$pJ=OOz!xJm-ycWUB&6k?8ktHu`v=%7v<-+IMGrgI4z|TmEam(W$np^@T<%X7G!F|$Ml{&(U3K=;$ zjp=G03n~99>5Unte63Ii`X+lXgHyy+=7M8Pk5xkAwy6;*QI+lDUz@+Y-_k&-MW<#|dc8W+`azY1i|E2%YlR?U(NT=;5)|5!z!N;oJGf zDFAoBS)pP{N{U%#lUU1T=_cVTYAE_-s-(RY-WPlFdr;1PuGG;#7P!Gcm|$C4_@U+1 zhagatg9jaaVH~c%$)8dn|LtLbN4%-gDT~=Gy3C%C6dvJgS4`$dV|4uQkG@Q9G&!3m zTVvv=pT*IIY7!oKixkLe`k6Pwo0#X^QHM>2<%P z{W`Y3+MK8DXOJ9cI`~gauM_idV!L;AM7SN@J}r!dDCh&{tQTzT#|TITI6P71%yD?s zEd*Pl$9c$pj1e~pBz0a45+wp|LuTB_grLpGTkRY+^3o7a58^qLWE)y9>5*gKkwmWM z=YK=uef#O)+o@hSKEe1!uuj}XcTPS|lxAKpS;uW?pL1sy5GcL~Kd+eK*Y&2Q@zD#&kIB|pvmf&*!@M`@Ir)6FBGA!3k*x79 z(;=Clb18Vp|2#Mh!)A7%|2lHiT3itFDO{Owi@E<>Pqa~?^RBk6ct+FMPen&I6Pceo zE!s)=v|M%gO&r-9__WRi1jIq6_b9Go-fgSrHHTKE*R^h}@IrpIK=1AOe=FrOF4S!a zh~|2zoK+5~@Jtf}-M7^o9e)~|mok%)u5R9H_pPAO)f*^wRg_B^f`;jpz;A$^xum)v z+GUc=8OJ};1p68C!VA>wK2r8c?CdAQ!GF2lfFgKNeOi4l4c#)vqi=70e`@M@mzPHj zK9yS;-SeBhyB7xwFRdh{#+R>UGBHVfHB*6`qv&sxRa{v(Q>Nn;{mK>Y7K@XuA@5P} ztIqT9^38N-E9S1j;0Ix@=L@BtaOjtxGO#G<_5>AGKKsIfvI&7{266 zm}a#|0QspfmaJgGjSQgG7!e{cyB#&8X}p@)o8n!t>}EH6z$AnO13Seo zY<6a{3a~WX^v_q|SP`d-mPBaLccMn;nac@-iAiO!b64PUSfB#;0q~fjHQ(he?R?BS z>K-FOL>hGH8R6B?D5N@7 zN{R816F${&qHoLF^J}|yx}>$-4Ho=F0`@URcH!`5uL3%v6n!^fshqrP~Ox#D`4I%pZWutYsHCHt0I8l{pI0rSfAKq=PQV21cYD4=&* zL$ALlgYvVL_q1?o=i?8Iy67&}@`G-~1Y9rUjj=&EtpGi(;Gc@zc19Mzp z&R&_SXi9IvaGg)iUP*g1Wzd6>?FW8KTU{Q{4f}BeDdU?c?S8rK^S+&*)O+zv5SxC$ zj36CsGM}Xy#^LIFEZz#ysA%=0F6O^skO)Tm;4J*(ILGc&rtH{ZO-dFf7o;5D2 z{R`JtIN!TRm{uH5LW25I)Tzp6oNA~=PKlK0<{3;TA_9-${|Kug4&0$_G4ScK50W`% z29=;mpiS772PG)JnGs{!3@=;C9_IZdIEINSs>1Tu=^SuHa$^19N4+oJ6!iP_XOvV{ zf&63K;KEUoCTHR5n}g9J;fdQ|KjYT?%b){OmcYLvNsc-kGgx@Ds zOb*AK{@JF7Fj{;Ide%igF`c|}%8`F6?&OA%!8QuclQA+i8&u6QgJ8d;Z3#k-5hc2%n^5UOVe^JSl#K^D(i)-v{mA|>Y2Lv znseO$swt50q9@tr;_)3vQynGMcJvo1o=c&47iodS1STBblAy-#=4Or`5M~6uPqH#; z;kU#8@Ve}hDj@vUGtFn7#z&YEG;z~OL&#B-LHMJcDjn*H1A&&E05Xzlg-R``O|JO; zj^A*a(aq}Y>`&<@YkaJ_>7c8wtf!Le>(v2)O44O-Kh@Q?<&qXf(b%JlO}(ETkK4mW zjCou+R7U1m_LbiRZ-*O{^!+oxANPX!klY_L@?e{n8jN6w=;_)F5c*ACxHvfRLTc}B)< zvOH7ysx6~c|C3u*iRwzJ`d-i|Dc8m7%lDleB$B>uJ9bw$Hr0^r{aRZuiQ7&J4m?8~g zi@4ObOdu@1^A8SW3^h2U)r`|;=3irwD(a~gs__gCBohX9gEXK}BtNHjMXhpMDga}HZcp-e6TCdm}O>hI}yYv2g#=qa9#j9^pea`f;D zN-!N%&O!f^3%;*-Ote5&8OPdJ&$W+bZTL6${>+Pbr!C7Hp><@dq=m*VfZv6sc=Y_t z&R}FIq@QiIUhloOCC$le7Fgk)$e;|fw~#Xdhu2mRXCC`Cc%sJfrkgb$7G$^B`leHQ8-Ka52G*9ScAYqo5 zYRn#G5|6`il#l-u1pp2o^k_0;IQ&afJYh+iunS%)Zri6cU`0##gg1AG5S+PCtvUnDF|Evtttfsy zHq=}VehY;E8XlYt-MJBNH%z3n37-v3@U^oX8MN~m86gS&EQ%h6I|&MvP;}wE`9Y-i zmGg@EcrpaD5T3GI{B>{UN560U+w<;jB+U`Zpkz{bt0pInWmC2N#iFjlE2$CDtQb{rC79WCVzAS^CS2S!NK4xb?3>e zp}rs8#Bbr@U&t$HFe&$w;b`_#FfSL$moRoz-p10SWiLC@-JS-|XJ@o$!_ zYpk2EhJx?=0iBaAm%sh&`Zl40Iz5KSgjv-~DG@yybHEv?GG{~doSNE47qx7hxr(zf2MV9NNX zWowIv;%boyIq*QRGGR}dx6j({JdrpjR={Las`K{g^>}xXmIZY5)1f7lVhlC@h*y0@ zm-~-!e~GtayA9vBUuNY2!6zua@}k?f|92p=!Mk?<#Yl%waU7t&QvpEB{r=(g%~Okc znJmaxi6mHBf|dnsUITVXODO8eiI;cK>o_}HOL8r9Hhe&wx&0E6LrJp#`vE<3v-DgY zV#PPDk+v_5uU6({2Tt6rsX4Dj(~Z1I`@fbHYMaOo_y=Ez*nc%Z1{?Lt4AK0rpt;}u zRD}X_rU%FW|2!j~$fz=KHe3*L?n{+R!`~ASwFy0fjI-t51^=Rx|KSLac3OnCmvaA2 zt7$WC2SfbdbtP2Cq> zmqV1Zo@9pa{H|{&2?3cbaH{_^%jQZ|3FbW#%fK5?iI0cb37RXRdBXE03;bi(iONVy zJ3^j$Gzr7B0kB<8ngNUAW*hlB7M1iGEK0 z517;hWT7vt4SYE$rVxu-M3RG>XYat&?N8Jm3a6dSpZg{i=)8lsang%#6(oM2gS3D0m_Q1% z_faq<>C-)0KjU(9MT69oLiujydgm%kd;hBe9v?qI1ApV)xq+w0pP zh=8H8vpj|!F`~_OM=f|xcddRhInc}Fx~=x7m8W3|ZTr}|edYTAgUj}Yar0c~j-d+E zxSMVK!)wEKVwm%`$z~lFp3ke9cAwGiYy!JSH+v>>x9!(3sAgN#H^p$kgONQr)EJKr zInCA`Sbhb>3VM(jVu_rEXI>1Qjrfm|Gso504niYacMI)vy<-C<42!QPBkxQl+cU}b z{takR``|E)@d7=FRd zn1fSlL5v%IMdTBd?q>#w35Y0HAm=&7i=*SXNS$!T|GN6QE(Tbo^3^lkl4xv&?sZt7 zq_JyGU=+k*IOGL7iN+UYWE5GCu-FX59E$1w*=cgHFh5AjSbd7t-;Y6h@q6hvPxMv= zPm%9ahv$>b6FMndnPYELQVo7%gYU<27VMDs_gS=_uOU!_6J1E+$t15%n{e|O!i3fR zu3;%;SFYf#srFB@@-xu%nR6g99i$MZMR8%7nGzmoiN!9zUChFAI3l#6oxNdNZw&q} zbE&(UToBhuVMSOPGP5@w86YMW1iQ4AL*Y+(w(dN4x1AE5glaV>tu@K0sPP@8L=P;O zxTN+@M20{9I3G|_QWF(ET)>C1b(3qLgXY6W5EOWnSJ96nOiTNFO#ON(I}jWt4_fHF z2rY7IBKB6l1YY5jxh_(V}n&IQ3Xy}d5GTYXr}-xuU^k9aS9 z5SVoc1m(1Hy2dVWuk62i%HEWfj$MRYk2qCK>(Xh*X8hPk7xvPD3CRs&+r1@fbgrp= zg}=y1ud+0mI5SNT736=JMjkL+Q9?FLPw$=c9U^q^@Np93P#QnI4MXmt_9V)Q{uu9g z$vkl*lU1c%RVCLbK|0q?dLh>-3dLW}Y)+-v>^1feXPtTr49AI+lhBK=v7$-akJH6k zPAwRX?_nM7t6qpkSKqghiDK@)Tr|mi4xi<>_#WC7ey{dJp$msNlVVqy_pfbdj1|ve zcV-2#uw%GdE*D2FE6XpBvqzh8*yGEW_}V0vG*B@Fs(d^jB-*cV@8OTg@3L}r+_5uw zigp4iC2ocj!EW4Eit^Jx(im5BO(loe^#3?zhJF#f-8z>6@1u@q)H`jc^N>7mGRSXJ z?#_J)__Zx`W*CVPhE-*$i+dS3x z`xIJ_)zt&Y%N-;n_|@OFvGCfGrcI1co$A>d2#8F%K$CbErk;Q9;c_Of?8EyI@5h!n<{nYn)n zgUyTCgXFRCWsWRKziNSD2Hd8HFITtcIe#O)zmbwZitC(>5E+*2ZrlH+g+%dEl4+&} zm(wLEM%X855te%W90SrCaCn=c9Fpb$??d0QX()r6KaUJ<0oY#y(T%lZ@&4`?8$A4X zav8SPse`p}MlBGbh@erLU%6nCN|3l}BOcOhF)RS@G!vZcOzDKl3H9nEl`N3#hStMffdp zd{R**d8Nj~c{4d9Gwth;u-C#o1!+5wv`O8ld0BXNJJnr}-dGXRf;A>wWcNtA$-d5u z5;qG46~B%7G}+l8BVTZ$)HQ%sba83k@n^;7Y@x5!ou9-PRMXZG)6+gJ+GYk^KAPI8 z;eX%$Z>r;Evh&xq;j@>UhTM8}8jak$Mfl7V>t`#(P;pZo?j+gpgVh zF4&Xd4Qmzf$a%9NcqC_TdgvOBQfO;23-}wI&u$iKHx>5;5l_oqgcI}+26Sl7REFAlsc(hqn(p$-hPa>~5 z2`@uG$pJ6S)Oo{pUOtawvbDdHL7ufnwm3f_ocJ{T8P)pZXJKf-AsE$>)w0DOyW(ow zJ+51+(lLA1X#@7*FgU?TT6wJv>zbOdsHzv;{5cNf(X zD8|dv(W^ebEXn2*N}R2ls;25Fe#Yq_^F<$PM1A*yuvyph&S>--vB>c2Ti`=*v0s9q z?e)%sx8!fTMWTaY#qe$-2)tX6DQN2?;iWBZ~Pr2SpIv?=ZdK4}N^8 z^fP6=nwd%GY+$rOMB~l3ss@x^w-BsSP!ZMLHVU7!7lAaPxD6Fzxa*uzR14k=dgu3d zkuZs{;l}?M!!m0$ktU~p4)d$=21dhCSQPFFA(xCO2>q-faGx%1U%<$M{Qwc<&j|Oc zKbi|+aHHW)&bLI?VqaKaCPXi={jh)TQiCy9k@hqYDI;y1dPA|Szo_x!h`T>%3h+ep zaWnkf%OL$Ii$?m(1$w)D%Fooupk@3f7ufJi*iG*PMx5#Sa+WpaV7;`4XZfXiq8_oD zg4C9YW2X`E!0M-Le&);)@@AKxqUHuDh4qaNH-zemgAMsl!^JN5m_(SxrcM110y!rKH3crqQ}vam9O4hAugJgk4`>$=u&~ zchQn6UU?p0-H$Ke6X;hFy>n%ZnF+KLDC-grZzZ|N9pU{juO(p}C=uOe*}8)Ry%VtH zwz8aa#){+rD~Ms=z@RGaCF{FnzRMev#o0+kUTSyYBNO*Jle;`w07&BiuKz20d_hT z_gr$k>1okKkU4U4tO`wLmB1zcG%LZ1a9)a1Y=7zw*F$@3^3ILihF5Wan_};EbeqpmDY(EvE z3d*I!8hO)dGvnv-*<_pslgkX2ce4%18tF7@B&yppwmk>c#WMxKX zd_Ye>Ed$d!n~ig;J4lIAd9MNn%Bk3KI6E2d#88{U5pEA?zUFbGYfqWVIiqr-p=(%! zphNuHg_E6}vDYT}Owyb^w7;h}R0vPn75H7ST8LNW)6a1h`nvhQ?TG<(!@rmG3fb5j z8na@&VZ0CQUJd}#eJw&HfSLB_eO}Qo+BSbd?Sln>OtA6*5@3gz^i6rx#J?}|a84Qw zkhIsdvpre};UONLsz2cqEJPNA^7zkTWZ+PJYZ-NhEEYD*OAkrF!y}6C!yEMT_wZR{ zL@|0^koRIzV{koyFw_{c$i6QI)1B7<5y=Rd@?S(q%-csL7Reh_7`W)(4N=3rm4UtlEk^Rob(;G1 z>q{q5x|sLQ|C5+Y{BL3o4;Dp6?^oF;9KT120_1AjAD0fyw=++><&g>gxG_&Yd)09q z3q$RHKOFwr1=yF!+=FXv_mxVdx6f>sU0iPD1!27D?_&7EFT8X;P;ItZGuEsZy7zmR7Tjvj+o1!Ilm?g3 z|8`8m?+2L1=HSZ>ed=-u&`q1YV#p_Ue|-xQ4}iploNY%#@g|IuQ;w@ zDXkS3Ca1u`@Ida7d0~jWyiT$JV28{)$NzYd4Jwe1UldJ=ukj&g!t=z12Sl*q)f7*7 zCiDZGw*s%H_plIH4ZzY3*9$5$1lRZh@>|-vn7`)GMhLR`&z2~opId-UVyfHM=%*ty z(Nx(W&(xaU9|NOrL^Y*-D!2aSWr_Wfk<1Q?aX5kuF^=B<$&-KenfB5rcbZ>2CK>5% zgB|;?{rsvx^Y~-ztyEk;i3QKNUZM(`I%FSusQG1HZ!P5BZFT_?)Y2iQj;xu!7Ou84 zBe$?L;%yn*tNtvmd^uFM>T+C;Fw6U>Kgb9>3~Y>^+MEC0Q?6i>TGB;F{SGX$OVUX% z9!-=@LHe~4YqP-fg;2|y_>b`l{Y_K=aM)<%6HV)*pONt>Mw(^wfEtcQj4he)*L8U}L0=m6pf2#v}JIl0$3DSlx{8wkeIv z7w$lDR;z2s!^$6^e^r8oWjw7t?aam~k0kU~@tXmaq-$B@28OPkrK(mtm(5;?U>57p zSUm6^MGJUw&`$@dd6eN70mBiCyFw(OBKVu@qXFZ{fNOURGFjtlYHf2e5T&?OMZ8$) zds7RZhY{nU)8Zps+J0uZFu5BN_tXB62anI6ieOtW$!Utr*c8KEVz*ksDj?j+7v5CD zd4s5+{h^gJ^qkaq=({hIFfzYp)*gMTdv;fF9DR&bKTpqo*^zb3S*+o2n@rcDjfS@j z!NO&~`*2TT0hZD*)FuVRK%f0)b@3%^`Paq=UMaJ5*T1~1&9PQYi;R&lQ)LFPpQbQs zPTg9y{vaVSSRz~`Jc=qxHSWith40gGw`WYA6hNKc*L&>Y$myM1H;Z-k&(pcL~&gM+q)#g}E4#~d(mKv%$ zx|_%A4Y{%g`>eiUw!1RAlUyWgHpohHeaiKmc#W0nf{?aV^@hlr>G|-7iX|nRJJ~7y1f%G=K@ZHOX=$8{MqQ+2mO_Xavp~M8d(42fEe!Z z7M5k_V7xFZh>Hgalw-6>e`p$s;y9iD%5{Shd1$&{R?;{hOgB=IPGJ>%jKaeLe+4KSuZVyW) z;U;bOdd;Y8gfYFw!eqccg)rLl?V((|4Fg-aewkTIyKVgi&10$Uw!W2KuG1mT$4l>d?Z+6WF`R^+2TcSJzjCblC~V zWaSCV9^DE}|D=%++LV*!!|u5&wn6-zmZ;D^5B_|*dtMQ--~df0H*isW_ZJNapSfBl zv>xO*;kwc7Mm9q_WOU`;qit|n{;@|H2@*g@h%r7Nb5JMh;3NJxj8nop@D8+yba4p6Zn1L z+7zlMMkNI8qpi9LLqon12GS?N2ttB3Z&(`O%g^=Gb>V}b8=)jjFtnal{gh18HooK! z{Oph(T!4skzV#!5FyYmJ&S!DUm5PMErmx*@M3kOHjG{0u?A9*C)>^Q=f|X%=VD!Bn z-)ZyxojA@M!Qej%L-aB(>u7b(2e3EUq1#s^dl~T6B|op08frk_g2@mpnvYn*`f#MB z8w>vkG64hH@;XCXDu!rb$#oXBQrxrKUb{>I2MFF>HfL?D( zp9wz?B4%z{85$)%LY+bdHUj4!Y+KaU<}|6Xk>_luqxJz9;4SgSTMz z42>@u0;Ij=b9s}kgdNP0g3Sf(oWg!_=w;LBahCKZ(2jnqo@5)HpyYwLWsJ12Aqnb+ zk)it|2F6M!wUXwAM&k7<;or!Qm(X&3%@G2VS})lNl?*;wXQM%woO3l(U10>LL*>{u z>xoT*TgZ^fY8Qk+CYgkkd0&rc4vPko(8Ok7G4TnbJGI>uPeqZ<4>Q?*4zP-%8)fZ_ zV3sbCoU0b5G`n#!%x{2Tx~yO&;KU>M#1P)31D_y)q`3c<#@+#W_$pi+Z}7sTdxtkm zW5)Y{BpFC$gK754X8>dv6^pib_^!visi7dSlb}K1w_5`9-6do@`STKl+B=>EL8|^* zhKHOJOz*yO>@TC5Ain_Nrh%RDrdLK9Snok>FUr=Oawx9+PS|LCCbmhr~DTIB-|(hkYfBKdH#p#rtj56cGuH z7J?DS9lvEAVGC(xJbAUq4wL@249t4!TkLJd#cHl zDOgn)nezsFFIoou4BI}w%D!n?WEfbsPH@BFLUP9rL53$xLNuE1SdB7=XsP#K4ciBt zFA$&xWU-RUgkWu6eml*92@C@OJQ$9aqC|@Ns!%%*QnN4 z9_Dyq?2niXGg@UHV<5se3-rZ*FJCorc}#=m5K(`hlKD{*ilU1oEwq+OTZaH*qLjE| z_W^=dU@7-wVva>s%0R?9WXkp2R%?trM3qFL0xrMA`U3fU%(t)*8@2b?qN;<83yZmH zLxblHvaliIY)$7g`4aH$S_~U3XC5dact9;H3Wddds?0j9>igVQS3UE-S>|r8Ap0a& zoHMNW^@`0kSJXT8Gz)cS{P2jm0Y~92j1k&r)7PR71WH+$dO(bRTfUVoNXO6wyfA8q zm!a_kp+1sHl` zN^HaLd_Q7zx+TL1pOs53vm|okF>(|->-G`WWvZsyxb|y~464hHw4J_wX4*{?RP#=hDm~0^uM(S=UmuN_R=$OmILg;8VXrah-C`)N zl_n{?9V~nDTfazgFKd{qDh%f+)o6UUQH>@oUT~?kPTi5Zeu(P0b{Rv;fBzUSUo=v8gLWgqqWQ01LuraWGFq&t$IY_uRRF^` z+3Ht3f&wFP9kd&w#9iTYgqjoHp)j*i-6+9O;a#u;FrB5!B1F!5H2FiNl_X~W?l-Y? z@%369O@+nQQG5HIAGZyU*NLCkhqZSzOh3r^hdcWlmR_GfWt%n9t2S%$Q60W-#y6DP z=A(H0oHVtwh(z&bkZto{1!W=2UmuF7_i(p;u1Cf(t0atj5yz$Gy&}-G-=Cum3=|2N`t>J# zA`EsYYV?WE0Y6JyqB&Nn($yZSbLR`9rL%Dba;&x20X zf}F3k^8$1#`-%@VlSCv!O%IWxdDYToE1@QNF}H8OC4EZZP;c zo18d!UJGC)EU0uLiIrUBA{I@%;6caAme4eo^ZvQk5cKZru|*y2jJ zQUDPRpEw_=R@CiL-lWk~LtzOZKNml`r-A@y6B(a_2-e*$81vRt03{tw5e9(!YA0SD zEv=c7s@{F}=w~_1#8D8V{16=yW&4iS7p%{|K>}s2Wcv{K{LnF^8J48))|Q;BVwj*S zBrma~1G!T+@V+G&W{xtP*_|MhrC8`ql$1*wmz107rVPg!KK`HeJbj$s`WlBEq2L&>t>#xQ`P%)yDBmJp1ILcdty7=Cbnugk` zFM8-^i&L22{ycu%Ka);xSSGXS5fie7VD#BdW05;}HeyIoi_;yGViCO?11peF9X)WH z3czmE<=i_vJAA}I=^TeL5o$L%=7BM=JZ z6_@x8gXtKoaS8x2R~I%X>iqdL7{ITIcl^M+aBc4Qr^b)n8KDpFN<3Br{DbL5J;N+X z3k<6n!xGJv*Q+JA;YpvRBbK@Zc$|Xf{6!1PD9fG+0%3eXlKJ>U(W`WUEc--P1ewOLQ;Ky|VZ8Zu4-MzwY~7 zz#%+1hH%FxBa9~ue=)S|`;aJ~BoHXXd#m8ayT|YACP`P8t`@Iggp(SkYaot6$ipBuRAg~yaP^}+c5*(* zvq6508M?_t5#*f1Er@&S=NIXQ-uES_u#XW0kKcL;E3u8Wo22_Qo*XG&O;g(x zuJ70-4jwrV%_x;z5k|?k>1(Q~aQ&srsh=}XnQfXi<$;h)tAFH-LzTosrt}^z1U~>| zKAAub$-$7YA5Xi4-Ic3d;s3~nOn=S(_KYeAwy)e*tnx+gYvBk@cp_R@Q*QJn_R6Zm ze3N!ov!7HqeHrPLmPL}-qCbvAo$#UK0F@Be^eh@7N=SW^weuni5A(^L1qrpWb zQGlcu(yl}N63^VR)-dcO5@eSiv%GF@=)((tjf)a1gy{OCfw&n&{sg=*0g>W8DlC>t z9cvgu0#uz6_1bH8jqQs8GT?fRhl3Fze>Rm1KMpEv)1vO*_7ANP!a&Es@_>Ve;3Z5ou0nzuaW*fR2m~R|(*siaTic?% zUbVLkDYH`*p;~2poNcT^79YH-ftqe)dyOwvZkL)kQeL#t+PuSm4O7Z;612; zvB46YkguVLM{yv-?2aiouY%=5%nl-)8F)Atu$DZ3$S_TdwDqR_%ZDorcLGvYp-2n@ zw!{vsm0CRJh92U%z))fBIdo2a1nV7FvP?d49hn)Sl0K2VlvR3DL4AQO=ktg9rk0=9 zU~)%Hu9wNg$gfhr#!T+wKQvZ~+=GZ!S0^UO7?g#-TMrJY=%%9*k6_)2g?-Q{#b_>ecTn8< zUlNP{E-Q+wioz5)7hQl#P>0XNWU6rXf#SD!4zkc6)^$osI2HFHgp|k#Y~~p?1zk1A zbF(A87WQ8yAGw>b_CvXB#;mBmG=;!JOdySn95BTFhcG`md1hY<{@?XjFctsn@BuMh>}3?EDGcNjH!B%4&ej$i(Xh}S?*!)00zgP zlIbKm;92(B3=)9gm4p!3Z$CUQww@C1ZIIe}tv`b3wZJm!&^REi{ys+OEIcNZ|IXY! zrgEtxs#K7$wPW~77OvJMs5Q2>Ew^LeTVeja{4BqW8Od zLyTs+ziK=B18_+en4N#D81MfdVLV5bG>5hCnG_HyWJ886KXlmKKY-V*l`q?YjVr9z zfGx;$p%+$-51_9xNZp6}F~FSzb!gROT(CwQf`o%V!@NLd3K@mK{a>??@P_gDVR&X) z+yDajhu{QZOErx#1T;}imvB#dK;8xjYl+69(&n^Sik8c-;St{*(`!6!Friu^LUo6m zVrifTn+JX+k?aDPf}e~()#it2*!pYtD~~)h+_uZW#xXsJ56Xe&aCQ7>Q1RpawS)h~ zfn;K#+kgzZNfJHS90onj^si_2eg>`Ed=`o!UpL~@X+v7JyO9Vv$CMiR7+0B*UVOYC zEpn<`#?c)Hm)&<1ryO>{*~MQmPu72Q)t>WO)>5oYGzB4<^lG4aZ*0MPCFcR``Ehy? zxdN#a#=Hkrz)B4e5YGfY0iKQClv7B2CiG-h(?S2|1ud%?gj<~A7{zTqb{4SS(?4z*6z&mz zS$cbOmQGa0DHOaFqehZmQ<-jS)JiPjADfIQI{yGV0sIdD93(sg`+|gi_6|_mcOs`C zR6G!MSLq#tQmhMHjyf`7BKNHYi^~Tv{T6UuzTE2D4qg59LFmKy=rEW9Xj98&OC?Z9nI%egqZ`mXJ8wJ%C2^L{f^a+1rm$ zj#`SQFa)3mr`mqhf2Nlg5ac%|j7%{s1&r;~J~>vC8Oc7VTRB^eUwha`7icAN0_8Te zy2c2BLL-w`L$@?3q zdMQ8jeQuq8x9+-%YEJOsSIae(vhXb8Y>k;~&3u-iNX2fipgT~O^sk`%U4SPr{1sj= z>8_VIna)@)*$*1VeBM z_#G$mw3%Js*OwKw8*VKjK^!=W11o8$gNBO@RNwm^dn?)7(TjmaqIv!V3KO+5OS^qz>F~&FfEk!kZi4hOu z@h$V}vE-L7%RUx`&VTCB9RZjB`8w1aeO2ax#t{l+_p@? z8EGj9%>&Kd8jW>`L}EuiR@HR5TfnKmKdwqp&CIR3>GMn+*c&lSl%{hy!0ZOH}|3CS3(VMKDg=1F+R3k@KaUs~V zafCvsvYv_>ebF-P>W$>_R%LXKbI_3a^dq?YhStE>^7qUx)1L_-3&EBC5Zdm@ZT;C@ znyLYHflc{81!TIRTgz;Bk&HGfFK<>{HxqC;yQiv2w4^e&w^W z{&+t7bMQ_z28cnd`Z2$>Q;IWUxUJwKr|G#1&$&r}cwXKL{*lYHaRbqLv z+z*QxPmkiN%^b!J;H59s)Hvo&w@1?XI%!AIft8IC-%Rg$`IWp;C}_9@h3YZ?>=#E8 zhY64Ic+=hH*5wZGOsm0&H_jinzsT_T`X@SxzIHMbcVs&aKAYGI5e{1nw*o#$TE}-=Egj*WULuQTToWWJuWXpFNA+q$Cm`=)wMX{8@b^a=5yoMLmU2(X&ksPg5=z4xv z&5*_9{51vth#Qr@EBHH8rL{|S_6142Qp(EN|A{O9{D$I+sW*tm@k6Y+?mWOF+57NkoAQy983leYtV^yV)YCnhv)(U zsD4Cr)46ri=}F;&P6;}t`^tluT|@h4)#Y5^E(0R@081Yx`; z#$oAVT`3*oD=_=O((u~UnzWn?mdg-lU<_U;P%i}{_sT@Jiq?iPs7A!dgdBZ z(;c8h$Ioa*K@0e}7@Nnuo9i_~b4+h$RMRk!sMxsIN(B5%kn!6lHjy(fh^*^mP`U8x zMHMWEIV7;%K_sM8Mvt``BB*H2s*B0s%&6B!QV@w-wOBi^_4NlM!WCK=Xhbt}PsgHC z&|SPg60A@4wL-6`_P*7bgVd|y8K>J{FO_T>GHQwt;QSj?2=>c?)E;2JimQJRK$ZsX z!B?+>>ygaJQlf);c>P6kQN}8fTd%x3O&+0lpIg2l((mzNZGK%F(P$1`vrC3)?!U-G3di8KkQm90 zeeZ~vJE%u80LWLLmP!+VthPns1+;zu1Q5ZB4AJFoug}i^$~xqU#RV%wlkG(cVeOb| z4Zz}3e?&KMU5+Q2%CzMeuVIZ)I?~{CCu@@j-5Mc!U7!bS+7k~ZeDAN9|Im4o2_2J@ zMwe)Z701T4{=cqswzBqz?XWJExOL}HRrjU#Vr7|)A}xwQWJS^7*)ev; zY=7(foQ{7d@ooKAE1^y|-wS5ZEU`c$fe+k%qQ#lUk>;%K+^IeL{rfhPA^YuaTth)N zQEzM={Ok*dw=Oi-t@xkG;*;=0=1PY_mO812n`wyk@>YiPNKvC9jffJNXO~isXNa83uIfz#uR-aZu@rh3UI#U~O#Yrd7 ztm6GHPp;#e*Tch<)7}#3yW{(F568Din9j^oX6AA2*4r;uwXsTa*P5xBNFn#BpFUAL z62B-^*>p!HMHMy*s``Fps;$-dAe9j8V@54iW})gs<~lvN(r>H1v(%61%n3Y~m;{Or zA}T8!ogou1?~A|!1)AmMjC#iey`SkIhsh17OM=<4O2h1i-HErgCQ_42_g(q!v;=xQ z|5$hfdHzX%Z3X2S@W!&P+Z#T^Ca{-HA;O;r_)*rnAfEy=RalBf|E0&o+WE}eV!>Y~ z#%ZWG#$FMcS6>!K)5M;nBuyY!7DlLaVwW!P#~<88xh@VXM4?cE*P}}ezFIn~Dh#4? z4q{!O%9-DJbi^zzBn;J%eA85GwaiZrY7Dil7R}LV37@aP$3XvdukC(2sp3N;vW{-P zH(yZ$)LL8Ll9sIYG1s3{9X6Lo?DJa`;c0u&iz7pu*u&Ofn|z#^aWh${ISOruSq~oVpRQGf9D4o^l!Bd87AEz1e+EoG7(s+uV z9;8W63EEo7sG=y$+F)-T{blrIs4NygKV{FWp16Cv4HEp4HDu~XnO>dA0z1e{Dyn1! z0`axB{tCmsIO!>F1hQ}BsmdWl57RlIxKT`IkAzWpD7}YniuiBPF4B=>L8d) z6gTW$>xj@-2c8#CGOexW1&(ckXNrte%Rr^(B1#djR-2ShY0DU~0hI+0!)`7zcGkWCJ+wf4svS~-ACrAcdJc228Rd|D8^Sb?iAYI{EC$(l$ll~ zDBVK|`WdEoFn!u+0oOEGbx0CYp5U>l!siOm9PS<4%eP>k%v}t~ey+2&g@V>1-x&9d zLUs~y)dQ5Yb!g=uwkYNI&wa#amNpF{TY$k?Gj+#2CCS|A#e!yGS%ut~9Jn;Q`h#u6 z6dn;%<8&W%RSTO3WY5^$G1bxgF5!FQ&FwyvAiMV$;0!AsaY1tObU>U#hj0O8#J$Dk z`4$7bgo3d)TtDZAhUnXk=c*0vAY5+sXY+Jf$D!1^;W2Se-7PQqR^d=4r2?>@b)QRQ zw@Y4fx>V?D8vor*XfS>6Yc7aP?bD3s3)maW&ivhcnL} zSwQJAW(N9WIpH5{m!N&-gLF27Q&IRmGZ=B4>vmKfQ2i~G=i;|iN(eEaRYcDPB`JcF zk`w@fFRZY882JAvaLeT6 z7FC;<3dG+i!8kcqNFM=0_F(c}F#7=0H;!uFctIwE-2EFIx1b8}I4q4hyt;PG=2%S# zWkz0b9|@Gf?<04o{gC53$iJ?Jr9`YM&d!|XMN`uSp|~>y9KdhKh8`mH5j&FOhs+`Y z=vA~xuIKGx0%u799{L8FKl-oqAMN>B`(>;fHC3D!=4lLKV~z_O;JasZV(6j9z*h+t zyW_BTDwQQPK<PD(zIkd?V5Y2EfafBBD-Re#bj^Et4*yMm>!=ynBKp# zTMIJ&5#23aaeZwTd`uL5NA`bnx|&dGIM!1>%YL5=lPB*=yIkwV| zy4Rh?8gKO#gz5kO(J8edo>nvy;l?%%NC@M2C6lI2)+3AkEgdJj~0wqF{O1l73^$@wc0=?hLsX>*q9mDLYHfw6I+WX?|Sq{eMNTGxWwuuj-~ge ziB>haO|;lR6~@{CVCrk_E3Ta!U_kl!*Nf@6SI$MhnsHq)%vV!XinDAJU8xh;fLQyI zlW2vL`=x!hgmdP}PiDgVvzOQ_6iA+gl-Vu4YKGfLn1{vu-v_XdgEH^hnc`_^n5Arh=J`c* zzf=>Xz&mcNGCD9LuPgR%rUGrV_4!k>WzzJc4))SJab>iS17$bp~B88TcxT zsfgq3e_HL>yVV7@O&%-9eljyuQBViJDiBb`b6)-?kU+w++EORHTa`0&{U6Toc1G&O zP*WQyGKTO)h=FO2g!ykDO0{d!O6ul{=$NXpx8AGJjUPq&y~?lTrtid+{$HQ9E|K$v|doRVUviB*R@!NIbfwvn>H#XVB%?i61vX}*!GD*C9 zUvvMSarx1Gies5cmcZGn(wSl^gjUI1oVCrYxm4 z>-7CiPqb`dX2w#$xkdR>*?@-ZRHm_Bn!jAC(OhJ^1g@j3*ZB2h3lEdBU$W zvbzRthykmk8J>P@mV6-=6`{v*n$*clP7GAv#$Iv5*TV1-_#}{Y`7|)Kv3c0xK`i>_ zvehJh-)A`08xwU86yx9Fk@e&l5>F-jJX+v#w^jOLwbOOG^?Z|4w@$vRJoD9I>+6L4 z&o+Ebd;hgWBg`$t%i~UT(?2tGcDKjJV-W;R)qQhTE#IOO$tvX;>#bG8FAXOCOC-oT zBIv6Md0RLhqyMBNw8^hpU=RZjczS4+PRE|WOY7g&O_(`ceIu}!7~vm^@nyPpzyUqcU|VJQ(7h1vph7ZGKwA&y!KE{*qkR1LIO_+~vLg;&r=I#P<5k zqjXSt)o*M}XxrV{TdwP1A=2w;*YgXx$(A_(Y+<_ZV76vs-!5;W^p~O>19bIYMMEgP z9JcCcKKY69;H(Yjl4V7#9X(_r7v1>6uXu7N< z>CigSzynD9mCY;c#x=>&?s>2rwyJs$b$`ehJcFmkU0bc5u*d(C1PGPnkIgtedm71! zoJokBCX~*CrZ$MvUDE$u659S=$^zBKZ)Y)iwPV&f%m8wuVy)?78$G~RpWohu$6F?{ zdP|ZGft-pFBzNVVTK~71M9YfbG2$`YvR$mIvh@cU- z<2hMLVIEi;9@GA~;_L9F3zG7UWkHXo2>Fj5k?Tm3SM&Q1HYMr|)j-|uZxv=aD({}x zFZRMw=R)z?G0T4!&-H`wM*4KGKcx`yqATjmj24F$$MDK6(Hs69N!65d!6#inZv?qE z6Jwy|zdw_jy6SsAA_QZ4|Mu95qjQ0Z|4->*Y;!FyZ;puG=z(hI>zwH5$ zg6tkPHyluX7=fQJLOyJ$<29P1|NF}h_jD_u>*s)s-E9z1S5xiskkC^rxu0?^g*x=W}W;sV!Pj}V<)l6|U%ptqkzyzp<2M`#oW2*KuOXKik|5UdggqR^9h`gv7 zrviNYAQ($9@2#t&Eqwy__LZChyC+8p%bmjuS-#ed`#^=Oq?QqSffnUOMYI%r64^iZ zK_Y_rWswFPVK0jqJM)jBe+{EM3~{(n2dV?&&@iE5f)d&zE?L;17I?yqXiTCTBp{Ft zs|?1?73v)lQlT{!Ax{c_jgI!_&XfP(9i?arAFb$u0L=)q0=souVG^;@BW$m_@Hfar zvA|b%<>6$)q&%JJ=%-4eRtD&N@89r;u3R@#+oh}zQJ{zUoQhC6I9-FSbEt`8~yP=AJco>uFD_O$J5D|kdX%!00VO^mIW@lgxp@ojwW%y z5Hbzd=WmYZ>L!T1Atr1crKRFm61+PYUT+m(3X%I_3Ems?t;t68QaX_c&MqFkx_Hr5 zI$0gv-3T#4UqalA5nNi^Vfk!+95cEZQu;17QhBWDe2WZxLIw4YNLYpPLIyQIlXx9J zoPJ)c>@C99S{GArIPB=kxAy(vR1?a<+WGw(AWkLB4>A&)fkA9GI`#DYJne;Ye(S_9 z5BwSy{8ul+_M6yYr*=sE#W-P1HiuRBPh!rCD@vY2*>;CD_t*SlOMNo=_}Z2CwH);_ zpXB{BRMX!yBf**1G*;a;RfR4b_-hzsLuy@~^6hjwKS*WK?l29v*T=|dZ8NzStMG7m z3}j^Oob;oQk;d;i1h%F4xTR1XW^B++nOL@+{q~*)QPecGZs8Bjc6_->Dp;3C2~12F zW~k(D*)ectR#%UuK-tlsKAwaOT)01JY253>ow0bUe)|q=olG()G_Uup-K<1WFA*<{ zC~Y7P-Tk$mYOSE{QEQwq)Q0(wcZt+d+NhueA4iVGQ#ZSKU#enauU?7A)LEhJ_)3%t^$z zBk<4u*qmKDLvdY4a0!wRCrcRHj2iu+YvhcEB`qD@RJrvXcEg5BOisFCUzZLiaKg24 zdCQ|}Yo>6*?d>X|0L^01xe(>|8G|d_&gHlK=;IA}I3TlXpIuV|y7A3Adf;CJK9+y6 z{gTo9cOh%?H+)*3dGY0TBD*$11>{~-{Y-AqAYwn-;6%moDt_87Nj?6AQ~2oKeqvjR znXK8a@JOy9-j@FTt9TO^=P_dlCQ=~59#2>TMBPFWBFZKM`RYbCy~Z{v3S|~YhUpR! zLS8@Q_vXbo+R7dJnOGpWGWKXB!dQcTRuNd`NH~{~5gRO)lm)oZ*pLt4-?l&aw4Y2D zwUtY$2uc}iwZYcX!=MGk!=-I-T4kCfRun60wb$wj|J|<@hfug>xtIdj<~%Jx)r_9 zx=@Y0m}DDSDh-g0wX-W{(E|+BqObEKpEVWnZ9A|BK$rs*{l@}J)+;Xqd)Lw-lH3r||yhG}t= z?94}I+e%gSR`T;FrB5$6xr5K)2bd(lE7okqgO9Z$mFum)aBTn{{RveTn7FoUYV>*;PBWqfmOs{mFaN<{a^@DF#n(f`Y(sh1TGZg(dmaY!WDl=8e)^c#lfBdYxIGLd zRC59%f6i>c0VXYsv);}@#X|x*j+q&4?zThsa zw+|rrt8Vq3ky?7q-v3kf|Hal{IK}aQLBlBS?(Xgof=h6>;1b+DxVyW%yOThIyA#|U z7I#>DfdyW^zxR3Wty^{ffT@|9o&EGV-F;5i^P_Ih|9%+Tcl}esx=Zw|$e%XZmYzoJ zz-m$DVt>4>^0@>Yc+FAL!25w#amm3IbdjjbDvnQ>g2iV$!?8qSltObEKCluM5a8uFc%NB9V@#rAQ*Yl=@&V>*Q3JMB z)z2r}WLag=Ik?MX&D+~kCx4sXrBxoS2yH03NW%f|S=Lt8n?4#$Bt>>(jhax>)@ofc zY;b2##){i=Wvg=9z$8>WPzs?e%%Y%rL=|NR^UK#M(-+scMj~uuWQCGZd6{Jy7Y4&x z=~c9%vLqRpZ&dOBuz#*W1+)S+8Q)2zPd>K6f?3;xW7fBh)C<49e0b3j;qj4^!al5G zM@7&k(%Chf$qWA>9iIO|Zyi0hB1?uLW5tPWYbiRU`?ZC69)~emBqaHipxcY$Q+yt- zR%an6j9DV@jG&=ei=tDU{hXK?-OUKiC_)La!UKQbZ?w9ZOeZQ2d$3axoRMgb_ zKesA&3_8x;61`P@{m#v^+KyPq=az~5_WAH~e9}(cXHA4Q|Dnf^sj+FZd0ii=X9SJ@ zN+_LqH&vZS-dcwwgLJRl9fk0EC^+I-7nb49tdu$u7F0G@Aqy5&NTP(8&0LKgpwaJM z#F{B)=S1F(#PyH>apHgqY9}OdPORX-H0)6W)e_XO=c@K1D4VdRAW}d0atlQyPAT4q zIvCK#q}>OypSy8s_%4Y+6nTFxEw5~!-F-;1f{v#uE&dV#zzMzV2Fj~E0?jx)b*MX7 z)GeV!^`=MfvJtQ&r0DJS2hfJDNZ&oR)@Q#4SP6lx3=NJl0t}*e51@b1bc6>J66(ZEb{<+;{irfM~*(P(uWP zh(D@39oAuRZ~)N0qB7b5)~N@#d=U{C>4t^Cap%BMVg?E@&=tooBGBH@qRcWh_z@PT z`e|bEoqU8Gv~~(;|y z4+T1fRafKFAccZfe)rEI14A0(goiwC)FY3gym0;cwX(}G4%i|2HT#PS2^#1Q ziNc-5B#d^#pkv+6xdco^53ZO?NIgc{X6fH4?DgJ;+w9G>ym28UR z0XC+reZFdOh3QkYR5<^jLcQH>v@_SyXo2sn3qBiF9J?gu&KY&R^@9zvr)AggCiMeD z->4FEaOsvxLt;{9-Kq5~rIEpN-2+lx_V9f$de5E6BnQ1`#~7d{k&&r+i!}8bt5|}a z?%yTg&v}Odr8^4%=FCizfW)muf*}Sw#*6;=d5k?We3-L(rsj_|cU%`!HrEJ8-KS3& zQb-f^rgGXK=xsKp`Rz#t(!N`+7jJbNYq39zDds7cXmM8um|Fz7r9sOHmX$uAhr2DB zR(H><6`wLP`H%z(+++2Az`okp<%iJxFfahSLS)h^@py&OuWPM{mGO5`Wk))0Bch~cIjYlMxjFzUVZsLL0%S!Z9aAfcl=Kwh=G?eNt zD9@Vm-?Pv8!#trXbt-0C+~pr4ZS|k*zBE=67iL|Xme^v^JS4O~Q0+M`8l*-?5MYDp=1>%cL= zE*aHF8W3LD(?t-UJY|N9fka|P=**+6in3~o5a~{Ne>|Zq`jsd3lQ%88t>0D9^8aQ` zvR6NL=w7`&gay)}IzAjx%{|&s>{v4^VXv}SD5s6G@~K*!chZM}=+zUr?F zV>|R>4Y9Gd%Kd8;W=XH_5oLV!9Oz3ULF#wv9`Cz!<6Tq~YWw8qdVO*IE$N;lhH7L_ zpxfc4!M)7RX|6CXVH9dEV+y2=NJ2+*HPRgqRQsA6yNB=cwKy4MXThR>ZlE!^JKmUWn+NehnR?SL#+Ol8AhvtRPu;nx#l0P3vzqc zRjy;OmnmE+_&Xf4ixTidZ11`v^h}&-s5XvRiadWr=7yeIUv$r1PrdWwLhgPVK%VnL zW=D!9p{2O%!8CJ=l!k}qa{EEs>?AUYHLMmr(p$vSr)9p$9^u+JnM&gFAC;1%4Uu?6?0UW%J^&91UQYPY*O_6Jv?VuuTwb)?rw@X+ zu}K>^deH!RleIDS_;SIjU2%SD<_D|wUr+!qOHhdl&?F+(RDO<3DihEc3Ij+YP97s?KppReh>X~{XKi@ zNI`B=nVtGG?&x#`<&Q{q4%ghmyfv=Ut)#>;HjfYKF+5z%(CN?Dn(aHiobl#WYEajL z35L?dxaW=5RtE*O*g`m^;QnPxiJLiUHWh2z}*IDZ3a43e=0gF56FBPrjeu(_cvh2mNqDBpt*H zB#tvPfcZ}M5#RGlncC+KX2l{$STf5Y)Jr*DM|l@?b; zEy;0#5osG7=&Rmr=pX&1_X?@p6M}Xi10Hqi9rPq~a{f19+-uNjwwYFaceP1-aKfW~ zuU6&M-(h3JBU*NGmZcADUHy^e`#Hg^=GN)5zd`<;S9xc1rikfwPQo+YH9u{C7Z+_D zYQ_a^Dqz6qS7te=at*0+!dfk$<5gHHTKu`7*GQTy5+@j&7V+yx0x6rV5nD1hq1L|G z%ezE;NibDwA<5Ssfz5mJT{GO+V&+97BuJa?PP?V0GbfL9J|uz49F>2*FxZGS-{=&( z*gSdtKQJqwD6dYnVOcZ;0H)qFP3EAc{zKlunvihPD48FaAx` zv6XB-<#P%)JIpCmac_E>yGx0W^==Ww0Ak4c7%~YIO(hU3(AydD>cf+{F#)v2YHy$X zUF6hwWZ{|@^~lJ~PpRhzc$Ebz;mNKfX=1H=#hhXFcIPlNH|2TM>BF;g>@!+H|KHu} z8T(hW3$#fNK9HI3>5WJcTV%VhGsK%SzVz;v?HC&*JPu(5Z#3ytkQM z@ZV;Y3!AyW9`wFUt(T`BD2Kg*_NUXYzrV+IuV*eRFKeLtJ`GobseZ`F?5?~Wd!AnsJfZ@A{mhQ< zmx0-$i0bpS`v=(B4xag?+ujOr7cef4ecK}H(UiZvY;e(`95klTX85>qqgUyNi#(p? z^ouLeKOq1d3uvZB6%7LB;udn4es1gj9%mG&%(ko*AkwV~^Ku`T$D zQ!4|DOIv6nRdkt41Qm0b2ehsK&{vp0v%@pyQ?P?$y@#nw?g0SDR;QfQ7Ie6o9 z-Wn1;r?`&``CVJQqubm3#nBafDxnLjGtzFsRj&x1bioUkrWJu9E*tsq_Hnj24|?L3Al%)CI6k zu@}m5SIra5^PN8V{xP|GB58hKfTDc=<`7w`JrHu{ytoP9;jYWgqOYpT%uN%OW25k| z_D_feiHD&F-^3q1Jk=u_xuzchW_Pnz^4faCYEy=aD$c$R{b zSLyrmtZ)7vZ;rAAk=iKc$B~B>+iLzE*qTx+{KK{>aT@9wx8#Zyrb*Raj-Rt}v5fqh zQ>mtIVmFP=2Ch3(&Cb}J=glT5%+^BmcjoP9Da=SD^fBnMpq$4wBY0<}BnwTR@MTmQ z+LxaHK_eQMTXEHRxal;F`jWje-J#-xYPn5LNElj&e3&0S3x(2G$sT|8Y2uhY9f`Ji zzcznL&D3KYM?vixNxX$0JGl$+#+@`8e_*?4EGsiHw=Y$Ty3aeGkY}%>p|uKc5(NXuJE)^s;HDd_AmtCT&AtezT>$e=ns^s zQm~YudW9RCl=cjQ-q*FP*zmd zy)TV?2Xn}6%|bgZHJjfqRQ+nO&+Fx3L3s{GGa14g8C@f=>LyM~8hjiP2!0d<7jZ$uU!JDPBcoI(S9d#z(syUwoAMGE;v8Y62k+dI zxj_qHfao>xB0L6+VBwT;&P__Wt44x)L301Zze7Ub=dKyONh-n^Pk^O>kZ-m29i%1S8cUbf(E+WldXju5 z;+<=&En9A%i7?()R$u3m`4u$vu_Kd)VpHl-vcqQm5PF+)Ab02-SF7q!sDaEk3P%gG zZbzz}WFe!@kqeDQW*`i4nZBUrmgqfwlF%nGVVi|zS??CECBV|-k`56Jv&mfo*B>zV z#C5Y5;)fPcSxNIiST&3kDrn0ggeG~8Q*+g>&)GA=i6$)c<24c8gek9B_HX5p2@YSd z#oaG{HxlvznyJ>SYDr@^7)r~&i-9W7*g)T*6`#3WC(q5=o&@7Czt zUqjl5Wqo+f=A86VQz!w@O!nLO|JRYz9{qnia#gnfI`ZTHI`VLC!Y)eP&W3NwlNQsn ztX!IJ(hkwL^eX1w#QUCjF*J|U&>yyByrgxGrvRL_aab`s`N*n&0$ecPv2RF{E##FV z-J(e76>KF0Y;6~rNpW+oQX`!rpy&i2HEGJYXQJeNvg_AC55^xC8y! z8{ASS&vP;Y7wl8wB!4VBG^nOw$^|qf{Z*{nw9~1N98!AS`BkXYn5wFGmK+T_h8Ry{ zg}3pe4E<|yc&j3Kc-s9=?3)AeWWfkUyFY{xqg<=Dc z4(>vW{1Q02L@fQS=eqDYc00nJzJy8v9C(i&$%lz~=x=g`60aCZ=4%9h${RTDvPAju zTaSKwc(^h~;P#;NvPxm>czmsiZlnq$(;Bbu$ZHgB()EOTEOxL}(4AYT z!{j@vo=Bf=f!*G0xN{fIM>#th?af9~s4|U^EH1q{A$iB)yxnb9O*cc`fV)&G5Kw-S z!g7nYrff%Z7sEiA9T?YnA$Gf(dr^G#D)2bSjnFILt1!wxX#^JFLgan(S5uZ0b4u7f z&5QUQ3Wct;bnFDbMkALABXI=tjYsY~?t<20hEfWyf>=VZVYAY|L#I_`nzIT=1ef!R zp_>ktRlMj02#Z~li&yuo5gn}W=CKGwSwHex-ACQ@2NAa^>enj zQAy;!(D;u*RzEunc7efTjGG=_nl*W+4cCdYxv$vwY>2`RJ!wN1_gn*=w@8WMgrYzN ztE}wSA?X_wkfbljW_a@6-@MqdbP!$WT4ZW9#>Cn79LPi=A%Vv`guY=hQU9~Sb)vlZ z>wPQV)eH?3^%!u}8}t*ZhhWB)(bloeC_uEmF{}p#SXnUlr}c_n<_RAF(1!ABq+fZZ zy(6^lfZf?LNJiPZ5ldp%Y===YU{6DICs+VHJ%x~iWeKexAa*{1r_!EmhlRH;lj&d&8@q5(e=39q4|2-=v^xcSy80}vW$ zPQmGh^1kSi4&_ipt>|1tqs04XVfzsRz{y$VGm}Iqbv~w2g7FTBpz&lSY%?`@*~St; zn1O9vJWTUBVE_mc$^C)4wvlXah53kZv_s;?!I6@@!h5&Obi#)8>ei9&Hn! zi(j=EoE&({H~pmhIBj@XbA%(&_MpAeWix@)U!w~xhc8h<5B_9oz`CR z4fDbZ>@!D(tT93pu`B?6lhn^RVIY1_gNz><@D?T@S7A#ZbXQ6;*;h10pwiqu+S;Hv znNafYIyXVA=;;)rjbfMG4sNqNzA$8lJct~M{q}EhsLn3UPuD?gAX@d zCA7IbqUJBoca&i64Fx#1DI599kZb1N?XX|WDK@!%q9P%po}9ZoeZ6jBMhLhe+Tn$} z$9UVjI9*B>l&u`GW+Ysyvx5T<3nP)&&5j1-UECHXNP$DBpkNggdl&81SS=tn`_@bY zd7CyQ_)47{mgiCM`$u@%xj$*yjzNHbY5=squyd9e#%06)IQ`_ilYPQCpwH#y9>5a_p6BRf$m==+GBB*KI~Z(zE1ta zXva?KzZ2fbC|UW=T(WKy@1GQ1I9C!cvPV!Y%-%QT9${kAApY8O81(;?kEiQ zTbP(T=18;u@>y5y@ch0t9w(I^#ex@W^eTvon6aLonj4eM`y5f|;S&`#8l9V2RY<)H z`Fah9&{`E$VVNx%XE(rV(^4WUfa&eya5@q%_c`*IFt@igk+ld%xFUiU(I&<&H&_Im zQNY63GqEsamxGR$N?=71O@@F;NG*h`DwvF}V2v3vsjeo=WHxLN+@q}Fo$qnU!pxm& zIRxfKMg5=RfFA!}IJYq-?Su=C80CbfzNFZ9O!`~+wVB^}p@RgVM#_*xn%MoJWz8g- z(+GQoc}gMQ8(|s3wI1#@-?HmeQNdZ&?6%)Zmw~2<=I`nJ;zMrS%nUw~GbyZ)xE6Ks zgj_8Qz@sF6*@`81b|^FvWpH7FD0D`OLqF!w$e+V>Khg=rrD zV(96mmJuZ!U?KFn(7zYB`ZUNe-0g8M$ql|2eUHs6o5pK@1$(j^rFwpB-5aW?eE(p` z!^U)8$_4vULE)8KqN>^)$i~#UN-~~%e_bk+(0DL5qsRR3wz zqG2i#Hb)5GX>!P?bFFM&)^t~aK(U9R`=MEzQ&&AtkfIj*p zs8C{9qFt1~t1p`Cy1L1E$G3)SgcC%pB26TFEl|cq?5R%VRok`9rtoj$NG7bH2`sCi zJ)Bx+k(?pRlbkg*m_(_w%63^F8%nC*!3=Z4x~*!C9B5oCNp4jy!|^XQSyRUQVoA<% z>*Kj&v6j0NLi5Ur;x0e}_k5q=h}!|%1x`Nz*lio_7sO4D$r2WCmilZ^RoY+8PFa_|Lnoj%^4W?bm|7y!Q<%zxZXOeKwM@?T6>;LP^@kv3GJK z8YX&1MWMAcv6Ljf3~3F(ZrwN*NHh(%P8Ro3hV!EA3C!A|G5(whWV$8HMO!d0l;&oO7OHJi%MPr3%VM$Qu>1u33b5b)K8ggZXfAzvmzj=MA< zVc%ZL)xKjRP4T!*ZXd!nuPip@0>~P_?=ZM5b*a`(7k^G^Dln=<)S5ejSW+ETvoO!6 z_6JAP^kc)idIGUJ<^-Z4RDN3w6FLd#~2~npcpAXkySWa7ILFDY8sLnU~ zCzk3+ZodVKGk>2henV*=M<$h9nGR>^iBA(RNnK<4^A73%?`4ieqs$4W=i!!%X6Zch zq%x%QvA>?3J4ZADzF!j}PK89x3nEitz$g*q{hn~>yXXB4tq}e0mM%l06qVgBJA-WDSMxAkjntxZ{6vCJ>n%03S)TU4;lM` zQgc^96dj04D%KGuN}1F}+LavtJMwJ?II{_mu<0*)C9R>91We7p4Nda9QIPks55s}s z`UeOMfR=yftxq_<`=FI2KJ6~~=9HR)j-sbA$MGv+^}#A$+ofJZ;{C$$%ah~eD6{g$&)^E!~bXyKa#uy zr*ESe;XnyD04!p_X?!mfyEL_r%BO7XbSsx#p*NZ4+U!PnXnk*wx!=jFmFD~F|Chby z6757fgB1^CW;{QTe3%^&gB<$I99YMdRo=A-kPa}K)a(2xtj`nJ({APXEhYaP2G$f+ zB-7EuaAi<8w_wv?OekFT@3@G0Qy6ypQ1&vKvb~k zfW}hPtjRBzo*4(vfP#B~Rn5RmiaDjxaComaN6LBz27$?0rx=9Dhzn^j`Zu43R&zj# z;B+8aI52;G;;;zwQNs)YoL<;bMh@jh16-jBGqT)k*M;hhKo8)-fuo z5?OU>pSYV{L|)o~o&DIcZTIlQF$p)n)%TD9PwWUK)~KY=!q4AB802p8_+RYe8aEbm z6+DIQC-^}6^n*jy?9KB4*8qYsEDNeb_yDmDIwX8P%RZS6mVR=*-Bw&35Hg*Byn`wE z`y~^!wn=XB0xp9Q0$xpjmo=m)FHXSi3)gzstXN;8;`0f;`68Sffl$uPX4lQt-4&?L zOulLIuchft1RZk*w>h1bli%`xo`IXSGc_?Oxzm^Nu!6*^&u#aNf)sSK|90xFR+$bq z;44BC(wEmU+8p9`bh%Pi1<}E^-ptw!`T{W9JbapzccSMD=8ER}0-m!Ps>%E2at^Yi z{dc)Fp36G(gyrXKsCiQm)k?UAC-g%0*Ra3u%p?tFQ}f(>&VP~u(uclh|!>dCb4qRvik_mYwt4o3UGvx`T! zSHxbXjG7F@#sce>qdkA#RF@Jzz3x*-CKo#0Vb8L?hnp<~3&-kpVMAiDkkZ-q@yjo&jI`i|RiUQw|gXHfzY&LRc zZw+xHS0t4Mtm7`)nEc!HoTl>l=8zJc^xpR$FOE-aFMjygZ@63=PKAzj3j6ZT3@BYR z+euTTVfRx>{LQ830gz?Zt^Q{UjP`UJE!G@6Mjh5~DwTirmW?|UoBa;sbg zFOoR-9&UVdPp$ElBAAGY`_(%=cJuS~2UJ`d3CH@FRyCzoNb@Wk9D47OEPOd(Ugv)| z$_?OV;Oe`m#%nA;6BC+Dox6_s;Om9lcpGeFeeb3BC8r%-6V-7Qn&L)VL-)6X^N4A@ zyNsi2`VfQc(Hels*}6Uzxv~36 zhWw8sn2$bfkn6tP9!LMb{D7eFCY=dIQ-27~XmRcfFj6jQ!>Mb4lDPZ==Wp>^V@d73 zC>xu2S8xxWuDE)^h6bO`=n`6Wq34xZjI}e=y#6ZzmXannd^oMg+NkaPY-R*Nw3M z+BY#9ft&;5K9PqqA+@|04&6Mb>Z=G09t#WjZZ>_Q&l(2=Z-;lk);q#7nN`3OdGmI? zr}}n08INC9I&;{9C!mUFv0pjC=x*UR_mb5~S{Nf)6)EyvNz6=a^*bC@9#G05hH^H9 zYQzTb3&*B9eB+X)55F71&>XDjuZUoYQB9mt;N4{x?IQs}HK3gmnhBB&8m+N(H5cj# zr;U^lT96c41`#NC`21QL2btePNq=dB^HheJ2x0hhS?P*B{Ot!uKLa!vQo}G?44G60 z503xSK?OiJFp!3XPES^(A($)<1@Wu{X80^AmSIG-L+S&RQ6%j)DIg2kiB*&cD^Rcb zFm&2JzYY{PGaXY9nlVN=FN>mgMDN72iF^!Fzd{#Wa87;H8-j!uZx)RLG|2t^X>>c>vXF5fAU zg)IrKXOMb_S-{3(OZVggC}dM!Fr+ZZh)lZTYJ-RSe}u24o#RyUv6f~&ml9R^ROUmC z+)u(RMSesY$>I&S0w)sItk1s1yj1l&yLI{#IQ1Fnc2a`4dvO|<)hvZusVc#D0^xDg5M=5nlT9! z0d&Y3_n*Q{8MuU=3g3cP%7JcShdTT->?%0FJ8m=9>hx82zx)`MJ)w$40d9or&?)OG zrs4+}p%cWOz0ot!pzBsoV5Lwm#ol#eh>fIL>m+^xbvOdNj?iN60=llD^%d&k|NLV( zC<=5SV2HLV%A74a$F0Gqlym({cZfY33~+|*O~-H#ms-HF8M%Lpt7zU1sO4a=@W!f7 zjm7gD*K4m{@pbniaNQO&`oZN)C;$gXB$#xE?1r)c%b>~7#PQIN@9+!5JB&QMkZP41 zWFm*4Lltum45N1;CPNuZQUMPT6B73H2OaJrOcU z2a81}Z}eyh^m|(g!pn(gTq5}Kb=y=IZI>)Hx9qq>u#+F=s-|HzqoBu4wc^|b5C`=1~FD4Em_ z{5$AH5ib*Bn?jY`ag&r(mGeE>+E09+^C5&EDXbbF1r?#fkOM~!+iONB@IwFz9|ZwN ziZi-vfS5g1OBJW3}V9FQZ$7HJ9C0#DS*jY;pArM zJwIFs5q=KtkeMo4x^d1n;dhBBzH-xI#N2;{YdNEDmj$+*0oi^WF>^+K8eZUXn)?&i ztbpv|x(p9PpL^RC}rW z)jkh~mj4+lChzC@vb<-dOv7E@gA+IUXW;ZZ`rUjbf(6=G6e%c+y+EE+KxC_I26>iY z#P>HoFojeK*W7JxG2I1A*&kTo7vvi&(9amLsi11gt7<{fe4tcM6r;vSxzrDFaMrL3DNA1t~m7IbT-*ZgMcI`OS~7cP+m1{ zkU$8#vLQzDOaG@Fm#J7bpwh3M6BN{&YFbQy^&SoNg~P-gX-V~9RD3jvr4;3zgCpe< zku>z&+iObv;|#;8NW!>chXb6AY<_{@hGOnF`f0yb0B#$F5CZc6yvv0V7PGsKN$vUS zDI}yE|M`vK0<)sHfVh6c8@nr%Av?7b3m9JE2!vU;zq3b1RYOAK?HXRAQ-GSGc}lub ztG_r5=dCE&L(-p_??!58I**NsI?NEe-dohXX`?bMko`D=9w9xXO16G$g4Thm1#ewJwow%qkp#UuqvjIF>UIn@7vlZ=^KPSs^JTKc`BA<7krsBV zk@*NoG{16!_e0qqp;`x0V7eoq$|R`K=Ki82#GF{~hLs1&jZK$fwwQsohK)QkJRS6I zjzQH48E;8DQtIVN)OUX8r|)@5FLY`$awOB6O!t?&19Nl_v%a41~iaS_+|)N?!3e z04g^n;GHi=5y38V+{4VEXER`=%6utWBk#+bGvRJZ+O<>BV74uV_07k?e}BZT@E6*N zujKD~L#?x%o4aD9ouBD9Fv_3%W?k?lhnu_=*p4=Ziy9bCX+CYqte*YmF@ zW$soc>IP&AOSA=;xP?!d9uCNwl+b5)-+3=8>wOOjyJ-+t=92ox6u!^qn!DSIzw>|F zw$M#QQKNRzZH;KEqJ(6O9P|C`E)Ki@KivgZkuzVcr$MO+Ow#L6bK}<1ORi?%=}WY= zoU`+rqd8GT6lWz8npKUodK~{8kGn*ZNz9Fhn8&A67Ge7(wl;E@UE3%?Jew>+%{#@; zDQ$BMxqH~HFbZl9?n&FJAS&vec@!J-Tk>UgCiA?nVdWT1bPWY@!kmCMuq8~xY?g+C zNof|rvg(O!PcpVU;f(`zpmBQp9jNHPT}=|gdg$Ib&hdV?(%LPjMSnQBY1CyGA=arB zQZm*=rB}~|SpMP~CC4{l(v)isX;U$c7}n;anI8fpwM-_LUAOA0rC22KeIl-nU(Q_M z|MVd0=tkR z{gQ^{K_dSV7v>eX{(U#)G^yY2;)fO+O(gAAQ~q#&4_gOy$MpOL6$`L;KTo{i4Q>gx4Xw?;NZIF`Lsj6o@dIQ}pzA~Yy7WO@8sC5)dT)K05z%o2bH&v^WS zbX*n-3wY-RqtgQ`nuayR4|--qqy+FIzT@QTgFM9`9w_>_%f73)E;{?jVjObAbB8FK zkoR~ph_7}YsX_8=ij5XAjYTHF_VtMeonBlQ}7^Xzz z;Nf&2zwIibry|KorjNDS=G|mO5-qwOV!#%kU#jSVjTb0@5)IQba&X6&I;7Yj*OKZ2 zf4@BHQqr9>?J6~6ahHhNb_aB|ToV%( z>}Cge_I1PwNetZ9(w#9oFAsn~81J8vV3?rJ9RU3@jPtHsMn5}h=(X1tHi+_&a$*<~ z&O{(r25M0Qxk>f3;^FM(r8*05Sp!$!VPAUwD{3d(1VL|R1&&r>U9qh`7xx2@vSt)Z zD{xOyVe+K$oRD+LB}Le3hyy*&AAGj3aExQEEM3RFydxx+df(fc=qa3NAFvd#IU7cc zV!c;kMPYeLpYa+XkFgqIosR>R;Wx_&32OgJ`gB}StgB32Vf(B;&_~m+g4oBJEv=Yb zst(ovz0CjnY2Rk3uRKG~pV^l8DX+IhLuhY;=f(O!8{5Wm$`${RuHu*V-fHm6Qt4SJ zyWL9fO4+>(>o+ z*6|AZQG8Z?Xn{oei41*DQ@tyy(_i~$Qtm&lWPfrE8?pZsz-By&ZIn zT;d*UjG4K+#dq_0FAOoqN^RWRJ3n7pi~v20HZqOw*`}m`YwrCTdoFI+8jYV5^W5H_ zk87!rOIk!hArY?J7rtyxaD`NblU+&Aob10&ePbd!ZdK-4FLGF_|E^CO2^*k(2n%Ny zNE0&Oa-t-kZPWuZsahwKTqAmO@|s%Z1NYLLCUWH+ZE3w*WySTZ{4`leSXv_>%g|8qtji*u!c-~a;4>_{Fked>I@4TJzR8a=Ne1Kp0Mdtce z0#~N>jgrmj>M9H5hoR~dj%FLtjJcX=gJ~Mju0fy=N{;C0(9t2sv@$-)IRat9yj(9+ z3}bfA!uDOgZjQses8I2;&1yiE#cGf9@%>Yic>2v5Q|tBAHss&G35s`9k=d1_7OiA% zqjNuvySd=a7Lc0q$(pgv?y{ia<0VORArn6XxOuFFmc2TQZnEKk-mxQezG5W-P2&-> zID^Rs-Rgx28XJQx%KK}A#erQ|Y_NZ!IQ+9OeSK$M)gL!dAulqYQ(g7n6)e!LS*)QT zg|KSpMQ8c^7xb=P-qjYEB{`Ek2Bu04wyS!SI``$cBARRu@8}fc@J5G zdXHGU2oMYHr9O%3f)~wUQ85GIwIP@ZmIxX3?c5{p)RJjU-UdPLJ7e}#Lx?60Ok{*Y zJBU3|$XkBitAt^^ zXI*e8-45ITGVuOwATv7$f+)a9l?{^0feOp)n^?XsH3)MUXnL1k)`1(lol*vaN;5Ae zl@`39M2UwIt=AJX-vug59jrT59NafI>+GO>Nd7_T#~w&U1ClBT^2*JMDEf$0fNDy5 z1yK1&4+zR9I#It$NM0POH2J**P@Z>oc}SqcZ);cpPjV=yJG)#Y4Mf}JK_bP~tv*V-?U+=LC>!gRTuke{Bs4BE@1KA9!*UN%4G9h@i;4-{+lJ@y+We3p7PgpIU(#Nj}BV$5{I~(Z} zopiZdrS|h$b$b?m8k+Qk35Ie63cZ+v&G9dS0|4k>Yo8pa=S0?ML=vV^N3fJ~JTeU} z=bl_?r-B?zlvD?MeM1S(hrjMqCkt>pq6`-8_KZqKbpaC)upGGw6M6~sH3k(XbuvUt zS|jaNMSxS@8u&tXoMhll|Hu%;tz5UY2!$!-U!^);RsNxw5r5ANUw+NXZYiUxcCc(9 z(^OpyYMD~(5W9T^WN7&Pg&x59`{G0&zm)>__Na`^R@j(f;K238!QAeuL1WdsUhnOI zu-8Ellut-KGw_pSE8)z2fZaLL{JF-K$s<<~XQs*RVy==M@_GJop3alo9BmZ zeI03rN*Fa=WsXX8(&!U8_EFXm`-00 zO0A%p&`C{-n-W;2JZRdLEc_o_5zK_#}BF(wh?xFkgw70uo_$g}5=B3_>O{p>op0C9vlDeWcEU~LzwdneRb zleSrxh1(gx6N8{SmI%VE0{wvX!7n%7$moo2GiMdRaegM?ka@g`+f4pSHs`==wYb07 zQe)+j23A2u>==%N6u}dbP!3DFL#w!%)BK)toz`B1@`YDrUh(dlWxtKL_Y6qkGcdqY z2@~WUbR?%jnZ>EAQyI2v)ggO$ToBx*fUk&lU}JJ3*esbcT<7Fi6?)-+2d(aT#|UYR z43~!$;+$*|R?Tslrg~r^;8Zx|<=@eNTWxx3-tzmLYQ?4C-uU4?)YVc(JDzyjW?!s3 zOxoYWY1^JSD3IgtYLHirO55Bl>b$P?Ddoaw#!5vwRV{7wTWAf=OW9%YF^D}PG?is$ z@t3&z&{SGUolZ}~+`qeS^edLf;s_r+p35&H^G~^=f_+VO@=DUR<$8+}cN)sBrArCEIv*knDUs-Doz& z>KSq#V#L(raW;g`+U}n^3-x4$4QV6xFmsyomNU1>CT!gH3+gbQG3Bz?2u4pkSCS1L zgHZX!p8oBB7)DU6G3NJV*4a|eEDQrS*FPin?z&Q!^i_OWHt@KXlppdPt7WCrdA4#N zL+O8FV4$jqvkOPJ{BGMN>r6OqcZtlz#rl54-K* z*qPWiCbrFqCbn(cwllG9+vY^mv2Aqhr|bK^IddT_0v^-(Y1biul=mO_reJ? zCF+WWogDB5u-;Kw3cp?z;kt-Qa^mBf0#r?YN-Pp@%KG7QjIIR#EQ~WjLX5gjTwmjR zMEmJYQyQa6;La+|(6C%P%T~7Vg}7dz?%tcI`@E@<{Wg zJHw%OloD{SXME3^lQcyNg4{|#q+L!1Qh!PFJu~rF!2u2XPdf2|i!flzqq4C^QpGp9fKNc>q^gp9PY#@PGMb32y1X za$P^3_tC6BaC5#}I>K5+HF33{58^M&fswO{)Wi%mdP*jWi( zvkJmd3;+i;DM^`%!_rLYzkRNZWI!!5v}A$i1Yj;s4+w7AcGJj@()@5Yb~Jl7ujSM_ zn~zIe&shwu=n46Y{kUv~(xvp%MW9|Tq3=GBp2hD?5^1n9$;Mpr?B;lQod1wtj719I8j+2RUX>0S3T1(`(zf=EwX3dr{?ejDXI<98?*{2c{O)PO`7A4ID0n9r=N z5Swg9uN7F^>Nn`3&w=eGLu6bmpA<-EpbAJI{P&ENJ4F~g&?vGZD9~IF)kqGQ0u&94 zUYs+eN%`JW0N#i08jXT5nJqYd8k3*=#25&Z)!kp@kT&YriEfZ;$G_$QQ~5ZnIL`>Y zW`FPatJ)cEIh}t&V)K?0hZdqb;f|jgweu(%w}e2unBBZzjkCaX>zGry9f-h-b+w?7 z%e>JVyq&@7ro~!rB==Acz{x8z5Px#bxL#D7w;^QR*qgRrx$fl<25B<+EiMIMt7C-| zbM?_2Sj-RTnb?p(p2_X(3i*g|FGj%wDfx1qJ}e!&15f-f8J5h+A^PzX-m+~|AM+5h z;LDg}b|@>W?dQqa((L+}ox`!kC(>B&Dr|-Ai*|yEG35I2AiB?X|MiirGrP?$lT7sll=N@J&-{P6P01Ls$4ST9wX?D`J1FGAYxovwx zV|2Zy>R(RntL|I5T;~fCpZuBl_?FRWJ#h0-J<90nK^_bTviK{I9H&O{gW*fMN;A; zmrJ%k3&e9$$s{(R%p+F};5F@1P>qevYD>D2j&s&C-uX-QO2y>E$7?GTOLL0h_E71x zwL?^uUi9`aW5o`=&|@0rVg7g~bD{q)#~p?U(?aA^ip5t;1UEGVIG$HEgCW< zbmb8#C@qQR%at~g2BZA{!A|lms;)oA-y{85jxHthAPTA*-R(aBI-3}NfFnW6(5Oa> z&qz)9@sRO8S^ceImuv<5qxUbtqI zGp;AETybd>D*txB2fI${D0;^L=Zb2V)hB{|k$>-Z+jXyYbCt7(=yG~(U9n5s%m*u( zRMI(d#|fofXEn84qE?Vr zC1^u)89`k_Smk|8#Vzp4OR%)=)O-kUx!_!PcCFL0guXtI_qT#eVm~l^B}DPgb6Hg~ zxnA9~QfQ;EAsoH~^STTNdgsvrVUMI!!lU`Z_4}t3wqpyeaP17|I8;A*$=r2Max9q` zAJa*j$J%DXlB@H={_Q-i!!Rvq2Z&ta(3H}=7fRU;Z;3Bk0pOXd9nW(z#ITXSXvPbP z1NF}k`m}fh`WR>^2dLs80Df)%DFNK<@8dz=ZNu)`-)CTWFp0*m`#w_x`%t2@%Q%8R z$N@*P#^8a*KBw7Iwi9|m4JHF^__9)ZCeig8{e36F+RWHZlES-sAOjG6;t6SHMz1A= zQE88S>_BbJXhVAfXlxj!gHX%?A*vy!1JmDPWolxKi`AE&R%9n8UvYUjxNn(zb13C9 zR{r1R9;lKYsqAQ=AUkIS4S|4j@aPR1MtBa=b0*ev>62*EZBw;}y(3lsUzH_aZyjT1 zM5v5uc#55K|K|!#W`qVN%0LjbK`dwBqr?vZ@buyll>lKMfPnzjME#O+{YM;$esH&P zAFJN>lQ~bA@mcd@A@}akJ;q|&TovWo&)-XfPtOkCMW}8V(se^V)_8wDRcKq`k_i$@ zEEfH}vr3Vgh`l}3Av7HyxDx8lC}e^(Jx@Gc@*o^(XtvN#vy6UiEmX3VePv*szRTes zLP{6n20heOX_0(8%iRkgno6sir~*JZ!K`c3&Wcm(?-Pu#yC$&0&*67)G zjkb0q|8&CPjGpAG8-b>o7G8Js#2lBBop+X?*a$k0Hc*A$u|rEeMf0NhDz`|N*t?J! zo)W^xBfN~@&)Zg%3)q)g**A@kt~V=4hnug55x{FgV6jp<{;reXX>^km$nnBd@8bvQ z--ne%Qh}l;ABM;jFN;M;8nMep8>WSQX@Bsf{adGsgH{|9c3UTTkpj{sj@N(3|E!Pq z_#8p^%Snfk0FYC7Ds`gnOviSKqrx$FL-s~#LjmapK_fu?ZDiQ){hs0m%#~vD_lf%% z{z8N4l@4+~L(EM(dJ%>0aMR#$Rk))Ma!q65ygOL8g3QW&&kF}L5%llWflF%dLhh7& zXgvwQ%&VePc%qP#Osv0Ef*OJKscC||@W_~x(}ZmSJ`n{Q#(MGHxOQIdF#Qe#v13O> zOiXWSeB9PrA6@6Z%*70I{1>H4s}`YLMooD97^^rd8wE0I4G)Yh-I3P^{onb_e@MV4 zFlii+B6x=ij8Mq$K9z2i;M52N$4N*>g%=EjL8A+lwgIhKcH`rMuO~5a-p9G$Pj7L2 zFvgVO$Nj=2He=t7GlT4viayZ51s~!>+Q(T)g%H?hdGPv#K%JQEte9iKoUd~e!Rd&))C5xnpA2d(IaY>jp(8R!rxS5QjmKY zYa%3*-){ulau-qhx(=~<^A{B2#xa4`_uPNe@C6IuBqm`nim?oM8)4wJpyBua(MJfc z)-WL#k;E=3#c94X#bauOKAH}DzO&yfmAdNEH|#8R z))vAs;x+$n*GRw)#-6kU8h@LlMO=`l5`hbHiuq-XDPm(VKeHI3*g^XkW~oP)E(l=&cm`Z~zaey;9_@Pw;p0;Tiu6!h)Fw$D9?XUw8o*}*r4Q=EVhy1Kg)qGEgc)_kGvE1U>U71c+C zp()Zs*?{^8^bujDQ)$5Ca;a2e$!!Pt0;P|1b#u!{#$rn;o|3-S-I+jcn|9ouw;zw;&)%=rLzfulVk5c49;&{BAcjS! zUp$-7=L+(ya>`BUTIq9K+|#WTn~7CUkRDX-&!;av&c3(H`M0KLqRA-kb?Ye4h%wb3z4o{%yZKzAjRmP3nKJavl;f?DH;`k( z6`O*UMGQs6Uo>Ry%XN~`CK-@-xBhebI%#S9rzr5w<59)!;bLX2W7y(cTk~8yFcM zWHqXl1Y|~%*!;oFM_ig%bF=G>zyH<5q2K-AI%;Z`xG9OeM)JeWn$(04yU#NFpC;^b z-RgzHP$R~HixHX+mZe7A?k_j03>stcWt7g9{(j64UrLVZb9gT(qdTx9R?z-LFx(ni z0WYXfaU|(V`Fbj}YxxRjU zU*fr3Md**yzp$+-s5`dk9af^+U!VV&0pe{4k?zpRZvYXFJo}^;yKJSl%0jOGzynDh zRYenJ-=KnVS*VF8*{0TXTaTWBslk_g>)Qxob1L8GG9yNtf`>b5$7mxA~?{`#+&R$?yknTZ0{ z1wYCX#82y$Eqzw{A5H@pay&?{3F<%u{RETEZ+=3kx0ekZSiyll1fXdZlc5w)-3x3B zaZQJUZzGHqb(i7SuMBvCc&J-4?;qbvgz8F(&j)dYN*l|{(F*7e(sv5J#Q()6p_pMr=XFQK8;aNQEp=wso zuMWMwF)X?nPE}EH9aQV9z*SI-r=_+MI{qI12-a4*S@;2?yl~c+lkj}jAk$za#a}No zPr(f7(YGGL3O0tY~u@cdo_~)DNBQZH@sET@NwV2@XFuho0%Nzv&7Iff;aiCOZ z%&8$}XewCA%_oNc9*fxevrw~*FKZP$bIgxf!I^()Jo1ljGFPryZo1W{a;W4fXxq+CFR=rc4xBcC_9A~koM!atPJPI=Xq?tnE&(Uop__nmp4;* zcAF7Wb~~+WE0>VssYqRRD3W~|=u*?Q5_%5$kXdRKcjS(lEmLc5*r!$LeA8HQAlf>= z(0OnI)yOLu>8hEEp&C%ccY&>WbV{3ayw|^Z-GzS*(L>kuX<6TaZOgC@ zAm6++v7*>^WLqsoaJzA`t?%e0mM!FyO%4fx%($Q4=N9Zr!j2`H7)Y)2bb%HHJS!qf z3f~I1pcHPjYj>IiPb2~BudtntsWD8dYOTQZDczo#S?Kd0T_C$QRTV4AD#Gjr^Rdc)DG>Y147NtqbLM>2sTa$Je+J~CT)fWOC=x)(TRR9`-)1~nXj~l$-GSf zKzSL$6Y*qA!a{sRtK1hjKjgpnqL(*?rO}=jN_VMQ5506W?w(mKJ1{5wG(0U-|5YyYn^dEsh!a5N{;HfTr?2E= zn5ILMblAmnRgP8MnR%tYNWfUI?8imdv9^23I|&$Ks@MR`RAn8K{-NEd@E7B~O8rTg zrgQ1Jbb9o0X7GEZy&nq>YN$P_Ai67h=rB&BwoD-?Z-#jMdE!680g<)ZE3B|^=9iYu z%eQTMYW*}rnCAY@60RBFg_JjvU$&+^1okazU>b?xsj1Ky=;vG@aq%a?Gl~{7&3~n4 zccWDKLS8?gjgO0FP2zqVKA;u@j3`U^^%o^j^gCGav6>$EW05oVPpLC=ghjK)Kb3&d zQG3k6F`RJ0AeUEd&NDT6XV`21AM-y~csf4I7NrK^ms55~V#rIM~Ts6M+t zMf+~OIe*RlS*98a3Vj4QlKoS1Q?7NuDU(LCR!y$ZqV;EaYRM$jHakR?WH39!&5?iK zwyQ0ekV1!@_B9GjsR;k}zXT(@56|Sy}7U89IGQi2_NJU&;0^qMUmC(~$-hL29~)6`k`mG)n}CQydGeN+;C<+bjid zN-OVE<+oXQJc>%DMrJnHy;tWsdLp$luMM=?nRRYfsO-}TCX&75Z|=(z6?u6tw}mFX znzKSSkNC6I4w8zfrA_}JyZ!iSgP@&aU+rwon0J|+Tt)^rGvUwdxmjj0{yCo3bW==( zn3&vt>wh*{7n+{_+IHD6TJh1^%WYd#NQPAK@~I}ubz^A4ie6F1T)j~|5@p4_ah5_? zLIN?53m15c$u{Gz*UrB(-c73CYOmc#1Ilx$r2Q64AyeYQ0ZzE&$?5OSnM%kd6Ry5Z zt49Fhb@d)|j)H^qBz3u(j`8z>rNt_#@kF16$k~acqmvaQ%OI4QTr*1ok<2riUfG7= zLQ$3J5yHV7uAXXYsevmj7G2bWyrbc6aL#10J6q9zT?^=C>`2l{hCd0!X}mF=Hm&aG zWlma%2-QGm^sNaGmw!~TzpYkQYv+B~%wGM&wi8|dZ8oTw0qa5+)CDGhdVdL~!i7Ll zxUu61-&>yajvD#s4Cq&bcd{d3s(t!V-Cvj!B8cANIwlD@66dqC1>? z@TBh#z8%znfC}WY!EgFr%MNvuWtusHmzET0NaX}i0Lgse|4eV!>b3JROmYszQ&2W@2P`~38o#%etch(RnvNRABbT-m)WZt~+0fG_G%OC9-87U5 z5)Jsn3Okutvw7bQWImv-b@yqT0dOGxV z@X(hae&d(Kb?Y;fZ?*>E`I?bpmK!*ycn0$oxhf3lrxF7r0MAAE`WXJ_es9^(v5tU1 z(MTMWryFd4KQ>Pnq~ApvAgZtHuC)x8i@9UG0_FhFO&LJSf=l>8WB-8gIp+<`W|O%y zf*^o>7I**zAe=O7NHBZgUk%7C8_uFYV}EP7(Dsao+;TsD69YFb<7)42+_CZ9*nnkd zL*@$4H?z`E{uH`w|795>5gzd{r4Fr95;dIh%cY*K6Z0{FR;i%N=Ktsq%EE;32;=8Uz-~wpVN-UMjtk06xTN=&E{ubThD&PILgm zr<+V*CY9Id&yCI0=Cgxx=}Jat=nM*IIw{o#h5!c`V@1ekqRVBoLpA9oF{@ z0;6$t(50-hXrmv3Wf_u9)IY+wQTSHsU*ygg_gft0s>h?sxN}ygqwI}_06%bLx+Ha+ z+k{KM284>HzkC?2_{!ebkfU-&lNp3HhD5!)-!{r!$VAS$Wtur+D%$Zv_(@aTi^2P8W$!$A(wnNPzex>O8wE7alY@ssrU&iwknkP|F}@i$pbf*UOW%>x>WKEbAl>!D2oxEe&X=Q447lb!R3^<**wxr+2F zcpCnA$iC~E;OE!VuZ`xs8jq&}XQcyV#)ug+!rGPL2Aln_I!(QMQW{Mg^3wqatF?vW z(1!$J8Z)LNPHTFzUUomZ<-Q5Bv9W)5aBB;Q;kR*QvqYo#n;IFUk9F>+1SSclQcp#`pd04QO{Sd@uwL9GC_Hzy+27 zaxDewlLe+;BbnA37}7rV59b}8r2pF(dBcJ;3rtK58UEX@B>;qyOXfDm8e*lAyhFlp zyhB>Xn zgciv8erkjOfDgBx7c=ZL{C8D96v%4BHMsMSbL!Bg1k3~cK*pKKMa*tOHxm}+Jlq~R zD84*VA%sZSd;V5BAm^9}u#Vz_Urxb=B_z||HsPEkyJHVluk*Gcj;4k;Pw@N=g~s7ZIOAss%U1|B@O``?F%Kauh?JjyO_$rLe| zefL($4%s*F`G%E^qvS3OvPR7J62cY~2YQ!@(R&I)5J>ZmFAnBE2QUXC41H_<9;8`@F=`Z%465o# ze;e`nMRf(R`~lr9m=w$zBA)Jv3-g43alm{jCmlYDZ~jRk|PR3xd{khl4d!9@sYJ302o-~G>|SR5o`@1XiJ*svaC`{LnSI8;qwVw@@S zK%N)Z@Xd?R5UN3eJ_up>ceenrOf!;6M>b$h4phYN01HL-`c^<}C-$04?s%yF{8Le* zCJeu2OF)m;MO>ou3a|9DlHX-yQAO1Gue#h{^|@-un;Vk*f}f5rQ*EkkOd0Rk8)&>_ z1EP?MH#NzWPny3E`~zkP|Esh;!ghNn7t5SbhtO<-Qw6;K!rJ+>%qJt5RR4_2LkR4W zD+Be}h3Kt5;21AL{?rB0$5Zan4XEdP@1G*20_Na7$FTjaJqkhH8M-}uI|jQ@N4lMr z=9>OTu6uBEjN;-#d#w^+Dc{EY-oUt1_nd9wZVBaQiR;ngoA+nCL%UzUPCysk#U0m$ zFYFb8FulU*a);AIj_g?mX)qlE*5k?UyKirxzAYUIJ;b62rGN*Qk8xgO42B2wTFT!g z-H)Lso$D82ZDW?j?R3>eSENpjXoiGmqFG*_C&jY9UC}Fk>D5N@!R}Y@M{o3LGxgES zv`4oNgQRpOmN2Hgq#+MppY8!{+D7#dMdE zNR|qCN-Q!4_b$h@%a)D>Y)S!hP?orol1NI3(Yhw8WBj~B6kS$1RjqnfaHN<{WPgj^ zv+Hld93Kk@a@P79phR3M3?$q~r;k_#gs+B-lm~||#n|S+@(q`kI2cvrg@&)X)1kO} zSbV2uk-ZiK)YKqyj|k?D4&WRdpg1BaG+il?96$`a8rBAOAjJUAbfQdl&ObX33`5s5dcCXpH^8!3?jZ3?g2nvDPH ziw~#6EkqJ$*F^mG{#Mr)cwF`^z$p#UM-=VdeL;hOe0^Q$*gEfVAbU>e4DoywD z*TOa%hp($;ElbyEn*DuAt7YpO^Pl@kA`SWQmEz;p>S~n%bJJg0qUL-!Pnn&~jLCC- zgc>2TQsJ_tU4bMvp{IgRwKl?mi`+vGa5)4ob>tVL1f?wcf58S z@sOO(U}!Lcikk3bpu0p^b-MnWj>Z_)4f$6$E(HA;-oxX067;5eVDSaA&?INl=&_lH zB}8JviDWZ+G@IgzVnB+B5p)54$gD_jZQ2TFoR;Rl)-pMfi^e}KS&s{Dn^*4Erh?>k z=0XDYc6rdK<$`EIhSxLC$4}S?zs6yBW5mQxzPtY>2;2}vAOp6fXlzU7kYJ{D*EKJg zIO_X<2oKuRkkeND=a)PArX81Ycr{@RXAd1C`SH1HpEf)B010m^U7#aBgiQ7D+|V5% zyJt#@;d93bhq50faQWS^ftC&F#{WqK}O*ZKLW zH-VMx6>nRZ#HK8W&eu1-y3_T_$3eu%{r-(wQvH%>+@mY#%k4Q-Ks&=92Y=U0)MB;gRjA>svl|G+M_h_7>jg;LyC3&r8sE%82`= zjV>RMAu`rd#^6Z`L2pnx7DnUkK|MSx<2L!>RT|F*?(k&+pWndqjA)KMfA~DZ+OXcn852e$ZWaU{j|6x{Dv_O)mp`0pnI>&E=4TJLWF12Dn-`=-#j2Cbcr>7aEn%mZ>~6Z4c|1hR(?b z$_`!shGqNi_UHj9OC_@l}PxbxZJ>&h7V$1ad zN08kh%(ovfgh1Y_xEpw$im<{BeDLodFUelbR(`*GcF?XsPR`pCY(}B;hG2Yx*kwmp;rb@4#!v3bMf%E2zMX&p=1pbBC)L9Y|2TEZc0 zXDfZ*6yeDX0nXCqw=S?P&RVE-i4*Q382B@m-q3P7PH^`WH&KIo`4e|3w+`*azo+-j z<>nqn2PYRAkgD84PL59!j3tp(cYJE$s6S=HI8vTDad)148^BjUw4=(wEJ0#Pe|eVA zL3;zo9DeSOWWfa2MmpU)FHi~*32a296u9%I_xJUn_>*_S739KQ*ZkjI!j% zfa-&L{ZtQR2KAv)ss+BuKXW##kW8zG;;+`&LH}6yiu5kxT2JX$n*NpWc{!K#0@gko z8kEheP-JQH!^5;J(MKa}{tDVgCgkSz$X%`#M?+4eQ}dl??x`kK4xxkOndXh3gkmpn zkqjpkVL9-hf@ilkNeb%x6-DqLmW_*SoZm#vAh743~>GH_zU3)2|Cr&yO0gT2QrA4$RorUMY&fyaJw&8 z0)EFb*dvBzU;++55(?@3diyGx8fDPIFyfIe_`E#915(M@1fpP+#!zaTIqJ_GDYLr< z6LnIE5g2@d5%z1K{+2Wa)BGA?yRc6@8`mzdfQVkLyngZrS0I=8WP<1vj9r-QE-FK3 zz5~d(7dDjc!n4@|0#6lB{seJCOQmS$4>DZ`JB}E1H|aaWV#l;*Y>BfJv~$e%gplX~++vqU>h5fsLR4L;;D&7Wx(15ryi z<{FYWYtWUZ>Miy0eDkUg>t@?3w&s3;qdcdv#>w0B;r{DHxo``%*L2`hMhnGXH3x5C z{#-UB=LxrumCy?4U#8QS#&Vo!H1NIFE`sn!o2pD@(-B7typ{Z8gm;_2I6`BT^7e%x zt~vz(ai|h0&d{rf1CF9n#H;ZcBXW0r>yW%(2aP53b@RFFi5l&7$#@!NVLbLuAMD0k zO5~TtCR|=yjsGzB80J9Zq_TA5}kUsu*Y&qf463rB_ zldJ$;PshT;c*}Ymb?9Dd_jy#q^V-c2RM88KryLOpU9dsvJ76a7m!cg+z`6HIxq8f6 znU%CE-sIQXS9C*v5Z>h7tuOGAo8dFGUN&`V%%BVLGrnHOHmZ~cE^f( z|2N#nzTuAYKX5m-Gx=X=pRikJLJqrzeEk7-{i8)gFJuMOic{Q97$5*5I**Cs2rBLA z`Ie-$IgV&@s6s?%IsU?Rm(2R_V<_@)E09_aQa^BK2AXhJqd4VSednoeYy!+0KnA6y9;3?40W=xmW}64UVtV+c-BqxO(!0cw2EMw~EV zB8<(LOkpflBsK!bM#TrI8?JwU4$StY4D;BCB%@x7N4S)(xf(t}v638k+tH#(jENQr zS&FydxEl;25qwLy+0Cc!%@Ls#KRHNA&lgcOQnqB%MJbh%BrQcze*UJ;UHD91+78WC z`FtpOAbzPgy>yb1lBZlQy-^iyuG(k=!-{cGuKdP(OsutTS+mis%!MdloL)8N!G;sfZJ07ufX7Z4}WgAk%M+kTL_@pC|4FiKa zOAtdOrXiD^sX{|KE2v>zSKc248fu7TYZzk%IrRhmgwF!$@B#92nVVv;c)A65;!vhi zZP1%26Sl%5^jCiw*pl96F$R$+;8y2Pjx7{)W%xSdzwz!Wtc%(4sl&vGlhmrrlFfJ7 z@%x0m4Q2Hfcmew~N#OAHnBOkrDI;I9dD(L8g`nZCue!y|Y;FmgDOH?+0;iG8o0puQ zO;vNv=4h<2gl)^&&Ev(+R#YU5rqH^=gY z{|AR+%TALM7ClPq>YB8LdBo*euk&~XKrp)%Nf16wfHnri!52yUDQf;e1+l_P^`f!$f?j%};Ax2OjAnODmAQ=Ax zcNYs&TT{mWzBB(Pz+Y&}*rQ3}_o<(`V_y=yM-U{zK##;B+QNuM7VL3t5nTVs*wmbk zNq$xvXizGtY(6WH>UsFxA`Vu8^=kP~sYPY)=e;27`9m!~B~(z9mQVfh&08N4Ygez& zA-UN}1dO!jzgsJ;Dnio8S@6sd`fIg5cf)B>rCsv=7^>pK*vR`@8^7lP)9wONR5XbD z$c=t_MkU(Ka+PAFDGj{?8fgRjaq$=oS#b^6@1+*K%vB3ji;KTvEcXf^#`+(R9He}M zUNcMDxDB^Vfq$qguzVU-%Xsb1ntz@orrOb!&>)@zLs2O_kl98$Dg}(<=D|5n}e)84JcK~ zpsb(NEUuyDLM9N*++C?;ElS|%@AR>R>)W@jPd}h;1zglKhwE3>a5 zGxtu3BY{x1Ys^DbIQ|M-f!2X$BKL?e)7KOO~ANeR-cHBIMf921AMh3dBZ=agH;u9W!GeAqzq6EmFUtl!`~ykf(4B zWR3=2RhEbJGLItgI@l^b?%0CT_d|B`bZRR-6Qh#-8R>%9h}=VUNON8~8ngt&rK;W! zQp0Wzj+95Nk3El5bg`msUr~qZlrp5|M5HWi7$ZC3CxuWKKRuI>{AlD&Nqz5>@g1Nb zqIC%`M4PgX!Msz>CC;yW}lZM4zQguY#@^@Uwz!z zCC$I~bKe>*GKm)w=E}d$x_di%&$FM2K6`oBzHNrj`uTiNXuC2DZ@(!zxe|!W>ZF_b zNk7n?4;^i06mcu#hdaQ8ral-7mc@*!<13=-g1n19ybu%e+pJnNQi)-AevppW^Bj>& zFh$o|o{$zac98+;;`Y~#A*;EuS%GJM4vf}3LMle9)9G}`BAtV@C413Yck_lx8QWd5 zC)yd5;RkI&t5#bfi6RqO;A5956YP{Wf}&XqJNY1}BOTU76^?su7iV;&Q!DE6{sC-o zMY8MavrYL)!b zF#EmP7>FdRrhN3DmbJd}&=;DpRD|$hb$GQ>fK7Zn zItsL+LkyG+`6KhmX8kJ0Z`hozgUno*aoZ;FCZ}Dq7Us7}$|{_{|6t5lYxSpP>6#r_ zXIz<@g1laAB%YSp#MR$DGn8cazcOfeoOk^?QBMkx%G&#-jxDD4Ma1ztf8#3lQSEGS zHVQF9m=>st$o2&+btV;AZa4DD3J-*eUILI|;d11~gA(}vta?HdQ)e9yCk4MapE=K@;Q$ZFND6<>gm|5b)OBeVwjw!VW?TWh87uo zOsi-dfiOfg5m?LX^mG6ZGWe~OJtl=-;c+=J1hVuL-h7A(<8Pe_g-P}1bmhzqd$~Yz zE(`yZYHGsTe_^If*@zj<^aDIb|NdzdQ3?KissXX} zmT!0BFbrGfTF-IXdtDvo4oyU$=cVFMaAbh8pgJ7z;(_kFH`6G$(R~}+=Z+a6+vF6bheDW*dQhvC~m)hTd#zEox(ry zrFiWU9L)|Gh>NxgutC>O~mkBWgRpfSrotSswk5~#c6I9T-U0Z*NmAvPtwv|d!y);%( zSS-oWmv;@`8?e~YYA%krQ{9Bdw6!*(>kUPj?MTwNOx||#0DIZeWq*!e@k3vDsMV|= z>y4?r>04@N56*#frR$HznNv+|Q+e5iTWE>V&yR%kxvHf)a1F%n>D6*O*Dg0af6t^r z!WggJG?rs0Ck5_PcF~8s%2q`=M@1dhk2dIy;XcJqug z6sO^^*E&l29ToZ9HHbZz9&p%OTo^Z-Dx*F zHZedch7LlDi-K8U#7AF8*Y%R4wo|LE0Y={IQy;BJ$C_Nf|{rFG9#_ zHAeC`AI#_)X=9=vQC$x?HhA3Ce?^lr-H<$3cN235KP9#>o4T>t;QH#y8v9wE87?im zp=iHq!lXAnT#Ya{WMY2-R3UViy1gzO(?zZ|gFB1n1gX*@7Xceu#vP(I>cx`rXFjio zTkN@MnZl~S%t2ypMNl|3{o!Pb7>s4qItXS8EBowUyF9YyUl|hhGQkJ987ZVgF(YX7 zeqZmV$Y_qOauz|w)TQd%#}<}l^I@0e*oEOSs1X>_ZnA&^RYO{FH}H`*gnyp;v!DNG z^@12!PzDPM0+Rau!v7ySr|)EHf&N)Xa3*khv7dbF$n`!Lre%^*TFr(%opuE z6NY#c@<`_#aO>3ClMKD-8q$C9f3DbBzTGST2*hw(5tr&KzLum_9~)=@53!h+$z^2u zUW#Z@eNDc-INOGlJyP5=|ASx3FKAqS@j>+kRGvyJs)vA#EGjq6V*3|7aIZDmdhkDcJIQXqQ|kF~YN(=cu#>Ms+d3z3%w z^i~*ROG6u-&j}}WxBQ4;AWXBuIwd$;%w2>xI^HQAUm74ZNTT-t+Niusu>sHYWgS@j ztE`V5Qy8f^9`)XvU(b{twt9((xOwLyi`?y|qf*lTZ1(Vf2A`c>SVs^v5D;qR|5X6~ z??10uN828sGu2Pu;43))Saq0JQzTpXhQrZ-O8DUKg>^-j$zrj6d2MSA!eigHp=%q( zPoiM*ehA@zd+Ov!NV7TBudnubOI6WGAMHe~S?X!;Kixd%?J?I6>pj2DZjaqxCUx~L z%Iumh)Yj#`4;r@hKQFVsKI`fPw=Ui+3&$R@*oMvgoAkOnebP%erym~tZszK`KGfHB z`$&L(ytQ4CpZMGQbzL`ULswP}y4RhS?RaWK_a5}vtZ8M2t#u4Y`$tD?!;4-TG3y_X zezdxFtxr!wg@PZ~8^-TscZ6NTmwWYBoB+Q4hn2dBuuHQqri;hp`6Yi>HZY=@V4vq6 zaUYGknOWb13naRyeK#Gys~gGjp9F6EZu8eq&BEu48U2QLYz?o|LV3rZQAYywj)YO2 z&KzG}@*SVf;1Syh2ACgZf}CNzv5s>5dGV}tUmILUcU(hg#vL!#!+dxKec7o<{#NLY zN9V4m>vEf-ZC`Zaro*4JC?$eOPwjqt^L`JK#YZqbI9H=~d}jyJCQH#-%h#Oi4PDwO z+~ho1&2Lz&u7`cY!?%4e=3ka}j6Ut}VK&2c>zA*4`_r{VSjE(J450>T%aA9_?jN_0 zj)D*8-J7y+9XD|nRLbaW+xBJaLtJ)9S%+=DlD4W`_H6*ztI~=h3cBrwa{?MSf95Up z0c?H77sr{!`j4Mkc)J!Jx9=8?$?fPN zzqQ&v3tDH}QfD+qxx2Zy<*dA^&uJw7ITk6bzLR!tWVF$=8fC*fEcz+K3oJn5q>-cl z%DceG)^AK%}V|7b=Qy+JEc!_x-yzY zT_PyGY>V#-_hZF-F-~iElREg8Xi~TB#&*?{y6s%M&M_CBJ&$L>`MjTrKDZF0w>@1} zlE?W4VsY|bDQ|1z^RVtm?v4$u6{Y|H@g3=uEw}wQ!=|!WkEPvk$NbT==#{YgFX zMoQR)74wFL7ne*lwQF{ph0%&Sl28$E-sDQ8BY8e-4fQ zW3=IBjXc!h^F}mHuMPh!a3p=~w+W`$o`T`#tbN>3skUpDxW5dY_QR(mslR_a@8|1r zeKuikJFxUx;64|^rH}M(GgZnG>ieSDnDeiavrT%Qe4ZP+!lnSi6F}iZZ0n1n2hM{iAlw?m~EA`{a8*IkxPQOxx=s`O51Ui^Fx!M$XGPH32mE( zd=aoPXN_YX=*8%cw^WgT(n%E8R*z}vu0mR`M;tr;g@sI%s0?^2OGFg39F-9(NhjXZ ztYSjyj>N2Eb1-kfhp52UQ}{h^d@3hmCaaB#IEMdi`Av6|QH2RerJwpEKn_gcn6WX= zS8<#{-y)h3AMBj&kVUx7ghxR;z{C0{6(e;eIvi1KhuxqiqUTJ}GWJuI14cGbO>Xec zqNX9lK_(UKt{<1`#$xFi;vt-uj5N25nZ)R-Ii|%UH#IuqshOQwSa)Zu{QqO`9iuF3 zvTotDZQDG_N~_YgZQHE0ZB^Q4r7CUPwoz$+`8?hIy?sabxMSSk_nseX$JsmfihbhD zh&^J(oDoqLw}W7Gkb)N074EephN~o`DTYBuKgwi9ya6N}i*!QDArBdp3(BRkAsXXn z+R`ARRH;3VaW;W&vVbD^LQTL1t37K^l#2YXa8L{-`W8h3$0VdPCh+w^49gUvU7A}c zTHIj;;*r5UKE*Qalkc{uHOe>p+YC_T-o0lE30mWzCMZK_<_3n~Gj!V?jZE~748121 zRt4roLn+#gT<#sPRSM_?akjXnJ-sX=x%}uq=|Jv!dTEygc+ve=V8H!FAYEj^=r!pe zd!RJZhfHG*h!TSP)`{h&t|!Sa9E>UJn_>P4q`Zf$Ql-nnjQZ~zZxPjyAH@j5kflOc z{oY@NZYfa&oZRsAdg8%LQiCiiDJo@On=6VyyZN_;LA=ljHJ05mwFaXwvdyVW6|#d^ zg%^gY3$76Nn|G9ixI)#;n-gDqMy05WLOU#XBG0m-m%DJK7V46aL8L*3JgEv+s-;=d zwhZ2?tBgbyF7R#h#e_yZFV>3gB{z?6r)f7co0!v^RA}^fJhZ8#LH-nmyb>bn3NMR6 z+cv_E)&x{K#phE>3zDS>MGD6|x~46K=c`*IqNsJwhB{--rGyor2azF5i60Uhc*QmK zIxrFgi~WkIPls?6W4a(oq7kv6it$3HgbzWr;KXE~W9IBB~to7sM0?y#W*;|@s>T_!S1!;@p{<|$BRQC_ zDOij~O2c8UlVtW)*a3A;Z==VI>fL-MU9B>>Lin{xEu5AVdh(E}v`M@l55IVRPe$Bg=YG^^}`Q;=dwRW39t&jV6*w`V$LT6zmXSvX#&$-;3)n-B(# zq^bj}ly99IKfK+aK_p0UI%bW9M1+`)mKBe!!K)Q9y@JkELNp?1iF$*(ajaY5mUD1y zi^`%*K~scDg?l&0q3|7ihM*GdZ8oS30AdoAMqjP4sJ4c3!~%3(Nk}oMU0*sGE*SYZ~KKUkJzgSsH+>RwjXoU!8=MPz%Ybz-;|4GY{v5o#?K#!)D@y zQA1f4M5{ruQn+J2kh$xbPk+zYLLhZx6DYQahN6aaQFl=^akHGN9?`*4EF+#uBvxfi zuyz)p?nJVn4xhAnfQ>=Y5v4dI0WaJo z6De@diW07`E{!z1?`5yBvOhc~;d>T7SH1ER-ZV9}z3x>~brvH>6*eEYGaAZXB3g+} z0h5pdP<14y(wHlLu%Y@cblubZsD=&mJmFDN&*By*ZJmsBlGX05=Ms*NhMbfEeDOqL zs{iK7v*vp@c#lKOWq=_%G<1rmP$kAqgT;XXE4MOeav zl2CUASwYecg%9EM9-_k{sEdO5`#(CMuf~C(rD5Y1%7B&-2`NZ=J&`(nh@>HbihGFdVrBN~IW$y_^L zR0^6S+mpz%+pj7L;Xkb86eKiuN-;2UmWEI+m0z%Q(nB2u@XAE{P^#5LzK_@z#fCi* z7_+XbxUMB(PSS{14#yn8Ph#dLqi09Ppa8}}>+RIf3P^Q+wBct*FZT|jsO`MxwZNE( z*3nbmq6;^n3#(lYiOKB-zPj)66#vlXiWwp0G&s*TnogD`fk>dCgEXeGzr<5&T?|8> zyw>6i!tzF?Fol7-`4T_eT&$)=SD(8!BXoJCr$sHNk`=>ON0OVO`KE@(MUjT~w+@=M zmvx|nHjzmT+{kDMIriU*f9-cJA*tdmL6d9~mBf9Y2BNenSWW~ZhC8w>DVte2%wZ;} zYT-SZgon8NLKzWnFCCwCn7rYtxtHN)+0sqP9z=x)UmP;4M8_Q+!C@y|Rm)K?^)o!; zJg%s_sbrtCuf(UU@J$`F!|#7#jpu3o zGfJ-cC=MoOoGJb5@;{ZFZ`gRa#dw|L` zq<4@=iFsxeJ6&}(nAh&E#rN#0^Rorl@22lCYU}=StN zZX8Z$Y6~Lb{r%0$~3%QA|{8KlfQRi2D`>C zWa7?LJ!kDPw0+H~M&=tIUm!x}0V3gGx}4nkvpWm#-Pv;@z^<*tj`TjWBFAn_Oz_2) z|4Rbku}dD>1WHMdbqr-y-Et?TEv9y4H>)kQbob>Z5+=O%f%d8?LM@rOKXZ>adV z#^l=v^QXh3ZWe&aXg6%a&pEQ*)$`?UuS_Ou?I$ngl+B+qne4R~LZD2)Q>RQ{OO_*c zrBwm~w|DhUfG8~YC*8&4+Jfb4ou2P&&}Z?S$y$LT~GFNei`OUDSgf!bzAUbE{|p2 z`{(NIJiNb834Vp1M4G{>5^VZ#3Oy@soWQay={f&oI|ipekkYvg&9Eh0a+BN2emQM9 zU8v2mebxEqI_Jt`^vPnRJ(G`FBcX7zw9b%i;p4>xLUZkquyl6mL+IAm04b+-)%w8` z#7FYExE{f7=9=uDphko1uppo7HQ)g!C~E82_~}*;ek7;ud;9rcBaT)%2GD$8e2FD! zARz32MI8SXs~2&1{-REp82>eiT$r-rm5J0Y< z0i!1!f#~ufAKy)4C%uNxTQo5o)kHV$GJME1&Tz(plu_yld)N;U~xK7C%Lpt$NxWJ)UlcnC(9Za^)KoDd& zysYIC1XmWDn5AAT9MU|yrdG%opNY1)-S^gJo!sd%6gq?ihtZ(#16S5*Y zssXV#^|;j~CY@4!-7@$3U7QE{GF;;{^rzxaO}N7GUo;_lZ!+(P6)J<~0PdjzAt%)J zVW%h7A1#pThP%%V=2#UOzz$0rG2eOD%6GIIb~zeht@k-WKQWv@r^_T71e03AX`P#g zbKy>!r}5+AP@BvhFkMkeJvwTTeQ6vL@S``y*4#+z>~WKTE8FsHGqtxU57j~nvym2-$SYX;_vhg{TnCE*2Tuq#PKV{{WoPnXTx@{1-+AT z+6@W>%$$(|!%tYUXOh8qWmA@^o!+(hxXF+<9MEhs?8tm#@(SU*w!XxnIA&d2WIyp1+y+0Q_Bhv2dg7`IfpWKxd(xCtR^zjwVrM#*< zt8h7|H{0aVez~gAd%wSz~FLJItU{ z0iu(?JHY2p{_>1Z zGW8VUd$PQGGATL5k!%bTNJO=d1RZavf?&)B{(_;N-pEdC)vL7aWK77%9-c70uf0T! z4LkIoMG8dD%c_FFGZs<=AS3M$r)KC9Q98Reg~!_Op54}tJm#(vj^+s0DBnDqYE1OZ z5Z`KUyz$MZL{*$qdH7&TGK0IKf)^p;`OQ4xQqM~Co1zh5bu7+zl_>T#ihdjo@U&l< zfYZ1(eb2K=N;9CWmAqA2qd$}wTR`zw=*iITe+Z|M8TK<rMb-zNbaNNQa|MW=gyC{FaKUe6E_F)lZ`>TdPD@iUk@Oy@Fc%bD*I_Q&GQo3D|Ej z@;9a3Zx?5VnVKakC)!Jwx{`tgqlTDkCp24CZVN#c3qn`oo8X2-ocdXWrmc~s37p%L z5v@A$*0fC@ckPgPH-0mE!;QTNkEi5XpwApmm``Hg`>u$o)~Xu!sMe488Ja6!e6dZ| z50{3P(f51*XNm$d=~bP57FmoNL{x}Fo_=4}DDNxSu3#yR>gUIGUN1U*xqf~?8^JYg z{IlbrAon9IOG~M?wYV4K4h*15Gs=92 zb`X+DbzM-Q_nyjYgU**-J@##Jj>NKW>tiE;fOwfkv{=ksh?n;xdt<_^l{}vboC@7EQ7V*mHaadOp83HjANzF*ZPr{(D8qs( z6av)>0p8|OzJiu`qHvVy$B)Qp;6S{F!>zo+jcv_LSEX+=X<4qf9)0VWgp|K7Zf(J8 z&$=Z*H+gSMdU~ZqFr~dgZM6VQ-R#O~>e{Ml>T?9z#nrq?b3{eFgZkpur*X1tpg7H= z1aFS74+8M#OpDD!#vIP@=P;jV<-FEZ>jytLpB5gf{J*BE@@?S5kn@OO-8LE_dc+Oj zeVcr&(q0zDDZn%rv9P~$P(TCmT4iN*eZ%9D?cK6kO?lMSSu2)Ys;y!ZovxdZU29$e z%!9AZLNv>Sl4bi^X{6Y|RUxc3&%`Z)k7>fw(GDWgkF}*RiL#q_tIFE0i1ry_(v1a1 zRGZ8(lo)7aO5;U#Ck?wMKA%UCv(R^y1FDMI1OgXmq~HiOzvu+)a4ZrF&W#0Z^`e+u zIMbtHSj)X=oTJz|mc%G4!}WmUdXt4Q>$lS~`my=z*h-VNK`J$>m72P)sNWp!56@fC zDjqQ|9KIT2$;kP%_JY$Y;^)Z@fCB|pv%5kx><;uV9DH+_9ig*;}C6WoW zR`*id%M^cJoD@pN(u4dN+fXh`lXF!l8d?N>KCmrMI%01tQ@oGJYgv~`{!=JKsUlhH z=#G-wow;9o-zxET& zlHNS)az2zjFDwe)1(H)+N3kZzsyQjpy7%3WEix?f1bA25i;d zBAafT;gB`*a>*7|TKi0<1y_kelp&&gc{W;f2@1Gh-c*NR@@P;yvc(i;rMp^w#U z092<~vy*gtJrK+H;@}OX$QCm1EiC;s$yaEAD&7?gYey|cMlPsu{p5_LXfY4E7UP=q zC4Xk7D1pLXP?x<`px>c0b7-@aE`A=o}N z3psbAPjTT?657r~dcvXotF%N8^$834t36{9^$b@8(E3PR6ub>ak{*nfng--prh-sP zg1kJbQ^IRXBY9?MXq8Rxlf`HIEl)*64{RNk8SlsA&->AeBFb`1#k;*Nlyeke&;g z1Y)`E=($^)+cd|qL41)=)Q}{EU2Qeh8ygp;Qnb)oms}?-!B~Al(nt&*@Wf>Vls$VC ze`;*I+i@GfMHaKi&o{PW7%DKHr)Lh#bg|EzkfsjG(Ncpc+#svE3}jTRfb$QMcgBy- zAb@MKY4DWGXYMfalr%+3juzw>UI-RKI{JVwQzj;sy@MT|GBN>{rtW9VnpL1_aRRuC`8?w;&l5VDlt{#RMus5djeBDma0IL}-+xzH zv>m#$vNkEEKO?chbv1X@uMoMc%mhzRoQ%XUSf?n)Z9VjwCZZXMVX|iyB6GLZYDl8{ zuEA!?DEi~;EL$gBo*nm^QWq`F_7*Q%xE>2YMpKM(@zH>Q-SpSv|LQS#n6NCGw|~Fk z!^N*yy5Ut=lo43FLOigBWtnCOU5rCF{(eln9;zWVFcUjIt^w0xax zPQd)K6!u*^KGO0PwOEdWKv*e>+Z9s*!}jKI8=bZ4W5EMB71fMni@jR$FTDmj3I=*q zl{U%jWNDbn7GFt5G}U-2J^3P^yxLBAb&*~_)no+ANt#BO;I9@c5i%+{U#<}xPHAiy zg*#5;*w8VDZ@HaPX|lqCZ@Dbi^sBG!0UKP?JyCoul)X_^`zZ9`sTm4SAZ=@KBqT#M z-U?r#G~(^nmD1fN76L7TqaA!QU#+5Bi_4m5i>9{ApuKs5m<~^2cXNxvd7}Y1I5@9Y z_Fxr2Jxa(^uh0$|>-_Dq!oboRg!cEdN=Id@OlceUb*#|BGGPc6!#U3pQ>9E}$%cg< zuD!>Y;cWr9%L%d`ph7M-j)htJehn|?N-PJiPEa9$!;Ug9*?21FJMt@q*3m$5LW3Aj z2f_gThqUE}q{R^XY>g*pzmc(31v`7qex`;?>i0|vQ^qt?-od2^nl^3rLm`QIqsHpe zT+|No!reA;TI$({&6D513c9{;NO8}2L|itx3FRtnoJEz58O_(1=GrFb`|#3?h0-`}ufVGX|Ib3v}N$Cg^MK?(t)A5Td zUCH#S$>6H=p;yV^D%@eTl95fot!il9$+%~^luWcngIJ;DBb0KN7#0Ix2G|+V6Is>-vf02(_ zs-I>3_Eb%SRT9@(0yB8>kablQa8s6j34$IackY~8s_!jX(k=kLr^LMhPJ@-ReA1@W zgJr1#C`M?MDc3dVeB$HozgHp5I1_>yTBVFw3us1*OR>ndhzXJoT-mTjb?7DK>xV*y zp^L){9LwACECI|2K+#B`Q&vYR#+#6Uf|7Ew)1bqMc&vd6Juhq8(y#&5!zXlB3o)oD zoAMH=oI}t{vOx=>0dsTWQVubmy9<;qhiafjFp+n&qcIz}hAB`eSua!dKtcehf|@~m z|IEgLDvA`hlO+qR)l=ueyi(f9@e!#=qeLjCM+4Qz71bw|my!HL3l;*cw-x@7U)|3JB`;~BHg$~Ne=E{1r?G|= zrFGCmRkBu4%G1c5rAvAMm=k3_SLVTl(o9e^2}LNavEq|LM_)r z3j?T$h?C1tn?^W85|l4N!r);dbSq%AN00*)kJ;(ihYc&Q>55>7xl;`c;p$9QLW|0G zrRpWMa7<*zmw^Uhx)hl)pQi^x)S;l2g)vozBunkXjhETk=}TeO%6q={t2C)$rl-Kd zhN)3>p(P`1vG!%o5fbT^e9BFuc{^B%&DS54uu1v3rv|3B*`8uGwrLc)MnU*dYXjU} z>AN#H!p&KSy#vlJ|Kwh8L`3<}caCXy+JCwJn39=HM?eAgIrJqq`!9;KN{P7})vu5e zCJYb|?tcv_IawH5oBSiFB;%A1z#F{cZrJi4(E%+Di(3BPzH!rWQS^&dcqEBT8U?)T zonkmrs~NvLGWX{BVCPe`8IgP}izPk+h5*#=5+u}~4rMf!$=%1}XK=Ry&JCDJKq8iQ z7zko}4u5knroN)+Ur{C1E=ie|{3~n+xcG|FVFx(Hs#_?bV5Q!;43>x@`Q6+jQHX&Z z0Ve<8IOsc_sj5pyYJkG1^=H@C5?h1z5Kb7KCwv}8!ZdpvCT z_y`q5F)yCdj%+gUs|Cz}Zn>7CYS)@Jx9i}Kjgs$+6WA5H;^lvwEnpWo zv->KUZb@Yjeup6}-`sB&XDpFhFL8gg)4%}Vm6Uy`tZhj4O{PVhartVlD{`1D-Y88-SaQCK{y@M_Gjbe|=i z##njh8IX_$0iWTADM^CcuR30qF@xso| zq-`uTPE=&7opb2AbKasEmqMd-peI{oLtN4_FF&(k1 z8FvPGcGPQCFdE=ambp?B9P$=Nh0q{VuHUH-YMDTI*ODK$dX{HI49w{mY2kmyCd^ByFi+h zBTyw`kirl%ciT|p!c9E9Wa5Mfa3V{^70c#cFr-U2%lvjwFa9+idub{n!!9;w2o@^w zcyIp{Eb3HEr+Aw7uPQffQLvsIV| zCvkcgC~9=+CLzoTjZr_%Iz>&K&k2rlX?6?l$5)g4D zf39MuW*dibCj#q|W9<^)3_AL0eBG$hcm(bRz2PV`bx_jm0rFVOQtBg696kaal{Kdo6qTbzbbbqFKkhZ`|y`e_*p{_DrMpP;dfxvIjbA3_MdC~Wys4SSq5`~g7l8@@fZ?`v5miN*uY z_;%rlv%16Z%b3yBT@Tq(rem`Ygo-6`}ik_<|^MC#9RBI@W;cqy1dHHCwDY6o@TEyx4csN_y`lR}Udk-4Y_JG$k zs(uF=a^;xJw1#Z<`9%)@&u-2VR*5L+>#dvo_167M8vD1-+up>^{$FoeExT0!+Rzr| z1-Gz=os3W(67a&jCF<;as?BPH144hfT|GX?mM{B0$b=^OPB7W>k=qC7FZUbgZMx+^ zcI5~Ytc}=SAh399^mdc46(}CtHL$QEMIzGCYT;t_drKCU7$ZqC$Y2T$kvM_?5_!YS z$cRu%HrAi?r71nZjw?UgB*TS>gRRPQh1!s1w}ZR zlgprlNF%k)_U2d$cEey3GnMcWkU!RO2NiJHE~7I@YRbVqvA`V5H48@ovwpg^Tv2Gh zBx3u-_t-7iqvmNSHyP~91X>2F=JB*1OWneZ-cu^LAyt=W;Z5cV@SRwz0BI4wfFrV0 zWVZJjzwID9q=Vp=po=i{X-5_|c2!*bzT3Cf)3t=v-&p5za{_}Li>k7ANnOsK&?6h+ zgz}2OneEobD*|Av+&gc7x3FcZAbOnwsXeM(RVytus_vQKy_?9x;ZuNg+NSf2_#3LjHiD(=O+k%(HlX_3B7GpoTzZ;EPt zBdxm*O(dwS&tu43U#Iw*zDdqZ$|5_EA_Q`%o8wMQq&V&3-C$$J_*!9Xba^r;5r zH|kaKD4!LDu}j%rH=UK4G^-?s)ukRGV_9H_AH-kKr*Hn#xFWGKhjzD$expaDsFAi! zxxp>t%l7REJ*|&!aBpIdD&|`zB-D(hKh7^g$)}VOoS2?S9_Hix?FD?y8eTo*O)q-F zHxI}AFFgJyVEf5m1=YR)JNqTmM*A0F-AoLX{!Qp`p0@RcTBN^F>lgM%H-V#{tW>`2 zj6!C0Z1EBi5JRl`PFfG2^nTxfDlTJDVwwSgh>X&?e!$n(USmyKZTFJ{mi=q?aez)* z)By|0-$Y`-663@B$uT+9pItmDOhV9fC+7It^y8-Q-nET9(#tT)M+q{8RcxOI@$y{Pf z9fuc$@jK8q7!Z@k>Co_F)UfFbp60_|cg%OG*ju*&cOadN`co0$&{k0fOl)OhooC_M zn$pU?i9S%qDf@%x2myjAcTy{lF30>D~T((jNbhlZg z=j;dU- zMi}|Vd_Xv1*Vl%&ev9PMTk?a5?yEm;v`(Gl{VHR*Th&ux2X!42+*fk)UbRCct32rB zGm3$@;vsw(6mxh2i6)4{Abl7_b6k1x+-k~F4jf=2B!ELIjt#5x>9WzNgEYKm;paZP z=0Y`a)~q1*`|hRyK5=9o2)Ag>kh6dfmUTp*4zbmN?hnz(9(NvX3NzJ4rVc;D!><3@ za{@*j;%&dK41IwS83+p4*v?4a(azq9(a6s6?@QjHp2 zs-*$V-mu^eymC}_)lJlCx3kvvBTq3lKtn-r_P{aFhgh~Cef3hpN8&y0!;W@;*aht2 zIMH&m1{4^3)fWA!&o@FApG7cc7s%H|7)`|ptIoU2%RN=PMBd+!KhnCYS1Upk+1hu1 znA5oL7LNHBKWV;(@vI>EA(WU~m7|Nc#U_^dD_AOS$K3c@MbXh|By~o!{ycS#3Z?2IBP3^0YwvEf_n^ znJ=Ik$ORRnDD?P8b$QIzEcmdz$?l(oXNzO6Wbm8xv*#_*OA^Uq1fX@qRjPJ<9-a^R zVzQ3Px0_UJBjmPs#U5@zH#BX!J)s$dU=CDodb}FQ`olq4*JS{e07c6+``Bq!;nX6u z+L_(uAAgK9$Y4RP2$X>bqOqa&embnYe3H{QLcOe8xiSwAnL|XEwL&)Q9(si?P2?PK ze&)M;t+7#8AG{sbdC~m*jJLD0OU2Vn)`d5|)kyCcrH41d`a5&iO3{2vo*6AS{h?#h z7?e)NjtL;pc7V>ot|dRK#cI!$LV?)eCFv=!1ZmrPO%+dH+`tJTO7Jq0rU^q(SXZN{ ze&KvlkXj9{pr31;B~(YxjU-0<9!{PVMeLITBeGtMm~=-0)7VkJjwe6gk;tjvhT0Lr z#-5zq;VLj<2k8SsfMGgjGQIp_0^4ha%jq$goIW_?c1aXvi2iF`vf6vSF6sK5Q$FHC00kQ@H@e0)}2y;L;6`cfN{ zwn6NOzCom4%kPmp3hR*?0$pyg2EW9QS{ChXx?L6lDhM3qbQ4{ZH!Y}UVtF=sYhQjBdBcavN#a+m6Q zs;djgLY5JlS=a|ReGs@^hO+x9iGBFX5ePj=u8uqEL;CtCfCEHVWz+rp&ZMMZiTI%A z!bfoS_37|VU)#%XUuD5|0$tppOC_vJ)fwSKYw|gp+ihONr`nw)Z%cTJL{?H*Y1ihc z$5xp~Vz&hHSNmCh_F?sQn2nDiH(ld$7lik1a?uM3e*>&NN*Wp+iIEke}XX z{>;_AeY52^y0UYKZsxex8&lDtG=Zc%yg^mhspBtCw$oMk@3gU@r%|9^U-d!!Rez}e zQGfqORaY4&h!6lk5~&gL1d3o#N9v9{R+Y(Uaa0-wl3B%`je)SUTR4W+mOXq=eO9_s zy{hL9GKa>k8-a}%S>!MmgNhbFX>Y!y75Sx4WEwuGejlBdo+>$NZhFmi*a%d-A>Lyp zYm`P7UBFgL>2&*p?w5$d=;p)ZEZQA2f4|rRVKNA0h=Kf@{mHqN+hvlD2OnIDQp22< zy^tC5AGS6$cYm=9)GYOQolZt75v?)3orf=?+<)T9nV-|M_p3grzUqVEt9$+*JpDtx z`xmPIu9d%~yZ^7V{zp@anyQQVk}yMTzi)5$nA>Ho%a0fnhg@3*(wEqqk(P3&RG0!ctl*ht{=aYr-eSNnCjTjj0VL+Sd#>Z~nI1=;f zACQE;IY+I?7iI@U7TQ&_^##5vWejea`UUs_Yn>$&`1eC`6?NGwAL^!LWX zk$>mi;bxC6aBCrTgT^`#33kQAfGMecGp30y|K%aXv<=?3RbCbW-DY(^=eO}+Bj0{a z&V6a*KtP#u!2dG_cXIZy{>MUV=Q>(WYg`GwTjlSFH2f1h?v;@>B@`?sW2#vh{Wrps z##X4>NRLE; zL?1SspZ2xl2@7^&VmIEvDY9>=_TV7m-f#s)iQPFfb2GEyKbI={JX*9l!@u2nGkWmi zJiL}bCdnuVOFcauPxQEO=rIb$Z9m46Y=4h2Kw|7r8E^Tmyz_t}dPxIw^ff5@3YP5r za_%59Vc|%@qW|rIHn?N-2Xh%qlXM)Wlka%XkN!QXCmcI4uYcPa!8iSeql71BJClcS zifzv+0dpN^y4w$0aA(eWu)9tdmbXo2_PGF|VToNn4859WVkGgz3VS0zt zpW{%IJP~24L$M3^4PIyTo^rM^ePc50ufLVT+H!P3#7?ft8Q!t9#U9JOz<#np2a;X> zemm@UntHVdxO&@RctBo5+wbl(KV%_7B5tCb&f~kE_`s&h{s@a4Bf^NBGHTsMehIn) zlZ*S9yWz+Cv3>ojZ2Xfi!-HY}SU7Y}>TVagiu5_N;+f`MMDid5S_Oe-J82nM96UCs z@0rEE1e(m77Z3uo z|8K#c;MJYTk;I;)hnf|Kt&>gosmw3a=1PQIoAaTv?Du(dGCs%FUthQ8LjjrW{QKYx zjm<3`Z`k2h*o4vSIJYxYnM{Py4A{3br4e5V3ar~1ppCRxh@nAmRsh>}VvrL)3}m!3gotEmZIb6>I`qS%>hwp1X4H};;s;U2-4i`TR*C~_x>6>TOY)e)ypbV4mf#7$E z3)t=;I#7??b|291qZWpJvv>or1eYK!Q^-tYcQ9nA!)^+J3#R+uKz9N6j;6pyv_~U2 zj7Tjh?XeDx`RmlV*)H`0htmx}r$sEWy@x8W_*R}DE0LLx=!UcHny-Ad{b!R1{eYT7 zK0edA^?@Pl46mm&87Ih`#PlkL{B^o}v;)(!KB{k0@1oZh6`9dVExRV>3c-utmlQu zKG>L)NdJlV-55^m0{rX{pT@qSNSm5p>NNRJL!mx(*CEXVc-zRZV0#m4s`OHWa9LxT z5_wTJ*GC3N<3!VhLri+i?q&7vCokZ7;kM2{e?-8yfz8lCr`--^LbtzZQd~g{CV< zytiiPdK}PTvz`8Z3zu?M2lvcA5+(NO(UIPZxKy7ar}M) znfAUS3(jbOgx8^Ic~Mk!hh)nBKnKShq;#yg3$`K6cwHHlm$t>l@a(mm8jn{cbJ2Xi9Ap=MX1s(yCFFmWO{!&LB2)9-={;MpW*J|1H>YFuN>P^GO z=3x)v0p^RrUCYCT3z3m|6(sg|D;=ztGZUmWYo99+H4<^zS6sL+y+TNn1^a@7q+9m+KV?dyD5N5rr!!fO6l3u|7Q?VE+!a^ddHP8 zIM!TG1S@V}8AClEugPv^h2q>A`WZ4!qXK8wq(K*hIX~tqG_Pn~lYM*pTWkN$h{%Z* zB5bWSf#}xjBp#j67P!JHMJGv#88~C#505s-LsmJ)4p-glRkJIL_`Bjr);`7#jd{mE z6tJ_;OOr1}HDxc)m8Eu_KucPT8X^bLNM?Pfj7Dg%jIpD7lO2$Gp%EFQUDQ6ejY3u| zQ|j&wLP{*({yK28eSdMJ@#s;cbRD@wKlz@qglh{jg$-# z`)msbFE8;5a40YF4bb^YNhXpZ0)1_*dhv=b=KB6h@x9|`)C@5Gz|b%<@DgX{L#NW6w}uD{f@~W)s8|}F*W#yhk-g#P?6-#Z_3Kg?_3cyPGtq9 z%$Q$}+vn63Ofdde4`?dB|8ct$20WUI=a#&}!Q&ZK`FPPk-CxT7^WnyO|9?M<%Fp+I z6~XjBkAyx2$u6&a;`3c3d8_8D`H>CVjE7?t>l7aekQU!XMSu* zgaBwrET@K_fmsF*(x>gC#r*APp!7(eOpYGcspnJ!TS|SZ{AXzqTtQu_2|{sx3TIk` z=ApdQJWA$Eeu~BdM$`CTm+_MScb5;)F<%NQ-wRcsW-Do?{T zBNC%U=$!!QP2)XZxk5GbQ$ViMHtp(zyGfe{^e@+FV8e+O&X2L zRA1gC82>VV`TaLT`@a-Z#CVN9)hi)5SAopXy!F5C8kdb5X$Qver_rmYL*044| zC0fPfiEPU))N%7}R_hJ&3WuLGVPottBAAy%%B{ad^KX73O(^Xv^MHC?FSToYsfEwJW|{3Se7WVyS+7>4fBJ_#JJ{Q z=IM3mqOKrGk2B>r$clqF61EScsAcFWM>nNtMr5rWTbie^`4}D1VD9R|in+-mrvlJ2 zuZH$4dtOt7q*JvZh_YMc>lLR#+YWmYp$X-L0A|Xi15P49c7?q)a!{rCf^E=rN{shBNT z8YZN;*$(m>`E?~`Lt-?+0fuCUZC<5{$V%(Uy(q?Fx(cDqlxpqGu0c|1={;5oI z9eGoV-}Akl2q@S0Xs7N=p}@r_XUx-^-5mK^+C&-m)NaIK6k>-IR{66WB!S1VDc>rI zp~N(iX74#&1vpNLpvqF3z=Xzq9tD??bcZzEXH05cw_Vl+-4)&~pmo!{Fn12(`F{a7 zqtY)Q=UZ^=bC&@%k27t-Jd`>%1@R7+fi9z7v+)qf$U49(KN-f(7-|e3!?icVBa7KO zs1V1*EV&}Nt@`vUz*|8(q*uJWKeJXfaMEOW7*|2%Tf1L62 zc*}boV7}vZKmItO#ogv!3Wyz?aqV{7^tqn-r3FHGxY@I_h-NFqBc(;#-#}L}2bP4X zDX&<%416H+C@7I!OD=DCX*Wr-8gPu4-rS^3OpJQ5eD zVEpxD?in&(H33`0>xFsS60<6lPexJ!C1sV_7~Y9l=0^qsvw2)tS?U466O1Y@&F$e4 z#Vh%fM*d_pF6tajLEv1w7wj14hsfNqa0x>5#Czi?%%$2}bj&yd4LU*K5|=0X4z|!3 ztmuD2AP}91tY!MiREkk=g2|B^BtCv0u3@&s+0!FE>7%NapaZD{~>FRU!{tk_wptBpUp@>G#o0rTpG(vDk z+Qo_ty*>N*6T}-7U=lcJ@qE+ zl&Yo(WZT*cX4|P|fQV>Ma#?Fs+Gxc3`uGUVb5w>25quLF7_|VfHs=jXn6GCiVsW_F zFgF{?wlq z4^}STY z-O@@U(jeW^-67I2L&MPB-8l>h2uMh`R?ucMKZs^8 zcP)5Nbn~dSSumiGd;9iwUPGUJtIVD21j*y$?#hTtoHo9M-Pt9ox93Jn!!RS85OF0z zqlDvLH?hO#Nnjq`PZKh}3#{O+kp6Pc#}jnSg6f>PWq=P%&ykJQL5)J?x7p$;HfL7t4DiJ>S| zF&Xf;Vvz|1S*FPIe;~F?ql)IqoaMvIRv2E-+AzIMM^&~saDq>`}3Y6L#;3bWB`M|st zzQ;$06XaX)NYQ8Ywe!~W_AaQPx@Tat;@0r?dOOYWqQ(3k8u=gS*!h#J$mN+!xT-pc zi<~-);h}{MjoF~H{AuRnX}xSTmwtTcx1-_1Sm{Gs$qw{e6^U$cr-6fJ0)a@;n5=T} zCH-2h1cnf;K?|eO%fV4?#)(awrs`5t!mmRrK>ZQ26maWt*RPYdqm5lRdPizKvZbfh z7d%b8q%lZQ+Ee3Rs_7yS-IVLgRm-?FXn4PZS;I*h;N(2{0H2>7`CBLs=Cat%7saw{ zV@*kFsV;)=3Wg&+LWyJi3~8S4`!EW`&UL@o6ca&JQjZixjs`z?>WP(8}a z6PzpT8>XOVmF7-I$kx>-@{&DcCPt6nlUMBukLt?pTclvg}2L3 zYCpY1=2#qErSVk1`8r#@fh9t)E=(R012O1qw(A%x+kd4-8ZeM)GihX%6O~Y_AdPuc zI-tuDFfxlAskr6P(?T#UqQpluJT;uHWqY&^Ay4N;d}GO9>4IhhVUoFnH<+kpMoop@ z)Y3mu2G{Z84u{;7w|HY(B9W-ruxYl`xpeS}@-d8+7w?TIIs&kf+Ags}BRy0juJ=)M zfGx9EsC%zaNnU=XmRYjH<6mOV8Dw$sCV$UKA{nrGuq?!+ES6c9-4t27-WIu5KkmQ} z7(43HpHe+CA+lG}a^@z>z(&m6-xkHHEzd`w9ij#DWS4PfkPgXiQi^ZgClics+5Qq@ zQ7~6DOsA(?Nr~@*7t45s~uU+znsdV-Oc9NX- zE__dBugzJPJd=kcIBvaRtZv+(bXwv{)AXAn7WUc;?u=@_J#ixbT=N=d;>wSwf$Ckk zu`bJ4Oes+dyLt(rNa;!)?L}01*A@y>3EtSrK}}4eVB<^6+ytNCH5R;f2J>W9e~pTk zV6Q~0tUXs<9z+1gQQJ|;{k2e4iC+t+(7KUY{R^oO`dA5>AM+gKHkA+%h0Su0g`6@{ zZZ5(w#13 z5>Dvu)d1oy11fZ}E0adoVKrU~q={^BeengoJ$Cpkznb_3us^Cq!i-5$8E$H~x#Seb z$7mLrg$p6kz0_TjT?)dgy?L8+sn=(udhxV}iWJD}ZHDg{_|aVTQ(IR;T0P6bONoAw ziAY>k=%S=z%jPbbVr-2QM);&9*CKd1q)a?n-6*0e2&K?_mf^Jq&uLmbIwBMfzq=bsqMrZGzwJSYgwKhE0e2VFYI|4KMYFp7%%xSI%m zhtI@}uo=AY9kJJyg_&&p1k~u*iI23Gh&iGKTB=Z5D&PM81zA~(gdwrWp*Zfi>0`;c z2>5vnlhL=`Tb!5fL0;(sFBQrZwVs!qo|jEh`;2M=lARZ(a%_LDsAcIX#;Fkh9P}2E zc4iCh_bG10O}Y_eF6n(#urj!-IO%vGu1oB2b}ssy=X1BWRKo~-O?Q#gjuB$Z8BT~M z#yDoS%|Q#;4?I%-h|irr>uB9Z)FzOrwb&0)I4P5KN@zg}50`w~0i*|Q&A?w47}#&Y&+Y(iTz!7hwj3aBn~k+e zC9H^RAz4XZ!4map%jG46#|HPa3^wfw$=|=wRvpkJ&x_mg2p45rQFkvC+SJQb1Eqvz z>Sfal$R@hSQKBu1ywEEiy+6he!Ue6F8zVq061Optbx0ts6PHos=qNR_U)rt84r`(0l>r?y2eJ`RK`Ji&As)qc@j^*IvS4?WLoK$#09JTs`R)@ zYTL?q)H2(vP9#dTyD#6hKF1SxT+4pFF>{VnzU}bE$=V2Wf%w{JOi~eQuBbJ`AHo>r zuAG#qVd2tl7!=6^W-ZFr4fiKIp@-K(WE$VM;hUlflysuSA%D@V;<5J7*Piv#XdE@G zb1u!@FGyRPQT6ZXo%^WZUxxW~Cz1{C?wMN^PDcVcEg&y!z_n;{p`h|7{OO*InUE#U zO`pcIhH>8RHeh$=j)_D~eA@JZCWi8i?b<}s{t)?To}L|K_snO;<5qgt`*(}t z)JqtWd&iEu!z&KJ%Q~(e32-S=jPPMR@grxabaTOCwRF+aP;);Oj&Jcm_V+BlY z&)JFZER?p`>=H~Q`KFOPaWNq4;`&dsx&WElFm(;Nbe6-CM9oslH@Evdrj*whBMAv3 zB+AWrUJ2#*=V}_V7TT|pZ2W>i1I@-?| z(B}N)_E^4Byi>Y7Rd&Pxv<71)+22IR<~EK9=B}dEIIiX2C2=A^txL5T8o2PAW@;v? zfqc6@8@~7+1hqv-&(x$HBp`dlI;B77gDX1yLc_`I-2Y0iB`!g>m6Ib(L{31sVQz8u zr>b|$^c7)3h1*JJZLNM@`{j*ui4?{QAXgD`3A3h-+qY6_mJ+80V4C$4bWEuX9fC=2 zyOxGr(!*DAz*01-dLl}N7ey8l;YN7~gFBFDDMq%#JN``1SSy80AaL*?%rm~4+qQjv zr*CDJ%JFdq#1Boejw?DY01t(Wit8wQQfJ2yWSL>4V9dqZM7rBh;9RnVkt|qfkH38A z52vyp(Hw@qoNo#?4JH$zV$ir}j~iiC9~MkK4ZS^I#!R#l(dw-k-x0ajTl%m*39(s_ z26Lq)S>;-SZ!9Xs_jt}2Z_eNhV~B?`(|HFk7g+bU;X5mr>KB}H8m;SG>~n3w%FT(x zga$9+rHo#$e^Y9E9aFx;d01-8QtnBPODpo8*tqJ^)N3-W;YkrTzDiv|@|xQ&!M?Qt zlZXK7@X5#ec0`Yib1*F&Ov0-yT#o@eVWBJ|ay8Ke-!{JOGe2upP^uP;EF^kUG+_mB zqN>}xm$$^n>KwJ@Fm~>4sWjxQ`K7;wao#_`X!#x^0d;?)iLN1>j@S2$7e#v~lxVpC zm|4Aey1Nc79K1DzbKHMkL+0n=Cu0s$=+LvAwCrD)&ohjcnuqY(%5|8SJsgRkkjnnJx`Af}o zzg{~RTtM;y7h}I$kjGjPP;S&o9dA}1UnEqCqvMX9JB;JIBIX|9`32g{kyJS|JI)JZ zhgtVY5%_Zn^2gh0pr+Ikh8BA^VlH~7k@3@0YURC^D7$(rS_`JnZ{73wT71ywadC07 zgJS4sL6CcJIC-Rro8A<}wR9dMDdlPT9S8Dw3S*T>c^GfSb`4YpkFn9nDR6`I=;shU znjv+GDZXB+iy5VlZz}pV-4E(^VNp?OpCQ4eJqQOATcSu4_RQ62Y>8E~B{IUn8RN(s zC)zI+Cu?I#wp8^xZuKeqq`I*Y#fiG3Jz>+nHpPYW20>+>q6ps79|BC)S+{~%o01hO z?aa-UoRjv2Afi<)CeA=wGXg;Or%r?S>kC60Gw{~VY9->~k7GvNjF*JF>wwi~hOytD zyu49$-8^nfjg(q%8f>v4mC<;A zmIPFoC0@73uOY2an=!v*}|{^z}jqFZekjNSJN-! zXC3xGFzq>;+Q_2Hq80?EmExCc)}qTfd`a1PDi#a0($>tO9 z!*B!KRD0h8g^g{hUR}uTupH2>Sz0L+6GfzqTw_`(-pFcib`ezb>E3`&96{!{D)*|R zsEK1TE9Rvc#n57%T?c9c&~qXhE!zH_S!EJaJ6FDEn4by80!lItuP)xUP|(qAeaKi1 zG(35R`>PEbga|U01G3VbBMZuFYP|Icd^Vl4NlIn)h`^GakuE!R?zZ}lTcMAT*4s!t zU*^sPU)A-PE(rcf$D~=rWW3mX{O)L|yvTfYhQDXCD8*CJ+vrd6zJlT`?~8u+mksu% z=I5zemmC@_2lg`xEP$g`QI1W{_GN5q%KbR?*Wb&U$h9HkQ+VX_7ih=JzohWryESkLffct7uODw?kD3h*;4L1BhH?lzuXo`)Pc57W*3d&T?K)=1 ztuELys;@giBweE^ZG}wi{DS$&B3j=s^FCaI2aY6U6qKS-Xt)JQD%YHyXhwtkXt-Ol zAS-C@CCkE0Kd0|{BxLka0>ZszOi{WV%`9ppB+a)AsP;zZrtqH5xIVZ~MTk#T0g}TX^nn|V+J0dpN7`zx;;a1E!)FJ2P4AU7)4}QLLw6XeA8#64< z?weYl_|2;v-7a6Q0}{IlmQQa2{8VPLOguRMcGav8*bkQ%yuZEk zS!12q*aVEpVayS=UW?n-_b=yZGCG=7_g0Z8^dWXsOqla=6C27}iIc~M+R*W5{LoU) zb1pxi5V;wY`53r-e0olMC_qeR7%l5X;c-boD`z#5cqqv975v#<)5{D};Bo$}5xa1j zfI*cDpzE;Nnd*X`h83*=UQO_At6w2C0mPaQ=D+p~-!+kE*{Lk5mt`!>k5Hkk`sqXC2f<`6V4J(_)+5huxq5_tC}^e+FMk z=+NjXbkOfVzLb9_;>no&F0j#!Py5SFB`|f+z7F**mvHQiI)#Z#uIDH^>2zx-t-q9pBb3* zXkTLHRy3=N@Ulw>L^SMUB7$D|BAy~m~44IDJ#O4n(kg7xH}~oGjQ8Zc$F`-Z zPYc&mu7l0l23-;N+J?%S(tW(9!5f|LxfHCX(^&-#;ko#Ys3*p|K>o7t6RJ#9)!z;#Un)dQueM5F0yb1?xLhb~=AybgDO8aw$}pTE>pz6p+c@%|J>##I$O5Og1YN`Q zJRX&G25=zW%@KsPCDfhj30*W`-bBDdlnRUW8|H+SrE|Y9jk=v4A5*3FWEni~n~XOM zkDoc__Dn;p*YDbAx4Hhi9s94MR(J#!=r#85s#Y=Pslg8D0O=3tl?QDwf!TD$pq^!D zgOZ`To1Lkn{$E4?uma?<#B~QyOc8qdLcP#`Y*)~E#eYqr{yl&S3j&_3NH0K-%n3d6 zU%fLA8!_};|F#nTi-vk*od2qE`s?WbRf$OZ^NO1_JltS5)!+S_4@x{xW8&XRe`>&< z2y9#J1OCk!{$Kb%x@%#1*!s^0e&o|{{?9T{SRA%a@d0o4_>IGsE5b^^mR~(csQCYu z`1fM+-#$Xv2A~H#Jm@$6fAj&to(OCa&V$nE=if?y*5bh8u)&}Y_-!i8`}i{^6jlZ{ z>hVFwA>+5qKY|}&dDt+C2VS}4zn#W^q9tI3U}FFtgqF*G3;iP$0G5aK*FNyQ)xY@% zw=FCT>vep9U2A{CFwRF-Q(}Ft`m1 o!#*NBz*yVA;eX%bzaJQs<&dB)t Date: Mon, 29 Aug 2022 15:01:57 -0400 Subject: [PATCH 0442/1248] Messy snapshot of chapter 20 after copyedit checks --- nostarch/chapter20.md | 365 ++++++++++++++++++++++++++++------- nostarch/docx/chapter20.docx | Bin 127368 -> 149296 bytes 2 files changed, 298 insertions(+), 67 deletions(-) diff --git a/nostarch/chapter20.md b/nostarch/chapter20.md index a98d384fb7..49b1a060ab 100644 --- a/nostarch/chapter20.md +++ b/nostarch/chapter20.md @@ -30,7 +30,7 @@ Unmatched: CaptionLine Before we get started, we should mention one detail: the method we’ll use won’t be the best way to build a web server with Rust. Community members have published a number of production-ready crates available at *https://crates.io* -that provide more complete web server and thread pool implementations than + that provide more complete web server and thread pool implementations than we’ll build. However, our intention in this chapter is to help you learn, not to take the easy route. Because Rust is a systems programming language, we can choose the level of abstraction we want to work with and can go to a lower @@ -208,7 +208,7 @@ part of the `drop` implementation. Browsers sometimes deal with closed connections by retrying, because the problem might be temporary. The important factor is that we’ve successfully gotten a handle to a TCP connection! -Remember to stop the program by pressing ctrl-c when you’re done running a +Remember to stop the program by pressing ctrl-C when you’re done running a particular version of the code. Then restart the program by invoking the `cargo` `run` command after you’ve made each set of code changes to make sure you’re running the newest code. @@ -397,6 +397,9 @@ Gecko/20100101 Firefox/99.0", ``` "Accept: +``` + +``` text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/* ``` @@ -480,10 +483,10 @@ being used, such as `GET` or `POST`, which describes how the client is making this request. Our client used a `GET` request, which means it is asking for information. -The next part of the request line is */*, which indicates the *u**niform* -*r**esource* *i**dentifier* *(URI)* the client is requesting: a URI is almost, -but not quite, the same as a *u**niform* *r**esource* *l**ocator* *(URL)*. The -difference between URIs and URLs isn’t important for our purposes in this +The next part of the request line is */*, which indicates the *u* *niform* *r* +*esource* *i* *dentifier* *(URI)* the client is requesting: a URI is almost, +but not quite, the same as a *u* *niform* *r* *esource* *l* *ocator* *(URL)*. +The difference between URIs and URLs isn’t important for our purposes in this chapter, but the HTTP spec uses the term *URI*, so we can just mentally substitute *URL* for *URI* here. @@ -817,7 +820,23 @@ fn handle_connection(mut stream: TcpStream) { ``` ``` - 1 let request_line = buf_reader.lines().next().unwrap().unwrap(); + 1 let request_line = buf_reader +``` + +``` +.lines() +``` + +``` +.next() +``` + +``` +.unwrap() +``` + +``` +.unwrap(); ``` ``` @@ -849,7 +868,15 @@ fn handle_connection(mut stream: TcpStream) { ``` ``` - "{status_line}\r\nContent-Length: {length}\r\n\r\n{contents}" + "{status_line}\r\n +``` + +``` +Content-Length: {length}\r\n\r\n +``` + +``` +{contents}" ``` ``` @@ -910,23 +937,23 @@ indicating the response to the end user. Filename: src/main.rs ``` - --snip-- +--snip-- ``` ``` - } else { +} else { ``` ``` - 1 let status_line = "HTTP/1.1 404 NOT FOUND"; + 1 let status_line = "HTTP/1.1 404 NOT FOUND"; ``` ``` - 2 let contents = fs::read_to_string("404.html").unwrap(); + 2 let contents = fs::read_to_string("404.html").unwrap(); ``` ``` - let length = contents.len(); + let length = contents.len(); ``` ``` @@ -934,27 +961,35 @@ Filename: src/main.rs ``` ``` - let response = format!( + let response = format!( ``` ``` - "{status_line}\r\nContent-Length: {length}\r\n\r\n{contents}" + "{status_line}\r\n ``` ``` - ); +Content-Length: {length}\r\n\r\n ``` +``` +{contents}" ``` +``` + ); ``` ``` - stream.write_all(response.as_bytes()).unwrap(); + ``` ``` - } + stream.write_all(response.as_bytes()).unwrap(); +``` + +``` +} ``` Responding with status code 404 and an error page if anything other than */* @@ -1052,7 +1087,11 @@ fn handle_connection(mut stream: TcpStream) { ``` ``` - let (status_line, filename) = if request_line == "GET / HTTP/1.1" { + let (status_line, filename) = +``` + +``` +if request_line == "GET / HTTP/1.1" { ``` ``` @@ -1092,7 +1131,23 @@ fn handle_connection(mut stream: TcpStream) { ``` ``` - format!("{status_line}\r\nContent-Length: {length}\r\n\r\n{contents}"); +format!( +``` + +``` +"{status_line}\r\n +``` + +``` +Content-Length: {length}\r\n\r\n +``` + +``` +{contents}" +``` + +``` +); ``` ``` @@ -1258,10 +1313,10 @@ You can see how primitive our server is: real libraries would handle the recognition of multiple requests in a much less verbose way! Start the server using `cargo` `run`. Then open two browser windows: one for -*http://127.0.0.1:7878* and the other for *http://127.0.0.1:7878/sleep*. If you -enter the */* URI a few times, as before, you’ll see it respond quickly. But if -you enter */sleep* and then load */*, you’ll see that */* waits until `sleep` -has slept for its full five seconds before loading. +*http://127.0.0.1:7878* and the other for *http://127.0.0.1:7878/sleep*. If +you enter the */* URI a few times, as before, you’ll see it respond quickly. +But if you enter */sleep* and then load */*, you’ll see that */* waits until +`sleep` has slept for its full five seconds before loading. There are multiple techniques we could use to avoid requests backing up behind a slow request; the one we’ll implement is a thread pool. @@ -1295,10 +1350,10 @@ we can handle before reaching that point. This technique is just one of many ways to improve the throughput of a web server. Other options you might explore are the *fork/join* *model*, the -*single-threaded* *async* *I/O* *model*, and the *multithreaded* *async* *I/O* -*model*. If you’re interested in this topic, you can read more about other -solutions and try to implement them; with a low-level language like Rust, all -of these options are possible. +*single-**threaded* *async* *I/O* *model*, and the *multi* *threaded* *async* +*I/O* *model*. If you’re interested in this topic, you can read more about +other solutions and try to implement them; with a low-level language like Rust, +all of these options are possible. Before we begin implementing a thread pool, let’s talk about what using the pool should look like. When you’re trying to design code, writing the client @@ -1464,7 +1519,7 @@ error[E0433]: failed to resolve: use of undeclared type `ThreadPool` ``` ``` - --> src/main.rs:11:16 + --> src/main.rs:1:16 ``` ``` @@ -1472,7 +1527,7 @@ error[E0433]: failed to resolve: use of undeclared type `ThreadPool` ``` ``` -11 | let pool = ThreadPool::new(4); +1 | let pool = ThreadPool::new(4); ``` ``` @@ -1525,7 +1580,7 @@ error[E0599]: no function or associated item named `new` found for struct ``` ``` - --> src/main.rs:12:28 + --> src/main.rs::28 ``` ``` @@ -1533,11 +1588,14 @@ error[E0599]: no function or associated item named `new` found for struct ``` ``` -12 | let pool = ThreadPool::new(4); +1 | let pool = ThreadPool::new(4); ``` ``` | ^^^ function or associated item not found in +``` + +``` `ThreadPool` ``` @@ -1594,11 +1652,14 @@ $ cargo check ``` error[E0599]: no method named `execute` found for struct `ThreadPool` in the +``` + +``` current scope ``` ``` - --> src/main.rs:17:14 + --> src/main.rs:1:14 ``` ``` @@ -1606,7 +1667,7 @@ current scope ``` ``` -17 | pool.execute(|| { +1 | pool.execute(|| { ``` ``` @@ -1820,7 +1881,15 @@ you’re feeling ambitious, try to write a function named `build` with the following signature to compare with the `new` function: ``` -pub fn build(size: usize) -> Result { +pub fn build( +``` + +``` +size: usize +``` + +``` +) -> Result { ``` #### Creating Space to Store the Threads @@ -2453,7 +2522,7 @@ error[E0382]: use of moved value: `receiver` ``` ``` - --> src/lib.rs:26:42 + --> src/lib.rs:2:42 ``` ``` @@ -2461,7 +2530,7 @@ error[E0382]: use of moved value: `receiver` ``` ``` -21 | let (sender, receiver) = mpsc::channel(); +2 | let (sender, receiver) = mpsc::channel(); ``` ``` @@ -2477,13 +2546,17 @@ error[E0382]: use of moved value: `receiver` ``` ``` -26 | workers.push(Worker::new(id, receiver)); +2 | workers.push(Worker::new(id, receiver)); ``` ``` | ^^^^^^^^ value moved here, in ``` +``` + +``` + ``` previous iteration of loop ``` @@ -2580,7 +2653,15 @@ impl ThreadPool { ``` ``` - workers.push(Worker::new(id, Arc::clone(& 2 receiver))); + workers.push( +``` + +``` +Worker::new(id, Arc::clone(& 2 receiver)) +``` + +``` +); ``` ``` @@ -2628,7 +2709,19 @@ impl Worker { ``` ``` - fn new(id: usize, receiver: Arc>>) -> Worker { + fn new( +``` + +``` +id: usize, +``` + +``` +receiver: Arc>> +``` + +``` +) -> Worker { ``` ``` @@ -2766,7 +2859,19 @@ impl Worker { ``` ``` - fn new(id: usize, receiver: Arc>>) -> Worker { + fn new( +``` + +``` +id: usize, +``` + +``` +receiver: Arc>> +``` + +``` +) -> Worker { ``` ``` @@ -2774,7 +2879,23 @@ impl Worker { ``` ``` - 1 let job = receiver.lock().2 unwrap()3 .recv()4 .unwrap(); + let job = receiver +``` + +``` +.lock() +``` + +``` +.unwrap() +``` + +``` +.recv() +``` + +``` +.unwrap(); ``` ``` @@ -3004,7 +3125,19 @@ impl Worker { ``` ``` - fn new(id: usize, receiver: Arc>>) -> Worker { + fn new( +``` + +``` +id: usize, +``` + +``` +receiver: Arc>> +``` + +``` +) -> Worker { ``` ``` @@ -3077,7 +3210,7 @@ duration of the call to `job()`, meaning other workers cannot receive jobs. The code in Listing 20-20 is responding to requests asynchronously through the use of a thread pool, as we intended. We get some warnings about the `workers`, `id`, and `thread` fields that we’re not using in a direct way that reminds us -we’re not cleaning up anything. When we use the less elegant ctrl-c method to +we’re not cleaning up anything. When we use the less elegant ctrl-C method to halt the main thread, all other threads are stopped immediately as well, even if they’re in the middle of serving a request. @@ -3146,42 +3279,70 @@ Here is the error we get when we compile this code: ``` error[E0507]: cannot move out of `worker.thread` which is behind a mutable +``` + +``` reference ``` ``` - --> src/lib.rs:52:13 + ``` ``` - | + ``` ``` -52 | worker.thread.join().unwrap(); + ``` ``` - | ^^^^^^^^^^^^^ ------ `worker.thread` moved due to this -method call + ``` ``` - | | + ``` ``` - | move occurs because `worker.thread` has type -`JoinHandle<()>`, which does not implement the `Copy` trait + ``` ``` - | + ``` ``` -note: this function takes ownership of the receiver `self`, which moves -`worker.thread` + +``` + +``` + +``` + +``` + +``` + +``` + +``` + +``` + +``` + +``` + +``` + +``` + +``` + +``` + ``` The error tells us we can’t call `join` because we only have a mutable borrow @@ -3220,6 +3381,9 @@ Checking this code, we get two errors: ``` error[E0599]: no method named `join` found for enum `Option` in the current +``` + +``` scope ``` @@ -3236,7 +3400,11 @@ scope ``` ``` - | ^^^^ method not found in `Option>` + | ^^^^ method not found in +``` + +``` +`Option>` ``` ``` @@ -3261,6 +3429,9 @@ error[E0308]: mismatched types ``` | ^^^^^^ expected enum `Option`, found struct +``` + +``` `JoinHandle` ``` @@ -3285,11 +3456,15 @@ help: try wrapping the expression in `Some` ``` ``` -72 | Worker { id, thread: Some(thread) } + +``` + +``` + ``` ``` - | +++++++++++++ + + ``` Let’s address the second error, which points to the code at the end of @@ -3303,7 +3478,19 @@ impl Worker { ``` ``` - fn new(id: usize, receiver: Arc>>) -> Worker { + fn new( +``` + +``` +id: usize, +``` + +``` +receiver: Arc>> +``` + +``` +) -> Worker { ``` ``` @@ -3500,7 +3687,23 @@ impl ThreadPool { ``` ``` - self.sender.as_ref().unwrap().send(job).unwrap(); + self.sender +``` + +``` +.as_ref() +``` + +``` +.unwrap() +``` + +``` +.send(job) +``` + +``` +.unwrap(); ``` ``` @@ -3582,7 +3785,19 @@ impl Worker { ``` ``` - fn new(id: usize, receiver: Arc>>) -> Worker { + fn new( +``` + +``` +id: usize, +``` + +``` +receiver: Arc>> +``` + +``` +) -> Worker { ``` ``` @@ -3590,7 +3805,7 @@ impl Worker { ``` ``` - let message = receiver.lock().unwrap().recv(); + ``` ``` @@ -3598,7 +3813,7 @@ impl Worker { ``` ``` - match message { + ``` ``` @@ -3606,7 +3821,15 @@ impl Worker { ``` ``` - println!("Worker {id} got a job; executing."); + println!( +``` + +``` +"Worker {id} got a job; executing." +``` + +``` +); ``` ``` @@ -3626,7 +3849,15 @@ impl Worker { ``` ``` - println!("Worker {id} disconnected; shutting down."); + println!( +``` + +``` +"Worker {id} shutting down." +``` + +``` +); ``` ``` @@ -3828,7 +4059,7 @@ all exited their loops and stopped. Congrats! We’ve now completed our project; we have a basic web server that uses a thread pool to respond asynchronously. We’re able to perform a graceful shutdown of the server, which cleans up all the threads in the pool. See -*https://www.nostarch.com/Rust2021* to download the full code for this chapter +*https://www.nostarch.com/Rust2021* to download the full code for this chapter for reference. We could do more here! If you want to continue enhancing this project, here are @@ -3838,7 +4069,7 @@ some ideas: * Add tests of the library’s functionality. * Change calls to `unwrap` to more robust error handling. * Use `ThreadPool` to perform some task other than serving web requests. -* Find a thread pool crate on *https://crates.io* and implement a similar web +* Find a thread pool crate on *https://crates.io* and implement a similar web server using the crate instead. Then compare its API and robustness to the thread pool we implemented. ## Summary diff --git a/nostarch/docx/chapter20.docx b/nostarch/docx/chapter20.docx index ac9561a416cf0c10eb04b42de1e6e16e129a7814..11165f9c6320ec7fe58f9e2044634be261069559 100644 GIT binary patch delta 140641 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%0Av6{^dD*a}VmmYMe87H|1}R7njz-bd`jb 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ʐAR@9@h(npf<5$usmkYjAzk@{t!BG&$L6iO4|~PTVn=Zq96e__wobp?xCX6rdGro@O1X zW0?A6EsrkKmZVb_UbkWw`!RJJ!xc2}Hs^-A5mFE_-~XAKxLkPK4a7!72=}CAw#EI4po#+V1w3zL-3g6j0FG-$!;J_COQC1*Ib0hQOc9I?(8Vk)UNa3T-1Hg6v6O ze-R-*L4uS^z+WZ(=kI-?R28DwhxpHCW^AKjGM14M)F!pXa)E1wZ1q$*F0(c|fy7la zcpbTD@l|9LwK9wUxepg@KWJ0Q(VSm8$+CrMu8cLn2*l+5J;W+`!cRvO(vCBi<1kF6 zf|ff15JTG#U~ebN*FL0wMD^25Yu>a4)^ySeF5}v}&J(w;LaJX~qhd;HEcgOCVwp-K zQI2N>KHubkKbg|*O9?Nn5H9WOoz_JwI%dmO_h~eC%70>;k&of+jHa_zuvy*KcDUwN zJd6y?%K1+lyobt88j)-=?2oR^`4f|^tC1=gN27XER^5(&2r&)c@y|^B5d2zGaOb+Q z+u88fJ|XFFZVAj>uQ^kXOvy zg%xE{CV%<&EvGJq8JeQ1y(=f{e$T+uF%?$fQRH4z)BNwbR&eiD+w=XV7BH1hg6#vX zW-XX8xF!3C0aZf-ufo@M(1;hETH$+m__-%^!tYQ$$0(fh1Ahr1h# zGWx=-WUR7)b)4@d^oGYPgjkdX%Dy5F83weX!2wXqn2ATNDnTq>dP*ZJ>tNS&d znR<;DB^ZG%6>;07vhy}iGr z6w~cf-ppUAV?2&36|)EpXAl1LZNwF0?#N^|wzw6SZ>$|v4l`RHjKE&+7(`8B7bO=U zj%k&(*QScur;>*BN?RC?fA823B4hwu63GuPc5$tTojIBYS7zPp)ktBMQnWC%wfK=L zKRO1Tai}Xf@haL_rM!&(-a0$%R4kB8Pfhh2Fh3|2-hamyDM)5LZpOu&JqFtmX!omlSm} z*(p+E5cSqX<4X4wWYODn7bX{W?p$Yb6ai6HG7~k8=y}_GWw_V1g;q5f&mk~n^oWuM zG*?VqPvpXX3SH7h>$Uv%bNbNL!Y#d7%SB%3u9%?p!86&&zNGGfOOk+s@Y;fbLn@tb zVlKFT$MB(aTqCw%esh;ggBO4uDKs~#Hzx%6Va{J(J#W{7EzY8Ol>F%tUD!(;LY~?J z2~kIOs&?>q>=R$rg}*A2M(yI8eKts}{nMEBU%(xPcWIW>v#O-Hfe>=!cVSVFA?6Xg zs`B@v6%rlYz<>kL@Ac1N5h+h#Mii*HCEW)1ca!vCoOAE)c@S{839`j@iRp zLMLbVFrQ;q8$HnwL>sZ%ld<+Q8SG2`S!;1vKTvZ4&CqsmQdKyCa}~ewDwO&EQ1zBU zb+pm4Fz)W|?rtGC!69gH2<{f#1`qD;?ykYz9fG^N6WI92d(L;O?%ltpcGdiuXKL13 z-MzZID*UDY1(29pI2gDVKIz1HT}tCxE_8`DQprFVcm$zbWLO%dd~T9`hTQv*x?$r~@I@&zQF&Oy)YV9I7V2 zSKe}PZ~8eR1=BeAITW=LXgj#PqV|6P3s)~xjtJ3%?6XDyO}jwAS7j<^ywAxldtw*5 zVCkNSC8lxu<ne`nbJ0(I?S z{hWbd<$$*2qDW{*N0(eJE}At*BHqaW`5z-M=+7hMs;p~mv@UL7aLo#aqZ|Y!0LO4V zMKIORKE&x4eLx7&?Fr#)MhRhVW!Xjol4x8`2tYA{^<}OK1u{JDYWXCpd?zWMig7an*?U)sM$9$`yXeD^MBu^Z&eryux{gxaC+O?^MXfF6XYtu& z1hePsBfwC{qWIxah5fx=GWJw6!h~rf&G==OIb+A??ZHl=YsvPiCi=o6x|6I~3Wt}J zd1L)?FpX5dp?f;pde)#g2QT_Sf`WQ_7XU8!F76@4zZguTP!2Bon>L0qmCp_oRY5XN znlY?>!@X^2^PCb;ySQ;hKXWi@<+4FJ>R!q}5%{GvyF8PKX{^9>R+wxc9Rh3CgObXK zcw=X&z3<9LWT$t8YXsV4BT283wZLL^qLj>*XiMmdH!ES7c2I6!TzFUm75%+v0qS_4 zV(2NaUxgdqsE8A!#sLXwIkP_LC-QZ3x(+JRcxhxt=x8wHwPSE*+^m|!FX(9<{QdrKH*xOl zxO!k91acy;Fm3Zy->4W=$CCx;bO{=St=~ z04kb81uBTJIzmtMDkw zl5$F|$O4O#<#fJTsHiL+_GpC`b_U8T+?AnInb@Z#`Ap#Jn>Eu9PSGi%8dj>_lf8dM zA=`s{|AL|T-8#Br;jm+tfXG}0$*^%LetyOMVJD(C;g5@TaZoTX5Jq70G2F`U=TH*q z4~8h|8KA_3C;NAb{gZ%6A;dG`#{0rP7O2By4yGC$&>&Rv~Qf@y!s}Jag0OX+! zZ_MY6)p_^#ixTsR_`aaOlB1YmN+wv>OQFv7ugQRH&jHzI-X_@Xj3 zW086T)}0ddGaisuPwX)Gmig+*b;2GRS}&!;6Ix?61duxf>@oNYE3Toqw?E5)<$#g+ z*Wh*%`#Va;vYo~oK<++mlHEQ3BtHuhT;x(ta2jx^ET*ro94zEfnt9yC8gqAt%W)Bl z(4_5o8TY^?pA5&jBjr}OjSQ+tnZ&>3e{xB)KlZ*+uHNXF<2W++{NWl+`Lzlk<1eGU zb=?5^nVZHb5b$Jos&Kmf2=v$ad?ms;=40c+a$*`^3C>1(t*CE;7iMp_ua^w8CpACr z5jJBUnQK%)Dq6cnr1CTC-x@{C2N(0wbxz}c(rSR+YM`OV4RO+_ZBX> z6~ii*g{~C~qV&yA+8!4s?oq+_H?9Y-d@IllmzcT$IHwNn|M7?MMj*ITT8v&5S2%KB za9U*_6Jl>_@1P1xPEh?XkB02l@q)L~h445LU@^0m{~)A66ictq+aZ91_bs$5OPd#i z(Xo#S<#!jA2?i&FCNH%AbYg^Z_}NP<1~H}D`-|;&8VR3gXa!>vY{3wgU_Jpu)6%__ zQ9x5Q?S${k7DPeRknFl`L30)u!Eu)kX8Qn=hR>DcBV0XO&Cy*^U`^VT*k34vHnb=<7cADjI@Vxmp0Qt!E|;5S+gIOz)E+#q*a!G1-gc%)CKzxO+dkl5CBHy}EN5^L zp~_TJS-g4~n;VXOmh~xDQ-heD;jlKM76C;juN{jG8$a2>1<7vui zM9b>0=2qXwqxx`9ur zqc23*-sb|nP8RI;5jcEHLmdqa==70MAH6w9#30xg-x=*%>5(yjOa?>rWnrsF2{Jll z%%_hT`xLC3kR2j=e30Tb=m$;hkahV`)YI`mw!rY+tF-!n3}M*s8(PfX=IK5v;Z&JY zs&{N=Gije+p%H`1o#~EsDvoLU-N5LN7^NH~F#(O+5)8S$`Oi_c3)TTY?>gCoY>wGR@r!h1xCvx`%hPCf8sf7`@LtqYY%720GL=$Wt6>=O=2NsjLASXAqz zK7<1Z<^cP|$EsBleigY0@8Mf#tM5(*e3`b~vABixF}l+%v|GM~gCTfucZ z1ygd$;74KbW3qqMTX&P7pK>rNRAafdVpB&Ni++@F%>z(o-kE&_s#(y> z?`k=CIYXww<~$Qa32KS~MLwqB`4l?Suig7pQQN`$a1`YAYB4Fe0WdUab59|9h$>@+ z4w%Zj2fA9M(=kvXq)B`#GZrf88A+I`nu0+S@`+gNLOSMC=c-XD`;mfV=f3|6i&F<46$Oc z2Z3>o5v)pm;}x2lDA^~^;F;-so5VVIEn^z4HkDBnc|2n$RxzeB@if6K zT%knG{1~ShPr2E7tE;xhVF{Vud;;%B)Bmb4-MtM@4~>T1Kb!30d$s15T8=8$UY?!lIEj~um#9F<|nfF*x~BjC44v?*OG9TNEJX5TOpbn-F2sH#UtWb508X>^0N zZruaeap%S2L2(UkPMARf&hL9o2=5zeGd?q=2_wsQtPvGGmj zjQ(t=!NG~Q@091Si8)h$-dYYiT!p%!usD~#;u1V0#{T}9yh?PZ!=sa`YLl{$USmO! zL0O7DP)0XuL}>D>=|bgPQv}|cs{y_{C6z8YBZ^-!w3v!pc}LDYZJxlE3^}lp{eZ+p zbn#b6F@utKL`bpKpFGffmR1sg=zhP_v^n=^V06M1YfMN|1M|}V*uM28t~`Ltv{aox zdB@$12tK~6;Xq9iC&BuHG0p14swC4o{ojVT2ATlHMurs)1jI~_3qM~!@6NXAVh8$#;cZ2OeBQTZ3pHKkEPJGbBZ%{dm z0NgNJfG#ebAD!o+q_%7V5mtvGUOK+Y-;+-Ljnnt#PagqU10&U_01DSnXexr2FcaMnwH_DbAQNJ@7;w}e$;8F>%ywxt5EV; zm=)V5-x_a=JXbTJ5)w%lEoW@^$h>AH(7qfFHG1+}jSn@-v-=dqBxPs+<<3*<)NeA( zsp+oEj$N*s4zYOLva)Aas|m7oVaHOJcjfO`=_SU|+m%(|zyzGER{bG069W7&Xls4{ z;tP@E2au7oPe6M=P|$*rzA1r7@(M!ZxpIxK7ZnZtbHaq|6d@t*J{lgG1)?dXn!8nW zyx7+u3)H+5%Kg2_WeZE9ZsZF}w%NTMf2yj1 z#vc5g8n?^TK>{=^m}EzeeEvc)^+R7xUzx8X`d0X=p|{57=G6)m&)1`dZ{R%;_X`Gx zmuDCEzV4Cp!=CfTe&L86o^$!N11DtFR0Pktj(N=H7I_&wVH|2z`7)Fo z<*RQhd>wE7@-nIPGKYu@vX9h1S9Ifbqh57fw)Xln{V|U`PgshrBSLK-?F*#_uWF7g z4%}Z1KJ~A>B&NrttsNf`jxM&IKl1GPf9B&)19@uV&f*%>U-6&EV*+Px`;~5vF@LGt z$0HQ9vJi`YQ4Q)a_nq1QxQZ99j~5IRBugrkPN4e03QnPuXE=PPo&J{68Sm7-$o}H9 zOV{_2X* z0hvJadgmz;gCpDtfcs~u#NN9kK`qk>h#hZ`Nxb5%DZX}I3{5VsB}WufT_26`9MJQT zyHa~CX$i8>dJVp?7D#$M(bG&z^e*U8A&igtFd;04(lE#BUKG;|0l%>>$?4a|5oW~^ zQOt?WF^$GrJ&_8Juj1rnr*`7wv`ko>3G~Rm%7-&Vr<}ilm&#|b`a4n~W3WmFjI1P^ z>p)u~Myn(^un;%O6me=kW(UL26fKIbaA6fUMu*Qf{?-czOISK#3h?YwGDlx8z^vBd zBDN;2v-pBDx1PUD7y;g{aSdFuzh7W>sP}hd8?&<5IhB zslh2UIkfr3Cje66(T}`&=it^?% zLc>j{o)44~Pq=*GH8z9Ca;0TmWZFp<{f?+xbqY&R4Tkvu^{sApZamKgFtNEsnwe}< z`2jCJuA?aw5whuW*mWR08(FFE+^rIU-V@+ucW9_QXH*bq8zuT({1y*Sjb#WGsn3X$ zHeph2o)_&rQfg;KpNs?2i}C zV=Z)Z!I3d_ASi&_*Tk_5kPOU#gI>UBXYqCJP#02tYpykg=1o#po{_N*lOIP=$KX=f zi|^a!g`pn{$;MKoMdf5>ycJf`)-ZW3?Mud1?GX9G)h-NV7p*U;WUg80i+Ucg@+m7q zQ)+6|8S0^s-7s}K_FqjfptrF|Ieknryk2h9%Q{M=^s{wec!2Q&CM2FD{iJn!KK34n zxabSgRH}m*78t@Ap@sE=YaQRxQ|B~2=&!4P!r#WOwLnpG;(Yv)M;jI?yaP$A=rBxV z_KmBm%hsBkMRP*weUE~lNV695GAm=YsJz35jm0wTU~GajCm2$Wa42S9KWh1H#Ek>3 zIvYj5!#Yx0N2lZt=*!9=z;a)Tx(buZfD6o{`7Yf(eo&GfNw&vhWDt?IH%P41x2H0N z_Gx-QjRe!*yyXtWCTgY*B)g9h^I`QZ|5Z?}Gzz;zjUgT5C|Q4afg@3LnxtgLuB#;u zN?*wR8`*7Fxo?Tsopvguk3<{_*`>t?S>?fw9CeW{Dt&thSpHG6gXtf-5uJXtC`GWP zLuDATOaDnGn!te0RxUbYl5NE^3&|SLyMsp*{eT7iO$d9OH!4`;>S$&Sce z#0Otw;RhJf-o@cx)|V$M-LDA7#1{`ocJlD>$DH552S z+f-1X&S}bbh}siXWF~F@Av{!!*$(~`7>o@J#bfh{{@H0H{OL_fiCg$3`o&scm{#$A zPEURbCvN3(>oTYL)7|NRisk>-%B|sf-Fy>(y}BBnepMYqR>Ar5sV0#j)NZ7_kTwu_ zazxYi1<{iL`FfJ9Wo+4JbLfqnGVF6dRR13Ry&74r)-?|c9e2=zknT?Ge*_l$gdMT| zwy=VY?=H6G9&c+|65~kzWvnu8(51=1tzS_Jout7`TnB53j)*tvY38jqer=CMCQm3` zZp8EY;l)O9G^{>tagHKmp79N*U0xMq%y#RRV(TsvL`1yH@+H@M95GpbsBKvgNjZUSPN2Rhh8L+X zpMtwMa8OdJ`Nr^oF{@QjUP{3bc7%n~8-jaNQm$3{Y$R1MhpG1Q-?%-~=AxiGC{9$< znnt-bHN+|XK@XYd%1!GZ(h1#wrGfq;WP;U5K52J_C;>a%1+0Y3S0&(VXbF!FIMB_f`#r3KUVZ~@l0YQ=syFHI%6}_p&@oOgb5s4Q($P-%fYfTTT|R;z;$BX)+e=i2 zNiDqoMnRbml4&VN2R&4sO-T6)g{xE&bJR>hNoMUgiO-nl_oV?U&=)h%S}75Ylpl8z zUpNk%)xJ1|D_cZ;Z0oQNZq2(0((dDyeT!@$xY799;>vpMmU*3zLHc%7CcmXq=ra33)%#ev+G{jv4bHrY~XF@d-Y0V*Xq<#*{F_zQZ^^jE5O>vFO z9xzq$YrHQY6&rUshjgnn(OO@J%5LavEvpxhS5@8n7_UK5=H^dIiA1OnPelH@a;>9F zd{Cb1TjjqV<1bBXPdK^77H*IFxssEtKMlF8*WtYvvXusGRrXzN`WV|bZ$XdfCF4A1 zSzF1DTTXF--K`-+glB{Xl*13;nBXLF5T1pQ$+J2tf32Ps&GruCPY)ybIL%}lXAoX% zmAW>oemYOvKZ4XN`=ef?wMM#YitPC_Ho21=8(>PEl)I=yz~ z`TkyaT7w9r1?auI`tC9C2%V~BM?nXtrd6)+ApPRuWSPS)ck03@R$W0WfjwfJjU6m= zPiuInL1>^MXyea@hjMc*$e_RJm9TMUxS-tUor3ny%ar{Rq1vSpz_e2|mW5^QE$N=N z5JhZjZiZ7HRKkeKp6q=pp*^ud;~bgFe&^qjir5Me#LRIm68_@}%cXtI#$m@Waaw$jw zYi1}+!nN6a;Pu-3oe6MZk@57`Mha#S1?25%<`!XQbl}N=b^V}$TvIxQ^TUNwApE|8 zNr`NNr?96rgT5Vw8N$V8#k z+Cg@GS_WB_(g?aOV~~kBDY~y?xj1R)Z{;sre09&a>-F18DN@8iJuE!EW(XLo(CP(=v|V;DxfPBx ztJ~YD3dwc(KqHy`EO-A>zoma2J>UcCtW;=dD66GXH93sVTa})aw}f)U*H#Z+X-kG5 zL|Ge?7*h6T%NYanISmMPlf#%s_C8Ui-BGKXeyPJ7Ta3w&HgKW%uDpP(&OBNLaoz_r zG@A~;oW1~Fo#CRq*6*A|f1NR`=%TsnNpl1J0IFJPrh0^pW&6vAuVYxFd!c5%@ zks+YZk=$KgU(oWew_(rA6eComd}%4*<9v_oeoduZe0;$m_5Blw){k3w-V!fa7KLBeu530tuY zrX!Q(=zN5#-TY0apruORwILe$!J@ykK_2%@|W-={?f7|8yPgO$4N*F4t!+P$SjZF6E5Y3%L0 zKyc@vA$@Zj5PKj5K~IV>9IOw=d?voq4i9tl*xw$m6Oo)cy;eP~DQD;R$=~ zH8uE0(4>fI`9C;f2mlf)6A6!6W$EN!8uThgY~EoI1l+^wYRCww={0^f0zt!nMsqa$>zG&zKYDyFFPpPC@i8H$4Bg^P~3Ji zAH4GzK1>a1tt?!6sVvctA}O=?pACZXq>iaq4$CBi{6jjI#@SQZP73qHIi<&Ra_w6S3>h9m@CcdIOz9Mqe=GHefryq5$#^qc)+=j z+Zjpp_zMqXYa9}rC`=r(ehJex!C1*^8a|s)8bKPMkic{kQA|G(ksfRQK|p$g6Cy`} z#C`jc4tC6zdXs}kW=^y$YuRHs33>jFJfK_s-2F%Ik~@Icrl#x%<~uho=(G+EDTM%Y zO3RGf(Jv}Ui`%QTxx!yB{tJ_!k||pEx`pYw{ULz27GR9rp>-1=1SS31Ug`J*I(D|? zL5d@OTeu$Alu+adVj$v<9#(6b(he=UFp@bqy5883Ud!IR2?@ooVxw>5jk?3W2Q7U{ zv)cXBkH-0eKDIutY#=!SnBD4R+-RqoF6PQA3=h@AMD{%F38z@X5Xoe#TRwzps?(wFxs#0Aq};mQUGR66CvyB zL>v&9a`SP!#|q0E?RMve`n8yn&R1{lk>6)y>#}b0SNVusec}E`^bRuzq%`=!5i=+D z&Wo@xYGwZF!hF#>Z-q_%fYarY!!Z3Mq?txs9&A5Yv9rA-$xwZX zW1`H8ADv+_7Nllrb{;W;Kj+-1M*$0By)MWUG78xL>96%?{w_Oy-1C@Elg`+<$Dh{B zD^Lt7M;u*nxc{sQH`g(rwt5DB_FKaVzGw<7QLs8_kU$2tDd~WIOM-mADo9m&>X>i8j!hAd^`7C5 zbgpitS})ynYb*a5x+$TV?UPda!AUd?pn7!Gib>c_LGOgj+wmP_r(8lEMDM+)qZB)& zw*ThbkN^EYP2K789{Oeh5OjqZ-|Eh6**~2+;oJKh4%T z`2Nq6y<$B+OWDFZzN`lWJVqf<2YZ;rf8$vgCAY2+sBD!to?wIKHXiMHwWHMn!Fg;lf+^x6f3-P#{dS(rF z63Xp>J)&~1CkxQR>t?SxJ<{Pz3e4F~%_-hMyctd^8(Axf$mbSyPcG6@Pjn-nC9Kj( z3Q&No{>co}yqiqIdA}^W92P*jb{Jit1&uoQ$-qvG1@Ilvw&@0IY2ljavCKukPGeq- zoc9;4#;Hd3**>EJUH|%G1oVb~iTTD^Kuw!+8(BRqcRtV7EiEJKR|Ms5AifgQc9jlD zeRwd;KjP4D?>sBe=8ooK2CT5aWZ|7pHp_z5xqKJcwmiu0}C1Q6+H>wH1WwR4=6u{MRP?>AjKs<87Za7{w*FcLrxmf1j@#h z{>bj{etdn4q1q^r{T_!ap`HMhUxlxCloZA?I%ZM}pqt(mGjMt^D9Q-35wfN_K=5WG z4QJ{nb^&f#TrV$P)5goc{yqvuN|kirTJ7wMa=e~5otc@Ahp=y#>=6Iv75*yTeL9(N_|x99V{w%%Pb~YAjmD5Y4kE-l z)!}^E)u=)_1YT8Cu?vRjlaOM;9F6D+QO^-zRk)BM()Gci{d&mh_}QVIu}gYAA^W#V zZ?fB0sLQoixNvL(66?&|5m;Csmq#Vc!Re2V1wwP=J z@_tk8W#4zr|J?)Bzq=`KN0rfGG*z}>e^+0M+dfv?7>^90J1uvO6&_XcQ20KWLLX?v zCGdsS)sm}C@NI#U0Arf*R_@u?S~?>eRZjT%zk)dB2|5@$IHbAGyqHvgChWKFpvpi< zgNLz+gsO9uKW%ia9Q#(_uy-P_jQR>N^x{PvGA$hQCX#(z|G}_O_5bm-CtF)_m8HG* zR`-BEOYc(rJ6{&|*WCEXy3ewWUZW_9I`yyu{OILnG*)aTv4X;A4{ZVQaf*c|4kR`+ zGMqj-?gq}KM!C>@iLRJ-?4=MHyZWvN1x zx^!+!K;NOs?K6Y5J`$4x>S++3&#^k?lHvh7blLU8^`kLrOIV8Wh(Gl8RbTAwm^4os z^dDWahrB`-D8ZTiAyyW098xK3srhm+ENbzzL%Z9X*jdxC$|9w?82mrfut_oNd+Z#5-_{7ZBtG}BxXJ#(CTy()VYfFRqzYLLe zQ5X9eb-SqX=Ct^j~FdoroW>VAj3S*mMwDc?TFR9#|n2DB1y>xzlW$0%x_`sz4;V#Jy2T$rNd3e4S0LGg3B6@Xb&)q@W&Ssl4^-2m9eZ@ z33-+OJPLC&iJ}KA7jPz?RU%jgn?m z3Gv@2i^?n2#=^Dur^SMH+*EZP@tSDQag!!+NrUneV0C!7z9x5L!INa~2p)BDNNIw7 z!z7du%D7{gW@i^;YKgkdEDX4NusA>YQI9_(sGE(>sGf1$u>qZvk$`K=TbvQ8h?qr$ zlRDKWhm4m2uf%LOD-A;AfBGe1RfU^p0YRS!_H;!tMWld^?DB2VteWpHS8?WSDIeDd z?FQ~|61eJW>=!gSY9V-%hV-Ml=}E&xUjD!UzhpI0m?_vO?^b_Z8vxA6a0pZ&@-E6 z=Hwt4PFHs-^OJ=CdI=IcrDu{1^dAJ>LFQKzqC^*}i@=he{#)f!6MALIM0EWv4COie z8>44pE0IrCYIDs<49* z4C7v<^lGtPGrsWDuW5}(-rz3?##uw#dL9IUOu-d{GF-f z?%&ZO4BxHA&D@b#Q1HIkBlgar+^IG1IfKhgG7m=gW{vgtW7@P~1_j_TVIgM_L&_|8 zZJn?@KCkT_76#CtVEQ-S`!?iwmQ>9*B%J~>a`OVnL!6kR+m{2rY!&%7$9pCwJ1@3e zHDnjJxPKF@U7_SYM@Xv8jdq4|iqk{2lu#9}?@8-9TtAZb)vL;6A0|gDmoA+EdA=Lr z-}8E%q!t>^g~-mnac-4D3nAE@R!Vx6-@}Ctuw^LKFY$v_Xk=gEJu-ikQj*#(k*R-% zpKm>MSlD-I1#kTm3{jFP|KPO)Z6JE+B%$f17*iOh#=ktdzi>+b$qev#HpgCLh`>rm8`PKKS`QJq@ zukbc0?k=$8b`rCK;z!ukSwXPNIiqg>K?&|}X~#nD>^-RRMPAE4PbK2`XCLe!o_hVI zj6VgOw2GFC1v|s_BQco$3!i-Q1VfXJkg(Bpi6xGT)Xow_H8V)-X`A%`AgS8%ZF7S{ zCGpM>ST5)#X#yj2{k5GE>NRVoUj~l0K(~EI%n|fi|9l0JBp|Uw$OgF~jdic! zN{<;=(I7CnfgOT|?_=WwLX%*71ek;_9h0`X#(0@gJmfw0hKtTx^Rrcz_~HE89EMpc zD&zjYbFy9715g6NlZ&~5S2z%aZx#^<`t9HN2Nlct66*&dF#@Fx%LhF15Gvj4^8qhN z)C5uJqwZj5`2-B86O(G_3(5DJ?u2>wPA6FYa@#6}+Qye1!CH~Xcf+a2p>UTw;kR_3 zW_i8tg7ac02pf1_Ghs-lLZl+%4=Nb z4_%qC2Y0@a99h_WS+A0rha6c&#{fNzhxQuAK6#5hysX)IZTz{&|MG93a(Jzq3HW;c zS?BC~xbcZhJ`H45{BEpg|Mb?w2J__AfFS_`N3cz$?5NEo?I2F%y;4cOdA!TJHSs!v zyYlL>=fn;=z#0roQQeupOn~I?AJ~<*4r|zrz5heP`Cwfz$W}Vdxzj|hZGLfSJT(`kkZw0;m{h}xrX^nU-e4irG_%q_I*jwC+eS$hv=f&6ewxt zQNEtnJ+b(`A-(!I6Aad^g$(IIvooLUUpck|O#Oy{YmR_~p<{5Hnt&5P(Wr;qo==nl zSKv=l@R7Sl2=4uqf_|U!-&Q^5*mkX~y1-$tUGcfjrR+fmowLuiWBTe~nGrc&R~yWc z;=lVFSwpMw`!&54|Fl#E`*|!b8|LVwdyThfLv)O{TvvBQPE!qm&zJ6r_gcpi^|NmY zC@OIv_EOxQ#sdFZJs-TuU02Nx322U|7P_ zMc}{u6cCjFVkE@X=jW~m@@HTMr;ygC30Dss=MiRr((OOQ){?-jydM2wVe#$$6eOa0 zT#J)|BO92$9V{1yKhDL$M)TF9YJRNnICn**_T!?jA1J!kyXG5QlF9 zW^Qe;{JKH1u8!j_zQpV0z0OTRyR-01Gwgm_(6)^4v6uld6nRVoZQzy0}C3+ z!niRw8cd+1592-L#0W`0D)l&GvL`B?)MJJm%AK>2ai+GgcX&_pWPVs$9qH8p9&+@~ z@{s@40oA!XDa$LvhYL#ph0rVSfNf6SmUFE0xtUE_V;{=L%mNnaIKDVWU0tQ7q1H{D zo@nd+Cylbk5taWq?bsy=b%8Vh+vYP!{PG{!BFhiX_P=Bcs04+4FbU(E4kN-6AIS-o zHt6`oDr9du?kHlJ5%kv71K)>Svf(i16RAIQ$#+?EqI(tcRh$L?kHuJgc@9IcJKN(; z5J}w2B`!YtppyQ{T3wj17CXdNmrK^u$aKj8mNl%s!>v1ykaPi{AumZdT#*~#n#h5e zQJh;I^z~ix3zEX&;ELl#syhja@hr1zZFoYV8|(Ch!X}CN=Dy*TLkI}Lx*N?bOZ|QE zZ;^O7gNvomU2cGbqgzUwi@GQCNVx(zR+ZUaMsJ@57yly-sZ?wo*&Bp9a7C#yT`vM;Cy*E zP~X0}buYh*eV}p?z?9I#y%RrFo7q<;H`NL`eLJ3!*oYkYvUiyQ+1xv95cj1*y-9ZUIcto_HXHoMG1Rg|# z{x9OGRsfVHm`s&mv$CR@$287aC7VM(rXj^51ZUzxm-Qsq^kbM^nOAhREWw3JaE<^h zoT!}T;BQ%s`ljulrW@6LX&3rpK+%U0^=lWUR<*r^khb4!nw)q_W1Dk;bWNbaEaAQ& zv!TW5CK$T9xt+vrR_6v;B|lUXY)L+>Oxb@Eo)n~ZzaxHh@M@W{GBrVuOk4ixt*BiP zU0Ei3!blch>0R_{T7kG(O~L0y(VB|y=E=!Kf$PaeM@s^y+HPCr|3Tb_&as*X0@mJX^Scvgte-4)T~OWzF5#-|sRn7w573im@e=7>3Vd z((dE+Zm~&ZBnJIiC6Ip(xRcEZdW$oOuH-4*1H;bc3qU^8Tc2;p)upuU`_@C#P8jF+ zQP0u%GD5NVd-y@m(GXxHZ1;S-D_|bEKXD+1QOj_#BE&phHGp!V-dv@>``_!E6UHVd zvL9g-g9C)~*Kh_YLl+9iRZy*<-~8V?swm7HghLFgu1Gt3FPyELu^~?6UCq2pN!tsl zF^FmEaI}=ioi7b_jc#Zc7M#N+UXCq|8FvjD^EA+vNODZl?n3vh+N|M8XQSf%LzWo%IO`sgjd6_Mzia zu&c!MQL8e%Ie-4>oZ)ZCaecpIvuB36 z!UuN?|Lo3ysLll7=q>4Lo40fn1=x@aZuBQz61FWU&s8kmYqZ=K5L0)`4oR>zKATn? zR2203>I2W@`ViJxht=wVQ!9`Nx0-vjJfA6HZJ3*m2biIN#= zqD$!$Lq$*gw03%UNj8ymcC;K-{{R}H;XHs6(izGcMu4NX|0CJ!$#%!A0-=LFg9chM zZBio}u9)UFiY^R+XKmsywp}yV{iR8v+x+_Qtd#<)q>Tc{749P8F@&QaXz^<;yJS?n zH6nxn1Pl+|Cufk1+NBe4p~H2(5zp!pE9W-ynbY_(A1|^eB>O$#idFcj{kLr_STRsV zP=52~zdZ3N7)jDRDGj-i)~&d;{zb=@?^k>*r?b(QD>n$S^^_d^>j=~PBQ_sJI;BFo zZei8WV5VOt5CYCd;)Gs>8YJp@TSNkGNIz}A&OW58#WFkM?+mAM6G2q_E->z&gO9Ua<8HZ0)#)qMt? zFN66(d>pby5z)L=Lg@C~Dc*&R1DrMTq9T!f7_s^xER_FpUN$UrZz(L)#Qh%!O8;Zc zsrKG%Q|P9Xo=pQ_nk+WN!bA*63+)^mcFmwvRhVz9H5rjiFR)mqRKb) zCJu8vvp5o14W`5wfYKXt94GdbbgcPRJ?Yq;kn{^IZv>edbK!UiX``cwhXJvv=1R z+iX=y{dj8T4>u(HID8QVI$`^?GPtdeOz-AX^3H6Q10iV!)v3p(q8PaslctZR(4!j*u#6d9{$v_`@v^E)% z$r^Q|7}EZ?I+37^#$NnS+V1Nu`YRK7-}_|%s@gyo?5l$?C~&~DbU9BX>YS}!7sMY! zk4ol@RcYhO1)#Gn1fc~bw}ieq9`oUy%r*YIF*g@gwliqRX1+Nh`FhOZpR)riRQzh; zZ?JN0kDPYn(%g>c5~t+}+*XNr2$)?(V^z z-~_n1ySux)yGw8<$N<4zf&^Qh|GQgTwfk+V?o^Ha?woVF`*bfM3@FtMUF(ouoO-F< zv%qL}Rs|WM$^Xe*NX7#iqzb@>`Ys6mg`uRjP-9)MBQ2<%h`Qup`+mc0Ra zOyX)gRh?0T2-@u-uyOw2ekbG(Jnix|o$}X?YIKp^E5Y@xf=%^gl`E5OaU#jczS(b@ zf)MZjqriFu`dJ|@$RzS&l&N3Ec_bTIWXw5SksQw11}tkx7n+V$$~goW4MEq|Q(V83 z*=)cJcNyh<=U$tbF@6>&tyKFenKi5Q!Wth zP}3tU37jVs;gpCZbp%3+z$|J@DXUsVhqu@JKPRNo2!47g?-M=*CYf0jl|!kOJ4Kr9ntxSUuVqh zHYGI-SxpK{4#ks*p(4T577{;66+L;{)!=DkUC&A&dHTN;ZNc%PN$!!fLX$!w%KhZV zcLOihAMamc&8h(6!a2hl%?wpoTA zBR-O+RLX0)y;e9!gQs(z1_={#!9OCOeqfjPpkUyEz;A)*RgM3NF#hSS0Q)%=cN_UE zGg1KJ8DyY{lkQK!>e_!)Yzz$e^R6SIjSqQbr3%6TQ+84!c#KIx_i_c_`(XO$Op$`2 z;r#FwU*G?`iBUfCr@_LEtQyc5;8wZ8>J;qSm67al<;Kj(`y#Kq|3{0Kdd_)Cq$&V! zyh=B0SytWFhNf)qLAb$4&E@{2v2g}gK>6?$X}_ge*tG$1co zq2J@>Z%57RlM$jgww4VnPKVyL`l&g+NDM5hzPtb$4!iioF+x&EaudmDCdA^Yxplp@ za&#G652-m5JRFJTinMAaCbT@ZhE-s|65FX8TSAL+NX0GA`br`uAF{&|#G9P35B-&+ z8#H|h6Jm=bbf`2t*lXtKlz&?!jNCHP<;bc3iG_>@Fu%ZCg5d<5`9ug$*@R1gKuKS`KwziV_XQKg4rCNa7a{FpYwKV zfVc)tqJ05ny{}n_7=yMgSf|bFmYtvE9Q3bo1>&zd7h-vl1C+M#kTTqaGdft+uw0D^ zVZV47$m-*(%$dbtPU{937dHy&IFAb}$kBXcpP5~um^M=eqmp0Kr?%ZhPgsz#w?U-UG&zG<<$B_TVF`dAYYt3U=S~wt@%jFLyN1TUYvkY+9 zp11WD*M21QQokmI8AAMe)TiQAJKlW$E=!1cH3~e@3$p${outF4*cZ^XFF#N0H}OVY zNU}-E>h=u4(SQj4(=Uig9Cl?bgp@d+4!LQ&GBhvtm#{g_ea$Y`X_3WO&dHvKR&Eoi z1via-R19~l8D#}EeviSK0$WXd=7Cns&vl4z24g}+V^Ni5){aJH0qcVUQeP)vP>6^6 z)s&zSBEuzFo}KRHGx;ZbK3bi!Qm{Uw0uDvQT+Dfa#r6s+qjN4kD8^%*I1dk`;&c|u zSsKpgIp=z`CbB;^V!sNnMv#RpcB%ESeIy`Q;YdRgt_F-2`n5RpF2A}G4P8KR2KtlK z5!T{{ZWYA1^@}c;yyi%u287)l2ZP}CKut&a(_B!qMjdkUqzBu6dU*C&F%i7E(IaR2 z%_>{~rvbV~V#wdX*TljY(qolBrMTWwL2jP`K|YofbjBcM@U1j+f6(%XCn9lB3}sxv zDe}|f2jicSso($%m(QbWPuj@(xw%S*Rt_e-NPSK{R;I( zpH9s(=-khEwggNx(}Zub=e3ne()zlSM<5(fsr)XIJeujA1HJ7Vod{DphYEUu{XdW} zD9iO}`36aR2h_%CpjR8!jSX>S6Ds&L)nqx!L&Muo{`9%;t!fM_cmn5F>eX#MR2S|I z#TxpF^Eu(Uv-=tM4}MYp$&Qw!y6f)WCP(!%EC8GNvv`002rsQ{Oa+sfh0hvah+KN@3%{27XCvk6~4_en}RC{fh?+XOc!|B4X1A}igp+T; z<%vNx6w-D{{$rZ$pDip0bOFM_(#tZJcNpGU|39z;kumy!+$qp$$ogCM57Hvsj{k|1 zPr6KI(F)8C#MM&O-_)IlgF519@53R^{SwesUjL-*5obLmaZ+7h=&feNp=7S$*oNgt zR8}LvZjeXQ2C~dDB)deHC6d8QY^XTVOeh0C(`=*^*%1~!-#-PXv}wum7dn*V>!&)D zrKxdSRiwl}W41sovTz$c{X5PJQL;Ywd1YUG9TOl(s`s~`IPhJ+_!=N(N()tD%{mfe zcKp0TP-Fi28-k`njt6>o?~WndKul@ygvs2-rfMwM_;%^f0 zR6!GqYLSp89-zkUxx%V5Hdk#_SZz>KY0q&r^pBcHGFqq4jK|gTjiE814M}eQhaeSZ z;X?aNH`$lVq;w;_u$7X!rL^|W`;_gEuiswx?3GjGMgF7=iGj@$B8>IfIUdlaaD4cE zur(ncE`y5g>s@Cj%wEzWs?{z2TxFF4`IS(%4<%h;C8ktGpCVC|q@c&$geaj}%1=Lh zyZ*65{x`o&bK*ZQCD{NTAj!2$tQ6%6_vk4oP^10aF7p~1q4?Cl`?HZ?b)CGxRiN28 zfY+rj;{HQJ1RhI`O?)|>y$~vgZ*QcD?kunv?{onAYncMg_W&h#eC4LK^@)67s${9; zEU!3|CH@uS_a9jz z4;t}cvlFM1>Til&6pf>4euR9sjw-IknQbE%_J4l<{;e0dMb4N#Lho(9qSS~SKgXWP zJAMgKrEp5}atzee=mKZ`h+vuN>!06k6R+N6h( z1I5+OWduka)ow1j=nEBdrS&l}&hqM#gv3|SaC~|BKsZ)TPVVIzBqF4LBsrA?wn}y^ z%>C$?8(5TG{Y(5jSS}`~2u=etizKAH+Tzidb}N6ddIv>pm~rSMA+d6P1=qWQ2n>|{ zof6@g)))+!@I54Qwn~{6KrZ_YLg8sJKEGTu-`OZB*##kxyxfIQuUYeX_7EW&C8Mk7 zqLwyeky?RmQP}(jibH+5{^FkBTJBa^f|A+(X9bk$1(#+6I_5%5;IxAk!mUkmK*f^< z=<#FOU~^|bD_)2t`_H`LYi4e(_#s%vmpa=!gif;!A~F=~RHj{fK#xo(Sz?B*$%$6n z#YrBTZYkjg^6Wfe+X1%_WTs?z3iSku**|Sjro!#UAnjv3zm()VzJHWFDam7y(#Xpl zuIJ}(&x*u!{@R~w?=gQ`%GU5Qs^_QRZm7deV!E4DQ4Y_gdZ>x>nL`J^m74M?MpDIS zX8K)&ND9k+f^C2f#K$r~cNJPkHqwxAji$h7ag6>nneu&pYzlanc_48laKX1u=?SYz zHMh`ekL`<{bsjyI#aPmVJ`BEKB1GblFC+6w^CcxLs3;F z70kc*(ljc01az9qOsaOOSmCc?mrzUh2_LD-LPx*qA2I6zb(;Y}-jLJ^@`1mJnZMAy zWlB$EQqDIsvfH=rJETrV!D!9viD(RW)M^_@v+#A&Poy%CoA_n_*_?JulQQx87N)~* zF>m9jp$wbN>{zc>7UgNW5pqHS&*ltoHsAQuSYnHdx%f=S-db;qWM=Wa)n@z0F<-BB z0NF&3;WmgGm`Y}Erb9qIDRh_?F=V)6=&tUXorCyQ(f;ur^b9z?9&C(wv^w_E^wcp| zr3M_H;88!!j2BJGK!L||Y8{nE)F7tI^OspS(rXg&iG1NyV?znek%(ySoZB#oVsjR5 z5FS&Wv{!=59&!$2)r|ff`${WtuNE>jXP(MNGLCuB!M@R3mkDl zp-UT+{LeZE`_)_~X(q)b;vm#h9q6;seTZ;g06pwW22SviRKq?i2-RscnrMJbc?~Xi zw7x}(J)1ZW2h=vQfVd^m%`#isRfWnY-5D5ffXo*zoyr+f39P>=;yI@ryf(D72TAA_+r9T~6-eE+iQiLs6J;h=zE6*AO|- zE3XIi1Y8nB+9pBdX@y&@pBuhk zGo)Wj!F7oqG5Wfz`rzm$GFcd(R>TX!(R3;+$Hm`lrbtCuDWZk6KV;SCJo<5gKqics zpqZiRjTflCUkbrlK2s5hTfDl4z6LE3o<{6op>(J?J*smF&r5Al%haYot zw8M?@hY!PtspYYe+B`_NX1P`e1Vi(`)F2XX;lTTBGeX48fXaHfP+pH=UL%W7&QFpM zUuh7~es-T5eDBDi5k{flM>CgIN1g45 zGld@u6B6DvC2}JabVb>m=7MoFz&#_|XmEl|z#!n~G^jafoR*F2sp>Nd^o-DIo}BYs z7llxrdyScbz;9{35aRa(`owb)^?PMo9_8MNhEM1czdjA?A0QgiRA1NXMu0rt$QzoL zC5G}yF@fEVhP(8So14cm(q8J5uI1Oq8ZNyEu*P&c1%yERz3x4FCdftf9?1r|g}@XV zbi}Y`q+ABR=^3#zrXU&L3!%h?M%2tb?`6~w zsSf-*R~7$0F^4GP3LV#Jjki)yYk6VmVZ}&XhsS*x_BgK^=3gBdQ5iz8p%)8Lcp~DO z65u)xqrkwmeP;t4f9Km^#;NVfMwSm%Sh5K}6$M4LZVyHo!P6=zQ;$CXLGg7OW-LTv zQNSSCO1WDn)aQgT3ZtDR)h8zL5X)jHw9Vjv$Ky?JMGiWMZAQziwKgWJY@^Q7lGLD- z>%kA*E~pz|;pq&;L3Gg7zz2DIQ5X^xK1``Uj?Zl$Ie-9dX-`Rc_Q|ym9#Q7L8NvLsQHqZUhDr2hxbWMi^DstC-gX5w3oH&POy&+bQX^Zq}S*528aw@A}Yv1)#4>hN3Gbyuuld`G7I6o5o51@FQgJ!R7LHyndZ zzKK0_;xqqbu2kih1)d15IMC)5yi*GE>OW`gz@mqP^M0OH({-K8|CCl;I$(?B#D;A6 zeLtQ1KChVD#~#Mu7mSKzj5Uto=8oTU3c3HLL!&T1gwzOXKjR`75{5iiXjII1Jn!kr zlK$F6{~c))sIA;h^x(&g-F#vimyZJ$_vy#^S|T9I_h>ZO9FT8nKnYZu^YVAB*P_JB zhU^u2$KZ$k-p|teQs=4ZeQ%J90m#cQkHQPRQM(Uvd&RfC9`-Pla>9FBoqfBaTph!7 zcMyBbA_QPSL`)o7D*Wq$>Y9Qy>K=KnF>bB?T+?)qp-{5_pPpvRFM^Y3e%0>E@!tt)5mNxUrkSjCmL^vW_Ny^GS>-ERY%xHA1cX{pUIEvgvW9VIR2Y;1(qnq&nNouLhd7d&Yp9haSlhP6-*& zbs8QY9<7{G+T_0Mz(99an|#4R-hb>mO;|BG#rf~_SBu2I@5i>Flg@jCv>U&rvK$lDZ&riLPk(!}okm38@>StNpV{M6P8K3&p@%&9|NM>S$YeO9dz- zy2&k1hIJd0Z^fJQlXw3mH+o0Tulx*{qKv>QxT{AF8sk(c!YEyrR+G5CV`^x6g6iu; z^Xs_4%ig~!j_9w#%$3>=TBSX9qdaO&HPt1!hK!&2j#cf!zV4=2%5wwBzx?P0lY{Dl z8(K?RXEdM$%1PY71Uo_Zm;Y_zgaVA$ZZ`Fh_LHvDR`Tc94=A@x!^tzI1d`JQj(0-* z%5P$iG<7~EdSZEvlD(egF0}|#3_y8Os~J^2L-Df=HmSN*tU?qzH0WSlyMkTAW5c0xWlclTGk}mwDA4P#&+gU#~@&vJ=(*% zoPCpMhZwl<=+hr4pI*cBViFmol=X9vm;&WCn&|aAZa|vo;i>}r z+5nH|kME&Ai;V8!l5=kEk$R1vF3(`E*pSx|;lSl4@zX{3k5v%ram9PF5{}h~W&axW zQ%|?^SC}U~h+ab8T>+ZdFm_p?qF%DC&-1%|e2`5wSl-P!N45?y>C80a6u{?YGA$XG$aFa^ThMfj-@)<+zForZWwjn%7F{QEfB!J zn9K4U+z%pg<^$M6yI`(qF=O);ZLv~_uN`Y%DLte6+h$BFvO$%4QPHOT&u|EQ{oi|s znM5p2kp32_O>h1Y0^~PbLB>RB$JgORV@B=Q0XtKZLBNRxghG;6rtxAHR;jKwPAi0@ z!q;QF*MX3oAv>fX8PHLAQr%V>iLaJk@~@LZE9#HCUj1YyD;idWW8Z{}>}1`452Pfl zvbl(f=2rAyTO=lSyi{I~whrf!+4)!>-yM>Cr}Y5CtG?kL;O$b6ACu{gseohu?C(sTi#f?Lp8qNLKac{Cf#e^soiiQi>nISYthfwB0?7m-3niS9 zMeVB^^J=ZOO$`mJz@;sk?5?#Q1@HSCbcY}(6?_-&HQH^yb72k6oVwA}DrUPMejN*5 zp#Zz+%BBDds7;CK|G;|$@CY0p#^)SQqHN4U;mYc zyupH~LMz16mqbi@!bB4r{`dR-XHK4k>!kT20uw|aC#vGwrSU?bfh}-Q3AL9no6O>A z*&9TDCq2{di4D_rWL*qLXi21VE3x1jt7f-3Rqvn0qo$0c(|3Q*tLb#d`+P9w3cq#m zIMZYsTzf}fLic`MgKEGdsdj<-{sm7i)q+7VV0wrbu651}PB0Es$>4L=$-3=7GX`gq zBef6U%UcU-+A%%BD957qE^=O)KGitof1YjZZXBrw%s{O_Qr9r-H5h+iEsuTVSBda>vOhcO;|=KZ_uP_=tuwa~ zr;YK^IcoD6>?NROEch!WyA(*x#+qEQ;{YP)P2~YM>U)8GN4Lq z(^X{J={E|8JJlca`rnK3Q+{vnJ9w(Qv4PTbhiaO81@lP;p}!yRvnMC^=gn~kl1aUG z=7b_6&xiy<55x_74#bFq+OS7e`q0T@PHgBgnX;W*uui%uGAiGD^(lmu1d}{30N;eW z>`YyZM^YTs4;b28eV)I0K(cDWd?&M4nMJ*8p9{&>l8``<`NT}+D@>p}Y6QE{qUYX0bf82@$ShGZVR8?et$QPa7*4 zj}R!x56N}rC<|x%RM1pzCvX`&0K47Ul^8nx&6=Ju9c>he727ZhvI$kFqH5yEk(&uJ z^MO>}3Q4)=h6A&GwDEj(a)l;EHX_RJU+Xssk??85GtITG#3EdS zELGn{*9P6@NAOI+!i2ot!`F97n{KL2w##YH3`M-^ows$p>Oi;qlD~V)uq0b93j^N1 zq`epa&O6*%8w(kqAzaCM?JJamtg7pO6U#(5dgQ96rUbLSm}3VT3G|Qg z3z-tfrEfbCVc8GeQ!inrW@bABtEUoIW8!XK;B6Y=ZhAxl(8%!DorU-_%Xe&*6 zwob$XTMa%DD}7_ZF5u2CA#P7@CXEna!Dcb9%bh%=*Njt3(IIii^_%?Fs3W9K`qz^1 zd)?+|pcn2^{w_jCh}KwVdos>DVMn|4AaTvH5Kf) zT3N)t`YO}B>m>2uKTP+FtYrrCKKpWgF*z-5;|;@x#>l_-9ssV}o{J0SflH9<&_Ywb zsk29U<`=CasJkfq-^5F=7@1u`1cs;IBIh8>)J0Yj&J7%q*r3X-CLBa`BFM=k zROA^n><+qEza>06rg=N*m%v!BCE_Tc-J66-{N;30Q9;yfq-Lnxoz^2dE@i0z7al=N zER3X6l!El$-v@a8Lu9eF(Xd(93aw|DiPV`tAFXUs(MwuP?Wk0M6L)(jzY@pL*jYb# zz}$LqWF8*|VNw%~_Q?eh*b|l@qmAH;8gsDEgni<81pmYFtVFX>H&>}9BqP)$#P%6H z^wt!)bVCbH=$%I}VsDyt})kOimBJ+P1M10^|q|jl6}UgtWL6-*;@^g3sh~VjW@p08OP9?UJ@zhj6d9H5Q3sVFBi^OsR8tos)<}?fSWr(_Z!*Wdhlqke-#0g&vhCXEKc2kdRvFpVG$4 zf@?s*#VBPPuRW5ieN+WG@aW)m$=nTF#VMwU09pt<-J9%#fdZrp^V3S^q|PCb!KmBw z@BW}n``^7)jwSJ9LfdYK(!buR}K;}L{gz3exWxZl*IDZy>@G4^!MiyrNmVcD| zaO*EWXQ68`8?D*tx8W)UzeU$lFmm0ucnxL+O33x zfw16TmJQ^0|ML5?a9P29OfVHfqCC27qj7bUAvBUbx&5~1 z1%D$;9SzPYMhj*alMk<6^h8CYiY6|yw4nJQfk|)kC9ZM1o|a7dd1zlYKa*c|&Y5}~ z7BzFmJ??&+o3~5}kWlAgw-i9C+sX?pdAy%o07cu9E)&4c@r3Vzz4K>SqX7>b)RnX- zM8`->n$}waugn+zq-1zuv849h={f9cT70Y?LTWi?Nb&j7t#s1ZT2LO2t{=bJFFM_hz90l2uxx9RgxJUgBz{xxxbFTusI+jNP$3%^Sis-; zjwZ_qi_p4q)OJW2>dzBM3aG8io=v(E;79z8E?%fPK=A6GKFD27N>FA)s9U>%)VW5g zNy4Y-r}uPKGoUwM)h6xpdTiZh*e7~qj&9ewy}^7H)Adi5S53=&yZX;GR8SH}A;I;$ z1k?ZBA-twWi(Tt>yA_6)M4RhbLh?es9E#69`{$VufKL+3!~zp{yGK_BmJNY3Vwxw& zIf$@=oBoa&dmM|9IZ^CT#f|#EnrYK{YAolTKeMZ-1fRj5y769_Zld;wSeYSE^*!d3 z{}JSdGz3FuX3fe^x{Bb8g7r$Ncp(^NC~_!=3`*YS;*$DU8$*#ebhr1t-7>yHSsn{^ z6r8croG(!#UI3AiV-Pt`7+(9Mm@wH~5~xf}DLQn zko?{H;%c-r9rVZT>F&oOnxda{JMNR%Vtn>_N7ra@R%i9;WQVA9xR*4}efZj)BbIow z&uvI2vEEbDUkU_V58Eqe%?RTqTiCL@(8{&;A(@J>y2?A8{=;uenI8?6wc76B9 zKN;dM!LA6bzNl?bQ276r4}eTUO7X7Uz&=DeutA|4aWQ)_qT}k#9kMr=9`)GH85Eq?OgfYMsTCU?k+w zo!ADiY?$PW+2M} zDTE{wVWAHk4_Od0UtZx>H466W$E+CHK26OQKH8`7cog;814ka(yW6ts8F9@wvaMXTn(sF zuWUaZu6f!{Z%1)0QI*hIVz1{F{$&A2uY$btx~u?@T}R>8`RQ}Rw|#O{G-~1f_0=b( zHo7V8)aq>2s$$}ve=`TzzPQpqqmGh?XkZ;lXH2cjn@SsN2WjWmAgkpIp#51c7p*AE zZ%7h#MAC;%UMLr(uWL}#aJ)Byjg%e2yC43ehP&w2PZz@wy=T!Rx0G+CmGCG^B*n=f zrb-9UrkC2&!EgSa%*vtYQkA~i zK{E-ukbX)3kL)@OyZo6O>_Tdc7E?xmM?LTP$&X^{40mJu^3ON(n7QBHgwA`OMwk&0%%XzjDq8X9&}hI{ z8QiGt>(RSas3t;+hzxSqu2Y{WAwQ{Xkp+znif7=OS8Pb6=_6;lU=S}E_x(Z6zYvy6v;X&@lyHDZZFUhF zxlC72wXS^plvlCYu2@lGBRW21FR=iZvdip+z3i~c?e#?nCaxWME+XrE37+y;Ogbm@ z({lYkip)(K16xm)5jrwlKgCsN8bNw@z4P+n^3Pwz(?&i)mnTv2?DiA40*Usq|HF|P zfxSdvx=~rfth|^e!s-CwY3706M4FF_BU5tE0UrRhHgY}5D4NgTdZhmxsk%hXU;RHyqBG2?TVliTU4(RJ%vW-rA=F~fcj^nVhQIiq4|F|Dvyd-)JsHP(a~TE#u%@gHXjR^t_$I4%n7nXIu(6A zS{@Rb5{kzys2Lath%lzBe-uc)Xlr-szF0v`4XKEZG9OlIMLh-mk9LEp11GeE&kdtn z>pwEtua>bHPPZ7mA^Z+*{0A*8_OUxMFYp=|fgfmUlHPS%(l&%R%!lY3XoC+7of(44 z%h(;d!-tp)E0=uF-T>>zg*%-)wDwfI&Vo6vT2}oR^PB)rufKrz?-R2IsxK+7nLJ|- zBAif){@{ZS*dSb+v|;C2%>0pM$4)AE2UDlG7zG|`xxi>-BORu!+p717bt3k$l4yZ; zO1@sOHP`nB!crYnh zAs&A@uQS=wlv_^a)TuSZ*NGA_*ABBAePffnBxF0Rnf#sx`1Uu3!agL($`6GcsWIeI z;@Maui@E-oL!BMqa!tbLeMU<38hQfG@4eheXDKWL3y~(|)kGtMjB=P9)*r<2;;udXgHTTQM}JPc*m!%tI!0ltzkkI4LH*fUPpvy%=)(cf!{x%z z7-Ral%a|T=SW9zQAEDGB3SFpq3Zb8iNHjBvd~xFEPAm~p1mvba10qZGUV91^mYDAL zSbBAU*vjlWLr8&VMvWNsQ)UBvUp`#&xu1(iI(MQD4jk6FBBc5m?? zxrjAdHyiT(cA;drm2o=9*_sZc0 z+3gsB)@;wy<`3S=SS(iOoQtz2Lp1kjY)h3ej*4VPf9ux=oLHTo{U`t)Eo+LL3JR`j z9mgeAqb2}lUaO;}97dV6=;kzs9omU0K~t4R=Mu#9e-8MabytTXx8bbQNM-zFyM~j$ zkW>mU7Npeq5N!N9(cQ8>TuW;R@z(+f(u0i~)-)XS^mD_dJa&n0%2>rEf^a>&L^WsT zAR>&~G^~^BmD>1zwXgy+Lcbc6c0V<<95%dSCnI^EBPixr$`X6+(K$C5%UXT9G0qf{JxJ$>CyC!bCvb-leoWve>LV&6*|- zhGxb-ZT@>So57qMEX@oYoG7Y%Hh#9%SIJk=Dc5a0XR{xjGZQIb)%oPhIE^R6j?G4E zVv2dIFfp;eC2C(zB#%F)0p7*mG0_}H-`J3)T=H-WO%6hXJfa?7CwJ0f3mpVpZH%&j zcA-e7dDSnUFfo96)NL=zFSE0j9j-fRV`u#QO<=uWRrR);&P2kZrVDLFd+}dMisuBD zg8GRgwN<0_S_tJ;GQg3V&AU&emY5a{c3@ z*)Wq47LoE}b?A)C>%HjZyvHEg`=^7b1rZ7R#D5gg>JW6So&czPxyyIy<^q-Qz)?Gq z!a}Q6v4=V`hwVN6dgaL~u&i6@Z^KDk7i<1m-*WXA@>HRV#5Z>MQi}9*1?pNQov5!B z;X?fNPQZSXN9{FrI(p;Cpl|ecM&ytd%?886EFNUqKX1#(7!tv0yOy(|K}ET28AO@% z4Jzri-?bU7HwL^AG0J9mUwPgKV=O4mE(0Q}5__8dVm$pf<3Qr-&^zJynSxSXuY5SQ zZow>0IoGId#zh_HwsqwEVKEhyep;S?${moJ0P65WDpH=D51dXVjZ_R)U&1!L=&d~i zvBro=86Z=3P*`bY+sm{tMDt4jpyku&@Vv$}hNBH!i9Cm$qCKw5D%#F|2-MU@RY?Wi zwm3SD6)ZhW?v)|bi3HL6AJ9~;GJN3ROmunQnfTpx?7BZ6{dAP#x@hY#u#=szz#$so zuxNHB29g`i}038ISC?A)aNUk+VN(X7WgjD>rH)-LP~9g>8J z1m=_P6ECZDZ7Xyl{Iz*mG4XYzqgHS^ZXA+94MdJN0b;H~Bm{az{H;z!HS8PF=(o+z zMdK5dFJq(l{#0UmMZ5Nr8Rwak4kkcDtCF>Nj6nc7WGuU^T``?a_RUtyw@Ig0x}gxB zSORm5*(jNf;eezy&)I|SoOw8&D0gvY#DWISg&$(8_$AGwXJ3W7Zt!YGxsY%oeuW=` zg!h@RaZ{>?4D2njL%uN?%2+00S^g!@5^MC0aS8u>urRcIHsk$<;P+s8PDBX2!-OEh zKvZwxJxN`|<%EDDz#pp_Ga-cF(=vEt9PD0Qj<~)B1P=xu0VpeZI!+f|yxmWoIIn7f zB^L^1F0yTZ!BH)=%YU{1!=y6|scnLCy!T0iuDhBvasEt++d*ZWVSHjn-maBoq=l-J zK|vf*Aucehzt3G;M`bExgOLR&cwrzg&@g*FRa_pu*-8n!Cq6$ZBMgT4R=OumCfF1Q zqRB16F+UT85TZ}e*uys_4u>;_=s#eAR|P)o#%63Nqsv9r0!q`!6P+^u&U8*XJpO*y zfg+5vD@Te^i?@$(d9IIy=Cz6V4ZsPkwk!HQv*!q0{=ahzAaN5G7k&RFd(XhS`^+7w zAku0-7*w#rb^V$iLDA~q!_;Hd@V)54jCa56Yp(bLk}F;gL=GjKD-5fjX}{Js4lm^l z1(J3;Xr4WMSbpFqsWfsow`4qwG=CZhx|dgh&y=_I$Xb?_)uy9^WhoHHrDrwmB0eCDLQ$uN$|fDiijKHzVw#0~nd{(Uzq4 zzJ-N!(f&tZJYUMZtH?@79=BpKe+?>m$+CqbW*D zM6?p<)eF5m>+*{4{SI_MVzRg?|b3oOK3farnx9Ue>Z7l(JNH{;0*n zupvpr7NB@~C4|PO&hsg78q<8Yn+_iw+1mJ-t+9ac_mo_(v4SyFR}*!8K>>UMA;8|fH1Hm`FFg-y4}$=okKoz#L*8B?z+$|Ci_o+@jbP!c+ z@{;({RsADl>RqeDBq1^HyDbnM;d5g6Cei4gW#4QiujPt^k5BK-%?)qe2|D_M{Wr6C zt7 zJz6?8AgrLjOFa7={f`eh-Sznp^x?y8f?XYmn9Mw4oQtq2pj?h|eB*Lo*)D{LvS}ak z{_&IWdHdlZRoK>3Eb%ClqIC-!nATl1(Q?%We!*$fShKOXAUf}LH$HnBYDy@0{pNK_ zMK{t6YkOX}i-KA9B=pK+mJ#d*YE@hEhcy_nHeuCHa`UMx!?3V?NTG({n4sY)G1CX< zvG5{rOVTUz;b|OZjP47UhDCo!BH(OfuA!{84F#qS;wsBmiz27AJfKek$IVij1tL5X zU);7A7{4+@8H&Q3!W@LIlPwhxr67wU^ZY#%e;i=YXm8o#OijBV0~ec%tSl}stf9^8 z&BqH==Yal16?A%EeqefixD)ba-jBg@It`_FTMZVV@-bD{ogh{*&IM2~+4xgH+mu}y zJq!$iU7MomsEpv0?L)o+>_4c{#7Yp@rS~8sh+HoxWU%)ipCO|tif|Xyhk~-=2tbl6EQEI# zbTUdZTlUJ>|Ll)e0HkM?7=qf3JchqhbT^3s!_DF)+E%4e5RN)PMY;&_3<0OQ)L*C4 zh`kj}B4C~62{ zz}cgRptX4=l(z%KZk@0f#&(nJ?;?MMJDQ`;2-z)3%4b}@h@6AgwLZCs%D`Ah>r?0( z+6HVl1h_Kt1)BX}`<~&0@Ry(2T=I2vW*{I5$Wk(J20Rad75S1ufU| z4`k}k|4z10nAuNTL67bEI~lrnL9hx(bs^@Tm*0IWlc;U?Z7T_WUyFYv2lYHgfAZi| z2dcn-d<1d;H`Q_?77ufU18eN9qc@tAEkB^a7`sr^1x_rA??*n?l^lt4`%0c-nM!lb zpy0)Tde$X`iyvSu_`Lze=kbuyvdNxlc^DXX{!%Ah6M?QV!-ZO_BPrk3Oawf<+@hW^ zACu#YH~M1FXUie@89Tp3Mj9Vuh?thFi(J*05xN_GJKh@gZryehA3zsb#GcOt5`al9 zH#3X!@MG>eofi=bWKqOfQ9}L&vgT{d@p8cm2TR90!8Q9`4Ya10T}z0XG%t;Wnq~#- zs(9n36%ROgckMZx%PB8iqrT_~it%iFjm%)@QT~P_ihx~!3)ebo#@_k{x1EFGtp@-!J zD4A>3IlJZdb?dO7;FjLLp0%57+eJqu+5v>f8oo_?;wel4JXJ(2;WieQ!qKmWa`3;} z+Cvrgg&mbTp5&2J;dTmWjSg}4Y0lx+*mQD6BEJ<*h-sy{w6UP|(wGw=z~Hj#_y^B_ zWGSiIZ-Z(kk-rUah)Yo61K5;Pkr@Y#YuclCf_jF#;s$BBQY8wkQlbkqkaJVy{aL>?s=}MRc^OIK7Bu|7C$dhERn$K~O z(cSMtH;bKV9b8>-U5Q{qut;-cEZ0s@QCRF7gi{S+gd$zG16dCSkVZWp5%@IKcVgJN zW}!Nbe)FjdvM`hf-^iZJc#kaWHvj(ZUUEvVN1omO)j**D+hV7XYv?;dmE5Gs`>vm~ zL#ZzhGpa+@MBCpiv3Ujb6YD=oIn(nNOUNgO$2i&DYlmxE9$(re?wxLydEb3E(x5&l z&m8XAY4L#DF%Y^3@O|r}?Y1+KyHmp8YhW*)NG6L{P%ovLsA`KwOQH`AB_V1%gI6<_5J*r&BLif_^8n7FW*lMG042TCY&+tdx9-Msx1i*_okzR(?c{ zMO5A9^xWV%kVw=yN2$nPFDYG#A)6$1-};}ufVxH7O-(WcP%MoRPcEbV7BR0)>v@}7mzIgf$SsF% zg>v@!u;*+Cc#jjoQk{z6IWzIRcyIhM7@YZ?hT_}xkzl7rdK)w0P34Wd02Yp-8&1ez zSQ9*ruc?0srtfineM6M?7p1W8f`H;hg!X|5DlW*QWoHc=E*xzk-1ua|qs3o@L2p}fAJ_JR6h#85i@&2GMyO42F)L0J81=B{CaK8%eiwU+SS0Pn^LeFNzeD$N z%349;dd$s6x;_w3&}Mz&|Bp9}@q^7tAl(H1Q}zgo`?!DCSK$lXBJR}4VKD4ao9&D( z7oaMuUvuhM{cmE=liOePwx$sr>1qQ6x*d|V1UqN93DI~SDuXk)`F{vKIj(d)KEF-F z`Y5p&9JdMazP-AMzK%6J*L1yZd%4HVxe1n#fv)4Z$)BUgQYCEvo7mURu~;pEM8BuX zv(eR)eN>NF}#S^xwx-*^al7+ctxF17OK8uH=)h;5l0WHH&0&jr+M>ot}B{=(RPz&yAe* zck-+#!@;xIh~M#-=i>s!JBYt+?DI(?mv z3H~1H4vy8}FEryucj2mg%^y4EVQB|Z@=u}`=tp^~*cJR;is!nO7=K>?1$5Wq%;mGk zKnjEv{xh8|_dasPrN)HP;g=eS-+!_4c-cbFlb?Aw!gUZ5m_vRE2 z{)DEKnB}6#hHn@6)A=zpaRcWoRz>_0ogfeR?KgtSrUu=X9@SZxto*ZjXY8Y**IBpelx% zkArV@uxc}Q{I*L)O34QFD*sy1Vm4{*hx+uk-+oToT1JeR{LwLwv^c?ssGkE1&)8`3 z+=>l}TkGW3rq;Ud51E72ciQ_4zsBPG z>-uHuqh`zk0{6IH`)KQ5ZIJ0gT_Ae!_t~#CGM{e{T?ssh)hTy6bwf*I4ZGhy+7y&w zhAa6=g4x4R&%~t2Yq&bN#?Wbk3a5N?oHZ00EhJ`}B@-=VZJKfqX>el91_C_doK1u8 zV+pR|Rs}E%pS6`YgSi@)F0@`%@40KsEU62NlGOzZPgDf=8o;w5y0Z&vbg;Tc){$sO=pdw@Z@H{GeKF` zb}>tUoh6`1*}P5co&zrj;`&MLte<%+ooz6S)yyqqbeL#bgv994q$v-1iL2);{->6j z#Jjn@8;#fqi)NJ$dhPl6I9yd#eT8unZ8mcWDXX3ic@c^~5|V2&mYc**+Nff}INWMs z5FjFH&Zj>yp^39alNv_K#vfZ$wpSMj^4Nj?_k@zmA+J#$t*TbvvY9%0xyAy?VT?M0 zG?~vZvZ@dJNY(UChx8mT500KLe0TuAkW2VDZNMES4)O$Fw{7D@*!{B1P`u^5O141F zAMtK%QT>GHt+J9*Mm%23qMRvGkIYgC0gwdC#P~pU=-T0}qFVD?E8ix;e0A@4_TbQ= z6sFmr**6W8c3>%&9G$`_Hz;-T%GI<{MJr{MLdZ)AVJOGnb48_o!TGc`6r{B!)Wy-^ z&BucC#d-6*ZEpTxaD)C{i=6t)aK9rW7whw)qvI%hyfMHm<&OqhbrX)>p@FF^IRH*p zp2ZyIT97GD&oTR+_+`Z>*HN7*3j4fBeY2KR%`{~gB1~su7P(9(8PPVpBGC>Bq(c4X zxaC{LJeshATdIg)NrI52w5fu4YaXj1cFv#yatD!>nurgZa0s?W5vbY4qf8Z>=wjSa zNDQ~ozVg94jtZ3ywRw6IA=_-D0sdT;k!8D^`*X1KIMe&FWU~9$(^tFkrC$z%kfQHt?;HhUX+K%8ewNk06;a+8<^AwMF0@+W@II4P9b= za#(_l?^s??Bt#(4@AP5SvRI}k|8_0lFya zK9Ys{tdzPFS|d$QzE02$2^hqfP-^`_k3N2vsnIo4rZZ!$OI6ZF%^{EGj<$vrLi_vy zvISWE}(8R%4W~5sHy!%N@@FJ$#4I+v1>Nr9zt9O>34WfaSxa21u~c-vXGZ9_ z62u&T(8cD$7T5f(p zbaA82`j!)gFyPo9zxoS5c1SmZ6|f-B7gv?)*d#qGum@R1ewY8(eZ_-jCWjrxe-LN2 z_4tDt?-TXIfde42nqp#K2x&`Ok1MB22{TG+pfIoq&|H6Qy}%gbh#V%hh;4P?ncD7S znfLBu3K;5D&1Bzs>bu&MVauUsQR_So-cCXYigo|y59a?IK262a6gG@#h}&Z8W;cms zfvxpQg~&vZ*zSC~d8gvv2+p!`!?NFfunhLp$-yQe;0L_44lq%qgEBQvSM=5=P&ZmX z`Aed{y%oE_=FKq`zhzRz8aDFumCaov7X4^i4-2yC6KGz!P#^>I3xzJL|5_6W(0W?i z!tJtmfj*vxL|IElWEw!>59oYt6XEU%#|B4dPsk6yO0RXT zzfjA|`}bfLkL&|e{2@(q1N?Y#J=95Yk*7u_WTHNF*PRC;zH5zJ5TAdHX1lfq6WQ2Y zKLN?kvtDVN?ks#bp--^9T7S)6ROI;9MtTD!!vN3hPy_*hyuKf!1l~Kxm=K?cydn2T z?3~8^bSnf6-8}5U;LspCWXJQ~P(MRx5Dg|xI!$ByYQZ^FL{zw~kGo0XFZsZ?5A*$> zFqG=HFW(7n3tobFc>9(AJA_Wlb7Kme!k8FVIg^-u#}0&=ISDCY_6b zg+bp+OCZxUkpNK_RTiiz3>1?}9E_r<)b(uX07&KtQ^2p2TEx3cWDu9j>&Fmai44~GM^ zz`V>S0fer${=xp*dvpmzh<2?UFGcu}QpDzDxreS&d|zEZ2W7u5j*Qxm(oklqDF8D0 zn(GZSXjEU5=L#rqOl=o)MC%ogxRDDuVL@M9c4g|cWQ0F*o8Y@%qOOo|E;Vp%Wp|Xv z-=}2|3Y>L)w^110DpWL-g)1k*h!A17PRX09sqtY({^n2N)o_!=cX-meo0UNDzWSxsM`D^8$Ym zMc?|M(*AOFEx_07#nC}G@Y2WGW}N8A$L4i7O^kHJa_?ux&e!zroPx$zjdGkOq);mo zyUOK&eH}5#H>=R`8=jfFc8J3REQXWRWtHvqUy3$8n5r}nQVKsg$_Wu70fe?!l)Fao z2c0#eT!y8HOrE>E2bsU(72G6R!#9Gm-4w7UTV#<{RkxJ|jVmtj+BqU}`Av^h*|sz2 z28?_zc`L=0n(8W61CuG}j==d7c^;9`rA^%ksl>a4i^#_yzZU!iM+reEWC~P_VzclU z8zlYNXooLq{Xde(jmbN|0A#XKayb<6e85dEz^^6UZG_xA@KW!c6}%L$y>Q3C(RMjQ zz2N|g-ARi)tVKJ;3R_7Z!a23*{~yml>J7?bPP0X59N_Z2oepvg*XBmrw$-yhoi$a;P8;g{RQfWT^SgC4c6*JKuyJwZu7}&~vlEnkA|~ zUZ}10(1rVzg*u_?Wy)0MGue=c?|mN47;tOlA@9}AdiFEg!qbTU=H{cpza<_$WnK#{ zQu3F*>N}vQw5QcBgsQ-_*M5TjRe3lhTWuG%N`{>Lg28ama&INPF2 zb{;p;ag5C@cP8bcUnrD#91q*sUbM|F{?Fsw;u43&h)_*2HAjJ63HOqkLsvX zvfrf;=hGV}cfABA(NTca%fW}q$u~RWo5b3WMay5a$4FnvC3$)Cujw!ZZfl*Ee2N9F z6~Bnbny@)GAMbqSWG%ED!n-pkmu`1=`_@&wdax&b%UA1PS5XKwT6cNgtXp|w`8`^2 zGX4Vg*J;$sdHq|>VAU&P&S={!lwyyydo=fil_fbWN?fZdYljk)C7aD~U)HpzSRu;s zEle`9EHYNWz6Qw6nt2Eb5%>K@i!9i5c-G3zt9ZLPv?t#yx7*7&tvXmpKB%SW_T=P- zu*BqkYG9tY90Mv4umsRVzFwDyz_Vm*1knI6@=dUgED=?=69pQ^TEV6d_oSE3!V=~X zFaT#M2p4aqfZwkAm)_Ww_xkP{^3zGGTg62l+=I}Ij1(fq^kghSE@nC!-dlrfg1?`4 zR9La)x$6^mtrz*HV=w;Rbnm4f^k)w4Sx)NlB?p-!=>qMI?fLMBZAuupaH65x9h?Cx zq;`os@%axj9%)bjeXwjwE&9rH4ee5ESy3$=#SL$rQVby+;nD}^Wuay3cFj9E0N_0` z0vL2$AS@HAdS-pf*dSJd&Ue}?ch?=1x9#udZQkVc@i013P+P2nh`l+7p*rL^k&CUS zA1`*q;_%$%(#MvKG{7_=652?;tqDMMIp+e8bU94T_0N|PJ&MB5IsJ7pi8ibMe2~M}D0Ah_ciSLyW%LkNl7P0v+b9!Ly{SkAkqo#rxTR`rF$+_b~?%F`iimJI`BfN=~Wio6**NcSDHw>)koa8uVpZ3lIp910q{|l0 zA}*1FOA&|M80jiI$y${VcNbCsYlBMw$T&#Aa^I2dY%xaXU+?eCXauP9Q84#9nJ)#M zAqq}ds39?7iuPR|OI~7Bvg3y#=1lb1a*mlixEi*=%Hf)4zy8MGtx|=e(!FzcIeYs9 zADWlTg!E6w`9sf^sY)%;sh&jm-W9fAyJ{9bVyKEg_Cf24h2SEl&vC-eesp?;jMPOA^nejDI4K^W4GmW2?PUZhW*wiBu z6{WMJ01dF%8ub(56D!UiJ;~i6!!}Kn?HN>(N zMG^8@U(LETf<7f6foRnG>kWpuLES&Ug*D3O7^aZLMk{_HCK!PI=z0dn>*JhrgT%D*8Sy1ihP^NE47@*|XBoB_#?^s7Ei;d*kMp%9Y4Dxo_T zW+#`(?IRk>Tdqo$SDy6Q)X;uCZ~gkYEt<&{OBJP>1KjvAoJ_dDvxT70-Rs?y%-sp6 zFB@|S5Zj1C>ZMW&3s>pAm}+02^W<@|{I`%RYoIWKR@`U#LMJUtl2 zBuT!3qEbZ$0h8r_Br4xX-M^eDRvu~T>CB%8yont8mU%(A3*{;7}-w4fWlYP za;B#qdccU@!>})Rs|{9glVU8ec5~W^qZz>1!{<;>V#O^iY4Py6uGJ<>fQq!x{1Mzn zefX2sH0^^}*cP`C_kx47z{*Sv_t(MS&oE5%y$0k0mX;$iyLjdt8;80x#T`PbzRg&)fJG zWj>RLVr59sZRiJaoXU9}Q3L~NKI9)o3(#IzNimt19h3`P<1C)Q>q?Ts0oiGSkak+zqXFb3 ziCxD(x%oz$`y;{M-;%2V;JwfQaC_v<4Hr*-7prR@MQh;nh2UlW7&+~o{;~^nK;e&*<8@lS7 zw=4V{8&r`x$W8?O8G|UcJsM~BskD3kT-}Q z$~3=Y-}jd!-+0sZR~kUPUjRWl9^K62%Uc-zKv)C{IadxVn9ESpfbI^r^tPcuAH6mi zA<&q6w|qxECPC(wkZ_<^;}h!L42+jPv->*m$#K>R2|_S#;U8%@&**w=^&VGZ>t`3yMq7xeB`^2k7PgsttZ z;g^ZXAf~Q}fYUpUNr>vx?HZ>i!VrncLXGZfTUZ^HB75WlC}6ThaRFcRZr0(Z6^x;h>I3T0!R_h}#A2f%m{JJx zV^8FpYVTD|G&M_2Jg3COu>VKELJ#1*NZ8ed6@jKatXl`&=awb)_nXo6$hJW6{1!_e%R!8ltRkK_l_L4mg+^liXu` zaGjRAUU*D-ax{Mza$9CuI0ulM_`HuFT|{nOY&&{S$0}753ZNkfea3zbQI$`~+X;R> z@fswyeyKMZOe?DR&}Ffq)KwsS3ZQ{xsx<&`!`My38;a_+sPCLPRuzfj3H#D2DAN-$ z<`a?XqiP5wt`mQj{NF&M6 zM9n`fbWuIMS=KD)Mz|^#!`0zoB-|?wOEg+=Ft`lgVxEdG?e&7L-x#+!yU+Jit0-7> zR`vE%8;Uc!|23~}UCD_qns3i52C8E~h-$j$qdSST^k$mkj2+0F#aZG2(&ydnh~p{| zVORzLa(g(D7RxW?ZBg=}CUS=_)@`DMuouwsKIG;0s@^3xY$No9Q5D0AbH9_-Auj$+ zgcFfv)H9Iw-FM!r4W#Vz?6%~D{$bK$W92MsA$&}yex43Iz9zFges{ecdu|=WGIeir z?b7|~rKBWp2;@W84{6Q-Jj%H(Si0th|L`DTmcPdDCRZ^!9veAHzHJiqiuVF zLb^soW7>(Op);f^NG>sBzri1a?OZ@FKHy2<4&N2~ugS z9Af{Dzn`}zjn4$YZphQ32uA}~)liGPkjj0*=aR)24o5=}LBZ}xdSuK<$RE+&rgvsS zVaeUM2)DIW&*(~kd^>vLPH&DfPZ;8t-H;|da^0YJz9d&@QByXjkW==JRVB}cFrI2lCFyE)4c5Mt6I*{IUtB%eA$EB`E0iQ7_WsVf z4T&c{F;QTDWpQXsI^2nH4`?sCBoGfA!QQFAa#5}ze=zJXPn_UpsO2?HOUQR?tG=av z$rrC1%33TN*G@M=Ba7U4&VJht6R0NeDJvNOw_S_4<)79?zzZ#;QH_p2J1+|3hW~)j zmq)y^maCxF2U=(-Ksyu=vr@RT({Bjfq?=@L>1q5PidZ8vNcCHt>yc#b^@cly;Q1=E zm+!p#I^;PpnqXMX1%6bYWgMf_*C-fIq{lezOGTh`a+&y1QKh@ELZZ5(UbLY_AEPzDOVl|kG z`6akY2T67e&gEW!_&a)s@T!NJGDZ2y`Ft*)pv+Qaq;`NC?P=!BuLhf+=DFf8Ly_W;A0`F6ywP>+c5ClIx(7^yyL~89kXMs*$!J+FO=&VFLis0ne`6fsPBl zE4(|u_?K6C;-k;!ge5@%4E)chzP4}31JlJJM9DHDtpMI;=6~-i_NvaMHg0F zBr&uTz|-~5uzv4|3t7YugoXmo18iDR-sw!SR{P68|0+4H(0%<7(oe`syiujOxDXg_ z%W}+0d$E5?m)PKq_7(?-!h0y_F~0M%)?8obn-Wu*L|}<2^Y%*$fuFRFlQdTII&0rF|m+gZjLrh0rt} zEzx&?HiX7)a9RF@^mU_t2R>8-?!OoJl z#?7lsa}HB>!`OZ_@{&2p%?f1-$dpOZYzmzxJw|u`3@0mwFo9?Ia3C4c7z%ufg36|? zYwmL{wdmon4eEbgbJvJesng@|0&b{SV&HHA$LmAQm}ON>@tPhYddp$Pc#~E|jkKlJ zU@vBy;T48Jz_Gg5>#Ou_!-Vb8ZotynG^=D04AzLSUP{Ow^#xkXIxD&GZc(>iy)ey14V#B5|Jz5u!0IK{|Dx z|DpxI)=8HBKBsO9>TPdyO=DsTy{sAfcwqT_0u8NUZ+YdGfJ(@!^!$1We}w1j@E$(F=R>c_LkSTYkG%KgwV z)z02cjSb^V`ytx4x~_O)<%`4bgQGmy*bg3)TA_N?-sY?JH4zS9vx^*MeG^xdJHj4l z5H?JJIF!bTC>_aBGJAIwd9!RSXBv_Ra95E)P?QcngESTRlgiiIBfaJ12OS}Y%)#p}>|R%Mq?W>9s_!fU&Xw=JN-&fpG*0DU_v>r97F^uEz2f z?#P5Hk>%@kJ{Sx)aXvN#OMYmU=6Q5B7h;uN;pCWhICuIs+89b2~@_M<#bmv)pO$qu*A}n zS1+VdWxjGU56%i5g$Eb8<33aXxH-#hYw_RSb;I4Pr6s>>ylr{&2IK8d)Neh8=${HJ zym(-#pzvCZHAJpvq2P+L{m7kX3&f*4_im8bV9x29Pm=o|0tIe=f<>5PI~&sd+yo`?kaF2z^Zb~SAi5W9>CFYi{{7TrYv4)*4ub(a|5SIDQXkwxY zX4%e#kYb#>o(iq(sxlP}b52eB5{-EhhtFdIx}>Hwl$wm4)KUc%*gAn3rNyD8tHLbY z8WxI;A{vP+bx&>C=KeHm3nL8G>JoC5sk`m-U8-v!V)ag3M?a?lFz$$LCVJG9_=?D$1|sK$zrR`g9nRb~z8d;wjO z!jd4p(FhO>1DweVA4ITzGY|blOknqSAi=;l zXRWXpTW*_K&$KSqP_JNKO>C&9frs4;pl1@zoKv>LA+CE2$9;9~;SkWeJ zVaZ#N&w6S>`5>U+ijsg)X=R{g#5@ZpeY7ST(fz` zySbqn9?)M6h@br#kiR_~ln*X;u3heqnA<hy-?@Er7x+dt~hAs55W_8|oX61K*n-^kHv_ z%AuLHgrRPV0b;pI!v3`|zE$A*>Y3EQr4U@=$V{=9fN17rNV zV*%kp&q;59=WsJ$Ad2rA3xPNRz)6LO1sigC{o@GoJ-PYPAL%Y~#^D;u;|HPCzkaCa zY$`-_@bpQpZg64Y-W`&kxPL+?FBZTCAln@Y`Is?zdH+AVq#el4@i1gm)V)83gXcpz zi0Pr88It?~rPTivY$+2|p*%yAw~h97%9N48z{GiuoxfBT4PpS9SMaa${b0pAofEcA zcZ2U}pmFEuOI7xmLLz2&CvDd~Z+aBSu(_Iy`*!O4e0 zmVzSutqujOQq?v83BEZLur}0#ugTeD%cGx2m&?C*dr;_(faY&RXST7(0*|}ZZwbN?+;3J`E(4bY_3cZ=XacNZ>PSEo5!b;!EYsJxJ>!+dq zhBgi_B&-eJ&K;Z^{2c+cGBu*Xf#39cUjGC1HiA%Ropjycz>J}(Bf)!xff_pe%Xnan zU%}2Fj~Wzy0dU-LQgACvK0?p^*pLC}RzV1Lls>qJBV>S*alqeK`Bf`gK>+0 z7zEd2r_=HCs;adIZx1QL-!Cfy3`D$y68gJ~B-&ASuey_^h0|C0aXs|ShyMU}lV@v? zOA!GhFdPtoHoGE3zpY2!%tkn2(G|Xj0`wyKy1%C$4xULZpg)NYabS_ybw?sx=s)p# z5;O?ojKjj$Iqf^;eJDB>dv z^k`U8W6AQnIMMnx1M~U-g)O?|zQIAg)udu#+_`-`++_I|)Kxr&;)a{KoiT;p%w-b( z8nAhl&^kq4Gy33JH9oc58!)frIG4+K7x5w{B{Rs+PkHne1vLgk4mS#&ygOL-8DbJZ zN?4*zQR)=7vPcs998JHCwD|p1ZMsZ9QfV_PWay)Q2{}!WgqYv-PFa*28C|qyGtcmw z_G>FfayNFespoK?hOuvCg1d5JS}A-ZqORIaVtd0f4w9LxITI-IzvOP{JxZWL%JYZU z_PSD^5_o$mU+wTT6uQLD?{UQc2n4`?48p*4T%-wkD4$CNwR;GN@3mkb(2);{!l1b`FiVN@4utf{Ik?)P>+A0$SC*o@O}> z!XeyV2W(fxM_ygPL}p_KOb17DO$JUUBjLLa!Y$H>T_kX% z97bVst1jx3243A7Xl~GM^|pVC*68xpbFV$;MMcZ zMK#z3B7mq>A)AWaqblp()WQlStYJqZ}Vr`#e>CQN$x82W_$X4pEj}F$w zY%K1`S@Mg(iQ*16$l5y0%p~vMVmZpH(tCrV&*fKu*iyfch5m~&WvLkK-g01Q7gP|&l$X3e7-8tw}S+WV8E;k+}+Upu&coD&AQ4A?!5hyhBx z1MYKz{S(Lu>5=erw63Lp;;#CeZ`Au~`3JfwDXrk>7R)kqeufLAD?%q8(6G6m--VJ^iuq4#ym=RtmkZ)SIY}-_t z&)pUpGee@J`Y%22r&=}!`a7>@Tktq2Zy3@}buY5A5l{cM4)ZTklEIC>kLqJ$9#*4^ z_h?tRPv+h4WpO|X$I#qRXx~}|MbRCIfx^7tap$W^QD{Wons!1R-~bkaH)nCbsi;Kc zbPgsDf-_1JfW1{4-M~kG(@brdKJmCI(j-y2pFNd7l|9inC_7$7dV6qiK3$WN=`JeH zulzDFo7frzb5N#Ncb-LWguIAgkm%aj)ZQ7xes(c7vv2#$Guezy?`3N-_H?h5e4z{J z$+Y@JcnagIZ010HiW#A?$?#CA4~x@$NJN=#Y++9u*=vcW3?Eo9CfF@xv}kMn+&a}YLo{@^QQAhE)I@#cEsbi@y>av^m6y?gjaZN9JI zPy!NwAs}{!Wus6+y^}|O@3#gsBWyiffE^=%NA-^lL0Vx^LRV;L`}Z#ug}Vg1Gwwgq z;dBGb1A#1M-|+%N<}n)6lcnjtGx#%rmat3xP4H3MtG_DIXvv`Nkk$<0O`*!GF~#>k z8p8Ddr6Kal9xMNIrKQK4ZzQl9E^M-D<=CUIB|vVd)k)r*TU+fWDl1PA0&p@iJd?dW zk+w?lpq)SPI>K#3p_^E~8#XgNB}R(!IRBk(1ii2MZBs~NxQh&Xr)!2LIhZuvLx~oX{ z&*|TO262g5JPue=6$tsf5Sv=+siu{;z8lizw~52yUra^U*%QRvfOwy$4D|ilUj2m; z!)$j#%&8;$Sy7#8R5R@avwnJWrN7^rP%?8LOJjyvjxs{DJnQ_e^e@)IiG)|N@v32i zITL=ItPIEr2B)a`!}Z~QKFG(<29!J2_k`r!7b#B>!;Fr1c6M%s6RzrB4iqnaOK=Ig zG2}uWjrY3nyZF9z03Kk;(|`>^emIolHtBFo+ZH@_QA-3hXbvVhF{Q*>+62sVIJ9*4 z|LoG9+Deh%R+EM08xgN&XZh4)3W}1&3E+kg0Ub5$Pdh6s4RJ}>Dd#DJ^mJ=#boPUt zjTdNdu^^=01v&`%f6JdeWvMll421e>a#({=0zYga^H1zjiN~Fk^K(QRp0tQ*Tl6|148HlJ0_&4 zd|kOGIIP%XQGdydord21ai+Y+tEV0Hza->PKe<-DXnuf<%dkhPkmG_P{6?p1YT1Q@ zKn(ToK?MMR!+bY6RcTx%%ZgN<>!K4oM)zqRohV0Olc|!XilRvxLX#mar z11|jo{z%;j$}5dq6H$$Gqc!>U3}C*`lOQ-;CrQ$rxIz(#p#DN40Dr$Dffap2^raDe z%ZVT)2S&bq$1pe6MGmTvYUITQ1fMVIc3l@XZ~zWc@Sa65tSEd_s}~LA#+m^{goxV* zhKXu|U73-AA!oZlzU>(!>e3P%1cDJM7!$lPdQY0>r)FOE-V89QV+Qv)bK>L2qX%4w z)|UN{MqO_ga42BBt@R?z$vJcD3JJ*I8`ygfnAf`N(u|1G4p;{m(`*csA>AsW8#vT8 zBOpw&L%@%#>!up~@r3C=30m&@D5%!;5rAi{so0DvqBtYWn`~JcR^o_f;MzNJf<6Id-)UQ#TeXmRu<5?Srh zji5=zFRXS*N&L7FSyg^|TyKn)GA+36 zxSDf`Kx%C*Rdu`Wa>Q?g&9J670MqeH>6gLl*q{dM8``lT+rz=~u*7`Kc$WTr8eg%H zPs(DB;I?8-nAF`CE#xh8L8m9QoffXkCYCa_z3BrNyOj#R$;K+>yGRD$SG@5lWWL9{ z@^23N-~aAxI+lD!x!-<2T}8&OGcg%h3~XARNPI`@^yVR&Z@^8_@KRK50n7XlIWte; zyD-JF=!%TKr*$6@`KOR0^oeLOT_0||d1;rm@E!;2pHH}?d>^b2#BZmZFh)qKarqT7 zCJVTKXtiAJCSB;{l->0c4GCc^A~dYC#w={zIZLec_3L6R3kJ%+Xuiy3zPF7n5Cb8c zxs0H5a2b5a%-e!_VVvB2Z}WD5g78bB(hV#i@5j$Ykf!612JKgTaN2# z_La1~aFiGU%lMv0j>(tU{wW6uLD^X!h{@@rc%y{yL#id|h4as`wT*b(@eat@NWaSr zERsLm$*8SJhWEhicdk4F-T7_Gyt#vl{DT~!S^v^9n65OH2Y{}X5d4wfSE6NfS($C# zc>levg#HL92_8q8)=&aeDb1^}(D{3J7Px1&=@#c-VdDk;;8YfNR`&-R^oG466n2ZJ z48TU3MuhA-YD*!SCSA4d8`e-O<$E z$-o*C%8hii1b~lJPA>Kd%ligB2@q0rihlTr+64XCfis?o+ zIT5MCXz`(_{fWvMfSO35k6J>|JO9SwtX3z)Y^)`R2`lCoS3)r16 zirvIV2H$GkpR8oB#~vNq>+hKI->iJ2v*Y1YJPXa9Ua@>u5QV_b50zSd=k`VPh1#ghk zJwtmV3M3XxT0jB*@p{+3@^5>=qBB1RXK-Te90Qa~SWQZ(j!e&h9QLSFqK1&<{?j-g zzJ#Iz`;(kyzvMt^6oHoU<^~ULPITM(X`#U@S&}5t(?JmLI1rKKTNi{=f8A;SKEU$g zYzJBnv1at6@8ble_MI=)7Ea5J9l$YeV8JpW) zDgun5v|l9_#$;xe$OAQT!nWo1mG!T-zLi5>=C`;A%!;XJc$$}#eQ4+ZQof# zRv`L1d^Z#AV%1(O&CsN^T6*nK-m$!YEN}00@>olWCiGFbBgPDvHU)1j*dngxzyS2s z4iFEsul*JMk<8Es=+{7VMU4}=7hT&R5w}}qe%+`aPA*Rt2F68Th}J0n)6hRSU7L`~ zo0Gv!eY!{fZdktVb0ze3J5q)3^}6Pf@L1XxRjSiXyfNE(`OypNi?b!}%pNLBf>uEy zWZr9w(ckMRiEE;!i>=3n)X~BpBoE*f?dH#)OW=olnO3d-ZB)WgE>$t`Zx2OZyk~~? zA2}I$FQS7ettJ69Wziv^lO8Fxh`N0~Y+|{QB2w9+B-(EBay(?pb@7&}7TjTb>Q_pX zd`Fvsc&p}%*e=)}iFQv#Mua{F(r_a^f!D#Qzc{X7id(xhKW9$Zp$|-YYb>U9Z}uF6--X#)y|vNFS(! z%{Oli|5VO2pQ*|-gE>#BLeb1C$}?MMW6&)baQjix5>t1bpQn>7a?_lTWbo1~PI~B< z$3|bYO}oOUQ}3iLnPS0*%0hk!Gcl}4#KsOg#T86q5pVGqJv?;#D-s|A&yJ_Pl9W|} zUDi_m{2kA^1cAxcoja`s-Vszfz5Va=u*x19vEcev1`}5&MYuF;1Bu1hZ#i>C`rImE z;Y4iVoScnG63FG^+9u|cGsOu*Cn?}ZcVfovLxGvMm7ikjBZ&pxdmmZK>J{i|7wAz+zmeN6YWXu_q-$);yGeFL` z(_H3yq|j;~Z@FD(HVCn9d#8NHUbDvbE~un^yy@kaW}E!7z-ga-MNxQ66|G>2REyC2 z;hJcd--*o648k36`}|!D^=5n^zCpo9`K5M&+d=gfsxN{KxF#G)3E^L6Y2jyfXGUrN z(V`Xj7lYoz8n=g5kO^xu{bO8A>y(BNbMbfa2HdZ)O?TIiOiCU?51SFZ^N4`B2b1#C z@eXq#FCDjr4N;F@Z@!IEOX}&?l&X#1CIPnQzANtWwmeMi&T-o21=y^*X`8ewp@08A zU2S&y?EC%61u(XVccI&ES)D+h(s$j*otjQm-m1heMhy#!jvcZ8UUek`7_V@T-O3@* z6_w<}FPIPCx<_M1$iG(ETAA%DZSMQ`7=E7CrAX?0n_;4`DXea9FBchoTsoGYw;E&e;~DJ7Ni4ll1K_F;jIxM$NB$?eThJQ^%P&D`=Dj zdbX3!!j<*`TrxI$J9Gy%g?dj+Q?m1xvqd5X@8QfFJxe2kdEddLbGPw&yTNIPR@n?s zg2GoNT?m|Uf_r>CBb9>+bwWJ`!_vwCEu4s`-D-`|Zc0dK2r45hpI zhbfs#klPgJ3+|lb2{wJ}^dFyy6xifciJN)VXgY~}4t8nWFx?`W4uv3vM0NkSs_rI) z^PR47_6u`W2TT0#cjSdE^LQG=D;V1UVPpu&npHl`i}{ zzbKNPmy<1zmj!NJ+x6Ss`jmPKaQ7l|-r^nYrKR|POd)-O`ysE=j(OYolOqb4h*3L& z`MZ&bh#5D`x|s)o71kIgGZQUlZ#QRQsc}FuNP?}j6pb{d-G_?dCg}-*ni&_($~^99 zSAdR+>W=0p;|?S2P%}hd8nlTKU$zG0$V5BNr{=}R@v8Kx9w%u%u@>VzZFLk}_PaMyn5SH8xasm!f{WSU#_0P|{)_iVwo|#{~cQBIL z-qUU}!YAU<`nf4uxfi|bbJ9m=UyOdWG>T19Zj&K{7z4Nh~im?dhbRiD;==D8?ly>B(R9bP4BDW%%)@-S=^J zb-A5ve4QEW!~E_FPx*FIa$#;KYVc0~o?MU8=sr~x;e5Y_*7N6g&cjCoS+_9)1P5)2Wm%gKAiIdN*wXr3gx4Fg?1qf7mA!4@YDGJ;T2bGTxcX}FbUeRxvd#5O zZqusy1t;~tN9{4ikraATR~+I&Gr%f{Yxmf^Z9u3}*8W-$aWddgf>8_2883o$uE>So zzT${z=E=rS@91JYa$vr_^9jk1rnUBX4w6ojUMd`v8=K`Mvk4mWM~+9mi3HP6C-!}c zRfNJgTl5y=Yn*>ZAX~ha;Doi$A%q=N2xeEOEnRl0qdj8qpZUx_xAtN1QLm$q?*Nm>JKJSVTqFW#-N1*5@n?Gv$*q@9^}_&n4) zNU)&5dtQ}2O z|M}bbhND%T^w6_x;NIF+jWHOr-t`H}6 e)?DCxLO@{rS0C}JAy?GpUI_WBG~mwc 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 D;*Prc From 664643a6ee88a0587749e677569a1569f23a4ed6 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 30 Aug 2022 20:18:10 -0400 Subject: [PATCH 0448/1248] Updates to appendixes C, D, and E after copyedit checks --- nostarch/docx/appendix_c.docx | Bin 42589 -> 45998 bytes nostarch/docx/appendix_d.docx | Bin 39642 -> 45118 bytes nostarch/docx/appendix_e.docx | Bin 32002 -> 33824 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/nostarch/docx/appendix_c.docx b/nostarch/docx/appendix_c.docx index dc7e02023b2471e6fe4118105b7e5f1587e1f08a..a48d87128c2866c399c773c42b65046cbbe660f1 100644 GIT binary patch delta 36560 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


      -GZ(A9rVm9QWiMeXI3-_Tj3Ex}t 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%0DL}i%OKB!tvxf<7~a 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 z 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 k|0n73{|X^Unfx6-D#}0t7bYMen84Q=BnSw9*@~ delta 25074 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 z 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�g-+0y{C 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 Tv$BDd2mm2Fus89v0>lFVUWhh& From 0400014bba19016a3cebf90a782c504dde5cbd33 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 5 Sep 2022 14:36:01 -0400 Subject: [PATCH 0449/1248] Make the snapshot of the frontmatter nicer --- nostarch/frontmatter.md | 116 +--------------------------------------- tools/docx-to-md.xsl | 6 ++- 2 files changed, 5 insertions(+), 117 deletions(-) diff --git a/nostarch/frontmatter.md b/nostarch/frontmatter.md index 527b2bca84..8411a0a88c 100644 --- a/nostarch/frontmatter.md +++ b/nostarch/frontmatter.md @@ -1,11 +1,3 @@ - -Unmatched: BookEdition - ## - -## - -## - ## About the Authors Carol Nichols is a member of the Rust Crates.io Team and a former member of the @@ -25,76 +17,10 @@ in 2011, and in 2016 joined Mozilla to work on Rust full time, helping to shape its direction for widespread use. These days, they are a freelance Rust trainer and advocate for safe systems programming. -## - -## - -## - -## - -## - -## - -## - -## - -## - -## - ## Brief Contents -## - -## - -## - -## - -## - -## - -## - -## - -## - -## - -## - -## - ## Contents in Detail -## - -## - -## - -## - -## - -## - -## - -## - -## - -## - -## - ## Foreword It wasn’t always so clear, but the Rust programming language is fundamentally @@ -135,15 +61,7 @@ friendly and approachable text intended to help you level up not just your knowledge of Rust, but also your reach and confidence as a programmer in general. So dive in, get ready to learn—and welcome to the Rust community! - -Unmatched: SourceForeword - ## - -## - -## - -## +Nicholas Matsakis and Aaron Turon ## ACKNOWLEDGMENTS @@ -163,24 +81,6 @@ Carol is grateful for the opportunity to work on this book. She thanks her family for their constant love and support, especially her husband, Jake Goulding, and her daughter, Vivian. -## - -## - -## - -## - -## - -## - -## - -## - -## - ## Preface This version of the text assumes you’re using Rust 1.62.0 (released 2022-06-30) @@ -205,20 +105,6 @@ continue to compile with the relevant edition in the project’s *Cargo.toml*, even as you update the Rust compiler version you’re using. That’s Rust’s backward-compatibility guarantees at work! -## - -## - -## - -## - -## - -## - -## - ## Introduction Welcome to *The Rust Programming Language*, an introductory book about Rust. diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index f866517301..444e4fba48 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -18,6 +18,7 @@ + @@ -48,11 +49,12 @@ - + ## + ### @@ -108,7 +110,7 @@ - + From 8388c262bffaa78fa655e45603e4af6743f3e245 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 5 Sep 2022 14:42:02 -0400 Subject: [PATCH 0450/1248] Add the no editing warning at the top when getting snapshots from docx --- tools/doc-to-md.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/doc-to-md.sh b/tools/doc-to-md.sh index cffe4c04b4..d53599c315 100755 --- a/tools/doc-to-md.sh +++ b/tools/doc-to-md.sh @@ -7,6 +7,12 @@ find tmp -name '*.docx' -print0 | \ # Extract just the filename so we can reuse it easily. xargs -0 basename -s .docx | \ while IFS= read -r filename; do + # Truncate the `nostarch` dir file and put the "no editing" warning back + echo '' > "nostarch/$filename.md" # Make a directory to put the XML in. mkdir -p "tmp/$filename" # Unzip the docx to get at the XML. @@ -15,6 +21,6 @@ while IFS= read -r filename; do xsltproc tools/docx-to-md.xsl "tmp/$filename/word/document.xml" | \ # Hard wrap at 80 chars at word bourdaries. fold -w 80 -s | \ - # Remove trailing whitespace and save in the `nostarch` dir for comparison. - sed -e "s/ *$//" > "nostarch/$filename.md" + # Remove trailing whitespace and append to the file in the `nostarch` dir for comparison. + sed -e "s/ *$//" >> "nostarch/$filename.md" done From 13be2da699b67e7ba6100f0ca6f0d2184779641f Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 5 Sep 2022 14:58:47 -0400 Subject: [PATCH 0451/1248] Fix literals --- nostarch/chapter01.md | 100 +++++++++++++++++++++--------------------- tools/docx-to-md.xsl | 8 +++- 2 files changed, 56 insertions(+), 52 deletions(-) diff --git a/nostarch/chapter01.md b/nostarch/chapter01.md index 66aca48c37..9d4b1b5506 100644 --- a/nostarch/chapter01.md +++ b/nostarch/chapter01.md @@ -12,7 +12,7 @@ Let’s start your Rust journey! There’s a lot to learn, but every journey sta somewhere. In this chapter, we’ll discuss: * Installing Rust on Linux, macOS, and Windows -* Writing a program that prints `Hello,` `world!` +* Writing a program that prints `Hello, world!` * Using `cargo`, Rust’s package manager and build system ## Installation @@ -157,8 +157,8 @@ $ rustup self uninstall ### Local Documentation The installation of Rust also includes a local copy of the documentation so -that you can read it offline. Run `rustup` `doc` to open the local -documentation in your browser. +that you can read it offline. Run `rustup doc` to open the local documentation +in your browser. Any time a type or function is provided by the standard library and you’re not sure what it does or how to use it, use the application programming interface @@ -168,7 +168,7 @@ sure what it does or how to use it, use the application programming interface Now that you’ve installed Rust, it’s time to write your first Rust program. It’s traditional when learning a new language to write a little program that -prints the text `Hello,` `world!` to the screen, so we’ll do the same here! +prints the text `Hello, world!` to the screen, so we’ll do the same here! > NoteThis book assumes basic familiarity with the command line. Rust makes no specific demands about your editing or tooling or where your code lives, so if @@ -247,7 +247,7 @@ fn main() { } ``` -A program that prints `Hello,` `world!` +A program that prints `Hello, world!` Save the file and go back to your terminal window in the *~/projects/hello_world* directory. On Linux or macOS, enter the following @@ -279,12 +279,12 @@ On Windows, enter the command `.\main.exe` instead of `./main`: Hello, world! ``` -Regardless of your operating system, the string `Hello,` `world!` should print -to the terminal. If you don’t see this output, refer back to “Troubleshooting” -on page XX for ways to get help. +Regardless of your operating system, the string `Hello, world!` should print to +the terminal. If you don’t see this output, refer back to “Troubleshooting” on +page XX for ways to get help. -If `Hello,` `world!` did print, congratulations! You’ve officially written a -Rust program. That makes you a Rust programmer—welcome! +If `Hello, world!` did print, congratulations! You’ve officially written a Rust +program. That makes you a Rust programmer—welcome! ### Anatomy of a Rust Program @@ -314,8 +314,8 @@ line as the function declaration, adding one space in between. > NoteIf you want to stick to a standard style across Rust projects, you can use an automatic formatter tool called `rustfmt` to format your code in a -particular style (more on `rustfmt` in Appendix D). The Rust team has included -this tool with the standard Rust distribution, as `rustc` is, so it should +particular style (more on rustfmt in Appendix D). The Rust team has included +this tool with the standard Rust distribution, as rustc is, so it should already be installed on your computer! The body of the `main` function holds the following code: @@ -335,8 +335,8 @@ more detail in Chapter 19. For now, you just need to know that using a `!` means that you’re calling a macro instead of a normal function and that macros don’t always follow the same rules as functions. -Third, you see the `"Hello,` `world!"` string. We pass this string as an -argument to `println!`, and the string is printed to the screen. +Third, you see the `"Hello, world!"` string. We pass this string as an argument +to `println!`, and the string is printed to the screen. Fourth, we end the line with a semicolon (`;`), which indicates that this expression is over and the next one is ready to begin. Most lines of Rust code @@ -398,8 +398,8 @@ From here, you run the *main* or *main.exe* file, like this: $ ./main # or .\main.exe on Windows ``` -If your *main.rs* is your “Hello, world!” program, this line prints `Hello,` -`world!` to your terminal. +If your *main.rs* is your “Hello, world!” program, this line prints `Hello, +world!` to your terminal. If you’re more familiar with a dynamic language, such as Ruby, Python, or JavaScript, you might not be used to compiling and running a program as @@ -439,9 +439,9 @@ entering the following in your terminal: $ cargo --version ``` -If you see a version number, you have it! If you see an error, such as -`command` `not` `found`, look at the documentation for your method of -installation to determine how to install Cargo separately. +If you see a version number, you have it! If you see an error, such as `command +not found`, look at the documentation for your method of installation to +determine how to install Cargo separately. ### Creating a Project with Cargo @@ -467,12 +467,12 @@ has generated two files and one directory for us: a *Cargo.toml* file and a *src* directory with a *main.rs* file inside. It has also initialized a new Git repository along with a *.gitignore* file. -Git files won’t be generated if you run `cargo` `new` within an existing Git -repository; you can override this behavior by using `cargo` `new` `--vcs=git`. +Git files won’t be generated if you run `cargo new` within an existing Git +repository; you can override this behavior by using `cargo new --vcs=git`. -> NoteGit is a common version control system. You can change `cargo` `new` to -use a different version control system or no version control system by using -the `--vcs` flag. Run `cargo` `new` `--help` to see the available options. +> NoteGit is a common version control system. You can change `cargo new` to use +a different version control system or no version control system by using the +`--vcs` flag. Run `cargo new --help` to see the available options. Open *Cargo.toml* in your text editor of choice. It should look similar to the code in Listing 1-2. @@ -503,7 +503,7 @@ edition = "2021" [dependencies] ``` -Contents of *Cargo.toml* generated by `cargo` `new` +Contents of *Cargo.toml* generated by `cargo new` This file is in the *TOML* (*Tom’s* *Obvious,* *Minimal* *Language*) format, which is Cargo’s configuration format. @@ -584,15 +584,15 @@ $ ./target/debug/hello_cargo # or .\target\debug\hello_cargo.exe on Windows Hello, world! ``` -If all goes well, `Hello,` `world!` should print to the terminal. Running -`cargo` `build` for the first time also causes Cargo to create a new file at -the top level: *Cargo.lock*. This file keeps track of the exact versions of +If all goes well, `Hello, world!` should print to the terminal. Running `cargo +build` for the first time also causes Cargo to create a new file at the top +level: *Cargo.lock*. This file keeps track of the exact versions of dependencies in your project. This project doesn’t have dependencies, so the file is a bit sparse. You won’t ever need to change this file manually; Cargo manages its contents for you. -We just built a project with `cargo` `build` and ran it with -`./target/debug/hello_cargo`, but we can also use `cargo` `run` to compile the +We just built a project with `cargo build` and ran it with +`./target/debug/hello_cargo`, but we can also use `cargo run` to compile the code and then run the resultant executable all in one command: ``` @@ -611,9 +611,9 @@ $ cargo run Hello, world! ``` -Using `cargo` `run` is more convenient than having to remember to run `cargo` -`build` and then use the whole path to the binary, so most developers use -`cargo` `run`. +Using `cargo run` is more convenient than having to remember to run `cargo +build` and then use the whole path to the binary, so most developers use `cargo +run`. Notice that this time we didn’t see output indicating that Cargo was compiling `hello_cargo`. Cargo figured out that the files hadn’t changed, so it didn’t @@ -641,8 +641,8 @@ $ cargo run Hello, world! ``` -Cargo also provides a command called `cargo` `check`. This command quickly -checks your code to make sure it compiles but doesn’t produce an executable: +Cargo also provides a command called `cargo check`. This command quickly checks +your code to make sure it compiles but doesn’t produce an executable: ``` $ cargo check @@ -656,21 +656,21 @@ $ cargo check Finished dev [unoptimized + debuginfo] target(s) in 0.32 secs ``` -Why would you not want an executable? Often, `cargo` `check` is much faster -than `cargo` `build` because it skips the step of producing an executable. If -you’re continually checking your work while writing the code, using `cargo` -`check` will speed up the process of letting you know if your project is still -compiling! As such, many Rustaceans run `cargo` `check` periodically as they -write their program to make sure it compiles. Then they run `cargo` `build` -when they’re ready to use the executable. +Why would you not want an executable? Often, `cargo check` is much faster than +`cargo build` because it skips the step of producing an executable. If you’re +continually checking your work while writing the code, using `cargo check` will +speed up the process of letting you know if your project is still compiling! As +such, many Rustaceans run `cargo check` periodically as they write their +program to make sure it compiles. Then they run `cargo build` when they’re +ready to use the executable. Let’s recap what we’ve learned so far about Cargo: -* We can create a project using `cargo` `new`. -* We can build a project using `cargo` `build`. -* We can build and run a project in one step using `cargo` `run`. +* We can create a project using `cargo new`. +* We can build a project using `cargo build`. +* We can build and run a project in one step using `cargo run`. * We can build a project without producing a binary to check for errors using -`cargo` `check`. +`cargo check`. * Instead of saving the result of the build in the same directory as our code, Cargo stores it in the *target/debug* directory. An additional advantage of using Cargo is that the commands are the same no @@ -679,16 +679,16 @@ longer provide specific instructions for Linux and macOS versus Windows. ### Building for Release -When your project is finally ready for release, you can use `cargo` `build` -`--release` to compile it with optimizations. This command will create an +When your project is finally ready for release, you can use `cargo build +--release` to compile it with optimizations. This command will create an executable in *target/release* instead of *target/debug*. The optimizations make your Rust code run faster, but turning them on lengthens the time it takes for your program to compile. This is why there are two different profiles: one for development, when you want to rebuild quickly and often, and another for building the final program you’ll give to a user that won’t be rebuilt repeatedly and that will run as fast as possible. If you’re benchmarking your -code’s running time, be sure to run `cargo` `build` `--release` and benchmark -with the executable in *target/release*. +code’s running time, be sure to run `cargo build --release` and benchmark with +the executable in *target/release*. ### Cargo as Convention diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 444e4fba48..addaa08829 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -219,9 +219,13 @@ Unmatched: - ` + + ` + - ` + + ` + From a507176c6de9840130faa7e26ab98e1c1b20c977 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 5 Sep 2022 15:16:09 -0400 Subject: [PATCH 0452/1248] Fix notes --- nostarch/chapter01.md | 16 ++++++++-------- tools/docx-to-md.xsl | 3 ++- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/nostarch/chapter01.md b/nostarch/chapter01.md index 9d4b1b5506..3a47ab0c46 100644 --- a/nostarch/chapter01.md +++ b/nostarch/chapter01.md @@ -20,7 +20,7 @@ The first step is to install Rust. We’ll download Rust through `rustup`, a command line tool for managing Rust versions and associated tools. You’ll need an internet connection for the download. -> NoteIf you prefer not to use `rustup` for some reason, please see the Other +> Note: If you prefer not to use `rustup` for some reason, please see the Other Rust Installation Methods page at *https://forge.rust-lang.org/infra/other-installation-methods.html* for more options. @@ -170,9 +170,9 @@ Now that you’ve installed Rust, it’s time to write your first Rust program. It’s traditional when learning a new language to write a little program that prints the text `Hello, world!` to the screen, so we’ll do the same here! -> NoteThis book assumes basic familiarity with the command line. Rust makes no -specific demands about your editing or tooling or where your code lives, so if -you prefer to use an integrated development environment (IDE) instead of the +> Note: This book assumes basic familiarity with the command line. Rust makes +no specific demands about your editing or tooling or where your code lives, so +if you prefer to use an integrated development environment (IDE) instead of the command line, feel free to use your favorite IDE. Many IDEs now have some degree of Rust support; check the IDE’s documentation for details. The Rust team has been focusing on enabling great IDE support via `rust-analyzer`. See @@ -312,7 +312,7 @@ The function body is wrapped in `{}`. Rust requires curly brackets around all function bodies. It’s good style to place the opening curly bracket on the same line as the function declaration, adding one space in between. -> NoteIf you want to stick to a standard style across Rust projects, you can +> Note: If you want to stick to a standard style across Rust projects, you can use an automatic formatter tool called `rustfmt` to format your code in a particular style (more on rustfmt in Appendix D). The Rust team has included this tool with the standard Rust distribution, as rustc is, so it should @@ -470,9 +470,9 @@ It has also initialized a new Git repository along with a *.gitignore* file. Git files won’t be generated if you run `cargo new` within an existing Git repository; you can override this behavior by using `cargo new --vcs=git`. -> NoteGit is a common version control system. You can change `cargo new` to use -a different version control system or no version control system by using the -`--vcs` flag. Run `cargo new --help` to see the available options. +> Note: Git is a common version control system. You can change `cargo new` to +use a different version control system or no version control system by using +the `--vcs` flag. Run `cargo new --help` to see the available options. Open *Cargo.toml* in your text editor of choice. It should look similar to the code in Listing 1-2. diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index addaa08829..3ba755b9ae 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -187,10 +187,11 @@ - > + > Note: + * From 11b05627f37a2ba56924589932a3f033fd3dd468 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 5 Sep 2022 15:17:55 -0400 Subject: [PATCH 0453/1248] Fix BoxType --- nostarch/chapter01.md | 2 -- tools/docx-to-md.xsl | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/nostarch/chapter01.md b/nostarch/chapter01.md index 3a47ab0c46..04672fb16a 100644 --- a/nostarch/chapter01.md +++ b/nostarch/chapter01.md @@ -33,8 +33,6 @@ warnings. In other words, any newer, stable version of Rust you install using these steps should work as expected with the content of this book. -Unmatched: BoxType - > ### Command Line Notation diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 3ba755b9ae..0f80fadf1a 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -24,6 +24,7 @@ + From a64cbd9c5b499f71d161804723dbad5573ac2270 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 5 Sep 2022 21:38:51 -0400 Subject: [PATCH 0454/1248] Fix last bullet in a list --- nostarch/chapter01.md | 1 + tools/docx-to-md.xsl | 3 +++ 2 files changed, 4 insertions(+) diff --git a/nostarch/chapter01.md b/nostarch/chapter01.md index 04672fb16a..e8f8838aeb 100644 --- a/nostarch/chapter01.md +++ b/nostarch/chapter01.md @@ -14,6 +14,7 @@ somewhere. In this chapter, we’ll discuss: * Installing Rust on Linux, macOS, and Windows * Writing a program that prints `Hello, world!` * Using `cargo`, Rust’s package manager and build system + ## Installation The first step is to install Rust. We’ll download Rust through `rustup`, a diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 0f80fadf1a..d995dfdcde 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -91,6 +91,9 @@ * + + + From 72053d98cce29186ad003407232a43de46026f2a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 5 Sep 2022 21:42:17 -0400 Subject: [PATCH 0455/1248] Fix box newlines --- nostarch/chapter01.md | 3 +-- tools/docx-to-md.xsl | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/nostarch/chapter01.md b/nostarch/chapter01.md index e8f8838aeb..a17dca5099 100644 --- a/nostarch/chapter01.md +++ b/nostarch/chapter01.md @@ -35,8 +35,7 @@ these steps should work as expected with the content of this book. > ### Command Line Notation - - +> > In this chapter and throughout the book, we’ll show some commands used in the terminal. Lines that you should enter in a terminal all start with `$`. You don’t need to type the `$` character; it’s the command line prompt shown to diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index d995dfdcde..09ec2f6939 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -180,11 +180,10 @@ > ### - + > - > From 434b32049f99130cc08cde7c0c6a848dc704a681 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 5 Sep 2022 21:46:30 -0400 Subject: [PATCH 0456/1248] Fix more last bullets in lists --- nostarch/chapter01.md | 3 +++ tools/docx-to-md.xsl | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/nostarch/chapter01.md b/nostarch/chapter01.md index a17dca5099..6dc0679ce8 100644 --- a/nostarch/chapter01.md +++ b/nostarch/chapter01.md @@ -90,6 +90,7 @@ install, include: * The Windows 10 or 11 SDK * The English language pack component, along with any other language pack of your choosing + The rest of this book uses commands that work in both *cmd.exe* and PowerShell. If there are specific differences, we’ll explain which to use. @@ -671,6 +672,7 @@ Let’s recap what we’ve learned so far about Cargo: `cargo check`. * Instead of saving the result of the build in the same directory as our code, Cargo stores it in the *target/debug* directory. + An additional advantage of using Cargo is that the commands are the same no matter which operating system you’re working on. So, at this point, we’ll no longer provide specific instructions for Linux and macOS versus Windows. @@ -725,6 +727,7 @@ you’ve learned how to: * Open locally installed documentation * Write and run a “Hello, world!” program using `rustc` directly * Create and run a new project using the conventions of Cargo + This is a great time to build a more substantial program to get used to reading and writing Rust code. So, in Chapter 2, we’ll build a guessing game program. If you would rather start by learning how common programming concepts work in diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 09ec2f6939..72b0b7da4a 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -91,7 +91,7 @@ * - + From 7fce2247cfece8dcd4b83557dfe24de4865dcd4c Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 5 Sep 2022 21:54:15 -0400 Subject: [PATCH 0457/1248] Fix code blocks --- nostarch/chapter01.md | 120 ------------------------------------------ tools/docx-to-md.xsl | 12 ++++- 2 files changed, 10 insertions(+), 122 deletions(-) diff --git a/nostarch/chapter01.md b/nostarch/chapter01.md index 6dc0679ce8..7418ea119e 100644 --- a/nostarch/chapter01.md +++ b/nostarch/chapter01.md @@ -191,17 +191,8 @@ For Linux, macOS, and PowerShell on Windows, enter this: ``` $ mkdir ~/projects -``` - -``` $ cd ~/projects -``` - -``` $ mkdir hello_world -``` - -``` $ cd hello_world ``` @@ -209,17 +200,8 @@ For Windows CMD, enter this: ``` > mkdir "%USERPROFILE%\projects" -``` - -``` > cd /d "%USERPROFILE%\projects" -``` - -``` > mkdir hello_world -``` - -``` > cd hello_world ``` @@ -236,13 +218,7 @@ Filename: main.rs ``` fn main() { -``` - -``` println!("Hello, world!"); -``` - -``` } ``` @@ -254,13 +230,7 @@ commands to compile and run the file: ``` $ rustc main.rs -``` - -``` $ ./main -``` - -``` Hello, world! ``` @@ -268,13 +238,7 @@ On Windows, enter the command `.\main.exe` instead of `./main`: ``` > rustc main.rs -``` - -``` > .\main.exe -``` - -``` Hello, world! ``` @@ -292,13 +256,7 @@ the puzzle: ``` fn main() { -``` -``` - -``` - -``` } ``` @@ -362,9 +320,6 @@ entering the `ls` command in your shell: ``` $ ls -``` - -``` main main.rs ``` @@ -374,17 +329,8 @@ would enter the following: ``` > dir /B %= the /B option says to only show the file names =% -``` - -``` main.exe -``` - -``` main.pdb -``` - -``` main.rs ``` @@ -451,9 +397,6 @@ run the following: ``` $ cargo new hello_cargo -``` - -``` $ cd hello_cargo ``` @@ -480,25 +423,10 @@ Filename: Cargo.toml ``` [package] -``` - -``` name = "hello_cargo" -``` - -``` version = "0.1.0" -``` - -``` edition = "2021" -``` -``` - -``` - -``` [dependencies] ``` @@ -526,13 +454,7 @@ Filename: src/main.rs ``` fn main() { -``` - -``` println!("Hello, world!"); -``` - -``` } ``` @@ -560,13 +482,7 @@ entering the following command: ``` $ cargo build -``` - -``` Compiling hello_cargo v0.1.0 (file:///projects/hello_cargo) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 2.85 secs ``` @@ -577,9 +493,6 @@ a directory named *debug*. You can run the executable with this command: ``` $ ./target/debug/hello_cargo # or .\target\debug\hello_cargo.exe on Windows -``` - -``` Hello, world! ``` @@ -596,17 +509,8 @@ code and then run the resultant executable all in one command: ``` $ cargo run -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs -``` - -``` Running `target/debug/hello_cargo` -``` - -``` Hello, world! ``` @@ -622,21 +526,9 @@ output: ``` $ cargo run -``` - -``` Compiling hello_cargo v0.1.0 (file:///projects/hello_cargo) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.33 secs -``` - -``` Running `target/debug/hello_cargo` -``` - -``` Hello, world! ``` @@ -645,13 +537,7 @@ your code to make sure it compiles but doesn’t produce an executable: ``` $ cargo check -``` - -``` Checking hello_cargo v0.1.0 (file:///projects/hello_cargo) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.32 secs ``` @@ -704,13 +590,7 @@ using Git, change to that project’s directory, and build: ``` $ git clone example.org/someproject -``` - -``` $ cd someproject -``` - -``` $ cargo build ``` diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 72b0b7da4a..02af35b58b 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -147,12 +147,20 @@ - ``` + + ``` + + - ``` + + + + + ``` + From 024ce6824aaa7573f993c55e554863ae116c00d4 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 5 Sep 2022 21:59:23 -0400 Subject: [PATCH 0458/1248] Fix italics --- nostarch/chapter01.md | 6 +++--- tools/docx-to-md.xsl | 11 +++++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/nostarch/chapter01.md b/nostarch/chapter01.md index 7418ea119e..e44c821c73 100644 --- a/nostarch/chapter01.md +++ b/nostarch/chapter01.md @@ -348,7 +348,7 @@ world!` to your terminal. If you’re more familiar with a dynamic language, such as Ruby, Python, or JavaScript, you might not be used to compiling and running a program as -separate steps. Rust is an *ahead-of-time* *compiled* language, meaning you can +separate steps. Rust is an *ahead-of-time compiled* language, meaning you can compile a program and give the executable to someone else, and they can run it even without having Rust installed. If you give someone a *.rb*, *.py*, or *.js* file, they need to have a Ruby, Python, or JavaScript implementation @@ -432,8 +432,8 @@ edition = "2021" Contents of *Cargo.toml* generated by `cargo new` -This file is in the *TOML* (*Tom’s* *Obvious,* *Minimal* *Language*) format, -which is Cargo’s configuration format. +This file is in the *TOML* (*Tom’s Obvious, Minimal Language*) format, which is +Cargo’s configuration format. The first line, `[package]`, is a section heading that indicates that the following statements are configuring a package. As we add more information to diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 02af35b58b..78727fdaa0 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -273,9 +273,16 @@ Unmatched: - * + + * + + - * + + + * + + From e688ccd4bb3d3016167e31d0dd25a35ebd4c8ec7 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 6 Sep 2022 09:19:29 -0400 Subject: [PATCH 0459/1248] Fix preceding/following xpaths again --- nostarch/chapter02.md | 990 ++++-------------------------------------- tools/docx-to-md.xsl | 4 +- 2 files changed, 86 insertions(+), 908 deletions(-) diff --git a/nostarch/chapter02.md b/nostarch/chapter02.md index 025d86a360..d4642c52d9 100644 --- a/nostarch/chapter02.md +++ b/nostarch/chapter02.md @@ -1,3 +1,8 @@ + [TOC] @@ -18,14 +23,11 @@ correct, the game will print a congratulatory message and exit. ## Setting Up a New Project -To set up a new project, go to the *projects* directory that you created in +To set up a new project, go to the projects* directory that you created in Chapter 1 and make a new project using Cargo, like so: ``` $ cargo new guessing_game -``` - -``` $ cd guessing_game ``` @@ -39,51 +41,24 @@ Filename: Cargo.toml ``` [package] -``` - -``` name = "guessing_game" -``` - -``` version = "0.1.0" -``` - -``` edition = "2021" -``` - -``` -``` - -``` # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html -``` - -``` - -``` -``` [dependencies] ``` As you saw in Chapter 1, `cargo new` generates a “Hello, world!” program for -you. Check out the *src/main.rs* file: +you. Check out the src/main.rs* file: Filename: src/main.rs ``` fn main() { -``` - -``` println!("Hello, world!"); -``` - -``` } ``` @@ -92,21 +67,9 @@ using the `cargo run` command: ``` $ cargo run -``` - -``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 1.50s -``` - -``` Running `target/debug/guessing_game` -``` - -``` Hello, world! ``` @@ -121,67 +84,25 @@ Reopen the *src/main.rs* file. You’ll be writing all the code in this file. The first part of the guessing game program will ask for user input, process that input, and check that the input is in the expected form. To start, we’ll allow the player to input a guess. Enter the code in Listing 2-1 into -*src/main.rs*. +src/main.rs*. Filename: src/main.rs ``` use std::io; -``` - -``` - -``` -``` fn main() { -``` - -``` println!("Guess the number!"); -``` - -``` - -``` -``` println!("Please input your guess."); -``` - -``` - -``` -``` let mut guess = String::new(); -``` - -``` - -``` -``` io::stdin() -``` - -``` .read_line(&mut guess) -``` - -``` .expect("Failed to read line"); -``` - -``` - -``` -``` println!("You guessed: {guess}"); -``` - -``` } ``` @@ -200,9 +121,8 @@ use std::io; ``` By default, Rust has a set of items defined in the standard library that it -brings into the scope of every program. This set is called the *prelude*, and -you can see everything in it at -*https://doc.rust-lang.org/std/prelude/index.html*. +brings into the scope of every program. This set is called the prelude, and you +can see everything in it at *https://doc.rust-lang.org/std/prelude/index.html*. If a type you want to use isn’t in the prelude, you have to bring that type into scope explicitly with a `use` statement. Using the `std::io` library @@ -216,7 +136,7 @@ program: fn main() { ``` -The `fn` syntax declares a new function; the parentheses, `()`, indicate there +The `fn` syntax declares a new function; the parentheses, `(), indicate there are no parameters; and the curly bracket, `{`, starts the body of the function. As you also learned in Chapter 1, `println!` is a macro that prints a string to @@ -224,13 +144,7 @@ the screen: ``` println!("Guess the number!"); -``` - -``` -``` - -``` println!("Please input your guess."); ``` @@ -239,7 +153,7 @@ from the user. ### Storing Values with Variables -Next, we’ll create a *variable* to store the user input, like this: +Next, we’ll create a variable* to store the user input, like this: ``` let mut guess = String::new(); @@ -260,13 +174,10 @@ before the variable name: ``` let apples = 5; // immutable -``` - -``` let mut bananas = 5; // mutable ``` -> NoteThe `//` syntax starts a comment that continues until the end of the +> Note: The `//` syntax starts a comment that continues until the end of the line. Rust ignores everything in comments. We’ll discuss comments in more detail in Chapter 3. @@ -279,7 +190,7 @@ is a string type provided by the standard library that is a growable, UTF-8 encoded bit of text. The `::` syntax in the `::new` line indicates that `new` is an associated -function of the `String` type. An *associated function* is a function that’s +function of the `String` type. An associated function is a function that’s implemented on a type, in this case `String`. This `new` function creates a new, empty string. You’ll find a `new` function on many types because it’s a common name for a function that makes a new value of some kind. @@ -296,17 +207,14 @@ input: ``` io::stdin() -``` - -``` .read_line(&mut guess) ``` -If we hadn’t imported the `io` library with `use std::io``;` at the beginning -of the program, we could still use the function by writing this function call -as `std::io::stdin`. The `stdin` function returns an instance of -`std::io::Stdin`, which is a type that represents a handle to the standard -input for your terminal. +If we hadn’t imported the `io` library with `use std::io;` at the beginning of +the program, we could still use the function by writing this function call as +`std::io::stdin`. The `stdin` function returns an instance of `std::io::Stdin`, +which is a type that represents a handle to the standard input for your +terminal. Next, the line `.read_line(&mut guess)` calls the `read_line` method on the standard input handle to get input from the user. We’re also passing `&mut @@ -316,7 +224,7 @@ standard input and append that into a string (without overwriting its contents), so we therefore pass that string as an argument. The string argument needs to be mutable so the method can change the string’s content. -The `&` indicates that this argument is a *reference*, which gives you a way to +The `& indicates that this argument is a reference, which gives you a way to let multiple parts of your code access one piece of data without needing to copy that data into memory multiple times. References are a complex feature, and one of Rust’s major advantages is how safe and easy it is to use @@ -349,8 +257,8 @@ discuss what this line does. As mentioned earlier, `read_line` puts whatever the user enters into the string we pass to it, but it also returns a `Result` value. `Result` is an -*enumeration*, often called an *enum*, which is a type that can be in one of -multiple possible states. We call each possible state a *variant*. +enumeration, often called an enum, which is a type that can be in one of +multiple possible states. We call each possible state a variant*. Chapter 6 will cover enums in more detail. The purpose of these `Result` types is to encode error-handling information. @@ -374,53 +282,17 @@ If you don’t call `expect`, the program will compile, but you’ll get a warni ``` $ cargo build -``` - -``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) -``` - -``` warning: unused `Result` that must be used -``` - -``` --> src/main.rs:10:5 -``` - -``` | -``` - -``` 10 | io::stdin().read_line(&mut guess); -``` - -``` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -``` - -``` | -``` - -``` = note: `#[warn(unused_must_use)]` on by default -``` - -``` = note: this `Result` may be an `Err` variant, which should be handled -``` - -``` - -``` -``` warning: `guessing_game` (bin "guessing_game") generated 1 warning -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.59s ``` @@ -451,55 +323,25 @@ of an expression in one call to `println!` would look like this: ``` let x = 5; -``` - -``` let y = 10; -``` - -``` - -``` -``` println!("x = {x} and y + 2 = {}", y + 2); ``` +This code would print `x = 5 and y = 12`. -Unmatched: BodyContinued - ### Testing the First Part +### Testing the First Part Let’s test the first part of the guessing game. Run it using `cargo run`: ``` $ cargo run -``` - -``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 6.44s -``` - -``` Running `target/debug/guessing_game` -``` - -``` Guess the number! -``` - -``` Please input your guess. -``` - -``` 6 -``` - -``` You guessed: 6 ``` @@ -518,12 +360,12 @@ library. However, the Rust team does provide a `rand` crate at ### Using a Crate to Get More Functionality Remember that a crate is a collection of Rust source code files. The project -we’ve been building is a *binary crate* , which is an executable. The `rand` -crate is a *library crate*, which contains code that is intended to be used in +we’ve been building is a binary crate , which is an executable. The `rand` +crate is a library crate*, which contains code that is intended to be used in other programs and can’t be executed on its own. Cargo’s coordination of external crates is where Cargo really shines. Before we -can write code that uses `rand`, we need to modify the *Cargo.toml* file to +can write code that uses `rand`, we need to modify the Cargo.toml file to include the `rand` crate as a dependency. Open that file now and add the following line to the bottom, beneath the `[dependencies]` section header that Cargo created for you. Be sure to specify `rand` exactly as we have here, with @@ -533,20 +375,17 @@ Filename: Cargo.toml ``` [dependencies] -``` - -``` rand = "0.8.5" ``` -In the *Cargo.toml* file, everything that follows a header is part of that +In the Cargo.toml file, everything that follows a header is part of that section that continues until another section starts. In `[dependencies]` you tell Cargo which external crates your project depends on and which versions of those crates you require. In this case, we specify the `rand` crate with the -semantic version specifier `0.8.``5`. Cargo understands Semantic Versioning -(sometimes called *SemVer*), which is a standard for writing version numbers. -The specifier `0.8.``5` is actually shorthand for `^0.8.``5`, which means any -version that is at least 0.8.5 but below 0.9.0. +semantic version specifier `0.8.5`. Cargo understands Semantic Versioning +(sometimes called SemVer), which is a standard for writing version numbers. The +specifier `0.8.5` is actually shorthand for `^0.8.5`, which means any version +that is at least 0.8.5 but below 0.9.0. Cargo considers these versions to have public APIs compatible with version 0.8.5, and this specification ensures you’ll get the latest patch release that @@ -558,73 +397,22 @@ Listing 2-2. ``` $ cargo build -``` - -``` Updating crates.io index -``` - -``` Downloaded rand v0.8.5 -``` - -``` Downloaded libc v0.2.127 -``` - -``` Downloaded getrandom v0.2.7 -``` - -``` Downloaded cfg-if v1.0.0 -``` - -``` Downloaded ppv-lite86 v0.2.16 -``` - -``` Downloaded rand_chacha v0.3.1 -``` - -``` Downloaded rand_core v0.6.3 -``` - -``` Compiling rand_core v0.6.3 -``` - -``` Compiling libc v0.2.127 -``` - -``` Compiling getrandom v0.2.7 -``` - -``` Compiling cfg-if v1.0.0 -``` - -``` Compiling ppv-lite86 v0.2.16 -``` - -``` Compiling rand_chacha v0.3.1 -``` - -``` Compiling rand v0.8.5 -``` - -``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 2.53s ``` @@ -636,7 +424,7 @@ code, thanks to SemVer!) and different lines (depending on the operating system), and the lines may be in a different order. When we include an external dependency, Cargo fetches the latest versions of -everything that dependency needs from the *registry*, which is a copy of data +everything that dependency needs from the registry, which is a copy of data from Crates.io at *https://crates.io*. Crates.io is where people in the Rust ecosystem post their open source Rust projects for others to use. @@ -649,7 +437,7 @@ them and then compiles the project with the dependencies available. If you immediately run `cargo build` again without making any changes, you won’t get any output aside from the `Finished` line. Cargo knows it has already downloaded and compiled the dependencies, and you haven’t changed anything -about them in your *Cargo.toml* file. Cargo also knows that you haven’t changed +about them in your Cargo.toml* file. Cargo also knows that you haven’t changed anything about your code, so it doesn’t recompile that either. With nothing to do, it simply exits. @@ -658,18 +446,12 @@ build again, you’ll only see two lines of output: ``` $ cargo build -``` - -``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 2.53 secs ``` These lines show that Cargo only updates the build with your tiny change to the -*src/main.rs* file. Your dependencies haven’t changed, so Cargo knows it can +src/main.rs* file. Your dependencies haven’t changed, so Cargo knows it can reuse what it has already downloaded and compiled for those. #### Ensuring Reproducible Builds with the Cargo.lock File @@ -679,52 +461,42 @@ you or anyone else builds your code: Cargo will use only the versions of the dependencies you specified until you indicate otherwise. For example, say that next week version 0.8.6 of the `rand` crate comes out, and that version contains an important bug fix, but it also contains a regression that will -break your code. To handle this, Rust creates the *Cargo.lock* file the first -time you run `cargo build`, so we now have this in the *guessing_game* -directory. +break your code. To handle this, Rust creates the Cargo.lock file the first +time you run `cargo build`, so we now have this in the guessing_game* directory. When you build a project for the first time, Cargo figures out all the versions of the dependencies that fit the criteria and then writes them to the -*Cargo.lock* file. When you build your project in the future, Cargo will see -that the *Cargo.lock* file exists and will use the versions specified there -rather than doing all the work of figuring out versions again. This lets you -have a reproducible build automatically. In other words, your project will -remain at 0.8.5 until you explicitly upgrade, thanks to the *Cargo.lock* file. -Because the *Cargo.lock* file is important for reproducible builds, it’s often -checked into source control with the rest of the code in your project. +Cargo.lock file. When you build your project in the future, Cargo will see that +the Cargo.lock file exists and will use the versions specified there rather +than doing all the work of figuring out versions again. This lets you have a +reproducible build automatically. In other words, your project will remain at +0.8.5 until you explicitly upgrade, thanks to the Cargo.lock file. Because the +Cargo.lock* file is important for reproducible builds, it’s often checked into +source control with the rest of the code in your project. #### Updating a Crate to Get a New Version -When you *do* want to update a crate, Cargo provides the command `update`, -which will ignore the *Cargo.lock* file and figure out all the latest versions -that fit your specifications in *Cargo.toml*. Cargo will then write those -versions to the *Cargo.lock* file. Otherwise, by default, Cargo will only look -for versions greater than 0.8.5 and less than 0.9.0. If the `rand` crate has -released the two new versions 0.8.6 and 0.9.0, you would see the following if -you ran `cargo update`: +When you do want to update a crate, Cargo provides the command `update, which +will ignore the Cargo.lock file and figure out all the latest versions that fit +your specifications in Cargo.toml. Cargo will then write those versions to the +Cargo.lock file. Otherwise, by default, Cargo will only look for versions +greater than 0.8.5 and less than 0.9.0. If the `rand` crate has released the +two new versions 0.8.6 and 0.9.0, you would see the following if you ran `cargo +update`: ``` $ cargo update -``` - -``` Updating crates.io index -``` - -``` Updating rand v0.8.5 -> v0.8.6 ``` Cargo ignores the 0.9.0 release. At this point, you would also notice a change -in your *Cargo.lock* file noting that the version of the `rand` crate you are -now using is 0.8.6. To use `rand` version 0.9.0 or any version in the 0.9.*x* -series, you’d have to update the *Cargo.toml* file to look like this instead: +in your Cargo.lock file noting that the version of the `rand` crate you are now +using is 0.8.6. To use `rand` version 0.9.0 or any version in the 0.9.x series, +you’d have to update the Cargo.toml* file to look like this instead: ``` [dependencies] -``` - -``` rand = "0.9.0" ``` @@ -740,93 +512,36 @@ assembled from a number of packages. ### Generating a Random Number Let’s start using `rand` to generate a number to guess. The next step is to -update *src/main.rs*, as shown in Listing 2-3. +update src/main.rs*, as shown in Listing 2-3. Filename: src/main.rs ``` use std::io; -``` - -``` 1 use rand::Rng; -``` - -``` - -``` -``` fn main() { -``` - -``` println!("Guess the number!"); -``` - -``` -``` - -``` 2 let secret_number = rand::thread_rng().gen_range(1..=100); -``` -``` + 3 println!("The secret number is: {secret_number}"); -``` + println!("Please input your guess."); -``` - 3 println!("The secret number is: {secret_number}"); -``` - -``` - -``` - -``` - println!("Please input your guess."); -``` - -``` - -``` - -``` let mut guess = String::new(); -``` - -``` -``` - -``` io::stdin() -``` - -``` .read_line(&mut guess) -``` - -``` .expect("Failed to read line"); -``` - -``` -``` - -``` println!("You guessed: {guess}"); -``` - -``` } ``` Adding code to generate a random number -First we add the line `use rand::Rng``;` [1]. The `Rng` trait defines methods +First we add the line `use rand::Rng;` [1]. The `Rng` trait defines methods that random number generators implement, and this trait must be in scope for us to use those methods. Chapter 10 will cover traits in detail. @@ -835,19 +550,19 @@ Next, we’re adding two lines in the middle. In the first line [2], we call the generator we’re going to use: one that is local to the current thread of execution and is seeded by the operating system. Then we call the `gen_range` method on the random number generator. This method is defined by the `Rng` -trait that we brought into scope with the `use rand::Rng``;` statement. The +trait that we brought into scope with the `use rand::Rng;` statement. The `gen_range` method takes a range expression as an argument and generates a random number in the range. The kind of range expression we’re using here takes the form `start..=end` and is inclusive on the lower and upper bounds, so we need to specify `1..=100` to request a number between 1 and 100. -> NoteYou won’t just know which traits to use and which methods and functions +> Note: You won’t just know which traits to use and which methods and functions to call from a crate, so each crate has documentation with instructions for -using it. Another neat feature of Cargo is that running the `cargo doc ---o``pen` command will build documentation provided by all your dependencies -locally and open it in your browser. If you’re interested in other -functionality in the `rand` crate, for example, run `cargo doc --open` and -click `rand` in the sidebar on the left. +using it. Another neat feature of Cargo is that running the `cargo doc --open` +command will build documentation provided by all your dependencies locally and +open it in your browser. If you’re interested in other functionality in the +`rand` crate, for example, run `cargo doc --open` and click `rand` in the +sidebar on the left. The second new line [3] prints the secret number. This is useful while we’re developing the program to be able to test it, but we’ll delete it from the @@ -858,73 +573,22 @@ Try running the program a few times: ``` $ cargo run -``` - -``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 2.53s -``` - -``` Running `target/debug/guessing_game` -``` - -``` Guess the number! -``` - -``` The secret number is: 7 -``` - -``` Please input your guess. -``` - -``` 4 -``` - -``` You guessed: 4 -``` - -``` - -``` -``` $ cargo run -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.02s -``` - -``` Running `target/debug/guessing_game` -``` - -``` Guess the number! -``` - -``` The secret number is: 83 -``` - -``` Please input your guess. -``` - -``` 5 -``` - -``` You guessed: 5 ``` @@ -941,61 +605,19 @@ Filename: src/main.rs ``` use rand::Rng; -``` - -``` 1 use std::cmp::Ordering; -``` - -``` use std::io; -``` -``` - -``` - -``` fn main() { -``` - -``` --snip-- -``` - -``` - -``` -``` println!("You guessed: {guess}"); -``` - -``` - -``` -``` 2 match guess.3 cmp(&secret_number) { -``` - -``` Ordering::Less => println!("Too small!"), -``` - -``` Ordering::Greater => println!("Too big!"), -``` - -``` Ordering::Equal => println!("You win!"), -``` - -``` } -``` - -``` } ``` @@ -1015,12 +637,12 @@ comparing `guess` to `secret_number`. Then it returns a variant of the `Ordering` was returned from the call to `cmp` with the values in `guess` and `secret_number`. -A `match` expression is made up of *arms*. An arm consists of a *pattern* to -match against, and the code that should be run if the value given to `match` -fits that arm’s pattern. Rust takes the value given to `match` and looks -through each arm’s pattern in turn. Patterns and the `match` construct are -powerful Rust features: they let you express a variety of situations your code -might encounter and they make sure you handle them all. These features will be +A `match` expression is made up of arms. An arm consists of a pattern to match +against, and the code that should be run if the value given to `match` fits +that arm’s pattern. Rust takes the value given to `match` and looks through +each arm’s pattern in turn. Patterns and the `match` construct are powerful +Rust features: they let you express a variety of situations your code might +encounter and they make sure you handle them all. These features will be covered in detail in Chapter 6 and Chapter 18, respectively. Let’s walk through an example with the `match` expression we use here. Say that @@ -1033,8 +655,8 @@ the `Ordering::Greater` value and starts checking each arm’s pattern. It looks at the first arm’s pattern, `Ordering::Less`, and sees that the value `Ordering::Greater` does not match `Ordering::Less`, so it ignores the code in that arm and moves to the next arm. The next arm’s pattern is -`Ordering::Greater`, which *does* match `Ordering::Greater`! The associated -code in that arm will execute and print `Too big!` to the screen. The `match` +`Ordering::Greater`, which does match `Ordering::Greater`! The associated code +in that arm will execute and print `Too big!` to the screen. The `match` expression ends after the first successful match, so it won’t look at the last arm in this scenario. @@ -1042,45 +664,18 @@ However, the code in Listing 2-4 won’t compile yet. Let’s try it: ``` $ cargo build -``` - -``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) -``` - -``` error[E0308]: mismatched types -``` - -``` --> src/main.rs:22:21 -``` - -``` | -``` - -``` 22 | match guess.cmp(&secret_number) { -``` - -``` | ^^^^^^^^^^^^^^ expected struct `String`, found integer -``` - -``` | -``` - -``` = note: expected reference `&String` -``` - -``` found reference `&{integer}` ``` -The core of the error states that there are *mismatched types*. Rust has a +The core of the error states that there are mismatched types. Rust has a strong, static type system. However, it also has type inference. When we wrote `let mut guess = String::new()`, Rust was able to infer that `guess` should be a `String` and didn’t make us write the type. The `secret_number`, on the other @@ -1099,87 +694,30 @@ Filename: src/main.rs ``` --snip-- -``` - -``` - -``` -``` let mut guess = String::new(); -``` - -``` - -``` -``` io::stdin() -``` - -``` .read_line(&mut guess) -``` - -``` .expect("Failed to read line"); -``` - -``` - -``` -``` let guess: u32 = guess -``` - -``` .trim() -``` - -``` .parse() -``` - -``` .expect("Please type a number!"); -``` -``` - -``` - -``` println!("You guessed: {guess}"); -``` - -``` -``` - -``` match guess.cmp(&secret_number) { -``` - -``` Ordering::Less => println!("Too small!"), -``` - -``` Ordering::Greater => println!("Too big!"), -``` - -``` Ordering::Equal => println!("You win!"), -``` - -``` } ``` We create a variable named `guess`. But wait, doesn’t the program already have a variable named `guess`? It does, but helpfully Rust allows us to shadow the -previous value of `guess` with a new one. *Shadowing* lets us reuse the `guess` +previous value of `guess` with a new one. Shadowing lets us reuse the `guess` variable name rather than forcing us to create two unique variables, such as `guess_str` and `guess`, for example. We’ll cover this in more detail in Chapter 3, but for now, know that this feature is often used when you want to @@ -1226,41 +764,14 @@ Let’s run the program now: ``` $ cargo run -``` - -``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.43s -``` - -``` Running `target/debug/guessing_game` -``` - -``` Guess the number! -``` - -``` The secret number is: 58 -``` - -``` Please input your guess. -``` - -``` 76 -``` - -``` You guessed: 76 -``` - -``` Too big! ``` @@ -1281,61 +792,19 @@ Filename: src/main.rs ``` --snip-- -``` - -``` - -``` -``` println!("The secret number is: {secret_number}"); -``` - -``` - -``` -``` loop { -``` + println!("Please input your guess."); -``` - println!("Please input your guess."); -``` - -``` - -``` - -``` --snip-- -``` -``` - -``` - -``` match guess.cmp(&secret_number) { -``` - -``` Ordering::Less => println!("Too small!"), -``` - -``` Ordering::Greater => println!("Too big!"), -``` - -``` Ordering::Equal => println!("You win!"), -``` - -``` } -``` - -``` } ``` @@ -1352,93 +821,27 @@ advantage of that to allow the user to quit, as shown here: ``` $ cargo run -``` - -``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 1.50s -``` - -``` Running `target/debug/guessing_game` -``` - -``` Guess the number! -``` - -``` The secret number is: 59 -``` - -``` Please input your guess. -``` - -``` 45 -``` - -``` You guessed: 45 -``` - -``` Too small! -``` - -``` Please input your guess. -``` - -``` 60 -``` - -``` You guessed: 60 -``` - -``` Too big! -``` - -``` Please input your guess. -``` - -``` 59 -``` - -``` You guessed: 59 -``` - -``` You win! -``` - -``` Please input your guess. -``` - -``` quit -``` - -``` thread 'main' panicked at 'Please type a number!: ParseIntError -``` - -``` { kind: InvalidDigit }', src/main.rs:28:47 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` @@ -1454,45 +857,18 @@ Filename: src/main.rs ``` --snip-- -``` - -``` - -``` -``` match guess.cmp(&secret_number) { -``` - -``` Ordering::Less => println!("Too small!"), -``` - -``` Ordering::Greater => println!("Too big!"), -``` - -``` Ordering::Equal => { -``` - -``` println!("You win!"); -``` - -``` break; -``` - -``` } -``` - -``` } ``` -Adding the `break` line after `You win!` makes the program exit the loop when +Adding the `break line after `You win!` makes the program exit the loop when the user guesses the secret number correctly. Exiting the loop also means exiting the program, because the loop is the last part of `main`. @@ -1507,57 +883,18 @@ Filename: src/main.rs ``` --snip-- -``` - -``` -``` - -``` io::stdin() -``` - -``` .read_line(&mut guess) -``` - -``` .expect("Failed to read line"); -``` -``` - -``` - -``` let guess: u32 = match guess.trim().parse() { -``` - -``` Ok(num) => num, -``` - -``` Err(_) => continue, -``` - -``` }; -``` -``` - -``` - -``` println!("You guessed: {guess}"); -``` - -``` - -``` -``` --snip-- ``` @@ -1576,95 +913,38 @@ match the first arm’s pattern, and the `match` expression will just return the `num` value that `parse` produced and put inside the `Ok` value. That number will end up right where we want it in the new `guess` variable we’re creating. -If `parse` is *not* able to turn the string into a number, it will return an +If `parse` is not able to turn the string into a number, it will return an `Err` value that contains more information about the error. The `Err` value does not match the `Ok(num)` pattern in the first `match` arm, but it does -match the `Err(_)` pattern in the second arm. The underscore, `_`, is a -catchall value; in this example, we’re saying we want to match all `Err` -values, no matter what information they have inside them. So the program will -execute the second arm’s code, `continue`, which tells the program to go to the -next iteration of the `loop` and ask for another guess. So, effectively, the -program ignores all errors that `parse` might encounter! +match the `Err(_)` pattern in the second arm. The underscore, `_, is a catchall +value; in this example, we’re saying we want to match all `Err` values, no +matter what information they have inside them. So the program will execute the +second arm’s code, `continue, which tells the program to go to the next +iteration of the `loop` and ask for another guess. So, effectively, the program +ignores all errors that `parse` might encounter! Now everything in the program should work as expected. Let’s try it: ``` $ cargo run -``` - -``` Compiling guessing_game v0.1.0 (file:///projects/guessing_game) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 4.45s -``` - -``` Running `target/debug/guessing_game` -``` - -``` Guess the number! -``` - -``` The secret number is: 61 -``` - -``` Please input your guess. -``` - -``` 10 -``` - -``` You guessed: 10 -``` - -``` Too small! -``` - -``` Please input your guess. -``` - -``` 99 -``` - -``` You guessed: 99 -``` - -``` Too big! -``` - -``` Please input your guess. -``` - -``` foo -``` - -``` Please input your guess. -``` - -``` 61 -``` - -``` You guessed: 61 -``` - -``` You win! ``` @@ -1677,141 +957,39 @@ Filename: src/main.rs ``` use rand::Rng; -``` - -``` use std::cmp::Ordering; -``` - -``` use std::io; -``` -``` - -``` - -``` fn main() { -``` - -``` println!("Guess the number!"); -``` - -``` - -``` -``` let secret_number = rand::thread_rng().gen_range(1..=100); -``` -``` - -``` - -``` loop { -``` - -``` println!("Please input your guess."); -``` - -``` - -``` -``` let mut guess = String::new(); -``` -``` - -``` - -``` io::stdin() -``` - -``` .read_line(&mut guess) -``` - -``` .expect("Failed to read line"); -``` - -``` - -``` -``` let guess: u32 = match guess.trim().parse() { -``` - -``` Ok(num) => num, -``` - -``` Err(_) => continue, -``` - -``` }; -``` - -``` - -``` -``` println!("You guessed: {guess}"); -``` - -``` -``` - -``` match guess.cmp(&secret_number) { -``` - -``` Ordering::Less => println!("Too small!"), -``` - -``` Ordering::Greater => println!("Too big!"), -``` - -``` Ordering::Equal => { -``` - -``` println!("You win!"); -``` - -``` break; -``` - -``` } -``` - -``` } -``` - -``` } -``` - -``` } ``` diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 78727fdaa0..a620a32219 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -231,11 +231,11 @@ Unmatched: - + ` - + ` From b2338dbc55c3cf93363fc3714bbdad2fffb3da6c Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 6 Sep 2022 10:38:05 -0400 Subject: [PATCH 0460/1248] Fix italic preceding/following --- nostarch/chapter02.md | 104 +++++++++++++++++++++--------------------- tools/docx-to-md.xsl | 4 +- 2 files changed, 55 insertions(+), 53 deletions(-) diff --git a/nostarch/chapter02.md b/nostarch/chapter02.md index d4642c52d9..671e986231 100644 --- a/nostarch/chapter02.md +++ b/nostarch/chapter02.md @@ -23,7 +23,7 @@ correct, the game will print a congratulatory message and exit. ## Setting Up a New Project -To set up a new project, go to the projects* directory that you created in +To set up a new project, go to the *projects* directory that you created in Chapter 1 and make a new project using Cargo, like so: ``` @@ -52,7 +52,7 @@ https://doc.rust-lang.org/cargo/reference/manifest.html ``` As you saw in Chapter 1, `cargo new` generates a “Hello, world!” program for -you. Check out the src/main.rs* file: +you. Check out the *src/main.rs* file: Filename: src/main.rs @@ -84,7 +84,7 @@ Reopen the *src/main.rs* file. You’ll be writing all the code in this file. The first part of the guessing game program will ask for user input, process that input, and check that the input is in the expected form. To start, we’ll allow the player to input a guess. Enter the code in Listing 2-1 into -src/main.rs*. +*src/main.rs*. Filename: src/main.rs @@ -121,8 +121,9 @@ use std::io; ``` By default, Rust has a set of items defined in the standard library that it -brings into the scope of every program. This set is called the prelude, and you -can see everything in it at *https://doc.rust-lang.org/std/prelude/index.html*. +brings into the scope of every program. This set is called the *prelude*, and +you can see everything in it at +*https://doc.rust-lang.org/std/prelude/index.html*. If a type you want to use isn’t in the prelude, you have to bring that type into scope explicitly with a `use` statement. Using the `std::io` library @@ -153,7 +154,7 @@ from the user. ### Storing Values with Variables -Next, we’ll create a variable* to store the user input, like this: +Next, we’ll create a *variable* to store the user input, like this: ``` let mut guess = String::new(); @@ -190,7 +191,7 @@ is a string type provided by the standard library that is a growable, UTF-8 encoded bit of text. The `::` syntax in the `::new` line indicates that `new` is an associated -function of the `String` type. An associated function is a function that’s +function of the `String` type. An *associated function is a function that’s implemented on a type, in this case `String`. This `new` function creates a new, empty string. You’ll find a `new` function on many types because it’s a common name for a function that makes a new value of some kind. @@ -224,7 +225,7 @@ standard input and append that into a string (without overwriting its contents), so we therefore pass that string as an argument. The string argument needs to be mutable so the method can change the string’s content. -The `& indicates that this argument is a reference, which gives you a way to +The `& indicates that this argument is a *reference*, which gives you a way to let multiple parts of your code access one piece of data without needing to copy that data into memory multiple times. References are a complex feature, and one of Rust’s major advantages is how safe and easy it is to use @@ -257,8 +258,8 @@ discuss what this line does. As mentioned earlier, `read_line` puts whatever the user enters into the string we pass to it, but it also returns a `Result` value. `Result` is an -enumeration, often called an enum, which is a type that can be in one of -multiple possible states. We call each possible state a variant*. +*enumeration*, often called an *enum*, which is a type that can be in one of +multiple possible states. We call each possible state a *variant*. Chapter 6 will cover enums in more detail. The purpose of these `Result` types is to encode error-handling information. @@ -360,12 +361,12 @@ library. However, the Rust team does provide a `rand` crate at ### Using a Crate to Get More Functionality Remember that a crate is a collection of Rust source code files. The project -we’ve been building is a binary crate , which is an executable. The `rand` -crate is a library crate*, which contains code that is intended to be used in +we’ve been building is a *binary crate , which is an executable. The `rand` +crate is a *library crate*, which contains code that is intended to be used in other programs and can’t be executed on its own. Cargo’s coordination of external crates is where Cargo really shines. Before we -can write code that uses `rand`, we need to modify the Cargo.toml file to +can write code that uses `rand`, we need to modify the *Cargo.toml* file to include the `rand` crate as a dependency. Open that file now and add the following line to the bottom, beneath the `[dependencies]` section header that Cargo created for you. Be sure to specify `rand` exactly as we have here, with @@ -378,14 +379,14 @@ Filename: Cargo.toml rand = "0.8.5" ``` -In the Cargo.toml file, everything that follows a header is part of that +In the *Cargo.toml* file, everything that follows a header is part of that section that continues until another section starts. In `[dependencies]` you tell Cargo which external crates your project depends on and which versions of those crates you require. In this case, we specify the `rand` crate with the semantic version specifier `0.8.5`. Cargo understands Semantic Versioning -(sometimes called SemVer), which is a standard for writing version numbers. The -specifier `0.8.5` is actually shorthand for `^0.8.5`, which means any version -that is at least 0.8.5 but below 0.9.0. +(sometimes called *SemVer*), which is a standard for writing version numbers. +The specifier `0.8.5` is actually shorthand for `^0.8.5`, which means any +version that is at least 0.8.5 but below 0.9.0. Cargo considers these versions to have public APIs compatible with version 0.8.5, and this specification ensures you’ll get the latest patch release that @@ -424,7 +425,7 @@ code, thanks to SemVer!) and different lines (depending on the operating system), and the lines may be in a different order. When we include an external dependency, Cargo fetches the latest versions of -everything that dependency needs from the registry, which is a copy of data +everything that dependency needs from the *registry*, which is a copy of data from Crates.io at *https://crates.io*. Crates.io is where people in the Rust ecosystem post their open source Rust projects for others to use. @@ -437,7 +438,7 @@ them and then compiles the project with the dependencies available. If you immediately run `cargo build` again without making any changes, you won’t get any output aside from the `Finished` line. Cargo knows it has already downloaded and compiled the dependencies, and you haven’t changed anything -about them in your Cargo.toml* file. Cargo also knows that you haven’t changed +about them in your *Cargo.toml* file. Cargo also knows that you haven’t changed anything about your code, so it doesn’t recompile that either. With nothing to do, it simply exits. @@ -451,7 +452,7 @@ $ cargo build ``` These lines show that Cargo only updates the build with your tiny change to the -src/main.rs* file. Your dependencies haven’t changed, so Cargo knows it can +*src/main.rs* file. Your dependencies haven’t changed, so Cargo knows it can reuse what it has already downloaded and compiled for those. #### Ensuring Reproducible Builds with the Cargo.lock File @@ -461,28 +462,29 @@ you or anyone else builds your code: Cargo will use only the versions of the dependencies you specified until you indicate otherwise. For example, say that next week version 0.8.6 of the `rand` crate comes out, and that version contains an important bug fix, but it also contains a regression that will -break your code. To handle this, Rust creates the Cargo.lock file the first -time you run `cargo build`, so we now have this in the guessing_game* directory. +break your code. To handle this, Rust creates the *Cargo.lock* file the first +time you run `cargo build`, so we now have this in the *guessing_game* +directory. When you build a project for the first time, Cargo figures out all the versions of the dependencies that fit the criteria and then writes them to the -Cargo.lock file. When you build your project in the future, Cargo will see that -the Cargo.lock file exists and will use the versions specified there rather -than doing all the work of figuring out versions again. This lets you have a -reproducible build automatically. In other words, your project will remain at -0.8.5 until you explicitly upgrade, thanks to the Cargo.lock file. Because the -Cargo.lock* file is important for reproducible builds, it’s often checked into -source control with the rest of the code in your project. +*Cargo.lock* file. When you build your project in the future, Cargo will see +that the *Cargo.lock* file exists and will use the versions specified there +rather than doing all the work of figuring out versions again. This lets you +have a reproducible build automatically. In other words, your project will +remain at 0.8.5 until you explicitly upgrade, thanks to the *Cargo.lock* file. +Because the *Cargo.lock* file is important for reproducible builds, it’s often +checked into source control with the rest of the code in your project. #### Updating a Crate to Get a New Version -When you do want to update a crate, Cargo provides the command `update, which -will ignore the Cargo.lock file and figure out all the latest versions that fit -your specifications in Cargo.toml. Cargo will then write those versions to the -Cargo.lock file. Otherwise, by default, Cargo will only look for versions -greater than 0.8.5 and less than 0.9.0. If the `rand` crate has released the -two new versions 0.8.6 and 0.9.0, you would see the following if you ran `cargo -update`: +When you *do* want to update a crate, Cargo provides the command `update, which +will ignore the *Cargo.lock* file and figure out all the latest versions that +fit your specifications in *Cargo.toml*. Cargo will then write those versions +to the *Cargo.lock* file. Otherwise, by default, Cargo will only look for +versions greater than 0.8.5 and less than 0.9.0. If the `rand` crate has +released the two new versions 0.8.6 and 0.9.0, you would see the following if +you ran `cargo update`: ``` $ cargo update @@ -491,9 +493,9 @@ $ cargo update ``` Cargo ignores the 0.9.0 release. At this point, you would also notice a change -in your Cargo.lock file noting that the version of the `rand` crate you are now -using is 0.8.6. To use `rand` version 0.9.0 or any version in the 0.9.x series, -you’d have to update the Cargo.toml* file to look like this instead: +in your *Cargo.lock* file noting that the version of the `rand` crate you are +now using is 0.8.6. To use `rand` version 0.9.0 or any version in the 0.9.*x* +series, you’d have to update the *Cargo.toml* file to look like this instead: ``` [dependencies] @@ -512,7 +514,7 @@ assembled from a number of packages. ### Generating a Random Number Let’s start using `rand` to generate a number to guess. The next step is to -update src/main.rs*, as shown in Listing 2-3. +update *src/main.rs*, as shown in Listing 2-3. Filename: src/main.rs @@ -637,12 +639,12 @@ comparing `guess` to `secret_number`. Then it returns a variant of the `Ordering` was returned from the call to `cmp` with the values in `guess` and `secret_number`. -A `match` expression is made up of arms. An arm consists of a pattern to match -against, and the code that should be run if the value given to `match` fits -that arm’s pattern. Rust takes the value given to `match` and looks through -each arm’s pattern in turn. Patterns and the `match` construct are powerful -Rust features: they let you express a variety of situations your code might -encounter and they make sure you handle them all. These features will be +A `match` expression is made up of *arms*. An arm consists of a *pattern* to +match against, and the code that should be run if the value given to `match` +fits that arm’s pattern. Rust takes the value given to `match` and looks +through each arm’s pattern in turn. Patterns and the `match` construct are +powerful Rust features: they let you express a variety of situations your code +might encounter and they make sure you handle them all. These features will be covered in detail in Chapter 6 and Chapter 18, respectively. Let’s walk through an example with the `match` expression we use here. Say that @@ -655,8 +657,8 @@ the `Ordering::Greater` value and starts checking each arm’s pattern. It looks at the first arm’s pattern, `Ordering::Less`, and sees that the value `Ordering::Greater` does not match `Ordering::Less`, so it ignores the code in that arm and moves to the next arm. The next arm’s pattern is -`Ordering::Greater`, which does match `Ordering::Greater`! The associated code -in that arm will execute and print `Too big!` to the screen. The `match` +`Ordering::Greater`, which *does* match `Ordering::Greater`! The associated +code in that arm will execute and print `Too big!` to the screen. The `match` expression ends after the first successful match, so it won’t look at the last arm in this scenario. @@ -675,7 +677,7 @@ error[E0308]: mismatched types found reference `&{integer}` ``` -The core of the error states that there are mismatched types. Rust has a +The core of the error states that there are *mismatched types*. Rust has a strong, static type system. However, it also has type inference. When we wrote `let mut guess = String::new()`, Rust was able to infer that `guess` should be a `String` and didn’t make us write the type. The `secret_number`, on the other @@ -717,7 +719,7 @@ match guess.cmp(&secret_number) { We create a variable named `guess`. But wait, doesn’t the program already have a variable named `guess`? It does, but helpfully Rust allows us to shadow the -previous value of `guess` with a new one. Shadowing lets us reuse the `guess` +previous value of `guess` with a new one. *Shadowing* lets us reuse the `guess` variable name rather than forcing us to create two unique variables, such as `guess_str` and `guess`, for example. We’ll cover this in more detail in Chapter 3, but for now, know that this feature is often used when you want to @@ -913,7 +915,7 @@ match the first arm’s pattern, and the `match` expression will just return the `num` value that `parse` produced and put inside the `Ok` value. That number will end up right where we want it in the new `guess` variable we’re creating. -If `parse` is not able to turn the string into a number, it will return an +If `parse` is *not* able to turn the string into a number, it will return an `Err` value that contains more information about the error. The `Err` value does not match the `Ok(num)` pattern in the first `match` arm, but it does match the `Err(_)` pattern in the second arm. The underscore, `_, is a catchall diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index a620a32219..8cfd507562 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -273,13 +273,13 @@ Unmatched: - + * - + * From 4a965358733a08958f9613afd38098b80d63dbfc Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 6 Sep 2022 10:51:22 -0400 Subject: [PATCH 0461/1248] Fix italics and whitespace interactions --- nostarch/chapter02.md | 4 ++-- tools/docx-to-md.xsl | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/nostarch/chapter02.md b/nostarch/chapter02.md index 671e986231..8ab91c2e4a 100644 --- a/nostarch/chapter02.md +++ b/nostarch/chapter02.md @@ -191,7 +191,7 @@ is a string type provided by the standard library that is a growable, UTF-8 encoded bit of text. The `::` syntax in the `::new` line indicates that `new` is an associated -function of the `String` type. An *associated function is a function that’s +function of the `String` type. An *associated function* is a function that’s implemented on a type, in this case `String`. This `new` function creates a new, empty string. You’ll find a `new` function on many types because it’s a common name for a function that makes a new value of some kind. @@ -361,7 +361,7 @@ library. However, the Rust team does provide a `rand` crate at ### Using a Crate to Get More Functionality Remember that a crate is a collection of Rust source code files. The project -we’ve been building is a *binary crate , which is an executable. The `rand` +we’ve been building is a *binary crate*, which is an executable. The `rand` crate is a *library crate*, which contains code that is intended to be used in other programs and can’t be executed on its own. diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 8cfd507562..e8fc1338f4 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -269,17 +269,17 @@ Unmatched: - + - + * - + * @@ -287,9 +287,9 @@ Unmatched: - + - + From b65ef142bea94b29a8b3158dbddf4acc63124a32 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 6 Sep 2022 11:03:53 -0400 Subject: [PATCH 0462/1248] Regenerate ch3 from xml and fix tables --- nostarch/chapter03.md | 1351 +---------------------------------------- tools/docx-to-md.xsl | 31 +- 2 files changed, 55 insertions(+), 1327 deletions(-) diff --git a/nostarch/chapter03.md b/nostarch/chapter03.md index 2bb7b8e90f..81a2b17f0c 100644 --- a/nostarch/chapter03.md +++ b/nostarch/chapter03.md @@ -19,11 +19,8 @@ and control flow. These foundations will be in every Rust program, and learning them early will give you a strong core to start from. -Unmatched: BoxType - > ### Keywords - - +> > The Rust language has a set of *keywords* that are reserved for use by the language only, much as in other languages. Keep in mind that you cannot use these words as names of variables or functions. Most of the keywords have @@ -52,25 +49,10 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let x = 5; -``` - -``` println!("The value of x is: {x}"); -``` - -``` x = 6; -``` - -``` println!("The value of x is: {x}"); -``` - -``` } ``` @@ -79,53 +61,17 @@ regarding an immutability error, as shown in this output: ``` $ cargo run -``` - -``` Compiling variables v0.1.0 (file:///projects/variables) -``` - -``` error[E0384]: cannot assign twice to immutable variable `x` -``` - -``` --> src/main.rs:4:5 -``` - -``` | -``` - -``` 2 | let x = 5; -``` - -``` | - -``` - -``` | | -``` - -``` | first assignment to `x` -``` - -``` | help: consider making this binding mutable: `mut x` -``` - -``` 3 | println!("The value of x is: {x}"); -``` - -``` 4 | x = 6; -``` - -``` | ^^^^^ cannot assign twice to immutable variable ``` @@ -160,25 +106,10 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let mut x = 5; -``` - -``` println!("The value of x is: {x}"); -``` - -``` x = 6; -``` - -``` println!("The value of x is: {x}"); -``` - -``` } ``` @@ -186,25 +117,10 @@ When we run the program now, we get this: ``` $ cargo run -``` - -``` Compiling variables v0.1.0 (file:///projects/variables) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.30s -``` - -``` Running `target/debug/variables` -``` - -``` The value of x is: 5 -``` - -``` The value of x is: 6 ``` @@ -274,49 +190,16 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let x = 5; -``` -``` - -``` - -``` let x = x + 1; -``` - -``` -``` - -``` { -``` - -``` let x = x * 2; -``` - -``` println!("The value of x in the inner scope is: {x}"); -``` - -``` } -``` - -``` - -``` -``` println!("The value of x is: {x}"); -``` - -``` } ``` @@ -330,25 +213,10 @@ When we run this program, it will output the following: ``` $ cargo run -``` - -``` Compiling variables v0.1.0 (file:///projects/variables) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.31s -``` - -``` Running `target/debug/variables` -``` - -``` The value of x in the inner scope is: 12 -``` - -``` The value of x is: 6 ``` @@ -366,9 +234,6 @@ inputting space characters, and then we want to store that input as a number: ``` let spaces = " "; -``` - -``` let spaces = spaces.len(); ``` @@ -380,9 +245,6 @@ here, we’ll get a compile-time error: ``` let mut spaces = " "; -``` - -``` spaces = spaces.len(); ``` @@ -390,37 +252,13 @@ The error says we’re not allowed to mutate a variable’s type: ``` $ cargo run -``` - -``` Compiling variables v0.1.0 (file:///projects/variables) -``` - -``` error[E0308]: mismatched types -``` - -``` --> src/main.rs:3:14 -``` - -``` | -``` - -``` 2 | let mut spaces = " "; -``` - -``` | ----- expected due to this value -``` - -``` 3 | spaces = spaces.len(); -``` - -``` | ^^^^^^^^^^^^ expected `&str`, found `usize` ``` @@ -450,29 +288,11 @@ information from us to know which type we want to use: ``` $ cargo build -``` - -``` Compiling no_type_annotations v0.1.0 (file:///projects/no_type_annotations) -``` - -``` error[E0282]: type annotations needed -``` - -``` --> src/main.rs:2:9 -``` - -``` | -``` - -``` 2 | let guess = "42".parse().expect("Not a number!"); -``` - -``` | ^^^^^ consider giving `guess` a type ``` @@ -493,55 +313,18 @@ start with `i` instead of `u`) that takes up 32 bits of space. Table 3-1 shows the built-in integer types in Rust. We can use any of these variants to declare the type of an integer value. -PROD: Please number this as Table 3-1. - Integer Types in Rust +| Length | Signed | Unsigned | +|---|---|---| +| 8-bit | `i8` | `u8` | +| 16-bit | `i16` | `u16` | +| 32-bit | `i32` | `u32` | +| 64-bit | `i64` | `u64` | +| 128-bit | `i128` | `u128` | +| arch | `isize` | `usize` | -Unmatched: TableHeader - -Unmatched: TableHeader - -Unmatched: TableHeader - -Unmatched: TableHeader - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - Each variant can be either signed or unsigned and has an explicit size. +Each variant can be either signed or unsigned and has an explicit size. *Signed* and *unsigned* refer to whether it’s possible for the number to be negative—in other words, whether the number needs to have a sign with it (signed) or whether it will only ever be positive and can therefore be @@ -567,45 +350,24 @@ such as `57u8`, to designate the type. Number literals can also use `_` as a visual separator to make the number easier to read, such as `1_000`, which will have the same value as if you had specified `1000`. -Prod: The following should be numbered as Table 3-2. - Integer Literals in Rust +| Number literals | Example | +|---|---| +| Decimal | `98_222` | +| Hex | `0xff` | +| Octal | `0o77` | +| Binary | `0b1111_0000` | +| Byte (`u8` only) | `b'A'` | -Unmatched: TableHeader - -Unmatched: TableHeader - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - -Unmatched: TableBody - So how do you know which type of integer to use? If you’re unsure, Rust’s +So how do you know which type of integer to use? If you’re unsure, Rust’s defaults are generally good places to start: integer types default to `i32`. The primary situation in which you’d use `isize` or `usize` is when indexing some sort of collection. -Unmatched: BoxType - > ### Integer Overflow - - +> > Let’s say you have a variable of type `u8` that can hold values between 0 and 255. If you try to change the variable to a value outside that range, such as 256, *integer overflow* will occur, which can result in one of two behaviors. @@ -614,7 +376,6 @@ that cause your program to *panic* at runtime if this behavior occurs. Rust uses the term *panicking* when a program exits with an error; we’ll discuss panics in more depth in “Unrecoverable Errors with panic!” on page XX. - > When you’re compiling in release mode with the `--release` flag, Rust does *not* include checks for integer overflow that cause panics. Instead, if overflow occurs, Rust performs *two’s complement wrapping*. In short, values @@ -624,7 +385,6 @@ of the values the type can hold. In the case of a `u8`, the value 256 becomes variable will have a value that probably isn’t what you were expecting it to have. Relying on integer overflow’s wrapping behavior is considered an error. - > To explicitly handle the possibility of overflow, you can use these families of methods provided by the standard library for primitive numeric types: @@ -650,21 +410,9 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let x = 2.0; // f64 -``` - -``` - -``` -``` let y: f32 = 3.0; // f32 -``` - -``` } ``` @@ -682,69 +430,21 @@ Filename: src/main.rs ``` fn main() { -``` - -``` // addition -``` - -``` let sum = 5 + 10; -``` - -``` -``` - -``` // subtraction -``` - -``` let difference = 95.5 - 4.3; -``` - -``` - -``` -``` // multiplication -``` - -``` let product = 4 * 30; -``` -``` - -``` - -``` // division -``` - -``` let quotient = 56.7 / 32.2; -``` - -``` let truncated = -5 / 3; // Results in -1 -``` - -``` - -``` -``` // remainder -``` - -``` let remainder = 43 % 5; -``` - -``` } ``` @@ -762,21 +462,9 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let t = true; -``` - -``` - -``` -``` let f: bool = false; // with explicit type annotation -``` - -``` } ``` @@ -789,27 +477,13 @@ page XX. Rust’s `char` type is the language’s most primitive alphabetic type. Here are some examples of declaring `char` values: -Prod: note this listing has unusual characters - Filename: src/main.rs ``` fn main() { -``` - -``` let c = 'z'; -``` - -``` let z: char = 'ℤ'; // with explicit type annotation -``` - -``` let heart_eyed_cat = '😻'; -``` - -``` } ``` @@ -844,13 +518,7 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let tup: (i32, f64, u8) = (500, 6.4, 1); -``` - -``` } ``` @@ -862,29 +530,11 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let tup = (500, 6.4, 1); -``` - -``` -``` - -``` let (x, y, z) = tup; -``` -``` - -``` - -``` println!("The value of y is: {y}"); -``` - -``` } ``` @@ -901,37 +551,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let x: (i32, f64, u8) = (500, 6.4, 1); -``` - -``` - -``` -``` let five_hundred = x.0; -``` - -``` -``` - -``` let six_point_four = x.1; -``` -``` - -``` - -``` let one = x.2; -``` - -``` } ``` @@ -957,13 +583,7 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let a = [1, 2, 3, 4, 5]; -``` - -``` } ``` @@ -982,9 +602,6 @@ it will always contain 12 elements: ``` let months = ["January", "February", "March", "April", "May", "June", "July", -``` - -``` "August", "September", "October", "November", "December"]; ``` @@ -1020,25 +637,10 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let a = [1, 2, 3, 4, 5]; -``` - -``` - -``` -``` let first = a[0]; -``` - -``` let second = a[1]; -``` - -``` } ``` @@ -1056,97 +658,28 @@ Filename: src/main.rs ``` use std::io; -``` - -``` - -``` -``` fn main() { -``` - -``` let a = [1, 2, 3, 4, 5]; -``` - -``` -``` - -``` println!("Please enter an array index."); -``` -``` - -``` - -``` let mut index = String::new(); -``` - -``` -``` - -``` io::stdin() -``` - -``` .read_line(&mut index) -``` - -``` .expect("Failed to read line"); -``` - -``` -``` - -``` let index: usize = index -``` - -``` .trim() -``` - -``` .parse() -``` - -``` .expect("Index entered was not a number"); -``` - -``` - -``` -``` let element = a[index]; -``` - -``` - -``` -``` println!( -``` - -``` "The value of the element at index {index} is: {element}" -``` - -``` ); -``` - -``` } ``` @@ -1158,9 +691,6 @@ the array, such as `10`, you’ll see output like this: ``` thread 'main' panicked at 'index out of bounds: the len is 5 but the index is 10', src/main.rs:19:19 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` @@ -1195,37 +725,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` println!("Hello, world!"); -``` - -``` - -``` -``` another_function(); -``` - -``` } -``` - -``` - -``` -``` fn another_function() { -``` - -``` println!("Another function."); -``` - -``` } ``` @@ -1246,25 +752,10 @@ should see the following output: ``` $ cargo run -``` - -``` Compiling functions v0.1.0 (file:///projects/functions) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.28s -``` - -``` Running `target/debug/functions` -``` - -``` Hello, world! -``` - -``` Another function. ``` @@ -1288,29 +779,11 @@ Filename: src/main.rs ``` fn main() { -``` - -``` another_function(5); -``` - -``` } -``` - -``` -``` - -``` fn another_function(x: i32) { -``` - -``` println!("The value of x is: {x}"); -``` - -``` } ``` @@ -1318,22 +791,10 @@ Try running this program; you should get the following output: ``` $ cargo run -``` - -``` Compiling functions v0.1.0 (file:///projects/functions) -``` - -``` - Finished dev [unoptimized + debuginfo] target(s) in 1.21s -``` - -``` - Running `target/debug/functions` -``` - -``` -The value of x is: 5 + Finished dev [unoptimized + debuginfo] target(s) in 1.21s + Running `target/debug/functions` +The value of x is: 5 ``` The declaration of `another_function` has one parameter named `x`. The type of @@ -1354,29 +815,11 @@ Filename: src/main.rs ``` fn main() { -``` - -``` print_labeled_measurement(5, 'h'); -``` - -``` } -``` - -``` -``` - -``` fn print_labeled_measurement(value: i32, unit_label: char) { -``` - -``` println!("The measurement is: {value}{unit_label}"); -``` - -``` } ``` @@ -1391,21 +834,9 @@ run`: ``` $ cargo run -``` - -``` Compiling functions v0.1.0 (file:///projects/functions) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.31s -``` - -``` Running `target/debug/functions` -``` - -``` The measurement is: 5h ``` @@ -1422,37 +853,23 @@ understand. Other languages don’t have the same distinctions, so let’s look what statements and expressions are and how their differences affect the bodies of functions. - -Unmatched: RunInHead - -Unmatched: RunInPara - -Unmatched: RunInHead - -Unmatched: RunInPara - We’ve actually already used statements and expressions. Creating a -variable and assigning a value to it with the `let` keyword is a statement. In -Listing 3-1, `let y = 6;` is a statement. +* Statements - are instructions that perform some action and do not return a +value. +* Expressions - evaluate to a resultant value. Let’s look at some examples. +We’ve actually already used statements and expressions. Creating a variable and +assigning a value to it with the `let` keyword is a statement. In Listing 3-1, +`let y = 6;` is a statement. Filename: src/main.rs ``` fn main() { -``` - -``` let y = 6; -``` - -``` } ``` A `main` function declaration containing one statement -Prod: this should be Listing 3-1. Please fix, and renumber all remaining -listings consecutively: e.g., Listing 3-2, Listing 3-3, etc. - Function definitions are also statements; the entire preceding example is a statement in itself. @@ -1463,13 +880,7 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let x = (let y = 6); -``` - -``` } ``` @@ -1477,73 +888,22 @@ When you run this program, the error you’ll get looks like this: ``` $ cargo run -``` - -``` Compiling functions v0.1.0 (file:///projects/functions) -``` - -``` error: expected expression, found statement (`let`) -``` - -``` --> src/main.rs:2:14 -``` - -``` | -``` - -``` 2 | let x = (let y = 6); -``` - -``` | ^^^^^^^^^ -``` - -``` | -``` - -``` = note: variable declaration using `let` is a statement -``` - -``` - -``` -``` error[E0658]: `let` expressions in this position are unstable -``` - -``` --> src/main.rs:2:14 -``` - -``` | -``` - -``` 2 | let x = (let y = 6); -``` - -``` | ^^^^^^^^^ -``` - -``` | -``` - -``` = note: see issue #53667 for -``` - -``` more information ``` @@ -1565,33 +925,12 @@ Filename: src/main.rs ``` fn main() { -``` - -``` 1 let y = {2 -``` - -``` let x = 3; -``` - -``` 3 x + 1 -``` - -``` }; -``` - -``` -``` - -``` println!("The value of y is: {y}"); -``` - -``` } ``` @@ -1617,37 +956,13 @@ Filename: src/main.rs ``` fn five() -> i32 { -``` - -``` 5 -``` - -``` } -``` - -``` - -``` -``` fn main() { -``` - -``` let x = five(); -``` - -``` -``` - -``` println!("The value of x is: {x}"); -``` - -``` } ``` @@ -1658,21 +973,9 @@ running this code; the output should look like this: ``` $ cargo run -``` - -``` Compiling functions v0.1.0 (file:///projects/functions) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.30s -``` - -``` Running `target/debug/functions` -``` - -``` The value of x is: 5 ``` @@ -1696,37 +999,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let x = plus_one(5); -``` - -``` -``` - -``` println!("The value of x is: {x}"); -``` - -``` } -``` - -``` - -``` -``` fn plus_one(x: i32) -> i32 { -``` - -``` x + 1 -``` - -``` } ``` @@ -1738,37 +1017,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let x = plus_one(5); -``` - -``` -``` - -``` println!("The value of x is: {x}"); -``` - -``` } -``` - -``` - -``` -``` fn plus_one(x: i32) -> i32 { -``` - -``` x + 1; -``` - -``` } ``` @@ -1776,45 +1031,15 @@ Compiling this code produces an error, as follows: ``` $ cargo run -``` - -``` Compiling functions v0.1.0 (file:///projects/functions) -``` - -``` error[E0308]: mismatched types -``` - -``` --> src/main.rs:7:24 -``` - -``` | -``` - -``` 7 | fn plus_one(x: i32) -> i32 { -``` - -``` | -------- ^^^ expected `i32`, found `()` -``` - -``` | | -``` - -``` | implicitly returns `()` as its body has no tail or `return` expression -``` - -``` 8 | x + 1; -``` - -``` | - help: remove this semicolon ``` @@ -1845,13 +1070,7 @@ single line, you’ll need to include `//` on each line, like this: ``` // So we’re doing something complicated here, long enough that we need -``` - -``` // multiple lines of comments to do it! Whew! Hopefully, this comment will -``` - -``` // explain what’s going on. ``` @@ -1861,13 +1080,7 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let lucky_number = 7; // I’m feeling lucky today -``` - -``` } ``` @@ -1878,17 +1091,8 @@ Filename: src/main.rs ``` fn main() { -``` - -``` // I’m feeling lucky today -``` - -``` let lucky_number = 7; -``` - -``` } ``` @@ -1915,37 +1119,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let number = 3; -``` - -``` - -``` -``` if number < 5 { -``` - -``` println!("condition was true"); -``` - -``` } else { -``` - -``` println!("condition was false"); -``` - -``` } -``` - -``` } ``` @@ -1967,21 +1147,9 @@ Try running this code; you should see the following output: ``` $ cargo run -``` - -``` Compiling branches v0.1.0 (file:///projects/branches) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.31s -``` - -``` Running `target/debug/branches` -``` - -``` condition was true ``` @@ -1996,21 +1164,9 @@ Run the program again, and look at the output: ``` $ cargo run -``` - -``` Compiling branches v0.1.0 (file:///projects/branches) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.31s -``` - -``` Running `target/debug/branches` -``` - -``` condition was false ``` @@ -2022,29 +1178,11 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let number = 3; -``` - -``` -``` - -``` if number { -``` - -``` println!("number was three"); -``` - -``` } -``` - -``` } ``` @@ -2053,29 +1191,11 @@ error: ``` $ cargo run -``` - -``` Compiling branches v0.1.0 (file:///projects/branches) -``` - -``` error[E0308]: mismatched types -``` - -``` --> src/main.rs:4:8 -``` - -``` | -``` - -``` 4 | if number { -``` - -``` | ^^^^^^ expected `bool`, found integer ``` @@ -2090,29 +1210,11 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let number = 3; -``` - -``` - -``` -``` if number != 0 { -``` - -``` println!("number was something other than zero"); -``` - -``` } -``` - -``` } ``` @@ -2127,53 +1229,17 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let number = 6; -``` - -``` - -``` -``` if number % 4 == 0 { -``` - -``` println!("number is divisible by 4"); -``` - -``` } else if number % 3 == 0 { -``` - -``` println!("number is divisible by 3"); -``` - -``` } else if number % 2 == 0 { -``` - -``` println!("number is divisible by 2"); -``` - -``` } else { -``` - -``` println!("number is not divisible by 4, 3, or 2"); -``` - -``` } -``` - -``` } ``` @@ -2182,21 +1248,9 @@ see the following output: ``` $ cargo run -``` - -``` Compiling branches v0.1.0 (file:///projects/branches) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.31s -``` - -``` Running `target/debug/branches` -``` - -``` number is divisible by 3 ``` @@ -2220,25 +1274,10 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let condition = true; -``` - -``` let number = if condition { 5 } else { 6 }; -``` - -``` - -``` -``` println!("The value of number is: {number}"); -``` - -``` } ``` @@ -2249,21 +1288,9 @@ expression. Run this code to see what happens: ``` $ cargo run -``` - -``` Compiling branches v0.1.0 (file:///projects/branches) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.30s -``` - -``` Running `target/debug/branches` -``` - -``` The value of number is: 5 ``` @@ -2279,29 +1306,11 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let condition = true; -``` -``` - -``` - -``` let number = if condition { 5 } else { "six" }; -``` - -``` - -``` -``` println!("The value of number is: {number}"); -``` - -``` } ``` @@ -2311,38 +1320,14 @@ find the problem in the program: ``` $ cargo run -``` - -``` Compiling branches v0.1.0 (file:///projects/branches) -``` - -``` error[E0308]: `if` and `else` have incompatible types -``` - -``` --> src/main.rs:4:44 -``` - -``` | -``` - -``` 4 | let number = if condition { 5 } else { "six" }; -``` - -``` | - ^^^^^ expected integer, found `&str` -``` - -``` | | -``` - -``` | expected because of this ``` @@ -2376,21 +1361,9 @@ Filename: src/main.rs ``` fn main() { -``` - -``` loop { -``` - -``` println!("again!"); -``` - -``` } -``` - -``` } ``` @@ -2401,37 +1374,13 @@ it a try: ``` $ cargo run -``` - -``` Compiling loops v0.1.0 (file:///projects/loops) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.29s -``` - -``` Running `target/debug/loops` -``` - -``` again! -``` - -``` again! -``` - -``` again! -``` - -``` again! -``` - -``` ^Cagain! ``` @@ -2460,53 +1409,17 @@ use it, as shown here: ``` fn main() { -``` - -``` let mut counter = 0; -``` - -``` -``` - -``` let result = loop { -``` - -``` counter += 1; -``` - -``` - -``` -``` if counter == 10 { -``` - -``` break counter * 2; -``` - -``` } -``` - -``` }; -``` - -``` -``` - -``` println!("The result is {result}"); -``` - -``` } ``` @@ -2528,85 +1441,25 @@ with a single quote. Here’s an example with two nested loops: ``` fn main() { -``` - -``` let mut count = 0; -``` - -``` 'counting_up: loop { -``` - -``` println!("count = {count}"); -``` - -``` let mut remaining = 10; -``` - -``` - -``` -``` loop { -``` - -``` println!("remaining = {remaining}"); -``` - -``` if remaining == 9 { -``` - -``` break; -``` - -``` } -``` - -``` if count == 2 { -``` - -``` break 'counting_up; -``` - -``` } -``` - -``` remaining -= 1; -``` - -``` } -``` - -``` - -``` -``` count += 1; -``` - -``` } -``` - -``` println!("End count = {count}"); -``` - -``` } ``` @@ -2617,49 +1470,16 @@ doesn’t specify a label will exit the inner loop only. The `break ``` Compiling loops v0.1.0 (file:///projects/loops) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.58s -``` - -``` Running `target/debug/loops` -``` - -``` count = 0 -``` - -``` remaining = 10 -``` - -``` remaining = 9 -``` - -``` count = 1 -``` - -``` remaining = 10 -``` - -``` remaining = 9 -``` - -``` count = 2 -``` - -``` remaining = 10 -``` - -``` End count = 2 ``` @@ -2678,45 +1498,15 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let mut number = 3; -``` -``` - -``` - -``` while number != 0 { -``` - -``` println!("{number}!"); -``` - -``` - -``` -``` number -= 1; -``` - -``` } -``` - -``` -``` - -``` println!("LIFTOFF!!!"); -``` - -``` } ``` @@ -2736,41 +1526,14 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let a = [10, 20, 30, 40, 50]; -``` - -``` let mut index = 0; -``` - -``` - -``` -``` while index < 5 { -``` - -``` println!("the value is: {}", a[index]); -``` - -``` -``` - -``` index += 1; -``` - -``` } -``` - -``` } ``` @@ -2783,37 +1546,13 @@ element in the array: ``` $ cargo run -``` - -``` Compiling loops v0.1.0 (file:///projects/loops) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.32s -``` - -``` Running `target/debug/loops` -``` - -``` the value is: 10 -``` - -``` the value is: 20 -``` - -``` the value is: 30 -``` - -``` the value is: 40 -``` - -``` the value is: 50 ``` @@ -2835,29 +1574,11 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let a = [10, 20, 30, 40, 50]; -``` - -``` - -``` -``` for element in a { -``` - -``` println!("the value is: {element}"); -``` - -``` } -``` - -``` } ``` @@ -2887,25 +1608,10 @@ Filename: src/main.rs ``` fn main() { -``` - -``` for number in (1..4).rev() { -``` - -``` println!("{number}!"); -``` - -``` } -``` - -``` println!("LIFTOFF!!!"); -``` - -``` } ``` @@ -2922,6 +1628,7 @@ do the following: * Generate the *n*th Fibonacci number. * Print the lyrics to the Christmas carol “The Twelve Days of Christmas,” taking advantage of the repetition in the song. + When you’re ready to move on, we’ll talk about a concept in Rust that *doesn’t* commonly exist in other programming languages: ownership. diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index e8fc1338f4..aeb6d1c0c0 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -24,6 +24,7 @@ + @@ -169,11 +170,6 @@ ``` - - - - - @@ -215,6 +211,31 @@ + + + + + + + + | + + |--- + + | + + + + + | + + + + | + + + + Unmatched: From d1d0af3c081fda78cbe9bc42c0600090a2e1f18c Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 6 Sep 2022 11:23:42 -0400 Subject: [PATCH 0463/1248] Handle superscript --- nostarch/chapter03.md | 10 +++++----- tools/docx-to-md.xsl | 10 ++++++++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/nostarch/chapter03.md b/nostarch/chapter03.md index 81a2b17f0c..60b4281cb3 100644 --- a/nostarch/chapter03.md +++ b/nostarch/chapter03.md @@ -333,11 +333,11 @@ the sign matters, a number is shown with a plus sign or a minus sign; however, when it’s safe to assume the number is positive, it’s shown with no sign. Signed numbers are stored using two’s complement representation. -Each signed variant can store numbers from -(2n - 1) to 2n - 1 - 1 inclusive, -where *n* is the number of bits that variant uses. So an `i8` can store numbers -from -(27) to 27 - 1, which equals -128 to 127. Unsigned variants can store -numbers from 0 to 2n - 1, so a `u8` can store numbers from 0 to 28 - 1, which -equals 0 to 255. +Each signed variant can store numbers from -(2n - 1) to 2n - +1 - 1 inclusive, where *n* is the number of bits that variant uses. So an +`i8` can store numbers from -(27) to 27 - 1, which equals +-128 to 127. Unsigned variants can store numbers from 0 to 2n - 1, +so a `u8` can store numbers from 0 to 28 - 1, which equals 0 to 255. Additionally, the `isize` and `usize` types depend on the architecture of the computer your program is running on, which is denoted in the table as “arch”: diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index aeb6d1c0c0..5a277e7ae4 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -333,6 +333,16 @@ Unmatched: + + + <sup> + + + + </sup> + + + From 568562e065917c903031d011be1c69e48e10cd31 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 6 Sep 2022 11:27:07 -0400 Subject: [PATCH 0464/1248] Handle BoxListBullet --- nostarch/chapter03.md | 17 ++++++++--------- tools/docx-to-md.xsl | 9 +++++++++ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/nostarch/chapter03.md b/nostarch/chapter03.md index 60b4281cb3..ad98c57948 100644 --- a/nostarch/chapter03.md +++ b/nostarch/chapter03.md @@ -388,15 +388,14 @@ have. Relying on integer overflow’s wrapping behavior is considered an error. > To explicitly handle the possibility of overflow, you can use these families of methods provided by the standard library for primitive numeric types: - -Unmatched: BoxListBullet - -Unmatched: BoxListBullet - -Unmatched: BoxListBullet - -Unmatched: BoxListBullet - #### Floating-Point Types +> * Wrap in all modes with the `wrapping_*` methods, such as `wrapping_add`. +> * Return the `None` value if there is overflow with the `checked_*` methods. +> * Return the value and a boolean indicating whether there was overflow with +the `overflowing_*` methods. +> * Saturate at the value’s minimum or maximum values with the `saturating_*` +methods. +> +#### Floating-Point Types Rust also has two primitive types for *floating-point numbers*, which are numbers with decimal points. Rust’s floating-point types are `f32` and `f64`, diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 5a277e7ae4..6008f652fb 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -97,6 +97,15 @@ + + > * + + + + > + + + * From ecbe0c4ebc14423ffbe0e0f52323b07bebfe6fc4 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 6 Sep 2022 12:53:01 -0400 Subject: [PATCH 0465/1248] Add a shellcheck ignore --- tools/doc-to-md.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/doc-to-md.sh b/tools/doc-to-md.sh index d53599c315..8c802a71fa 100755 --- a/tools/doc-to-md.sh +++ b/tools/doc-to-md.sh @@ -7,7 +7,10 @@ find tmp -name '*.docx' -print0 | \ # Extract just the filename so we can reuse it easily. xargs -0 basename -s .docx | \ while IFS= read -r filename; do - # Truncate the `nostarch` dir file and put the "no editing" warning back + # Truncate the `nostarch` dir file and put the "no editing" warning back. + # Tell shellcheck to ignore this because I want the `/src/` printed + # literally, not expanded. + # shellcheck disable=SC2016 echo ' src/main.rs:5:28 -``` - -``` | -``` - -``` 2 | let s1 = String::from("hello"); -``` - -``` | -- move occurs because `s1` has type `String`, which -``` - -``` does not implement the `Copy` trait -``` - -``` 3 | let s2 = s1; -``` - -``` | -- value moved here -``` - -``` 4 | -``` - -``` 5 | println!("{s1}, world!"); -``` - -``` | ^^ value borrowed here after move ``` @@ -475,17 +385,8 @@ Here’s an example of the `clone` method in action: ``` let s1 = String::from("hello"); -``` - -``` let s2 = s1.clone(); -``` - -``` -``` - -``` println!("s1 = {s1}, s2 = {s2}"); ``` @@ -503,17 +404,8 @@ integers—part of which was shown in Listing 4-2—works and is valid: ``` let x = 5; -``` - -``` let y = x; -``` - -``` - -``` -``` println!("x = {x}, y = {y}"); ``` @@ -551,6 +443,7 @@ implement `Copy`: * The character type, `char`. * Tuples, if they only contain types that also implement `Copy`. For example, `(i32, i32)` implements `Copy`, but `(i32, String)` does not. + ### Ownership and Functions The mechanics of passing a value to a function are similar to those when @@ -560,97 +453,28 @@ showing where variables go into and out of scope. ``` // src/main.rs -``` - -``` fn main() { -``` - -``` let s = String::from("hello"); // s comes into scope -``` -``` - -``` - -``` takes_ownership(s); // s's value moves into the function... -``` - -``` // ... and so is no longer valid here -``` - -``` - -``` -``` let x = 5; // x comes into scope -``` - -``` - -``` -``` makes_copy(x); // x would move into the function, -``` - -``` // but i32 is Copy, so it's okay to still -``` - -``` // use x afterward -``` - -``` - -``` -``` } // Here, x goes out of scope, then s. However, because s's value was moved, -``` - -``` // nothing special happens -``` - -``` - -``` -``` fn takes_ownership(some_string: String) { // some_string comes into scope -``` - -``` println!("{some_string}"); -``` - -``` } // Here, some_string goes out of scope and `drop` is called. The backing -``` - -``` // memory is freed -``` - -``` - -``` -``` fn makes_copy(some_integer: i32) { // some_integer comes into scope -``` - -``` println!("{some_integer}"); -``` - -``` } // Here, some_integer goes out of scope. Nothing special happens ``` @@ -669,121 +493,34 @@ function that returns some value, with similar annotations as those in Listing ``` // src/main.rs -``` - -``` fn main() { -``` - -``` let s1 = gives_ownership(); // gives_ownership moves its return -``` - -``` // value into s1 -``` -``` - -``` - -``` let s2 = String::from("hello"); // s2 comes into scope -``` - -``` -``` - -``` let s3 = takes_and_gives_back(s2); // s2 is moved into -``` - -``` // takes_and_gives_back, which also -``` - -``` // moves its return value into s3 -``` - -``` } // Here, s3 goes out of scope and is dropped. s2 was moved, so nothing -``` - -``` // happens. s1 goes out of scope and is dropped -``` -``` - -``` - -``` fn gives_ownership() -> String { // gives_ownership will move its -``` - -``` // return value into the function -``` - -``` // that calls it -``` - -``` - -``` -``` let some_string = String::from("yours"); // some_string comes into scope -``` - -``` -``` - -``` some_string // some_string is returned and -``` - -``` // moves out to the calling -``` - -``` // function -``` - -``` } -``` - -``` -``` - -``` // This function takes a String and returns a String -``` - -``` fn takes_and_gives_back(a_string: String) -> String { // a_string comes into -``` - -``` // scope -``` -``` - -``` - -``` a_string // a_string is returned and moves out to the calling function -``` - -``` } ``` @@ -806,53 +543,17 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let s1 = String::from("hello"); -``` - -``` -``` - -``` let (s2, len) = calculate_length(s1); -``` - -``` - -``` -``` println!("The length of '{s2}' is {len}."); -``` - -``` } -``` -``` - -``` - -``` fn calculate_length(s: String) -> (String, usize) { -``` - -``` let length = s.len(); // len() returns the length of a String -``` - -``` -``` - -``` (s, length) -``` - -``` } ``` @@ -880,45 +581,15 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let s1 = String::from("hello"); -``` -``` - -``` - -``` let len = calculate_length(&s1); -``` -``` - -``` - -``` println!("The length of '{s1}' is {len}."); -``` - -``` } -``` - -``` -``` - -``` fn calculate_length(s: &String) -> usize { -``` - -``` s.len() -``` - -``` } ``` @@ -932,22 +603,16 @@ to some value without taking ownership of it. Figure 4-5 depicts this concept. Unmatched: GraphicSlug Unmatched: CaptionLine - > NoteThe opposite of referencing by using `&` is *dereferencing*, which -is accomplished with the dereference operator, `*`. We’ll see some uses of the -dereference operator in Chapter 8 and discuss details of dereferencing in -Chapter 15. + > Note: The opposite of referencing by using `&` is *dereferencing*, +which is accomplished with the dereference operator, `*`. We’ll see some uses +of the dereference operator in Chapter 8 and discuss details of dereferencing +in Chapter 15. Let’s take a closer look at the function call here: ``` let s1 = String::from("hello"); -``` -``` - -``` - -``` let len = calculate_length(&s1); ``` @@ -960,17 +625,8 @@ the parameter `s` is a reference. Let’s add some explanatory annotations: ``` fn calculate_length(s: &String) -> usize { // s is a reference to a String -``` - -``` s.len() -``` - -``` } // Here, s goes out of scope. But because it does not have ownership of what -``` - -``` // it refers to, the String is not dropped ``` @@ -992,37 +648,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let s = String::from("hello"); -``` - -``` -``` - -``` change(&s); -``` - -``` } -``` -``` - -``` - -``` fn change(some_string: &String) { -``` - -``` some_string.push_str(", world"); -``` - -``` } ``` @@ -1033,37 +665,13 @@ Here’s the error: ``` error[E0596]: cannot borrow `*some_string` as mutable, as it is behind a `&` reference -``` - -``` --> src/main.rs:8:5 -``` - -``` | -``` - -``` 7 | fn change(some_string: &String) { -``` - -``` | ------- help: consider changing this to be a mutable -``` - -``` reference: `&mut String` -``` - -``` 8 | some_string.push_str(", world"); -``` - -``` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `some_string` is a `&` reference, so -``` - -``` the data it refers to cannot be borrowed as mutable ``` @@ -1079,37 +687,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let mut s = String::from("hello"); -``` - -``` -``` - -``` change(&mut s); -``` - -``` } -``` - -``` -``` - -``` fn change(some_string: &mut String) { -``` - -``` some_string.push_str(", world"); -``` - -``` } ``` @@ -1126,25 +710,10 @@ Filename: src/main.rs ``` let mut s = String::from("hello"); -``` -``` - -``` - -``` let r1 = &mut s; -``` - -``` let r2 = &mut s; -``` - -``` -``` - -``` println!("{r1}, {r2}"); ``` @@ -1152,41 +721,14 @@ Here’s the error: ``` error[E0499]: cannot borrow `s` as mutable more than once at a time -``` - -``` --> src/main.rs:5:14 -``` - -``` | -``` - -``` 4 | let r1 = &mut s; -``` - -``` | ------ first mutable borrow occurs here -``` - -``` 5 | let r2 = &mut s; -``` - -``` | ^^^^^^ second mutable borrow occurs here -``` - -``` 6 | -``` - -``` 7 | println!("{r1}, {r2}"); -``` - -``` | -- first borrow later used here ``` @@ -1206,6 +748,7 @@ condition and happens when these three behaviors occur: * Two or more pointers access the same data at the same time. * At least one of the pointers is being used to write to the data. * There’s no mechanism being used to synchronize access to the data. + Data races cause undefined behavior and can be difficult to diagnose and fix when you’re trying to track them down at runtime; Rust prevents this problem by refusing to compile code with data races! @@ -1215,29 +758,11 @@ multiple mutable references, just not *simultaneous* ones: ``` let mut s = String::from("hello"); -``` - -``` -``` - -``` { -``` - -``` let r1 = &mut s; -``` - -``` } // r1 goes out of scope here, so we can make a new reference with no problems -``` -``` - -``` - -``` let r2 = &mut s; ``` @@ -1246,29 +771,11 @@ This code results in an error: ``` let mut s = String::from("hello"); -``` -``` - -``` - -``` let r1 = &s; // no problem -``` - -``` let r2 = &s; // no problem -``` - -``` let r3 = &mut s; // BIG PROBLEM -``` - -``` -``` - -``` println!("{r1}, {r2}, and {r3}"); ``` @@ -1277,45 +784,15 @@ Here’s the error: ``` error[E0502]: cannot borrow `s` as mutable because it is also borrowed as immutable -``` - -``` --> src/main.rs:6:14 -``` - -``` | -``` - -``` 4 | let r1 = &s; // no problem -``` - -``` | -- immutable borrow occurs here -``` - -``` 5 | let r2 = &s; // no problem -``` - -``` 6 | let r3 = &mut s; // BIG PROBLEM -``` - -``` | ^^^^^^ mutable borrow occurs here -``` - -``` 7 | -``` - -``` 8 | println!("{r1}, {r2}, and {r3}"); -``` - -``` | -- immutable borrow later used here ``` @@ -1334,37 +811,13 @@ occurs before the mutable reference is introduced: ``` let mut s = String::from("hello"); -``` -``` - -``` - -``` let r1 = &s; // no problem -``` - -``` let r2 = &s; // no problem -``` - -``` println!("{r1} and {r2}"); -``` - -``` // variables r1 and r2 will not be used after this point -``` - -``` -``` - -``` let r3 = &mut s; // no problem -``` - -``` println!("{r3}"); ``` @@ -1381,8 +834,8 @@ have to track down why your data isn’t what you thought it was. ### Dangling References -In languages with pointers, it’s easy to erroneously create a *dangling* -*pointer*—a pointer that references a location in memory that may have been +In languages with pointers, it’s easy to erroneously create a *dangling +pointer*—a pointer that references a location in memory that may have been given to someone else—by freeing some memory while preserving a pointer to that memory. In Rust, by contrast, the compiler guarantees that references will never be dangling references: if you have a reference to some data, the @@ -1396,37 +849,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let reference_to_nothing = dangle(); -``` - -``` } -``` - -``` - -``` -``` fn dangle() -> &String { -``` - -``` let s = String::from("hello"); -``` -``` - -``` - -``` &s -``` - -``` } ``` @@ -1434,49 +863,16 @@ Here’s the error: ``` error[E0106]: missing lifetime specifier -``` - -``` --> src/main.rs:5:16 -``` - -``` | -``` - -``` 5 | fn dangle() -> &String { -``` - -``` | ^ expected named lifetime parameter -``` - -``` | -``` - -``` = help: this function's return type contains a borrowed value, -``` - -``` but there is no value for it to be borrowed from -``` - -``` help: consider using the `'static` lifetime -``` - -``` | -``` - -``` 5 | fn dangle() -> &'static String { -``` - -``` | ~~~~~~~~ ``` @@ -1486,9 +882,6 @@ about lifetimes, the message does contain the key to why this code is a problem: ``` this function's return type contains a borrowed value, but there -``` - -``` is no value for it to be borrowed from ``` @@ -1497,33 +890,12 @@ Let’s take a closer look at exactly what’s happening at each stage of our ``` // src/main.rs -``` - -``` fn dangle() -> &String { // dangle returns a reference to a String -``` -``` - -``` - -``` let s = String::from("hello"); // s is a new String -``` -``` - -``` - -``` &s // we return a reference to the String, s -``` - -``` } // Here, s goes out of scope and is dropped, so its memory goes away -``` - -``` // Danger! ``` @@ -1536,21 +908,9 @@ The solution here is to return the `String` directly: ``` fn no_dangle() -> String { -``` - -``` let s = String::from("hello"); -``` -``` - -``` - -``` s -``` - -``` } ``` @@ -1564,6 +924,7 @@ Let’s recap what we’ve discussed about references: * At any given time, you can have *either* one mutable reference *or* any number of immutable references. * References must always be valid. + Next, we’ll look at a different kind of reference: slices. ## The Slice Type @@ -1589,49 +950,19 @@ ownership, so this is fine. But what should we return? We don’t really have a way to talk about *part* of a string. However, we could return the index of the end of the word, indicated by a space. Let’s try that, as shown in Listing 4-7. -Filename: src/main.rs - -``` -fn first_word(s: &String) -> usize { -``` - -``` - 1 let bytes = s.as_bytes(); -``` - -``` - -``` - -``` - for (2 i, &item) in 3 bytes.iter().enumerate() { -``` - -``` - 4 if item == b' ' { -``` - -``` - return i; -``` - -``` - } -``` - -``` - } -``` +Filename: src/main.rs ``` +fn first_word(s: &String) -> usize { + 1 let bytes = s.as_bytes(); -``` + for (2 i, &item) in 3 bytes.iter().enumerate() { + 4 if item == b' ' { + return i; + } + } -``` 5 s.len() -``` - -``` } ``` @@ -1669,45 +1000,15 @@ uses the `first_word` function from Listing 4-7. ``` // src/main.rs -``` - -``` fn main() { -``` - -``` let mut s = String::from("hello world"); -``` - -``` - -``` -``` let word = first_word(&s); // word will get the value 5 -``` - -``` - -``` -``` s.clear(); // this empties the String, making it equal to "" -``` - -``` - -``` -``` // word still has the value 5 here, but there's no more string that -``` - -``` // we could meaningfully use the value 5 with. word is now totally invalid! -``` - -``` } ``` @@ -1741,17 +1042,8 @@ A *string slice* is a reference to part of a `String`, and it looks like this: ``` let s = String::from("hello world"); -``` - -``` - -``` -``` let hello = &s[0..5]; -``` - -``` let world = &s[6..11]; ``` @@ -1776,17 +1068,8 @@ drop the value before the two periods. In other words, these are equal: ``` let s = String::from("hello"); -``` -``` - -``` - -``` let slice = &s[0..2]; -``` - -``` let slice = &s[..2]; ``` @@ -1795,25 +1078,10 @@ can drop the trailing number. That means these are equal: ``` let s = String::from("hello"); -``` - -``` - -``` -``` let len = s.len(); -``` - -``` - -``` -``` let slice = &s[3..len]; -``` - -``` let slice = &s[3..]; ``` @@ -1822,29 +1090,14 @@ are equal: ``` let s = String::from("hello"); -``` -``` - -``` - -``` let len = s.len(); -``` - -``` -``` - -``` let slice = &s[0..len]; -``` - -``` let slice = &s[..]; ``` -> NoteString slice range indices must occur at valid UTF-8 character +> Note: String slice range indices must occur at valid UTF-8 character boundaries. If you attempt to create a string slice in the middle of a multibyte character, your program will exit with an error. For the purposes of introducing string slices, we are assuming ASCII only in this section; a more @@ -1858,45 +1111,15 @@ Filename: src/main.rs ``` fn first_word(s: &String) -> &str { -``` - -``` let bytes = s.as_bytes(); -``` - -``` -``` - -``` for (i, &item) in bytes.iter().enumerate() { -``` - -``` if item == b' ' { -``` - -``` return &s[0..i]; -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` &s[..] -``` - -``` } ``` @@ -1929,37 +1152,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let mut s = String::from("hello world"); -``` -``` - -``` - -``` let word = first_word(&s); -``` - -``` -``` - -``` s.clear(); // error! -``` - -``` - -``` -``` println!("the first word is: {word}"); -``` - -``` } ``` @@ -1967,49 +1166,16 @@ Here’s the compiler error: ``` error[E0502]: cannot borrow `s` as mutable because it is also borrowed as -``` - -``` immutable -``` - -``` --> src/main.rs:18:5 -``` - -``` | -``` - -``` 16 | let word = first_word(&s); -``` - -``` | -- immutable borrow occurs here -``` - -``` 17 | -``` - -``` 18 | s.clear(); // error! -``` - -``` | ^^^^^^^^^ mutable borrow occurs here -``` - -``` 19 | -``` - -``` 20 | println!("the first word is: {word}"); -``` - -``` | ---- immutable borrow later used here ``` @@ -2067,89 +1233,26 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let my_string = String::from("hello world"); -``` - -``` - -``` -``` // `first_word` works on slices of `String`s, whether partial -``` - -``` // or whole -``` - -``` let word = first_word(&my_string[0..6]); -``` - -``` let word = first_word(&my_string[..]); -``` - -``` // `first_word` also works on references to `String`s, which -``` - -``` // are equivalent to whole slices of `String`s -``` - -``` let word = first_word(&my_string); -``` - -``` - -``` -``` let my_string_literal = "hello world"; -``` - -``` - -``` -``` // `first_word` works on slices of string literals, -``` - -``` // whether partial or whole -``` - -``` let word = first_word(&my_string_literal[0..6]); -``` - -``` let word = first_word(&my_string_literal[..]); -``` - -``` -``` - -``` // Because string literals *are* string slices already, -``` - -``` // this works too, without the slice syntax! -``` - -``` let word = first_word(my_string_literal); -``` - -``` } ``` @@ -2167,21 +1270,9 @@ part of an array. We’d do so like this: ``` let a = [1, 2, 3, 4, 5]; -``` - -``` - -``` -``` let slice = &a[1..3]; -``` - -``` - -``` -``` assert_eq!(slice, &[2, 3]); ``` From a4ff67d9199e2cc7d7cdf4c9466c8ef9c532f3b0 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 9 Sep 2022 19:57:06 -0400 Subject: [PATCH 0468/1248] Fix GraphicSlug and CaptionLine --- nostarch/chapter04.md | 68 ++++++++++++++++++------------------------- tools/docx-to-md.xsl | 6 ++++ 2 files changed, 35 insertions(+), 39 deletions(-) diff --git a/nostarch/chapter04.md b/nostarch/chapter04.md index 5d571d610b..c6a7b18756 100644 --- a/nostarch/chapter04.md +++ b/nostarch/chapter04.md @@ -290,11 +290,10 @@ the memory that holds the contents of the string, a length, and a capacity. This group of data is stored on the stack. On the right is the memory on the heap that holds the contents. + Representation in memory of a `String` holding the value `"hello"` bound to +`s1` -Unmatched: GraphicSlug - -Unmatched: CaptionLine - The length is how much memory, in bytes, the contents of the `String` are +The length is how much memory, in bytes, the contents of the `String` are currently using. The capacity is the total amount of memory, in bytes, that the `String` has received from the allocator. The difference between length and capacity matters, but not in this context, so for now, it’s fine to ignore the @@ -305,27 +304,24 @@ pointer, the length, and the capacity that are on the stack. We do not copy the data on the heap that the pointer refers to. In other words, the data representation in memory looks like Figure 4-2. +Representation in memory of the variable `s2` that has a copy of the pointer, +length, and capacity of `s1` -Unmatched: GraphicSlug - -Unmatched: CaptionLine - The representation does *not* look like Figure 4-3, which is what memory -would look like if Rust instead copied the heap data as well. If Rust did this, -the operation `s2 = s1` could be very expensive in terms of runtime performance -if the data on the heap were large. - +The representation does *not* look like Figure 4-3, which is what memory would +look like if Rust instead copied the heap data as well. If Rust did this, the +operation `s2 = s1` could be very expensive in terms of runtime performance if +the data on the heap were large. -Unmatched: GraphicSlug +Another possibility for what `s2 = s1` might do if Rust copied the heap data as +well -Unmatched: CaptionLine - Earlier, we said that when a variable goes out of scope, Rust -automatically calls the `drop` function and cleans up the heap memory for that -variable. But Figure 4-2 shows both data pointers pointing to the same -location. This is a problem: when `s2` and `s1` go out of scope, they will both -try to free the same memory. This is known as a *double free* error and is one -of the memory safety bugs we mentioned previously. Freeing memory twice can -lead to memory corruption, which can potentially lead to security -vulnerabilities. +Earlier, we said that when a variable goes out of scope, Rust automatically +calls the `drop` function and cleans up the heap memory for that variable. But +Figure 4-2 shows both data pointers pointing to the same location. This is a +problem: when `s2` and `s1` go out of scope, they will both try to free the +same memory. This is known as a *double free* error and is one of the memory +safety bugs we mentioned previously. Freeing memory twice can lead to memory +corruption, which can potentially lead to security vulnerabilities. To ensure memory safety, after the line `let s2 = s1;`, Rust considers `s1` as no longer valid. Therefore, Rust doesn’t need to free anything when `s1` goes @@ -363,12 +359,10 @@ because Rust also invalidates the first variable, instead of being called a shallow copy, it’s known as a *move*. In this example, we would say that `s1` was *moved* into `s2`. So, what actually happens is shown in Figure 4-4. +Representation in memory after `s1` has been invalidated -Unmatched: GraphicSlug - -Unmatched: CaptionLine - That solves our problem! With only `s2` valid, when it goes out of scope -it alone will free the memory, and we’re done. +That solves our problem! With only `s2` valid, when it goes out of scope it +alone will free the memory, and we’re done. In addition, there’s a design choice that’s implied by this: Rust will never automatically create “deep” copies of your data. Therefore, any *automatic* @@ -599,14 +593,12 @@ function return value is gone. Second, note that we pass `&s1` into `String`. These ampersands represent *references*, and they allow you to refer to some value without taking ownership of it. Figure 4-5 depicts this concept. +A diagram of `&String s` pointing at `String s1` -Unmatched: GraphicSlug - -Unmatched: CaptionLine - > Note: The opposite of referencing by using `&` is *dereferencing*, -which is accomplished with the dereference operator, `*`. We’ll see some uses -of the dereference operator in Chapter 8 and discuss details of dereferencing -in Chapter 15. +> Note: The opposite of referencing by using `&` is *dereferencing*, which is +accomplished with the dereference operator, `*`. We’ll see some uses of the +dereference operator in Chapter 8 and discuss details of dereferencing in +Chapter 15. Let’s take a closer look at the function call here: @@ -1059,12 +1051,10 @@ byte at index 6 of `s` with a length value of `5`. Figure 4-6 shows this in a diagram. +String slice referring to part of a `String` -Unmatched: GraphicSlug - -Unmatched: CaptionLine - With Rust’s `..` range syntax, if you want to start at index 0, you can -drop the value before the two periods. In other words, these are equal: +With Rust’s `..` range syntax, if you want to start at index 0, you can drop +the value before the two periods. In other words, these are equal: ``` let s = String::from("hello"); diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index f9c005bf87..9f45c0b59a 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -26,6 +26,7 @@ + @@ -232,6 +233,11 @@ + + + + + From e7628de0cdf0e34ebd8b4d0f6bedf15af01bfb97 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 9 Sep 2022 19:59:35 -0400 Subject: [PATCH 0469/1248] Regenerate chapter 5 --- nostarch/chapter05.md | 774 ++---------------------------------------- 1 file changed, 31 insertions(+), 743 deletions(-) diff --git a/nostarch/chapter05.md b/nostarch/chapter05.md index c42f87c456..aff1d5e754 100644 --- a/nostarch/chapter05.md +++ b/nostarch/chapter05.md @@ -1,3 +1,8 @@ + [TOC] @@ -35,33 +40,15 @@ Filename: src/main.rs ``` struct User { -``` - -``` active: bool, -``` - -``` username: String, -``` - -``` email: String, -``` - -``` sign_in_count: u64, -``` - -``` } ``` A `User` struct definition -PROD: This should be called Listing 5-1. Please fix, and please renumber -remaining listings consecutively (e.g., Listing 5-2, Listing 5-3, etc.). - To use a struct after we’ve defined it, we create an *instance* of that struct by specifying concrete values for each of the fields. We create an instance by stating the name of the struct and then add curly brackets containing key: @@ -76,33 +63,12 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let user1 = User { -``` - -``` active: true, -``` - -``` username: String::from("someusername123"), -``` - -``` email: String::from("someone@example.com"), -``` - -``` sign_in_count: 1, -``` - -``` }; -``` - -``` } ``` @@ -118,41 +84,14 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let mut user1 = User { -``` - -``` active: true, -``` - -``` username: String::from("someusername123"), -``` - -``` email: String::from("someone@example.com"), -``` - -``` sign_in_count: 1, -``` - -``` }; -``` - -``` - -``` -``` user1.email = String::from("anotheremail@example.com"); -``` - -``` } ``` @@ -169,33 +108,12 @@ the `sign_in_count` gets a value of `1`. ``` fn build_user(email: String, username: String) -> User { -``` - -``` User { -``` - -``` active: true, -``` - -``` username: username, -``` - -``` email: email, -``` - -``` sign_in_count: 1, -``` - -``` } -``` - -``` } ``` @@ -212,42 +130,21 @@ would get even more annoying. Luckily, there’s a convenient shorthand! Because the parameter names and the struct field names are exactly the same in Listing 5-4, we can use the *field init shorthand* syntax to rewrite `build_user` so it behaves exactly the same but doesn’t have the repetition of -`username` and `em``ail`, as shown in Listing 5-5. +`username` and `email`, as shown in Listing 5-5. ``` fn build_user(email: String, username: String) -> User { -``` - -``` User { -``` - -``` active: true, -``` - -``` username, -``` - -``` email, -``` - -``` sign_in_count: 1, -``` - -``` } -``` - -``` } ``` A `build_user` function that uses field init shorthand because the `username` -and `em``ail` parameters have the same name as struct fields +and `email` parameters have the same name as struct fields Here, we’re creating a new instance of the `User` struct, which has a field named `email`. We want to set the `email` field’s value to the value in the @@ -269,41 +166,14 @@ Filename: src/main.rs ``` fn main() { -``` - -``` --snip-- -``` - -``` - -``` -``` let user2 = User { -``` - -``` active: user1.active, -``` - -``` username: user1.username, -``` - -``` email: String::from("another@example.com"), -``` - -``` sign_in_count: user1.sign_in_count, -``` - -``` }; -``` - -``` } ``` @@ -317,37 +187,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` --snip-- -``` - -``` - -``` - -``` -``` -``` let user2 = User { -``` - -``` email: String::from("another@example.com"), -``` - -``` ..user1 -``` - -``` }; -``` - -``` } ``` @@ -374,12 +220,12 @@ behavior we discussed in “Stack-Only Data: Copy” on page XX would apply. ### Using Tuple Structs Without Named Fields to Create Different Types -Rust also supports structs that look similar to tuples, called *tuple* -*structs*. Tuple structs have the added meaning the struct name provides but -don’t have names associated with their fields; rather, they just have the types -of the fields. Tuple structs are useful when you want to give the whole tuple a -name and make the tuple a different type from other tuples, and when naming -each field as in a regular struct would be verbose or redundant. +Rust also supports structs that look similar to tuples, called *tuple structs*. +Tuple structs have the added meaning the struct name provides but don’t have +names associated with their fields; rather, they just have the types of the +fields. Tuple structs are useful when you want to give the whole tuple a name +and make the tuple a different type from other tuples, and when naming each +field as in a regular struct would be verbose or redundant. To define a tuple struct, start with the `struct` keyword and the struct name followed by the types in the tuple. For example, here we define and use two @@ -389,29 +235,11 @@ Filename: src/main.rs ``` struct Color(i32, i32, i32); -``` - -``` struct Point(i32, i32, i32); -``` - -``` -``` - -``` fn main() { -``` - -``` let black = Color(0, 0, 0); -``` - -``` let origin = Point(0, 0, 0); -``` - -``` } ``` @@ -438,21 +266,9 @@ Filename: src/main.rs ``` struct AlwaysEqual; -``` - -``` - -``` -``` fn main() { -``` - -``` let subject = AlwaysEqual; -``` - -``` } ``` @@ -467,17 +283,13 @@ implement that behavior! You’ll see in Chapter 10 how to define traits and implement them on any type, including unit-like structs. -Unmatched: BoxType - > ### Ownership of Struct Data - - +> > In the `User` struct definition in Listing 5-1, we used the owned `String` type rather than the `&str` string slice type. This is a deliberate choice because we want each instance of this struct to own all of its data and for that data to be valid for as long as the entire struct is valid. - - +> > It’s also possible for structs to store references to data owned by something else, but to do so requires the use of *lifetimes*, a Rust feature that we’ll discuss in Chapter 10. Lifetimes ensure that the data referenced by a struct is @@ -515,8 +327,7 @@ Unmatched: BoxCode Unmatched: BoxCode Unmatched: BoxCode - -> The compiler will complain that it needs lifetime specifiers: + > The compiler will complain that it needs lifetime specifiers: Unmatched: BoxCode @@ -574,8 +385,7 @@ Unmatched: BoxCode Unmatched: BoxCode Unmatched: BoxCode - -> In Chapter 10, we’ll discuss how to fix these errors so you can store + > In Chapter 10, we’ll discuss how to fix these errors so you can store references in structs, but for now, we’ll fix errors like these using owned types like `String` instead of references like `&str`. @@ -594,53 +404,17 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let width1 = 30; -``` - -``` let height1 = 50; -``` - -``` -``` - -``` println!( -``` - -``` "The area of the rectangle is {} square pixels.", -``` - -``` area(width1, height1) -``` - -``` ); -``` - -``` } -``` - -``` - -``` -``` fn area(width: u32, height: u32) -> u32 { -``` - -``` width * height -``` - -``` } ``` @@ -677,53 +451,20 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let rect1 = (30, 50); -``` - -``` - -``` -``` println!( -``` - -``` "The area of the rectangle is {} square pixels.", -``` - -``` 1 area(rect1) -``` - -``` ); -``` +} -``` +fn area(dimensions: (u32, u32)) -> u32 { + 2 dimensions.0 * dimensions.1 } ``` -``` - -``` - -``` -fn area(dimensions: (u32, u32)) -> u32 { -``` - -``` - 2 dimensions.0 * dimensions.1 -``` - -``` -} -``` - -Specifying the width and height of the rectangle with a tuple +Specifying the width and height of the rectangle with a tuple In one way, this program is better. Tuples let us add a bit of structure, and we’re now passing just one argument [1]. But in another way, this version is @@ -747,81 +488,24 @@ Filename: src/main.rs ``` 1 struct Rectangle { -``` - -``` 2 width: u32, -``` - -``` height: u32, -``` - -``` } -``` - -``` - -``` -``` fn main() { -``` - -``` 3 let rect1 = Rectangle { -``` - -``` width: 30, -``` - -``` height: 50, -``` - -``` }; -``` -``` - -``` - -``` println!( -``` - -``` "The area of the rectangle is {} square pixels.", -``` - -``` area(&rect1) -``` - -``` ); -``` - -``` } -``` - -``` - -``` -``` 4 fn area(rectangle: &Rectangle) -> u32 { -``` - -``` 5 rectangle.width * rectangle.height -``` - -``` } ``` @@ -859,53 +543,17 @@ Filename: src/main.rs ``` struct Rectangle { -``` - -``` width: u32, -``` - -``` height: u32, -``` - -``` } -``` - -``` -``` - -``` fn main() { -``` - -``` let rect1 = Rectangle { -``` - -``` width: 30, -``` - -``` height: 50, -``` - -``` }; -``` -``` - -``` - -``` println!("rect1 is {}", rect1); -``` - -``` } ``` @@ -932,9 +580,6 @@ If we continue reading the errors, we’ll find this helpful note: ``` = help: the trait `std::fmt::Display` is not implemented for `Rectangle` -``` - -``` = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead ``` @@ -955,9 +600,6 @@ But again, the compiler gives us a helpful note: ``` = help: the trait `Debug` is not implemented for `Rectangle` -``` - -``` = note: add `#[derive(Debug)]` or manually implement `Debug` ``` @@ -970,57 +612,18 @@ Filename: src/main.rs ``` #[derive(Debug)] -``` - -``` struct Rectangle { -``` - -``` width: u32, -``` - -``` height: u32, -``` - -``` } -``` - -``` -``` - -``` fn main() { -``` - -``` let rect1 = Rectangle { -``` - -``` width: 30, -``` - -``` height: 50, -``` - -``` }; -``` - -``` -``` - -``` println!("rect1 is {:?}", rect1); -``` - -``` } ``` @@ -1042,17 +645,8 @@ this example, using the `{:#?}` style will output the following: ``` rect1 is Rectangle { -``` - -``` width: 30, -``` - -``` height: 50, -``` - -``` } ``` @@ -1062,7 +656,7 @@ takes a reference), prints the file and line number of where that `dbg!` macro call occurs in your code along with the resultant value of that expression, and returns ownership of the value. -> NoteCalling the `dbg!` macro prints to the standard error console stream +> Note: Calling the `dbg!` macro prints to the standard error console stream (`stderr`), as opposed to `println!`, which prints to the standard output console stream (`stdout`). We’ll talk more about `stderr` and `stdout` in “Writing Error Messages to Standard Error Instead of Standard Output” on page @@ -1075,61 +669,19 @@ Filename: src/main.rs ``` #[derive(Debug)] -``` - -``` struct Rectangle { -``` - -``` width: u32, -``` - -``` height: u32, -``` - -``` } -``` - -``` - -``` -``` fn main() { -``` - -``` let scale = 2; -``` - -``` let rect1 = Rectangle { -``` - -``` 1 width: dbg!(30 * scale), -``` - -``` height: 50, -``` - -``` }; -``` - -``` -``` - -``` 2 dbg!(&rect1); -``` - -``` } ``` @@ -1141,21 +693,9 @@ take ownership of `rect1`, so we use a reference to `rect1` in the next call ``` [src/main.rs:10] 30 * scale = 60 -``` - -``` [src/main.rs:14] &rect1 = Rectangle { -``` - -``` width: 60, -``` - -``` height: 50, -``` - -``` } ``` @@ -1201,93 +741,27 @@ Filename: src/main.rs ``` #[derive(Debug)] -``` - -``` struct Rectangle { -``` - -``` width: u32, -``` - -``` height: u32, -``` - -``` } -``` - -``` -``` - -``` 1 impl Rectangle { -``` - -``` 2 fn area(&self) -> u32 { -``` - -``` self.width * self.height -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` fn main() { -``` - -``` let rect1 = Rectangle { -``` - -``` width: 30, -``` - -``` height: 50, -``` - -``` }; -``` -``` - -``` - -``` println!( -``` - -``` "The area of the rectangle is {} square pixels.", -``` - -``` 3 rect1.area() -``` - -``` ); -``` - -``` } ``` @@ -1338,77 +812,23 @@ Filename: src/main.rs ``` impl Rectangle { -``` - -``` fn width(&self) -> bool { -``` - -``` self.width > 0 -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` fn main() { -``` - -``` let rect1 = Rectangle { -``` - -``` width: 30, -``` - -``` height: 50, -``` - -``` }; -``` - -``` - -``` -``` if rect1.width() { -``` - -``` println!( -``` - -``` "The rectangle has a nonzero width; it is {}", -``` - -``` rect1.width -``` - -``` ); -``` - -``` } -``` - -``` } ``` @@ -1429,23 +849,18 @@ private are and how to designate a field or method as public or private in Chapter 7. -Unmatched: BoxType - > ### Where’s the -> Operator? - - +> > In C and C++, two different operators are used for calling methods: you use `.` if you’re calling a method on the object directly and `->` if you’re calling the method on a pointer to the object and need to dereference the pointer first. In other words, if `object` is a pointer, `object->`something`()` is similar to `(*object).`something`()`. - - +> > Rust doesn’t have an equivalent to the `->` operator; instead, Rust has a feature called *automatic referencing and dereferencing*. Calling methods is one of the few places in Rust that has this behavior. - - +> > Here’s how it works: when you call a method with `object.`something`()`, Rust automatically adds in `&`, `&mut`, or `*` so `object` matches the signature of the method. In other words, the following are the same: @@ -1454,13 +869,12 @@ the method. In other words, the following are the same: Unmatched: BoxCode Unmatched: BoxCode - -> The first one looks much cleaner. This automatic referencing behavior works -because methods have a clear receiver—the type of `self`. Given the receiver -and name of a method, Rust can figure out definitively whether the method is -reading (`&self`), mutating (`&mut self`), or consuming (`self`). The fact that -Rust makes borrowing implicit for method receivers is a big part of making -ownership ergonomic in practice. + > The first one looks much cleaner. This automatic referencing behavior +works because methods have a clear receiver—the type of `self`. Given the +receiver and name of a method, Rust can figure out definitively whether the +method is reading (`&self`), mutating (`&mut self`), or consuming (`self`). The +fact that Rust makes borrowing implicit for method receivers is a big part of +making ownership ergonomic in practice. ### Methods with More Parameters @@ -1475,69 +889,21 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let rect1 = Rectangle { -``` - -``` width: 30, -``` - -``` height: 50, -``` - -``` }; -``` - -``` let rect2 = Rectangle { -``` - -``` width: 10, -``` - -``` height: 40, -``` - -``` }; -``` - -``` let rect3 = Rectangle { -``` - -``` width: 60, -``` - -``` height: 45, -``` - -``` }; -``` - -``` -``` - -``` println!("Can rect1 hold rect2? {}", rect1.can_hold(&rect2)); -``` - -``` println!("Can rect1 hold rect3? {}", rect1.can_hold(&rect3)); -``` - -``` } ``` @@ -1549,9 +915,6 @@ The expected output would look like the following because both dimensions of ``` Can rect1 hold rect2? true -``` - -``` Can rect1 hold rect3? false ``` @@ -1573,37 +936,13 @@ Filename: src/main.rs ``` impl Rectangle { -``` - -``` fn area(&self) -> u32 { -``` - -``` self.width * self.height -``` - -``` } -``` -``` - -``` - -``` fn can_hold(&self, other: &Rectangle) -> bool { -``` - -``` self.width > other.width && self.height > other.height -``` - -``` } -``` - -``` } ``` @@ -1636,33 +975,12 @@ Filename: src/main.rs ``` impl Rectangle { -``` - -``` fn square(size: u32) -> 1 Self { -``` - -``` 2 Self { -``` - -``` width: size, -``` - -``` height: size, -``` - -``` } -``` - -``` } -``` - -``` } ``` @@ -1683,45 +1001,15 @@ its own `impl` block. ``` impl Rectangle { -``` - -``` fn area(&self) -> u32 { -``` - -``` self.width * self.height -``` - -``` } -``` - -``` } -``` -``` - -``` - -``` impl Rectangle { -``` - -``` fn can_hold(&self, other: &Rectangle) -> bool { -``` - -``` self.width > other.width && self.height > other.height -``` - -``` } -``` - -``` } ``` From 4d2924a3ccd61eda2a0c7158eee8ccb5b9220fcd Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 10:54:59 -0400 Subject: [PATCH 0470/1248] Fix BoxCode --- nostarch/chapter05.md | 166 +++++++++++++++++------------------------- tools/docx-to-md.xsl | 27 ++++++- 2 files changed, 91 insertions(+), 102 deletions(-) diff --git a/nostarch/chapter05.md b/nostarch/chapter05.md index aff1d5e754..3946227f4f 100644 --- a/nostarch/chapter05.md +++ b/nostarch/chapter05.md @@ -296,96 +296,59 @@ discuss in Chapter 10. Lifetimes ensure that the data referenced by a struct is valid for as long as the struct is. Let’s say you try to store a reference in a struct without specifying lifetimes, like the following in *src/main.rs*; this won’t work: - - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - > The compiler will complain that it needs lifetime specifiers: - - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - > In Chapter 10, we’ll discuss how to fix these errors so you can store +> +> ``` +> struct User { +> active: bool, +> username: &str, +> email: &str, +> sign_in_count: u64, +> } +> +> fn main() { +> let user1 = User { +> active: true, +> username: "someusername123", +> email: "someone@example.com", +> sign_in_count: 1, +> }; +> } +> ``` +> +> The compiler will complain that it needs lifetime specifiers: +> +> ``` +> $ `cargo run` +> Compiling structs v0.1.0 (file:///projects/structs) +> error[E0106]: missing lifetime specifier +> --> src/main.rs:3:15 +> | +> 3 | username: &str, +> | ^ expected named lifetime parameter +> | +> help: consider introducing a named lifetime parameter +> | +> 1 ~ struct User<'a> { +> 2 | active: bool, +> 3 ~ username: &'a str, +> | +> +> error[E0106]: missing lifetime specifier +> --> src/main.rs:4:12 +> | +> 4 | email: &str, +> | ^ expected named lifetime parameter +> | +> help: consider introducing a named lifetime parameter +> | +> 1 ~ struct User<'a> { +> 2 | active: bool, +> 3 | username: &str, +> 4 ~ email: &'a str, +> | +> ``` +> +> In Chapter 10, we’ll discuss how to fix these errors so you can store references in structs, but for now, we’ll fix errors like these using owned types like `String` instead of references like `&str`. @@ -864,17 +827,18 @@ one of the few places in Rust that has this behavior. > Here’s how it works: when you call a method with `object.`something`()`, Rust automatically adds in `&`, `&mut`, or `*` so `object` matches the signature of the method. In other words, the following are the same: - - -Unmatched: BoxCode - -Unmatched: BoxCode - > The first one looks much cleaner. This automatic referencing behavior -works because methods have a clear receiver—the type of `self`. Given the -receiver and name of a method, Rust can figure out definitively whether the -method is reading (`&self`), mutating (`&mut self`), or consuming (`self`). The -fact that Rust makes borrowing implicit for method receivers is a big part of -making ownership ergonomic in practice. +> +> ``` +> p1.distance(&p2); +> (&p1).distance(&p2); +> ``` +> +> The first one looks much cleaner. This automatic referencing behavior works +because methods have a clear receiver—the type of `self`. Given the receiver +and name of a method, Rust can figure out definitively whether the method is +reading (`&self`), mutating (`&mut self`), or consuming (`self`). The fact that +Rust makes borrowing implicit for method receivers is a big part of making +ownership ergonomic in practice. ### Methods with More Parameters diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 9f45c0b59a..e852d86c88 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -179,6 +179,31 @@ + + + + > ``` > + + + > + + + + + + + + + + + > ``` > + + + + + + + ``` @@ -206,7 +231,7 @@ > - + > From 365f11bfb8906eac6db2f7293d479cffb3758bc2 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 10:58:28 -0400 Subject: [PATCH 0471/1248] Regenerate ch6 --- nostarch/chapter06.md | 595 +----------------------------------------- 1 file changed, 2 insertions(+), 593 deletions(-) diff --git a/nostarch/chapter06.md b/nostarch/chapter06.md index 7214b8d844..3378cf332f 100644 --- a/nostarch/chapter06.md +++ b/nostarch/chapter06.md @@ -46,17 +46,8 @@ variants of the enum: ``` enum IpAddrKind { -``` - -``` V4, -``` - -``` V6, -``` - -``` } ``` @@ -68,9 +59,6 @@ We can create instances of each of the two variants of `IpAddrKind` like this: ``` let four = IpAddrKind::V4; -``` - -``` let six = IpAddrKind::V6; ``` @@ -83,13 +71,10 @@ can then, for instance, define a function that takes any `IpAddrKind`: fn route(ip_kind: IpAddrKind) {} ``` - -Unmatched: BodyContinued - ``` -route(IpAddrKind::V4); -``` +And we can call this function with either variant: ``` +route(IpAddrKind::V4); route(IpAddrKind::V6); ``` @@ -101,85 +86,28 @@ Listing 6-1. ``` 1 enum IpAddrKind { -``` - -``` V4, -``` - -``` V6, -``` - -``` } -``` - -``` -``` - -``` 2 struct IpAddr { -``` - -``` 3 kind: IpAddrKind, -``` - -``` 4 address: String, -``` - -``` } -``` - -``` - -``` -``` 5 let home = IpAddr { -``` - -``` kind: IpAddrKind::V4, -``` - -``` address: String::from("127.0.0.1"), -``` - -``` }; -``` -``` - -``` - -``` 6 let loopback = IpAddr { -``` - -``` kind: IpAddrKind::V6, -``` - -``` address: String::from("::1"), -``` - -``` }; ``` Storing the data and `IpAddrKind` variant of an IP address using a `struct` -PROD: Please change this to Listing 6-1 and renumber remaining listings -consecutively: e.g., Listing 6-2, Listing 6-3, etc. - Here, we’ve defined a struct `IpAddr` [2] that has two fields: a `kind` field [3] that is of type `IpAddrKind` (the enum we defined previously [1]) and an `address` field [4] of type `String`. We have two instances of this struct. The @@ -196,33 +124,12 @@ variants will have associated `String` values: ``` enum IpAddr { -``` - -``` V4(String), -``` - -``` V6(String), -``` - -``` } -``` - -``` - -``` -``` let home = IpAddr::V4(String::from("127.0.0.1")); -``` - -``` - -``` -``` let loopback = IpAddr::V6(String::from("::1")); ``` @@ -243,33 +150,12 @@ a struct. Enums handle this case with ease: ``` enum IpAddr { -``` - -``` V4(u8, u8, u8, u8), -``` - -``` V6(String), -``` - -``` } -``` - -``` -``` - -``` let home = IpAddr::V4(127, 0, 0, 1); -``` - -``` - -``` -``` let loopback = IpAddr::V6(String::from("::1")); ``` @@ -283,49 +169,16 @@ different structs, which are defined differently for each variant: ``` struct Ipv4Addr { -``` - -``` --snip-- -``` - -``` } -``` -``` - -``` - -``` struct Ipv6Addr { -``` - -``` --snip-- -``` - -``` } -``` - -``` - -``` -``` enum IpAddr { -``` - -``` V4(Ipv4Addr), -``` - -``` V6(Ipv6Addr), -``` - -``` } ``` @@ -344,25 +197,10 @@ variety of types embedded in its variants. ``` enum Message { -``` - -``` Quit, -``` - -``` Move { x: i32, y: i32 }, -``` - -``` Write(String), -``` - -``` ChangeColor(i32, i32, i32), -``` - -``` } ``` @@ -386,29 +224,11 @@ preceding enum variants hold: ``` struct QuitMessage; // unit struct -``` - -``` struct MoveMessage { -``` - -``` x: i32, -``` - -``` y: i32, -``` - -``` } -``` - -``` struct WriteMessage(String); // tuple struct -``` - -``` struct ChangeColorMessage(i32, i32, i32); // tuple struct ``` @@ -422,33 +242,12 @@ enums. Here’s a method named `call` that we could define on our `Message` enum ``` impl Message { -``` - -``` fn call(&self) { -``` - -``` 1 // method body would be defined here -``` - -``` } -``` - -``` } -``` -``` - -``` - -``` 2 let m = Message::Write(String::from("hello")); -``` - -``` m.call(); ``` @@ -498,17 +297,8 @@ that can encode the concept of a value being present or absent. This enum is ``` enum Option { -``` - -``` None, -``` - -``` Some(T), -``` - -``` } ``` @@ -528,17 +318,8 @@ number types and string types: ``` let some_number = Some(5); -``` - -``` let some_char = Some('e'); -``` - -``` - -``` -``` let absent_number: Option = None; ``` @@ -562,17 +343,8 @@ trying to add an `i8` to an `Option`: ``` let x: i8 = 5; -``` - -``` let y: Option = Some(5); -``` - -``` -``` - -``` let sum = x + y; ``` @@ -580,29 +352,11 @@ If we run this code, we get an error message like this one: ``` error[E0277]: cannot add `Option` to `i8` -``` - -``` --> src/main.rs:5:17 -``` - -``` | -``` - -``` 5 | let sum = x + y; -``` - -``` | ^ no implementation for `i8 + Option` -``` - -``` | -``` - -``` = help: the trait `Add>` is not implemented for `i8` ``` @@ -666,61 +420,19 @@ in Listing 6-3. ``` 1 enum Coin { -``` - -``` Penny, -``` - -``` Nickel, -``` - -``` Dime, -``` - -``` Quarter, -``` - -``` } -``` -``` - -``` - -``` fn value_in_cents(coin: Coin) -> u8 { -``` - -``` 2 match coin { -``` - -``` 3 Coin::Penny => 1, -``` - -``` Coin::Nickel => 5, -``` - -``` Coin::Dime => 10, -``` - -``` Coin::Quarter => 25, -``` - -``` } -``` - -``` } ``` @@ -758,45 +470,15 @@ returns the last value of the block, `1`: ``` fn value_in_cents(coin: Coin) -> u8 { -``` - -``` match coin { -``` - -``` Coin::Penny => { -``` - -``` println!("Lucky penny!"); -``` - -``` 1 -``` - -``` } -``` - -``` Coin::Nickel => 5, -``` - -``` Coin::Dime => 10, -``` - -``` Coin::Quarter => 25, -``` - -``` } -``` - -``` } ``` @@ -815,53 +497,17 @@ stored inside it, which we’ve done in Listing 6-4. ``` #[derive(Debug)] // so we can inspect the state in a minute -``` - -``` enum UsState { -``` - -``` Alabama, -``` - -``` Alaska, -``` - -``` --snip-- -``` - -``` } -``` - -``` -``` - -``` enum Coin { -``` - -``` Penny, -``` - -``` Nickel, -``` - -``` Dime, -``` - -``` Quarter(UsState), -``` - -``` } ``` @@ -879,45 +525,15 @@ quarter’s state. Then we can use `state` in the code for that arm, like so: ``` fn value_in_cents(coin: Coin) -> u8 { -``` - -``` match coin { -``` - -``` Coin::Penny => 1, -``` - -``` Coin::Nickel => 5, -``` - -``` Coin::Dime => 10, -``` - -``` Coin::Quarter(state) => { -``` - -``` println!("State quarter from {:?}!", state); -``` - -``` 25 -``` - -``` } -``` - -``` } -``` - -``` } ``` @@ -946,41 +562,14 @@ Listing 6-5. ``` fn plus_one(x: Option) -> Option { -``` - -``` match x { -``` - -``` 1 None => None, -``` - -``` 2 Some(i) => Some(i + 1), -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` let five = Some(5); -``` - -``` let six = plus_one(five); 3 -``` - -``` let none = plus_one(None); 4 ``` @@ -1027,21 +616,9 @@ which has a bug and won’t compile: ``` fn plus_one(x: Option) -> Option { -``` - -``` match x { -``` - -``` Some(i) => Some(i + 1), -``` - -``` } -``` - -``` } ``` @@ -1051,61 +628,19 @@ error: ``` error[E0004]: non-exhaustive patterns: `None` not covered -``` - -``` --> src/main.rs:3:15 -``` - -``` | -``` - -``` 3 | match x { -``` - -``` | ^ pattern `None` not covered -``` - -``` | -``` - -``` note: `Option` defined here -``` - -``` = note: the matched value is of type `Option` -``` - -``` help: ensure that all possible cases are being handled by adding -``` - -``` a match arm with a wildcard pattern or an explicit pattern as -``` - -``` shown -``` - -``` | -``` - -``` 4 ~ Some(i) => Some(i + 1), -``` - -``` 5 ~ None => todo!(), -``` - -``` | ``` @@ -1130,41 +665,14 @@ this example: ``` let dice_roll = 9; -``` - -``` match dice_roll { -``` - -``` 3 => add_fancy_hat(), -``` - -``` 7 => remove_fancy_hat(), -``` - -``` 1 other => move_player(other), -``` - -``` } -``` - -``` - -``` -``` fn add_fancy_hat() {} -``` - -``` fn remove_fancy_hat() {} -``` - -``` fn move_player(num_spaces: u8) {} ``` @@ -1191,41 +699,14 @@ can change our code to use `_` instead of the variable named `other`: ``` let dice_roll = 9; -``` - -``` match dice_roll { -``` - -``` 3 => add_fancy_hat(), -``` - -``` 7 => remove_fancy_hat(), -``` - -``` _ => reroll(), -``` - -``` } -``` -``` - -``` - -``` fn add_fancy_hat() {} -``` - -``` fn remove_fancy_hat() {} -``` - -``` fn reroll() {} ``` @@ -1239,37 +720,13 @@ Type” on page XX) as the code that goes with the `_` arm: ``` let dice_roll = 9; -``` - -``` match dice_roll { -``` - -``` 3 => add_fancy_hat(), -``` - -``` 7 => remove_fancy_hat(), -``` - -``` _ => (), -``` - -``` } -``` -``` - -``` - -``` fn add_fancy_hat() {} -``` - -``` fn remove_fancy_hat() {} ``` @@ -1291,21 +748,9 @@ variant. ``` let config_max = Some(3u8); -``` - -``` match config_max { -``` - -``` Some(max) => println!("The maximum is configured to be {max}"), -``` - -``` _ => (), -``` - -``` } ``` @@ -1322,17 +767,8 @@ code behaves the same as the `match` in Listing 6-6: ``` let config_max = Some(3u8); -``` - -``` if let Some(max) = config_max { -``` - -``` println!("The maximum is configured to be {max}"); -``` - -``` } ``` @@ -1363,21 +799,9 @@ expression, like this: ``` let mut count = 0; -``` - -``` match coin { -``` - -``` Coin::Quarter(state) => println!("State quarter from {:?}!", state), -``` - -``` _ => count += 1, -``` - -``` } ``` @@ -1385,25 +809,10 @@ Or we could use an `if let` and `else` expression, like this: ``` let mut count = 0; -``` - -``` if let Coin::Quarter(state) = coin { -``` - -``` println!("State quarter from {:?}!", state); -``` - -``` } else { -``` - -``` count += 1; -``` - -``` } ``` From 03cd731b27e9c7d5cd40243c79a6aef1b496d68e Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 11:00:52 -0400 Subject: [PATCH 0472/1248] Fix ListPlain --- nostarch/chapter06.md | 23 ++++++++++------------- tools/docx-to-md.xsl | 4 ++-- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/nostarch/chapter06.md b/nostarch/chapter06.md index 3378cf332f..130a21c245 100644 --- a/nostarch/chapter06.md +++ b/nostarch/chapter06.md @@ -208,19 +208,16 @@ A `Message` enum whose variants each store different amounts and types of values This enum has four variants with different types: - -Unmatched: ListPlain - -Unmatched: ListPlain - -Unmatched: ListPlain - -Unmatched: ListPlain - Defining an enum with variants such as the ones in Listing 6-2 is similar -to defining different kinds of struct definitions, except the enum doesn’t use -the `struct` keyword and all the variants are grouped together under the -`Message` type. The following structs could hold the same data that the -preceding enum variants hold: +* `Quit` has no data associated with it at all. +* `Move` has named fields, like a struct does. +* `Write` includes a single `String`. +* `ChangeColor` includes three `i32` values. + +Defining an enum with variants such as the ones in Listing 6-2 is similar to +defining different kinds of struct definitions, except the enum doesn’t use the +`struct` keyword and all the variants are grouped together under the `Message` +type. The following structs could hold the same data that the preceding enum +variants hold: ``` struct QuitMessage; // unit struct diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index e852d86c88..7fa51f8f72 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -89,11 +89,11 @@ - + * - + From 739c283cf284707324ac107421a43cbcee5c035f Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 11:01:40 -0400 Subject: [PATCH 0473/1248] Fix QuotePara --- nostarch/chapter06.md | 16 +++++++++++----- tools/docx-to-md.xsl | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/nostarch/chapter06.md b/nostarch/chapter06.md index 130a21c245..f75403d7c4 100644 --- a/nostarch/chapter06.md +++ b/nostarch/chapter06.md @@ -278,11 +278,17 @@ two states: null or not-null. In his 2009 presentation “Null References: The Billion Dollar Mistake,” Tony Hoare, the inventor of null, has this to say: - -Unmatched: QuotePara - The problem with null values is that if you try to use a null value as a -not-null value, you’ll get an error of some kind. Because this null or not-null -property is pervasive, it’s extremely easy to make this kind of error. +> I call it my billion-dollar mistake. At that time, I was designing the first +comprehensive type system for references in an object-oriented language. My +goal was to ensure that all use of references should be absolutely safe, with +checking performed automatically by the compiler. But I couldn’t resist the +temptation to put in a null reference, simply because it was so easy to +implement. This has led to innumerable errors, vulnerabilities, and system +crashes, which have probably caused a billion dollars of pain and damage in the +last forty years.The problem with null values is that if you try to use a null +value as a not-null value, you’ll get an error of some kind. Because this null +or not-null property is pervasive, it’s extremely easy to make this kind of +error. However, the concept that null is trying to express is still a useful one: a null is a value that is currently invalid or absent for some reason. diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 7fa51f8f72..b6c4f13257 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -215,7 +215,7 @@ - + > From 793e15ca53af183321183276189fa7001f20502f Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 11:06:50 -0400 Subject: [PATCH 0474/1248] Regenerate ch7 --- nostarch/chapter07.md | 937 ++++-------------------------------------- 1 file changed, 85 insertions(+), 852 deletions(-) diff --git a/nostarch/chapter07.md b/nostarch/chapter07.md index 9fed26d99c..6df6f54a83 100644 --- a/nostarch/chapter07.md +++ b/nostarch/chapter07.md @@ -43,26 +43,13 @@ organization, including which details are exposed, which details are private, and what names are in each scope in your programs. These features, sometimes collectively referred to as the *module system*, include: - -Unmatched: RunInHead - -Unmatched: RunInPara - -Unmatched: RunInHead - -Unmatched: RunInPara - -Unmatched: RunInHead - -Unmatched: RunInPara - -Unmatched: RunInHead - -Unmatched: RunInPara - In this chapter, we’ll cover all these features, discuss how they -interact, and explain how to use them to manage scope. By the end, you should -have a solid understanding of the module system and be able to work with scopes -like a pro! +* Packages - A Cargo feature that lets you build, test, and share crates +* Crates- A tree of modules that produces a library or executable +* Modules and use- Let you control the organization, scope, and privacy of paths +* Paths - A way of naming an item, such as a struct, function, or module +In this chapter, we’ll cover all these features, discuss how they interact, and +explain how to use them to manage scope. By the end, you should have a solid +understanding of the module system and be able to work with scopes like a pro! ## Packages and Crates @@ -106,38 +93,20 @@ library crate. A package must contain at least one crate, whether that’s a library or binary crate. Let’s walk through what happens when we create a package. First we enter the -command `cargo new` `my-project`: +command `cargo new my-project`: ``` $ cargo new my-project -``` - -``` Created binary (application) `my-project` package -``` - -``` $ ls my-project -``` - -``` Cargo.toml -``` - -``` src -``` - -``` $ ls my-project/src -``` - -``` main.rs ``` -After we run `cargo new` `my-project`, we use `ls` to see what Cargo creates. -In the project directory, there’s a *Cargo.toml* file, giving us a package. +After we run `cargo new my-project`, we use `ls` to see what Cargo creates. In +the project directory, there’s a *Cargo.toml* file, giving us a package. There’s also a *src* directory that contains *main.rs*. Open *Cargo.toml* in your text editor, and note there’s no mention of *src/main.rs*. Cargo follows a convention that *src/main.rs* is the crate root of a binary crate with the same @@ -154,8 +123,7 @@ in the *src/bin* directory: each file will be a separate binary crate. > ### Modules Cheat Sheet - - +> > Before we get to the details of modules and paths, here we provide a quick reference on how modules, paths, the `use` keyword, and the `pub` keyword work in the compiler, and how most developers organize their code. We’ll be going @@ -170,22 +138,18 @@ Unmatched: BoxRunInPara Unmatched: BoxRunInHead Unmatched: BoxRunInPara - -Unmatched: BoxListBullet - -Unmatched: BoxListBullet - -Unmatched: BoxListBullet + > * Inline, within curly brackets that replace the semicolon following +`mod garden` +> * In the file *src/garden.rs.* +> * In the file *src/garden/mod.rs* Unmatched: BoxRunInHead Unmatched: BoxRunInPara - -Unmatched: BoxListBullet - -Unmatched: BoxListBullet - -Unmatched: BoxListBullet + > * Inline, directly following `mod vegetables`, within curly brackets +instead of the semicolon +> * In the file *src/garden/vegetables.rs* +> * In the file *src/garden/vegetables/mod.rs* Unmatched: BoxRunInHead @@ -198,61 +162,49 @@ Unmatched: BoxRunInPara Unmatched: BoxRunInHead Unmatched: BoxRunInPara - -> Here, we create a binary crate named `backyard` that illustrates these rules. -The crate’s directory, also named `backyard`, contains these files and + > Here, we create a binary crate named `backyard` that illustrates these +rules. The crate’s directory, also named `backyard`, contains these files and directories: - - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - +> +> ``` +> backyard +> ├── Cargo.lock +> ├── Cargo.toml +> └── src +> ├── garden +> │ └── vegetables.rs +> ├── garden.rs +> └── main.rs +> ``` +> > The crate root file in this case is *src/main.rs*, and it contains: - - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - -Unmatched: BoxCode - +> +> ``` +> use crate::garden::vegetables::Asparagus; +> +> pub mod garden; +> +> fn main() { +> let plant = Asparagus {}; +> println!("I'm growing {:?}!", plant); +> } +> ``` +> > The `pub mod garden;` line tells the compiler to include the code it finds in *src/garden.rs*, which is: - - -Unmatched: BoxCode - +> +> ``` +> pub mod vegetables; +> ``` +> > Here, `pub mod vegetables;` means the code in *src/garden/vegetables.rs* is included too. That code is: - - -Unmatched: BoxCode - -Unmatched: BoxCode - +> +> ``` +> #[derive(Debug)] +> pub struct Asparagus {} +> ``` +> > Now let’s get into the details of these rules and demonstrate them in action! ## Defining Modules to Control Scope and Privacy @@ -283,7 +235,7 @@ administrative work. To structure our crate in this way, we can organize its functions into nested modules. Create a new library named `restaurant` by running `cargo new -restaurant` `--lib`. Then enter the code in Listing 7-1 into *src/lib.rs* to +restaurant --lib`. Then enter the code in Listing 7-1 into *src/lib.rs* to define some modules and function signatures; this code is the front of house section. @@ -291,69 +243,24 @@ Filename: src/lib.rs ``` mod front_of_house { -``` - -``` mod hosting { -``` - -``` fn add_to_waitlist() {} -``` - -``` - -``` -``` fn seat_at_table() {} -``` - -``` } -``` - -``` -``` - -``` mod serving { -``` - -``` fn take_order() {} -``` - -``` - -``` -``` fn serve_order() {} -``` - -``` - -``` -``` fn take_payment() {} -``` - -``` } -``` - -``` } ``` A `front_of_house` module containing other modules that then contain functions -PROD: Please renumber this as Listing 7-1 and renumber the remaining listings -consecutively: e.g., Listing 7-2, Listing 7-3, etc. - We define a module with the `mod` keyword followed by the name of the module (in this case, `front_of_house`). The body of the module then goes inside curly brackets. Inside modules, we can place other modules, as in this case with the @@ -376,37 +283,13 @@ Listing 7-2 shows the module tree for the structure in Listing 7-1. ``` crate -``` - -``` └── front_of_house -``` - -``` ├── hosting -``` - -``` │ ├── add_to_waitlist -``` - -``` │ └── seat_at_table -``` - -``` └── serving -``` - -``` ├── take_order -``` - -``` ├── serve_order -``` - -``` └── take_payment ``` @@ -433,11 +316,13 @@ know its path. A path can take two forms: +* An *absolute path* is the full path starting from a crate root; for code from +an external crate, the absolute path begins with the crate name, and for code +from the current crate, it starts with the literal `crate`. +* A *relative path* starts from the current module and uses `self`, `super`, or +an identifier in the current module. -Unmatched: ListPlain - -Unmatched: ListPlain - Both absolute and relative paths are followed by one or more identifiers +Both absolute and relative paths are followed by one or more identifiers separated by double colons (`::`). Returning to Listing 7-1, say we want to call the `add_to_waitlist` function. @@ -457,53 +342,17 @@ Filename: src/lib.rs ``` mod front_of_house { -``` - -``` mod hosting { -``` - -``` fn add_to_waitlist() {} -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` pub fn eat_at_restaurant() { -``` - -``` // Absolute path -``` - -``` crate::front_of_house::hosting::add_to_waitlist(); -``` - -``` - -``` -``` // Relative path -``` - -``` front_of_house::hosting::add_to_waitlist(); -``` - -``` } ``` @@ -543,101 +392,29 @@ errors we get are shown in Listing 7-4. ``` $ cargo build -``` - -``` Compiling restaurant v0.1.0 (file:///projects/restaurant) -``` - -``` error[E0603]: module `hosting` is private -``` - -``` --> src/lib.rs:9:28 -``` - -``` | -``` - -``` 9 | crate::front_of_house::hosting::add_to_waitlist(); -``` - -``` | ^^^^^^^ private module -``` - -``` | -``` - -``` note: the module `hosting` is defined here -``` - -``` --> src/lib.rs:2:5 -``` - -``` | -``` - -``` 2 | mod hosting { -``` - -``` | ^^^^^^^^^^^ -``` - -``` - -``` -``` error[E0603]: module `hosting` is private -``` - -``` --> src/lib.rs:12:21 -``` - -``` | -``` - -``` 12 | front_of_house::hosting::add_to_waitlist(); -``` - -``` | ^^^^^^^ private module -``` - -``` | -``` - -``` note: the module `hosting` is defined here -``` - -``` --> src/lib.rs:2:5 -``` - -``` | -``` - -``` 2 | mod hosting { -``` - -``` | ^^^^^^^^^^^ ``` @@ -675,29 +452,11 @@ Filename: src/lib.rs ``` mod front_of_house { -``` - -``` pub mod hosting { -``` - -``` fn add_to_waitlist() {} -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` --snip-- ``` @@ -708,101 +467,29 @@ shown in Listing 7-6. ``` $ cargo build -``` - -``` Compiling restaurant v0.1.0 (file:///projects/restaurant) -``` - -``` error[E0603]: function `add_to_waitlist` is private -``` - -``` --> src/lib.rs:9:37 -``` - -``` | -``` - -``` 9 | crate::front_of_house::hosting::add_to_waitlist(); -``` - -``` | ^^^^^^^^^^^^^^^ private function -``` - -``` | -``` - -``` note: the function `add_to_waitlist` is defined here -``` - -``` --> src/lib.rs:3:9 -``` - -``` | -``` - -``` 3 | fn add_to_waitlist() {} -``` - -``` | ^^^^^^^^^^^^^^^^^^^^ -``` -``` - -``` - -``` error[E0603]: function `add_to_waitlist` is private -``` - -``` --> src/lib.rs:12:30 -``` - -``` | -``` - -``` 12 | front_of_house::hosting::add_to_waitlist(); -``` - -``` | ^^^^^^^^^^^^^^^ private function -``` - -``` | -``` - -``` note: the function `add_to_waitlist` is defined here -``` - -``` --> src/lib.rs:3:9 -``` - -``` | -``` - -``` 3 | fn add_to_waitlist() {} -``` - -``` | ^^^^^^^^^^^^^^^^^^^^ ``` @@ -828,29 +515,11 @@ Filename: src/lib.rs ``` mod front_of_house { -``` - -``` pub mod hosting { -``` - -``` pub fn add_to_waitlist() {} -``` - -``` } -``` - -``` } -``` -``` - -``` - -``` --snip-- ``` @@ -888,11 +557,8 @@ interested in this topic, see the Rust API Guidelines at *https://rust-lang.github.io/api-guidelines*. -Unmatched: BoxType - > ### Best Practices for Packages with a Binary and a Library - - +> > We mentioned that a package can contain both a *src/main.rs* binary crate root as well as a *src/lib.rs* library crate root, and both crates will have the package name by default. Typically, packages with this pattern of @@ -900,16 +566,14 @@ containing both a library and a binary crate will have just enough code in the binary crate to start an executable that calls code with the library crate. This lets other projects benefit from the most functionality that the package provides because the library crate’s code can be shared. - - +> > The module tree should be defined in *src/lib.rs*. Then, any public items can be used in the binary crate by starting paths with the name of the package. The binary crate becomes a user of the library crate just like a completely external crate would use the library crate: it can only use the public API. This helps you design a good API; not only are you the author, you’re also a client! - - +> > In Chapter 12, we’ll demonstrate this organizational practice with a command line program that will contain both a binary crate and a library crate. @@ -933,41 +597,14 @@ Filename: src/lib.rs ``` fn deliver_order() {} -``` - -``` - -``` -``` mod back_of_house { -``` - -``` fn fix_incorrect_order() { -``` - -``` cook_order(); -``` - -``` super::deliver_order(); -``` - -``` } -``` - -``` - -``` -``` fn cook_order() {} -``` - -``` } ``` @@ -999,113 +636,32 @@ Filename: src/lib.rs ``` mod back_of_house { -``` - -``` pub struct Breakfast { -``` - -``` pub toast: String, -``` - -``` seasonal_fruit: String, -``` - -``` } -``` -``` - -``` - -``` impl Breakfast { -``` - -``` pub fn summer(toast: &str) -> Breakfast { -``` - -``` Breakfast { -``` - -``` toast: String::from(toast), -``` - -``` seasonal_fruit: String::from("peaches"), -``` - -``` } -``` - -``` } -``` - -``` } -``` - -``` } -``` -``` - -``` - -``` pub fn eat_at_restaurant() { -``` - -``` // Order a breakfast in the summer with Rye toast -``` - -``` let mut meal = back_of_house::Breakfast::summer("Rye"); -``` - -``` // Change our mind about what bread we'd like -``` - -``` meal.toast = String::from("Wheat"); -``` - -``` println!("I'd like {} toast please", meal.toast); -``` - -``` - -``` -``` // The next line won't compile if we uncomment it; we're not -``` - -``` // allowed to see or modify the seasonal fruit that comes -``` - -``` // with the meal -``` - -``` // meal.seasonal_fruit = String::from("blueberries"); -``` - -``` } ``` @@ -1131,45 +687,15 @@ Filename: src/lib.rs ``` mod back_of_house { -``` - -``` pub enum Appetizer { -``` - -``` Soup, -``` - -``` Salad, -``` - -``` } -``` - -``` } -``` -``` - -``` - -``` pub fn eat_at_restaurant() { -``` - -``` let order1 = back_of_house::Appetizer::Soup; -``` - -``` let order2 = back_of_house::Appetizer::Salad; -``` - -``` } ``` @@ -1206,45 +732,15 @@ Filename: src/lib.rs ``` mod front_of_house { -``` - -``` pub mod hosting { -``` - -``` pub fn add_to_waitlist() {} -``` - -``` } -``` - -``` } -``` -``` - -``` - -``` use crate::front_of_house::hosting; -``` - -``` - -``` -``` pub fn eat_at_restaurant() { -``` - -``` hosting::add_to_waitlist(); -``` - -``` } ``` @@ -1261,57 +757,21 @@ Note that `use` only creates the shortcut for the particular scope in which the child module named `customer`, which is then a different scope than the `use` statement, so the function body won’t compile. -Filename: src/lib.rs - -``` -mod front_of_house { -``` - -``` - pub mod hosting { -``` - -``` - pub fn add_to_waitlist() {} -``` - -``` - } -``` - -``` -} -``` - -``` - -``` - -``` -use crate::front_of_house::hosting; -``` +Filename: src/lib.rs ``` +mod front_of_house { + pub mod hosting { + pub fn add_to_waitlist() {} + } +} -``` +use crate::front_of_house::hosting; -``` mod customer { -``` - -``` pub fn eat_at_restaurant() { -``` - -``` hosting::add_to_waitlist(); -``` - -``` } -``` - -``` } ``` @@ -1322,53 +782,17 @@ The compiler error shows that the shortcut no longer applies within the ``` error[E0433]: failed to resolve: use of undeclared crate or module `hosting` -``` - -``` --> src/lib.rs:11:9 -``` - -``` | -``` - -``` 11 | hosting::add_to_waitlist(); -``` - -``` | ^^^^^^^ use of undeclared crate or module `hosting` -``` - -``` - -``` -``` warning: unused import: `crate::front_of_house::hosting` -``` - -``` --> src/lib.rs:7:5 -``` - -``` | -``` - -``` 7 | use crate::front_of_house::hosting; -``` - -``` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -``` - -``` | -``` - -``` = note: `#[warn(unused_imports)]` on by default ``` @@ -1388,45 +812,15 @@ Filename: src/lib.rs ``` mod front_of_house { -``` - -``` pub mod hosting { -``` - -``` pub fn add_to_waitlist() {} -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` use crate::front_of_house::hosting::add_to_waitlist; -``` - -``` - -``` -``` pub fn eat_at_restaurant() { -``` - -``` add_to_waitlist(); -``` - -``` } ``` @@ -1450,25 +844,10 @@ Filename: src/main.rs ``` use std::collections::HashMap; -``` - -``` - -``` -``` fn main() { -``` - -``` let mut map = HashMap::new(); -``` - -``` map.insert(1, 2); -``` - -``` } ``` @@ -1486,41 +865,14 @@ Filename: src/lib.rs ``` use std::fmt; -``` - -``` use std::io; -``` - -``` - -``` -``` fn function1() -> fmt::Result { -``` - -``` --snip-- -``` - -``` } -``` - -``` - -``` -``` fn function2() -> io::Result<()> { -``` - -``` --snip-- -``` - -``` } ``` @@ -1543,41 +895,14 @@ Filename: src/lib.rs ``` use std::fmt::Result; -``` - -``` use std::io::Result as IoResult; -``` -``` - -``` - -``` fn function1() -> Result { -``` - -``` --snip-- -``` - -``` } -``` - -``` - -``` -``` fn function2() -> IoResult<()> { -``` - -``` --snip-- -``` - -``` } ``` @@ -1604,45 +929,15 @@ Filename: src/lib.rs ``` mod front_of_house { -``` - -``` pub mod hosting { -``` - -``` pub fn add_to_waitlist() {} -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` pub use crate::front_of_house::hosting; -``` - -``` -``` - -``` pub fn eat_at_restaurant() { -``` - -``` hosting::add_to_waitlist(); -``` - -``` } ``` @@ -1689,21 +984,9 @@ function: ``` use rand::Rng; -``` - -``` -``` - -``` fn main() { -``` - -``` let secret_number = rand::thread_rng().gen_range(1..=100); -``` - -``` } ``` @@ -1736,17 +1019,8 @@ Filename: src/main.rs ``` --snip-- -``` - -``` use std::cmp::Ordering; -``` - -``` use std::io; -``` - -``` --snip-- ``` @@ -1759,13 +1033,7 @@ Filename: src/main.rs ``` --snip-- -``` - -``` use std::{cmp::Ordering, io}; -``` - -``` --snip-- ``` @@ -1784,9 +1052,6 @@ Filename: src/lib.rs ``` use std::io; -``` - -``` use std::io::Write; ``` @@ -1804,9 +1069,9 @@ use std::io::{self, Write}; Combining the paths in Listing 7-19 into one `use` statement +This line brings `std::io` and `std::io::Write` into scope. -Unmatched: BodyContinued - ### The Glob Operator +### The Glob Operator If we want to bring *all* public items defined in a path into scope, we can specify that path followed by the `*` glob operator: @@ -1847,29 +1112,11 @@ Filename: src/lib.rs ``` mod front_of_house; -``` - -``` - -``` -``` pub use crate::front_of_house::hosting; -``` - -``` -``` - -``` pub fn eat_at_restaurant() { -``` - -``` hosting::add_to_waitlist(); -``` - -``` } ``` @@ -1885,13 +1132,7 @@ Filename: src/front_of_house.rs ``` pub mod hosting { -``` - -``` pub fn add_to_waitlist() {} -``` - -``` } ``` @@ -1935,34 +1176,26 @@ compiler’s rules for which files to check for which modules’ code mean the directories and files more closely match the module tree. -Unmatched: BoxType - > ### Alternate File Paths - - +> > So far we’ve covered the most idiomatic file paths the Rust compiler uses, but Rust also supports an older style of file path. For a module named `front_of_house` declared in the crate root, the compiler will look for the module’s code in: - - -Unmatched: BoxListBullet - -Unmatched: BoxListBullet - +> +> * *src/front_of_house.rs* (what we covered) +> * *src/front_of_house/mod.rs* (older style, still supported path) +> > For a module named `hosting` that is a submodule of `front_of_house`, the compiler will look for the module’s code in: - - -Unmatched: BoxListBullet - -Unmatched: BoxListBullet - +> +> * *src/front_of_house/hosting.rs* (what we covered) +> * *src/front_of_house/hosting/mod.rs* (older style, still supported path) +> > If you use both styles for the same module, you’ll get a compiler error. Using a mix of both styles for different modules in the same project is allowed, but might be confusing for people navigating your project. - - +> > The main downside to the style that uses files named *mod.rs* is that your project can end up with many files named *mod.rs*, which can get confusing when you have them open in your editor at the same time. From 324d8ba8e2493427779691d983f7482ad03891f8 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 11:07:41 -0400 Subject: [PATCH 0475/1248] Fix newline after RunInHead/Para --- nostarch/chapter07.md | 1 + tools/docx-to-md.xsl | 3 +++ 2 files changed, 4 insertions(+) diff --git a/nostarch/chapter07.md b/nostarch/chapter07.md index 6df6f54a83..4865872a7c 100644 --- a/nostarch/chapter07.md +++ b/nostarch/chapter07.md @@ -47,6 +47,7 @@ collectively referred to as the *module system*, include: * Crates- A tree of modules that produces a library or executable * Modules and use- Let you control the organization, scope, and privacy of paths * Paths - A way of naming an item, such as a struct, function, or module + In this chapter, we’ll cover all these features, discuss how they interact, and explain how to use them to manage scope. By the end, you should have a solid understanding of the module system and be able to work with scopes like a pro! diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index b6c4f13257..cef0f5f613 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -256,6 +256,9 @@ + + + From 82c3400344d279a447256b89743a815bb775a8aa Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 11:12:37 -0400 Subject: [PATCH 0476/1248] Fix Box RunIn Head/Para --- nostarch/chapter07.md | 65 ++++++++++++++++++++++--------------------- tools/docx-to-md.xsl | 16 ++++++++++- 2 files changed, 49 insertions(+), 32 deletions(-) diff --git a/nostarch/chapter07.md b/nostarch/chapter07.md index 4865872a7c..0cd27c778f 100644 --- a/nostarch/chapter07.md +++ b/nostarch/chapter07.md @@ -130,41 +130,44 @@ reference on how modules, paths, the `use` keyword, and the `pub` keyword work in the compiler, and how most developers organize their code. We’ll be going through examples of each of these rules throughout this chapter, but this is a great place to refer to as a reminder of how modules work. - - -Unmatched: BoxRunInHead - -Unmatched: BoxRunInPara - -Unmatched: BoxRunInHead - -Unmatched: BoxRunInPara - > * Inline, within curly brackets that replace the semicolon following -`mod garden` +> +> * **Start from the crate root**: When compiling a crate, the compiler first +looks in the crate root file (usually *src/lib.rs* for a library crate or +*src/main.rs* for a binary crate) for code to compile. +> * **Declaring modules**: In the crate root file, you can declare new modules; +say you declare a “garden” module with `mod garden;`. The compiler will look +for the module’s code in these places: +> +> * Inline, within curly brackets that replace the semicolon following `mod +garden` > * In the file *src/garden.rs.* > * In the file *src/garden/mod.rs* - -Unmatched: BoxRunInHead - -Unmatched: BoxRunInPara - > * Inline, directly following `mod vegetables`, within curly brackets -instead of the semicolon +> * **Declaring submodules**: In any file other than the crate root, you can +declare submodules. For example, you might declare `mod vegetables;` in +*src/garden.rs*. The compiler will look for the submodule’s code within the +directory named for the parent module in these places: +> +> * Inline, directly following `mod vegetables`, within curly brackets instead +of the semicolon > * In the file *src/garden/vegetables.rs* > * In the file *src/garden/vegetables/mod.rs* - -Unmatched: BoxRunInHead - -Unmatched: BoxRunInPara - -Unmatched: BoxRunInHead - -Unmatched: BoxRunInPara - -Unmatched: BoxRunInHead - -Unmatched: BoxRunInPara - > Here, we create a binary crate named `backyard` that illustrates these -rules. The crate’s directory, also named `backyard`, contains these files and +> * **Paths to code in modules**: Once a module is part of your crate, you can +refer to code in that module from anywhere else in that same crate, as long as +the privacy rules allow, using the path to the code. For example, an +`Asparagus` type in the garden vegetables module would be found at +`crate::garden::vegetables::Asparagus`. +> * **Private vs. public**: Code within a module is private from its parent +modules by default. To make a module public, declare it with `pub mod` instead +of `mod`. To make items within a public module public as well, use `pub` before +their declarations. +> * **The use keyword**: Within a scope, the `use` keyword creates shortcuts to +items to reduce repetition of long paths. In any scope that can refer to +`crate::garden::vegetables::Asparagus`, you can create a shortcut with `use +crate::garden::vegetables::Asparagus;` and from then on you only need to write +`Asparagus` to make use of that type in the scope. +> +> Here, we create a binary crate named `backyard` that illustrates these rules. +The crate’s directory, also named `backyard`, contains these files and directories: > > ``` diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index cef0f5f613..218bfa472e 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -231,7 +231,7 @@ > - + > @@ -261,6 +261,20 @@ + + > * ** + + **: + + + + + + + > + + + From 10a359522af1e22acd9f3326dd97d438a6aab594 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 11:13:39 -0400 Subject: [PATCH 0477/1248] Fix extra newline before boxes --- nostarch/chapter07.md | 3 --- tools/docx-to-md.xsl | 1 - 2 files changed, 4 deletions(-) diff --git a/nostarch/chapter07.md b/nostarch/chapter07.md index 0cd27c778f..f4e4a3042e 100644 --- a/nostarch/chapter07.md +++ b/nostarch/chapter07.md @@ -122,7 +122,6 @@ and *src/lib.rs*, it has two crates: a binary and a library, both with the same name as the package. A package can have multiple binary crates by placing files in the *src/bin* directory: each file will be a separate binary crate. - > ### Modules Cheat Sheet > > Before we get to the details of modules and paths, here we provide a quick @@ -560,7 +559,6 @@ crate. These considerations are beyond the scope of this book; if you’re interested in this topic, see the Rust API Guidelines at *https://rust-lang.github.io/api-guidelines*. - > ### Best Practices for Packages with a Binary and a Library > > We mentioned that a package can contain both a *src/main.rs* binary crate @@ -1179,7 +1177,6 @@ root, and not declared as a child of the `front_of_house` module. The compiler’s rules for which files to check for which modules’ code mean the directories and files more closely match the module tree. - > ### Alternate File Paths > > So far we’ve covered the most idiomatic file paths the Rust compiler uses, diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 218bfa472e..07a3e4629c 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -221,7 +221,6 @@ - > ### > From 3bb78e383420574736b508abcab69591e7e5b08d Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 11:17:31 -0400 Subject: [PATCH 0478/1248] Make RunInHead consistent-ish --- nostarch/chapter07.md | 9 +++++---- tools/docx-to-md.xsl | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/nostarch/chapter07.md b/nostarch/chapter07.md index f4e4a3042e..b4a9c4e2b0 100644 --- a/nostarch/chapter07.md +++ b/nostarch/chapter07.md @@ -43,10 +43,11 @@ organization, including which details are exposed, which details are private, and what names are in each scope in your programs. These features, sometimes collectively referred to as the *module system*, include: -* Packages - A Cargo feature that lets you build, test, and share crates -* Crates- A tree of modules that produces a library or executable -* Modules and use- Let you control the organization, scope, and privacy of paths -* Paths - A way of naming an item, such as a struct, function, or module +* **Packages **: A Cargo feature that lets you build, test, and share crates +* **Crates**: A tree of modules that produces a library or executable +* **Modules and use**: Let you control the organization, scope, and privacy of +paths +* **Paths **: A way of naming an item, such as a struct, function, or module In this chapter, we’ll cover all these features, discuss how they interact, and explain how to use them to manage scope. By the end, you should have a solid diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 07a3e4629c..a67a4047ce 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -247,9 +247,9 @@ - * + * ** - - + **: From 04e7a8066c12754c136594941b76995ce1584e00 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 11:51:11 -0400 Subject: [PATCH 0479/1248] Regenerate ch8 --- nostarch/chapter08.md | 541 ++---------------------------------------- 1 file changed, 26 insertions(+), 515 deletions(-) diff --git a/nostarch/chapter08.md b/nostarch/chapter08.md index 6bef0c2dae..8abb9c80a8 100644 --- a/nostarch/chapter08.md +++ b/nostarch/chapter08.md @@ -8,8 +8,6 @@ directory, so all fixes need to be made in `/src/`. # Common Collections -Prod: note that there are non-standard characters in this chapter - Rust’s standard library includes a number of very useful data structures called *collections*. Most other data types represent one specific value, but collections can contain multiple values. Unlike the built-in array and tuple @@ -25,6 +23,7 @@ collections that are used very often in Rust programs: previously, but in this chapter we’ll talk about it in depth. * A *hash map* allows you to associate a value with a specific key. It’s a particular implementation of the more general data structure called a *map*. + To learn about the other kinds of collections provided by the standard library, see the documentation at *https://doc.rust-lang.org/std/collections/index.html*. @@ -50,9 +49,6 @@ let v: Vec = Vec::new(); Creating a new, empty vector to hold values of type `i32` -PROD: Please rename this as Listing 8-1, and rename remaining listings -consecutively: e.g., Listing 8-2, Listing 8-3, etc. - Note that we added a type annotation here. Because we aren’t inserting any values into this vector, Rust doesn’t know what kind of elements we intend to store. This is an important point. Vectors are implemented using generics; @@ -87,25 +83,10 @@ as shown in Listing 8-3. ``` let mut v = Vec::new(); -``` - -``` - -``` -``` v.push(5); -``` - -``` v.push(6); -``` - -``` v.push(7); -``` - -``` v.push(8); ``` @@ -127,41 +108,14 @@ syntax and the `get` method. ``` let v = vec![1, 2, 3, 4, 5]; -``` - -``` - -``` -``` 1 let third: &i32 = &v[2]; -``` - -``` println!("The third element is {third}"); -``` - -``` - -``` -``` 2 let third: Option<&i32> = v.get(2); -``` - -``` match third { -``` - -``` Some(third) => println!("The third element is {third}"), -``` - -``` None => println!("There is no third element."), -``` - -``` } ``` @@ -181,17 +135,8 @@ technique, as shown in Listing 8-5. ``` let v = vec![1, 2, 3, 4, 5]; -``` -``` - -``` - -``` let does_not_exist = &v[100]; -``` - -``` let does_not_exist = v.get(100); ``` @@ -225,81 +170,30 @@ function. ``` let mut v = vec![1, 2, 3, 4, 5]; -``` -``` - -``` - -``` let first = &v[0]; -``` - -``` - -``` -``` v.push(6); -``` - -``` - -``` -``` println!("The first element is: {first}"); ``` Attempting to add an element to a vector while holding a reference to an item - -Unmatched: BodyContinued - ``` -error[E0502]: cannot borrow `v` as mutable because it is also borrowed as -``` +Compiling this code will result in this error: ``` +error[E0502]: cannot borrow `v` as mutable because it is also borrowed as immutable -``` - -``` --> src/main.rs:6:5 -``` - -``` | -``` - -``` 4 | let first = &v[0]; -``` - -``` | - immutable borrow occurs here -``` - -``` 5 | -``` - -``` 6 | v.push(6); -``` - -``` | ^^^^^^^^^ mutable borrow occurs here -``` - -``` 7 | -``` - -``` 8 | println!("The first element is: {first}"); -``` - -``` | ----- immutable borrow later used here ``` @@ -313,7 +207,7 @@ is currently stored. In that case, the reference to the first element would be pointing to deallocated memory. The borrowing rules prevent programs from ending up in that situation. -> NoteFor more on the implementation details of the `Vec` type, see “The +> Note: For more on the implementation details of the `Vec` type, see “The Rustonomicon” at *https://doc.rust-lang.org/nomicon/vec/vec.html*. ### Iterating Over the Values in a Vector @@ -325,17 +219,8 @@ to use a `for` loop to get immutable references to each element in a vector of ``` let v = vec![100, 32, 57]; -``` - -``` for i in &v { -``` - -``` println!("{i}"); -``` - -``` } ``` @@ -348,17 +233,8 @@ will add `50` to each element. ``` let mut v = vec![100, 32, 57]; -``` - -``` for i in &mut v { -``` - -``` *i += 50; -``` - -``` } ``` @@ -393,45 +269,15 @@ holds different types. We’ve demonstrated this in Listing 8-9. ``` enum SpreadsheetCell { -``` - -``` Int(i32), -``` - -``` Float(f64), -``` - -``` Text(String), -``` - -``` } -``` - -``` -``` - -``` let row = vec![ -``` - -``` SpreadsheetCell::Int(3), -``` - -``` SpreadsheetCell::Text(String::from("blue")), -``` - -``` SpreadsheetCell::Float(10.12), -``` - -``` ]; ``` @@ -461,21 +307,9 @@ annotated in Listing 8-10. ``` { -``` - -``` let v = vec![1, 2, 3, 4]; -``` - -``` - -``` -``` // do stuff with v -``` - -``` } // <- v goes out of scope and is freed here ``` @@ -545,35 +379,20 @@ two examples. ``` let data = "initial contents"; -``` - -``` - -``` -``` let s = data.to_string(); -``` - -``` -``` - -``` // the method also works on a literal directly: -``` - -``` let s = "initial contents".to_string(); ``` Using the `to_string` method to create a `String` from a string literal +This code creates a string containing `initial contents`. -Unmatched: BodyContinued - We can also use the function `String::from` to create a `String` from a -string literal. The code in Listing 8-13 is equivalent to the code in Listing -8-12 that uses `to_string`. +We can also use the function `String::from` to create a `String` from a string +literal. The code in Listing 8-13 is equivalent to the code in Listing 8-12 +that uses `to_string`. ``` let s = String::from("initial contents"); @@ -592,53 +411,23 @@ data in them, as shown in Listing 8-14. ``` let hello = String::from("السلام عليكم"); -``` - -``` let hello = String::from("Dobrý den"); -``` - -``` let hello = String::from("Hello"); -``` - -``` let hello = String::from("שָׁלוֹם"); -``` - -``` let hello = String::from("नमस्ते"); -``` - -``` let hello = String::from("こんにちは"); -``` - -``` let hello = String::from("안녕하세요"); -``` - -``` let hello = String::from("你好"); -``` - -``` let hello = String::from("Olá"); -``` - -``` let hello = String::from("Здравствуйте"); -``` - -``` let hello = String::from("Hola"); ``` Storing greetings in different languages in strings +All of these are valid `String` values. -Unmatched: BodyContinued - ### Updating a String +### Updating a String A `String` can grow in size and its contents can change, just like the contents of a `Vec`, if you push more data into it. In addition, you can conveniently @@ -651,9 +440,6 @@ as shown in Listing 8-15. ``` let mut s = String::from("foo"); -``` - -``` s.push_str("bar"); ``` @@ -666,17 +452,8 @@ parameter. For example, in the code in Listing 8-16, we want to be able to use ``` let mut s1 = String::from("foo"); -``` - -``` let s2 = "bar"; -``` - -``` s1.push_str(s2); -``` - -``` println!("s2 is {s2}"); ``` @@ -691,30 +468,21 @@ method. ``` let mut s = String::from("lo"); -``` - -``` s.push('l'); ``` Adding one character to a `String` value using `push` +As a result, `s` will contain `lol`. -Unmatched: BodyContinued - #### Concatenation with the + Operator or the format! Macro +#### Concatenation with the + Operator or the format! Macro Often, you’ll want to combine two existing strings. One way to do so is to use the `+` operator, as shown in Listing 8-18. ``` let s1 = String::from("Hello, "); -``` - -``` let s2 = String::from("world!"); -``` - -``` let s3 = s1 + &s2; // note s1 has been moved here and can no longer be used ``` @@ -738,7 +506,7 @@ bits of the `+` operator. First, `s2` has an `&`, meaning that we’re adding a *reference* of the second string to the first string. This is because of the `s` parameter in the `add` -function: we can only add a `&``str` to a `String`; we can’t add two `String` +function: we can only add a `&str` to a `String`; we can’t add two `String` values together. But wait—the type of `&s2` is `&String`, not `&str`, as specified in the second parameter to `add`. So why does Listing 8-18 compile? @@ -763,21 +531,9 @@ gets unwieldy: ``` let s1 = String::from("tic"); -``` - -``` let s2 = String::from("tac"); -``` - -``` let s3 = String::from("toe"); -``` -``` - -``` - -``` let s = s1 + "-" + &s2 + "-" + &s3; ``` @@ -787,21 +543,9 @@ more complicated ways, we can instead use the `format!` macro: ``` let s1 = String::from("tic"); -``` - -``` let s2 = String::from("tac"); -``` - -``` let s3 = String::from("toe"); -``` - -``` - -``` -``` let s = format!("{s1}-{s2}-{s3}"); ``` @@ -820,45 +564,21 @@ get an error. Consider the invalid code in Listing 8-19. ``` let s1 = String::from("hello"); -``` - -``` let h = s1[0]; ``` Attempting to use indexing syntax with a `String` - -Unmatched: BodyContinued - ``` -error[E0277]: the type `String` cannot be indexed by `{integer}` -``` +This code will result in the following error: ``` +error[E0277]: the type `String` cannot be indexed by `{integer}` --> src/main.rs:3:13 -``` - -``` | -``` - -``` 3 | let h = s1[0]; -``` - -``` | ^^^^^ `String` cannot be indexed by `{integer}` -``` - -``` | -``` - -``` = help: the trait `Index<{integer}>` is not implemented for -``` - -``` `String` ``` @@ -876,8 +596,8 @@ let hello = String::from("Hola"); ``` In this case, `len` will be `4`, which means the vector storing the string -`"``Hola``"` is 4 bytes long. Each of these letters takes one byte when encoded -in UTF-8. The following line, however, may surprise you (note that this string +`"Hola"` is 4 bytes long. Each of these letters takes one byte when encoded in +UTF-8. The following line, however, may surprise you (note that this string begins with the capital Cyrillic letter *Ze*, not the Arabic number 3): ``` @@ -893,9 +613,6 @@ code: ``` let hello = "Здравствуйте"; -``` - -``` let answer = &hello[0]; ``` @@ -923,9 +640,6 @@ stored as a vector of `u8` values that looks like this: ``` [224, 164, 168, 224, 164, 174, 224, 164, 184, 224, 165, 141, 224, -``` - -``` 164, 164, 224, 165, 135] ``` @@ -968,13 +682,7 @@ range to create a string slice containing particular bytes: ``` let hello = "Здравствуйте"; -``` - -``` -``` - -``` let s = &hello[0..4]; ``` @@ -988,9 +696,6 @@ index were accessed in a vector: ``` thread 'main' panicked at 'byte index 1 is not a char boundary; -``` - -``` it is inside 'З' (bytes 0..2) of `Здравствуйте`', src/main.rs:4:14 ``` @@ -1006,23 +711,14 @@ type `char`, and you can iterate over the result to access each element: ``` for c in "Зд".chars() { -``` - -``` println!("{c}"); -``` - -``` } ``` - -Unmatched: BodyContinued - ``` -З -``` +This code will print the following: ``` +З д ``` @@ -1031,31 +727,16 @@ appropriate for your domain: ``` for b in "Зд".bytes() { -``` - -``` println!("{b}"); -``` - -``` } ``` - -Unmatched: BodyContinued - ``` -208 -``` +This code will print the four bytes that make up this string: ``` +208 151 -``` - -``` 208 -``` - -``` 180 ``` @@ -1113,25 +794,10 @@ Yellow team starts with 50. ``` use std::collections::HashMap; -``` - -``` -``` - -``` let mut scores = HashMap::new(); -``` - -``` - -``` -``` scores.insert(String::from("Blue"), 10); -``` - -``` scores.insert(String::from("Yellow"), 50); ``` @@ -1155,37 +821,13 @@ method, as shown in Listing 8-21. ``` use std::collections::HashMap; -``` - -``` -``` - -``` let mut scores = HashMap::new(); -``` - -``` - -``` -``` scores.insert(String::from("Blue"), 10); -``` - -``` scores.insert(String::from("Yellow"), 50); -``` - -``` -``` - -``` let team_name = String::from("Blue"); -``` - -``` let score = scores.get(&team_name).copied().unwrap_or(0); ``` @@ -1203,51 +845,21 @@ do with vectors, using a `for` loop: ``` use std::collections::HashMap; -``` - -``` -``` - -``` let mut scores = HashMap::new(); -``` -``` - -``` - -``` scores.insert(String::from("Blue"), 10); -``` - -``` scores.insert(String::from("Yellow"), 50); -``` - -``` -``` - -``` for (key, value) in &scores { -``` - -``` println!("{key}: {value}"); -``` - -``` } ``` - -Unmatched: BodyContinued - ``` -Yellow: 50 -``` +This code will print each pair in an arbitrary order: ``` +Yellow: 50 Blue: 10 ``` @@ -1259,37 +871,13 @@ the hash map will be the owner of those values, as demonstrated in Listing 8-22. ``` use std::collections::HashMap; -``` - -``` -``` - -``` let field_name = String::from("Favorite color"); -``` - -``` let field_value = String::from("Blue"); -``` -``` - -``` - -``` let mut map = HashMap::new(); -``` - -``` map.insert(field_name, field_value); -``` - -``` // field_name and field_value are invalid at this point, try -``` - -``` // using them and see what compiler error you get! ``` @@ -1327,41 +915,21 @@ team’s key both times. ``` use std::collections::HashMap; -``` -``` - -``` - -``` let mut scores = HashMap::new(); -``` - -``` -``` - -``` scores.insert(String::from("Blue"), 10); -``` - -``` scores.insert(String::from("Blue"), 25); -``` -``` - -``` - -``` println!("{:?}", scores); ``` Replacing a value stored with a particular key +This code will print `{"Blue": 25}`. The original value of `10` has been +overwritten. -Unmatched: BodyContinued - #### Adding a Key and Value Only If a Key Isn’t Present +#### Adding a Key and Value Only If a Key Isn’t Present It’s common to check whether a particular key already exists in the hash map with a value and then to take the following actions: if the key does exist in @@ -1377,37 +945,13 @@ Blue team. Using the `entry` API, the code looks like Listing 8-24. ``` use std::collections::HashMap; -``` - -``` - -``` -``` let mut scores = HashMap::new(); -``` - -``` scores.insert(String::from("Blue"), 10); -``` - -``` -``` - -``` scores.entry(String::from("Yellow")).or_insert(50); -``` - -``` scores.entry(String::from("Blue")).or_insert(50); -``` -``` - -``` - -``` println!("{:?}", scores); ``` @@ -1436,49 +980,16 @@ the value `0`. ``` use std::collections::HashMap; -``` - -``` -``` - -``` let text = "hello world wonderful world"; -``` - -``` - -``` -``` let mut map = HashMap::new(); -``` - -``` -``` - -``` for word in text.split_whitespace() { -``` - -``` let count = map.entry(word).or_insert(0); -``` - -``` *count += 1; -``` - -``` } -``` - -``` -``` - -``` println!("{:?}", map); ``` From 2b9f0dc4d8d551effadc7fd920bfcaa3d0e8e9f3 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 11:53:08 -0400 Subject: [PATCH 0480/1248] Regenerate chapter 9 --- nostarch/chapter09.md | 675 ++---------------------------------------- 1 file changed, 22 insertions(+), 653 deletions(-) diff --git a/nostarch/chapter09.md b/nostarch/chapter09.md index 356c1e7cf8..693081d941 100644 --- a/nostarch/chapter09.md +++ b/nostarch/chapter09.md @@ -1,3 +1,8 @@ + [TOC] @@ -37,43 +42,31 @@ print a failure message, unwind, clean up the stack, and quit. Via an environment variable, you can also have Rust display the call stack when a panic occurs to make it easier to track down the source of the panic. - -Unmatched: BoxType - > ### Unwinding the Stack or Aborting in Response to a Panic - - +> > By default, when a panic occurs the program starts *unwinding*, which means Rust walks back up the stack and cleans up the data from each function it encounters. However, walking back and cleaning up is a lot of work. Rust, therefore, allows you to choose the alternative of immediately *aborting*, which ends the program without cleaning up. - - +> > Memory that the program was using will then need to be cleaned up by the operating system. If in your project you need to make the resultant binary as small as possible, you can switch from unwinding to aborting upon a panic by adding `panic = 'abort'` to the appropriate `[profile]` sections in your *Cargo.toml* file. For example, if you want to abort on panic in release mode, add this: - - -Unmatched: BoxCode - -Unmatched: BoxCode - Let’s try calling `panic!` in a simple program: +> +> ``` +> [profile.release] +> panic = 'abort' +Let’s try calling `panic!` in a simple program: Filename: src/main.rs ``` fn main() { -``` - -``` panic!("crash and burn"); -``` - -``` } ``` @@ -81,13 +74,7 @@ When you run the program, you’ll see something like this: ``` thread 'main' panicked at 'crash and burn', src/main.rs:2:5 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display -``` - -``` a backtrace ``` @@ -113,21 +100,9 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let v = vec![1, 2, 3]; -``` -``` - -``` - -``` v[99]; -``` - -``` } ``` @@ -154,19 +129,13 @@ continue. Let’s try it and see: ``` thread 'main' panicked at 'index out of bounds: the len is 3 but the index is -``` - -``` 99', src/main.rs:4:5 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` This error points at line 4 of our *main.rs* where we attempt to access `index`. -The `note``:` line tells us that we can set the `RUST_BACKTRACE` environment +The `note:` line tells us that we can set the `RUST_BACKTRACE` environment variable to get a backtrace of exactly what happened to cause the error. A *backtrace* is a list of all the functions that have been called to get to this point. Backtraces in Rust work as they do in other languages: the key to @@ -180,113 +149,32 @@ Listing 9-2 shows output similar to what you’ll see. ``` $ RUST_BACKTRACE=1 cargo run -``` - -``` thread 'main' panicked at 'index out of bounds: the len is 3 but the index is -``` - -``` 99', src/main.rs:4:5 -``` - -``` stack backtrace: -``` - -``` 0: rust_begin_unwind -``` - -``` at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std -``` - -``` /src/panicking.rs:584:5 -``` - -``` 1: core::panicking::panic_fmt -``` - -``` at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core -``` - -``` /src/panicking.rs:142:14 -``` - -``` 2: core::panicking::panic_bounds_check -``` - -``` at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core -``` - -``` /src/panicking.rs:84:5 -``` - -``` 3: >::index -``` - -``` at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core -``` - -``` /src/slice/index.rs:242:10 -``` - -``` 4: core::slice::index:: for [T]>::index -``` - -``` at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core -``` - -``` /src/slice/index.rs:18:9 -``` - -``` 5: as core::ops::index::Index>::index -``` - -``` at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc -``` - -``` /src/vec/mod.rs:2591:9 -``` - -``` 6: panic::main -``` - -``` at ./src/main.rs:4:5 -``` - -``` 7: core::ops::function::FnOnce::call_once -``` - -``` at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core -``` - -``` /src/ops/function.rs:248:5 -``` - -``` note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. ``` @@ -326,17 +214,8 @@ Recall from “Handling Potential Failure with Result” on page XX that the ``` enum Result { -``` - -``` Ok(T), -``` - -``` Err(E), -``` - -``` } ``` @@ -356,21 +235,9 @@ Filename: src/main.rs ``` use std::fs::File; -``` - -``` -``` - -``` fn main() { -``` - -``` let greeting_file_result = File::open("hello.txt"); -``` - -``` } ``` @@ -402,49 +269,16 @@ Filename: src/main.rs ``` use std::fs::File; -``` - -``` -``` - -``` fn main() { -``` - -``` let greeting_file_result = File::open("hello.txt"); -``` - -``` -``` - -``` let greeting_file = match greeting_file_result { -``` - -``` Ok(file) => file, -``` - -``` Err(error) => { -``` - -``` panic!("Problem opening the file: {:?}", error); -``` - -``` } -``` - -``` }; -``` - -``` } ``` @@ -467,13 +301,7 @@ code, we’ll see the following output from the `panic!` macro: ``` thread 'main' panicked at 'Problem opening the file: Os { code: -``` - -``` 2, kind: NotFound, message: "No such file or directory" }', -``` - -``` src/main.rs:8:23 ``` @@ -493,109 +321,31 @@ Filename: src/main.rs ``` use std::fs::File; -``` - -``` use std::io::ErrorKind; -``` - -``` - -``` -``` fn main() { -``` - -``` let greeting_file_result = File::open("hello.txt"); -``` - -``` - -``` -``` let greeting_file = match greeting_file_result { -``` - -``` Ok(file) => file, -``` - -``` Err(error) => match error.kind() { -``` - -``` ErrorKind::NotFound => { -``` - -``` match File::create("hello.txt") { -``` - -``` Ok(fc) => fc, -``` - -``` Err(e) => panic!( -``` - -``` "Problem creating the file: {:?}", -``` - -``` e -``` - -``` ), -``` - -``` } -``` - -``` } -``` - -``` other_error => { -``` - -``` panic!( -``` - -``` "Problem opening the file: {:?}", -``` - -``` other_error -``` - -``` ); -``` - -``` } -``` - -``` }, -``` - -``` }; -``` - -``` } ``` @@ -630,61 +380,19 @@ For example, here’s another way to write the same logic as shown in Listing ``` // src/main.rs -``` - -``` use std::fs::File; -``` - -``` use std::io::ErrorKind; -``` - -``` - -``` -``` fn main() { -``` - -``` let greeting_file = File::open("hello.txt").unwrap_or_else(|error| { -``` - -``` if error.kind() == ErrorKind::NotFound { -``` - -``` File::create("hello.txt").unwrap_or_else(|error| { -``` - -``` panic!("Problem creating the file: {:?}", error); -``` - -``` }) -``` - -``` } else { -``` - -``` panic!("Problem opening the file: {:?}", error); -``` - -``` } -``` - -``` }); -``` - -``` } ``` @@ -708,21 +416,9 @@ Filename: src/main.rs ``` use std::fs::File; -``` - -``` -``` - -``` fn main() { -``` - -``` let greeting_file = File::open("hello.txt").unwrap(); -``` - -``` } ``` @@ -731,13 +427,7 @@ the `panic!` call that the `unwrap` method makes: ``` thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { -``` - -``` code: 2, kind: NotFound, message: "No such file or directory" }', -``` - -``` src/main.rs:4:49 ``` @@ -750,25 +440,10 @@ Filename: src/main.rs ``` use std::fs::File; -``` -``` - -``` - -``` fn main() { -``` - -``` let greeting_file = File::open("hello.txt") -``` - -``` .expect("hello.txt should be included in this project"); -``` - -``` } ``` @@ -779,13 +454,7 @@ will be the parameter that we pass to `expect`, rather than the default ``` thread 'main' panicked at 'hello.txt should be included in this project: Os { -``` - -``` code: 2, kind: NotFound, message: "No such file or directory" }', -``` - -``` src/main.rs:5:10 ``` @@ -811,73 +480,22 @@ Filename: src/main.rs ``` use std::fs::File; -``` - -``` use std::io::{self, Read}; -``` - -``` - -``` -``` 1 fn read_username_from_file() -> Result { -``` - -``` 2 let username_file_result = File::open("hello.txt"); -``` - -``` -``` - -``` 3 let mut username_file = match username_file_result { -``` - -``` 4 Ok(file) => file, -``` - -``` 5 Err(e) => return Err(e), -``` - -``` }; -``` - -``` -``` - -``` 6 let mut username = String::new(); -``` - -``` -``` - -``` 7 match username_file.read_to_string(&mut username) { -``` - -``` 8 Ok(_) => Ok(username), -``` - -``` 9 Err(e) => Err(e), -``` - -``` } -``` - -``` } ``` @@ -940,41 +558,17 @@ Listing 9-7 shows an implementation of `read_username_from_file` that has the same functionality as in Listing 9-6, but this implementation uses the `?` operator. -Filename: src/main.rs - -``` -use std::fs::File; -``` - -``` -use std::io::{self, Read}; -``` - -``` +Filename: src/main.rs ``` +use std::fs::File; +use std::io::{self, Read}; -``` fn read_username_from_file() -> Result { -``` - -``` let mut username_file = File::open("hello.txt")?; -``` - -``` let mut username = String::new(); -``` - -``` username_file.read_to_string(&mut username)?; -``` - -``` Ok(username) -``` - -``` } ``` @@ -1019,41 +613,14 @@ Filename: src/main.rs ``` use std::fs::File; -``` - -``` use std::io::{self, Read}; -``` -``` - -``` - -``` fn read_username_from_file() -> Result { -``` - -``` let mut username = String::new(); -``` - -``` - -``` -``` File::open("hello.txt")?.read_to_string(&mut username)?; -``` - -``` - -``` -``` Ok(username) -``` - -``` } ``` @@ -1074,25 +641,10 @@ Filename: src/main.rs ``` use std::fs; -``` - -``` use std::io; -``` - -``` - -``` -``` fn read_username_from_file() -> Result { -``` - -``` fs::read_to_string("hello.txt") -``` - -``` } ``` @@ -1123,21 +675,9 @@ Filename: src/main.rs ``` use std::fs::File; -``` - -``` - -``` -``` fn main() { -``` - -``` let greeting_file = File::open("hello.txt")?; -``` - -``` } ``` @@ -1151,53 +691,17 @@ message: ``` error[E0277]: the `?` operator can only be used in a function that returns -``` - -``` `Result` or `Option` (or another type that implements `FromResidual`) -``` - -``` --> src/main.rs:4:48 -``` - -``` | -``` - -``` 3 | / fn main() { -``` - -``` 4 | | let greeting_file = File::open("hello.txt")?; -``` - -``` | | ^ cannot use the `?` -``` - -``` operator in a function that returns `()` -``` - -``` 5 | | } -``` - -``` | |_- this function should return `Result` or `Option` to accept `?` -``` - -``` | -``` - -``` = help: the trait `FromResidual>` is not -``` - -``` implemented for `()` ``` @@ -1223,13 +727,7 @@ given text. ``` fn last_char_of_first_line(text: &str) -> Option { -``` - -``` text.lines().next()?.chars().last() -``` - -``` } ``` @@ -1273,35 +771,16 @@ from Listing 9-10, but we’ve changed the return type of `main` to be `Result<(), Box>` and added a return value `Ok(())` to the end. This code will now compile. -``` -use std::error::Error; -``` +Filename: src/main.rs ``` +use std::error::Error; use std::fs::File; -``` - -``` -``` - -``` fn main() -> Result<(), Box> { -``` - -``` let greeting_file = File::open("hello.txt")?; -``` - -``` - -``` -``` Ok(()) -``` - -``` } ``` @@ -1384,21 +863,9 @@ that you’ll never have an `Err` variant, it’s perfectly acceptable to call ``` use std::net::IpAddr; -``` - -``` - -``` -``` let home: IpAddr = "127.0.0.1" -``` - -``` .parse() -``` - -``` .expect("Hardcoded IP address should be valid"); ``` @@ -1489,67 +956,24 @@ One way to do this would be to parse the guess as an `i32` instead of only a `u32` to allow potentially negative numbers, and then add a check for the number being in range, like so: -``` -loop { -``` +Filename: src/main.rs ``` +loop { --snip-- -``` - -``` - -``` -``` let guess: i32 = match guess.trim().parse() { -``` - -``` Ok(num) => num, -``` - -``` Err(_) => continue, -``` - -``` }; -``` - -``` - -``` -``` if guess < 1 || guess > 100 { -``` - -``` println!("The secret number will be between 1 and 100."); -``` - -``` continue; -``` - -``` } -``` - -``` - -``` -``` match guess.cmp(&secret_number) { -``` - -``` --snip-- -``` - -``` } ``` @@ -1571,83 +995,28 @@ confidently use the values they receive. Listing 9-13 shows one way to define a `Guess` type that will only create an instance of `Guess` if the `new` function receives a value between 1 and 100. -``` -1 pub struct Guess { -``` +Filename: src/lib.rs ``` +1 pub struct Guess { value: i32, -``` - -``` } -``` - -``` -``` - -``` impl Guess { -``` - -``` 2 pub fn new(value: i32) -> Guess { -``` - -``` 3 if value < 1 || value > 100 { -``` - -``` 4 panic!( -``` - -``` "Guess value must be between 1 and 100, got {}.", -``` - -``` value -``` - -``` ); -``` - -``` } -``` - -``` - -``` -``` 5 Guess { value } -``` - -``` } -``` - -``` -``` - -``` 6 pub fn value(&self) -> i32 { -``` - -``` self.value -``` - -``` } -``` - -``` } ``` From 6e4c1fdd00e1061ac1e24e41b0176a39b45320a1 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 11:54:25 -0400 Subject: [PATCH 0481/1248] Handle ending of BoxCode better --- nostarch/chapter09.md | 2 ++ tools/docx-to-md.xsl | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/nostarch/chapter09.md b/nostarch/chapter09.md index 693081d941..497aff5edd 100644 --- a/nostarch/chapter09.md +++ b/nostarch/chapter09.md @@ -60,6 +60,8 @@ add this: > ``` > [profile.release] > panic = 'abort' +> ``` + Let’s try calling `panic!` in a simple program: Filename: src/main.rs diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index a67a4047ce..e48edd8349 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -199,7 +199,7 @@ > ``` > - + > ``` From ef3535544aa49d72ffb203c5e7b048f5950fb8a5 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 12:03:27 -0400 Subject: [PATCH 0482/1248] Fix ListBullet0 --- nostarch/chapter09.md | 20 +++++++++++--------- tools/docx-to-md.xsl | 4 ++-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/nostarch/chapter09.md b/nostarch/chapter09.md index 497aff5edd..37ad79dcfe 100644 --- a/nostarch/chapter09.md +++ b/nostarch/chapter09.md @@ -892,15 +892,17 @@ guarantee, contract, or invariant has been broken, such as when invalid values, contradictory values, or missing values are passed to your code—plus one or more of the following: - -Unmatched: ListBullet0 - -Unmatched: ListBullet0 - -Unmatched: ListBullet0 - If someone calls your code and passes in values that don’t make sense, -it’s best to return an error if you can so the user of the library can decide -what they want to do in that case. However, in cases where continuing could be +* The bad state is something that is unexpected, as opposed to something that +will likely happen occasionally, like a user entering data in the wrong format. +* Your code after this point needs to rely on not being in this bad state, +rather than checking for the problem at every step. +* There’s not a good way to encode this information in the types you use. We’ll +work through an example of what we mean in “Encoding States and Behavior as +Types” on page XX. + +If someone calls your code and passes in values that don’t make sense, it’s +best to return an error if you can so the user of the library can decide what +they want to do in that case. However, in cases where continuing could be insecure or harmful, the best choice might be to call `panic!` and alert the person using your library to the bug in their code so they can fix it during development. Similarly, `panic!` is often appropriate if you’re calling diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index e48edd8349..d73e7d45cc 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -89,11 +89,11 @@ - + * - + From a2d6893c6ce9237d4ee9355fd82a7a129ba40784 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 12:04:18 -0400 Subject: [PATCH 0483/1248] Regenerate chapter 10 --- nostarch/chapter10.md | 1597 +---------------------------------------- 1 file changed, 36 insertions(+), 1561 deletions(-) diff --git a/nostarch/chapter10.md b/nostarch/chapter10.md index 3f7e783786..73c1e48d18 100644 --- a/nostarch/chapter10.md +++ b/nostarch/chapter10.md @@ -54,53 +54,17 @@ Filename: src/main.rs ``` fn main() { -``` - -``` 1 let number_list = vec![34, 50, 25, 100, 65]; -``` -``` - -``` - -``` 2 let mut largest = &number_list[0]; -``` - -``` - -``` -``` 3 for number in &number_list { -``` - -``` 4 if number > largest { -``` - -``` 5 largest = number; -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` println!("The largest number is {largest}"); -``` - -``` } ``` @@ -123,101 +87,29 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let number_list = vec![34, 50, 25, 100, 65]; -``` - -``` - -``` -``` let mut largest = &number_list[0]; -``` - -``` -``` - -``` for number in &number_list { -``` - -``` if number > largest { -``` - -``` largest = number; -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` println!("The largest number is {largest}"); -``` - -``` - -``` -``` let number_list = vec![102, 34, 6000, 89, 54, 2, 43, 8]; -``` - -``` -``` - -``` let mut largest = &number_list[0]; -``` - -``` - -``` -``` for number in &number_list { -``` - -``` if number > largest { -``` - -``` largest = number; -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` println!("The largest number is {largest}"); -``` - -``` } ``` @@ -241,93 +133,27 @@ Filename: src/main.rs ``` fn largest(list: &[i32]) -> &i32 { -``` - -``` let mut largest = &list[0]; -``` -``` - -``` - -``` for item in list { -``` - -``` if item > largest { -``` - -``` largest = item; -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` largest -``` - -``` } -``` -``` - -``` - -``` fn main() { -``` - -``` let number_list = vec![34, 50, 25, 100, 65]; -``` -``` - -``` - -``` let result = largest(&number_list); -``` - -``` println!("The largest number is {result}"); -``` -``` - -``` - -``` let number_list = vec![102, 34, 6000, 89, 54, 2, 43, 8]; -``` -``` - -``` - -``` let result = largest(&number_list); -``` - -``` println!("The largest number is {result}"); -``` - -``` } ``` @@ -374,141 +200,39 @@ Filename: src/main.rs ``` fn largest_i32(list: &[i32]) -> &i32 { -``` - -``` let mut largest = &list[0]; -``` - -``` -``` - -``` for item in list { -``` - -``` if item > largest { -``` - -``` largest = item; -``` - -``` } -``` - -``` } -``` - -``` -``` - -``` largest -``` - -``` } -``` -``` - -``` - -``` fn largest_char(list: &[char]) -> &char { -``` - -``` let mut largest = &list[0]; -``` -``` - -``` - -``` for item in list { -``` - -``` if item > largest { -``` - -``` largest = item; -``` - -``` } -``` - -``` } -``` -``` - -``` - -``` largest -``` - -``` } -``` - -``` - -``` -``` fn main() { -``` - -``` let number_list = vec![34, 50, 25, 100, 65]; -``` - -``` - -``` -``` let result = largest_i32(&number_list); -``` - -``` println!("The largest number is {result}"); -``` -``` - -``` - -``` - let char_list = vec!['y', 'm', 'a', 'q']; -``` - -``` - -``` - -``` - let result = largest_char(&char_list); -``` + let char_list = vec!['y', 'm', 'a', 'q']; -``` + let result = largest_char(&char_list); println!("The largest char is {result}"); -``` - -``` } ``` @@ -552,93 +276,27 @@ Filename: src/main.rs ``` fn largest(list: &[T]) -> &T { -``` - -``` let mut largest = &list[0]; -``` - -``` -``` - -``` for item in list { -``` - -``` if item > largest { -``` - -``` largest = item; -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` largest -``` - -``` } -``` - -``` - -``` -``` fn main() { -``` - -``` let number_list = vec![34, 50, 25, 100, 65]; -``` - -``` -``` - -``` let result = largest(&number_list); -``` - -``` println!("The largest number is {result}"); -``` - -``` - -``` -``` let char_list = vec!['y', 'm', 'a', 'q']; -``` - -``` - -``` -``` let result = largest(&char_list); -``` - -``` println!("The largest char is {result}"); -``` - -``` } ``` @@ -648,49 +306,16 @@ If we compile this code right now, we’ll get this error: ``` error[E0369]: binary operation `>` cannot be applied to type `&T` -``` - -``` --> src/main.rs:5:17 -``` - -``` | -``` - -``` 5 | if item > largest { -``` - -``` | ---- ^ ------- &T -``` - -``` | | -``` - -``` | &T -``` - -``` | -``` - -``` help: consider restricting type parameter `T` -``` - -``` | -``` - -``` 1 | fn largest(list: &[T]) -> &T { -``` - -``` | ++++++++++++++++++++++ ``` @@ -715,37 +340,13 @@ Filename: src/main.rs ``` 1 struct Point { -``` - -``` 2 x: T, -``` - -``` 3 y: T, -``` - -``` } -``` - -``` - -``` -``` fn main() { -``` - -``` let integer = Point { x: 5, y: 10 }; -``` - -``` let float = Point { x: 1.0, y: 4.0 }; -``` - -``` } ``` @@ -767,33 +368,12 @@ Filename: src/main.rs ``` struct Point { -``` - -``` x: T, -``` - -``` y: T, -``` - -``` } -``` - -``` - -``` -``` fn main() { -``` - -``` let wont_work = Point { x: 5, y: 4.0 }; -``` - -``` } ``` @@ -807,25 +387,10 @@ same type as `x`, we’ll get a type mismatch error like this: ``` error[E0308]: mismatched types -``` - -``` --> src/main.rs:7:38 -``` - -``` | -``` - -``` 7 | let wont_work = Point { x: 5, y: 4.0 }; -``` - -``` | ^^^ expected integer, found floating- -``` - -``` point number ``` @@ -838,41 +403,14 @@ Filename: src/main.rs ``` struct Point { -``` - -``` x: T, -``` - -``` y: U, -``` - -``` } -``` - -``` - -``` -``` fn main() { -``` - -``` let both_integer = Point { x: 5, y: 10 }; -``` - -``` let both_float = Point { x: 1.0, y: 4.0 }; -``` - -``` let integer_and_float = Point { x: 5, y: 4.0 }; -``` - -``` } ``` @@ -893,17 +431,8 @@ library provides, which we used in Chapter 6: ``` enum Option { -``` - -``` Some(T), -``` - -``` None, -``` - -``` } ``` @@ -919,17 +448,8 @@ enum that we used in Chapter 9 is one example: ``` enum Result { -``` - -``` Ok(T), -``` - -``` Err(E), -``` - -``` } ``` @@ -956,65 +476,20 @@ Filename: src/main.rs ``` struct Point { -``` - -``` x: T, -``` - -``` y: T, -``` - -``` } -``` - -``` - -``` -``` impl Point { -``` - -``` fn x(&self) -> &T { -``` - -``` &self.x -``` - -``` } -``` - -``` } -``` - -``` -``` - -``` fn main() { -``` - -``` - let p = Point { x: 5, y: 10 }; -``` - -``` - -``` - -``` - println!("p.x = {}", p.x()); -``` + let p = Point { x: 5, y: 10 }; -``` + println!("p.x = {}", p.x()); } ``` @@ -1043,21 +518,9 @@ Filename: src/main.rs ``` impl Point { -``` - -``` fn distance_from_origin(&self) -> f32 { -``` - -``` (self.x.powi(2) + self.y.powi(2)).sqrt() -``` - -``` } -``` - -``` } ``` @@ -1081,89 +544,29 @@ Filename: src/main.rs ``` struct Point { -``` - -``` x: X1, -``` - -``` y: Y1, -``` - -``` } -``` - -``` - -``` -``` 1 impl Point { -``` - -``` - 2 fn mixup(self, other: Point) -> Point { -``` - -``` + 2 fn mixup( + self, + other: Point, + ) -> Point { Point { -``` - -``` x: self.x, -``` - -``` y: other.y, -``` - -``` } -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` fn main() { -``` - -``` 3 let p1 = Point { x: 5, y: 10.4 }; -``` - -``` 4 let p2 = Point { x: "Hello", y: 'c' }; -``` -``` - -``` - -``` 5 let p3 = p1.mixup(p2); -``` - -``` -``` - -``` 6 println!("p3.x = {}, p3.y = {}", p3.x, p3.y); -``` - -``` } ``` @@ -1203,9 +606,6 @@ Let’s look at how this works by using the standard library’s generic ``` let integer = Some(5); -``` - -``` let float = Some(5.0); ``` @@ -1223,57 +623,18 @@ Filename: src/main.rs ``` enum Option_i32 { -``` - -``` Some(i32), -``` - -``` None, -``` - -``` } -``` - -``` - -``` -``` enum Option_f64 { -``` - -``` Some(f64), -``` - -``` None, -``` - -``` } -``` - -``` -``` - -``` fn main() { -``` - -``` let integer = Option_i32::Some(5); -``` - -``` let float = Option_f64::Some(5.0); -``` - -``` } ``` @@ -1291,7 +652,7 @@ other types. We can use traits to define shared behavior in an abstract way. We can use *trait bounds* to specify that a generic type can be any type that has certain behavior. -> NoteTraits are similar to a feature often called *interfaces* in other +> Note: Traits are similar to a feature often called *interfaces* in other languages, although with some differences. ### Defining a Trait @@ -1317,13 +678,7 @@ Filename: src/lib.rs ``` pub trait Summary { -``` - -``` fn summarize(&self) -> String; -``` - -``` } ``` @@ -1334,7 +689,7 @@ which is `Summary` in this case. We also declare the trait as `pub` so that crates depending on this crate can make use of this trait too, as we’ll see in a few examples. Inside the curly brackets, we declare the method signatures that describe the behaviors of the types that implement this trait, which in -this case is `fn` `summarize(&self) -> String`. +this case is `fn summarize(&self) -> String`. After the method signature, instead of providing an implementation within curly brackets, we use a semicolon. Each type implementing this trait must provide @@ -1359,121 +714,34 @@ Filename: src/lib.rs ``` pub struct NewsArticle { -``` - -``` pub headline: String, -``` - -``` pub location: String, -``` - -``` pub author: String, -``` - -``` pub content: String, -``` - -``` } -``` - -``` -``` - -``` impl Summary for NewsArticle { -``` - -``` fn summarize(&self) -> String { -``` - -``` format!( -``` - -``` "{}, by {} ({})", -``` - -``` self.headline, -``` - -``` self.author, -``` - -``` self.location -``` - -``` ) -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` pub struct Tweet { -``` - -``` pub username: String, -``` - -``` pub content: String, -``` - -``` pub reply: bool, -``` - -``` pub retweet: bool, -``` - -``` } -``` - -``` - -``` -``` impl Summary for Tweet { -``` - -``` fn summarize(&self) -> String { -``` - -``` format!("{}: {}", self.username, self.content) -``` - -``` } -``` - -``` } ``` @@ -1496,57 +764,18 @@ library crate: ``` use aggregator::{Summary, Tweet}; -``` - -``` -``` - -``` fn main() { -``` - -``` let tweet = Tweet { -``` - -``` username: String::from("horse_ebooks"), -``` - -``` content: String::from( -``` - -``` "of course, as you probably already know, people", -``` - -``` ), -``` - -``` reply: false, -``` - -``` retweet: false, -``` - -``` }; -``` - -``` - -``` -``` println!("1 new tweet: {}", tweet.summarize()); -``` - -``` } ``` @@ -1555,8 +784,8 @@ know, people`. Other crates that depend on the `aggregator` crate can also bring the `Summary` trait into scope to implement `Summary` on their own types. One restriction to -note is that we can implement a trait on a type only if at least one of the -trait or the type is local to our crate. For example, we can implement standard +note is that we can implement a trait on a type only if either the trait or the +type, or both, are local to our crate. For example, we can implement standard library traits like `Display` on a custom type like `Tweet` as part of our `aggregator` crate functionality because the type `Tweet` is local to our `aggregator` crate. We can also implement `Summary` on `Vec` in our @@ -1587,22 +816,10 @@ Listing 10-12. Filename: src/lib.rs ``` -pub trait Summary { -``` - -``` +pub trait Summary { fn summarize(&self) -> String { -``` - -``` String::from("(Read more...)") -``` - -``` } -``` - -``` } ``` @@ -1619,63 +836,26 @@ the `summarize` method on an instance of `NewsArticle`, like this: ``` let article = NewsArticle { -``` - -``` headline: String::from( -``` - -``` "Penguins win the Stanley Cup Championship!" -``` - -``` ), -``` - -``` location: String::from("Pittsburgh, PA, USA"), -``` - -``` author: String::from("Iceburgh"), -``` - -``` content: String::from( -``` - -``` "The Pittsburgh Penguins once again are the best \ -``` - -``` hockey team in the NHL.", -``` - -``` ), -``` - -``` }; -``` - -``` - -``` -``` println!("New article available! {}", article.summarize()); ``` +This code prints `New article available! (Read more...)`. -Unmatched: BodyContinued - Creating a default implementation doesn’t require us to change anything -about the implementation of `Summary` on `Tweet` in Listing 10-13. The reason -is that the syntax for overriding a default implementation is the same as the -syntax for implementing a trait method that doesn’t have a default -implementation. +Creating a default implementation doesn’t require us to change anything about +the implementation of `Summary` on `Tweet` in Listing 10-13. The reason is that +the syntax for overriding a default implementation is the same as the syntax +for implementing a trait method that doesn’t have a default implementation. Default implementations can call other methods in the same trait, even if those other methods don’t have a default implementation. In this way, a trait can @@ -1687,41 +867,14 @@ a small part of it. For example, we could define the `Summary` trait to have a ``` pub trait Summary { -``` - -``` fn summarize_author(&self) -> String; -``` - -``` -``` - -``` fn summarize(&self) -> String { -``` - -``` format!( -``` - -``` "(Read more from {}...)", -``` - -``` self.summarize_author() -``` - -``` ) -``` - -``` } -``` - -``` } ``` @@ -1730,21 +883,9 @@ when we implement the trait on a type: ``` impl Summary for Tweet { -``` - -``` fn summarize_author(&self) -> String { -``` - -``` format!("@{}", self.username) -``` - -``` } -``` - -``` } ``` @@ -1757,41 +898,14 @@ that looks like: ``` let tweet = Tweet { -``` - -``` username: String::from("horse_ebooks"), -``` - -``` content: String::from( -``` - -``` "of course, as you probably already know, people", -``` - -``` ), -``` - -``` reply: false, -``` - -``` retweet: false, -``` - -``` }; -``` - -``` - -``` -``` println!("1 new tweet: {}", tweet.summarize()); ``` @@ -1811,13 +925,7 @@ trait. To do this, we use the `impl Trait` syntax, like this: ``` pub fn notify(item: &impl Summary) { -``` - -``` println!("Breaking news! {}", item.summarize()); -``` - -``` } ``` @@ -1836,13 +944,7 @@ sugar for a longer form known as a *trait bound*; it looks like this: ``` pub fn notify(item: &T) { -``` - -``` println!("Breaking news! {}", item.summarize()); -``` - -``` } ``` @@ -1905,25 +1007,13 @@ signature. So, instead of writing this: fn some_function(t: &T, u: &U) -> i32 { ``` - -Unmatched: BodyContinued - ``` -fn some_function(t: &T, u: &U) -> i32 -``` +we can use a `where` clause, like this: ``` +fn some_function(t: &T, u: &U) -> i32 where -``` - -``` T: Display + Clone, -``` - -``` U: Clone + Debug, -``` - -``` { ``` @@ -1938,41 +1028,14 @@ value of some type that implements a trait, as shown here: ``` fn returns_summarizable() -> impl Summary { -``` - -``` Tweet { -``` - -``` username: String::from("horse_ebooks"), -``` - -``` content: String::from( -``` - -``` "of course, as you probably already know, people", -``` - -``` ), -``` - -``` reply: false, -``` - -``` retweet: false, -``` - -``` } -``` - -``` } ``` @@ -1994,97 +1057,28 @@ return type specified as `impl Summary` wouldn’t work: ``` fn returns_summarizable(switch: bool) -> impl Summary { -``` - -``` if switch { -``` - -``` NewsArticle { -``` - -``` headline: String::from( -``` - -``` "Penguins win the Stanley Cup Championship!", -``` - -``` ), -``` - -``` location: String::from("Pittsburgh, PA, USA"), -``` - -``` author: String::from("Iceburgh"), -``` - -``` content: String::from( -``` - -``` "The Pittsburgh Penguins once again are the best \ -``` - -``` hockey team in the NHL.", -``` - -``` ), -``` - -``` } -``` - -``` } else { -``` - -``` Tweet { -``` - -``` username: String::from("horse_ebooks"), -``` - -``` content: String::from( -``` - -``` "of course, as you probably already know, people", -``` - -``` ), -``` - -``` reply: false, -``` - -``` retweet: false, -``` - -``` } -``` - -``` } -``` - -``` } ``` @@ -2103,95 +1097,32 @@ Methods” on page XX that `Self` is a type alias for the type of the `impl` block, which in this case is `Pair`). But in the next `impl` block, `Pair` only implements the `cmp_display` method if its inner type `T` implements the `PartialOrd` trait that enables comparison *and* the `Display` -trait that enables printing. - -Filename: src/lib.rs - -``` -use std::fmt::Display; -``` - -``` - -``` - -``` -struct Pair { -``` - -``` - x: T, -``` - -``` - y: T, -``` +trait that enables printing. -``` -} -``` +Filename: src/lib.rs ``` +use std::fmt::Display; -``` +struct Pair { + x: T, + y: T, +} -``` impl Pair { -``` - -``` fn new(x: T, y: T) -> Self { -``` - -``` Self { x, y } -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` impl Pair { -``` - -``` fn cmp_display(&self) { -``` - -``` if self.x >= self.y { -``` - -``` println!("The largest member is x = {}", self.x); -``` - -``` } else { -``` - -``` println!("The largest member is y = {}", self.y); -``` - -``` } -``` - -``` } -``` - -``` } ``` @@ -2206,13 +1137,7 @@ block in the standard library looks similar to this code: ``` impl ToString for T { -``` - -``` --snip-- -``` - -``` } ``` @@ -2269,52 +1194,25 @@ scope. ``` fn main() { -``` - -``` 1 let r; -``` -``` - -``` - -``` { -``` - -``` 2 let x = 5; -``` - -``` 3 r = &x; -``` - -``` 4 } -``` - -``` - -``` -``` 5 println!("r: {r}"); -``` - -``` } ``` An attempt to use a reference whose value has gone out of scope -> NoteThe examples in Listing 10-16, 10-17, and 10-23 declare variables without -giving them an initial value, so the variable name exists in the outer scope. -At first glance, this might appear to be in conflict with Rust’s having no null -values. However, if we try to use a variable before giving it a value, we’ll -get a compile-time error, which shows that Rust indeed does not allow null -values. +> Note: The examples in Listing 10-16, 10-17, and 10-23 declare variables +without giving them an initial value, so the variable name exists in the outer +scope. At first glance, this might appear to be in conflict with Rust’s having +no null values. However, if we try to use a variable before giving it a value, +we’ll get a compile-time error, which shows that Rust indeed does not allow +null values. The outer scope declares a variable named `r` with no initial value [1], and the inner scope declares a variable named `x` with the initial value of `5` @@ -2325,41 +1223,14 @@ gone out of scope before we try to use it. Here is the error message: ``` error[E0597]: `x` does not live long enough -``` - -``` --> src/main.rs:6:13 -``` - -``` | -``` - -``` 6 | r = &x; -``` - -``` | ^^ borrowed value does not live long enough -``` - -``` 7 | } -``` - -``` | - `x` dropped here while still borrowed -``` - -``` 8 | -``` - -``` 9 | println!("r: {r}"); -``` - -``` | - borrow later used here ``` @@ -2379,41 +1250,14 @@ whether all borrows are valid. Listing 10-17 shows the same code as Listing ``` fn main() { -``` - -``` let r; // ---------+-- 'a -``` - -``` // | -``` - -``` { // | -``` - -``` let x = 5; // -+-- 'b | -``` - -``` r = &x; // | | -``` - -``` } // -+ | -``` - -``` // | -``` - -``` println!("r: {r}"); // | -``` - -``` } // ---------+ ``` @@ -2431,33 +1275,12 @@ compiles without any errors. ``` fn main() { -``` - -``` let x = 5; // ----------+-- 'b -``` - -``` // | -``` - -``` let r = &x; // --+-- 'a | -``` - -``` // | | -``` - -``` println!("r: {r}"); // | | -``` - -``` // --+ | -``` - -``` } // ----------+ ``` @@ -2482,29 +1305,11 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let string1 = String::from("abcd"); -``` - -``` let string2 = "xyz"; -``` - -``` - -``` -``` let result = longest(string1.as_str(), string2); -``` - -``` println!("The longest string is {result}"); -``` - -``` } ``` @@ -2524,29 +1329,11 @@ Filename: src/main.rs ``` fn longest(x: &str, y: &str) -> &str { -``` - -``` if x.len() > y.len() { -``` - -``` x -``` - -``` } else { -``` - -``` y -``` - -``` } -``` - -``` } ``` @@ -2557,49 +1344,16 @@ Instead, we get the following error that talks about lifetimes: ``` error[E0106]: missing lifetime specifier -``` - -``` --> src/main.rs:9:33 -``` - -``` | -``` - -``` 9 | fn longest(x: &str, y: &str) -> &str { -``` - -``` | ---- ---- ^ expected named lifetime parameter -``` - -``` | -``` - -``` = help: this function's return type contains a borrowed value, -``` - -``` but the signature does not say whether it is borrowed from `x` or `y` -``` - -``` help: consider introducing a named lifetime parameter -``` - -``` | -``` - -``` 9 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { -``` - -``` | ++++ ++ ++ ++ ``` @@ -2640,13 +1394,7 @@ reference to an `i32` that also has the lifetime `'a`. ``` &i32 // a reference -``` - -``` &'a i32 // a reference with an explicit lifetime -``` - -``` &'a mut i32 // a mutable reference with an explicit lifetime ``` @@ -2671,29 +1419,11 @@ Filename: src/main.rs ``` fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { -``` - -``` if x.len() > y.len() { -``` - -``` x -``` - -``` } else { -``` - -``` y -``` - -``` - } -``` - -``` + } } ``` @@ -2746,37 +1476,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let string1 = String::from("long string is long"); -``` - -``` - -``` -``` { -``` - -``` let string2 = String::from("xyz"); -``` - -``` let result = longest(string1.as_str(), string2.as_str()); -``` - -``` println!("The longest string is {result}"); -``` - -``` } -``` - -``` } ``` @@ -2801,37 +1507,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let string1 = String::from("long string is long"); -``` - -``` let result; -``` - -``` { -``` - -``` let string2 = String::from("xyz"); -``` - -``` result = longest(string1.as_str(), string2.as_str()); -``` - -``` } -``` - -``` println!("The longest string is {result}"); -``` - -``` } ``` @@ -2841,41 +1523,14 @@ When we try to compile this code, we get this error: ``` error[E0597]: `string2` does not live long enough -``` - -``` --> src/main.rs:6:44 -``` - -``` | -``` - -``` 6 | result = longest(string1.as_str(), string2.as_str()); -``` - -``` | ^^^^^^^^^^^^^^^^ borrowed value -``` - -``` does not live long enough -``` - -``` 7 | } -``` - -``` | - `string2` dropped here while still borrowed -``` - -``` 8 | println!("The longest string is {result}"); -``` - -``` | ------ borrow later used here ``` @@ -2910,13 +1565,7 @@ Filename: src/main.rs ``` fn longest<'a>(x: &'a str, y: &str) -> &'a str { -``` - -``` x -``` - -``` } ``` @@ -2936,17 +1585,8 @@ Filename: src/main.rs ``` fn longest<'a>(x: &str, y: &str) -> &'a str { -``` - -``` let result = String::from("really long string"); -``` - -``` result.as_str() -``` - -``` } ``` @@ -2957,25 +1597,10 @@ error message we get: ``` error[E0515]: cannot return reference to local variable `result` -``` - -``` --> src/main.rs:11:5 -``` - -``` | -``` - -``` 11 | result.as_str() -``` - -``` | ^^^^^^^^^^^^^^^ returns a reference to data owned by the -``` - -``` current function ``` @@ -3003,65 +1628,20 @@ Filename: src/main.rs ``` 1 struct ImportantExcerpt<'a> { -``` - -``` 2 part: &'a str, -``` - -``` } -``` - -``` - -``` -``` fn main() { -``` - -``` 3 let novel = String::from( -``` - -``` "Call me Ishmael. Some years ago..." -``` - -``` ); -``` - -``` 4 let first_sentence = novel -``` - -``` .split('.') -``` - -``` .next() -``` - -``` .expect("Could not find a '.'"); -``` - -``` 5 let i = ImportantExcerpt { -``` - -``` part: first_sentence, -``` - -``` }; -``` - -``` } ``` @@ -3092,45 +1672,15 @@ Filename: src/lib.rs ``` fn first_word(s: &str) -> &str { -``` - -``` let bytes = s.as_bytes(); -``` - -``` - -``` -``` for (i, &item) in bytes.iter().enumerate() { -``` - -``` if item == b' ' { -``` - -``` return &s[0..i]; -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` &s[..] -``` - -``` } ``` @@ -3168,8 +1718,8 @@ references have, the compiler won’t guess what the lifetime of the remaining references should be. Instead of guessing, the compiler will give you an error that you can resolve by adding the lifetime annotations. -Lifetimes on function or method parameters are called *input lifetimes* , and -lifetimes on return values are called *output lifetimes* . +Lifetimes on function or method parameters are called *input lifetimes*, and +lifetimes on return values are called *output lifetimes*. The compiler uses three rules to figure out the lifetimes of the references when there aren’t explicit annotations. The first rule applies to input @@ -3270,21 +1820,9 @@ First we’ll use a method named `level` whose only parameter is a reference to ``` impl<'a> ImportantExcerpt<'a> { -``` - -``` fn level(&self) -> i32 { -``` - -``` 3 -``` - -``` } -``` - -``` } ``` @@ -3296,25 +1834,10 @@ Here is an example where the third lifetime elision rule applies: ``` impl<'a> ImportantExcerpt<'a> { -``` - -``` fn announce_and_return_part(&self, announcement: &str) -> &str { -``` - -``` println!("Attention please: {announcement}"); -``` - -``` self.part -``` - -``` } -``` - -``` } ``` @@ -3351,69 +1874,21 @@ bounds, and lifetimes all in one function! ``` use std::fmt::Display; -``` - -``` - -``` -``` fn longest_with_an_announcement<'a, T>( -``` - -``` x: &'a str, -``` - -``` y: &'a str, -``` - -``` ann: T, -``` - -``` ) -> &'a str -``` - -``` where -``` - -``` T: Display, -``` - -``` { -``` - -``` println!("Announcement! {ann}"); -``` - -``` if x.len() > y.len() { -``` - -``` x -``` - -``` } else { -``` - -``` y -``` - -``` } -``` - -``` } ``` From 5784f677cd6443684b66e8fe030be3c7b8986527 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 12:06:56 -0400 Subject: [PATCH 0484/1248] Regenerate ch11 --- nostarch/chapter11.md | 1871 +---------------------------------------- 1 file changed, 27 insertions(+), 1844 deletions(-) diff --git a/nostarch/chapter11.md b/nostarch/chapter11.md index 6556dfdb80..3b3ec164f7 100644 --- a/nostarch/chapter11.md +++ b/nostarch/chapter11.md @@ -49,6 +49,7 @@ actions: * Set up any needed data or state. * Run the code you want to test. * Assert that the results are what you expect. + Let’s look at the features Rust provides specifically for writing tests that take these actions, which include the `test` attribute, a few macros, and the `should_panic` attribute. @@ -77,13 +78,7 @@ Let’s create a new library project called `adder` that will add two numbers: ``` $ cargo new adder --lib -``` - -``` Created library `adder` project -``` - -``` $ cd adder ``` @@ -94,41 +89,17 @@ Filename: src/lib.rs ``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` 1 #[test] -``` - -``` fn it_works() { -``` - -``` let result = 2 + 2; -``` - -``` 2 assert_eq!(result, 4); -``` - -``` } -``` - -``` } ``` The test module and function generated automatically by `cargo new` -Prod: Please rename this to Listing 11-1, and renumber all remaining listings -consecutively—e.g., Listing 11-2, Listing 11-3, etc. - For now, let’s ignore the top two lines and focus on the function. Note the `#[test]` annotation [1]: this attribute indicates this is a test function, so the test runner knows to treat this function as a test. We might also have @@ -146,73 +117,22 @@ The `cargo test` command runs all tests in our project, as shown in Listing ``` $ cargo test -``` - -``` Compiling adder v0.1.0 (file:///projects/adder) -``` - -``` Finished test [unoptimized + debuginfo] target(s) in 0.57s -``` - -``` Running unittests src/lib.rs (target/debug/deps/adder- -``` - -``` 92948b65e88960b4) -``` - -``` -``` - -``` 1 running 1 test -``` - -``` 2 test tests::it_works ... ok -``` - -``` - -``` -``` 3 test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s -``` - -``` - -``` -``` 4 Doc-tests adder -``` - -``` -``` - -``` running 0 tests -``` -``` - -``` - -``` test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -252,33 +172,12 @@ Filename: src/lib.rs ``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` #[test] -``` - -``` fn exploration() { -``` - -``` let result = 2 + 2; -``` - -``` assert_eq!(result, 4); -``` - -``` } -``` - -``` } ``` @@ -287,21 +186,9 @@ Then run `cargo test` again. The output now shows `exploration` instead of ``` running 1 test -``` - -``` test tests::exploration ... ok -``` - -``` - -``` -``` test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -316,49 +203,16 @@ Filename: src/lib.rs ``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` #[test] -``` - -``` fn exploration() { -``` - -``` assert_eq!(2 + 2, 4); -``` - -``` } -``` - -``` - -``` -``` #[test] -``` - -``` fn another() { -``` - -``` panic!("Make this test fail"); -``` - -``` } -``` - -``` } ``` @@ -369,73 +223,22 @@ Run the tests again using `cargo test`. The output should look like Listing ``` running 2 tests -``` - -``` test tests::exploration ... ok -``` - -``` 1 test tests::another ... FAILED -``` - -``` - -``` -``` 2 failures: -``` - -``` - -``` -``` ---- tests::another stdout ---- -``` - -``` thread 'main' panicked at 'Make this test fail', src/lib.rs:10:9 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display -``` - -``` a backtrace -``` - -``` -``` - -``` 3 failures: -``` - -``` tests::another -``` - -``` - -``` -``` 4 test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s -``` -``` - -``` - -``` error: test failed, to rerun pass '--lib' ``` @@ -474,45 +277,15 @@ Filename: src/lib.rs ``` #[derive(Debug)] -``` - -``` struct Rectangle { -``` - -``` width: u32, -``` - -``` height: u32, -``` - -``` } -``` - -``` -``` - -``` impl Rectangle { -``` - -``` fn can_hold(&self, other: &Rectangle) -> bool { -``` - -``` self.width > other.width && self.height > other.height -``` - -``` } -``` - -``` } ``` @@ -528,73 +301,22 @@ Filename: src/lib.rs ``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` 1 use super::*; -``` - -``` -``` - -``` #[test] -``` - -``` 2 fn larger_can_hold_smaller() { -``` - -``` 3 let larger = Rectangle { -``` - -``` width: 8, -``` - -``` height: 7, -``` - -``` }; -``` - -``` let smaller = Rectangle { -``` - -``` width: 5, -``` - -``` height: 1, -``` - -``` }; -``` - -``` - -``` -``` 4 assert!(larger.can_hold(&smaller)); -``` - -``` } -``` - -``` } ``` @@ -617,21 +339,9 @@ out! ``` running 1 test -``` - -``` test tests::larger_can_hold_smaller ... ok -``` - -``` -``` - -``` test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -642,93 +352,27 @@ Filename: src/lib.rs ``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` use super::*; -``` - -``` - -``` -``` #[test] -``` - -``` fn larger_can_hold_smaller() { -``` - -``` --snip-- -``` - -``` } -``` -``` - -``` - -``` #[test] -``` - -``` fn smaller_cannot_hold_larger() { -``` - -``` let larger = Rectangle { -``` - -``` width: 8, -``` - -``` height: 7, -``` - -``` }; -``` - -``` let smaller = Rectangle { -``` - -``` width: 5, -``` - -``` height: 1, -``` - -``` }; -``` - -``` - -``` -``` assert!(!smaller.can_hold(&larger)); -``` - -``` } -``` - -``` } ``` @@ -738,25 +382,10 @@ result, our test will pass if `can_hold` returns `false`: ``` running 2 tests -``` - -``` test tests::larger_can_hold_smaller ... ok -``` - -``` test tests::smaller_cannot_hold_larger ... ok -``` - -``` - -``` -``` test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -767,29 +396,11 @@ compares the widths: ``` --snip-- -``` - -``` - -``` -``` impl Rectangle { -``` - -``` fn can_hold(&self, other: &Rectangle) -> bool { -``` - -``` self.width < other.width && self.height > other.height -``` - -``` } -``` - -``` } ``` @@ -797,73 +408,22 @@ Running the tests now produces the following: ``` running 2 tests -``` - -``` test tests::smaller_cannot_hold_larger ... ok -``` - -``` test tests::larger_can_hold_smaller ... FAILED -``` - -``` - -``` -``` failures: -``` - -``` -``` - -``` ---- tests::larger_can_hold_smaller stdout ---- -``` - -``` thread 'main' panicked at 'assertion failed: -``` - -``` larger.can_hold(&smaller)', src/lib.rs:28:9 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display -``` - -``` a backtrace -``` - -``` - -``` -``` - -``` -``` failures: -``` - -``` tests::larger_can_hold_smaller -``` -``` - -``` - -``` test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -891,53 +451,17 @@ Filename: src/lib.rs ``` pub fn add_two(a: i32) -> i32 { -``` - -``` a + 2 -``` - -``` } -``` - -``` - -``` -``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` use super::*; -``` - -``` - -``` -``` #[test] -``` - -``` fn it_adds_two() { -``` - -``` assert_eq!(4, add_two(2)); -``` - -``` } -``` - -``` } ``` @@ -947,21 +471,9 @@ Let’s check that it passes! ``` running 1 test -``` - -``` test tests::it_adds_two ... ok -``` -``` - -``` - -``` test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -974,13 +486,7 @@ fails. Change the implementation of the `add_two` function to instead add `3`: ``` pub fn add_two(a: i32) -> i32 { -``` - -``` a + 3 -``` - -``` } ``` @@ -988,70 +494,22 @@ Run the tests again: ``` running 1 test -``` - -``` test tests::it_adds_two ... FAILED -``` -``` +failures: -``` +---- tests::it_adds_two stdout ---- +1 thread 'main' panicked at 'assertion failed: `(left == right)` +2 left: `4`, +3 right: `5`', src/lib.rs:11:9 +note: run with `RUST_BACKTRACE=1` environment variable to display +a backtrace -``` failures: -``` + tests::it_adds_two -``` - -``` - -``` ----- tests::it_adds_two stdout ---- -``` - -``` -1 thread 'main' panicked at 'assertion failed: `(left == right)` -``` - -``` -2 left: `4`, -``` - -``` -3 right: `5`', src/lib.rs:11:9 -``` - -``` -note: run with `RUST_BACKTRACE=1` environment variable to display -``` - -``` -a backtrace -``` - -``` - -``` - -``` -failures: -``` - -``` - tests::it_adds_two -``` - -``` - -``` - -``` -test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 -``` - -``` -filtered out; finished in 0.00s +test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 +filtered out; finished in 0.00s ``` Our test caught the bug! The `it_adds_two` test failed, and the message tells @@ -1107,57 +565,18 @@ Filename: src/lib.rs ``` pub fn greeting(name: &str) -> String { -``` - -``` format!("Hello {name}!") -``` - -``` } -``` - -``` - -``` -``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` use super::*; -``` - -``` - -``` -``` #[test] -``` - -``` fn greeting_contains_name() { -``` - -``` let result = greeting("Carol"); -``` - -``` assert!(result.contains("Carol")); -``` - -``` } -``` - -``` } ``` @@ -1173,13 +592,7 @@ Now let’s introduce a bug into this code by changing `greeting` to exclude ``` pub fn greeting(name: &str) -> String { -``` - -``` String::from("Hello!") -``` - -``` } ``` @@ -1187,57 +600,18 @@ Running this test produces the following: ``` running 1 test -``` - -``` test tests::greeting_contains_name ... FAILED -``` - -``` - -``` -``` failures: -``` - -``` - -``` -``` ---- tests::greeting_contains_name stdout ---- -``` - -``` thread 'main' panicked at 'assertion failed: -``` - -``` result.contains(\"Carol\")', src/lib.rs:12:9 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display -``` - -``` a backtrace -``` - -``` - -``` - -``` -``` -``` failures: -``` - -``` tests::greeting_contains_name ``` @@ -1249,33 +623,12 @@ string with a placeholder filled in with the actual value we got from the ``` #[test] -``` - -``` fn greeting_contains_name() { -``` - -``` let result = greeting("Carol"); -``` - -``` assert!( -``` - -``` result.contains("Carol"), -``` - -``` "Greeting did not contain name, value was `{result}`" -``` - -``` ); -``` - -``` } ``` @@ -1283,21 +636,9 @@ Now when we run the test, we’ll get a more informative error message: ``` ---- tests::greeting_contains_name stdout ---- -``` - -``` thread 'main' panicked at 'Greeting did not contain name, value -``` - -``` was `Hello!`', src/lib.rs:12:9 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display -``` - -``` a backtrace ``` @@ -1322,113 +663,32 @@ happen when we expect them to. ``` // src/lib.rs -``` - -``` pub struct Guess { -``` - -``` value: i32, -``` - -``` } -``` - -``` - -``` -``` impl Guess { -``` - -``` pub fn new(value: i32) -> Guess { -``` - -``` if value < 1 || value > 100 { -``` - -``` panic!( -``` - -``` "Guess value must be between 1 and 100, got {}.", -``` - -``` value -``` - -``` ); -``` - -``` } -``` - -``` - -``` -``` Guess { value } -``` - -``` } -``` - -``` } -``` -``` - -``` - -``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` use super::*; -``` - -``` - -``` -``` #[test] -``` - -``` #[should_panic] -``` - -``` fn greater_than_100() { -``` - -``` Guess::new(200); -``` - -``` } -``` - -``` } ``` @@ -1440,22 +700,10 @@ passes: ``` running 1 test -``` - -``` test tests::greater_than_100 - should panic ... ok -``` - -``` -``` - -``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` -filtered out; finished in 0.00s +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +filtered out; finished in 0.00s ``` Looks good! Now let’s introduce a bug in our code by removing the condition @@ -1463,61 +711,19 @@ that the `new` function will panic if the value is greater than 100: ``` // src/lib.rs -``` - -``` --snip-- -``` - -``` - -``` -``` impl Guess { -``` - -``` pub fn new(value: i32) -> Guess { -``` - -``` if value < 1 { -``` - -``` panic!( -``` - -``` "Guess value must be between 1 and 100, got {}.", -``` - -``` value -``` - -``` ); -``` - -``` } -``` - -``` - -``` -``` Guess { value } -``` - -``` } -``` - -``` } ``` @@ -1525,53 +731,17 @@ When we run the test in Listing 11-8, it will fail: ``` running 1 test -``` - -``` test tests::greater_than_100 - should panic ... FAILED -``` - -``` -``` - -``` failures: -``` - -``` - -``` -``` ---- tests::greater_than_100 stdout ---- -``` - -``` note: test did not panic as expected -``` - -``` - -``` -``` failures: -``` - -``` tests::greater_than_100 -``` - -``` -``` - -``` test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -1590,125 +760,35 @@ too large. ``` // src/lib.rs -``` - -``` --snip-- -``` - -``` -``` - -``` impl Guess { -``` - -``` pub fn new(value: i32) -> Guess { -``` - -``` if value < 1 { -``` - -``` panic!( -``` - -``` "Guess value must be greater than or equal to 1, got {}.", -``` - -``` value -``` - -``` ); -``` - -``` } else if value > 100 { -``` - -``` panic!( -``` - -``` "Guess value must be less than or equal to 100, got {}.", -``` - -``` value -``` - -``` ); -``` - -``` } -``` - -``` - -``` -``` Guess { value } -``` - -``` } -``` - -``` } -``` -``` - -``` - -``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` use super::*; -``` - -``` - -``` -``` #[test] -``` - -``` #[should_panic(expected = "less than or equal to 100")] -``` - -``` fn greater_than_100() { -``` - -``` Guess::new(200); -``` - -``` } -``` - -``` } ``` @@ -1729,57 +809,18 @@ fails, let’s again introduce a bug into our code by swapping the bodies of the ``` // src/lib.rs -``` - -``` --snip-- -``` - -``` if value < 1 { -``` - -``` panic!( -``` - -``` "Guess value must be less than or equal to 100, got {}.", -``` - -``` value -``` - -``` ); -``` - -``` } else if value > 100 { -``` - -``` panic!( -``` - -``` "Guess value must be greater than or equal to 1, got {}.", -``` - -``` value -``` - -``` ); -``` - -``` } -``` - -``` --snip-- ``` @@ -1787,77 +828,23 @@ This time when we run the `should_panic` test, it will fail: ``` running 1 test -``` - -``` test tests::greater_than_100 - should panic ... FAILED -``` - -``` - -``` -``` failures: -``` - -``` - -``` -``` ---- tests::greater_than_100 stdout ---- -``` - -``` thread 'main' panicked at 'Guess value must be greater than or equal to 1, got -``` - -``` 200.', src/lib.rs:13:13 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace -``` - -``` note: panic did not contain expected string -``` - -``` panic message: `"Guess value must be greater than or equal to 1, got -``` - -``` 200."`, -``` - -``` expected substring: `"less than or equal to 100"` -``` -``` +failures: + tests::greater_than_100 -``` - -``` -failures: -``` - -``` - tests::greater_than_100 -``` - -``` - -``` - -``` test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; -``` - -``` finished in 0.00s ``` @@ -1877,45 +864,15 @@ Filename: src/lib.rs ``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` #[test] -``` - -``` fn it_works() -> Result<(), String> { -``` - -``` if 2 + 2 == 4 { -``` - -``` Ok(()) -``` - -``` } else { -``` - -``` Err(String::from("two plus two does not equal four")) -``` - -``` } -``` - -``` } -``` - -``` } ``` @@ -2001,85 +958,25 @@ Filename: src/lib.rs ``` fn prints_and_returns_10(a: i32) -> i32 { -``` - -``` println!("I got the value {a}"); -``` - -``` 10 -``` - -``` } -``` -``` - -``` - -``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` use super::*; -``` - -``` - -``` -``` #[test] -``` - -``` fn this_test_will_pass() { -``` - -``` let value = prints_and_returns_10(4); -``` - -``` assert_eq!(10, value); -``` - -``` } -``` -``` - -``` - -``` #[test] -``` - -``` fn this_test_will_fail() { -``` - -``` let value = prints_and_returns_10(8); -``` - -``` assert_eq!(5, value); -``` - -``` } -``` - -``` } ``` @@ -2089,77 +986,23 @@ When we run these tests with `cargo test`, we’ll see the following output: ``` running 2 tests -``` - -``` test tests::this_test_will_pass ... ok -``` - -``` test tests::this_test_will_fail ... FAILED -``` - -``` - -``` -``` failures: -``` -``` - -``` - -``` ---- tests::this_test_will_fail stdout ---- -``` - -``` 1 I got the value 8 -``` - -``` thread 'main' panicked at 'assertion failed: `(left == right)` -``` - -``` left: `5`, -``` - -``` right: `10`', src/lib.rs:19:9 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display -``` - -``` a backtrace -``` - -``` - -``` -``` failures: -``` - -``` tests::this_test_will_fail -``` -``` - -``` - -``` test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -2181,113 +1024,32 @@ see the following output: ``` running 2 tests -``` - -``` test tests::this_test_will_pass ... ok -``` - -``` test tests::this_test_will_fail ... FAILED -``` -``` - -``` - -``` successes: -``` -``` - -``` - -``` ---- tests::this_test_will_pass stdout ---- -``` - -``` I got the value 4 -``` -``` -``` - -``` - -``` - -``` successes: -``` - -``` tests::this_test_will_pass -``` - -``` - -``` -``` failures: -``` -``` - -``` - -``` ---- tests::this_test_will_fail stdout ---- -``` - -``` I got the value 8 -``` - -``` thread 'main' panicked at 'assertion failed: `(left == right)` -``` - -``` left: `5`, -``` - -``` right: `10`', src/lib.rs:19:9 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display -``` - -``` a backtrace -``` - -``` - -``` -``` failures: -``` - -``` tests::this_test_will_fail -``` -``` - -``` - -``` test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -2305,126 +1067,42 @@ Filename: src/lib.rs ``` pub fn add_two(a: i32) -> i32 { -``` - -``` a + 2 -``` - -``` } -``` -``` - -``` - -``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` use super::*; -``` - -``` - -``` -``` #[test] -``` - -``` fn add_two_and_two() { -``` - -``` assert_eq!(4, add_two(2)); -``` - -``` } -``` - -``` - -``` -``` #[test] -``` - -``` fn add_three_and_two() { -``` - -``` assert_eq!(5, add_two(3)); -``` - -``` } -``` - -``` - -``` -``` #[test] -``` - -``` fn one_hundred() { -``` - -``` assert_eq!(102, add_two(100)); -``` - -``` } -``` - -``` } ``` -Three tests with three different names - -If we run the tests without passing any arguments, as we saw earlier, all the -tests will run in parallel: - -``` -running 3 tests -``` - -``` -test tests::add_three_and_two ... ok -``` - -``` -test tests::add_two_and_two ... ok -``` - -``` -test tests::one_hundred ... ok -``` +Three tests with three different names -``` +If we run the tests without passing any arguments, as we saw earlier, all the +tests will run in parallel: ``` +running 3 tests +test tests::add_three_and_two ... ok +test tests::add_two_and_two ... ok +test tests::one_hundred ... ok -``` test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -2434,45 +1112,15 @@ We can pass the name of any test function to `cargo test` to run only that test: ``` $ cargo test one_hundred -``` - -``` Compiling adder v0.1.0 (file:///projects/adder) -``` - -``` Finished test [unoptimized + debuginfo] target(s) in 0.69s -``` - -``` Running unittests src/lib.rs (target/debug/deps/adder- -``` - -``` 92948b65e88960b4) -``` - -``` - -``` -``` running 1 test -``` - -``` test tests::one_hundred ... ok -``` - -``` - -``` -``` test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 2 -``` - -``` filtered out; finished in 0.00s ``` @@ -2491,49 +1139,16 @@ run those two by running `cargo test add`: ``` $ cargo test add -``` - -``` Compiling adder v0.1.0 (file:///projects/adder) -``` - -``` Finished test [unoptimized + debuginfo] target(s) in 0.61s -``` - -``` Running unittests src/lib.rs (target/debug/deps/adder- -``` - -``` 92948b65e88960b4) -``` - -``` -``` - -``` running 2 tests -``` - -``` test tests::add_three_and_two ... ok -``` - -``` test tests::add_two_and_two ... ok -``` - -``` -``` - -``` test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 1 -``` - -``` filtered out; finished in 0.00s ``` @@ -2554,45 +1169,15 @@ Filename: src/lib.rs ``` #[test] -``` - -``` fn it_works() { -``` - -``` let result = 2 + 2; -``` - -``` assert_eq!(result, 4); -``` - -``` } -``` - -``` - -``` -``` #[test] -``` - -``` #[ignore] -``` - -``` fn expensive_test() { -``` - -``` // code that takes an hour to run -``` - -``` } ``` @@ -2601,49 +1186,16 @@ Now when we run our tests, `it_works` runs, but `expensive_test` doesn’t: ``` $ cargo test -``` - -``` Compiling adder v0.1.0 (file:///projects/adder) -``` - -``` Finished test [unoptimized + debuginfo] target(s) in 0.60s -``` - -``` Running unittests src/lib.rs (target/debug/deps/adder- -``` - -``` 92948b65e88960b4) -``` - -``` - -``` -``` running 2 tests -``` - -``` test expensive_test ... ignored -``` - -``` test it_works ... ok -``` - -``` - -``` -``` test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -2652,41 +1204,14 @@ the ignored tests, we can use `cargo test -- --ignored`: ``` $ cargo test -- --ignored -``` - -``` Finished test [unoptimized + debuginfo] target(s) in 0.61s -``` - -``` Running unittests src/lib.rs (target/debug/deps/adder- -``` - -``` 92948b65e88960b4) -``` - -``` - -``` -``` running 1 test -``` - -``` test expensive_test ... ok -``` -``` - -``` - -``` test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 -``` - -``` filtered out; finished in 0.00s ``` @@ -2737,37 +1262,16 @@ Filename: src/lib.rs ``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` #[test] -``` - -``` fn it_works() { -``` - -``` let result = 2 + 2; -``` - -``` assert_eq!(result, 4); -``` - -``` } -``` - -``` } ``` -This code is the automatically generated `test``s` module. The attribute `cfg` +This code is the automatically generated `tests` module. The attribute `cfg` stands for *configuration* and tells Rust that the following item should only be included given a certain configuration option. In this case, the configuration option is `test`, which is provided by Rust for compiling and @@ -2788,69 +1292,21 @@ Filename: src/lib.rs ``` pub fn add_two(a: i32) -> i32 { -``` - -``` internal_adder(a, 2) -``` - -``` } -``` - -``` - -``` -``` fn internal_adder(a: i32, b: i32) -> i32 { -``` - -``` a + b -``` - -``` } -``` -``` - -``` - -``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` use super::*; -``` - -``` - -``` -``` #[test] -``` - -``` fn internal() { -``` - -``` assert_eq!(4, internal_adder(2, 2)); -``` - -``` } -``` - -``` } ``` @@ -2887,29 +1343,11 @@ Let’s create an integration test. With the code in Listing 11-12 still in the ``` adder -``` - -``` ├── Cargo.lock -``` - -``` ├── Cargo.toml -``` - -``` ├── src -``` - -``` │ └── lib.rs -``` - -``` -└── tests -``` - -``` +└── tests └── integration_test.rs ``` @@ -2919,32 +1357,17 @@ Filename: tests/integration_test.rs ``` use adder; -``` - -``` -``` - -``` #[test] -``` - -``` fn it_adds_two() { -``` - -``` assert_eq!(4, adder::add_two(2)); -``` - -``` } ``` An integration test of a function in the `adder` crate Each file in the *tests* directory is a separate crate, so we need to bring our -library into each test crate’s scope. For that reason we add `use adder``;` at +library into each test crate’s scope. For that reason we add `use adder;` at the top of the code, which we didn’t need in the unit tests. We don’t need to annotate any code in *tests/integration_test.rs* with @@ -2953,109 +1376,31 @@ in this directory only when we run `cargo test`. Run `cargo test` now: ``` $ cargo test -``` - -``` Compiling adder v0.1.0 (file:///projects/adder) -``` - -``` Finished test [unoptimized + debuginfo] target(s) in 1.31s -``` - -``` Running unittests src/lib.rs (target/debug/deps/adder- -``` - -``` 1082c4b063a8fbe6) -``` - -``` - -``` -``` 1 running 1 test -``` - -``` test tests::internal ... ok -``` - -``` -``` - -``` test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s -``` - -``` - -``` -``` 2 Running tests/integration_test.rs -``` - -``` (target/debug/deps/integration_test-1082c4b063a8fbe6) -``` -``` - -``` - -``` running 1 test -``` - -``` 3 test it_adds_two ... ok -``` - -``` - -``` -``` 4 test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s -``` - -``` -``` - -``` Doc-tests adder -``` -``` - -``` - -``` running 0 tests -``` - -``` -``` - -``` test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -3084,47 +1429,20 @@ followed by the name of the file: ``` $ cargo test --test integration_test -``` - -``` Finished test [unoptimized + debuginfo] target(s) in 0.64s -``` - -``` Running tests/integration_test.rs -``` - -``` (target/debug/deps/integration_test-82e7799c1bc62298) -``` -``` - -``` - -``` running 1 test -``` - -``` test it_adds_two ... ok -``` - -``` - -``` -``` test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` +This command runs only the tests in the *tests/integration_test.rs* file. -Unmatched: BodyContinued - #### Submodules in Integration Tests +#### Submodules in Integration Tests As you add more integration tests, you might want to make more files in the *tests* directory to help organize them; for example, you can group the test @@ -3147,13 +1465,7 @@ Filename: tests/common.rs ``` pub fn setup() { -``` - -``` // setup code specific to your library's tests would go here -``` - -``` } ``` @@ -3163,117 +1475,33 @@ did we call the `setup` function from anywhere: ``` running 1 test -``` - -``` test tests::internal ... ok -``` - -``` - -``` -``` test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s -``` - -``` - -``` -``` Running tests/common.rs (target/debug/deps/common- -``` - -``` 92948b65e88960b4) -``` - -``` - -``` -``` running 0 tests -``` - -``` - -``` -``` test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s -``` - -``` - -``` -``` Running tests/integration_test.rs -``` - -``` (target/debug/deps/integration_test-92948b65e88960b4) -``` - -``` - -``` -``` running 1 test -``` - -``` test it_adds_two ... ok -``` - -``` -``` - -``` test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s -``` - -``` - -``` -``` Doc-tests adder -``` - -``` - -``` -``` running 0 tests -``` - -``` - -``` -``` test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -3285,33 +1513,12 @@ project directory now looks like this: ``` ├── Cargo.lock -``` - -``` ├── Cargo.toml -``` - -``` ├── src -``` - -``` │ └── lib.rs -``` - -``` └── tests -``` - -``` ├── common -``` - -``` │ └── mod.rs -``` - -``` └── integration_test.rs ``` @@ -3331,37 +1538,13 @@ Filename: tests/integration_test.rs ``` use adder; -``` - -``` - -``` -``` mod common; -``` - -``` - -``` -``` #[test] -``` - -``` fn it_adds_two() { -``` - -``` common::setup(); -``` - -``` assert_eq!(4, adder::add_two(2)); -``` - -``` } ``` From 7d8b7e826720e166a034e46d7eea5ba683fff9c2 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 12:08:50 -0400 Subject: [PATCH 0485/1248] Regenerate ch12 --- nostarch/chapter12.md | 1512 ++--------------------------------------- 1 file changed, 50 insertions(+), 1462 deletions(-) diff --git a/nostarch/chapter12.md b/nostarch/chapter12.md index 9e5d5cebd7..6a082c128e 100644 --- a/nostarch/chapter12.md +++ b/nostarch/chapter12.md @@ -42,6 +42,7 @@ Our `grep` project will combine a number of concepts you’ve learned so far: * Handling errors (Chapter 9) * Using traits and lifetimes where appropriate (Chapter 10) * Writing tests (Chapter 11) + We’ll also briefly introduce closures, iterators, and trait objects, which Chapter 13 and Chapter 17 will cover in detail. @@ -53,13 +54,7 @@ on your system. ``` $ cargo new minigrep -``` - -``` Created binary (application) `minigrep` project -``` - -``` $ cd minigrep ``` @@ -96,33 +91,15 @@ Filename: src/main.rs ``` use std::env; -``` -``` - -``` - -``` fn main() { -``` - -``` let args: Vec = env::args().collect(); -``` - -``` dbg!(args); -``` - -``` } ``` Collecting the command line arguments into a vector and printing them -Prod: please renumber this as Listing 12-1 and then renumber the remaining -listings consecutively; e.g., Listing 12-2, Listing 12-3, etc. - First we bring the `std::env` module into scope with a `use` statement so we can use its `args` function. Notice that the `std::env::args` function is nested in two levels of modules. As we discussed in Chapter 7, in cases where @@ -133,12 +110,8 @@ adding `use std::env::args` and then calling the function with just `args`, because `args` might easily be mistaken for a function that’s defined in the current module. - -Unmatched: BoxType - > ### The args Function and Invalid Unicode - - +> > Note that `std::env::args` will panic if any argument contains invalid Unicode. If your program needs to accept arguments containing invalid Unicode, use `std::env::args_os` instead. That function returns an iterator that @@ -159,49 +132,16 @@ first with no arguments and then with two arguments: ``` $ cargo run -``` - -``` --snip-- -``` - -``` [src/main.rs:5] args = [ -``` - -``` "target/debug/minigrep", -``` - -``` ] -``` - -``` $ cargo run -- needle haystack -``` - -``` --snip-- -``` - -``` [src/main.rs:5] args = [ -``` - -``` "target/debug/minigrep", -``` - -``` "needle", -``` - -``` "haystack", -``` - -``` ] ``` @@ -224,45 +164,15 @@ Filename: src/main.rs ``` use std::env; -``` - -``` - -``` -``` fn main() { -``` - -``` let args: Vec = env::args().collect(); -``` - -``` -``` - -``` let query = &args[1]; -``` - -``` let file_path = &args[2]; -``` - -``` - -``` -``` println!("Searching for {}", query); -``` - -``` println!("In file {}", file_path); -``` - -``` } ``` @@ -281,25 +191,10 @@ and `sample.txt`: ``` $ cargo run -- test sample.txt -``` - -``` Compiling minigrep v0.1.0 (file:///projects/minigrep) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s -``` - -``` Running `target/debug/minigrep test sample.txt` -``` - -``` Searching for test -``` - -``` In file sample.txt ``` @@ -322,92 +217,35 @@ Filename: poem.txt ``` I'm nobody! Who are you? -``` - -``` Are you nobody, too? -``` - -``` Then there's a pair of us - don't tell! -``` - -``` They'd banish us, you know. -``` - -``` - -``` -``` How dreary to be somebody! -``` - -``` How public, like a frog -``` - -``` To tell your name the livelong day -``` - -``` To an admiring bog! ``` A poem by Emily Dickinson makes a good test case. -With the text in place, edit *src/**main.rs* and add code to read the file, as +With the text in place, edit *src/main.rs* and add code to read the file, as shown in Listing 12-4. Filename: src/main.rs ``` use std::env; -``` - -``` 1 use std::fs; -``` - -``` - -``` -``` fn main() { -``` - -``` --snip-- -``` - -``` println!("In file {}", file_path); -``` - -``` - -``` -``` 2 let contents = fs::read_to_string(file_path) -``` - -``` .expect("Should have been able to read the file"); -``` - -``` -``` - -``` 3 println!("With text:\n{contents}"); -``` - -``` } ``` @@ -429,65 +267,20 @@ second argument: ``` $ cargo run -- the poem.txt -``` - -``` Compiling minigrep v0.1.0 (file:///projects/minigrep) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s -``` - -``` Running `target/debug/minigrep the poem.txt` -``` - -``` Searching for the -``` - -``` In file poem.txt -``` - -``` With text: -``` - -``` I'm nobody! Who are you? -``` - -``` Are you nobody, too? -``` - -``` Then there's a pair of us - don't tell! -``` - -``` They'd banish us, you know. -``` - -``` - -``` -``` How dreary to be somebody! -``` - -``` How public, like a frog -``` - -``` To tell your name the livelong day -``` - -``` To an admiring bog! ``` @@ -550,6 +343,7 @@ program’s logic to *lib.rs*. *main.rs*. * When the command line parsing logic starts getting complicated, extract it from *main.rs* and move it to *lib.rs*. + The responsibilities that remain in the `main` function after this process should be limited to the following: @@ -557,6 +351,7 @@ should be limited to the following: * Setting up any other configuration * Calling a `run` function in *lib.rs* * Handling the error if `run` returns an error + This pattern is about separating concerns: *main.rs* handles running the program and *lib.rs* handles all the logic of the task at hand. Because you can’t test the `main` function directly, this structure lets you test all of @@ -568,64 +363,25 @@ it. Let’s rework our program by following this process. We’ll extract the functionality for parsing arguments into a function that `main` will call to prepare for moving the command line parsing logic to -*src/**lib.rs*. Listing 12-5 shows the new start of `main` that calls a new -function `parse_config`, which we’ll define in *src/**main.rs* for the moment. +src/lib.rs*. Listing 12-5 shows the new start of `main` that calls a new +function `parse_config`, which we’ll define in *src/main.rs* for the moment. Filename: src/main.rs ``` fn main() { -``` - -``` let args: Vec = env::args().collect(); -``` - -``` - -``` -``` let (query, file_path) = parse_config(&args); -``` - -``` - -``` -``` --snip-- -``` - -``` } -``` - -``` - -``` -``` fn parse_config(args: &[String]) -> (&str, &str) { -``` - -``` let query = &args[1]; -``` - -``` let file_path = &args[2]; -``` -``` - -``` - -``` (query, file_path) -``` - -``` } ``` @@ -668,101 +424,29 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let args: Vec = env::args().collect(); -``` -``` - -``` + 1 let config = parse_config(&args); -``` - 1 let config = parse_config(&args); -``` - -``` - -``` - -``` println!("Searching for {}", 2 config.query); -``` - -``` println!("In file {}", 3 config.file_path); -``` - -``` - -``` -``` let contents = fs::read_to_string(4 config.file_path) -``` - -``` .expect("Should have been able to read the file"); -``` - -``` -``` - -``` --snip-- -``` - -``` } -``` - -``` - -``` -``` 5 struct Config { -``` - -``` query: String, -``` - -``` file_path: String, -``` - -``` } -``` - -``` -``` - -``` 6 fn parse_config(args: &[String]) -> Config { -``` - -``` 7 let query = args[1].clone(); -``` - -``` 8 let file_path = args[2].clone(); -``` - -``` -``` - -``` Config { query, file_path } -``` - -``` } ``` @@ -786,12 +470,8 @@ because we don’t have to manage the lifetimes of the references; in this circumstance, giving up a little performance to gain simplicity is a worthwhile trade-off. - -Unmatched: BoxType - > ### The Trade-Offs of Using clone - - +> > There’s a tendency among many Rustaceans to avoid using `clone` to fix ownership problems because of its runtime cost. In Chapter 13, you’ll learn how to use more efficient methods in this type of situation. But for now, it’s okay @@ -834,73 +514,22 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let args: Vec = env::args().collect(); -``` - -``` -``` - -``` 1 let config = Config::new(&args); -``` -``` - -``` - -``` --snip-- -``` - -``` } -``` - -``` - -``` -``` --snip-- -``` - -``` - -``` -``` 2 impl Config { -``` - -``` 3 fn new(args: &[String]) -> Config { -``` - -``` let query = args[1].clone(); -``` - -``` let file_path = args[2].clone(); -``` - -``` -``` - -``` Config { query, file_path } -``` - -``` } -``` - -``` } ``` @@ -920,33 +549,12 @@ without any arguments; it will look like this: ``` $ cargo run -``` - -``` Compiling minigrep v0.1.0 (file:///projects/minigrep) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s -``` - -``` Running `target/debug/minigrep` -``` - -``` thread 'main' panicked at 'index out of bounds: the len is 1 but -``` - -``` the index is 1', src/main.rs:27:21 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display -``` - -``` a backtrace ``` @@ -964,25 +572,10 @@ Filename: src/main.rs ``` --snip-- -``` - -``` fn new(args: &[String]) -> Config { -``` - -``` if args.len() < 3 { -``` - -``` panic!("not enough arguments"); -``` - -``` } -``` - -``` --snip-- ``` @@ -1001,33 +594,12 @@ arguments again to see what the error looks like now: ``` $ cargo run -``` - -``` Compiling minigrep v0.1.0 (file:///projects/minigrep) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s -``` - -``` Running `target/debug/minigrep` -``` - -``` thread 'main' panicked at 'not enough arguments', -``` - -``` src/main.rs:26:13 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display -``` - -``` a backtrace ``` @@ -1059,49 +631,16 @@ Filename: src/main.rs ``` impl Config { -``` - -``` fn build(args: &[String]) -> Result { -``` - -``` if args.len() < 3 { -``` - -``` return Err("not enough arguments"); -``` - -``` } -``` - -``` - -``` -``` let query = args[1].clone(); -``` - -``` let file_path = args[2].clone(); -``` -``` - -``` - -``` Ok(Config { query, file_path }) -``` - -``` } -``` - -``` } ``` @@ -1133,45 +672,15 @@ Filename: src/main.rs ``` 1 use std::process; -``` - -``` - -``` -``` fn main() { -``` - -``` let args: Vec = env::args().collect(); -``` - -``` - -``` -``` 2 let config = Config::build(&args).3 unwrap_or_else(|4 err| { -``` - -``` 5 println!("Problem parsing arguments: {err}"); -``` - -``` 6 process::exit(1); -``` - -``` }); -``` - -``` - -``` -``` --snip-- ``` @@ -1201,21 +710,9 @@ extra output. Let’s try it: ``` $ cargo run -``` - -``` Compiling minigrep v0.1.0 (file:///projects/minigrep) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.48s -``` - -``` Running `target/debug/minigrep` -``` - -``` Problem parsing arguments: not enough arguments ``` @@ -1233,75 +730,27 @@ other logic. Listing 12-11 shows the extracted `run` function. For now, we’re just making the small, incremental improvement of extracting the function. We’re still -defining the function in *src/**main.rs*. +defining the function in *src/main.rs*. Filename: src/main.rs ``` fn main() { -``` - -``` --snip-- -``` - -``` - -``` -``` println!("Searching for {}", config.query); -``` - -``` println!("In file {}", config.file_path); -``` - -``` -``` - -``` run(config); -``` - -``` } -``` - -``` - -``` -``` fn run(config: Config) { -``` - -``` let contents = fs::read_to_string(config.file_path) -``` - -``` .expect("Should have been able to read the file"); -``` - -``` - -``` -``` println!("With text:\n{contents}"); -``` - -``` } -``` -``` - -``` - -``` --snip-- ``` @@ -1325,45 +774,15 @@ Filename: src/main.rs ``` 1 use std::error::Error; -``` - -``` -``` - -``` --snip-- -``` - -``` - -``` -``` 2 fn run(config: Config) -> Result<(), Box> { -``` - -``` let contents = fs::read_to_string(config.file_path)3 ?; -``` - -``` - -``` -``` println!("With text:\n{contents}"); -``` - -``` - -``` -``` 4 Ok(()) -``` - -``` } ``` @@ -1397,37 +816,13 @@ When you run this code, it will compile but will display a warning: ``` warning: unused `Result` that must be used -``` - -``` --> src/main.rs:19:5 -``` - -``` | -``` - -``` 19 | run(config); -``` - -``` | ^^^^^^^^^^^^ -``` - -``` | -``` - -``` = note: `#[warn(unused_must_use)]` on by default -``` - -``` = note: this `Result` may be an `Err` variant, which should be -``` - -``` handled ``` @@ -1445,45 +840,15 @@ Filename: src/main.rs ``` fn main() { -``` - -``` --snip-- -``` - -``` - -``` -``` println!("Searching for {}", config.query); -``` - -``` println!("In file {}", config.file_path); -``` -``` - -``` - -``` if let Err(e) = run(config) { -``` - -``` println!("Application error: {e}"); -``` - -``` process::exit(1); -``` - -``` } -``` - -``` } ``` @@ -1500,155 +865,71 @@ both cases: we print the error and exit. ### Splitting Code into a Library Crate Our `minigrep` project is looking good so far! Now we’ll split the -*src/**main.rs* file and put some code into the *src/**lib.rs* file. That way, -we can test the code and have a *src/**main.rs* file with fewer -responsibilities. +*src/main.rs* file and put some code into the *src/lib.rs* file. That way, we +can test the code and have a *src/main.rs* file with fewer responsibilities. -Let’s move all the code that isn’t in the `main` function from *src/**main.rs* -to *src/**lib.rs*: +Let’s move all the code that isn’t in the `main` function from *src/main.rs* to +*src/lib.rs*: * The `run` function definition * The relevant `use` statements * The definition of `Config` * The `Config::build` function definition -The contents of *src/**lib.rs* should have the signatures shown in Listing -12-13 (we’ve omitted the bodies of the functions for brevity). Note that this -won’t compile until we modify *src/**main.rs* in Listing 12-14. + +The contents of *src/lib.rs* should have the signatures shown in Listing 12-13 +(we’ve omitted the bodies of the functions for brevity). Note that this won’t +compile until we modify *src/main.rs* in Listing 12-14. Filename: src/lib.rs ``` use std::error::Error; -``` - -``` use std::fs; -``` - -``` -``` - -``` pub struct Config { -``` - -``` pub query: String, -``` - -``` pub file_path: String, -``` - -``` } -``` - -``` - -``` -``` impl Config { -``` - -``` pub fn build( -``` - -``` args: &[String], -``` - -``` ) -> Result { -``` - -``` --snip-- -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` pub fn run(config: Config) -> Result<(), Box> { -``` - -``` --snip-- -``` - -``` } ``` -Moving `Config` and `run` into *src**/lib.rs* +Moving `Config` and `run` into *src/lib.rs* We’ve made liberal use of the `pub` keyword: on `Config`, on its fields and its `build` method, and on the `run` function. We now have a library crate that has a public API we can test! -Now we need to bring the code we moved to *src/**lib.rs* into the scope of the -binary crate in *src/**main.rs*, as shown in Listing 12-14. +Now we need to bring the code we moved to *src/lib.rs* into the scope of the +binary crate in *src/main.rs*, as shown in Listing 12-14. Filename: src/main.rs ``` use std::env; -``` - -``` use std::process; -``` - -``` - -``` -``` use minigrep::Config; -``` - -``` -``` - -``` fn main() { -``` - -``` --snip-- -``` - -``` if let Err(e) = minigrep::run(config) { -``` - -``` --snip-- -``` - -``` } -``` - -``` } ``` -Using the `minigrep` library crate in *src**/main.rs* +Using the `minigrep` library crate in *src/main.rs* We add a `use minigrep::Config` line to bring the `Config` type from the library crate into the binary crate’s scope, and we prefix the `run` function @@ -1657,7 +938,7 @@ work. Run the program with `cargo run` and make sure everything works correctly. Whew! That was a lot of work, but we’ve set ourselves up for success in the future. Now it’s much easier to handle errors, and we’ve made the code more -modular. Almost all of our work will be done in *src/**lib.rs* from here on out. +modular. Almost all of our work will be done in *src/lib.rs* from here on out. Let’s take advantage of this newfound modularity by doing something that would have been difficult with the old code but is easy with the new code: we’ll @@ -1665,11 +946,11 @@ write some tests! ## Developing the Library’s Functionality with Test-Driven Development -Now that we’ve extracted the logic into *src/**lib.rs* and left the argument -collecting and error handling in *src/**main.rs*, it’s much easier to write -tests for the core functionality of our code. We can call functions directly -with various arguments and check return values without having to call our -binary from the command line. +Now that we’ve extracted the logic into *src/lib.rs* and left the argument +collecting and error handling in *src/main.rs*, it’s much easier to write tests +for the core functionality of our code. We can call functions directly with +various arguments and check return values without having to call our binary +from the command line. In this section, we’ll add the searching logic to the `minigrep` program using the test-driven development (TDD) process with the following steps: @@ -1692,84 +973,33 @@ lines that match the query. We’ll add this functionality in a function called ### Writing a Failing Test Because we don’t need them anymore, let’s remove the `println!` statements from -*src/**lib.rs* and *src/**main.rs* that we used to check the program’s -behavior. Then, in *src/**lib.rs*, we’ll add a `tests` module with a test -function, as we did in Chapter 11. The test function specifies the behavior we -want the `search` function to have: it will take a query and the text to -search, and it will return only the lines from the text that contain the query. -Listing 12-15 shows this test, which won’t compile yet. +*src/lib.rs* and *src/main.rs* that we used to check the program’s behavior. +Then, in *src/lib.rs*, we’ll add a `tests` module with a test function, as we +did in Chapter 11. The test function specifies the behavior we want the +`search` function to have: it will take a query and the text to search, and it +will return only the lines from the text that contain the query. Listing 12-15 +shows this test, which won’t compile yet. Filename: src/lib.rs ``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` use super::*; -``` - -``` - -``` -``` #[test] -``` - -``` fn one_result() { -``` - -``` let query = "duct"; -``` - -``` let contents = "\ -``` - -``` Rust: -``` - -``` safe, fast, productive. -``` - -``` Pick three."; -``` - -``` - -``` -``` assert_eq!( -``` - -``` vec!["safe, fast, productive."], -``` - -``` search(query, contents) -``` - -``` ); -``` - -``` } -``` - -``` } ``` @@ -1793,25 +1023,10 @@ Filename: src/lib.rs ``` pub fn search<'a>( -``` - -``` query: &str, -``` - -``` contents: &'a str, -``` - -``` ) -> Vec<&'a str> { -``` - -``` vec![] -``` - -``` } ``` @@ -1836,77 +1051,23 @@ get this error: ``` error[E0106]: missing lifetime specifier -``` - -``` --> src/lib.rs:31:10 -``` - -``` | -``` - -``` 29 | query: &str, -``` - -``` | ---- -``` - -``` 30 | contents: &str, -``` - -``` | ---- -``` - -``` 31 | ) -> Vec<&str> { -``` - -``` | ^ expected named lifetime parameter -``` - -``` | -``` - -``` = help: this function's return type contains a borrowed value, but the -``` - -``` signature does not say whether it is borrowed from `query` or `contents` -``` - -``` help: consider introducing a named lifetime parameter -``` - -``` | -``` - -``` 28 ~ pub fn search<'a>( -``` - -``` 29 ~ query: &'a str, -``` - -``` 30 ~ contents: &'a str, -``` - -``` 31 ~ ) -> Vec<&'a str> { -``` - -``` | ``` @@ -1925,97 +1086,28 @@ Now let’s run the test: ``` $ cargo test -``` - -``` Compiling minigrep v0.1.0 (file:///projects/minigrep) -``` - -``` Finished test [unoptimized + debuginfo] target(s) in 0.97s -``` - -``` Running unittests src/lib.rs (target/debug/deps/minigrep-9cd200e5fac0fc94) -``` -``` - -``` - -``` running 1 test -``` - -``` test tests::one_result ... FAILED -``` - -``` - -``` -``` failures: -``` - -``` -``` - -``` ---- tests::one_result stdout ---- -``` - -``` thread 'tests::one_result' panicked at 'assertion failed: `(left == right)` -``` - -``` left: `["safe, fast, productive."]`, -``` - -``` right: `[]`', src/lib.rs:47:9 -``` - -``` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace -``` - -``` - -``` - -``` -``` -``` failures: -``` - -``` tests::one_result -``` -``` - -``` - -``` test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; -``` - -``` finished in 0.00s -``` - -``` - -``` -``` error: test failed, to rerun pass '--lib' ``` @@ -2031,9 +1123,9 @@ that and implement `search`, our program needs to follow these steps: 1. If it does, add it to the list of values we’re returning. 1. If it doesn’t, do nothing. 1. Return the list of results that match. +Let’s work through each step, starting with iterating through lines. -Unmatched: BodyContinued - #### Iterating Through Lines with the lines Method +#### Iterating Through Lines with the lines Method Rust has a helpful method to handle line-by-line iteration of strings, conveniently named `lines`, that works as shown in Listing 12-17. Note that @@ -2043,33 +1135,12 @@ Filename: src/lib.rs ``` pub fn search<'a>( -``` - -``` query: &str, -``` - -``` contents: &'a str, -``` - -``` ) -> Vec<&'a str> { -``` - -``` for line in contents.lines() { -``` - -``` // do something with line -``` - -``` } -``` - -``` } ``` @@ -2091,41 +1162,14 @@ Filename: src/lib.rs ``` pub fn search<'a>( -``` - -``` query: &str, -``` - -``` contents: &'a str, -``` - -``` ) -> Vec<&'a str> { -``` - -``` for line in contents.lines() { -``` - -``` if line.contains(query) { -``` - -``` // do something with line -``` - -``` } -``` - -``` } -``` - -``` } ``` @@ -2146,57 +1190,18 @@ Filename: src/lib.rs ``` pub fn search<'a>( -``` - -``` query: &str, -``` - -``` contents: &'a str, -``` - -``` ) -> Vec<&'a str> { -``` - -``` let mut results = Vec::new(); -``` -``` - -``` - -``` for line in contents.lines() { -``` - -``` if line.contains(query) { -``` - -``` results.push(line); -``` - -``` } -``` - -``` } -``` -``` - -``` - -``` results -``` - -``` } ``` @@ -2207,29 +1212,11 @@ and our test should pass. Let’s run the test: ``` $ cargo test -``` - -``` --snip-- -``` - -``` running 1 test -``` - -``` test tests::one_result ... ok -``` - -``` - -``` -``` test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -2253,62 +1240,26 @@ Filename: src/lib.rs ``` pub fn run(config: Config) -> Result<(), Box> { -``` - -``` let contents = fs::read_to_string(config.file_path)?; -``` - -``` -``` - -``` for line in search(&config.query, &contents) { -``` - -``` println!("{line}"); -``` - -``` } -``` - -``` -``` - -``` Ok(()) -``` - -``` } ``` +We’re still using a `for` loop to return each line from `search` and print it. -Unmatched: BodyContinued - Now the entire program should work! Let’s try it out, first with a word -that should return exactly one line from the Emily Dickinson poem: *frog*. +Now the entire program should work! Let’s try it out, first with a word that +should return exactly one line from the Emily Dickinson poem: *frog*. ``` $ cargo run -- frog poem.txt -``` - -``` Compiling minigrep v0.1.0 (file:///projects/minigrep) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.38s -``` - -``` Running `target/debug/minigrep frog poem.txt` -``` - -``` How public, like a frog ``` @@ -2316,25 +1267,10 @@ Cool! Now let’s try a word that will match multiple lines, like *body*: ``` $ cargo run -- body poem.txt -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s -``` - -``` Running `target/debug/minigrep body poem.txt` -``` - -``` I'm nobody! Who are you? -``` - -``` Are you nobody, too? -``` - -``` How dreary to be somebody! ``` @@ -2343,13 +1279,7 @@ word that isn’t anywhere in the poem, such as *monomorphization*: ``` $ cargo run -- monomorphization poem.txt -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s -``` - -``` Running `target/debug/minigrep monomorphization poem.txt` ``` @@ -2383,137 +1313,38 @@ Filename: src/lib.rs ``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` use super::*; -``` - -``` - -``` -``` #[test] -``` - -``` fn case_sensitive() { -``` - -``` let query = "duct"; -``` - -``` let contents = "\ -``` - -``` Rust: -``` - -``` safe, fast, productive. -``` - -``` Pick three. -``` - -``` Duct tape."; -``` - -``` -``` - -``` assert_eq!( -``` - -``` vec!["safe, fast, productive."], -``` - -``` search(query, contents) -``` - -``` ); -``` - -``` } -``` -``` - -``` - -``` #[test] -``` - -``` fn case_insensitive() { -``` - -``` let query = "rUsT"; -``` - -``` let contents = "\ -``` - -``` Rust: -``` - -``` safe, fast, productive. -``` - -``` Pick three. -``` - -``` -Trust me."; -``` - -``` - -``` - -``` - assert_eq!( -``` - -``` - vec!["Rust:", "Trust me."], -``` +Trust me."; -``` + assert_eq!( + vec!["Rust:", "Trust me."], search_case_insensitive(query, contents) -``` - -``` ); -``` - -``` } -``` - -``` } ``` @@ -2546,61 +1377,19 @@ Filename: src/lib.rs ``` pub fn search_case_insensitive<'a>( -``` - -``` query: &str, -``` - -``` contents: &'a str, -``` - -``` ) -> Vec<&'a str> { -``` - -``` 1 let query = query.to_lowercase(); -``` - -``` let mut results = Vec::new(); -``` - -``` - -``` -``` for line in contents.lines() { -``` - -``` if 2 line.to_lowercase().contains(3 &query) { -``` - -``` results.push(line); -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` results -``` - -``` } ``` @@ -2632,25 +1421,10 @@ Let’s see if this implementation passes the tests: ``` running 2 tests -``` - -``` test tests::case_insensitive ... ok -``` - -``` test tests::case_sensitive ... ok -``` - -``` -``` - -``` test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 -``` - -``` filtered out; finished in 0.00s ``` @@ -2664,21 +1438,9 @@ Filename: src/lib.rs ``` pub struct Config { -``` - -``` pub query: String, -``` - -``` pub file_path: String, -``` - -``` pub ignore_case: bool, -``` - -``` } ``` @@ -2691,61 +1453,19 @@ Filename: src/lib.rs ``` pub fn run(config: Config) -> Result<(), Box> { -``` - -``` let contents = fs::read_to_string(config.file_path)?; -``` - -``` -``` - -``` let results = if config.ignore_case { -``` - -``` search_case_insensitive(&config.query, &contents) -``` - -``` } else { -``` - -``` search(&config.query, &contents) -``` - -``` }; -``` -``` - -``` - -``` for line in results { -``` - -``` println!("{line}"); -``` - -``` } -``` - -``` - -``` -``` Ok(()) -``` - -``` } ``` @@ -2754,7 +1474,7 @@ Calling either `search` or `search_case_insensitive` based on the value in Finally, we need to check for the environment variable. The functions for working with environment variables are in the `env` module in the standard -library, so we bring that module into scope at the top of *src/**lib.rs*. Then +library, so we bring that module into scope at the top of *src/lib.rs*. Then we’ll use the `var` function from the `env` module to check to see if any value has been set for an environment variable named `IGNORE_CASE`, as shown in Listing 12-23. @@ -2763,93 +1483,27 @@ Filename: src/lib.rs ``` use std::env; -``` - -``` --snip-- -``` -``` - -``` - -``` impl Config { -``` - -``` pub fn build( -``` - -``` args: &[String] -``` - -``` ) -> Result { -``` - -``` if args.len() < 3 { -``` - -``` return Err("not enough arguments"); -``` - -``` } -``` -``` - -``` - -``` let query = args[1].clone(); -``` - -``` let file_path = args[2].clone(); -``` - -``` - -``` -``` let ignore_case = env::var("IGNORE_CASE").is_ok(); -``` - -``` - -``` -``` Ok(Config { -``` - -``` query, -``` - -``` file_path, -``` - -``` ignore_case, -``` - -``` }) -``` - -``` } -``` - -``` } ``` @@ -2880,25 +1534,10 @@ the word *to* in all lowercase: ``` $ cargo run -- to poem.txt -``` - -``` Compiling minigrep v0.1.0 (file:///projects/minigrep) -``` - -``` Finished dev [unoptimized + debuginfo] target(s) in 0.0s -``` - -``` Running `target/debug/minigrep to poem.txt` -``` - -``` Are you nobody, too? -``` - -``` How dreary to be somebody! ``` @@ -2927,17 +1566,8 @@ We should get lines that contain *to* that might have uppercase letters: ``` Are you nobody, too? -``` - -``` How dreary to be somebody! -``` - -``` To tell your name the livelong day -``` - -``` To an admiring bog! ``` @@ -2984,17 +1614,17 @@ standard output stream to a file. Our program is not currently well behaved: we’re about to see that it saves the error message output to a file instead! To demonstrate this behavior, we’ll run the program with `>` and the file path, -*output**.**txt*, that we want to redirect the standard output stream to. We -won’t pass any arguments, which should cause an error: +*output.txt*, that we want to redirect the standard output stream to. We won’t +pass any arguments, which should cause an error: ``` $ cargo run > output.txt ``` The `>` syntax tells the shell to write the contents of standard output to -*output**.**txt* instead of the screen. We didn’t see the error message we were +*output.txt* instead of the screen. We didn’t see the error message we were expecting printed to the screen, so that means it must have ended up in the -file. This is what *output**.**txt* contains: +file. This is what *output.txt* contains: ``` Problem parsing arguments: not enough arguments @@ -3017,53 +1647,17 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let args: Vec = env::args().collect(); -``` - -``` -``` - -``` let config = Config::build(&args).unwrap_or_else(|err| { -``` - -``` eprintln!("Problem parsing arguments: {err}"); -``` - -``` process::exit(1); -``` - -``` }); -``` - -``` - -``` -``` if let Err(e) = minigrep::run(config) { -``` - -``` eprintln!("Application error: {e}"); -``` - -``` process::exit(1); -``` - -``` } -``` - -``` } ``` @@ -3075,14 +1669,11 @@ redirecting standard output with `>`: ``` $ cargo run > output.txt -``` - -``` Problem parsing arguments: not enough arguments ``` -Now we see the error onscreen and *output**.**txt* contains nothing, which is -the behavior we expect of command line programs. +Now we see the error onscreen and *output.txt* contains nothing, which is the +behavior we expect of command line programs. Let’s run the program again with arguments that don’t cause an error but still redirect standard output to a file, like so: @@ -3091,16 +1682,13 @@ redirect standard output to a file, like so: $ cargo run -- to poem.txt > output.txt ``` -We won’t see any output to the terminal, and *output**.**txt* will contain our +We won’t see any output to the terminal, and *output.txt* will contain our results: Filename: output.txt ``` Are you nobody, too? -``` - -``` How dreary to be somebody! ``` From e7d48b927878d04e2a5b4fecda77879eba51144a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 12:11:17 -0400 Subject: [PATCH 0486/1248] Regenerate ch13 --- nostarch/chapter13.md | 1188 +---------------------------------------- 1 file changed, 25 insertions(+), 1163 deletions(-) diff --git a/nostarch/chapter13.md b/nostarch/chapter13.md index c2d9a9580c..24f7da46a0 100644 --- a/nostarch/chapter13.md +++ b/nostarch/chapter13.md @@ -25,6 +25,7 @@ More specifically, we’ll cover: * How to use closures and iterators to improve the I/O project in Chapter 12 * The performance of closures and iterators (spoiler alert: they’re faster than you might think!) + We’ve already covered some other Rust features, such as pattern matching and enums, that are also influenced by the functional style. Because mastering closures and iterators is an important part of writing idiomatic, fast Rust @@ -63,245 +64,68 @@ Filename: src/main.rs ``` #[derive(Debug, PartialEq, Copy, Clone)] -``` - -``` enum ShirtColor { -``` - -``` Red, -``` - -``` Blue, -``` - -``` } -``` - -``` -``` - -``` struct Inventory { -``` - -``` shirts: Vec, -``` - -``` } -``` - -``` -``` - -``` impl Inventory { -``` - -``` fn giveaway( -``` - -``` &self, -``` - -``` user_preference: Option, -``` - -``` ) -> ShirtColor { -``` - -``` 1 user_preference.unwrap_or_else(|| self.most_stocked()) -``` - -``` } -``` - -``` -``` - -``` fn most_stocked(&self) -> ShirtColor { -``` - -``` let mut num_red = 0; -``` - -``` let mut num_blue = 0; -``` - -``` -``` - -``` for color in &self.shirts { -``` - -``` match color { -``` - -``` ShirtColor::Red => num_red += 1, -``` - -``` ShirtColor::Blue => num_blue += 1, -``` - -``` } -``` - -``` } -``` - -``` if num_red > num_blue { -``` - -``` ShirtColor::Red -``` - -``` } else { -``` - -``` ShirtColor::Blue -``` - -``` } -``` - -``` } -``` - -``` } -``` -``` - -``` - -``` fn main() { -``` - -``` let store = Inventory { -``` - -``` 2 shirts: vec![ -``` - -``` ShirtColor::Blue, -``` - -``` ShirtColor::Red, -``` - -``` ShirtColor::Blue, -``` - -``` ], -``` - -``` }; -``` - -``` - -``` -``` let user_pref1 = Some(ShirtColor::Red); -``` - -``` 3 let giveaway1 = store.giveaway(user_pref1); -``` - -``` println!( -``` - -``` "The user with preference {:?} gets {:?}", -``` - -``` user_pref1, giveaway1 -``` - -``` ); -``` -``` - -``` - -``` let user_pref2 = None; -``` - -``` 4 let giveaway2 = store.giveaway(user_pref2); -``` - -``` println!( -``` - -``` "The user with preference {:?} gets {:?}", -``` - -``` user_pref2, giveaway2 -``` - -``` ); -``` - -``` } ``` Shirt company giveaway situation -prod: Please renumber this as Listing 13-1, and then renumber all remaining -listings consecutively; e.g., Listing 13-2, Listing 13-3, etc. - The `store` defined in `main` has two blue shirts and one red shirt remaining to distribute for this limited-edition promotion [2]. We call the `giveaway` method for a user with a preference for a red shirt [3] and a user without any @@ -330,9 +154,6 @@ Running this code prints the following: ``` The user with preference Some(Red) gets Red -``` - -``` The user with preference None gets Blue ``` @@ -372,21 +193,9 @@ Filename: src/main.rs ``` let expensive_closure = |num: u32| -> u32 { -``` - -``` println!("calculating slowly..."); -``` - -``` thread::sleep(Duration::from_secs(2)); -``` - -``` num -``` - -``` }; ``` @@ -402,17 +211,8 @@ that is optional: ``` fn add_one_v1 (x: u32) -> u32 { x + 1 } -``` - -``` let add_one_v2 = |x: u32| -> u32 { x + 1 }; -``` - -``` let add_one_v3 = |x| { x + 1 }; -``` - -``` let add_one_v4 = |x| x + 1 ; ``` @@ -439,17 +239,8 @@ Filename: src/main.rs ``` let example_closure = |x| x; -``` - -``` - -``` -``` let s = example_closure(String::from("hello")); -``` - -``` let n = example_closure(5); ``` @@ -459,33 +250,12 @@ The compiler gives us this error: ``` error[E0308]: mismatched types -``` - -``` --> src/main.rs:5:29 -``` - -``` | -``` - -``` 5 | let n = example_closure(5); -``` - -``` | ^- help: try using a conversion method: -``` - -``` `.to_string()` -``` - -``` | | -``` - -``` | expected struct `String`, found integer ``` @@ -510,42 +280,15 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let list = vec![1, 2, 3]; -``` - -``` println!("Before defining closure: {:?}", list); -``` - -``` - -``` -``` 1 let only_borrows = || println!("From closure: {:?}", list); -``` - -``` - -``` -``` println!("Before calling closure: {:?}", list); -``` - -``` 2 only_borrows(); -``` - -``` println!("After calling closure: {:?}", list); -``` - -``` -} +} ``` Defining and calling a closure that captures an immutable reference @@ -561,17 +304,8 @@ is called. This code compiles, runs, and prints: ``` Before defining closure: [1, 2, 3] -``` - -``` Before calling closure: [1, 2, 3] -``` - -``` From closure: [1, 2, 3] -``` - -``` After calling closure: [1, 2, 3] ``` @@ -582,37 +316,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let mut list = vec![1, 2, 3]; -``` - -``` println!("Before defining closure: {:?}", list); -``` - -``` - -``` -``` let mut borrows_mutably = || list.push(7); -``` - -``` - -``` -``` borrows_mutably(); -``` - -``` println!("After calling closure: {:?}", list); -``` - -``` } ``` @@ -622,9 +332,6 @@ This code compiles, runs, and prints: ``` Before defining closure: [1, 2, 3] -``` - -``` After calling closure: [1, 2, 3, 7] ``` @@ -651,41 +358,14 @@ Filename: src/main.rs ``` use std::thread; -``` -``` - -``` - -``` fn main() { -``` - -``` let list = vec![1, 2, 3]; -``` - -``` println!("Before defining closure: {:?}", list); -``` - -``` - -``` -``` 1 thread::spawn(move || { -``` - -``` 2 println!("From thread: {:?}", list) -``` - -``` }).join().unwrap(); -``` - -``` } ``` @@ -736,50 +416,21 @@ and that don’t mutate captured values, as well as closures that capture nothin from their environment. These closures can be called more than once without mutating their environment, which is important in cases such as calling a closure multiple times concurrently. + Let’s look at the definition of the `unwrap_or_else` method on `Option` that we used in Listing 13-1: ``` impl Option { -``` - -``` pub fn unwrap_or_else(self, f: F) -> T -``` - -``` where -``` - -``` F: FnOnce() -> T -``` - -``` { -``` - -``` match self { -``` - -``` Some(x) => x, -``` - -``` None => f(), -``` - -``` } -``` - -``` } -``` - -``` } ``` @@ -801,9 +452,9 @@ called. If the `Option` is `None`, `f` will be called once. Because all closures implement `FnOnce`, `unwrap_or_else` accepts the largest variety of closures and is as flexible as it can be. -> NoteFunctions can implement all three of the `Fn` traits too. If what we want -to do doesn’t require capturing a value from the environment, we can use the -name of a function rather than a closure where we need something that +> Note: Functions can implement all three of the `Fn` traits too. If what we +want to do doesn’t require capturing a value from the environment, we can use +the name of a function rather than a closure where we need something that implements one of the `Fn` traits. For example, on an `Option>` value, we could call `unwrap_or_else(Vec::new)` to get a new, empty vector if the value is `None`. @@ -821,65 +472,20 @@ Filename: src/main.rs ``` #[derive(Debug)] -``` - -``` struct Rectangle { -``` - -``` width: u32, -``` - -``` height: u32, -``` - -``` } -``` - -``` -``` - -``` fn main() { -``` - -``` let mut list = [ -``` - -``` Rectangle { width: 10, height: 1 }, -``` - -``` Rectangle { width: 3, height: 5 }, -``` - -``` Rectangle { width: 7, height: 12 }, -``` - -``` ]; -``` - -``` - -``` -``` list.sort_by_key(|r| r.width); -``` - -``` println!("{:#?}", list); -``` - -``` } ``` @@ -889,57 +495,18 @@ This code prints: ``` [ -``` - -``` Rectangle { -``` - -``` width: 3, -``` - -``` height: 5, -``` - -``` }, -``` - -``` Rectangle { -``` - -``` width: 7, -``` - -``` height: 12, -``` - -``` }, -``` - -``` Rectangle { -``` - -``` width: 10, -``` - -``` height: 1, -``` - -``` }, -``` - -``` ] ``` @@ -956,73 +523,22 @@ Filename: src/main.rs ``` --snip-- -``` - -``` -``` - -``` fn main() { -``` - -``` let mut list = [ -``` - -``` Rectangle { width: 10, height: 1 }, -``` - -``` Rectangle { width: 3, height: 5 }, -``` - -``` Rectangle { width: 7, height: 12 }, -``` - -``` ]; -``` - -``` - -``` -``` let mut sort_operations = vec![]; -``` - -``` let value = String::from("by key called"); -``` - -``` - -``` -``` list.sort_by_key(|r| { -``` - -``` sort_operations.push(value); -``` - -``` r.width -``` - -``` }); -``` - -``` println!("{:#?}", list); -``` - -``` } ``` @@ -1042,61 +558,19 @@ implement `FnMut`: ``` error[E0507]: cannot move out of `value`, a captured variable in an `FnMut` -``` - -``` closure -``` - -``` --> src/main.rs:18:30 -``` - -``` | -``` - -``` 15 | let value = String::from("by key called"); -``` - -``` | ----- captured outer variable -``` - -``` 16 | -``` - -``` 17 | list.sort_by_key(|r| { -``` - -``` | ______________________- -``` - -``` 18 | | sort_operations.push(value); -``` - -``` | | ^^^^^ move occurs because `value` has -``` - -``` type `String`, which does not implement the `Copy` trait -``` - -``` 19 | | r.width -``` - -``` 20 | | }); -``` - -``` | |_____- captured by this `FnMut` closure ``` @@ -1112,61 +586,19 @@ Filename: src/main.rs ``` --snip-- -``` - -``` -``` - -``` fn main() { -``` - -``` --snip-- -``` - -``` -``` - -``` let mut num_sort_operations = 0; -``` - -``` list.sort_by_key(|r| { -``` - -``` num_sort_operations += 1; -``` - -``` r.width -``` - -``` }); -``` - -``` println!( -``` - -``` "{:#?}, sorted in {num_sort_operations} operations", -``` - -``` list -``` - -``` ); -``` - -``` } ``` @@ -1192,13 +624,7 @@ useful. ``` let v1 = vec![1, 2, 3]; -``` - -``` -``` - -``` let v1_iter = v1.iter(); ``` @@ -1217,29 +643,11 @@ iteration of the loop, which prints out each value. ``` let v1 = vec![1, 2, 3]; -``` - -``` -``` - -``` let v1_iter = v1.iter(); -``` - -``` -``` - -``` for val in v1_iter { -``` - -``` println!("Got: {val}"); -``` - -``` } ``` @@ -1263,29 +671,11 @@ standard library. The definition of the trait looks like this: ``` pub trait Iterator { -``` - -``` type Item; -``` - -``` -``` - -``` fn next(&mut self) -> Option; -``` -``` - -``` - -``` // methods with default implementations elided -``` - -``` } ``` @@ -1309,45 +699,15 @@ Filename: src/lib.rs ``` #[test] -``` - -``` fn iterator_demonstration() { -``` - -``` let v1 = vec![1, 2, 3]; -``` - -``` - -``` -``` let mut v1_iter = v1.iter(); -``` - -``` - -``` -``` assert_eq!(v1_iter.next(), Some(&1)); -``` - -``` assert_eq!(v1_iter.next(), Some(&2)); -``` - -``` assert_eq!(v1_iter.next(), Some(&3)); -``` - -``` assert_eq!(v1_iter.next(), None); -``` - -``` } ``` @@ -1376,52 +736,25 @@ trait. Some of these methods call the `next` method in their definition, which is why you’re required to implement the `next` method when implementing the `Iterator` trait. -Methods that call `next` are called *consuming adapt**e**rs* because calling -them uses up the iterator. One example is the `sum` method, which takes -ownership of the iterator and iterates through the items by repeatedly calling -`next`, thus consuming the iterator. As it iterates through, it adds each item -to a running total and returns the total when iteration is complete. Listing -13-13 has a test illustrating a use of the `sum` method. +Methods that call `next` are called *consuming adapters* because calling them +uses up the iterator. One example is the `sum` method, which takes ownership of +the iterator and iterates through the items by repeatedly calling `next`, thus +consuming the iterator. As it iterates through, it adds each item to a running +total and returns the total when iteration is complete. Listing 13-13 has a +test illustrating a use of the `sum` method. Filename: src/lib.rs ``` #[test] -``` - -``` fn iterator_sum() { -``` - -``` let v1 = vec![1, 2, 3]; -``` - -``` - -``` -``` let v1_iter = v1.iter(); -``` - -``` - -``` -``` let total: i32 = v1_iter.sum(); -``` - -``` - -``` -``` assert_eq!(total, 6); -``` - -``` } ``` @@ -1432,7 +765,7 @@ ownership of the iterator we call it on. ### Methods That Produce Other Iterators -*Iterator adapt**e**rs* are methods defined on the `Iterator` trait that don’t +*Iterator adapters* are methods defined on the `Iterator` trait that don’t consume the iterator. Instead, they produce different iterators by changing some aspect of the original iterator. @@ -1446,13 +779,7 @@ Filename: src/main.rs ``` let v1: Vec = vec![1, 2, 3]; -``` -``` - -``` - -``` v1.iter().map(|x| x + 1); ``` @@ -1462,33 +789,12 @@ However, this code produces a warning: ``` warning: unused `Map` that must be used -``` - -``` --> src/main.rs:4:5 -``` - -``` | -``` - -``` 4 | v1.iter().map(|x| x + 1); -``` - -``` | ^^^^^^^^^^^^^^^^^^^^^^^^^ -``` - -``` | -``` - -``` = note: `#[warn(unused_must_use)]` on by default -``` - -``` = note: iterators are lazy and do nothing unless consumed ``` @@ -1508,21 +814,9 @@ Filename: src/main.rs ``` let v1: Vec = vec![1, 2, 3]; -``` - -``` -``` - -``` let v2: Vec<_> = v1.iter().map(|x| x + 1).collect(); -``` - -``` -``` - -``` assert_eq!(v2, vec![2, 3, 4]); ``` @@ -1557,193 +851,52 @@ Filename: src/lib.rs ``` #[derive(PartialEq, Debug)] -``` - -``` struct Shoe { -``` - -``` size: u32, -``` - -``` style: String, -``` - -``` } -``` - -``` -``` - -``` fn shoes_in_size(shoes: Vec, shoe_size: u32) -> Vec { -``` - -``` shoes.into_iter().filter(|s| s.size == shoe_size).collect() -``` - -``` } -``` - -``` -``` - -``` #[cfg(test)] -``` - -``` mod tests { -``` - -``` use super::*; -``` - -``` - -``` -``` #[test] -``` - -``` fn filters_by_size() { -``` - -``` let shoes = vec![ -``` - -``` Shoe { -``` - -``` size: 10, -``` - -``` style: String::from("sneaker"), -``` - -``` }, -``` - -``` Shoe { -``` - -``` size: 13, -``` - -``` style: String::from("sandal"), -``` - -``` }, -``` - -``` Shoe { -``` - -``` size: 10, -``` - -``` style: String::from("boot"), -``` - -``` }, -``` - -``` ]; -``` - -``` - -``` -``` let in_my_size = shoes_in_size(shoes, 10); -``` - -``` - -``` -``` assert_eq!( -``` - -``` in_my_size, -``` - -``` vec![ -``` - -``` Shoe { -``` - -``` size: 10, -``` - -``` style: String::from("sneaker") -``` - -``` }, -``` - -``` Shoe { -``` - -``` size: 10, -``` - -``` style: String::from("boot") -``` - -``` }, -``` - -``` ] -``` - -``` ); -``` - -``` } -``` - -``` } ``` @@ -1785,81 +938,24 @@ Filename: src/lib.rs ``` impl Config { -``` - -``` pub fn build( -``` - -``` args: &[String] -``` - -``` ) -> Result { -``` - -``` if args.len() < 3 { -``` - -``` return Err("not enough arguments"); -``` - -``` } -``` - -``` -``` - -``` let query = args[1].clone(); -``` - -``` let file_path = args[2].clone(); -``` - -``` - -``` - -``` - let ignore_case = env::var("IGNORE_CASE").is_ok(); -``` - -``` -``` + let ignore_case = env::var("IGNORE_CASE").is_ok(); -``` Ok(Config { -``` - -``` query, -``` - -``` file_path, -``` - -``` ignore_case, -``` - -``` }) -``` - -``` } -``` - -``` } ``` @@ -1891,41 +987,14 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let args: Vec = env::args().collect(); -``` - -``` - -``` -``` let config = Config::build(&args).unwrap_or_else(|err| { -``` - -``` eprintln!("Problem parsing arguments: {err}"); -``` - -``` process::exit(1); -``` - -``` }); -``` -``` - -``` - -``` --snip-- -``` - -``` } ``` @@ -1937,37 +1006,13 @@ Filename: src/main.rs ``` fn main() { -``` - -``` let config = -``` - -``` Config::build(env::args()).unwrap_or_else(|err| { -``` - -``` eprintln!("Problem parsing arguments: {err}"); -``` - -``` process::exit(1); -``` - -``` }); -``` -``` - -``` - -``` --snip-- -``` - -``` } ``` @@ -1987,21 +1032,9 @@ Filename: src/lib.rs ``` impl Config { -``` - -``` pub fn build( -``` - -``` mut args: impl Iterator, -``` - -``` ) -> Result { -``` - -``` --snip-- ``` @@ -2031,101 +1064,29 @@ Filename: src/lib.rs ``` impl Config { -``` - -``` pub fn build( -``` - -``` mut args: impl Iterator, -``` - -``` ) -> Result { -``` - -``` args.next(); -``` - -``` - -``` -``` let query = match args.next() { -``` - -``` Some(arg) => arg, -``` - -``` None => return Err("Didn't get a query string"), -``` - -``` }; -``` -``` - -``` - -``` let file_path = match args.next() { -``` - -``` Some(arg) => arg, -``` - -``` None => return Err("Didn't get a file path"), -``` - -``` }; -``` - -``` - -``` -``` let ignore_case = env::var("IGNORE_CASE").is_ok(); -``` - -``` - -``` -``` Ok(Config { -``` - -``` query, -``` - -``` file_path, -``` - -``` ignore_case, -``` - -``` }) -``` - -``` } -``` - -``` } ``` @@ -2148,57 +1109,18 @@ Filename: src/lib.rs ``` pub fn search<'a>( -``` - -``` query: &str, -``` - -``` contents: &'a str, -``` - -``` ) -> Vec<&'a str> { -``` - -``` let mut results = Vec::new(); -``` - -``` - -``` -``` for line in contents.lines() { -``` - -``` if line.contains(query) { -``` - -``` results.push(line); -``` - -``` } -``` - -``` } -``` - -``` - -``` -``` results -``` - -``` } ``` @@ -2215,37 +1137,13 @@ Filename: src/lib.rs ``` pub fn search<'a>( -``` - -``` query: &str, -``` - -``` contents: &'a str, -``` - -``` ) -> Vec<&'a str> { -``` - -``` contents -``` - -``` .lines() -``` - -``` .filter(|line| line.contains(query)) -``` - -``` .collect() -``` - -``` } ``` @@ -2287,9 +1185,6 @@ version of `search` using the `for` loop and the version using iterators: ``` test bench_search_for ... bench: 19,620,300 ns/iter (+/- 915,700) -``` - -``` test bench_search_iter ... bench: 19,234,900 ns/iter (+/- 657,200) ``` @@ -2308,63 +1203,30 @@ imposes no additional runtime overhead. This is analogous to how Bjarne Stroustrup, the original designer and implementor of C++, defines *zero-overhead* in “Foundations of C++” (2012): - -Unmatched: QuotePara - As another example, the following code is taken from an audio decoder. -The decoding algorithm uses the linear prediction mathematical operation to -estimate future values based on a linear function of the previous samples. This -code uses an iterator chain to do some math on three variables in scope: a -`buffer` slice of data, an array of 12 `coefficients`, and an amount by which -to shift data in `qlp_shift`. We’ve declared the variables within this example -but not given them any values; although this code doesn’t have much meaning -outside of its context, it’s still a concise, real-world example of how Rust -translates high-level ideas to low-level code. +> In general, C++ implementations obey the zero-overhead principle: What you +don’t use, you don’t pay for. And further: What you do use, you couldn’t hand +code any better.As another example, the following code is taken from an audio +decoder. The decoding algorithm uses the linear prediction mathematical +operation to estimate future values based on a linear function of the previous +samples. This code uses an iterator chain to do some math on three variables in +scope: a `buffer` slice of data, an array of 12 `coefficients`, and an amount +by which to shift data in `qlp_shift`. We’ve declared the variables within this +example but not given them any values; although this code doesn’t have much +meaning outside of its context, it’s still a concise, real-world example of how +Rust translates high-level ideas to low-level code. ``` let buffer: &mut [i32]; -``` - -``` let coefficients: [i64; 12]; -``` - -``` let qlp_shift: i16; -``` - -``` -``` - -``` for i in 12..buffer.len() { -``` - -``` let prediction = coefficients.iter() -``` - -``` .zip(&buffer[i - 12..i]) -``` - -``` .map(|(&c, &s)| c * s as i64) -``` - -``` .sum::() >> qlp_shift; -``` - -``` let delta = buffer[i]; -``` - -``` buffer[i] = prediction as i32 + delta; -``` - -``` } ``` From 6e47fbf18f96f1a2fa52298b834570453a331f4b Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 12:22:20 -0400 Subject: [PATCH 0487/1248] Handle listing numbers --- nostarch/chapter13.md | 54 ++++++++++++++++++++++++------------------- tools/docx-to-md.xsl | 7 ++++++ 2 files changed, 37 insertions(+), 24 deletions(-) diff --git a/nostarch/chapter13.md b/nostarch/chapter13.md index 24f7da46a0..52c1f5f977 100644 --- a/nostarch/chapter13.md +++ b/nostarch/chapter13.md @@ -124,7 +124,7 @@ fn main() { } ``` -Shirt company giveaway situation +Listing 13-1: Shirt company giveaway situation The `store` defined in `main` has two blue shirts and one red shirt remaining to distribute for this limited-edition promotion [2]. We call the `giveaway` @@ -199,8 +199,8 @@ let expensive_closure = |num: u32| -> u32 { }; ``` -Adding optional type annotations of the parameter and return value types in the -closure +Listing 13-2: Adding optional type annotations of the parameter and return +value types in the closure With type annotations added, the syntax of closures looks more similar to the syntax of functions. Here, we define a function that adds 1 to its parameter @@ -244,7 +244,8 @@ let s = example_closure(String::from("hello")); let n = example_closure(5); ``` -Attempting to call a closure whose types are inferred with two different types +Listing 13-3: Attempting to call a closure whose types are inferred with two +different types The compiler gives us this error: @@ -291,7 +292,8 @@ fn main() { } ``` -Defining and calling a closure that captures an immutable reference +Listing 13-4: Defining and calling a closure that captures an immutable +reference This example also illustrates that a variable can bind to a closure definition [1], and we can later call the closure by using the variable name and @@ -326,7 +328,7 @@ fn main() { } ``` -Defining and calling a closure that captures a mutable reference +Listing 13-5: Defining and calling a closure that captures a mutable reference This code compiles, runs, and prints: @@ -369,7 +371,8 @@ fn main() { } ``` -Using `move` to force the closure for the thread to take ownership of `list` +Listing 13-6: Using `move` to force the closure for the thread to take +ownership of `list` We spawn a new thread, giving the thread a closure to run as an argument. The closure body prints out the list. In Listing 13-4, the closure only captured @@ -489,7 +492,7 @@ fn main() { } ``` -Using `sort_by_key` to order rectangles by width +Listing 13-7: Using `sort_by_key` to order rectangles by width This code prints: @@ -542,7 +545,7 @@ fn main() { } ``` -Attempting to use an `FnOnce` closure with `sort_by_key` +Listing 13-8: Attempting to use an `FnOnce` closure with `sort_by_key` This is a contrived, convoluted way (that doesn’t work) to try and count the number of times `sort_by_key` gets called when sorting `list`. This code @@ -602,7 +605,7 @@ fn main() { } ``` -Using an `FnMut` closure with `sort_by_key` is allowed. +Listing 13-9: Using an `FnMut` closure with `sort_by_key` is allowed. The `Fn` traits are important when defining or using functions or types that make use of closures. In the next section, we’ll discuss iterators. Many @@ -628,7 +631,7 @@ let v1 = vec![1, 2, 3]; let v1_iter = v1.iter(); ``` -Creating an iterator +Listing 13-10: Creating an iterator The iterator is stored in the `v1_iter` variable. Once we’ve created an iterator, we can use it in a variety of ways. In Listing 3-5, we iterated over @@ -651,7 +654,7 @@ for val in v1_iter { } ``` -Using an iterator in a `for` loop +Listing 13-11: Using an iterator in a `for` loop In languages that don’t have iterators provided by their standard libraries, you would likely write this same functionality by starting a variable at index @@ -711,7 +714,7 @@ fn iterator_demonstration() { } ``` -Calling the `next` method on an iterator +Listing 13-12: Calling the `next` method on an iterator Note that we needed to make `v1_iter` mutable: calling the `next` method on an iterator changes internal state that the iterator uses to keep track of where @@ -758,7 +761,8 @@ fn iterator_sum() { } ``` -Calling the `sum` method to get the total of all items in the iterator +Listing 13-13: Calling the `sum` method to get the total of all items in the +iterator We aren’t allowed to use `v1_iter` after the call to `sum` because `sum` takes ownership of the iterator we call it on. @@ -783,7 +787,7 @@ let v1: Vec = vec![1, 2, 3]; v1.iter().map(|x| x + 1); ``` -Calling the iterator adapter `map` to create a new iterator +Listing 13-14: Calling the iterator adapter `map` to create a new iterator However, this code produces a warning: @@ -820,8 +824,8 @@ let v2: Vec<_> = v1.iter().map(|x| x + 1).collect(); assert_eq!(v2, vec![2, 3, 4]); ``` -Calling the `map` method to create a new iterator, and then calling the -`collect` method to consume the new iterator and create a vector +Listing 13-15: Calling the `map` method to create a new iterator, and then +calling the `collect` method to consume the new iterator and create a vector Because `map` takes a closure, we can specify any operation we want to perform on each item. This is a great example of how closures let you customize some @@ -900,7 +904,8 @@ mod tests { } ``` -Using the `filter` method with a closure that captures `shoe_size` +Listing 13-16: Using the `filter` method with a closure that captures +`shoe_size` The `shoes_in_size` function takes ownership of a vector of shoes and a shoe size as parameters. It returns a vector containing only shoes of the specified @@ -959,7 +964,7 @@ impl Config { } ``` -Reproduction of the `Config::build` function from Listing 12-23 +Listing 13-17: Reproduction of the `Config::build` function from Listing 12-23 At the time, we said not to worry about the inefficient `clone` calls because we would remove them in the future. Well, that time is now! @@ -1016,7 +1021,7 @@ fn main() { } ``` -Passing the return value of `env::args` to `Config::build` +Listing 13-18: Passing the return value of `env::args` to `Config::build` The `env::args` function returns an iterator! Rather than collecting the iterator values into a vector and then passing a slice to `Config::build`, now @@ -1038,7 +1043,7 @@ impl Config { --snip-- ``` -Updating the signature of `Config::build` to expect an iterator +Listing 13-19: Updating the signature of `Config::build` to expect an iterator The standard library documentation for the `env::args` function shows that the type of the iterator it returns is `std::env::Args`, and that type implements @@ -1090,7 +1095,7 @@ impl Config { } ``` -Changing the body of `Config::build` to use iterator methods +Listing 13-20: Changing the body of `Config::build` to use iterator methods Remember that the first value in the return value of `env::args` is the name of the program. We want to ignore that and get to the next value, so first we call @@ -1124,7 +1129,7 @@ pub fn search<'a>( } ``` -The implementation of the `search` function from Listing 12-19 +Listing 13-21: The implementation of the `search` function from Listing 12-19 We can write this code in a more concise way using iterator adapter methods. Doing so also lets us avoid having a mutable intermediate `results` vector. The @@ -1147,7 +1152,8 @@ pub fn search<'a>( } ``` -Using iterator adapter methods in the implementation of the `search` function +Listing 13-22: Using iterator adapter methods in the implementation of the +`search` function Recall that the purpose of the `search` function is to return all lines in `contents` that contain the `query`. Similar to the `filter` example in Listing diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index d73e7d45cc..2d726e78a0 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -30,6 +30,8 @@ + + @@ -211,6 +213,11 @@ + Listing + + - + + : From b46e40570b82bda7d4084040a0960534fbbf135b Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 12:23:24 -0400 Subject: [PATCH 0488/1248] Regenerate ch4 --- nostarch/chapter04.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/nostarch/chapter04.md b/nostarch/chapter04.md index c6a7b18756..9dd2f81549 100644 --- a/nostarch/chapter04.md +++ b/nostarch/chapter04.md @@ -35,7 +35,6 @@ the features that make Rust unique. In this chapter, you’ll learn ownership by working through some examples that focus on a very common data structure: strings. - > ### The Stack and the Heap > > Many programming languages don’t require you to think about the stack and the @@ -135,7 +134,7 @@ program with comments annotating where the variable `s` would be valid. } // this scope is now over, and s is no longer valid ``` -A variable and the scope in which it is valid +Listing -1: A variable and the scope in which it is valid In other words, there are two important points in time here: @@ -265,7 +264,7 @@ let x = 5; let y = x; ``` -Assigning the integer value of variable `x` to `y` +Listing -2: Assigning the integer value of variable `x` to `y` We can probably guess what this is doing: “bind the value `5` to `x`; then make a copy of the value in `x` and bind it to `y`.” We now have two variables, `x` @@ -472,7 +471,7 @@ fn makes_copy(some_integer: i32) { // some_integer comes into scope } // Here, some_integer goes out of scope. Nothing special happens ``` -Functions with ownership and scope annotated +Listing -3: Functions with ownership and scope annotated If we tried to use `s` after the call to `takes_ownership`, Rust would throw a compile-time error. These static checks protect us from mistakes. Try adding @@ -518,7 +517,7 @@ fn takes_and_gives_back(a_string: String) -> String { // a_string comes into } ``` -Transferring ownership of return values +Listing -4: Transferring ownership of return values The ownership of a variable follows the same pattern every time: assigning a value to another variable moves it. When a variable that includes data on the @@ -551,7 +550,7 @@ fn calculate_length(s: String) -> (String, usize) { } ``` -Returning ownership of parameters +Listing -5: Returning ownership of parameters But this is too much ceremony and a lot of work for a concept that should be common. Luckily for us, Rust has a feature for using a value without @@ -650,7 +649,7 @@ fn change(some_string: &String) { } ``` -Attempting to modify a borrowed value +Listing -6: Attempting to modify a borrowed value Here’s the error: @@ -958,8 +957,8 @@ fn first_word(s: &String) -> usize { } ``` -The `first_word` function that returns a byte index value into the `String` -parameter +Listing -7: The `first_word` function that returns a byte index value into the +`String` parameter Because we need to go through the `String` element by element and check whether a value is a space, we’ll convert our `String` to an array of bytes using the @@ -1004,8 +1003,8 @@ fn main() { } ``` -Storing the result from calling the `first_word` function and then changing the -`String` contents +Listing -8: Storing the result from calling the `first_word` function and then +changing the `String` contents This program compiles without any errors and would also do so if we used `word` after calling `s.clear()`. Because `word` isn’t connected to the state of `s` @@ -1208,8 +1207,8 @@ and `&str` values. fn first_word(s: &str) -> &str { ``` -Improving the `first_word` function by using a string slice for the type of the -`s` parameter +Listing -9: Improving the `first_word` function by using a string slice for the +type of the `s` parameter If we have a string slice, we can pass that directly. If we have a `String`, we can pass a slice of the `String` or a reference to the `String`. This From 77bfbfe16f65af09cbb3b7cb831de31b2adb499c Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 12:34:49 -0400 Subject: [PATCH 0489/1248] Handle figures too --- nostarch/chapter04.md | 38 +++++++++++++++++++------------------- tools/docx-to-md.xsl | 5 +++++ 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/nostarch/chapter04.md b/nostarch/chapter04.md index 9dd2f81549..11f7f4944b 100644 --- a/nostarch/chapter04.md +++ b/nostarch/chapter04.md @@ -134,7 +134,7 @@ program with comments annotating where the variable `s` would be valid. } // this scope is now over, and s is no longer valid ``` -Listing -1: A variable and the scope in which it is valid +Listing 4-1: A variable and the scope in which it is valid In other words, there are two important points in time here: @@ -264,7 +264,7 @@ let x = 5; let y = x; ``` -Listing -2: Assigning the integer value of variable `x` to `y` +Listing 4-2: Assigning the integer value of variable `x` to `y` We can probably guess what this is doing: “bind the value `5` to `x`; then make a copy of the value in `x` and bind it to `y`.” We now have two variables, `x` @@ -289,8 +289,8 @@ the memory that holds the contents of the string, a length, and a capacity. This group of data is stored on the stack. On the right is the memory on the heap that holds the contents. - Representation in memory of a `String` holding the value `"hello"` bound to -`s1` +Figure 4-1: Representation in memory of a `String` holding the value `"hello"` +bound to `s1` The length is how much memory, in bytes, the contents of the `String` are currently using. The capacity is the total amount of memory, in bytes, that the @@ -303,16 +303,16 @@ pointer, the length, and the capacity that are on the stack. We do not copy the data on the heap that the pointer refers to. In other words, the data representation in memory looks like Figure 4-2. -Representation in memory of the variable `s2` that has a copy of the pointer, -length, and capacity of `s1` +Figure 4-2: Representation in memory of the variable `s2` that has a copy of +the pointer, length, and capacity of `s1` The representation does *not* look like Figure 4-3, which is what memory would look like if Rust instead copied the heap data as well. If Rust did this, the operation `s2 = s1` could be very expensive in terms of runtime performance if the data on the heap were large. -Another possibility for what `s2 = s1` might do if Rust copied the heap data as -well +Figure 4-3: Another possibility for what `s2 = s1` might do if Rust copied the +heap data as well Earlier, we said that when a variable goes out of scope, Rust automatically calls the `drop` function and cleans up the heap memory for that variable. But @@ -358,7 +358,7 @@ because Rust also invalidates the first variable, instead of being called a shallow copy, it’s known as a *move*. In this example, we would say that `s1` was *moved* into `s2`. So, what actually happens is shown in Figure 4-4. -Representation in memory after `s1` has been invalidated +Figure 4-4: Representation in memory after `s1` has been invalidated That solves our problem! With only `s2` valid, when it goes out of scope it alone will free the memory, and we’re done. @@ -471,7 +471,7 @@ fn makes_copy(some_integer: i32) { // some_integer comes into scope } // Here, some_integer goes out of scope. Nothing special happens ``` -Listing -3: Functions with ownership and scope annotated +Listing 4-3: Functions with ownership and scope annotated If we tried to use `s` after the call to `takes_ownership`, Rust would throw a compile-time error. These static checks protect us from mistakes. Try adding @@ -517,7 +517,7 @@ fn takes_and_gives_back(a_string: String) -> String { // a_string comes into } ``` -Listing -4: Transferring ownership of return values +Listing 4-4: Transferring ownership of return values The ownership of a variable follows the same pattern every time: assigning a value to another variable moves it. When a variable that includes data on the @@ -550,7 +550,7 @@ fn calculate_length(s: String) -> (String, usize) { } ``` -Listing -5: Returning ownership of parameters +Listing 4-5: Returning ownership of parameters But this is too much ceremony and a lot of work for a concept that should be common. Luckily for us, Rust has a feature for using a value without @@ -592,7 +592,7 @@ function return value is gone. Second, note that we pass `&s1` into `String`. These ampersands represent *references*, and they allow you to refer to some value without taking ownership of it. Figure 4-5 depicts this concept. -A diagram of `&String s` pointing at `String s1` +Figure 4-5: A diagram of `&String s` pointing at `String s1` > Note: The opposite of referencing by using `&` is *dereferencing*, which is accomplished with the dereference operator, `*`. We’ll see some uses of the @@ -649,7 +649,7 @@ fn change(some_string: &String) { } ``` -Listing -6: Attempting to modify a borrowed value +Listing 4-6: Attempting to modify a borrowed value Here’s the error: @@ -957,7 +957,7 @@ fn first_word(s: &String) -> usize { } ``` -Listing -7: The `first_word` function that returns a byte index value into the +Listing 4-7: The `first_word` function that returns a byte index value into the `String` parameter Because we need to go through the `String` element by element and check whether @@ -1003,7 +1003,7 @@ fn main() { } ``` -Listing -8: Storing the result from calling the `first_word` function and then +Listing 4-8: Storing the result from calling the `first_word` function and then changing the `String` contents This program compiles without any errors and would also do so if we used `word` @@ -1050,7 +1050,7 @@ byte at index 6 of `s` with a length value of `5`. Figure 4-6 shows this in a diagram. -String slice referring to part of a `String` +Figure 4-6: String slice referring to part of a `String` With Rust’s `..` range syntax, if you want to start at index 0, you can drop the value before the two periods. In other words, these are equal: @@ -1207,8 +1207,8 @@ and `&str` values. fn first_word(s: &str) -> &str { ``` -Listing -9: Improving the `first_word` function by using a string slice for the -type of the `s` parameter +Listing 4-9: Improving the `first_word` function by using a string slice for +the type of the `s` parameter If we have a string slice, we can pass that directly. If we have a `String`, we can pass a slice of the `String` or a reference to the `String`. This diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index 2d726e78a0..d0356a515a 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -282,6 +282,11 @@ + Figure + + - + + : From 1497658929fe4b8ed3f2a3d099711cd029ccad3a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 12:42:53 -0400 Subject: [PATCH 0490/1248] Number Table captions too --- tools/docx-to-md.xsl | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index d0356a515a..fdf1450f3f 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -212,11 +212,21 @@ ``` - + + Table + + - + + : + + + + + Listing - - + : From d57b3d4764ebeea738559b20caffc17bcda043f5 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 13 Sep 2022 12:53:30 -0400 Subject: [PATCH 0491/1248] Fix chapter numbers in word doc so they're in the XML --- nostarch/docx/chapter01.docx | Bin 62304 -> 62028 bytes nostarch/docx/chapter04.docx | Bin 81954 -> 82061 bytes nostarch/docx/chapter09.docx | Bin 72409 -> 72443 bytes nostarch/docx/chapter10.docx | Bin 91284 -> 91401 bytes nostarch/docx/chapter14.docx | Bin 68287 -> 68628 bytes nostarch/docx/chapter15.docx | Bin 113472 -> 113092 bytes nostarch/docx/chapter16.docx | Bin 82872 -> 83049 bytes nostarch/docx/chapter17.docx | Bin 79998 -> 79619 bytes nostarch/docx/chapter18.docx | Bin 75610 -> 75512 bytes nostarch/docx/chapter19.docx | Bin 104867 -> 104784 bytes nostarch/docx/chapter20.docx | Bin 135532 -> 135245 bytes 11 files changed, 0 insertions(+), 0 deletions(-) diff --git a/nostarch/docx/chapter01.docx b/nostarch/docx/chapter01.docx index a0f6959dfc4233ddf5cc50560d4289c59e7f9684..11b97cc69f167e1a4c50a2e3ce4b684da24532f3 100644 GIT binary patch delta 40875 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 From c3261060ae0eefca1e3a0858027a57d59f98493a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 29 Aug 2022 15:20:32 -0400 Subject: [PATCH 0443/1248] Re-checks of chapter 18 --- nostarch/chapter18.md | 28 ++++++++++++++-------------- nostarch/docx/chapter18.docx | Bin 78947 -> 75610 bytes 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/nostarch/chapter18.md b/nostarch/chapter18.md index 8beb011741..9c93ff8f3f 100644 --- a/nostarch/chapter18.md +++ b/nostarch/chapter18.md @@ -8,7 +8,7 @@ directory, so all fixes need to be made in `/src/`. # Patterns and Matching - *Patterns* are a special syntax in Rust for matching against the structure of +*Patterns* are a special syntax in Rust for matching against the structure of types, both complex and simple. Using patterns in conjunction with `match` expressions and other constructs gives you more control over a program’s control flow. A pattern consists of some combination of the following: @@ -236,7 +236,7 @@ would not alert us to the possible logic bug. Similar in construction to `if let`, the `while let` conditional loop allows a `while` loop to run for as long as a pattern continues to match. In Listing -18-2 we code a `while let` loop that uses a vector as a stack and prints the +18-2, we code a `while let` loop that uses a vector as a stack and prints the values in the vector in the opposite order in which they were pushed. ``` @@ -288,7 +288,7 @@ can use `while let` to pop every element off our stack. In a `for` loop, the value that directly follows the keyword `for` is a pattern. For example, in `for x in y`, the `x` is the pattern. Listing 18-3 -demonstrates how to use a pattern in a `for` loop to destructure, or break +demonstrates how to use a pattern in a `for` loop to *destructure*, or break apart, a tuple as part of the `for` loop. ``` @@ -588,7 +588,7 @@ an `enum` with only one variant ``` ``` -book/ch18-02-refutability.html +https://doc.rust-lang.org/book/ch18-02-refutability.html ``` ``` @@ -881,9 +881,9 @@ match x { } ``` -This code prints `one or two`. -### Matching Ranges of Values with ..= +Unmatched: BodyContinued + ### Matching Ranges of Values with ..= The `..=` syntax allows us to match to an inclusive range of values. In the following code, when a pattern matches any of the values within the given @@ -1153,7 +1153,7 @@ value of the `y` field. The third arm doesn’t specify any literals, so it matches any other `Point` and creates variables for both the `x` and `y` fields. In this example, the value `p` matches the second arm by virtue of `x` -containing a 0, so this code will print `On the y axis at 7`. +containing a `0`, so this code will print `On the y axis at 7`. Remember that a `match` expression stops checking arms once it has found the first matching pattern, so even though `Point { x: 0, y: 0}` is on the `x` axis @@ -1919,7 +1919,7 @@ useful for expressing more complex ideas than a pattern alone allows. The condition can use variables created in the pattern. Listing 18-26 shows a `match` where the first arm has the pattern `Some(x)` and also has a match -guard of `if x % 2 == 0` (which will be true if the number is even). +guard of `if x % 2 == 0` (which will be `true` if the number is even). ``` let num = Some(4); @@ -1957,7 +1957,7 @@ the match guard checks whether the remainder of dividing `x` by 2 is equal to 0, and because it is, the first arm is selected. If `num` had been `Some(5)` instead, the match guard in the first arm would -have been false because the remainder of 5 divided by 2 is 1, which is not +have been `false` because the remainder of 5 divided by 2 is 1, which is not equal to 0. Rust would then go to the second arm, which would match because the second arm doesn’t have a match guard and therefore matches any `Some` variant. @@ -2077,11 +2077,11 @@ Combining multiple patterns with a match guard The match condition states that the arm only matches if the value of `x` is equal to `4`, `5`, or `6` *and* if `y` is `true`. When this code runs, the pattern of the first arm matches because `x` is `4`, but the match guard `if y` -is false, so the first arm is not chosen. The code moves on to the second arm, -which does match, and this program prints `no`. The reason is that the `if` -condition applies to the whole pattern `4 | 5 | 6`, not just to the last value -`6`. In other words, the precedence of a match guard in relation to a pattern -behaves like this: +is `false`, so the first arm is not chosen. The code moves on to the second +arm, which does match, and this program prints `no`. The reason is that the +`if` condition applies to the whole pattern `4 | 5 | 6`, not just to the last +value `6`. In other words, the precedence of a match guard in relation to a +pattern behaves like this: ``` (4 | 5 | 6) if y => ... diff --git a/nostarch/docx/chapter18.docx b/nostarch/docx/chapter18.docx index 6574875d98905132e7f2527d32db68511264c9b9..bc14026fb853797438350da22654fd5f9eb12942 100644 GIT binary patch delta 52864 zcmV)9K*hh~=mgr%1hD-HfBM4}fL)yc0E1Ho01*HH0C#V4WG`fIV|8t1ZgehqZEWm) z>5|(ao+*1A8k3N7VJy)NOQ5a72&oOlHB&p^o)%nlSPa`fCGTVD)%_Tuh9`b zFXtz@c`^YI009yt2o_m_!j`JIBr;E){LYeR`R9LmocYWHiefJee_mg3*X#v@f>Aj3 zg8SDO-+y$j)C(p~++ghbVSrv=JfZmFU*7!R|MSnw+i^Hr%utXpc!(grUCu|ZFQ!Q{ zzrDGMM^iL&io!UYB-f*Gb`wq}-U!_+!)ScNvm8r)nn&RX#W8-K=>`vOe31?} zdTck^IC7Wx%P^pLe>0l8QGy;iR(Z9s}VO^4$7R!p=jjj_om=XR~KEg~G?>vHXGYiMae;3BtDBz zs|W8zngVgTf0p2r4ZyDrAdgT>VUdlYreoZUR;L@r@me0MY#h2PFpjq(EY}hPtCJ}V z5Ra4bbf;1HjIKBET{m&3Zk#hZjEHudl#~zmG%L_(e&6jN{3!|-^VMixx6$6NAaM!G z$qr+s2da3;<8G7rFm>k`DQBbGxA#F9xpzLE5k4Laf97z8>;U|Y83q0!KcYwSI_xzA z7<2IkYgKpQ_=)}-egaYQA;B_;S>6I`au@iAz@6cNv200D6vS6pHM_#+buMf1YYGON0K;Gh9_aAaQy!D14!N}fu2QP6PFX#eU%lutL{`rtR`FQoW4=$D;AHOrx`9$>X$O(fa z#&5gv$n!p8(&P2bJWRu{^&s|OaOB2`9(!)_O*?%J-k-t;Yri>)lfuh}H}>eWgYaDx zh7`-v^C$gUGk=aZ5lQ-#{!u&O1 zF1|+YSij^h;a}sDC;yt4_#-fMKIZ<@YFKWJfCm#)T=5jY6Zu%j0X_&u(-7+mKYa{G ze;g|-oT$l!`=(x;gwYc)G?~c;9(@1W9D6YDj96cFa~12kI@)DU!-Bpqzm&aPGO1ezV^mr6qFz8-W55e>u{}Evg?Dk z@#s7KPxgD;VM@CW%-Y0^-6qsG0qdB&fBW9Q5f05x4bw-#cs28z!uh1|2j47<6Uh=( z%P`HdIAH}rRdlVbIH7+^;-s*qCUL^Q6mhZ*1VL6G5d@2TM^ua!ymwsuZGaLzn#BX` z?hm`d0K4Y`yRwGWb&+$*uq&_VOM-U*fqmo?1A^o^%-x%_$WCSe+;%C z;TO187@)WV6pI5CSB`{us!*&r4rlX>e?ru@0d>2gE)ibOgSuy=_kKw5v4e=80eU+?uQEVy znff?8G1!a$5SGJJV0+}=v9vky=~(UoJBAK6Q6m9d0~bU6b+!)0rb=X z^ePOdoGR$CoMTzCSkX6G$&~Q1Tb;w5LGN=4U)u(H+G&E`do)>KR3ee}f49sJQ-o<0 zF>V%p#r)a3pC*jsdOnkc%%59EF6?$NJ|j@n22iXppn9^P$aB1{IB;$Ypr}~3X;@N@ za|0-L07ZpR=JY@@1HTVXLE=6Rc(*s+DeQoE72e|5Qw2O;mo&@fDyFY2DUK)zByMLv zz#B~8)p;OUC#MH^M6dJke<#23Fz~tlVEA^xJZ`|ev%x$`)HT`E;4+{X@+ruQB=ZC2 z9R%|T%}yBezIA74%>2cTJjgQ~psxe;4LL^V1AQ!SC>AeQl8i*vvRT#`E}0JkeMe3* zY7KpO_q;hCFw3zVFmHd%8xnlhFpoP`%#%5e)_{&bRiG0^RZ&E~l0U;bq9O^@>plQo zSD-s`{!Clt&O-QfE=I{B0whdA#)y#niP7g!`-Z~dfP(v@;E=p>J}Af;Dr-3$9Qopn zh9Jm>sFEnO_9#e3e{X<1fu2=-4C3_P?9B+mCty?`xnqO@U>uTP=VAQ%LS;2JT~PMb zmyeo9&UV=kH9wG_2b}DHlS8`6`QW6WIflhsfQZHNb-LzQB6)Sd$)n@sk@Hjb!$~_> z4Ap_UpyZGlvWAi;Ta$t{Em3i_N|dz1O87q=iUtiRd32OKf6-KuGD?1ne?#L;sbt(> zJOF1`;2g3`)`0V5)0ss_z`Mp)f^2wB=WI^f(HTibAAqwnaGq#7O05}A5cA_=J_P6F zpV$X7huo7j$UNCJWY)GV(XgsC%o;FirwWXMVY9ZSS3QiZU??U(WIrDS=uR|2#(qp9x7g7oO%Ej5gUp{6 zZZsb5f0;YL;E*9xg+cyg6QTu&)meu$LoL7{XDX&GYT$7kV6Za`K4X8E|JQ==j*Gqx zIAVAhjf49EcRS$jka4qyyC>UfR&gAQGkG|D#rPgpvUJWSv3dL9?oeEIbskPMgXY6x zHglt=0qOQfx*==ke2|Xi98T0lh#o25UR#39f0hkxUgk`Joc}7)mER#q$2+_!>SRr| zNQb99Pf+yjVs?k3669?^rYnr0f3^J{d?rrbV;Z3djo-QVh}2#n4{u4&x*Ca>z z@!@iu!Aq)G?!hQotZlA{N)fH{Vu7sXcPLpYrMHpwqnG%Ehxemu?F4rubzY{M#)oIM ze}78npq`+dt=Ky6faEL?R1|GP)|_&WpB)Lx*`h)-+;f6%vxHKDz73KnJQP7KO|%s% z!*<4TI)Wo9S}Fy%0rZbHb1~0$B8K}mQhn)SD?qoMYw3s-zTdb%1s+amSr*}M6W8}f zP298zNH?(q8Kr?nZiE<@iRWnKxjqwfl z=;Lo;{=IF1-ijeu8mm=YR!aKk$l~xDyfkCs`zU#CVOU$ay`F-sV6&obLCW$#!4(Bp zxo2pM5j%39Fy10a)V)lh82^B=e>z#uM60K>XzQY5v6aBh&z{cpmA30i$m^;p32fz> z?z1Q151v0Bt=&`AlTa2VUEtVC&C}1GgztPTDyN}8uC{q>kU9dVDyC5}!dQ;iO+`2~ z6$@*srJ@mzpL(EQgAVZlq&9kVLC-8Im?M8NMvV$aCk?W(=Th4_U-mPve^>4$BYf3; za-co-GC|m@S7zvk(e3SfG~QvVZ?2iQ0nx@llf(Q?Y>4I58%My(d`u)w6h+`Cyf0VGK&~2-*itenI&Zz;3K?~c&~^_ zK)3+&AGHQD%OT?t{91LJcAd$N#!;75H+ujZWB;qEgR+)26E&d$~uouh;v3})gbbbUF@7chbXiW}rdCm_9i z2*k%^(Oz;^YaWLve-3{C?e7T@u;kd|{f)zs=R$H9apM&+av73OgQROCp?FQT9ZRT~ zQ!?kUnr_=iwgpZ?LQTDx8KuV=|L8LKxMS!JKt%``inb7#f?xN^7GRl`oxf}52ZX7Q zKQkgOzB4>v9zHB!2oY@y4$%r*fX&94_a946DY|+3h+4&oxESl<_ZNRg{rG1>usJ;{Pk` z0Kccg8q1d833TicniB=(tXA(bBOk#Xll#;LFl9@Vc%G}~&-CLw*{0Hejoh)mH)7s} z;is7!eIhAwfA~ut$OCvj$jsLl80xMtPh3$rxXL#E3QO0kJ9Gt#2YqziI3(|nj#G%! zkoodAY|MGtbLlD$v!{Bh6BCzCoHw;%Osp6fi1{8*y~0fEGa?C0^*q2@qNcHG#jN8E z$L1_4zwG^tgl10Qc{pblb6TM&Ab}PHHt9B`*P9e!e<{E`fEYobt&!FgQ#8Y0^uzN~ z(Le_a7g*&&SbY8h3-OXK7@|nTh~Bo2y?C^UV{mMwteMheImIHTgmOo#)(JXF;5popPVI)m1TtBoTeWMaCqYJt%NELrKrwR_oD&;c0J04e_ zRN~m_f4Bl<6Eg01Ug59S5ghPWn_vz2#`d@j(dGoP5&^Pu5Y&CY>0Ve}`GzW(TOt zOfWpP30B##1DoSgcwM2s!@VLY3*SG)mKKIA)7P*iMWp<@`u;ZZ?l)2VK6UApygs`G z47DR{mvEu>u`34w)P^0^qqW-5>)0nXD=a)Ke{ei4@mf?^M9B~wYc=)bD6Pl6tJ33K z_>SR-H|^vxeSeL&K&i{O7_$Ys0?0_vqc%U_C@$U>e%out38NX-bDny-b36Eq$t~6x zO}qf&Jg9T=6M9;PQBRk0{khfQDlxq-NW$t9b{*`fsw9;JVL;7;FhCGlL!##BJLC`$ ze~(KVKt^j7WG)%_k{g`WidP&6&Xi~oFdp^7(EVH8cHuSS)kB!z%FXS2pTNQG#cd+w zIE`a1!90x!IWrtTcc6IvHd8*^yw`=`@KA`w7`ZwR(z3@^4-~O!yZwQj6YPwj_ z4F=w*kP`ptku%=uA3xgfzda^zy#B*|fAYsZ*JS_r?!Eot!`turS=O7&Hq5Qdg28f? ztjdA82j+eO%*|P{te7I)(hkf$F!$lsbPCL^IEJAr?4XupMEkV`(Iiz+WtG&!FUBOR zvLsq+xp+%=q7@c$ct6i5oXt=`{eZ;_0XZG9k){oY#=*v98v1m}z?}=RrcNYoe{Q>r zf|*3&jDc8rxL%U4Bx)6ACL#o;Y;$exxsvbZaDnv)Kl!64@BloWS4FMc)V1}Hm1gZ_ z^6jI>cRGq~Om0@ev*yIpNU}Hu{G!(NV=J4KH&~seb&>|+ZPaYO1xFcG2;j$7Hj%-Z zoL~>c-AY`NJK=qm(wF|m{1d}{f7Oc2jvzu_>Okfc0LltXS;Vhyv8n<(;-TQj9y=S^k!I8ev6jO`*7w4KtEEbsP>&vy#6v7bp)w2*@N9hl9p&l zNkCr3t2aqh)@t?HTJuoS!eTcuk;L=5E+`cyl4MRZH69GVvr*`pnW*6ae|{`x{t#`! zi_b(^gX^T;R7-&Q&Xeso-OOvBWp)6dZh96x$yRuc6L)^noAtZ1no*x)QQaW;XpzZH z=9`j%X#Lx21^j!UtdAzirrE9}Q99Ss&Tn(8oUJ4xi``6*>gE7F3e^Q)7Cp#f4}AK< z34>g6lO2W2>k<#%)JlI*e>F|p(JPhGSWz)_Oa2VgN9#}Ych~}o(0?zy2*FO0>Peg7 z^JL;qy!3V-ovMF5#=e|V3s88|*m_le~5 z1ToYW%R}=?5*z*;!v8!K_V`ofcfk|MdA(%r773JTpe%Gp z(jqYqtPaT~6NmT%mPBqXzk#@*&;ERW{9W`H0ky866W9X>F3Br12Z@F80#APJvK zHz36-JZQ}hiLXzopbNr;R&|_sXna}3lA7G$=U)5)z$&8?e}wV_CB`TLVA&dIz0HuS z3$*_Iw|~3^dIK{3g_emSiDqf`+3&yo?~xH17P6;@q5er>GuaBy>Q2eIdykkOf9!=( zDur<>OJI3HF=&AOUTH9e?;k1+CLOZ8_}Vm>jmb`X&a!>}({6L!ni93=eDR4x!FY%K zob5ZlDL?0|fBB`KEvQeM>UC3YQmwBpMU(WVpedT8RR^uBpS{VIkCLCS3X`N-S=}HU zq33#{XPVEsp6sO2H!4?d7SFM&2KOQbHB^>N)6m2fZtkImI=0B0`3T2K^xV02{QfDR z-h{!sl@_+x#z9?RrzOT5I1{rMnsp%40jLBpP};SAf3sI>j!P*`vd}#*ofeGLgg={( z-%cl{S!uIZxKo+QI+}1<&)K?rd_@u^hpmDNUb<|FP&a9BP&pmjwt541nvELrZg!=8qWb1 z@e%E1(#VgyJM*D7YUb{P;&SCw#Daa_o5Ny9+8;nRdjy|w+RURpOWLGfKI_Tu33lKF zC`1g8Q*TI9n^4i#G0n)5E z9+7Au$*6;vRHLT#j;pmhF;R4UKrU$$pcO`?m)rSOF+euewNnQuo(){N_EjO`^Eg3G ze*JvT~ar<}`}R zrj>i~aV?3+yqrB$f+M9ZAchG9qx*?m#7E4XJNk4Vg$vAJcP^MJ)Kgq!gahq)FZ}hU z2v1n6AAO>+Au(Jbx^NkmVHv3#L&JRYf9v-pT$w>6LWH2!?pZB7yAzEm&`;fH3_LK- zS{%^883w8b=B*HDA=wCx5EhCw=?j~r(OIqA3+9WY4NUN&X3K(8i5lQJQIur+*f0SZ z65qIYhyd^oD?T_@#L?&mO#ACrU1(%OwjJKAlp^gb%Vb-J)f31vnZV_U7rgqae^sIx zr^}M4lG~hte9b_C|A3!);y#4nS^9~HsoT^m1G%ApzTU zyd*dk-|9gAdh&bmPYD(rWA_P@c!F)|Ry1Z=#dOrF<6@w3J&oOabj!R)FZ>+{mn50xe>njJ*;y05LGTE+;wVI$FRo4$EXQzGExSK^wkk17 z;bHJ74O^83MTb5=eX;QTYD&cz=|K=Cq+x1R{Bcds>tk{0^&`poA|l}{0!&3A(M}56 z5?;4b$(6_UqN3O&fp$eQ)npBQb(Q~u(dg)`!yl7%=8+d9e(=Ss7VIGke*(uFY6WU! zPIN?F1>Ku}QP*A5-q}V&*=AMlbl6 zFD_ak5yl%?WbFzwiKZ#rtZ?Y$*8z#zGLp3EdA!XUg*tQed4&Xp<2s^OI0jbAcb{Hi z;~p#&NPcJoXOba^h9Xo{7D3_+U6;#x=KyEN<-()(S;Y(lEJNHte*)XiqGe?aUTo!R zL*!(O*VPqE46M^a3GRV?lw-2bN*YqLYQBi(J~VNySW)!yx1DelEJNf~=SVf&&Yizf zLD1&lih?EztW(iCc-t}@#T+pIxeu=ToCi0I@L(MeF0b&4VynZ2W4nXf1`0XeG!(HC zY{avgC>f;V)j-kbf3Op@W1iF<0G=}xN7A^8Gg(v&TNa(c!Bsqfn>dDN6D_~gO8-HTgIV9uV@R3Lu0TTiI&FJnl1@U>Vbp}T=r-0f3deDug^RB{t&Y}4E=hI z@NaS0SXohJR;d(&<$R97>!UIPZqv^^fTFb6?=d)x#DBw!PcMuhNjmp zN8Y2O-ZbG2OMTQwUgc5U@?$hdw5SF&&dy6rhZL65e{*?c0`zkqooNTq3w_PTI=>T$ zw-%74M76!1+eUzAvYjGEo-kc_wg5cEoN5; z7VVBhnT$VOi>7JnQ1yfWB<7?$KOB9!O+6{3s1;UA?f`$NQIIU5ELNea72c?$ArnKY ze;1Iy4!L)>0B9hR=Vkbqnv{Cd#0#_E1nOtbJX+5hzv|Nhn=@KO zInMn0l&h;VJkVr%S@@e}xbVlMw~~veo`8D;%NhS+p>^6 zTiTZ8=j9aR2JPumZ1m!X;e1nP7l;n5>Fgqvzf$PMz|nUq<%TrVkR`K{@WdGo?^sqR zU$3DHGM!|uQEiKUIzVfegEu1~f4f7N1~z2qpVI1>m5CNVZwHlpGB7~X;oijDJMm+) z2rqVW`3A^RnNQ7;<56Yo4}GSRfX2H23;e_ZrKh%thB z=M6{0An^iH9~i1YLw5@1ZK-N>V|XG=Lr`Tko5q{V&Qk`59kz6OrR%Xvo6~IoD}NCa z*Zcz-C3HJnkO0_R1e1!~bDmu+E$#E1-%O=TOMeUJ*j$1j(=Zw%@+$3EkU;zSCAJ`$ z`68a8@pWlxH}&D@hNG&ie_6qGUNS_-(#i=lqNa!fDD;_c@ghS%hBwA;f*?DT=dW0Nl(dhWbj#xZ*ngwrwIMQ| z7nb=DW|cmY7z?{SQYMewxXMhXuA~rsYEdQ?)=ebgKI`6#r&ndFf2+KLr&O64DD8Wb zXZM+{*UctVs%K-Fm3W)eU=3KBCN3QaIv1*42yP6$|yxhx)e-s_8x-V9^lw`j?{ z4`*%wn=sXbxc;3{f4u&3N->DwN*|2*H!MK}c@>ku)XOBu7MsnmwAw8cscuCD5MLNY z$Z8KP{uW6p!e29gL8IH-04>{9YnEkQv@F{$13_O2p#1?s{puvk<}H!*z&-2L9gI&1 zlU#$k^NMT7ADkoeYrTaB3IYZBb~TF(m17+q%EJv5tWZ#Bf60S9R=ST>_379cr6{`0 z^Y)QSf+Z9Z0-rI0$qD$dqkmQaA@&WngpvWSA7CJM5o4O(ypXV^|f z8ncd|bBc9n$4G%D$Go@cE;dMrah4vFdW<*k+O~A7hFv>m0r+jzSoU1PG0Q5@axKYp zLk51QwH&j}4vi!31qN)jKm}~vUrbz5BqGMJoQws=n&h{D`}yxUw4}J#?A-4rd?gbMvEW-)rSU8(jLBE z0%^SvSlYK*aq=v&rcUg|5fuZ^&ydD!q=8@I9P)c<&5}iYGNBylSG(Bgpx5Ii zLg(nGf0cxpOc-cXMHTR->A++-m6rvROlGfG)57=nh{)S5h;#c~HwBv=d8IonsLURn zqiWkvv@YDQ*Dbk8&8pgCfAuXn7JTw;n|+m%mcDO4R5(mAoX~k!``K zcrz4Uwm6CHUsXxTjwmD=#!V`$5oivw<*v8&F zab&Z!Y8N|;Pc|K`&Ie_$0p)Ij4b*A41kD&!{Z$yTck<_Fdl>w- zSg^N=>wBZ>{Kkkz+ApF5m{pil@1U*?<6=xsE-_7$MOvH)UdUWq&raypki237;BJpp4juT*?-B6aCA>Bd{M{+emNz+75o}O73S1*{oGNIfPQoEonRB>& z1}pS|c@3WBFaG^Y_sdJ>%RBgM^yPoFxy%clQNRC%uU87(zL!b?`j0xfe)|Mo_QaMo(Wmb@!&yc7pDq7=$#05k7ku;VQ!E*#Zc868)0~5R#Ide^_-+XmcN`mM(->IgCX}T^}qX=bQV0lMbA;~sy$zCj&H8RVxW?mHVY@-PC1~Ipz z2)RT6kh1tulwzdFU{UJ`GY{Q>1j(dx2}=`)#%ph?xnM zRZaeFq)i`kV7T33f9mAiwAqE-NZT#8^!aPFekgHwVInmcPAV;D!ldFR6?Kahtx8E2 zSx{I`5LSUZdmwrFof8Z&eHVG)$^aW3TIo&QIcDEW+Wl_Kgn|DAy%KzH&iJ?|zzK?Q-cxt1feRxv_U2 zkX)z!xUH{Dt~YHiykt{zEX!8QFm#Sr4NXNB`7}}IKtu&${>Z#$q;iZzQ(eKer^B_qnvGBe?hw1P5dUB9ES-H(VGQ+V{K6toEP4n$tJmz3El+eDO?oLwx{rhg90ey zd!HcL0;6R<`8$Ll&9x|$FB#WQrs3j#3Lj%;fU2Z<4C!l&Ei&Kx1ui3!FPJ|=%N&fj zGuQW@AiVpmz;!#lur_#JJ=gLbZX-8DNp>7dh4VICe^EE?RAxpuZ&u49DE0Xk@AQu! z?f2gvlfhs2xgPt+ckk^FAKre~&ywD>3TqUhr*t*;LSiMsV%0-4_Gt;IwotsJh)Q-vKItXawZ6FPW};=&J;ESa&if|&WQMVyc*$SCnf3*Ut{ zn6XESe_eslgnO()^5A>;blMk`Ui7cJ4KnUMbP}e~aM_hO7^l>_!A4#1L>^1p5>C8e zjIE^)VbkIW@oc;}l`ic7tu9(^*z+@6Zawxg(SzhIuEJ(XqzLW6{QGbJxbwgwAuo{- ziI{<|g;|_L&U~l2uvSvfGIAgp`V{NIN~0pEz+$)lL;C@ z|5ALU%R5BMt3d1K`%~MR*7AoS0%0{+Od(O*i(wy254@>YEp>@Cc%|Z!U=1juuDp=8 zRXdUMW5~paa(>D}P1^=f(FBRtOYKwJJ>{wwUZ_7M1cXSKe>}%W0fbpE{Cx-$cm{Ur zf5=B5feVhqLddxY{0_~07PP5RcFxbwW!ON1`lN;H7H63gEkotSm+W4wwo>V6gkyE( z)#D|DS?w1nIsS^fWcW*_TBN?w-B{PyMdW!U)z)g6?0nsgg~l!ovP9%Lizf}5innZ% zqG-JKB5O$R#BJ4FtNMdZj0F--0YWH3e=Duzyc}Fu`wcPkw16#{RV7ifDoy~-lx$Jq z?3bZ}G|>KQe8R|GERoSG7D#Q#jW#D$^m>taIS#gFjSa%AO>B6#*=7jddA4x$u<{4= zb*TkUiJX~ng{6?HLF8lDj4yvDSj_IQ&Vtpfv~**f*(q`AFu4np=_TYLkX;31f260H zo9)XtZ`i&Y?DzIgYsDb`p-sy)Se3zBGGwf)#s`=#~F(yz3WZr9Aeh6_@8 z790qlXrMcs^0frx?5|Um)47i_W&%X5EUI>3RPr9Y@xt|2evv|`3Vt&FOeF;Vrrygh zShA#6eGK?j-qJ;g$vUKf-)5Jbe}a!8Ew)}KD5!Hb+mvyL;^6n+{+@ag8@_c`{Fbhe z92Dw}4)BG)Oj+i{YPWE~(hb=;w5St#&ai3t z_nEjr-Ug#EN~_0$bC&>I*(adPAl%mPVs#6h} zUfZSm0M))pg&MrAc!4RMe?cV&wSs61Z9=UiOLAD=IZjQQLRduO0sg^z{)!-kdjD>- z0;~SVEi?1tJoO*bcC9*QU4ameWlhaFjZ7;(t=59Zf-JEP zt5v-31C48F%=}LqB+z+X5=j)=K+g;bc;=&kd@^{f7>zIbjQ{VL88@; z8z^|T>_=z_fBuvF!9QGOf2hzZ1e8tPREGWh>TlS7LiZ^8^^#fr*am(@N7E#((&JLr zB%T+|aw+T2hm~^*e)V$;5^|EIipQ!FcJAn!vv(VuJq$S@w_A-$A~*~dcKAfCUm>v zaLV5e(r@)+D;O6AhvWGpm6Jd7jVSz~SdwkTPnXP3?S!Ui@RGJ>Oq&X?f`jm|)ZV5O z9yhY%W5`UrN8;%r)-#Fn7=;Ue%y{Uz#4^f)(S0eV>boRU( z{b}>4+ZPG*?`3A!*R7}4ozpMj?vv(O`aTK%-I`^;EuZDb2u-SM`u(?myoH^I?fgr= z(Ju3jIzFr6+WoG%aeZWUtAvy8PYO3zgiN2+oxF4R9x*@u*b5Cwf9&eWJ#R#}36o3Y zD7?ce9}PZoe-m2r;{ozeLS_bONGm6M`P!LY%f_LH{qtHntd1ntBI=(^?~?DH zm;|lcu8N!R*P@_?3==7Wh z6x7uBs_pd5X#ywMPNkCz%PER(%AH)BtikiNkR-fwwlx~FO^FG~=&oSlP^z_h4rLlw zvp>VB)A<6NX4?U|=GksMV>f`Ev!()O(Ds?b=iTP`$_<;WIV{K7 zFS|TZe@@B*8$dKMRyac_6P~dQ?J-c(c}LCy=f-H{lbjHD#an=?y|rR)tX0t3Yd|w4 zu#O%RCrD0$KIh#%*BpE_a1GbX^gN+`;=xX5_7Y-C!Rv(0pCDY4N=eMboq4|JM%Sfh z)*n(y7afUpUO=qVUKU652~wyNQjkvcgLE zPnnH4RWM~;J#-D>v&(L-KeGBtCxPlmE=gu+5_ItNJzdXlh`ruo;6CB0>G9nTYth)D ze?Hn;-Maz$FdoUgWS4nX;0?>LN$$iUdG@q4Y|xuG@5r-hl5@~KiuI$uV00+;%#6M9 zIhH;y+-;Wg*x`Pw`pA<$Y#Cbp{@dU2_C)s!>hvsUv0oSMFolWdz6YNv-QU)=nmzT! zlXByDkufPvNBZ1l^tf(;HIkvJvRI9ff0J1Y?(zxwL7@26AKcmek2L!DmZ863Q|pr0TkQ-kR^nAo zHo?bKpfj)PlFT05^K{k*7ool%eDUhSTtpGAwLEeG6Kd%Q8Y`JfB5aT zyr(jG5GvNkblaC@*loIBU9<|Pmo3K;WWuupVi3Z$AezG4x~<62TkNcfR=+wyH4KZB z+GJRKHbMkM@T+#Rfm0PWbeA> zLrC6=)EsA-y2B6Z~;ic-0JGY!mZ z9B}t?^CXuMnWRXHlu{B&i?#~8HC?tuW=2NFe|+JZ8*m;zF$~4&8aJV|fAy0HROOxP zc;9&?urr723OTYMO! z<`e)?eu>wmL#wO;(kD%3e`yAqcwJ*Nqt--`OhQ1?$LI+pK<4Ecdj$i;d{W(GqtGnj=F%|NfUyCkrrLyJw8BICMx+&$Iu zeQawZTRrfu+FpO0g30eVo4{QNHV!LTf9FYW1+Y=qW*dlR9CC}(!m$J+f(fzM`FMXN z!GOV(evS6YM79|7!;Zt`IXNZnsskhdFKtx#{URx3`EWR@(St}h?&Vj$vW zbjdm65{C$1-bPI9H$DweOd1-uczaeu3kYGqsb#4Y)A3BDe+G%78J_Cs1b}A_R&;)# z1zzz4p@<(eZegA19!CQd=b8@w>aT04U}Nb^c2&LwqiB9AueT6CV_10q%NFJFy(Pv^ z(nYw+Pa;QVNT_OJ5oG#R91;7FW?6!F9)oyL zl?Py7Tgs=!;(5&@c1vp$)?uv)0cV~MZ(S}X59ML7Vvu|<>+EnUZXVn^QF`Ws zk|+nW!K%RcAbjFm9PAj)=jl?q<$?!4UB3%pyH!4be^-K8vei4$*JT*vRrs0G=grsS z6J-2Cl;B5uS#ENR#Up&x^lC)E;+b}KKavulR<9GUyIOcLVkhY-jrwCcKYo>q2rUVE zQF~$x;D}>a$z0u&xMuu|$M}@RTm-NYKzcH%Sy{rnMypJ9Lt74wplX%Lo@N<@ypZOf z;|bi*e~I7IXt^%tBd?KodYtBVyE#*7?}g6N^npPdr1RO66ipy-QE^@iuPT?>9JA~b zJ%-#;n5Jt}0*1HK|Giz!q{q8>p4XgI=7X?mlwOF!RMydS>Fv-S?-Kf%foD~(?SzaU zasBNby{MN>tu4K}gH|vniy8xG7K6tgBVbxSf1-6%+ue5i+TIB7J2atCg{JSB6>pxT zX?&Z^6AOK;RLloH-D(kE<7LW|tr0}109geF z`^~3#cF_!MU~02NS0xW(!R8<01;kZGwdrYci!cK)?`j%9(1Qd`2Ho&0DlM}N0CYKF zf37Mkc-Nd9_I$-v&00OTVyU*_8ePZP#!&k7VJ>}&=b#QT3Cyu>m_fj?PGO?pf*K$< zDHr5ZET?8R-%Y%Hgp_fs%YV|`)uyz5FWse&kQ-z~p+?j^W&-3UF0g;{S(2dHFsn4G zty7Uv&SXI;D{K|)P5SDG6vEbEBqCD)f1>jeyRzpDjGNk$Sr&bYAxS!_Z7*>+-XzK( z)mcDR=chZlgVcl+C)`P2*CMCvpT)>M{@ogU&Z+O7fpV7j1w4FFm8|gVLTBE@R0eAe<;B- zcEcX2kX@jH1|Ke3i_+3WN2&tZsQX3ypQ~hn0pcdfg=YAdWD-kMcx6!qXu-;d_IP->sc5niu!rwqXtpf`M&YI1`9X=IuU3M31|cB7%wNf4c3sVJ)UN#*V&LG(L?#vYW%GrWqiO^lOTJbS!Q! zHsyF@O|T+cHcXw}*~UvVUMMu&?KUnnJz~L$RJqUy0$WqDtNvgvbppPh($y|5yjtZ2oX(3lM!kPxfCY=}|nQ3vf1Bw!d1(P;y`@?^HOMy-Q7!&QDHR2w*9^=vOg_<-CRoYBOgDJkG-dMo z6d3Y&3C4Jr+N^~+DlMs{e{sS5HZ)b?=d%clDR7z)^D&kS@Gmx7B05@DFC=)s-BoR2 z4!i;AzfMIa$!oS{1dcrn?69koKsAsMtwz!*O_HZi__uO_WI^LOA{5M|n*<{|*V0G0 z2p_qh^ac9y1!%9EfhwEfFsN7~p?%8*gVEC)6X#X2iSw>&s5WAvf1Ihji^^g%=Plpz z6=N9esc}$r3lhhB708MMO80W}n`y7eflf4em_Y~Q=jLKIEE{3}?}Z3INMLJol%%}VEi@pEPZn!&63Yx zHGX6%w2xA)O0Gpme}>Sz?biafnr7*N<-t#1A!EO%H2xURSN9*82ZfFqOaj6p=($K( zO7%V4w1WERC|Q$3$ElLladnyXEDBI?^dq}-?uO(Oj+Rd5P&I>?Ul-DsBuj*%eu3et z8isdDbcuJC?{C`YWbLBb-q-2#yUCqmUCQLLToZA1x4fT;Cf# zM|yY1<3gUQskwm`2zjdGrc=$!ghtMd_O%U%Q~DeI;BQhq%iuqk=`{V_o43+$B7UfD z8YT>ct5Mc+Y}azChWox^V3XYai-8W=63^hj6@Lm3f3)q-`lIDP0!KhRM{|q~>(X)z zop@bK;*w+>GU?euXqRU|*fb(mNsDg0^ahHvaLP~Vr@wp4L1Vy+R*7M%Odw|&D)Dnv7>N z2t+&r0lMo%RXht#%o5!RQGDAAhHmgW{n;oumu%})FIUqv)7k$#`x-(fHq=XZLRs_V zfAa*Vf^N0rXeraK-)VfMrOS?5e&tIk)5hIyVVq^>MN z%ThmyEu-C2&_f>oByK0NR^G-NO0NzBahyf^nsVzB`r=V@QrVl!(D$7qJ26S!XzgZ#yW}e_pB^ zWc1+%A=stZAZFV$sXD0@>KeM@=vwE2(bwScIDw(b!Tu-r%npxYJGNmDQ+qiIhexn6 zwSIl!ou)$!TPeTurFcBJ+iiTL5-aqApjPxqAPV4XUB^#O+2e6G`%T*ovBAu&mdj6M z*$%8)DS@IXs_E!21U>wC9f0}Bf4l{YVhU%++y#Va>3IW1PzxMVnRnt?vP^nK9KYw#& zoh$Q-Io`|l@Bc19T%xGN@vzzAOxz={yeccErs-$#xr3HP@790$Utk%$DOm--Qqk~h zo-29#Zyx~*kYNG?DMZAsNi;{*L@JsM`dK`zS3+(!YqRheHv`=%<~<6#EU6CIYo@nM zy*tA~VwDp~0dZwt?mCe)1~o@rwtrb%n@!kEIwN%DkT|t6k+ZnisHy0U>ZOS_Y-wN!U%70Yb2%Uwng%@@dorjv#0qo`U?G07)_$Q zzDy>oSp+qdbjvVyqi6tN!&Pyx>@>eTSppcbi{~#x?m%!9xKURk(jW+Jg*Y|ajkvmE z$ua;M3@MCHp&;T%s6mDBB!6`6eV)^Qv2uQXcZzxzJ{wNTLGmZ@3&mr<04;-{%B+)y ziWA&8zjEct&8ak@!e}|l0B2UcEv3i9!}(NR__^??)|T&gG(DGUfE}}3_gnwA@vZ~! zzH!pa3*PV0yKUA4s;2p-;tmtN-(?pbH`2Os@HcLO4gTh2zGNbdy?>_hJ2+=!M^ST!hMJ^zVUyq(|zK$QD z91hIM7$>Y?^VcUfHL|AmwkZo!C0-D8v?PuL(3A4RLQb&!D|XE^$tJ4|MkGAJzw58= zW@A0=s2H5GiMS9)6Mt|ZgrMpT+c8~FKaDg7NJHG{K^LY`vH?y9mu%>rQD60P#@v^z zT_9q7u|Xgztpd^RR3PH8cW|q@r&SF%H7!6xS>1BRB%~`bgX$TpL{kjY82XG)RwnW} z5LxsHa$@_Xl`X@w82$x+Xw^afD>ZfMXG)Ef2YQ&2(T_Y}Q-7quMPcEYwV-1&5T%^! zsnlCwbvriAj!Nd;rV!$Rdx53;P%50Uq2qk`O(s&lK`c+zU8~l&MdZK_ys$nOfdq&L z(7^fS-*8(Gf7HtPSZNmB#27azb_HcZ{0bvbf3#ZOrIbouv`A;tkICdNrIL#NVoDuO zSSBHtvUN%9KYuIwwL-3C`Cr-dL`X>2<+1To{FP`C9rDVpyUaz=`tq{3malSY-v~5z z=py#!*!QKni8{B?MYVB_>ZqZkAtqy4QCe69(DksXF(g9rB)=k3I;FdXOyo@>lMNy-A5$?R6GgTZ+dgyhP9m$DM7~?Zg1oE+o@4pw*`3L}mCV0xkU5$^ z;iwcrO1rjY>-HJpAlGYEgo74+Mnx@A)tWJ&yP6W{O4kv{(nf~#wp(~^-9?QY*Hcez z7c-zrBY%W)VA!4j@cL=lYuVP$_-P6Kc%Mxuy=($uyUIlkyo90tvW|$;&mM|6EJk4I ze=Im4Tq-T0*C(1w5gTKk+(IkRr+5kIgzL%;ob0`bN0v>-OLJ9uHV6**Wv%eS)ih5v zPQ&u-KESMDz^E2rhJQ{k5#jh|7H^9)P0nFn^DVwAZl#$o8p2icZ z<0$zfs7t);Gru5d*+O^H!%PJ9FQa^gW zD+e1Z=-SI#pGHAZMLu?!SJE$d9p}7o^Rx@VOY$aVSY8OjDu3O? zx9R58?vB>g3k}{cR&zdTIuG!q(54f?P&VmywE#2hs`Bc0Ev|uTD!NB)ji@nwv2VK zuZw(b*@HGg0**c=%H=s_#uUNUb?_dHIV`a%^`uV znYA#Ms>^|G%2>E_W}9bV8!|N8JVC{aEW$BHU^tdCew3i*-N{Diss2Ve)Hw;ek%Zl+ z7Dmy%z*I3ySf;8%h-ROGHp^5UT+*mRN*bn^hNtXr7Q9Pm$$A79#>sCpq znHo02o|);nm`NL)nVvRz36noCp9^%_-=2OG<0?5c?7%W=f?u(1+jp_P^UPJx#Z~%{ zT(wzS#E%j~$QNi||Lyv}|Mm_2Pa(!Kd|6kC{Q{;L_03o!RY<05s(~KXAiH0R^+_zv z2~58R`L4iKd#GnZwyOT`jHq#avC zysS8uqt`e~Fp7kRi^U4c zUjAH~g31$#x5*+aN~S3Dw!O3`)h6!#w{5aE&6R;F#ka{EuN&ld`x+TGXbJMb=h9PU za*mc+e|pbEI&RUJn9Yaf)^MIc9Kok*y$ZVOgdVB+T*P;DTSn{pEM#M7YuJ!RSxo6% zAR!Jfjs^`NRZIk^@_!qm*z5Sxr1ikJTA^)TcGy!95X9S#UOX;zUH^$y!BFW6*p)@0 z<>=}spaFU{3RjBt&e(Vx7H8^A2qcI=VFPbTh^+ z3+7ErC(OP#$s7x_Mk@PqwBZDt7ZBkwb!NVtLWkZKj))gn)qlqY+=(*>A|!)kppqh9 zti6xkBwZ&e@ubh6@+rSxJ$1c`CwE$}6(0al^0pb!cZ49{^yl$pwFD!NTDE;Q@KzF! z{Uoj4UsWFauG#w`fo%i`ep&Kc1@7l}%5!-_bG@`$(n<-+kd1_oq0Iza)jP&JQyWWN>v~It-jNz|ZhRH^cW((qI4| zumn37ex6eG)zfT)Vx&^!I&~UtadVfgiPL|0en(;!46L;>}J!hRQ zy)1LHtYj~_%%9Vp)u73$p_uh4V5%EFz}0KjJkiZ3}+LgWs;=c25}T()nV6cKQtYq4x9UG<=&t3*)XGNF-E%tz%!x+mvLyoXSt9& zX``yQo?>zNyVpg#kQQvr0;M`66PW`6!PgzEhmiRp`V>ol{cArLtXY#aVsBv! z3`g#wnkadg#g}>LgXxyWua)NOlp(v+>Q_ooSqA$}&5JMkdR2X73C21HT#)AJQa%4Tr;_@~c-1xyzxgJ0_Tm<$7URaTLeGIRN7~BHQBV zV?iCOPZG(6b=Eyqhfcx`TkG2}=d;$%ub&UtaBAYC?K-bQW>Mnxxs6sOfCROSuyvv<=U!^-;T~Y+36*{gQgB{sz?({}H~hNj){=6P4!X zAX?3^^MY`k+B44!(vgg(J}=0y@ zTu0aIy-lyU)o?G26wR;$qwYDM`+vl1N)+b>{k>tFO*%*PKH;f0s_!|D9spg=^xjJE zqo&#rqPdEO1U-{^E18d-YNP79=lf1A2JwoeuSlb}W;mfMt2Hz;BXFpZqppe34be15 zb8WMoXb`yZc%K`F!8)d1TW)Wt@itsOZ-4xur+wA-Sa_%v%AT#^Lxtm^Eq~uXKFAx- zr#k|q`z?K2%yi(5Z;uW4y7ByeHzhZ44tRZ<$pV&=U8c8}EDmr98L`WcS6APCWOuLe zNr=L-nI_@$OE#m%I-jjwM{AW$L#>0|Dz;~a#4nN@hlrhkn08o{mJF39fqI;uVyL-{ zr+?J^*H)&quXuJbyVBH^z1&48iiA zBatwy>AALIllpX3;%J(QRcY&M?mAlFuaoHIFl^;FEDXzj)Ow?Lg<%m&eAqCoj^%dG z9fn20ciMfVXL;~o&y0n zZ|oC>HB4O(bZ_+V=6_ugZ%Y`K8dG{>7&Zs&x~0loEOuq+x@TD4nPqoUeKSg!rS~z0 z38i?JiAH60;wi2loaxO)gh;HASgIZvdM!gE2eLyn78mG{Xs6|noo=)A^N)sZS=mKD z>pB|erKfcr4J6ppy2KI1TGy5CY7;qdX&pdctV_)b*AtDMjeiN`_s|JFN$1qNPU86z z5i*JbNM;{#XB;~?PQDT{uPTH<3a{~GeT*=uG?~WH@1cqf`b=PuF7GfIb}#VE(3Uly z_4FOc_Pc3OG}9m`0o`i$5KofZr+&7}lJ9?)RQmrK{r^F5PV&Ewx1jo2?az$jtlx=+ z^5D*`=&j1`(tpJgMmooMEYWQClyhc8?_nMgyr7)>1Z}w+4O%C?@%ifhCSFK4@$wNG z{}pUpQ!Zp#t~SuVYc!}-!&hxmuNP9SAhdM3>sqpBGN|?WigpiqE7DO$!9)N z9YkBsR}5$&zJFLg0XQE2JWf()ecd-4TybRaC;FCFYV~;kb3o9mG?X zQp!KP(;^vSR~_&XPj(213d46)SuutwBN~CIXeQ|QVC(=2={#?=;FcWcs=jLZpNDTm zvMaft=su;CXKz8N;Vf(7=&W>@f z#FK696;4GhvMb+Cz7?7|W9pVI<33+te#LZM!?DfL&!FmzJNC)15Zjgm%{dcqyN08G zzKy=Uy870Qq&r91H*RB0KB^W}%S2(XKa@knqO#V%)2? z$A7{@d9^eA{Gjso()ahSJ>IXHefLVmtJ$$Ckkz11WBS_FWVu>EN&7Oryn)K=%ZOg- zC9i8|m#FDM26h~87PITsuawG_ZT6d*S>c+ps@b*a?z$Q{iiYLO2aAo6S}cB%SsyLt zPvwwChxd~&_PVkSKus76){kFV_%fBSJ%2%R;F9o?{hE;3WPN&9*i#$zrtMonP&e+B z&~$XCYxJL87vL1~7{A1*OQTuF60ZfnQ`)b&h)PoYuk3=#(iI@5fX-U39%hh+#&6bT z|Gq03G#NHcZg1lSWY>YQa-hj9FLS?=8mC&uQJ#CRYPxM2z$o=IRW$&o=oXpZ(tp6j z(cBsszp;VIur1kf!dk(etTy#s^PJigl?FsAhPCA$Qva=z$)^pHk|r2#e-6 z{$*#+r^G#`)IW-6fOy`^l3xVU?|+u+GB&0RbUFGJ68aT9r?~FyV#Bxl*#>njg*VcH zWk6-zGQOueyjdC7#Dc8r2JvbI!K$YPTHroMkZCjH_zcG1mXuplpw4hT-S*Cb(Sm$T zexWcF>sTS45828y1-IU8`seGll&C}`d@O50XxVOU7|NNZn>2kArm3k}#D8&(`k;k# zNPZj9bTu^G5P|hxU?yGlRM|50v*^lM;uhNEllhysV!3qB4mEk8qPS5@DX3q0kiN^c zDrf@v0%Vsd{U%b-Vrr&g8OrFblooAAWYv?Ev$hlBqY@8A$U`^MZ|x{E2X21{$u%T{GY#jLw|2-^j3(vhVAGIX0^`L6{W6uA>9a3SF=^w@y}8sr>>Cw zX1InI`iLn~4iSWbZmCY!EiPK1njzUvG#=0MBE)=uZW2~QwGj{AVUmQ!?O>KvDrGUy za|xLgHbP1yvY>@(XtDfTIYkj_uBN~6nH+0GM>e!ApMS=Q*H5G_+JFAk-K*{|7J75^ z(l8WS8%HR&-H7tL-ZEW1%#sPtTfJaShd9WEHTB-XwxK6+UEQ!2 z5gGcDbNV{#qfa!aPj79YFIq_Rsg=ET z4ZaA2fqzBJ+`Xzi_Fbdds*}*LeY0k^5|sqD<-*{QF3r{#npD&sSygPaR*@?1s&YV= z?r2ycUn2+pVSf>!gRql=f?zZC=OGdIO)Y9_sL6g9oatDmV>by#&vuD<@F1YqMp^MR zqh|TCW4PzLU%mSx!7ACbObLlxd-QPUMOSinQ|m%XuEPPo_UsAeI*_h z&2W7Be=qb(Dz0Pb?&x>7!Ab|3xq^wui{_X|i#{}bKYu*p#=agJS5uB(#gbxPsQQL_ z?lazpx+Y~{G3qLYA5f)z);47t3)yn2Vku!zcinVX*JRnMPWL^YF~^>GtVC;hd3*V1 z>wvEScSlFt3md&(M05iS5G`}2roq}-%NNLK zM~H#L3kk9-$xqQDN~@FXsD9r_(Vq0q0Z1x8K!2_mSpFV{mab;eq8Lbbm&~{gQzg!F zV|eXJZ@A3Vu;~;}o}a3K#L&G!hoai5#4yY-q_%9=Q^roql>JaGgU~LZ5f)1h$qY0 zlYfNUJ6&`5D>dETunHr%-(K`e)8maeM$>){d@lm-BY@j! z-45UmuL~VBsBYwl*QLAo?ojPAj}y=*gKY$Ppr5UXC_}@v{m`>(`9sZjbkBd5k((nd z%uz`wyMZ=LGQ#i_BQUqq@VUviU-nhEJb#&l<}mrP5sx0nkR7}gV92{I!_Le*^3@xkcsR5&=D*P#Dv+3o8gmw-0`Cphp z`jy#!QN3ibv`ko}>1sqjKmv=K`+Gh1H$j|gkLapg$4-?M)7L_?I{p33Gj(a+&VMsc z{ql^sJJScx=&EjLo-fiw&Nui9MM}XNeVo4#ER*f&8Z{xRr$j72&~0OD9e?SRs^>Sr zDRp}w@MjzSw~4g952YdmxNnML;97dKAqDn+daIh~d>_AEYznQtAJQtJx?k?wZ{8lg zT%ls1z%)XK)Wn_)`%IWnJl-N;y#@LDDJ+Cr^0w`bspily# zALu>05|BBvsraVq)dL%zDJy~XLP`gYr~S{#eKLbVN&vPUOIbWgso)1umEVuGoEkxX zc1Y=Tyg=O|osypFC5{$GXnzc=??i22@v?pzF#W zlWP-V1Z&;+%5~@m(2Hw?E~ZJD!0Clq#H+j8IG}9%mQ+5~o?nv1l79)x6TO1GmY$(C zZhxBQXs*rT7W=I6XcdVy2GL4vS@q?Y z(t38h!1yUgze59cEakk}GJT*deHTwYu8g6wxE@x#G2m zzr?_kX8sK!DprYq|FASPk|!f{=~(NCT2 z_94N1q9FYIpdrDf?;kb!Z@+=TyH~w!px(fHZXOue>xSQP4cIv365*Yj=40ZZQKpp| zzX;874bw5r>Q_or16B5$di9{<=$2N?w&|8`>VbAts>8K($A2r5okFF;qnM6~=Q4`f zn7GmxF&Q&}ozw(p1BYw;DNQLo*>zk8;Uvm@?ggO{1YM)sKa;)L!VAB||NO`Q`4X4= zMyH&MF>DUeP)bYb4FpyS*EDY_GcNVF3|M!Y;wp7dw5;NBm%XujBhb^vB3w`L5)95+ zGD)DvYMNw|RezQNUU44C&66OtG0xE(cTNq91%2!T^=AtxYCso;|D8rlK=)69O3+@* zQw#VtN~&pmo6O_smE>SfrJz?0j97>41Y{<9Gqir7)^_x1WA606L}eSpF7x$~6SNTl zAp1m`2=|d4E&Ie)=_&v=I^1RUzzNsMd>-@u+N!bEEPq)H!zR?1t@WxKmKnOfQZ4p5 zUb4K%l;S)W%HFA5v;vU?2s6Z#e+2^qWvqfo?l;U>ppA`+A7{3n=3^KQF-^7VFm_ z#Bhi+(0>58F_V_MH`E{U(pkEAgB+ayB}8X4R9z(?1K}!;Kz9jMSUS{aAocM7_=wiL zJ5@1N#kOiyjIWp__C#(r9aHiBno`hB;(MWgmRyD8s*tkuveLGy@3$3M3H!0bmrt9Fshzu!=3K0apBX8Ce;ve02 zLs^A$-gPf!g(xP7r&qu#>`&1IDMCn9v4|UrxQXqAto~*ILUvEHT^DVe6xw$+@4tci zQh(%lti7DG;*ELABIMP;`qeiAr)a8f7`k39qC!+#3xeRN=AIXDw1XY%FfFjeB(8k~ z9{y`monoDwT4*_eQO{s1mTsz6_n5dRPth6u^YYEg)@IE02RiMe}CUa z2tkEus;oMSUlW(Qr+L1nZ0(gVabcA|&))jBLs>(GVX^N$XNeAQx8U#w+eS?nmtHl7 zV214Zu5H#!DHP9iW!uL({5ILUOPh`SDu^g9(>GLm69Y0Ns_M#}*GHbU*&frbO$cg(I~H<(5Sp&-+>Qr`{F~#q>AO<=@M?Z+cp{i2H01qPQkG*KZ14LZNy> zjhL=!c@WV*lXNRdg$fOI-_Qc%OwHn23lL4WE!QSS9h|`m4TES^d-r&vjei~g5?eKR zhMe~m-KDdsG)-=A<3&7QN}m&GGfQtdDyGN*IHsp+VJ&;A__}NAa@X@2N@Qp}fae;_ z+&3IblQksg76w)q7J8fL;-+%TzOJM{FP@|cypti$m7vCY+1`EDk3rKSkK5h_Z{l7` z_4OkvMy1S=#jKSRIkT9_%YP8m5a497nqLXrY{QXlTSiE%ve)7nR$#g>q!0OciigmN zT#>8Ly_v3-h+7BsM;Fp8`P^@3Ei3ms_TCSDF~kcaTNaGtLnjeyw62e3Wg-g>;dZqE z=D(8oXkx@?Vdb?P0;gB3+{4bO16hC+V5(uBmQV?!17+QJ||r_yb- zxRBCSf$^A00H`QMvzc@QDUSk%JLh>Ggau6NSenIOVt)Y3iys&oWbtY6?H|*{X9)W- z!6s1y=pMYL^mh_Qa&wGC9tl`bx=ogR-U@nC8{ml$abG<=P|rmA=?^X*|Mx%th2?4r z{j**0AC(nqw9fWr=|S}suME8a2adXQkMlZFjb_bNE7tRfEr<0X--@fqx}sJ6H`zB_ zx4F@}@_!q=4E#r}mjRQ!8@Pp3ROPoCQ}xkmNu5>t>1dJ8q#u(BHD@#U#WY${8WWk2 zOWC?4_Ma8~T2ZfM`Cr-dL`X>2#WRBZmAHdLUb%IbxpZ3JXZF_e?Jn&b2df{th`l*> z8*C$8R2$b2LQKomYK`5ht($?Nb)Bvr!;n$*=zmd$2=!eWL@`Y#7^aG9)FW?y`gC&u zM4M{+ggEvv&FG`1@Aui41L&&-u5G&hFlcTsWyrAV`LZJ$qo2&&q7od()O>ds2)xm# zgnbZwjZpVh8Hc@}DY#W=i6Z(M)P_|oeHeIyQB(8?L|-ik4Mo$=x?m@f_eS*96;rcA z9Dn?BCM|sC00fwF^AY|nM0uGgsx3Ripai@W14mOGnV9l00MvsUI3|$|!&FAUyUti* zKa5|~aROC2>*C#NVh0i~{(XH7j$0WNR|us;HXT#7lo#rPs5)Fx|LpbeWU)O_aZSbW z)s2SkGhH|6il+3IOAFDgyaW1>7HHLX1AlN6t0$qGzUH&R4_%&wuaJ;vBR&cEvwsV8 zY1@0L!)I-QK6KH~-2#2+x}UQJTJt@X5OP*CLYGj?(IqnRbaj}~OD|f(fLVBVA!QfR zmxDBn7V5g{xV4aj9H_EP>~+oF`6Svk%-t@brw3}_1^Y{`nH(axc=LSzaMO}B_|D`w4vG!##Ewa!uJ#s^{YLteePF51LWPZ3>Y zswDJrUPqa-uH)Ob{X$y2T5c>1M1RSf9@1Oh`MAiI&;;0PQR;rfvfJcM{1yI@fmw$S zgs$}y>~(5geyL54bu&%U`7(lH$)2{c4$~dIc)sr6v&PwS_sk8V1Mv5k*bk$x3! z1BS9J@WMpQ<7hjaWlGjg>$KpFxIH#(3rdPQwOE$UZ`N2sD|9`hyI7la^6Lo`h zsBfZduvjnnBZ^h=>oo>1v7f93Ncf7SdX<7f%@;K>IL+*9?mGL-{sQPMKCzR;G=3h? zV-RD)B9lTX(mrX+lo z=*P9o`bmXNM}Jt7cBfH0p60816_^n?n(TY|+889SCpYl& zG!_-l@r`5#G)_dPK!O2;ZYh~xw|20UyA;^XD4`3HlNc1`E0_t32+U>~OKk<+8t*U)1*U}p{H6~)!*3Kw!!DNpTxX$FcCz<%e zY+K+Fm47@*H>>N5Grr3|&;xY8Uwap%`&88xYa^5JE$IHkuGl)ZT%=L)_;;rSH2)~;zJIgpyHu|Sth8-E$njmccXTAo{yA0u zU+66gPqyFF$$<~<4za83=jyP6w&QEETY(daKtpERIlb5sD}Y%*aRn5lZ{aG{$^!Tz zAWnb3$rfZQ7(A56FNVo{>v5K29Pe*gZ-sqpPPJuAk$6@O#e;DE9*3Mm$VG$`F3-R} z%72Cj$$Z%fGts8ID5&MA!^r_^1-oumwfpV-$e~_+LF@1BwXresnDAkCdCDfZWt4wS zR{#Fzzn%clhRC6CDa1?i3dBIC(GsKEt3@Qrm_jZnKbkG$d=ALZ(U5f(S}aY= zEtx!c$S%Nc({u2p1^s96%d7Q6OziBXXtwVMZ%s;wE5kI-Xy3hTjZrZ}0j^`z{(sQP zu!b~{uE@5B0hk8;{JB(eb90JL4mqW7QD44DvgO4wqJ|!RF4;e2>pi3^{zmxkh`Q|P z`Edf$KO}1eEvz511O$!2BX$|m5$v*Ap0E$~_ZHc(T?3J8MMRwEko$~uQW*rRCSmWK z0TEXl-@u_&A|&DLnz~sUE4hZ{b$|Wym!EfpN$UF+n25Qmy(+T41x$#o3}2t@QL{wdt7de&$mJbHQCzKBapdThsTyyjv*(sY{u88BpRoNEb_Of>TR8fJ z(8_l-4CkZFlcSTy2EUYh20BX86dD{2h=0ejh_ot#t!K<%lm8+Fvg4tGoqxet5-vMj z;ae4IUq_8de}nMg>74%Zj0B6*m0SmoyJ7YLg=W6>|MMIO6M3eX5}$3w-<4 ztL;L|no-|)Ms7RF)t3^tDt{+wo?$DZ8dTuOiX+Oliy-B1OqW}{3i*?9oV?3HPuQWD zcs#mSfV*RE;&wM-gfHusdju)bOFQ1}>pL!PKUEcF)59W?e%+zoc$}3On4W1?7FhR` zRxh2VS%xk8=OGg4h$}vTvQ*JTRkW1Kjqlr4-*)c{`2 zN(>}Pk>!e`k__4K0^_7cel<$F2zrYx=Jw~Ep}clNnQg2Zys@UYEnyMg&wzug46?2_ z1zB=DU&I=VV%)(tZO6lCM3bga5c*QF$n^@&kAWCf=yd*1OmI#w%b|1}!Sp*h^sj_&uf=GW)o_{(eePJ8PM8SyPT~re} zCHqcp9Rtk6rtLaAB{j`_LRk-t9eg592`=X$neg27slgAUIS>b7#Z$pL7}rau1kWb> zjyN2c&KGF$nrVTuc;*I=3ILK9M%a_bN^gX}c5Iy^l~VYW#3R5UunC8qJ)RJgUx#x9 z5`=dNnO3&AH-DD~jS+X##l>SZYLtv+zX44HoIj<gN#Ou77(LaNYU(v+1}NqNU z$S`ew&5@79{_pkED=CIAt5zjkp)0PWYEsiz#8zK%+yCN6s+%%i`r;yIplD4!bu3pyn{-aN=7VDey3N9+TVsU&MaQzSz26wTMr zD-e)u(KDOzAzARrH2#$y@L(}?N^CZ1_Iq(2n zf!O$pERER`?lJJio6;aZ)W?|v-7!29_N~HxsDBa(JWF}S*7nBHE#C3>c+~w^X>D(! zxUbyW-b4)grMI@%Ej6$tgyR(La*?%qf z9D~VG84aEj9A#*}?ThDWeA?-m-~l5@x@rVg(Bq2sYBO!4!{aSFohSCTpprhjZon_R#y-SRa{_ul9+UN$^a)cX@qW)k@! zCk=bW3*ooh-+z4ve1XM-JeU8{bT81&YP|}yi5C4_ZOy3nB2a-lDg<}o1xqEtX<2c` zOoqj2^nz7V`o=(x%pAehVfPOgB;4kNS%Vq|>sd#_C@Ez4S$S&?YGVncU8Ug7%70XE zp`vb?vL;okfmBa2ZO>`CV|hV~wHDeHuwsjlzC*57Cz~up^bxbsiYNsK%3_hH4){j+ zOcQYwY{@EB=hH#ma-;7;DhBuk3QI5J&5vSC@m;)2$;w1WNhV#Ef5p6HNaRDe)8<6d zeXkLtYh{=lH;mJV%3#PBZy{`9Kz|25VhXq%sE>ltlO1@GK#k)ZbD0RkYz?D-+yorr zp+8YOibXV}$v_5#&YMa9-Cmo>$ar9kxkhWCOl z)YDXPrFjeiF?&-YT@0PE9w#BRwP0}tK-+HsHmkFG=vdBregIS=s}G`AnlkXvO532p z<&pM9OU6`A_(*ZlcdYT*IDc8qmk%WdLE8I_$Tz0gv}npj7bY62ZR-dfE375SvkX(Q z%Qzy@*Gz1$zOih|?@;s^eQE2m*@r%(6yb-Vu+$ULXGp$&%p-S7$sU?TpZB28@GN`m zAP%@t)_Rx?Ft`-D|sNO1AoCB2$DV!6qzeX zE{djX**5H7Z!yE-8LDfzJ)1&mF*Gih+6))Vk}3smVD;dT-8(Lzp)fEy5WWn^CLhm7 z_^)w1UOpTGixL&xwS5aTTihBoNplsk=|ZJ91dD=*UTWC4!f!YiUkAc(I2G^@oQbdR zw#LC>jK`8&aWT6%hJS22L8Y}rzmSfDQy8it`kvG0&QlZQQJU;%uBa*?T=4*<>47bK zO*d-1h>Z9_D$KgN-$=;#)f2U4XD{QSSCMx= zs!=yZ(;$Vc=I&>Emg*a{N!=l0w!l87YI@XgsBg z8B+qq*Q7#`-VyHQB8b+pAhCvMof1}DW5)Gv5?$ZDTw_xMc$*HO_Sd%Xt+VEHn+yWv z@l+Z*FDJ9A|C#b^{Dlo0QWH2n*knGFo#i_qso-Q=H+QkEYo2U58%&*nt2-jL{66Pt z=pwkDC>O|Z9)E>^WE%9QpiaJ(I zoKn5qMZ*w8M0g+CVWx#47FR=IHBrd@jqt~09X$cLRo>5sHu&k3;H#_!5l9Adl7DWR z02s!)U;-}@w4-K?iBfJPq)+OU^pEponJix(Vd|4PrGLOkeI&4&&6EF&hACKu9Ml%^ za)sscNNI+toMl8z9~MEU1P5FVnP@P3l!Q_o6*$cD#s89P1l~uEAV&R^eyCeZeWRlf z&TkW~*SiPO3^-Fn}Ae`)-L2UJS{ts5!&E14U)b5lD?fn{k!7uX4Jt=}l>9 zAGU;TY=2GnmCDwtDdg5{Sa`lTampCNxBA@=22_$X*x1tO+r1$NLEdUNUZg{V~$x$22M!}q10!#rE=TxG+C85nw% zu|oAN(>AoGyP0$^Hk)0W3kP{TzOf@vNyF)1r+?di^=F$ArciAKSicfyXZ6g=4lg|0 ztf4t};M*01ny$*4Cfjc%^!(|M(dNahD4J1(!EVs@ZvWwJ@x-Y16bYA(yq{<`Te}~3 zWVD;VblJxJ>lB z1b^<1P~ifI{s@Z7LSeDGTN0^8@pw#Ln+?hJI$ExwK{T}@ynwZ1N+&OB$aNghCYRDI zE?#EK@cGqO$2OVBZVj1_cs8Pa2rw~~_l%?t3b{m~Ch4_j=8!eMMc}*w3AYM&Ta8 zeR+NquAv8xtW`Vg7=f=?uK%r~Z~=ddb=H4cLdx>?c05m}SMUB9O(w~IynD|D#ebC? zUsn~q^Swdqr6WE?u?)2jwxnhgk1?!5ne!I!i2?Bea&^TOEkEd6$nM^jOW@FPvVs!= zIU~X9d!VKDqd3IQc8}w!Zf~r zSPIMVmq%$l&m8QU7BS*Fs2_#+9t5;fC zGZf3FGxv?1tD6cbsfI+f*nQUQdg)}%l{5uGc>Q$@Y@rlV;*ThaszZ*?K~GK1^w?HJ zNfafhS%oNnuV>H}S42rQTs=@bZ=ChgX{xLFGP2n8CIPl^WJF2TEq`)`uqqp!BD#*P zc}=6VyBATallT38JG)x~b(e)65JO^mqX=mO|ZhGXG^k zOLxZc3=lQ+TDy*fS$_< zHr)+_7RU{zx9RTK^oRP>yQJBciIKnJ`Bn@xCBV~Kle_x9^M7sgbOjcYH&*Bh<`G1| z;9rk`C%sO_*Woput*#+*O$Si>YZ&v~q$^O%U&$!}EJkFI&D+KaVEO5XbTq>EIhoC0 zSY~ATAly{9+nUGV0Jco9LyW}1b~?og_Iz2iY}8JJ6MR|6wx2+KIIpZp&O`VVLA&-B z${R!rZ{g70W`CM&WBv}7BLz0IE;)?M3)-7dK|SBjhNd2^*0qI>OJ>Ct5esK!I>=g3^Cs@YPYZQ!Ui zsQq-#P4#pM5o5L~;SR^gXe_C&T~6o0Jhx}xn!Zxqxo>4vCUJ(F~15&$7d z=J7qbEqqM3RoDu|0XQ%6H(73?@RbYb@4BXHBKO2wOy1j;;kaV&pi|3XU0BQuBTo{V zb7Z>~IZ$VW-N;ft&r(tm(0v25Gy7=RG2-%hG>M+V*^P9y@-PR;UeIu2) zr%!)W+iYbG_)je8jGiCS^Cv>Mpuh>1s0^Y100IjZl+M3g52~^jyFl~BPz$duX9KH? zmiE&|Q#@-y@ny@_#L5{+v@AUkX&;pa*8VlN}Hy1cn@Dm@;zM%`a;>gx`jV! zAK#msfdEvwhjj1N99gs+rDwV0(sa3`c3THun1ipJ6}E05I#&1T$IhdEo=~!AlLrSf z=&sl3PK|PPE!JeuHL#qq*CuF-OKGO6iLzC}7Kx^8xUSdqoxgjvz5fHpfsAk+Vy1uS zIWe>cuCoCCWtYnw9ZbGfnt=4L(-%bbXPc1~(l`ll&@-X99GEGK=0<^vBulDeAmMU@ z)>Dw{oDrktr?jabR1puh8o{wu0cG z`BO)C8Raq!cm$02(Ys5bIsvNMX(4}jTAeVBMjqrI)*#XF_!$|}cs7Q^NMv0*n$!rOoOh%Y5 zN9&?Y7bEsj)(w*UFe^eUcKN*rM#~ixd9kJmr6{w;qRjB_b2x>KGZ|lq78`$9kC~b$ zFVOcF6pc!mCEaTO%2*+J9ER)%vMqYm?2&J2p8hJe6CI40%bp|!4q`0&D-51N4vLt| zn&-PlwViB#pKd2&?wg*WDwPVm?kT%oI#sa)R}1=J!d_E4JYud|sx7N#pBLP#Ta1`P zsC*F(li3Ku=7$8#6<0TH6B~a>6%?&$n&V48lGpZ%<_wsZv|ShvjK(ny#|{o2%_lmk z+kW}9jq~ff_iYTBtJRV&sfL67w)*A0*Xq7eu5QqQq|1`lpRzM& z!DE7fXlZhl1XK@v*$c4bvq`00a@m7D69Aq(eMAP6Hv*4?{KYJfS_psZuuM6!Wg#h! z>^c5rI`ikHrsX<*ub#kY|720B#G7a=5e%b{a6ux;Pd&cibAS*mZ)W5L#S z_f!1(4vT6}`1$7MXCwi`>>R{5p|4W{?UEm%S^)EL1-id|H(Ey*Ef1Ts_Nw0PFRrig z5>kk6-D$Z}GfAIJR&sH4M?TxnRA2i_~*_G~u`?KT*n(kv0 z`(C&EY&E|`Utj0{{@dRgbkL%2o30t0Cvfz3=7YzL7_K7w#+h!I-B2w641R$8=R6vH zAKpjKJPLoo5%DOUy!;en0+1R#6qWI~bHlSNr+PP)ZP|4#?~Q-d-fmIf=jFfu`LBf# zPal)TB8JACkaos|GP!7tBH|>bz}pXnNyU0525q3ugnW{LAMT1(-Q7 zp0^7zgY~+ZpySoNfXgb#2(L!rn2d(i$^t}*`~_M0X%vEDD4A+XxXHfPiumQz-w~1z z+U&s4%-poqRZxFDU3Zz;v^mG->Emo=T$0|50$UlJa`MXf9abTCX)U*>%?6grH|u5^ zSiWa*Gp8@-%U;bexJ3fzo8<$=pk~d;p+mt%+h*Qw7f%>zt078lA5Oq_;mn4xHx}^( zB6AFg&MW<`-wfUl&YviE+kk&yIHD#)UwaK0$R0$R2IT;9)-)i7gI*sS1j|< z(=wk|F}brW>TN@#G;)P%QL-!_&`fj3)XMO&L;dqs_~$`4X!I{I>X3OEbRtly)ymN0 zvG6SXryvU-KMLYG-Rc!BXu}$g`9s1j}UG--(Do#%AJ(3C0(-*;I6fS9wf<@4PB{Jf+@BsTW;_THn!VuHE+pIlF^9IOk~mW zEhXsdjP{zzcMx2lHgd(KTEn+R%?f`yUoPF8WpXG@H*Ld(N}%$2lI(zrBjzcnW|Y=F zb~1Z}eZtFkb0GXa1XF9+@c;ChPV;&rP*6&D1(fIvJV=2G?C@8)*-TLicfu;8eb@shEgIy?{)LbM^Yrzd7v3CWj2V*{Ybp`2!m3?6^bieT&_ zcCv8kVA~ty=`lRSmN4e8f{P&I9{z%jE)Z4F$Lb{9(EMeTCSR>a!bqOe-RN5-Hp&T@J|BRU#mqPeHatG>L}GXmnE=#fMsVuiCC; zNY$o*s%}b3&^RT;E4lmA=ktGaOY!X{oa#de7SWd5N5`X`?i~Tx5QQUZtwrBcb^O8_ z(dyWiheIsQHGID`&0J!Q!^wg__`cPdu!XqcFg5Bj$u^hz8)?8e^2onu$ujdlf_TF? z@=$Ch4pQ>&a*f$qIzX@-Ickv`%Rwk3o@g%vAhZKK2O4c(n3Si;vnA`wX z%8^PbM1O( zdXRYLa&(62xRNjSTHUMF40EK3o1mjVBuhaP`LH{>;+cQ0ftT}M<$NliAvkabamSYp z-DA-dw6r1b3%||2^38(i>$0rNop+Y!nT0PKT4w^2`^zF4;0fTj+uwhENB+sT2z1St zf}SXQzxsLLSE}N!?-0!Jrz%xc>J)6+!Hdm{xL=Ka9*n zFadDVfM0|O&$jK$95F3wVCTI_k|6Rfqi4s>CgsUl02wNMoxO6=Q*rmg>YZAvojH9A zY>Qf$UwiB;&24s)FB-1qRf4{n;;VszTqJ+}W=CfJugMBm98x-^*R0b_q2B3k!e|dR z(&Ukt*fMEpp_lui95X(IidP~{>GfkuY$q=CwORbGdRZ*t&LR9^KX_B zUM53$;V0(NFd9YBNC$Dh#O>V0c#qCc2k1%3M7Ol#pRPq3i7Q{D;YbD@K;}yT@;!e7 zLoNdK3YEG=Om{1ikrUhLdqJrPhfHux8+Wua;07r1TN#)3+T*HsP+jgW6wY^aI70kZU+#$t~b2{lEi1bDKVc&4w>*XxsX7a%23C+Vn@X#1Sg#E!%d zV6oW!?Jlqj$8RoMmgRKpz#X)%{xZLqy~*_d-l;{x$o%4#CYP;1#H{rauV?0VLem?# z$*5F)$?0W_r7!+Ez(-yd&%A$JHkHAHndI@?HyQTT9$KTIt^2Co*!)6~kJIEr&S=Cg zTeFNwmff<}6@iaOekX1C(;<9J7Uc5JH|jew%Xq4i^iR)P3np97&#)zgk?>v8gj{kCp$*HKv zV<+@G{l4bK6OWNwpK378a~#JW41+4uY=6+}552*OndXh$Zs_c1+7DbRp56p>rnpGI zGz$YUz2+&lGZ?6-M!hX*_ zF~8SFy_Mes5ic6x@D6|Nem`Lavm%kk9H*B^MHQ1oO{jvu7@^seh%{N42jLFDE?x(6 zb4J9NR9Jk6h&8P&MwC?s`~!!nqsithf85{d{X-*M685j0CPay5Nc4^+@vIrT+Q-u+ zvSvu@96hVYk@Z^9gh!iH(X`KL-wnxBDvnoV9A^ez3Jj31c@GWA)zMP5@^|QLmT+`<%(ToW zV&zdbq{3wcd%X0ar0r@2+pq`T&<{)-SO3hVs`2o_ygYUo1?LlRaSN}q5w_Q7ckxQS zc;uYC1}g;vfc8Wdm*y*D5sO(GX&1Q?k`SJPrX*BLAB=yUmeRIK-=U-&J3R*t`n0g;$aS*qT`E9{-3nSvKNhUpMTnl?|v=4VT= zc)q^gb$)(cgWYcE`@n9DVVh_7(Dz2&a5uX#vJFJ4c$%~L%Pt}y(!6D9%rX|gp*L&* zhU0? z5G{2xS;{3Apo=*X_eqwX-R!nJ%tex~zx&2Ng?_Soe zMj{bNobH(BN|?(9cl1?YOwg|~rW|caVRg9sB&>hk@rR>k+DPe1~ z{uQiI^~YcvF)-9?erQ|KoxWpbwLRi6DY)))%i*HBD3_|%jqe;-U-*2nS=TDuk1elVfX-d(`B7UIK{W*@5Fh_*f{ zox)qczWVjWHHWY#y^%(Jx4+U`z4FU@5dnWXb#2e@6_8xMvyRqXb8ExbbK7k<4Eq~K zu|M!#JMfNytb#%7kaeF?{GQQRi^~BLwT4*-2~AxIc}1Qo)$a&|yJ51p#*&Ee!1b4Z@OdR}WT4r71t zzUkSjb8Bj(u3qg!(|sy?ke2PXVS@szHptipK)s^HEuK@i*Ym8-X2@xef^HD@aL@1C z^_*}?Zr2>vGvGV+OLndz9qgYp<6!KR+}iXd3}S{{k_aM01r8LrfElOP2`+Vj-cCdk zOMMl+#bT*bg2^Nbq6P3V|M#E&f}4M-nBF)y@0e%DFy`fgkMYFx0#dQZPVC+b$3KG> z$egB1`=-!{X@NGwtsj|`5CmUbe9w~P=#}7xR(y}&p##SqyjyOP1PTW~L$qy%V)y*~ zvU@Di=j3M)uSANaG@t{ww*6kjE=%cbi21*i9UMIiI24HBXi9MJj;k`%(p!HdR7w$X zih+mD$xe zz&_F`=HO_|OAg2Z?s%Lq< zVaM`N&YzaAcVjAiw1-4~BRsw!+;zyOT8YM^f!p;uPwXuPv`!MN)$X+ieRsngJU*uF zz^smkEBd&G^&}D~3lMLSsk|YVC2$qdNTF+O^69%8LemaIe>m(Q1HVC`vBG}XA30A2 z3#HJQC3X~>I##Y@4|;!A*xOu>{=>3wx0Tye!8*(xy1g*4kO@!B-OF73X!l_iRFhXk zuNKsECLG^&+IK*}8TfAZ)EmK%n$e%`R4s)f$Arric&~G?F!Z_D5brg*kg9>-c806y z^EkYE$U4eF9ek=+mE{e)f$QsGJt^x!NT@Z}wm?~JXDMKH@DYEvJguQOdSdx~EXU7I zm8GdkwA8BG(mS8`$-3``PTzU-aYXZsuM?HoU65kO#TB;o%`~^|dfhO5;^toD*kY0P znI31<1-2ec($%|WY>Sw(BFh;uaIevPDCJEpy4N&|P7n;+!Qd%CSn{m~)7rz%zzTzn z6k{7?01)A*ET4Y|GOh7qGM5J&h~`eQ4Z{E&)yQAv(@RnqXId`>sSi${&j3Z1O8LeOz0reFUwFAshI zBtrI?5lQ%Fu>VUFe*(o`bGu7~sbj=Coso+RG*y2i1|zndz&~{W`-qH~E-bH@Fc6vB zb*r_86ownvq(RES#kvIQOunWL z3OO1ZwjMxHPBe_qV1ray9;pIH+xvYp7Dz3DR^?_ z-vEE$6uHsGNjzFrsMM0rS1!5Djk;kc z*jWE|26lfi^l(r1kA<*%>gd1iMY6IyL}S9T3zF||~ib!|Fq-)e7t)IDa zuBbyS%LxyyRz0c;?Wsucz#_pqt^0O+ zK^qdA&8(cu2^!98rslX-u&S>4z|&ab5fw32v^Y&sd%L`$v&*#Kw7=yVfjs+&KO`4; z+9PrTjE>CV5?P2mTd^b(xPFa`*b6cf@B&&>ZEf{JiFtT=dWG@XBQc$E2$;#6vX!QI z0bW3DPMpB$&MLBw;A!8BXP9@h}8l6eRt|9Cvf4 z9`~yrcj@s;Q?g0ZvVdB0y`u>_i|U!Mk1HKVj^yAnqb{e6#qxX?ZAh6t^16TB&TduR zRD{HQfSiP>e#xAYSkznOqg`W^l2S|}x^%bN)sE1lP68iO_PhXJWw^K&eq z=he@f9Dxc3V)}|if+fYp6yY=aawx%xi)TnRg&c zQ^7Yrya{}da4cfV_Z$EBuOE|@?`ea0j55K=#y=75-)+BtyDg$b2*ZUT+OrI?L~DEC1L6my{Thdl!)UQW zg;jRI8Nex0h8#Nvyc#kGYq08r!Vw_rVF>%E>D8zOa8~s|vr!;xRgW|uN4ntLVjL;# zla}L1(>`f6j?^nB)-P}&3Ac-hPz)LSsP=#%^`6U#1xsY;8_lRWS!S?kFo^Q^5f)jk zmcW0e@zsPSU?L{jG;Szj~lccw>`etl^*NH*+Pd)yk3qsg>sbk&g9Rq8u| zb4Iu+qXrboY#asGDV6PXU}I@^F>N4+&jN5@S+lQ@aA2$bYqagEG<3ir=GVDnS!Ma> zL>LUnrbDzELrnPl%*GOCE4Vv&RA|nE3kQD=p9T>201He8zAPHXs%8M(b+_Ztfo;`r zs;oE;?E(u2&cKhxoB?!f;`Ay?*u)h$U1U&-bX(|-NUk$#-r`Q|EJkwwwMO`#rH}nj&c@CBxCvo(qNEGHa1-56@P(S7yNd+d^@d@|J%b zOS#Ln=Vpw*J^QTkipZR#MQ9?CLPjXxid=zCV7XCRQAJ;3mT>7QdzO+m! zt$$9{e&fY28$Srv_aU6#x1t?MP@b9o%5y1toWqA{b>Opd7cCLC?%GW#F~pAbz$s+Z zB_N!&4==g%ALT~)V0#N%^@`E>R4ps1YD4+o_5#14YEDRK*v_5m1*wup!eNXpCG zcc|5kTtik))j`XU^Ks@UIpW>@foI;1YQv;h`r%FBdsGmaFtJ_wzkfZA=Duev775Oz zpiBQqjeo!T{_SobQ;`U1sqp|IOuScQ>8IAJ7$HMa%CWiOjA&`(#@-Ogk=$$;p=d94 ze}bYQ42n0UC85T^c#l}@u<mbQtMOa=Bs3tj1s_J_bYte_joNkCUqjw}{JxX5*x$$fcia5m)}B#@~e= zm;TkG@t|41VPUuhq6eE9Tl?xh+Li8WNpenwEmT9AW}u@KCS|Ir4tyvL8q*rGyClGl zXLY~53VUv~f0ed%ISnnaPx#f`@vMyeGBFH#%%(#$9(_Xid(1i#4lB4Fc#t$Ff8vHc zi%$)RI)E9WJ%1K8V_q>3X?M5du%6qh=9IJIIII;m>{$ap2Xg{2iA~b0C{e8|a=zH& z6q{zDJ0iUc@)M2J_G=sArDY3ysX=e8v7-Qna4R<)r{H@W#*FmEYVP$@Zy zpSMD4{GLHXusu9j;a)KV?hXsZe?5v4j!0^dpO+MdC98!n>tI)uZTv%){i7S`%=u5iLjUYC9lEFPk8{Lq-zbc6HEc3WNw z(~oKRI4%c#(e7asCXg+3!W&DWst3*?V^05Q(tNz;E`6L^>7&&hYTQdkE}c`^q{|M) zy-NR_5=08iL|*(1-ae}moDpUEG@CxnA^iVBl(Xqw5U71Ot3LpffyxxKs=k#5f1Ghh zWI_f20FEI501*HH0C#V4WG`cHZEa<4baO6vZEWP3-EP}96vyue>>W5?byyRL`j*$E zuw;7(Fa$-L-RzE$=!l3U3LvKkwPNHSUwabB>b=7KNeIh<_p#eyZ&So1nHEEAjhsH%BFg@EhD zq+Ag(YUPrLerjn=)-YKKI!2O_TGEG|1|BTp8le#!3Rx!z!5v!oP|6-Gf8`l!RR==O zNkXuy110w~r6V`zou*_RD*2}=*@sHOX-Ws~R2(`uuV@Lz1+NPt;b(nk6r{diR%akw z5y@^@&g3I#n%+i+u=4(d6~U~nLSd(a6?~)MDb4M4qrxvn%eox5^Ut>P)zZh!{Pt@* zgXaA%3zrKG`XF;5H*@Pge|y(VpYmj>GK=0dqoz6RBQHh9s%>^CPE`YAwh>uAj6O@~UURdO0z7zk;ghyzZ*y_a zgALQa`i+Puk z3NmGpjIZuWUX$A#Rs`XJz{8OypgzG-)R#V_4|-g&Mk>dQE_YoOT91`8LeW@{$x>z< z@@GtHo}+7)WIPwje*m1}8UWuqGlMfLyut1mn`6`bU0GSlBqKT8R(!3cE4Z99u1HO; zK-#ruUTDYmNRL99lWNp&|C9hUh3VUik!gme=ex7*(3CF7GM9&zH)_bAnKOT;FIel3 zH_g{O`Iy5Nj8_DTNZj1zTe_e%^qX{KT)r~4=aRDIQYU>lf1$N}swduWv@BE2RwJ?K zj_nlX<*!UgpoF|L7o{vMKYsW_qKvF4A_)3jigI#G^K*0sh63?>@`%<$oqm_*jNT2Xx7*yF_Emt(OYQhCk;wQm zZ^`L>zoqEohd*m}m&uPG{(6mGTrH5`FVPhu70>w{druLRGX&x&Au`D{K}{?J3#$bP zv4Z~a<3N1D;IK5^o?&U(!NiKrx<6({`YiDzfyCoGv8rr;RCZL)k*)maphJy2-R7T*DJ8_<@dA`1y_(^u-nW3E?00 zXe&$~s#;}i=qNYx+Jnvq`T!mt!+yUQb}*#nxrV(T!!zG;rdT<~&IRni3u5<}3$&JR zGlmh#e{;R_I`axrR5=w*Hs0l8@fy8>TnlxxrYlC*nkz|D#1^Qes_K&ZaWJ(LLf7jV zy58KKPkcOiQblz_-?6))8{1wK+FvJhk1Xm5(X2ua%A!IG*i^*bGk^vox6mumI%g&Q z8Pan~p%0>|ia!MuPA}AP!66~H(Jc^!c8zSLf943p$|iBcBY6dhVkmZNcq3&ViPodo z{fTASc%o?TW1r70Gs3(2stapu&#YYp@0Z+;MPv6Idj^I4Tg%u$k8f*mdEa0uDNRME zlNt)BlTG^p3i@`sQ+IC0VV}5kEXy}_ia3bNj-`pqi9f~Wa{+Wh;_M5^cOq+oW2*iNGCAUndLXTzQJschKs)rm)*756PoigO(kTHR*? z$QcX>n#O*Buk9~nvG2NAy(0M%X&`9$yijM`PXTo;8c;CD-mH1G_x}gvs}epC zklpv`%C#n;qj&d9fXt~EMMt~1uBCZjX*;p&KNCP${Tp&9p}w!K@Fa+0SC_dj5sI*9 z9S@n;*!~574YAq3TrXZ-+|Bdu<<-@GaW|~{{a4%F zup#hvJFWYf{+!-lt^4Vh``zVYyWaKlcr&iX`Qb`1W-d;{Y+qg6Pn(ygAuiYBV%qMv zw{z|Ca(jC_E{4M*Of7ow^av(w(S2PkW_CrtP;)Rjrqd`}zW0zMKtp2^Y-_P6i7fp4p&HP2vVd(wq z&Civ8ytdrYHb@u0cxrP`M3|np&Xvqxv@FMISj@*&R*UOazQ|2~b&Z@1IL!QRiI{Yw=)cE+^^&RO;-oI$<**pn{pw^; zj?X=t;>*_a3}1|S3`GutNc5?s`}xh$-1Mt{vly<4WUC=O%;fLyZ;rqIIWFhBM=HD- z`VT`O0o||2eES+H9l-n5yQv=!QgduLJe@!7D4x2$8*k^IhMBzoQCye*BGd9_f7}e; z4&(c~`Sno+j~qNK@%k8VRl`C0b7b7-80zhIIaEcvpTW9%;m*;QaL!{N4gcg=yv=$Ys5I*bQaqiE0#w{%0mT@TjcD z-P@5|%=CJ*BVNV^}+yG|^}lkipaiQ(shTZa+ZvCu#~D;Uw%;dz9# z;bfMdBbrBn5#wdVh_$?fh!noyRZDI8$<#kXl!^wgO%r|a3battG>}vhe@0}sc&FMH zhetD9SiAybZ151VoCnNP%dM~&k-D){YjuM^*7}6!am)#Y5fdGzbthHCJndx1PkQzo zQ8{IZ1m+c{P7p$184V^`Or6M`#Zncea+n5DrGT|0NyD&&Boi8(%R&~s(=1GfX`MyK zF;BC08B-_Q7%+7TS02-#e^^!;eMn6q4LGx%ffCO-Q&@I57t%uwCL~+90?uV-aHm{| zlp(EY8Y3|xd5Dm6TuSN&5hZoNJ5@FcJdajg#-nMiu_SU!_6_gU8Yl5+)`Sdon>%5! z?d8shgjdj+m@subV-3!EE)wRpHz`AHcgahuh?#?G?14#yrBx4st#&~GogyB(Q&N-0-i~@wy z9kvvrvs&XmUIy%$gx4`(o_eDi6eWvfpmh;}Nd|3*2xQ0b+JbT&v>_rg+gL$l2}e&N zYT>a|MMJSSMr`3&suI~{OdX1l7?y*~g2TFs+D;60bTD8}K}t6^HqgxwP0GWUjE! zl9@CWuPu{|Vj2`4Gt_NG*%{9C6w@w2*-@18<7iz`e^is;sueLV;68!{Y^wnLx{+b+p0oP-UzYS9uQzU$T_8XBj!_Dx(M}085wZytc)!<9#xid{stm6 zwu#E>4#$?X9fRv3%2C|gLXyI?b`-?65RSE8Im2+As2s)0nA;t5*ea{eG90@QqHyM_ zJSz6CXk-$EgoxJ` zEyFfZB^9u(QdwG@JF6lKuFPrr*FjoqrVWlMG&3-pq}b1GuB3(O>9VFVGP?uU97jW8LX_sGJ(l96n{5|0+S!IfYW74IumXOT521RqN zX<|fWTmdA~WDQ5FF#xXW+FCb+tF}zZ4v)quEodN$;c5{fDnjYCTnFq+h;0FTKuZ}* z!TS-?Wjv2$0sEhdVDD_Dh&T(iQrZqmua%19S^yywRbWJGkN2Y}QpNKq%^EaNe>!r! zAI->fV}w(_2@xY=gFj?qvE8v0tOsaatdkvA*I7>E6ibQNufH|cx}ZNoS!<%W^ir8Q5=mW z-Z3L3qz(nD5?2~233VFMfKttje|Ji$ro`5T5QDQ1Ck(@ps*@~ZZFEwmg!iM!K|{ao z$X4Q$VyC3g4MaCihMd+6pDsH}3-F1W)3(zXp_l?!8l9mH;dzWU_*BtRn27a<5Q|UY zoTbsAo;s%t_Ds%MiEXdz$Twlc8{OEcHwM=!oVNz&KQ54O#L^pDRUAhVe+sSyyQo-0 zs$wlzK_rPrrsoowf2_fYJP@X6twG}b6c%wD?}}j9Cb}X!eDXj@z?pnwmQ@TYRG6xOnkmbX-jtH^% zju{~-;8hzYJ+vX65smwNol%V%N@sLz$PO(HS0l)XHE!T_6yD-`RcBRw83G|rD23&k z+!^+Bol_C(Y1avf?M~-;hid_yC-;oyz>__|v<|#+&eR3La4oG1eGfo)aJ+K}d!fDdl%;FPA5S4Hu3Hl0 z1g=JSAv``s@IpopZLgQiTPO#favAKM2`M;I^%S7s8o_8{Pyi*FJalYW4EseF2MZ)zrPXdSIL?5`p5wQ;xUt@U-rf~z$M>5KoI;kGf zVMG{QzxG)Me4D{j4#=?97Yd`H#D~Kj)&^3rJqYz|2+CXFeI{_AVk<_|H12E@lJOf9gcJcaE3z8=LxhWr?@mT8e^Y_{iS>3M9!)TZJqDTaf@_db z7=feCSS!v@;_J&Q*uD{xaHJX)SNNSSLNu;^5n}K?yQr+ed2rOs;fhQ&%o$8;!xNUb zXhguZ4NB$`zMmMaXw*6h>97@xR&gAqMN6?ImQlwW*;I7G<7#+xy5KiyqO%IuhSgGS;7<49-Gh)QuCh7_G!MF(zJcg()TzaON7b>9Dn| zNP#g@EIi`#l2~NpOplO)?^`B{((sL_RMQ_wgG5m;j@DB>m4^~Sh{yRhAq7W+iSkBV zkxAToT-!*3HEwhyAq9?Z6S-5I118B?ft*Xye|GpBBPmvJ6(=bXalI-jDH{|eXNK#e zsfI|6K1Mg@q5Krby~(hQ>tcz5XdE9Tqg{iiroR5!KvF|OEbnlRk*sWJR&taa;+;Av zaCI_~t-|+1k|T+Sx}BU&*e0fq8|)WSr!qcSO*P`eJf(;W=X1%|TM!LI`39mIZ$l)n ze;aRVq(H)mM+?RUyf$*rI4d9|V} z;S9e&M@Zwn!<1Fyo>0m<;mT<$6hva`6lw7d@KlU$$Y`++XJDDhg#BD*+Ta^RnHh!O ztRtl0lj6*|#^?39-n77oFpW3f>Wjnpe@rivNyP84=lb>g%=MiV$hmCl`-Kfe;kYUr+o&I8iUx6QkdT6N&1{v%H?yAYXwQ5`6E5nEi_)MZ$V{k-FNH~97=o#Xe#F1)o zq7mH|XE~PmQjfkd-8xEUFz34J9wFjM?Vx=tUUb-J6)!oC0thkqwlE#8PTjocuP#>gn`Xz)2GU>4e){F`$IW|j!o&d+ zN9^!Nzo>hsr%yi~+r+u;$#e4DCLi0>xlKK`>2sTYY%}LJQ`_zycEeP^6-gUA|E%q| z+tq6Oaaex)i2tVPNQA>D#9nU}tNZ0Z^0M52F7~fC*K>dR%;f?0_wzQMKfO0D4qr4o zp!>UiH>BgY4M}>p$A;6#4)-rUyc|Bw#FXVYU%c4w#^t*IL?XbBb>h?0tNvkoKY#IT z#p=VmFGr}~96fz2?COio2Mv0*mio=b!zcHyAJ#XIUl9E2xa-xppRb2qKlSr=I%EG% zbHKQwO)p-PqSCKJyYMlX^M^tze4OO{U-T3&RJiYG1_2(h<5&5^~GE#2gFJ0pN zQrToKePZI0ncR6+Ql{Mf|4z2x{ITM1{vVTp$`lHWGgrj60ssJ}43j_JAb*$JZksS1 z#_uQX9T4}eF=tTI3P>{bZc?`gaKQl$xRm7$VWc%#2#u0K6~|MqZ!PMA_caMkeLRTG$s zhnG6t=y}uBApkthF+u#E6n`nBoF1BcaXX-gLy=-|p)3QY0gZOAW;Df|i!~Eeoe|f2 zTzXwb%NV){u>{&6%@J$xbz(qehyw!P&q3x2ka$89&QX>!$_3KZ3}mkY30E_cvySw^ z!@287=A7iMBUy8jzm7C3Co(T^TH{JwJWxhZBM#XS5X9b2^_>9MsDCM5i?V3m1=DZ` z3@WO(6^?{zBoHf8CU}6*43}0mQ0PWKu`2BKccWff4?BIo85Ou(wyan#0QlOJycx7? zN$fiLmZm2;TiU1rhD#AgTJgN7$LT=U(!|AlfSf-Iz?qc8eU}<8Y_Xl{ZF7Y?5RV9o$;iWj~t28Q1=Kst4| zC3cM4r6+&j~9Op_23JH0Alp$%~dq`Hxp3bzWkDmh>c++y$-XPN6Av3 z9${Z{0Y* zq{7KP%vq!kzt2~~d`nY@o#xt8;Q2a($nRSxUN(>>SKvNNe+y^FAtv`N=)f8`qC2;6 z6wita?W@2ZdUr3!;0e)wF~Z#3h7;Gq!Ie|;R+VdvAk#DV#Bu5Lu|sp#;+<*9%AK`7DYYIm+ZL^t)gy!aTd;Da9tcLR?fM3 zzB8)095hoK@Bz1@q`#!Xx+iHar%Q}+e~8(uf}R{Y?Y*vHR}A;TcdXn_HA!HU=IsbW zogTi5lBu1%ZEkcKo)`^R7_ULSLTwHrWN3rkI-KbXW9d@9TnX)JyoGh{cNmtma8=8= z|0oa3$9{b^4!vJZ5;}MAi0tl+VWU?r^;%L>?QMtDk+m>wsD?pSf?jxQbw{^6t_atg zC|5;E{_@(D#Vw_TxP@u@mFDHE!pX1G4beX8l3DiYcMK7E|>p| z5PyD%uxV?n6l2?$oC%WGMr}HSD+$sWzsT z%4>IUGsF#*{ILCY^5u8?kmiFPA#11W5OlELR?kvQP1hpixC(7nLkr$RFJ^sT(|va3 z6y%s7aEUIx=?uJC{k*v&@SmN$gYF>2?Ym%kJy%TSvCmYT)3eS+1?rw;At6yta2eO62dm)5OV{CHx)^P;Zn&2eLeG_?O zFHQrk_;iG0BC&j;4H$ZIBQ)Geu1wPDoo{v$yG7pzXEDjvpTZH0V~t>p9D^QV1zD56 zHD7XpXFszU)->p_Xb=g!Ec6Fw*lwp6;WhriKexVUb*SF))IE&DQnOaR-=&G?5bst} zb+Wz7@YX@*?8}rsAf#7PIn;_4w{W{8FyN-1XtHt2fA=-!k@^)(f^4rvZBwyt(8MDk zDbsaJMs}fSd2knByGu9XM7+JaMvC#Zbq!Oa`cC%Q*tP9PS%L(ZGFZ?O%vW`LKDKvte(@3R$HF$mi&jzAS4_3%u9#q9zyjdx2ym{GjUFkyv=9_ z5##wR8)PbN^Ql61pSj6`{mTId?Q|wiWvt6AWNu^HH#<$VK`I?P;D_DywWNqF%VL(e zW2boeBt(l-l`)J0LsZXo_wM~z5Pp@tS+U$`SR1?4*#q8N!*6Y#3q7SUkEG~#Sxr5& z(~P0ygnxKrX=+vat!V|ptYCJ>B15l3>!lZVf2u>uJf+`{d?K!c!FzOPal2E$YTyM* zN1L!Z--v*CyV2KKftKIBLtdQEU#r571x$?|DoXI05h$MQ*NzAv2}Wq_SKf16oLb&i zxFlQOsEeKZVa|ebRHoYMXmfKhttc8KFFzboO98!e{x$*Zs&P|2Iy)Ob+ zGl&!MW+g3#bu7C_wg3L6cVrnKoc_hJOr1r_moz3Ei(`!I@G}_k2@4_Xs zZC9fiKvTqfo`mvIK_{(vu;p0Lq)lXE%O(bL9#t0-ccylzN`B#6Zr`wXYBxVIA~Ui& zcc{zzU7*dm0APSaXd*CG)z1L}?KfZJ0-WrK-BWzzi@vf&ma?n7;N=frXXcZ_j6ahP%rmA!9aoOcP%04xtJXX^mR7!UtQvAF}w2fUjuJ+ET#_ zYv6?ggmrS0xz&j{n$!LqLf0n4`YYwH@=x(Y$^%7aJEgb?g}jYXsn)bnP3B~W5KeJK z_WE>cvA3HImS;aprmTM*f(hatBn4%dsCd_f6IotlD)Qu$%?9OOlFcONOqE&P&BP*H zHu2GzCNWP>iUh}qJ|Em$_FaE^8P0XjV=>osdjC@MnQrSIt=pMGrk8&?QS~Q$!Ob!l zf9AVY%o*a%hDLRfD*8siY6kGeQzY~e%rh4D!VrP%K)8^Sr`!*(61!e-3bfrN()3dr z`>s=xh6DMOp-i||ng(nqZBY(4i_E}(Kg%JXDvi`4LaIoh`_$&4!J=88oJ6UTzFx+9 z?-?J3F023LO_OHmj*Z%!4ky}x%($Ifd~jSiV1{QQ9Oi0N4A6`Dl12{cR9Fh3q-wDBxZjqnaC~z- z;!7mm#^~U%M@WlXiGl<*Xhi6955zf2i2eFh&5SicPFgK&UKckw1ZEpVZsy74l8vgr zbj}b~Q=N?QhLFTobnoeud5O4X1>l9Mc*!H)`xPtoXIj2N=?>#N*K_M(k;U7COhz3K z9f$SUBF)7*Cz*+V#H%L;G{mn(h#Jb`7e7XkK8Dd9xyBI7lat87u~ZJoJ6ZeN88(0t zN028ZthfT`%Td1UMSXH$7iGVgQ2CierE#BhJeG_yd$Kqsg5hs&*Y*2LSaBCu)gg$a zWqPq5GhLdYXd6>lbf?m(v|Mt-4&k@q1IT%3U3{9)lLo zKkhL}K5=DtyU-K8g|di!>0xf3xToff#18|Pjf9Lq$q!9JXmPzmaQkV*puL6KFO=BN zVm$-r@!O7d+iqa2*Q?G(&)_|0@LhFv$+wAV62_b1t^A&7DWT6^<^x))6SIf_Goe>Y zYUL^!(X1l#@ca28wuNui1Jz&c2U0sJoYMWc7?_@H&8dWad%f1Ep*0N)D9D+y6HD5k zOaDf9{Cvqez(S9 zhPUVKlB;WzP)?u5)m-DB!ar%(vb)E}DIuQxByR2v*J~|YL^YfG;FvNPA_jpdFdX6^3oJt> z3jpklzgb(1q8Fq1H>vo?>?@FC0)P~jK^2l*5a49|f2Q$|a;F~oR1l*yYfZK6V@B3u za1_QrB+CE$&Had+7XmvvNCqK532R~;`CJGSIUGbB7fRtRGv`R`zW z0|Jr%!++%wa$6XX#Kw>X$SMH1i?kI0$dS4t06jMJ6ohmY0i>~2eu9uSB7gwXe@~1_ o00jPr8?AE?@=64_$M~l$fj}5c=YLFz87U?TK=4dhF`yq0>lJ5T#aoz#bKW60EzTghBXQe&3juqjt6_Pymo}E25nk;r>1p-_EY^rD05q^z{ z*nK%a$*HUYKmY_tT-js`3R~UcrBIcX`Bi3CUjF%CJ}+J75e1>+e|xVlxNG);LEg-t zJKp{4i|;>LSCb1SjBIaiyS|5BUp%4k;$PnU@Bj7Bo7=fRTQ89pF?a|syxpv3uP+{= zXmxvY6V4vc(hjee&Mfdle-T~J{N;_mSU59uv+;xZ4bO5c`E3>WGZcpSdAjXA+Tle! z-0X9`(dL1@!C!^}f5n^GgB?WZ^L7lb@gUO8^k%X<5Z_`Tyh5Ja9ZG0ClzaoT+8Ib} zH4vWF&PY z`H&3qxQ_sjOE>x4X2sPMwJK;c=r(KztTX+1@0Ko|`Th|(w#IJ45a~DSOd#O-f3Kds=2_w7Tym2!9Iv^=dns(`~f3TS(l1 za?)U|SfH{(9(J3|hX;Fwk#ae^eS7cufqm!V8Da5Ye=vtLWC!4H%qZ}K{E9x4*I}<2 zz?h3SSgX48=TG#f{|Szg4-r0tn9VJ)CU=2<@$4lY7@sW>3cT^7mH30TJDf8F=~jnFqcRZJgw^X<%UGV)2`55Ac{P9#H^ z7@DrCc@~J{E&#USLPazMzqM_m`5kMZHw=?ukjtjkY;}5L0HvVVcvG=JZZn{$7^bcn zQi^jUD0Tovg;3`7KrsQo4^LiXe;)C!HQp)gh<63v;@DFKJYJQihRGF7Us+NtQ4mPn zPCLLGP2a6NkgSu_13aSFe>wP*-#8ffY1N4nKM&|>4EUzgBFBg)G#ED_DtTtXU_X2%K zPBN+ueR%hr6&^6ju^ch4J?4!GK0BDlohs(Z9LMsyQouYx)C@`2e~4{1VqRCwd&Uf( zRHb{5SBFBzUtqP)UE|+2PV~TBU%wuKu07C==`%Y($DbKv_s7g8;1=KwVIB%naE<$&;-~!Rm&nSkpq3w8BdGKNX4wjVO6^f0R7YRFXVOevAKw=800t z*xq~u&aS{YW|!;$=gFosiPnVTRSz4?krN<_i8Pw$ zrx6U>gW;H?az?tK#PR}bs(CQvbzap4(sF17!=r=Yk#kzIjQY+FA`;qYXVK73yo@6( zc7Vk(e`N<2Pqt`{$a0z>Oo~0%;3b6{VewgD@fn-ye_$Q)dv6_PGWnRhCx&$V17rFv zrZ^<}jk;rJkQ@_Uc0lrEi`dBKR4{c?Vmfn1eBGTpGp-5-(x~P&h zl_DLU@+v~Xx9jB{3UZKlSWLGVL;tG#J@`x*y~i{{0h+(F?-8lJKptL`o@F&Eb;Xip zzTm^e~tBDR32x2Y)KJh@N;s6t>p9!8q}V{RxWd*Sm$vWAgJOKJ3x%h zgex?2Y?ld1fqn>)e!mVQX5k0SGN}P(-`hY>2CJY*@aD!DqhrA4zj4;wo&svO|Q7>uwh*NfuM%VU1v;nz&sytPygf z&+ya`)02WX-U<`|ndwG_%)Rr7LgvX|GfN-u8h$4NG4>xxbDCA)-v{>cw_pEJhsVy1 zILTrcuD`iv)PxfWd9XD@ZtX&Ue+g7s-Z`F4*b?{}Gy1}J@wYJl-sYxzQ*MN6f-z;M z1?Qg<|2eW^@eN*@wsu_S_8kFf~;V&qG~|$_ejAl1-DszXpRv(u%9sAB1n0@ zjG-9+g0VW<&FL$rvuLWKWw3=1*e{;WYXx(b<#<(BgubbmSyL$$HGlpz0R1X- zh!1dTqt75e_c8rUUuB$(TSJ`JB;TU z1ZWoJp9SB71vuUsF~Qm+VPjbLhJf1H+QnAp%0V;o@tHp-#%~S(e2&(|xuW(FkKd`ph~6%QxQBOJ+k^2KWf?B;G4x5)dxH{70>U#BxY@1ix0? zrlvD#XdHD}b+s?GVisiagfc)YAOLxVuq=^5e+@?F924k0n%S;PJ~Ie<>^0mwu|mZL zWG!mPdzM{hC$c`Fe__I*r{roN45n{;)Hr| zLS`0=Gyc_Pu()IB_CQ7O7>c$K;)7pz$rj)U7I=fv*;JKzK8Z-VStco)7C(qw75BUEAJHWr=!y2D0-V^B9GqfTK z%2}=6W@aveyC(ao4q(d0RN{HAn29uu^W>09|24AbYHP&2^ZidtJNQJB3mJOnNRoQs z%zS-;q3#Ov#1(~ut7PM^@acMWhps^JppPyahpdB+f0K!Lk@@^LOw4)7bLlGj*;6&v ziHS=mOxuGoI#vuc#C(sZUSOu(8Az|j320EC(#wr)W$LHT*Ax`u= zhA0vtf1A&&**xGQCg)B$tECf#p&T~LP=Uw>MTMVH`kt(RBAQk-G+(fWAR>>DUZYZuiscF(kTmiBP8C%KgHb90{ z3~m-2BIg5So+<7{G&w=s8}~xuhFdSKX535af7xgm>5}nO^tEn|#6SZgizF*NsFkv3m5~toyzpP`hrre>D7O|XpZ)Q@B69ru1$4O4}6 z4p3jUlgIRzSKge)*Cg3EN6@c9uLRp;{{xP4EmGsIpxVyCyff0#9m zYSS!za-Q%0qJHzeIS5Nvh|k|^u&5wSCsS1{s3;?g7D$Qz49}p%we^e)`cD1$(R}~y zFZ&YgEHThWQGaGpZ|Hgje$3_N zjiO#j+J>&*-bs53qRttztmq;Hf8UIv{=A~jH}uGlqF$f04ZYqkQq&bo( zeyKq;X(CMI32C2`O}v@Nl4wlwwcffDEwhjlaLihMkOc5vG7vdH{2M0{{e9SJ$SeYX z$w0;z1WCwO67|z0P8$fXJmhR{xsvZz5Qg!4H~OO^@Bna~S4I6zv9tLxe<{^I$mHwi zJ~fiHI!-WF!L#PX(?}IO1%RUduFtjHGrY#CEUlY35^t{}_bs@tsp0{@)-s4SPUi%3 zBcIxK__W(?VXU&nz#D-xm2uWSf1N6igK3)X8 zp0^8G=_3}fvOtF0=CSs_q=ui5zU^!!B$iHsWubz_#=N5gBb_i79$kK!lmg zp3VHV2RW^HkFFUIf1i#0L^A!n5ULKQNjoIH6@L!lA5WS6eIktOGY|GIGoAG6ZDt0{ zLbx@Kj!O6x>Nh|v(Jgr;b-zK#SnTzI1eHv|MsKGm_DL_D$|2;;d$66%!gky^33eUQ zoetxT4${6`Gdo0e4k~5JafUW2RF>m-gO>zSxpq9LQmbiOe~>2Tz(GKe{nDP!Z@dk}{SnbB0hJU^oKUKb9UUuLnSq-wx(FTMw` zO6Y`lm_($`e^CU$vKvmGG5vB$6t#?_lAMp@ntsViC?$f3opZe*7`F;+wu57uN-XW_X}Q zLTm*Su)LsXG*_opW@YC4ePve0L*|KCnpwFwWw+%l8xB`p%WXSI{lwsA%RiX7+mZzF ziQHyHC>_)9Y#Jmp9_HnJImTx#3Bz#0EvRb64A?J%H|U7uXJzdQf$R*eMKRkpUA_9* zSzNg&fBN|0JMm<8gpV2Aj#3&hu%cK@{*j!M}c;IGCM0PA|(+d7Nx zb5jz)%FwG))^nNpnRd~TIf+*WV^zWEKI~{Df9}=BotZDTkeNvd7LuNi2}l?1(T~`OAF22OC=L7 z%&cNgg*5&Wd9Ay<8>mE?6l2H~V%)#wEj@($A)&U9G^;l6V)wQ zBno`iFc1xiH%OxR3pfV5Q#MIK;3iibe}K{^j<$&Jr))R$<4bLqaN5$Lt@Y|uJ9t*f z9td_og0ZM|pWR>)jPVTnKE1B7egKSu`GL0bTZi;EYvH2LNyr0c9k>S>WL>>Sxuz{# z;yU?B4QFzq!AVAMD@oH7+LohOVjdGk#R76kdsS{RDvq>D!(*|I)eL{d{2%oVuNfcYSrFb%A3~2q7{JK!bFS-O<)2ts=l%B5CPx@E8b#7#vjx?e;Q-Da{%qS zej4mT2QN|X0Nh9S#*7gLvm5Y%T-WLVJs72Yt5f1e_JB+l(8OyY%&Ro*%@W?4nICPfd=NaJ!E+xO^}d5=Q8 zMBwZ77M!GnH4SRm(3eQ4;F;+M?d z$>V>ygun&3%-A|4N#xo=U6JJ#UMraK9LLJ4nF;Z2p-uH6&@JV#VR&YNvHF$6qsw4D z6JcsiBtb3Ia}+1M#u{SpR{*0DUGs<+s-8E*;(lS0%d3oie_yLy9L5HPn-p4cvx;Ew z#$?MBUp({d)qur@eZwkFzdc7CZ?f8iQm(h7?s+v}@tER~YQPsCW7%**=01QXu=pRp zyQqb;7)@o7H4CC5>bh*QG{a&Pm1n?Nsqnmv?$EG3-X5himcRVGcZD)2HDZOEFvpwii3HxA?>@b*P zMPF>de|zMEdAq*(m3MZQ4K^fwa{XfzK3F3$nI`6Srt~hI^Th8&XQ}xuY@c*4M#9{r zPLi3wgyPPmutK)dibRS9?0KJ$7n&vC01(L*1S~tBZE1sKwz=8tMnM-JOou`X6d-Sw zfQ;pP5wMmW&K&3U#Ybm}LgrhvVcz>o+k?eDf2dwq{?07ieK{s0ME}GO#%$ozm*X8J zuj0+r)%^04#U?Y%t@Z##%J%0lC!Z@t$ZC&rj20E%JIMFzr0y!#M3u2Aoct=hNkH>hsVF|MAL4w*7J+}i8nJXTTk0U_;J)me-glPWSR^U%|$r)W$|jde>A-2$lEkbR1xOV z@1P*V#tG47QvIm_vG^q?AXn8;bnN`MG>k~ieUQDlXbZ_&gLWIFs+zZ6-T?vDvl$A* z#oBd`E|bN`pFU-B%g4xptv~+_jc>k>yhlg9?8h4xU!)y*l}EihoTC+@h4cKRe-Su1 zQ+x_bv0NUR0KH*H zw^t!j^Z4xpS0Mv4XXZ(H!u4|L(mZUo=S!FT?Zr*sp{du!;mg8L1#U92ig&rPVadF1 z_3drQEaaHph6=9xNE!xZN_Jyae{emEpcSKwB2tYoT(4Gs0G2n@j{3}G`kjW?%nwQJ zzMVQu8+h#z|Aj>quwh$&iuQLSw*K&2q-oW+Ppc-JvJSDh(Pqm*gAlzB8mIkfW7jMx zpiSYH+9~*74wTX!s$%wcpZZyY7ePl*d_pae4VofKJ7TX~{DnbFerGZsy5mrClAo?k zST%Jh=12e%bJCsb&pzG8f4(SE`WGu7cYr_Ctco^JJUCPP7jM+jkclCs%gA4S?j3DO zdpa^7f2oT_vw>rdHmglaJ>y>m7Tbh$SMgk(IkWa6$EE%ZK)sp2LbR1lv0n@QtNXkL zp~0K9iuG(AU`zilzzQd-SFqExR1HDVafKFP87iznKaiPWEqV*d-MPeDkN8rT3=MF3{D%SP=)t=t45()0z z?F}pCzmf@&m+3o&O0H8~lO?^76U}KBZy81>f4Qa#G6}KW>Z^yM^ZM!yD>Y2>0l3dp zmv1D)T?IDJ=Y$t(eYE0HAZ+y>h54)Wg9-oU2->`7!dTgl@`pjFougvg~z@)kU5!)P-bq#gIgvC=P9pFJb;8k*rA@SGcQkJkl--nu0;^Q|4{1i5O3=AN)DAusxA&>H&2qalmJ} z4#`F1Bbr5&NH*Z}>=SVik=Ts0%dL15N1nv@?D5j#fBCDGA41ZBAIuSXm3FDb?>*tI z4iK|ie}@lfew~|IIoiss#GBj{PRt`DP}bn)6VQ^)@SXxZD4eP}|T&S)uOvMr?uk zpt$WtFGM%K`z7D|BU>#?Zc*p4Wcg*B6<5n@N0p@f6t-w7bq-f`>_(%SjWQ%&5rk3e ze@Z#42GK-~QJKof=2yAE1#8mF07LH}VbLFE*q?{*Ivnw(ck28obPa(H4F(f(aKR9`N$YvdET z+%!2?9PE=if7SN!33<#KBeZr=^suKKMIRK+-EAMAqQ`97 zN(0mPKd>b_uL|n)zJ*jBA4`Nc0q?l|i5BLd!Klb335txrj*?{g#M6!0WAG#A6*-GL zpN%BeHtWj9@Vi_^PXm<@>tj0xB`tJ`?@rUf*ty61tL^<%u=YGqMrkze9CE4{e+M7D zG*WqJMepQUVn@Mi#S%XpJ}*X@s-7Xe%qEN*M*a%Y!f6?yb$Bv&-0@et_^H6s!b?Pt zD0teQFpC8PZF8wfRG7}zc|{Yun??4B<<2W^!pnkAUT+mOocVs8NV2Uflx#5a<_+Rt z56^X9eDsl5+F(I>HtQT8U4Nnwe_5B`k#N{8p(B!?m7&SRW0Zs@FZ|%=LxIQ&aVG5s zBFEvzyRlD7T)n)IIHy{&DQE?MmBPygC$U>|Jc9(K@Q}QiG28RoeAGZ>r9}*&a1w#Y z;CcFlo;H3kzXb-U_pSXYB?j7VUWTXVdUnqGZ3088~@te-`NhDQipt zV6i@vR!7D@!-i~mDhJc0fR&46T~rsbIfQuR!`&64dU2~5?CEG_j#qs$)di_g*k95( zc`_A<+o~;spN`|Tf_iVgp)MHqFh(OQl&bZ_l|f?$=T3lTk^96fd>RM}@5hLLx=V2~ zfuGm)BMN(m=z_%`64HmymQg*v?Jjr%Wcs>)>EHHDlBw_NHtReH@Z@{btJAE4* z?VLO^!JOxa#`>?Jyd0K_JCIMt#wSa3iRT}!H!@Qx7>KrJwsADP$SO#j`#{lWgjCG&?n_-pouf3Fi!B62)$OxdEb`BEYPSyMBn zWELa0BnRy)2Os~RFR2Rj72x9IHDJK2udb1|ULwHInxTNaz?zbz7HW+0oWL8L)^}*l ziw^}XGlJr6DPJlfsZ#%kdLn8^dfK?Ea=_Fz#6~&rPdG1JE^p<63R3}QYWa1YLU3N}aVCw*xCQK%#dG;Aiy^-)PN5Y+M&}D531>Mw5$r?!* zlW>+JVLtA&oP@lkTe>dld8eq}Y5ygEkW!F>C&kCqI zd3QV(%%ltHoxniQWf`^4dU(VowOEp~f+8YmjY6-OYD}c*GxuDs z9%ae?I$Es@h3s?cPV*vqgR46`iVO@Ez8n*}vJdN<-Vo+cj?pL?w zbJ_Fif7bS`Ki4s)xquc&j%iNA^1cY3NJRW5wu#GPq$ecGH4dsKm7cLN7SX#Rv$%$Vge%d&df*>(Jppn-QuQX!Rh5QKd(z#`0%Q|ye}=RoX&j0@XX!Wu;$NSVNi?*0cqx+Ebdg$d7tPMk-xG3%6edRr#qR#Z+yjBxJtd2m4kH zNkXa;<*xo#x3Cu~;yvrHbK6*|-W*%#+xz#j2PkN{!}S;4BCn>w#*hwa^(RBLhrXq$ ze-DgkCaC@7dOUx<@((#o&rGC5r6m1CZpv>RMb%(Mqfm)b78I5fgl&iO7K&y5ofAy> zco#U}Xa^56G~Ir%S6JFFX`k#l<9qHC^jmYCnFA>nb0?gwNpmg=U8&i8>OJH3xiGtV zj(aM+ez%4TN@iitBB1_nzy9M9K?MAKe@kQhwhv9x=v7DvVdNX+x)8uMbJug&kD(Gg z`lt)G)xWNpTviGc$am%lu6r;GVra9S`-ceI-WxmEcB;n94V`pZ9^sRzo`>H zBI{GjFifys#+&%bu^C=oS|nEO$jd>B^@l>0N4V=pN%?{t9Yf|n)?q}_7J|r`f300Rz{Ymy zkearj$Uq!Nrd+^#_%w9Ewu897W5dKWnotV8xhz6N(FIkTs6h3 zxkNVRg5Q4q?>h&)Xyhdle{mQx(5gKNJ4|``G#7UL+pqt_XlQ0*gNV$Rh}`LJ0!(p( zp)D0&Knw>e2GFfRiv^lR&LhGIk>4Rw0uX-|qQFjTYvQle4Q2yYgT-Vjy*MH4V-YjT ztOr$MHJ+s6X4DE!lTCaOk^7VLS1THk^P|s%h;n|+LWOPHW~_2-f9}5XFxE@Cn7Ms~ zj5AiJSQk)@rif9iEs6Gfggc&^}tk|jl%@-$SSM{1r#LUjY$?kPgHlYm{$(8M4i zQC@H|1!$|PoR?!0tHi!HtCN8(vlB^_jDov^(IP+!bB^9*)8bL9v4Wib=mIY!v zb+27ZwZB1-J;j6Ctg#2Q>*QZ`n{9$*oo5T8hc!Z=uT8xKf0W3HZI@XJsTfE;=0t_> zcj{LK&!7eEq&7dp2;8nRPY@2l5uw?|pM@ ziWLh;wxHNxp&s>HFCCj|f2%#S_$&2Jw`=BK{WWQs0A7VpG?@&fe5dM2^4F=J)2Sac zWIRNz395Ere^hcFo%z~!x6YDGzzu#f{!Agw?56xaLoj4%Qgl4vS9wDfA+oH`1OAZy zeF~0;xJyvkK|wvX$)?PG6nek?`j6PXSn;j1;=btEkF0AjUiq&+}UJ zmc2nC-1u9YCh=M%`@ZpmLRXe@Okp`zx2Do)(ef_K)QQDf z##mD=e<7<%VLiToiq9~rF_Kbicw6xTV>*Kx2}dD0;p&8iNrq&xyfs{LwY}2%gVPxN z$Y{AZ29C`o8P&Q=-{#Bj1?6Nj>Ca3ML%&;0cI)3vR$wRpe#Y3p@vejLmcO0W*i%84Sc@g8QRlm- zxh%66v!~2|)j?L3S0$0e+@0_Kk>{T=vhvJ-L7j1uGTlzYl~`UhEv=BmR=SOGOkQ6* zmc3+e5iv}&HOYX-*IFtChwKLY`G4dO{^ct9L)Di|$lZe-YcoH;`a8D%&^-!%xn#D# zf7Uq|MQb{hI0(SV?4Bq{Q$f)C$X+>y5H@d_(~}TpV^~@Qi#F>tv>VY{hguziSbBn( zlpnwPxduaWk}(m7EF*gihHM_YdLE~G3Ql#-cV5OYq6}D5`3O5nfbm7|BtA~iEFw93 z88@hqx+gA~g}?S7B|CnLFL#ZX^8m|Ee=OZ7c6vE89%vZA_mXsUUNLxHl819P9b^B_ z-1||rf3G1872R$nn96U3F1Y=*)-fy!7RU1gHuyTm#=lI5N%jxL=49i4x@3N;r(}s5 zFHMV1O-YzcSkZXdon}A!%)-_fXf4>C*1F88- zDo-}^j^6VX(`<%it$l3NykqbYf7$3w2w7OZx0h)$jxnx_ZzNq!`)OCu-{0RZAbwVV zyq|N<9G~}BHlE9mKjxNv({moqn``FnqDa(Xq@||`lVGgCzr*Gv4dS&US^(@3l01E8 z2`R(di~oH177cF-eRmDwfWLoUONZ5w;v|UPVa738cTY@!mi{Av6QU97Y|eB z?#5Vda(p4uOrBaS$C)p?L~BaR3@brq9X1+$XiNA1+4~me#*HM+zXJOr#@%~r3h##; z?h8D}9cz2%Y~R`!8#``@gj(392rWUjS~qsY{Edyc`*ZV4t}?3t7C?Y3kN`zW?AYyb zOC(U0m6?^#FAHX;e={u`MpK(b6UihQPq9BbmP-DF8*`wp$D6E<4c2+@tZSI~**OOF zOA-vZ?)|}-Am;!@U4twy)x?`{I|=Ot^jSd`<@!;YWeU=UdL>hqOE4(+w{Hvt-|QK9gd_P&{okN;tX|%mt zG$T=0rfP&We<4@BzzeaBxKAN}A_IE^`czA$3Crytp^149u`eEZ^$W>`sV>qaot)y7 z6RwD-3ibpQ2K84CA&$N6q)`0-`1^m6S@F~XqJ@UPgD3zrBI1c;G{N> zlZD78bHs=ydtSMkBLOXBc#duA_0|E?lmlCf_QGIgfBepCArbrRyZAamA?QGdl`7(I z`0h0+TmY6Wd$`M7u!LzF;XCsS*E1@>9>hG1Yy}6jpUrpFH8bgcp3WA(jk9b%Nr|1A z|QTzX}-F z|NdWNvZBS`>sSKQz146xsuVZCg#_w@-2hweg#E}Q2Eh|Vk!E6?|E%|sxde!2si7NM zCPWranrO|t(`?TR6howE{l%C9U`V|ZyWthvfADnOsx^(jT=KQw@K9HDpOIT0P!+Tb z$q>?5un;v2fevT-ZnvP;?N=nZ5UCX<@ZAV2T+XBxy&Mczvkc3trRo&l^?f7kdv5i~ z#q{~`JuC1nQ}39OZUCPYQo5?|S!nx-_0{z=F8-r+2c=oh1~f8JFCD4~J2r6S zr{#pM*}O%@Es#M=V4i6@jpvY0D(k_awfvO0r1@QwG#@YX9LCRYyQXE^^lh1cZ*%i3 z&zb%$v8M?;D&lv{9!jzj;ngabJDsb?dELo6C*bEhbrNyk7pXB9XgLsSkZF3Ye`v>! z_>wzx>};pwrhcvipF&I5!>~vTV8a9x=o7LKxXn z+{7=(>}x53gmGUmei$No7YqgFQvxV3Gx8TsH35Tf&7@nr z9S6hpqY29z+zaV?xmdZsY~o3M>qBg*x2?dap_OM&i~*byFWpbc>#zqQnl-s{s=BKsyYqH@v@u!vxfcy9wcAt?Q&82ZVA209ne?>eicKL{e zxP~Dm?BgTp7dDfNd3PtZb+RQm)CZWuLNPTDh8Bx+{x_G>L z^KhF072m{f7;C(_OF!H$-rU60f@yvn2GZ6$`y-T=uXF3aRyH2I9GcqZ|QCK41T!F#r-3H)k?q6t9FIXDSZ!Df2|b7=@jDV-#5(O zYr0A;_L?Su=}^;U8LwyVLRACZbs`N~IQk5OY`ahoTh72}3MCEHHU@j?CY#^oS1UUZ z)3Th_8Wl%T041ixM5M`j@>L0-67RD-Px0cyd@1zN0IvUf?`Uns+ft|R7V$J4*Eyzk zGYZ*~Ed&`!E^!d(fACi6fuaZ;ZSP!>aV+53hFK>R4t|!tk&J2)+b#<(l43_nPddsE z2J}9{xbF|h_@I4~8$jSD{?RO3NHv9PoQ^`w*cbPS?UbXF!A1b>NwsEW373slndU`~9GPL&Dzid6QdJ+F zq0_g@_9t)ysMf_`X29M8xB`;B7_QcjT)2BLbed)N6rC)aO&_Ir3;{&m1}7(V(3!efOQG|5(W(p?hI$p79f$>wj9Sy5qJnU79u zj|Vw%dLQq7=!0?O!);1FGZf@R%WhUiP|oE#XfBAvpX;!VfP_Z?~^vu44oF`lB^=>A8NM>+{W1$xV5~WrQ8wMjiWb-*O39mDD z`%JLok6Pi^$>IUZ!iHdp4X9u3L7$^$@wS`&Yw0$7fGQ1o2*lEyB~*)DCnb<8ZD^#| zKj!yOYU@OA@g)V&HwIe;kAuAWK7-5!SklOZe=u%tfk;|2Iw_DC+<8t|0LoQPYTM*0 zhMtHxhoX~mo?dafV>&4-Nm-a?)%cguf0C2Vv0s&aw}zE^?7OGcbo{=6hcBw?9e!P2 z+}8=wIw{#boBjx$ry|vNoE|UiUI^4`$#}J;Ot`%f1IA*Oqo;S2R&a^Ws8Fro-Ek&1=kS=lu>$z=X4^YPj zCENGOIK4@S0$d+5z6v8qSG;*rYOjQfe{^w%s)V(2Y*sWxyNizcGDgh&c@agY8iwO~ zQ9VlhazQhyi77}t{+1yW1NDpi9DZ1{4p<=F9a?*Cf{(A8pf9-_n z{k~X}PGS8ksKEJbM5QuSC>YjoM>m~1%SNcO8TdMWd}B+=LoANAZgg)iZ!s*m)h*sW z)Q2oIe|SIYU+!+N3}hnql0!#6y#RldmV{J`U3lMSkUjKNDRNPytST!eh6q>W_H7Y^ z7%U&(tIfWat!!~oxRf4*h;y*Ge=vzhR+?hD6ScS!vyTlAFElg>V z-T+WQufGvyM%NClPx$#X#)=!908QP7#T;CQ^%ldPmNf_oV64RkZ?=UwPy*1!om|zm zSySb#W1FGt9A*rSXQ-iOA|YBW#b45=x4Ul58RB|PrRx-fK7Uuz zdk}>8%=P&M@m&Gh8&;^vR&*FF*%P6Ci-1Yen>T;@u=rZyP};AwD@TCJn&+9CgGhpB zDsQ8*^t%Y(+JPM?=3x+9Peo^FKs=yet*~?_|6P$oL)GQOjITR=o<*|5pTE*SrJ~+R zE$fP_xqcl}<4pYB6^3G(L8u4y_J173vK%F>X0Bb&kSP`g{D?WGj7aSi?M6P{J+1T# zZgEeopB3#&chEh>=W))t(W$x5{8?45R9dQnPZBuWkywxshJ%t@wNT zzx1_-Yb< zd&@J=ke#{;ci^MmFTPlMPcypjrCQl;Gv&2NjUqb;Ys$bfZC&;-T69Y4l~)1y>RrXL z`83!Mt9r2G5p9g+Z4Tu1#UkV;PG-xy_cRuPAr6?Kj6Ekaktnwo_>N_VwHu^ST&p)o zua`xaTFte~VmB4vX*kbGs(*OMQQtvxUOIycKSayEkUph(S`V%9vepS};sj)^neElk z^fVm<*?bX*sTq!q2I|hbvMMEq(UrU?b;)J$qJ*!8zk0 z>o78M1ew=G82#j(x5^$`If!q`PUq8f_OZjAUoMO1*3~|57mNG+>VNWbl8s06WxjX= z4;^Lm50{PfsGOy_s|_uBJUf9NYZmx9z_Hm*fq%3bg%_9$BYc0FF1}7R6(ZH|1r9=qR9|sz zxC_q*Q7WutdVj@LnLQ8>p{U7uPx}Pl!@tuHGq4(Imp%FsH077(v#(ggqFA`kG*#cX zgrq^yO&nCVPVdTZXsrzWQ8#+?O1P6diGvwsZMR4O|JI6+(|_fyxQqV8ZY{2ecSZ9N z8kX*bdMK2TIOq{}AFbNQ5q2MFy3Y~TG9Q35vxcs*mIRUhMn3q5luUE@&qX%LzIgRo z`eQ9Ovfh|)Vq<^}Ua3Eth_OVP$jY1G1j(v>K2<*rQ zqv@n*j_S^)k;1+3 z6?A%ySIxor(=T2#Y;jsjNrk6uQ$4D>*iJSYtB{<7M|HEDP9FgaX0jYZAKVIj1MA*K z^$WGhXVP5FT}O8EG)E1czH@j_#892+`|buf4ExJ>sn~?}*<^CTu8v>VM0xA8A8yQKgMl$>^jLk)+cY84<1|2=6BG1R^S{krllQSr7Hv#VKJxVvt34 z1Vie?sEFZI=P=$os6-uv`Zc&HDlhn4zeYDzRo6dAU= zK$qqp)B97BR2Zi~_rTyN$ICgn2d?Mw_+tWaZhs%rPatp1`d5heCmSYEj=R)b)@PXS?=vftUK?LY(sG8#2 zXp(Yt)fGMRlwd`#7em)}Cje)cPiJ4e`m##bsxt2$%+>T}ZSLv1Zn@nVqYCNVw>E$K z2Y=@4x!v;)Uiav0)9yDoc)Jm$aNRB>B+k&qSFc41&J8z`bzcTtk+VWW#u6Z!9=S^7 zMKErM4~_V`!VFii+Mrc-x%h&(GX?kv4ERjuH^~_A z_RwIxkm4!P{>u-yVAVpuFu58}3VEgZT@1e$`$L;!3c%xlZZ}WH2{r2r;IWZJV--No z;}+R+Gpi9L@f4@DGN&wGj&CJ~MbP^$#Ai`-;%1l?kG=?Yk#c^AB3B*XlVr^8eSh}5 zy>1h5;tDz#I0V@m{MR{P1B?U|uIZYALgqTG z6-21u%m;ekILgQDwz=z=XYJPH!GCPU7FJhf*$M4>wU@4FmTNqd34itkM}D6Ddz-fF4AT{7}a_?8X_$QH6c$ukYzigY2q6*c5^6v3x%;Jy)c4`DJK* zX6#>8bXQp_-h_SIOjt8=EyD=IGhsIhKm!twdSwgHS5_R`HgV#~nZ6tR1b-n69?jGO zEvSVFU$7ETtHqGw-m7N$iXSQ9be$==i7SgTYzDIP*S`u7S5-9C_1&{d?Lp)z-) zF$B4}co8~99U~^jQ$ogUJAXLDlVACs>v8`K(?F$#msUqOHlLhK{6y16vh#U0(~tw- z?0cTZpwhzy%k1u*Et=UWSjM=x;}LJJVTTV69X}(k?KH_n7{iP_IZ|B_XqgwTR%vH0 zOz=r3$y}Nz_tSV>)b^Ir$l!(%xl4fjguR?Fuxh1rnrs3h)HBI) zEh!#9qMZWqbPDy7%X~{{5Jp-J6GOt~Z+`N264wBykVtgqC?R|PI9tS@p3BJfp)8hc8D`;@J%1uFw~R7;GAUR*Phlp}{OK#zdl2sugnT3-vti^Ys#~)}RnH){ zh`bjp(GDu}7;030fU;r;wgPOy#~Jw-?f77_Q{?ai*3lP1sDFokfIk<8y=wXXHYBWH zL+Q(6b62Z#{gjU?=M3-JfRe?Np<^2@kfEicq-h&(lNo}12ri~$&!^a#Y@z9ogrkyn z46AMjT|rQKS~h7Mc-`SFP|Y6;V|1*PKQqP##@LT7I#%ru%N89=agLlVialO7#}{=y zuoUkwdBts>*nhW4JaKn6>#nox<6S)e_|t;e^yOhEXm)%I6P8$N#;xEk6`UzJGzv7so;q?x#toei$SB`uY zx5V4+h99bm+!-?G^zHU$`FjTy$KW0&I1wECeLuuF(0{mQ#@0@QQyfkgOiXN}HRNW! zVQH!#hCOYK0i;zIzS4X>u`Jf!Lu8=h_e|1!yv$)_?<4%XMmze~v6}nkAn$cZx+ES$ zfI(=~sp+_u=i|(Qrw=uPhQ*EUB!JDz5_JewmKeTCXCK~7X?!E!q-4=YSXZ)2tCA&e z>Ql*n&wmyxv0zL!Zrr>AtzFNWYDAV|h1GM`R9!JGiV1htvtPbtvxM{b0d&P?!If>( zw<}OO)gaoh#OACYDlvlY$!SXFFgoD^R}Wzf8faZ9yAM!&w~z|PCz@}LO-YEoa8i2j zCWA0A2nKdoL32fpt=+{y_FSZ3O>?!#)e%|ZoPS{fY83@4icq<->FAN+ojle+^X_EN z)lKw&n|P2eZ0(@C5z(@AJRQ0a3zi82T+5l)b=q+xY4^_TT@ zM#Jo(4DMlAkNn4+0aa$w0@~$>haY1k7=L;T(uMRPSpaJ4s$2+4;>Ppj#7Y=Yc1M+G zUp8uG%hPpV!y!k{Gir$|s6{Q|pOZH@Smb(|Yz$sv>UceP$s&|Zp+kdhppS#x1dUOK zHGhEJNdH>wrp8cBOElSAnzBf?Y+Fv<>on9bB=>Y@K>3rpr70atu8?9FTi8?vfq#jX zRRJc-+6AUT9vGYvQIuEthx3!jmuCEeN)RzKjwU!5gK#rtuvj@N;NAOwT zvjVDnnvQWuCe#?xiwn##R9GBq4u55o^;4Fce1?DIWEc5JDlpoQc)dAjd^mtv@*w5o z?4C&Tiq?~4Ow0g6{uugJ$kmYDaPU3bSGGsLX zUps|uLAL@OZMi%w z>YWX;N(A~f#D^8Mt(D?3mUJCtt&b-`QAOT&nIq{J6vr7Ws6Ot-3{Kx<6xMM-;_fX} zBk4PGCrdGOj#MB+@!wqE4lwi}TPOmN!aHH#+{f``+a=xwwOto;M1{XeKP=~X0}vC0 zeFi;dyf|>7(sgo^%}>iAo_{ZA*dv9-U$~zPn%v?E{P1Qu2QzF`dG%$Bf23K8A=iTJ ziWd23&gYu>GKfxY*<4XS!>mw|DjMBYLqo?& zf*jjuh8#MUjK#WVws``!Q4h^Fk5G0ci*Sq?ny#&!KFnJ4?qoCawcuQnw@n@-X55Pv zWGRLpS{kORd8#U^s((9YBxIhd2iG*(AvF!XnB>=MMI?XD7Lp+g)VN$4CHYSw#xeuh&{XF<6K^YHiGP&BS)QeZMpT=r@La4< z)z;n63TiVqG+9v%BRq5?>e(AB6wol8QZ1X~Dr?Iy^Hr&KR<|1HAE99gz8eIJcb?-? zoTiAHQ8Yu>R6VQ`%`i<%H{2C5`XSm;&q6qv+&o2Yi|2O?-hZ}OO>(D6d#(=T5E<1L z6)!8U?HV=CQh!WORur#qyiJaVhpZCYUkiT6P_iE4=|^&&bDUL&NwwSf{yu>^DoE&_ zPVLBi2^Bp*bF;Krj`Sv-=VeJ8Vcxcv4s^ANyZ>#Qtjz?cIBv;JIzw@T)b&tO2Jp39gBRI82|8 zp%rxlM zJ)JTTf?KPL z=mmRN@18vJ(WVe?;|VdTlEJ1_{LlxaLV4>h60+Q(!bm;!>|j6QS_=dX?=2oO+6M6e zGc#zk4DV&MFhHD{exWw>lU`=e>CbA=WzAHq`lv?D3w_&G z`>r-WS*zif(@Jd-(VGyix{y+0^wRiULVx@u+8Rf6A|!}ta2bEclqYqc2HD}>jvh_a z;rOsY7TCFG@kru7;&m`>3%)M`?t{>^UNFNfJL)WT2)FgF_bgL&6%_|9aC%R7Bh|Hg zAF_F}dhh3AVHf^wgf3o`vx%O3iIqzG4gl{(rib;;YQz>q?#u7ijtBs#g2Q-~Vs;c`=VAe^vYly=B9RHZso&hE0|6?fdR#_hq-xKWk6daPR6* z1}anj4le`uCjp~m_JG}|IQkAhRo*`cnLp!~nCU1(!E`OzA^Y;*E zVIA@kN8&W$Ny3}(SG6#Sr5KSN)XLXPRfVAjdxc4SvPQKVQp$eFqP(nCP*OTiFoeH^ zr!=xxZym|V*lcZ>puqQkmtK8J0P2>QJ@@H-^7@Kh!#h5&%p4%5-j-p98;DUKczHOw ztwfePb)`~5BXsKg$hXRZ-hWmIz6Y(PSHHt?b=XD4DBX#7w=HRq^Ka0i+q6a}K?jZc zJ=2g98_BpGMi&$%eMnPgS&kgTwZP2aTW@5=Ra`nW`SfEYZRz4u!6vQG_$n^R6%#LW z3K=#~5c~JNcSE7sxq2x+!MER<-w~%b9oLtf&G%k&c28)r$mSy{%75m?sIiMO)m$A) z_E6yOt@6rG--yu~i(<3kV67|EK$^g#DRi=SdQ`VDRM{Nw5z*PGcS(%JswoWw9t-`u zDE5{e(u#y!N>U8Qu}CM2dm<~+nkYEDcu`+jPm362!*9u|vFmIF+Bjd%L?-!}jvR#n zMy}31wm_{;ll)Xo)_+yUKKYqI&AYP{&ozvC!{-a;jZVN(y6J>w-4lMf#A{K9ILYt# zhCy@L4AEMJ=gnz>@47|^bUD*|Bfa;UH>aw)r|3w~GnqG%dEa?+nql}s;MTm!7p#3n z&@Xh;jXYVaK|GqFON<bB-bVXk#OpQKm6!v$6q zmTIbFgUgnw)qkPY700(CH7K(|yXf;!wVbFdGCXWPNx>C$(_|d%ekZXJm60~4tFkT>%P>si8(|;Mna?{y(y3Es0i9{uXun<*~ zthwW~;A*OIc*rndn_ZDxDB`EkR$dLBg1oR;{s%&g*-7mhPmacXu_G44r>rejB!sHF zj%upG$pd@#M$jUJY6yYy`=MnSHsso$VF*<=9nG=5vlCzNMwbw(X&FXn_$NQFp)cZX z2%(Z|(SK+Rp%w^)H$*Lq#hpyU@J-u4v+P!?uSfXu>@L9&pOj2<(TJ*{`id8XXL>Ug zArj|PZOsTxqn2IKJV!Sa{h62A9BnDYRuGiPk@a9h58q};E2Vp_uPzR0weRjPhTVJj zN#Wvq-y0lj;JtSrI4-{Ty-{Qb-h21?jN*G2hkvYW-FvpJM{vLGtKCuT#JArAw$iG| zt8^UEz-4H0EP6ox>kgnc#@USc#%VHJAOurcdPr?z=1OCW;L+D07WI4(24U5ev{4=g ziKmk!{u=7Xppg*<-Ln?PgY1QC_@THAyK+w>P1p}v!w<*YdyFyV0>f(ej<<#t*On%x zxPLC!qo|_XQ1+`L?hiTa{5~0{H;=;{I4u|XUDC+^>*W6r0wq@bwZGpm%xZt46sIl4 zG!zM1XG!!*PI!qB@nPY8u3X5nT*aukY;+?uGteBhUg4(MVSi*Ba^It~p2&^pL{5m?11dl|B}5(HCgYEI zBhm8ag0Co+QF3>`cm#}F_IYWM-X#<|<(gq6pIH36`CZwJ2+ZQ~p4`oFYtvHhAD1~` z6V0SWLhgJbPMp+H!jO*wRB^lk?`$tMIKGYdula_h76%n{^fW^Hu!SX!Olj|MAsY#(yG-=j4uefAZhGgK6qSxe8V%o33KYTFr7k)4qZB zACdO|XPx$dy|V-9O)D~G+p0~GezBzQjQZ4H>dw?XSr3i#-Ck&Kk<^{xdakL4wT?qG zbPQKkSH$RtXxv7QAaz&u8qu$=5Nz#{J6glUwA%dK?MuZu9IL7>8suh$V1L+YO5NR| zhX$-)Pr@7P#JHo{WBHhD1!k*ru`bWgtmYVgzEjyd_kEF)UcOjYsHnW@`EO}8-`ZE{ z&+4?QKx~Q8ssRG8buG>H_RUK{MbP)L^;f{Zofo;9t>S+3#sT|2i;Cm%!7>z4$L z@_3rlI)$<`kPv^x#Ke-q|H?0)D=69=C@VO^~A5$pH|Ga`6AUe^mhUvt$!W_^-c-d@nkc2-bLu& zrTGHrsMv256-taAV1V@Ii)zOZ&|k82wg$%5b-hfxunEi$nRJsTQ<(HK$daGMgp1a) zK{~~q+DsT!kT9sg68)=oQKa=iOfgNwS)vCEj3~QBaz|{XQRS^IYC$#(Q}t`TDXOQL zmKi~^a(7FE5`T+V3nE#8@8auZRbeegiX5 z`FwnN7pJq)yn3NDvxjMVzTx=i^j%3ls+v*Hi}i)7egHK!X9{jqTIA2?D=F1fkyNIv zhmq}gwfTl;ny%CIQJAKdZmX_m)@G-j)59ByW@wS=MSs!B<7PJRPV+U{HjT6DDp=wM zU`5i|tJh)`U%nIR@_~wQPg+YsmF2zkO>wKjO(0)@?y{smM9MBL-7;-cIe9Ck<+f90 z&6lyE_{>LJ`H1787rLJ`$T? zd4H^h8JCE<1=q67W59~!o17o!DW<{(In$c?{Ta>g$0qZ8m-8NHvjt4ABKOcV!$DP( z<^41r$8-`DmaF5?DheWS3)_Ys=v9HtN=dLNE~VcUPFchD;bMmQG-X4w;FPK-PrtQhy_d1RpBd6F>M6KN52g|BW{W`CTQQNzB6~ zUF!Nm*mH(D>%C93pwD1!=g(S6Lk&X`PX_B!eijA;`-+&kJE}bPve9fc)W~!Ks}A#N zE4oeRC+%#uK6$>hBXXH>rE=A|Y}rM=)V0FuxxSEmso~0+;#jp70&y>#c%G`c8h;hg zvlredTz{U&E8nMzXr^^6x0jtOooh?!z>ejso0zmF-i$_j>`U)h%irt1kg2+6k##N7 z~q+L>?KZb?k>c8BXiiyLdQG6R$YX?Lc-- z@0r|{I==52a$3hK^4{-CkvP6=Ie%85oqmy3^X^R3j&$GKIlX;kf>No=d`5!OvCp=5 zLFrhXqFRyT$+gti$uiY5^;C=}_Ed(e*->=U4aomJQV--Z6|KShI7{ zoGxglv2F%Iw1)wFfgC-EaKFfk~2rmiS;EyBQJ)K$zNBu3q?)PFs$+t+xe z@f_oc<2gdUkEYm46xKt7hG*!qY@_qmqoAI84O1oY%bEcBpRIDo0+cs3RaQKwb^$4d zZUmaYSMOW{<+=U8)Dos=ozAV5Fr5k5b!jJ2v{Xn4lr1Gvwp@%em_fspES+U&_ocBC zA-)E%EXH|ahG1XW$JAt%XMdGfUbc9jei#LA9qU1H4dRr7q0r~Ww9UFaHqayvYNzvBn25- zL|Ju+IJw`~s=bbS=YWq~93Z{JCbhT(?>^ygGHhG|6+v1M0&=5sV<-&HFr^$UOt!D`Kc;6TvG6J~=pK4OFHQm8ow z+o5Q}7|3qu2iS&59d?Z@Zs!T8Gp~i zV}lVlUy^s;CbNMIB!B4}N#1wOuP+9r>HbC>rRgvS-id%+6mUDO*Je*~2yI5CIz_1D z(rTHYxKqJp%d)c?|6Z;mp6z#A&5{)ErwxRul(!rWVURb6CC#Y*_$Kq-a)QWrYV`ny z<~o{&3ALRs>!+?k#!k$04f2{f+o=XwQzO|6u^wso%#G~M-&1Jjn z+xq$g0gAcZ^MAIxpdY|oJMh|wMtyMv9Fi8yAGaUo58_!Xi#Y*xak34c)D@&Zd$lp5kXp^@j>oBfd;D9`Qx zC<^k6x##ixjv~&{uzEauq}4TLaZP>-MK#xtQhuL|)0;;eELv1Y53=N*YR@Ubfp2f5 zbdggoE`JECFZg?qUF=;ML~GIuP(GqE2oDwA9q~XVP2$|rMaOI@zNhTOhJr0~1XU~n z7Js2m6hSnJ9E}8Yj%+D`rTMi`x9nT8657wCa&mv#|CHXP(|A68go$j4lqchiD1J~? zg?y~^)CrWQ9a1~(uTVE=r*xol(Y=)s8V05IS&8nEas|~Itm|aZ9;BWwE2`{?qMK7O zoMcH(QIHv9qd>9?E5Cr2fRy#8F=3@8=6{3iv7cgNo`b4g57!wC);xFF4SU^+cOS@6 zNbX7t?mFIM@*Gt)!`0pR!tc;`a4)W~&go4`70w{cBHrBA#sR$T%U${8_WYF27gSLm zsR*)GLOSU5JpLL=dEyF)+v)`*DTf7An^TMy8 z^yR8gl!);axqj(CsTWv2pu@Y~CKM`Vm+!WyQgS-Umt7asLOilM5z-xk^o-J1l_Pi& zbf-_GS229&I?F!Z#q*CpEuhc7kSQ#Eg1IQ)RJrs`GF#r|^ww|wCgxP=H-CToIU6go zX(_s6S=H}^M47JMg}$TLOVH=haQe^L4EgjD`T)#{O3$;~!o5T};XH$pQ zRUIpnYPyQPIbZxpPBfV(lfT3t5|235A8~2Ia32hCkX|EqMH8< z3+i&qZPHjOdrVWlS@vAdMW{Ev3e(fc|0$?dPv1iW2$z5S{l7jXJbcSULf)k58;Hsi zx=F7fz*mMy3SE8r^wSQK?w#smr@%F%LB_szK64 z_XXG>G*teWEWn+frsEW_Dkf<@UgkNBkSj7mMK*O&#T|-g$hyRBnv=)gXR}E;9S{b- z!T*x&!@$)H*c@PrSbvTZzead{lH8=TWHORmOwN`JUz-nSK$;U$oP)WM-zPbY8QlDA zk+1}84AHt)GOMBo3^NOl1dOGNqHozJLQYj@5@I-!XOAQXJdxQfVK_yjI_owL32;=? z_G_45Mii=+9ict2>n-rqpa53)!DRLs6rgS-IKC^}(SZQTBY)M`-OcPVfRWINe5h}j z@)GJiwoKo$&8U{7dbt#Akp}YTe=gI7Q2$xvD25RprbGUuDf)dzEMJU(!)zrsV@di$ zs1?_6Tsg$9s56l_68RUfGhY3)0KZJE%UM-TS9L}DCto;eDYm(vO|$tc{m$ITNG?X+1tMFm%9eQVJzzQFD zTuev*l;92`N1`dV>O~?BXZw*wo;qkpA^vy5gqs)>d%d-!z+m%;#fUOynR}Ri6 z8=x)h9nf|5AWjRkMKd?5mg+fsO!9k47K|9^fF9XyXx8f)6x*=0|Igl)E;nu@=~uz@ zpY4vI)VL2#xHoW)9kJtZ*q-suuO5m5C5|aV!+%3++0haE8vA3O}{gn9Iv$50c(ij4!`@eNQOgJ^bc=Q%pL zZIh(px~ZDy*{ld`pzf~u^$wYt6?1%nIVTm7;u7C(3v4t`sxXNeJd#_@ligVK(U|$> zH-Cc9ZGC_DzL5#&y1kp}l|}Zz!_fh*N3%eC67>(cyl3+*5Y0N?{7!nR)6MTGC~43L zEdbR{s1fS-lXo-sEL@+MQiVFaeM+@ObmpW=_4O(vie~qs^7w+t(q4;b&M6tE1#+Pm z>wXfzsq&7Nuh~vwNIP2PP2}(F*sSBvqkl!jgq{a}p^SmZKea_D;>9&^)d)QRU|P>D zn(O#chz$jUHzj263*}9X(DHPvIz)aTYy0>Sk1)a>M=k*$NqSb)FJs%Fj_M`N6V;C`xl--RKY`AbjZf+;udJ9yA8Fq|JRD(l6L8y z({Li&@OH;8CAwh*RPqLk|AkD=YLj@c8>}t6U5=F7k#e2eoKgun&9(H%t|a8l*fO1j zn>x`-D~mB3r^02!Im9GwE6#!jAg+m$x_IVM3AVjk%!P#hKYi?JMTh=*$A5NQVQil8 z-8e6O-R$*S%-h*}j*)+wfKWn_8nodz+r)<2U7oJ32UyN|fm2=1P;RH zFE@)z0Uc@ks^_UV(|?51k#=aiu@gY#?hWY3<0+m1glFl70@S>0v&O+gL|ctV%6#@~ zzlesk7x`GZKeb?pcWpN;c*F+dA;2XMO1M>7a0t`Q5}5x|`Gty7$7bx~6 z-7r#C8<=z2(!Pkv3;#Z;OF(eNvZa!e<^ zQE1z(N?c{+D}T;u-}TSBhG_@N_yHzP97a)Y_vq#c3xo}4=>%q|W&20fD&LY1b7;?J z#c(U)my)ZKFc#Uk(=2~70%iaxl@hUiy|+n)K}O+?C62sb$!KI->K`(!#u6M zQcqxAV}Y$OJ2m=ddFTqJ#NvLa8iK*`={&uMP*&4JdVjh}#p{)uHr3nw&$^P66ROh2 z(^}sx)8f3U<1pxt{!~{_Y|u|F5ma(=MhH><66Og~e1)TbPfX(@?U4=6R>WX*Ze6g8 zFyHR|CZA7;zutZ#XDarAv)XqKnDhj*Psr__&tI&+1?z@m85%bnt2|a~LH?EATriXM zg6Nz>lYh1h4O88_leXOQXSQ=|;PLoUC0pnQNn#@85%2XzMxdIARNeZ9c74ZIi#Qt1 zZ=Gn;mZ7znx>P|a>VKXVJMOa>c*WLw^_J#6eUDP7{KSp{ZhEm1P#}Eto9n_zj%LJu zTxof;P2EX?n>3BI(vQ07eX@8}_h#qA;pDWjp%qhm!=FHE+%P<2r zRp#kq3gcJO2Rg5)csE2Xp0eey5YVK`QXy8=J-A}opA?Ky=TmoBjAKdYHd&)r#$2?W zaXgSq*gQNCcSrg0F9Dwaw?F+|!7Nm9sqMc_TH1blOg>qjKItXMT9QWK6%s%3X;CGr zU4MTaR+>U}-Ejl+G_xk`P_tvFSwdbzNd-E5$PGeRTDGn^jvt?ALS#iYEs8?$Y<$)ng0#nsMMcL3EmN2=)koY z_PgthCFDk7Ildno+Hm6@)>sDyM&Zw^D{#;F*-=6uXsY8ohO50%N5il{M5DpCKYz$# zlEb4M&5n#6AdP{pJ9I^Zd5_RS%qmBoXahZ=Y9YB|F#*P(L}EKp5CY#zokY2%MC^FD z{u8m|;k#q-tK_<4v?HM>G@n!Y84H4aoyZkMaV*b-x=a ztC8~9$_p?P%QF0+;sw}AXt^Op85>SQ)f^~5r=W7n)2i(@_*d{n@Aq# zua1cAskQ!eSCya6jl{+<>IUFs#@0#8B#XD`V?u@`oY`tPnsj6Z6i9FU_c@z0NJHFca z^JozVpyz>K*wUXdS~%S&)w&@02bp$ADJBFS_aRsE;4*baT=;+E0Da-Azma?bDAKZ4rW`9$L$+29mmGSbv z*QO#&*zf=5!>d=)FYu2QxUTqxfT#2d8{iw4&tWIf7WYZESdYO+>S-I>wEfYGXY2km zg>>Ots;?0Nl(m)94*l6;kuLk$(#$v-x{N`UVt;#899AhglN*$W@qEP^;?J1RXs;sd zjGhU;mT#(0p8IxH_J6k9Yy?_%)A3CK9#;Srki|peBs5ii0U^4X!JUMCkycRsfz$kki5(y7MLLq9X!kLG(R@II6=kQ)?0W<3=%^!91VkK^5> z>eqI&a|jJgv-v!G!Z9cmzz1<za!26!v zqy+#Y96Y~QfK9?M&~kQ9-0w$*`o2=K&HAdeuzF!L;wT86YJj^wD@RI zwkQBk&Cc2=#mzDL-T|Z02``i1M@Y^@H+FnS1IF$y6gP zj1cjXJ0!zVgT$u=9j!HD=}g<5TubBEl=P~$r`)CNDwV0lA5U<7zJG6w6iwy1;Yu+O z72!ft30H_TVVXf?#im`YO-=$!kE88M|2Vhgc7LkV9B|J!D}`c#=eOUQ*h-*IX^4Eb z#22y!Kn@d{0>~mDpy%lK=XF)&!#)6sn}Uy$eUeL%!r(2GRSImgPUp|%`@f#GY{z%w z#H;oPdRC|fzXI*bom{-DmOsN~X)HD>q*4=YCqZIVQ4Lkq3qv(I zDjLaHgS{f0i$|~ZsZD%rUk*;g$+O6U}-?SES(Y9kPgRdUS@epBsIWb)v4i(9zHsi0CXacMQt zS>Uq}>pZh$`gcs5D}SdET#TyyKqVjE$gR6hMPnsZesxs(r~Dwc^sv%mq3WKR_&(kz zZ51_RE%r+PEfzde%3C6u)w7Kynhkw^OEeEBz zt4X$O3@{1M^TQPz4K27U`B<6OV3(S{?irehf}&jrhi(G)eFB7=KuyPZE_A<$ud?Gs zGFwFaXdHQisw$|5cG!=q=l9UUnraBEaR=AR>61A4MwQh1@DGc2%cZ{mi~>JMRA*}x zkqJ4z?7|{ySnWTu&Hw$+|9?J0!xwhejMvI+O@0H(`1^D{yH6pJpH4S($f=^=TV%S? zPGU5qnN^rM#@Z*LHw4?qvgw|tvBs76(VTPynMSbt+jI??X2#i+ST|X^S`d1XS0?KX z`SmmTl`>vDudyo^n$F-YEA^RFyyFP=@J(OcUk z6ga>!E--z+l`*=_u>v6^%73VARSl^-Vg#%~-+wBSTwWeS6B(DSfqYvbDa1=) zMIAl-RD1ta$orT|{C}nLUny1D>6eE&?EWr$!ZOvTyP^_?7K31KFVw}buvYoNKGyrN zy5olqHt6t;KT$w@TkR;A0EV`}UO7SIPi;`v;U+#8aozFag6dfs;k^L)y7=ekf9?tH zIvDHP4en}ffngY-RmI*2Y|k~F zqGPMg(U)I&g$NP9KouXkUx@77;JvcdtYGAf34P}`lkxJV(AlVt$#3UuDg&_rSk)F7 z0YsA{KtPTUz$6z-Cdq#(wsfQUz^pA+_f?otc&j&YNcT2V&r0z)4aj$d194f=C;}CL zvYV}uT;u?Xn}2h*n9Mgfa2rlHiwShepVf{*B8fRpIIwxHuOp((O~*@g&8ZYEo3R^s ziFy<~Hsd}SZH{m{;*=yCAI!{C#hTMMh@7LZYgD5($1&tSa8;)TFmGeJu*_skF}5R00j{bbar%bf z73p@N2$aO0!?fi&VzdOtF9AAyWj~iHmU49aiAq`74RnMpd z3jVm{YrgNmqA*5^DWs?zJ0{l}jwu?*Dypc|MAHl%!N&QZm7_aRLIXY>675x>hBmO< z-}Xj;`-y<}AvGBO$X$13HM?EF_=a+mXgw?FT7N*yZEUgTgIK=n2N8z0x?}}z)33Cb zvKh0jf%IFG9D`f5nHReZS*(5Ap4bbU8NzJVoK;yt6puyJa-i4S&3y{EkQgY3ouL=f z&mM%_8nYL9`gAFxE<@WUZb9Xa(UK_kEETHPPI=S!938JX_qROJ$J)M`7-DHrdR_%dK)Mj&uZ{sUE8AQcfCXe9AWS8)ZU=EFlbR zu4th*f5xY~X+V{}YqP*Gd9m?JB`>KwtKD-KOtBRVEMKQJ0eW&HZMkEFiG2o-Q%2T* z?YpL_bO0=XwS!KiIp+0pOb&d@`jp`(=@O8d5zBvp;|>O{dsZ7S4*QxY95_z0&E=K~ zbTrhK;gJA=|Pw;}mU9B%g6oUr`Uc!`xM)L^QA+Mn^^v~owOLUN zBCf0kuk^E0ZMpeDFYPCC1UO(JQ`STz&_I7d@1wF$yu0tlk11HUaNh97bGys)g9Vkq z3Q#B6l05YRK=H{pPzQEPlI3P`S<0Tf4Ac2eLE%oOWRL0cX-R*S z5R^xzU)YIHh`?v}v)`zZ2f}bx+hzxgqKj~83-TK_w}Y8;8#nNlXy7ud7$QAYUWdDMYM&jo1uRjM?(1M zgSM!ePCGZDkYO5Yni;zTBX^<}Y&VHQO*{Ldxvr=wRKR0+db9up=x`s zZfTWn8Z**dKMD{xr$avEsCddG(((6brNFGmGAtPf>S&gQ2rTB=d)W%7CRxPs*acrI z-_gVgEs$ePtjqgRow(6gA#@HP1Dxm;Z?a-{MZSLw^GIW|KU6z? z9wfcpI$^qAmbv3c9KTdnI{NB4gb40ECW*X<5K zMniw1^{}N%zuWY@a)PvcQK*ndvm)KMjY|B>QZ3W9B5bA`F6ehq3=5D&G{;VB9^cQV zy=wSwRZZ5@D!W&Tl`ntbdpk=wi$d+~H6uyt*p{_+I+|&Qlm>en*+Fl^0vo$HxprK) zgh1GK(UsM$Kh3K1P3zuz9PK|g_3gG~mG85~(cJL?0Dj27plI>>xxdR(yf&+elzD{} zE5%u*lZ@OdxiOj7;9!-;xkx5i?={)ReNQw$!PPEuA)1k?8a{u{>)|d$Bha-(jpL3l z#B*o_sTM6&^D#`CW5E?D6W^&ate&duT25+2K`9+;Y@vQ#xmwQ4 zM*xEdO=kjUQ@T%h3orC%HuQIzZI#y%2DkVXD3w8bircPFgJQ z+1y_f0aCtE-s^uO#T+T_NYU((V(3DVT~&2;&-XzSy~VUZIGMJ@zW^Nj$zAbAhcceU725u&j}8gn~6r3d-qiOlltp`#UT==&elshXl`0xs*f z|Jhvh?$CcW@f{&WAjmJe(pWRuD5Au{7f&uzyB}bV))~AbiCG%Sc6wrJ_9>}}f_Qyi zp%)r063SmW#9@q#Y8{!87_p@VN6i;|9oXzHUKqRB>=cvW0u!{?^Yr5S`2q(az{_+6 z^mf+_r+EgXNs__#v2b-yE5?e~C0APU`1wnIr- zcMV&S?gcwYjY((+sttv4r?d}W1)>i{e3&fLF;xE0!2t-CKs4&6yS!kUl1i8IbzRjM}M}RQe zjsbt7bAirkBtg91A?B>+L+F903PGa?Wb^56f(wt)Cy@=(8mS zImp!{U{@`(f2EVWyoH#qtJ!*k4bcc(g?W#4N?0F+;H)+dl{n;}f$ec86v&1{s@e+w z^Ohp;IwHX^fS>$L=OyYpgMjdSx!jGeViJFrNx}Lls}g0!O5zCLpV!twiy?#&WoPij zaH|X(0KqTl46ic6(H7L{{<5^Rj}3t=-?C$)iY@AEfoW?;RrRuaROV{MC_+~w6x6g1P-EfbUFLu3x9C5IwyJE|JHCU;BSiV1i9!_%*FHxWPZ$PHZhse?R}VOqGUpsqe|dj#8ED!Q zx#J-nG+W$I_ZYOe5HH7e)(AM?RCv!Yga!p(~dz2jDcs?gbm0|fV4l}3Cjo6E~ z+g8!hGWt7 zBdFfRrsJR1kdV8&nl7{Z_wRqcP3QCMPwzem74m99Y@3FC_JbztcV`EI;W_5uZ0Bq< zo1$Ay!QxgQ2m^_g^V&wJdT}z$Bi*lHOQogLYy-NU+;$+HVnA?q;>Avc(=!J;1GR+8 z31cIPlJf`SY!W@k2%=!P`f`@oN>~m|BqmzEX{c7UMn`uN!w)fh(ItN!&o9>H@75v| z8QEPoqiVvJ=%4>MUY}OKwwtY@y8-USY;vdE&u;ICvpD`WRkEiA+1}mkVVim0Z35-P zJ{TeGIP4>}lgldK@2UIOUETKSYYAx>{C+>H(L!oGhp^^MViVltO1_t_(nQ=$d4o_yn@mz_%&`OPCvH6TtOcqe@Z z=Z>fK_!hFu+nTFwY?RY{*U!pqy-Md(&Z~#FQ`f!-V&Ieq-V4^Za~q*F0(2@wEXRvy z%8aXm8(%4PN=P*Q^Pup0kJFg7M!05M_TcOk?`fP=+F2OFbToh6a?T%IxPEuK6>65@ z4buX0DJ+E{#G??Z84yz`84!FK9s7zxsHz4{jZi~3&>5&D6ooLI&`!*=XU_WFS!QU( zdOUOu=Pc1O3SrtFu`ayIMQ5mC;CGL7cYaZbI-q2*JLy0%G_VEya(Rfh7xc?*)iBf` zsz{a^n40Zc+mnCph9kIhc?Ets*QlEs(ciyz;!>9U~bQ zXtPm;BNO;UKFM5sg!b)_KU4 zLOi@dvbq0StT|xcVA%ehe!#(S&ujy$g3!ob+(~Tp=`qPj3dXyh(XTV=p4Vt>==!`10 zFhPW20vr^>A957ys^=qoMu&&|x-8>gfPQ$iY%mNC2ET`70iHc=9R)wB&+OIC0ZQ*9 zuS8{&VO9_6WHy~m7@!eC+|$YL6vH2I@USzX=mURdlOX2AOD$o(0?>atp4_p|vtc2$ z`t`NaqCjKDCBydFY4TIx@wCa|!hy5o(wB$%Y%+r}(TKx{X_tavd9Ip$`A(Oyfvke; zLvP^DDf2@%TkQ0u%QMP)xtT!KHZXfOzX5|`l4VQ63eX>oJ6@*g#m($KU94u=Vmw#y zTZ(^qDZOkCDSq_k7+yHG^mD-5*#mhb*&NoNXFcxX_>yhzC@NCRv=n2>UY37!??`|1 zSbh^;n((#Jyo>29C4x~_L?7$JjFzt@)=>CboD)+osH?;PY&A0s;volefF;SFFIURU z(07{EYD$-L)s84R)YeEr;v7caI*vpiL`)>p^L<~h4yYPTq`gElbX|-6xMCvdi5Gc+@g|FZ z8gx~Ga1Zk=X;g#8Kr6yo`QjH1P^N!hCg}qmN8HOQkB`w^Klj;QQ3-(8bGYRjkr6m> zDRUfddv2^5#v4Hcl2Ho{*`1UoG+uGMmnI{M+38rBHCs&Po1532Zz|FtSX)N^`}bxx z`89#=Y6Tr5WZMX)Znfp!$Yp>Og;Dk7D}e0X2W7j90YifF=3HfIg2& z`4t6oFSj_FY#J$G8nKN3OYeWP1L>mO?{x5zh%6Yf?)jElv4J!@3bo)k8;FsMmjw~m zs54w@4_75sSikEZ|Iu-&t=NwuQyr2EIr-#psm;g_ZPyrZe)lUahM#=om|xr1tpy*zT3JoZ>^eA+&k#wLY zP)mqtu4$>dS1D9eUEK-8sOxaXxpisp!-M%N7zzcXHUx@Mr(!%4KF3uHGmm;(PE0;l zI-2~)@uE`w+HM#La#w#Dpp3Ik?eNwA0{{U3|Li?$Z{tXEe}yrSUl)prT-t!bhAI|J#@^W?s*HiX!6vX%RLlR`U zm4(5FGZJ6?!G>F|_&ryPN2QH`!6*66$5_Z8!b}(^6LL;}CBj{pX1Nf=6Ct7x7wGF} z1Rj>NN5j{`IHP}$3@JJkQ-^f~v-}~U54UEMl)MOTLP3Y?lOQJ_&SX)RFT~M>sC|~S zYel^l#s9+BF8~9u3`tcTn}d~A-gt$t+^`hkc^X}3kHMI}@i8SCNuS8sjS!?nmyo1|C^)9m%0~P#%t;zVWkkc{5NUtwpWFpjiu6IigPq(Jx=Z0R zrH(OZ+$AZaE?6WG7`rulNM_Ll9?S@C zaxVM=Z$fIk51;4@>4Rc{q-l~~3V#f<93CKzE@Tb9JZGOi2h&H2h2-vyU~v!pxIlCC zaxP>EAR3VpCo3{*Pj4J#bvNT=`WSW-7_#Tfmgs-FRe_;d+Q@W9_AUa0?|4~Yl!%~F zU^rCu|1r2FNCrLDyp$Rf5($MpVC=yja7k3N2zqP;1?DqF=$ftPca*k>Ua1hmCdBuq zjVv8sO@lDLOjj(MCh~A4$+s1?rce0Kp7lu=^7zL3H;g*!1hLU`((4^x&uS zU(Y)TWZ7~R&yoBSN;jeOYX@vfzC=}-b~-IBWONr2^hHyXP4EwPh03g02=bgvA9Ep3gjseJF77Y}XW_!JCd`AEE{vquvTJ+5 zGT)w&-hdnX<}VK<7Uo3Yo;?;R<1T;LbNJw%o}bx8@Y-H?z_IFEmgj0Uz8eU~CG((_ z@BR|@7FhT+=Yie_PhvKW1TWs!rdcaVi(O^^veyo<*K7xc-!3nI6ULNzk~n(7FhE8o z^p7zS9!VZyci3n{ zHBHx10WU|j(csrR!i^UG+C^5omST^bqhnsMln+`~YrgsUXDqtHOQBhQPa|AT+jttklrF+mO| z|9KE27WwxES$_50vBk>Ih1+nbl+r!z4MpJ~;HkUgZb3Ff?(t}MI0u1C()WYFL4Z?s z=8PW%DhUsYmxsgV9$4kO6*GHa-&YYcyR-A#=4JpcOTfO#A6TKnQ;>!M*gSDC9SEs= zqRmM{vY1+GIkPaReZqgr5VA)y4uc427i>1njpi|jpa@B%Eb>5YvvB~itD{K@2OD&r z2#*o{AQPhS3y;3g|CVX_HGs-F7JajEq-#lO&an_R865a<{Vtl&0}y=5fBXFMNS|{{ z?n8`Nu3)D2eF|Wnu1QY*4^KGbu8Qm$#R2RlGg9H z@Ho1KjSpnk>KoQKcZhCSOZrq3gg1mSYByk{z8N~5sAmJZeu0zqS>HWqAxXO2B|#Qz zyy6Gs+a&oi4bm^4@*vF@YsLs32uu3y=R6HAK)8hvj1Qvh0uFf>c=Wrtp9Se8W5?L$ zM`3h`J?hub$yk39bwg6kkyibV2emPam*Yn@Uz{wD996Exqa}OfTFh&^#7NJhyK2d% zf(wREI>n=ZBEbY@R}b+92xs?}iK}l&MY@)yC2{qVLtTYV8_`vHXxf8=`o77pn7|S@CxvnF#1sM9(U> z@i0wmm^FVO);lj_5B7SHPN983khA((%9#l-2?3uoen4-5v&=0Ks0_bm=rdsPu+PP&2T>9e`u`}I*G@3a z5=pVlk)hNB7`iOGwruaadgB{Oq+W=J)BS?MF!X;5C*R_{p9$lXP}Mjo!WbOy)skwx zD5?G?B=;&z-3HnmLLB8zACxU0kW80?X%O(Cl;+)Yy)dHx0>IaU@&%v{xRgO50%h@o zfF9ln&%!?ovhd-9AikzpeaD&yU_Cq)oOwDU0tE*4iWMb+P9#qxe&0ouh}y_iRPA*V znht*TJ=R`wD-!WgD%c1_;gFo+@f0e068<6Ox7@_yhSbW_sW>E zXnLmNpQ>gzGUlJb!@#)mT_@BUo+WCgfACFQ_C}ChN@(?wWjIjRS~c~k{ioRCG75jY zAEdpB653uUv?ddlC0ah9=gHC&)&a$$VbPTv&;O`k zhw*QeG`3oplj~o!c>$LKmd_3XFNJki@L-wXrw!=I1jw@Hm#_H8&Y>qEYa&|@FO_w9 zr3SWB>$`@w9&1#&vFwMp(9ZzK7TSNg4Jkz)(IC6VeJnfg9N&pI?WM#dG~P$HB>yPf z<1ZQbU@`w3K28agn$i<8crPd6Q;1@7khN9q-F2(#Bk9{n>4l!$L6-dQ43pUE@7~jE z23gXL$nr7^cEH}RmG;=_6xNoJh>UYGxvW5O)u_u<%aIHTPvRwArs^X}@jZXcm^pl1 zw)=j59LR&e4~_8<07VR?(@^keyGuvN;UK|;QEOTD)U}#0$Fi1(;0bDb=(6sDD1%=a z&9BHNjY%h}E(_L{&UtfV`g@$@3sx7zOWxcV-+T3|z^6Qs( zmXc%<-l|o}Q>fEYff96Oj$eO<+o{)-q!`+a^DaWhuq4MYyn3@PTXsB;xk67u25f5x zfg;gDYaAd<9>Pbm8-!@SSqO0%Du+}lOgZ6pE@YI~A=%SQ2U*}vU7|tT^bGo@!w11_ z7=?LlGwB{j$$dCxH35@k9#bfwefoi|8#14kX-`GI2|cC3GDFNUflhx!i&jNxNnqwF zA_YxPNLM+irIY6est)pEsdG>zWfCY*k;FwC{--2*>SmECk|N2z3oh8QcYzvYqmgAl952YQ-&ikkR6eg8GCM396;BiA+n@FKpiBSPTGt zu|3HwFZSoqvMte%KxwZ+Zcrw+WJE6H2^jVF0bqi!9%}Ow%oRE)Zlt?~mHBM3)wDf> zr|m%@KdhhU{;l|!@4{zP{)Z)oxX`IQ{i@lQV2G-ut6oiWX_kL#n$Au+p_~KCnyX8^ zW?%C|RJqbwu9FjWH6F_SrIM|>rqg#Lj$nR>D7z!WvEN1`&$kfH>o-3{)fG*)of>zY z0?n&|X2_p>F0v=JPT7;9=z6;0L#*V4+>OY6p~#iQPIFj%O17#2>p#M*R724W%}}8t z?nE_fsfJlX&z*k+oiVZ<$-~}oC#LT4u6Ib)y{*dH?CZ2W5w9yrJCOlD*716TaygDkr`NN0=X@n90h&{)I?7sv?xZGwD` zAqU{xlGFXI16@!~Nz_~lAD4k5)|lg^h!!o{GYpwm`m!@~R8yuf7m5)P#%JF;8By}# zXde*C@m?elh*FI9LXUyr#Y(&%v9gqkT(m5@NtS=|>K3_AZ*(Qc5xA{9_Nv)fR8`9o z>jP#q+4Oz?SbEdWyUwq?=}o?U;U#5*Rq({SbIL$!zdQE$SN5kyB~LUQ&8@kUHN{hX1)Ck6)F|Eg z|4e4c%h)=rIKb^j3eDntHN&_!ktUCn#PVbyMz0Qv+6F$%qObX|ii6FR(oR?!I+p!V zKZaIP@}o!y9v>r2(PpWp%Wqbb-$p$74ex(Q$(T$COgY1pXexGYLp-4`?GBWrbfX8d zC3eRm^YK*==wR%@z@jvV9LGoKDvdderDEuEy89q2qqgAgx}Z{@L^n8ObA|>1cn=di z27yca)^Ifos9+C68wSDG9%k-9z03}*s`Np#wn>~ zBgR*A&*G#Tj%DA}EemmR!ZBd0Q!am*EX$JZ)|y{RraiJ;bx{_yC!`%-`iiqSX0M#` z8&0!b1c78K)=CDprkjo-9ZPfnjbWXoJ0#07;JP^8L!t*B42qr}y!SbC2@lony?dLa zH8G$?FO)$*JmM4oP+q^?Ct&Ud)^NUva3DU|ODuE{$Y2h_uE6pBgy>qtq`7}|7V{oo zg$I>YPnS9-6=G=6HhFsyKZ8KFk4eEZCfQ#jpuZRT#RE3ZUagV>5AzqJj6jZXsQ8(trha6{_k>S zMC7(m*TBnf{%4luZ3r*j+?$dr&%El;D!%1GocQ z!9&SlnW`&2_4j3~)E-;5J+~OGy?M%a=dtW9-|sT1y?$=)HcEdS1Lr;0+c2A;4c;5V zyjUH9={t<9--z{QSAPARj3rSwB-I@0)$f$%n$wryM>R84(KN;PVOmOA^;)*6NX|}0CLB@x zlTNDlClXAMQG0*z@={xrh)Agn+vrWvz1X!YZ+2$^rPAfD8}y|%cU9*5vB!HWo`P=g zEgibMAmUv>m1HM2Gc?I`Yl7sl$66}>gKleC8q%9VVJfo+JQcgX8$4zYc(AImBPd&_ zw;FS7+U5*I)dr#3SAtg8u!YLnjLz*;bi;P+M-24Wgo=N-c8$d)Cc1k7zBR`JyL0oh z$HM#0e(c99ZKA0=fNI~lj2m}mYniQXq3L$U)%#8i-jB&zc)s$KMhm25RB+6-0kO`2 z!JB)WA6kgW=9XIxj0SUz8gSex12@z=?~PPZulojd)AtRtAo1oK`x|ICC;#}{-&2AOhM1EkD8eqR=(LCc;<*~5 z8|9KK6I)iyp%kg;QiM+khM|x@kt_@D$@TS5B#M7_4%QA7l-)gFoj4%oB?np`~&BBgdR=~MxwoPo`mrSSbF#3LDH6)%*1umOA6;z1o z$koMDliv-jL4Q!u3BL>B_)rKgZd7t!(}b^GiUxl*-#1-XKhmN>(YJid!-+E|q5)c9!9^gO zE?Q2P?2+h?PIf|ZPtVpzp#SR3*#+&cGV&b}&~rljTI9kH8Wzh_lklT}$H8u9hHNUb zRud1p;f^%fL;vsz(G1aFSBf zRTl&?s~#B1?45rQzg`h{z@}tSDwZ+zpo~p@q>7pa#{3DJ?UJLx z)TyAns_puw;q+G9vS(-tOI7Tz?QR%jVkEmu!Is)LBd6U&+Yavh=2M-%_iKYCQ^Jdz zKu4^zR{JLI>>m}ixX9jdvDO~#o4)hPgnceB?7Rs}O?DhtbL^9wWI{p{Qs z=2Ea<%0qhwfxY4?+!bQsmW_XWcvJZ;y+k#nKd}U=F%^6>>}x-Npz8ezhq3_|7v*D% zMb;tN4+RgDN6{d57CkLm)>nwE%MQ{>m37C{y_)VFAb_SdheXL6Wemnj|mVFJY1&QrA6n zBjV&3K*xP%k1c8POPtJk=ORcF#Q8+a&N=v?kl)H^b~#;wfpnK9)3?9PwWpL$yIQ3d zq*HcuL%Hgj!|rN!^oD=4+u5kz1uCZPqEIo|1E9`y-QasP_b*C0@l5NSdT~>JXeM#8k_VX1bYRLJE zQZ$ekV3M*blbV0#pjVQ(*WABTgd+9n za?q!9i`Kt=M4zhYW&{pbgZyo2qQ`=&4EqXI{mqXnk+AUY$6i$2zgLIS((=cYG*9+- zqGD7TM?=NM8n2qqH;S*wHnuYuKKi&x`$G30Yisq}*d>2S!yF6NB`KRt>E~R(H{Xpb zUhS!5RKHUy;@5b)rNs{IW@3F}Al7tT(|Zx5<~^lHQ(ux@ueztw$nsrFgDI#-U{STP z(JagHthE@s5zxcw6G>m-z;ZW>z`mHUSnVv#9>A!&CHWj&VarO$FJU~%pp_rx^?>(* z$Ma4&P%D4veskvAq&azpKe8}^KJ|bJfyCL2UJ_oCS-M2YIDzmC#AsfG$Ao?XEG@Le z&=1INUUd0mr#6^d97g0)__=t>P`IELVrNY3!63zvB2xlQ)f;9l?CB+gEa>KL7LT!S zGBEy>P;5fqczh`YhS9&MB>2(*Up^TN+2XWEhBMUKLPk9#DGa}DR9tVuf z=y3{oIVNP1UDjYL8$A89)s&X*kCLYvhF)Ic=GH7*8PlZ~?aP?vkF4&Q?P-R}gxH4n zEKq;n<6V`B&lQ4RM=$UVN~Lj<6ZZai zHua})ra(fNkTJ!1VdhkBe7yhkfAqFFWG;#$3?n|!-xWp1)?jeMpO7Q+l3zC{^u z4_=NFkAckKXQ;tnZz+Z2FOy_E0}JZrlL77)1%FUZdcKp6r!9Zvh?-PYx=y{T+U)^c zV}ezDkZnTp_Ol^CRw z7qbSk|11D|mN)xK2?w^?zed|borVrL#Qan4SYBKHIS~c}vgr`5#t;+!KC`ie*$VCs z9u=Ci;KF}_!>0j+J-{53fiH`Ou{<#V?z-D?=)ksWICWMWhjxL5183kzW6l6NF-dk6 zC2ZmfoGvmbL%J<=Mx)Q!Z_eVtsvIyKaJlk2Y; z^O_-PCndx2(~b*;-g0Y^Z4b{@xL0Ms{o6uum+F6(94fiXwdZDxzd8G?^2*p8rA25W zkwQi&--=v;PGGfBTIFf%)}E|zwhFh=D!lhAseNe~CtaL=PSt+nB`<3~2;g=GA7Lwc zASo(x(_eXZqScQX+(z|*&&pl2MA*7(H=)!JJJtiIkW-g{aN0h+6wZHC7~zA>Eojwi zM&m3~y`<_5)qmsv#aLj$4dq4kK6w2Ym*7HJ7WentRRsT&uv~QSvk;v<=*=IKG4&M% zwviED!IOHbEPvT@Y$0|~*iMmKkhBlLP_!jPTtHG@-o8VvZsZ!Wa;gqmhMbQxKgppU z9*-<@_EhOq@P+H&d9Fh_5pl|Q3-|Z0r_s!Hw81>anc#Hco~U*om*2lV93skNE)3NU zAh?bWk}TZB7#Sg?NkSRccPu4JXt6bSL@*?_+mujr5PvF0f#-Y0n^b~OtzoMSSLUEo4e4vkx(7&h>!c8Fp1k;@T)B{u1Mnx*ChOmA9a zaLPXhM1KTc4S|j0n+f-biI`^NxTc7On=2kw{-egIxT40~> ztGQ!Y8Toah@Aa5Xi)cLhgz)#6btDW{a69lIX@Abd^?Med8W3~J-PHv(EwXVqeVuKT`n}u$P^tPbF26tj-8p++) zHo{LOa@o?-uhE{{l6bH`CpWOF4RyZB_1A)VOR$7W$w>6P<3i#03?hQ<;lK)aiW#tX zSbr$?QM}S)VYhSb*c#(5+rKL35Sfz%f~FEHY=m;bWY_1&FZxOFokX_n8I0k4yxDA4 zaK>0GoLRxK(^2c zZw-a2?pcQ{wfYB>=HoTD>Eql87cC!9<1bz^>YU0ZRdy)uRr;5dAcC8e=fz?0_E{D0 zf+*8q9sXF)SO1477t^~UQ2VZzf0Hrw6_@KG0T8out%U}EsbQC`FhWAsIcTl`;@P%u;8oFrcOtI-oC1jJGuw|@@ zWT_-^%POxiFE9_5Cz&JT3q58sh7JoOq;tM=^dDW!!{dQ7v?EGWkxd-G>p6&Ik%(!w znK)loA39@y2Wf+|7&DQPiE|{{d7Qrc<6$30f^(7?jR2A9a4(~YlNuvK*VR!RpW*x;Co@sDBd(vTBfj2DgzeOm27^DQJ>Lw~=~H()cz~ zV>$8W0vD2GFqjC%v4Njz<8rLNZDj|*5*xavjG7}byyLPT48vgE3{iZIYo zWICmPvN|33tuz=+OUUk50_->|?e@}dxz+ybXj`1hPy^efU(}AXQ|7-W`d*7_T14g1 zCWY5A%S*4GK+pgTBhvD+C>i5|;YRiDwjA1WTa}zsRV;_r!ul=G zz<(!m2GFsI)2k>!sjF*!vB4?U)k3#Ka$Qn?g9>-#XBx@P+cv_VN^E6Kqi>@v>mzY* zUrw%I6&vb&lk2x7^Et&5PD&ny%S|Q}UNguDwg-Y0j`9lFCoB~El{d*D@3*x^_Kb0+ z^;;F%hjuXzdxU96yae*7@6Vs+W4M)UFWhp*_6}wP-@hMu)*s#p<4+UE^LoAy+pg+b zkOXg;IUC98A65SK*+6n&y2Ef+%ukb90o`$@4{l|4dKB$TE}uw36ugO&!mqH!Std+= z9e_bGQt`}m_9a9M!iXWrq*Nn#ktL{q_Ib4Sru4GeO1Nkub@MKO)LXqn^yZX?{GwJ<4I!}7zKO*YO~ zWPFFH0V7?cAt67?rBLwi%5?t+XJyuHJ^crhVX73fX}UuJf2kQ%S8)>n0De^f01*HH z0C#V4WG{1NbaZKMXLBxiZEUn$TW=gUmVRGg|AV3DRm3}4Mw|h!69;w@M9$2~ZO znC+{J`)Tv?G{oh4Tuj^j_I9paUT$x1$Hj2^-?_*1e@Es$c1hdC{d(BUhZ(P?VMR1- zH~YJBw?B`z{;Q)Acy}J;!|yHP!+Ldo?jvV^V7VW+)ADnVKSEyZu$#7vVZWyhTCdIo zj+@7c)o%v+Joi^L_i2fTp{P4&hhI-A*MDvR@tXn6V)*pu#&D-GuBhkJamMAJ8^?Se zXMAKVCpUkMm?s15m-F)OPmLnZe7&lD`?05bWZr0>k=dSYAKu z=V4v8n|Xg|ydm1j6s7I=+xhx_nzr|w<+npmZB4jrxAO_^=eegPEZ+_59VzzkVtQEx zV|u;h$2nKy=9laFVKp3Q+t;5zfA*W99GFnX6^%s1e&~r^yfCtSH0Ww|?DFb@)xQ__ z`+2+mqN&ccnZIZ{484E7`MK^NuPt}94AR9fp4!|K6Q<{_b7k`vEz5Bl7W0wHYH@$q z{B*zBp9cOd_+vly@27ru*M8*t^UTdB-c>5j11wfUKRu$S)_J>=b$6aGf8fKoAD=Iw zue{w5qYka#_v<6_8)UnB6ADWiKZGXR-iPCE# z<=n-dC9J=nx8FYO?uO05$RE2*{YN7A@6)*ab~}x~lH~QP>s`N~#?L!{9^lEt{}`ru zT>Q?X{B`h~<#$B&NFyEv=dV-ndjyaQ)674R%X;^) z8_LiV*C-DC&rEjMqp})zZ%1-5)9cNWtowg#vhntIm}r8Le{|?AS+jB4emwB`==c6p z^WN`=f6~JgG01n-vWD$UZtaP={Oj|cmF!WkD7jef&p&=5?S3@xI@`1%qz^DAcVj&8ced7JCQq!r7BA0Fb|?i0c%MXvS6yS z=s4bmY-7Mw7p^>}tyoqXeMo&EZJgQ8KuP4BDZHnge~WD4JeQigovLK=w? z$wP#i#igWf5K&SGydGtv!1HL;WjvbJ8p{EP^Z}7kE&q!?XpX3SLhz2Kyf#H7`)Nd9)&7suQDazz8o9uP0Z* z!ieBlf9D8M1==c}m9^0x z9mTW5yjCJ)ydEXF#XL|Zb4-C2CN&VvBA!PZf8(Kj6NX2Lcg~3%pbr*Kci2*h&T5VO zcp0$&5njiD_tYEJ;3!!n1Fee)OfqOgL?AncX$#7A(1wV}Y=eTx5{_L&)WTz_iiRRz zjM&1lR3);@m^&1oFf0d|1&4Jz>wx3l>a``_(;^~{U0rolR9*LGK)NL)1|$X;Lb^+& zyIVk|yE|s+W@tu0>5vBL?v#)QL6`v)q(MqS_|5x%-|u_Z_np7ax@X_D&bn*w`|Nw4 z=j@#)KWq2`Ho=ilpKLA82`)|x$0LGXXON6CET*YN)V$sKf-9NxnqLMtbpQ*fpvKPB z!e}k)JyOj6O#Fk1ZuV9ox3bHlC6rpMH~gbqY`?ft1KDT?LlPzWylvAEziRB@Qd&x_ zlXlI|_Se_I!la0EMP&y@VX%5Lh1qsMwWD>++&+m%KFo)vZd4$`=S5&Pep5Yk&MAvm zDdGyRPH?Y;w~jgBO;`EsDZ#TS^^7c;1EzFJ0wVv8DcblktOH(`KgC{n?y{ zHrA{)gH1MRB3#%}qXd`wI!g=vm*6t3ktpazC54MtU&te3>TAX=pcy+O z)8KnOitxv>vBQC?p+6AZ;3--tDSU2D0em(wmO>l*Oq51Hiv{Qc<`ir(nAj&$@@)d5 z8n{j9EUe0=4RraE%eIifF7?F*-80I73YDMfKfuJCpBdOu!+;rfrHt5lBK(x!6xjHP zyW)u)>+vQn-|K~)v#Y-(=_xenCl6x*#Ve|7D#yNUv8Qe^;HU_7iJgGXZE@*Sn7Bu& z%=Z#`>I=BkZ!S#^5xB&DFVb_D%1O^dNDl~esOQXKngJGe&^@~2Q^I{T(^Yh}WpQRj zpD*S#jz}u1911mWe;G9Y{2n1{HEY3XX0#Mmid7duP&7MgZ3cn+^%4bA*n2?%XcEkOiv!$Fbp4AG|4@=Bisch4Q$R>k? z*ed5}lX!ZDfv7&=A$RHqV&Qewd8#Qzu5QKH#E@cA*6l|0;>i9k)-WyVZBP+2PIb?q{n_)X| zJFKB!J)<{_-7ul1{ z6bm|?%KR8R3lwBdjwjVLp^{IGP5Q$q7k>n6R>iV6uTH1SaysxHX)n8Mo{U26C9@9; zFN$|DwJKU)fu%vCNo5GDE}cTu?&B)hOsz3WAAjEPEp$*gb>K}cpUW`iyBVa66VN-_~ts%)Y5?S6Mmt zkxlirl2>w8l2{eb-Otb#O)ub;Mv6A*p(-Bhx>T>xt#SnWMUf=9k&vdLmwn;=Q7E;S zXurO+pXj&%6qoxY(ZooXn#H%6C3I}$L+-o9p=oE(y$>T{%NXESCBg|Ro34oUsXd4s z5{8!i>>9irnoh^Ef?;ilBKN{yx4{-LAGcu@u}sT$+KUIXRjH|p_`g4xrBhU1=OzC5 zy-oEq1-(1v{&*z9ew)NpR$`x>Y$;_q4_(0r3%1_ZYZGMt>Ak0Rb4urnL3O_?@!}bz?a=C#GM`n1f@ZJn4v9X`r;q z{iaX%sj)LE`&48L@~~C!e(~SS25m6U>DN*(cq5Xtc&4Po&FhOFd6cr#2Gi< zirAqJN|Z5SzQT{RKWxRY3B~r9pUoEA@={?jqmwT1yeb>$H>->1O|7T%*&ul^Wa**v53R9S1_U(Iw@t(h&I~CK#&6_d5hCk z*RjfU;|=iq;8IkX!+I?XXnXBPBssu`@gt3*Tx3F`Te||cURW3GlKu(329!7EnOOF6 z_<@@aRTy)pu~VgX;6W+GITc4m)G98X^X?d*k;Vvu!*^4wufK#y2Eb9}SzYTGn}yVJ7lwiDKsWCWga~a>Bc9Q_ z;_^q-UJF&>AYbaiPWsRt3rw2U^-#yIy?zBiTBMhL*RKWIS!hkJE8Qu@hIl zQRzs-Y3#v$!`R3wIV0v~wwh3C=z+?lDe$^1P?x|jmn8Y8o-7`$?Xk`4HqF$wOVMqu zaG_&N5F;jxfvjEZod(OeNmyq}$&tI1G`pd@3o|>Z2L&5DJ1uZ=0J??ux)PvToIINp zfO=#)cKlr1jyn7qhr++@msj-kUIjQYR4_7T`H8}`427FOVyca&s^cAqT-@RKIW1%<>h|;Wz1#kMqGh^ z!oPF}y}?agM}$8PO0M#_!8SFZ|C(L577pSYpoYxEri|R0uvd+^q-XdHQ1t18BL{U2 zN`|jp_4qm%-G;^AHCVHfUGZl-M4S{_+mb^t;!?tAzyiB8`PjRGY00E-Xxy+!=a61y z>WT!t4!H*}r9abKSEvr?tI^hDPpS%anba=2CsG;KhkUw(8a`idcis;&CX`2hV5MCf zYZVx_Y~xl`?l*baqPi{7w0aiXZQ{FwDpWnD>16hDhVIEt2Af|7mX*q({(uPC$0w9_ zkHvUrQ{+EdwpnIj*xelRE*D`eRTofQO-F*w7N`0Jj|)FXQ{L4Yzy^f8x#QON(w#?0 zRap}jKL2KlgW^-o0(PIbzm4^3)Kv>fktprS#_$UxIiXROf`s9egD`Z>A6?(*mn^8& zX>YMFYP4xufN%SkdX=}&D%=VWNqRlB$D(<`%L>^e6_&HYNZR~is%7JfZ_mCshdf|0 zb08{%8b%PxnJMn~pT`A;_~Mwyw&a=jxu!k2mP_eJp_a$q8PR#GcD~ETpSX)6!@qAO5=W z?4ezXAtvnp@wB&1$eA13Q=6YdogOw#1~n3}=()ddqf1!yzOh(5ZP`46z3Ocbn0aMh zy?>nv%jYfb&H8ik37MRGy%iaU!3tYJCPQ?VHMQ~~k}YvwYw5c??HbZ86<)c4&hxv% ze^zX#UCLU%N*zX5Kw4pxzV{|;Zmm^|SKIY>SELUb^QpKoGt}K1T!z=5!gg%hq2`CL z+-i64FUGqu4o`MnB%xT&X270WZ<%YqKd#E7C)KGJuE~Vu#C1ong8jvUa~$-twu8?s zduibZ_hfNs5=)j^T6Mo;j{e*YH&Rp)pY#9=ArGe)UyG`E#GeZ8Q9rx9b&HvSnm@00 zqwlr7TJ%_~@_7D=xD&F!d*nTGuelrQp^#wF#i~&HD#jOS#k)Jhs(&Loe&F)}QSLlD zdl3)_2tSyS+haa=o3be(7K;2ZI5Kph&A!ZOHoXUT8?JORyI05LpJU zX3Kq){e#2xLbliX7?7hZ29Y1G}0H zlVr}25C;knZA-QJF(75Y`ir2c5Xd+4P63gA@XTf*lqow2MKhItJR)-Dn9?jG+zIAH zv&#~i`SzHItNEe11@1^Ijv%?c+-RuwgyiBx06I}5sUipL z38s-*!Kmh?zG<+h%FO||8-0bzVP_c(R`?Ek*gr8At;fE1`HojWmR?c}enV!2Xc{XZ z{~@P;Fx=y$X4zQF|OPf_Ru0I=m+ID|` zRCtQ6K7oTjg0sADSAlDE@r)V9=t)5#276KIL;vCf)LoTIS5L8lT=npBVXR=~gq^jX zgg>n3pdH?6hNqsvzxE(=7fJrXz3os*4aAYSg1$>quI#AWLg2=04KU(848J2~_!-%= ztT2UDjBao4BlA;-VY^b!G?DqwE;8H$)T?F+W1i|LaR*lDX;!~PFtM$39Yw@H5*>VeKqJIy|K5OWO39^n;g<{&z$SZCUWMQ;wlr`xiCP} z+U>()8cH}P*v|VqM{ogv%*EDB;Ar6 z6t}}axlq*qepMs!d@v;GR4v|WV{R{`$wlHZevlz`UnR|c%lKl5EubH4~hyD?avgCok)U|-Lw)-9?0uG2{s&fSln^S;1h?)w$=f=)`!ISvib*BT02E>8p@mPfK&LHnScc++mJ|Iu$e! z^ue8WyPf5&t!hfQA5VP?lC=5d-pHh2r?GSIaLBnO#66eKYtZ*J1>;hShrTGjyJEF5 z7|4ijH>9xV?DOYV$%!WhtJ}MpZ8;7FhChO@#NE0Z zU4^^D}#va-+@0g=v`Z=0q%aJBv%+liI6$h;LXoLL(7x~H3fIu7m57?&q; z^+DsqKCJzYmP##gls!G$)+%yqdSV44ZX+`@0vH#_n%Z#6#7xtgLI1~50C1sK#e|Q) za_{=H!9MX?PYVakgHrj99$`0b4+w^ph6N;{ubf;=plFa3LC=M~t)!c>hEO6VK)&OOaEvA8$)V z#3H?U{4r^r**X1f!qPS$g*-Z5wizvLUFk5uA8;Tu4(N|k89-pSBCs2XUb=#yM%;&= zeisZHSiOH!;Z5O4?14RMW5s31b&N-{PU-t%7jRb7d5m>yhFDvFJ~?95_&#Q1e{6bX z^%C}6U!=peZGbWz@FoWOMJ|26W;6Agej}}TwpZ0}UBnEbZF@Z*AZQV;13ONQ0+x%b z+c4}g_w?)EV@X!2j@1c4+3rlqyDy-Cw#Iav=U?f~#mu6Rt>X~D-!vfhg~20S@x|Eq z5f(JG%0`-g$6=IhVF`_+)^ExEdf!nHqcT)JQNQI%nI?cAg5 zJZ2>@&Uq>_Clpqy8zcowr48LFFHDGXiq&v)c1W{}{feN2DiA(p(`&_>%%7Jyz2CBb z`yj4w0^Nnn3{0>gQ33g;^U__`-?n#CtQSXTYQ74*yHdoM70@SBJC2pmYbdDrW1P9C ziF=da<@%Xj=v=*>BW^VQ{Z5^N1SKJgWuT417i1~vt@^Bze6TOS)f`2OGlkV{0Z$5N z@%td@(m4%PSG5qm{%jeKI=Hs1It6=*bPryOP4{P4Sz2Zwn`2FmzG2+hl|gK0akf)roH9*jFyc6p~o_^Ky-DB&7UJ~06m$(~=_y5yoQj%PF#YA#g* z>x1>Y-fFRte5FIyyT;s67wg0r?p5{ zj>eA0edp2LmZuE4^5a}8Z$a^pTh_5*?zLx#1P0{YH0p4BULFsZ*R(tb$IZlLdENmD z>`~cWn&1bZQ=*-~-pDF)4A1EQ)KP zX@gk^D%qjM%6Ke9fsPy4TkZw1p|Z*Z=rh+7C`gyj;D@xP-{9g~Ifs$T zuxI3$nMOaS;>S>{-wO{%L3&i!rb1MN4qttxc!53n*oXZT+im6iU^7V=xwpzskCJ*d z6vX>X#QETx?L_7dN2Cxq{xqToM4bQ0&>|3xf#&qgChk|g3G_$`L#gewt*dF!@y}il z0C~eyD7SK$43AaLOFrfcUKs{@Hr8<`VUGW97dp-gHS;d>cHz7oI=1a0+p~^QqZVRN zvE2fAizgKAn~jV2LSKAa1)KV$&#TrO4$JPGP->;IG6g{> zWeDi*sL^mh9kUgt6!o3E4Kjn&!w4s0P%PQC)e)eiz$j?xbfaD4oqoodCAZf1TMDJL zDMQ4$a@PAoKoTLXL>EJCO00;W|8GH)_kS1)t`nN2~ z-NwxwUJn9L!sS>1H0ZX!;ICK!tiZqX82}pEC@Sjyl2H9K-rd3rSx`Is5Ar@jLnHZT z88wr=ha*@3k{Brf0Q@N{Kn`OD9RRms1xRCTVgTS}tN;9q(z lFYf?n8#s~~Kmq(G{L#?J|I2!X6VA;BV8ycJM(q{t{{Z2~a{~YX From 492c41b281ffc5f9dc54becec76d1c36dca46df7 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 29 Aug 2022 15:25:55 -0400 Subject: [PATCH 0444/1248] Re-checks of chapter 19 --- nostarch/chapter19.md | 58 ++++++++++++++++++----------------- nostarch/docx/chapter19.docx | Bin 116775 -> 104867 bytes 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/nostarch/chapter19.md b/nostarch/chapter19.md index b67fa6d614..6d32a0f4a8 100644 --- a/nostarch/chapter19.md +++ b/nostarch/chapter19.md @@ -60,11 +60,11 @@ that holds the unsafe code. You can take five actions in unsafe Rust that you can’t in safe Rust, which we call *unsafe superpowers*. Those superpowers include the ability to: -* Dereference a raw pointer -* Call an unsafe function or method -* Access or modify a mutable static variable -* Implement an unsafe trait -* Access fields of `union`s +1. Dereference a raw pointer +1. Call an unsafe function or method +1. Access or modify a mutable static variable +1. Implement an unsafe trait +1. Access fields of `union`s It’s important to understand that `unsafe` doesn’t turn off the borrow checker or disable any of Rust’s other safety checks: if you use a reference in unsafe code, it will still be checked. The `unsafe` keyword only gives you access to @@ -617,7 +617,7 @@ that the slice this code creates contains valid `i32` values. Attempting to use Sometimes your Rust code might need to interact with code written in another language. For this, Rust has the keyword `extern` that facilitates the creation -and use of a *Foreign Function Interface* *(FFI)*. An FFI is a way for a +and use of a *Foreign Function Interface* *(FFI)*, which is a way for a programming language to define functions and enable a different (foreign) programming language to call those functions. @@ -719,7 +719,7 @@ Unmatched: BoxCode ### Accessing or Modifying a Mutable Static Variable -In this book, we’ve not yet talked about *global variables*, which Rust does +In this book, we’ve not yet talked about global variables, which Rust does support but can be problematic with Rust’s ownership rules. If two threads are accessing the same mutable global variable, it can cause a data race. @@ -894,12 +894,12 @@ as such with `unsafe`. ### Accessing Fields of a Union -The final action that works only with `unsafe` is accessing fields of a -*union*. A `union` is similar to a `struct`, but only one declared field is -used in a particular instance at one time. Unions are primarily used to -interface with unions in C code. Accessing union fields is unsafe because Rust -can’t guarantee the type of the data currently being stored in the union -instance. You can learn more about unions in the Rust Reference at +The final action that works only with `unsafe` is accessing fields of a union. +A `union` is similar to a `struct`, but only one declared field is used in a +particular instance at one time. Unions are primarily used to interface with +unions in C code. Accessing union fields is unsafe because Rust can’t guarantee +the type of the data currently being stored in the union instance. You can +learn more about unions in the Rust Reference at *https://doc.rust-lang.org/reference/items/unions.html**.* ### When to Use Unsafe Code @@ -1010,7 +1010,7 @@ A hypothetical definition of the `Iterator` trait using generics The difference is that when using generics, as in Listing 19-13, we must annotate the types in each implementation; because we can also implement -`Iterator for Counter` or any other type, we could have multiple +`Iterator<``String``> for Counter` or any other type, we could have multiple implementations of `Iterator` for `Counter`. In other words, when a trait has a generic parameter, it can be implemented for a type multiple times, changing the concrete types of the generic type parameters each time. When we use the @@ -1034,7 +1034,8 @@ and documenting the associated type in the API documentation is a good practice. When we use generic type parameters, we can specify a default concrete type for the generic type. This eliminates the need for implementors of the trait to specify a concrete type if the default type works. You specify a default type -when declaring a generic type with the `` syntax. +when declaring a generic type with the `<``PlaceholderType=ConcreteType``>` +syntax. A great example of a situation where this technique is useful is with *operator overloading*, in which you customize the behavior of an operator (such as `+`) @@ -1482,7 +1483,7 @@ trait to use based on the type of `self`. However, associated functions that are not methods don’t have a `self` parameter. When there are multiple types or traits that define non-method functions with the same function name, Rust doesn’t always know which type you -mean unless you use *fully qualified syntax*. For example, in Listing 19-19 we +mean unless you use fully qualified syntax. For example, in Listing 19-19 we create a trait for an animal shelter that wants to name all baby dogs Spot. We make an `Animal` trait with an associated non-method function `baby_name`. The `Animal` trait is implemented for the struct `Dog`, on which we also provide an @@ -2038,11 +2039,12 @@ doesn’t have the methods of the value it’s holding. We would have to impleme all the methods of `Vec` directly on `Wrapper` such that the methods delegate to `self.0`, which would allow us to treat `Wrapper` exactly like a `Vec`. If we wanted the new type to have every method the inner type has, -implementing the `Deref` trait (discussed in “Treating Smart Pointers Like -Regular References with Deref” on page XX) on the `Wrapper` to return the inner -type would be a solution. If we didn’t want the `Wrapper` type to have all the -methods of the inner type—for example, to restrict the `Wrapper` type’s -behavior—we would have to implement just the methods we do want manually. +implementing the `Deref` trait on the `Wrapper` to return the inner type would +be a solution (we discussed implementing the `Deref` trait in “Treating Smart +Pointers Like Regular References with Deref” on page XX). If we didn’t want the +`Wrapper` type to have all the methods of the inner type—for example, to +restrict the `Wrapper` type’s behavior—we would have to implement just the +methods we do want manually. This newtype pattern is also useful even when traits are not involved. Let’s switch focus and look at some advanced ways to interact with Rust’s type system. @@ -2065,7 +2067,7 @@ far, including statically enforcing that values are never confused and indicating the units of a value. You saw an example of using newtypes to indicate units in Listing 19-15: recall that the `Millimeters` and `Meters` structs wrapped `u32` values in a newtype. If we wrote a function with a -parameter of type `Millimeters`, we couldn’t compile a program that +parameter of type `Millimeters`, we wouldn’t be able to compile a program that accidentally tried to call that function with a value of type `Meters` or a plain `u32`. @@ -3129,9 +3131,9 @@ Lukas Wirth. ### Procedural Macros for Generating Code from Attributes -The second form of macros is the *procedural macro*, which acts more like a -function (and is a type of procedure). Procedural macros accept some code as an -input, operate on that code, and produce some code as an output rather than +The second form of macros is the procedural macro, which acts more like a +function (and is a type of procedure). *Procedural macros* accept some code as +an input, operate on that code, and produce some code as an output rather than matching against patterns and replacing the code with other code as declarative macros do. The three kinds of procedural macros are custom `derive`, attribute-like, and function-like, and all work in a similar fashion. @@ -3540,7 +3542,7 @@ The `DeriveInput` instance we get when parsing the code that has the macro’s attribute in Listing 19-30 The fields of this struct show that the Rust code we’ve parsed is a unit struct -with the `ident` (identifier, meaning the name) of `Pancakes`. There are more +with the `ident` (*identifier*, meaning the name) of `Pancakes`. There are more fields on this struct for describing all sorts of Rust code; check the `syn` documentation for `DeriveInput` at *https://docs.rs/syn/1.0/syn/struct.DeriveInput.html* for more information. @@ -3694,7 +3696,7 @@ Attribute-like macros are similar to custom `derive` macros, but instead of generating code for the `derive` attribute, they allow you to create new attributes. They’re also more flexible: `derive` only works for structs and enums; attributes can be applied to other items as well, such as functions. -Here’s an example of using an attribute-like macro: say you have an attribute +Here’s an example of using an attribute-like macro. Say you have an attribute named `route` that annotates functions when using a web application framework: ``` @@ -3744,7 +3746,7 @@ Function-like macros define macros that look like function calls. Similarly to can take an unknown number of arguments. However, `macro_rules!` macros can only be defined using the match-like syntax we discussed in “Declarative Macros with macro_rules! for General Metaprogramming” on page XX. Function-like macros -take a `TokenStream` parameter and their definition manipulates that +take a `TokenStream` parameter, and their definition manipulates that `TokenStream` using Rust code as the other two types of procedural macros do. An example of a function-like macro is an `sql!` macro that might be called like so: diff --git a/nostarch/docx/chapter19.docx b/nostarch/docx/chapter19.docx index 3846472eb026df06a99573718c316c135493e8fe..f24ea8dbc1009634eb22376b29120013be82f735 100644 GIT binary patch delta 93539 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 delta 105536 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 From 5057f157cd0b35bc7d0dc0af6ef622fa4c480996 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 29 Aug 2022 19:31:46 -0400 Subject: [PATCH 0445/1248] Updated snapshot of the appendices --- nostarch/appendix.md | 13 ------------- src/appendix-04-useful-development-tools.md | 8 ++++---- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/nostarch/appendix.md b/nostarch/appendix.md index 1722a93456..150b016115 100644 --- a/nostarch/appendix.md +++ b/nostarch/appendix.md @@ -22,29 +22,16 @@ described. * `as` - perform primitive casting, disambiguate the specific trait containing an item, or rename items in `use` statements - - - - * `async` - return a `Future` instead of blocking the current thread * `await` - suspend execution until the result of a `Future` is ready * `break` - exit a loop immediately * `const` - define constant items or constant raw pointers * `continue` - continue to the next loop iteration * `crate` - in a module path, refers to the crate root - - - * `dyn` - dynamic dispatch to a trait object * `else` - fallback for `if` and `if let` control flow constructs * `enum` - define an enumeration * `extern` - link an external function or variable - - - * `false` - Boolean false literal * `fn` - define a function or the function pointer type * `for` - loop over items from an iterator, implement a trait, or specify a diff --git a/src/appendix-04-useful-development-tools.md b/src/appendix-04-useful-development-tools.md index e8bc233e90..40b076153d 100644 --- a/src/appendix-04-useful-development-tools.md +++ b/src/appendix-04-useful-development-tools.md @@ -172,9 +172,9 @@ communicate with each other. Different clients can use `rust-analyzer`, such as [lsp]: http://langserver.org/ [vscode]: https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer -Visit the `rust-analyzer` project’s [home page][rust-analyzer] for installation -instructions, then install the language server support in your particular IDE. -Your IDE will gain abilities such as autocompletion, jump to definition, and -inline errors. +Visit the `rust-analyzer` project’s [home page][rust-analyzer] +for installation instructions, then install the language server support in your +particular IDE. Your IDE will gain abilities such as autocompletion, jump to +definition, and inline errors. [rust-analyzer]: https://rust-analyzer.github.io From 219ad84cda080c2467ce056654f6c16a4f62e562 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 29 Aug 2022 20:05:40 -0400 Subject: [PATCH 0446/1248] Snapshot of appendices from copyedit --- nostarch/appendix.md | 1384 +++++++++++++++++++++++++-------- nostarch/docx/appendix_a.docx | Bin 0 -> 36761 bytes nostarch/docx/appendix_b.docx | Bin 0 -> 50219 bytes nostarch/docx/appendix_c.docx | Bin 0 -> 42589 bytes nostarch/docx/appendix_d.docx | Bin 0 -> 39642 bytes nostarch/docx/appendix_e.docx | Bin 0 -> 32002 bytes tools/docx-to-md.xsl | 26 +- 7 files changed, 1095 insertions(+), 315 deletions(-) create mode 100644 nostarch/docx/appendix_a.docx create mode 100644 nostarch/docx/appendix_b.docx create mode 100644 nostarch/docx/appendix_c.docx create mode 100644 nostarch/docx/appendix_d.docx create mode 100644 nostarch/docx/appendix_e.docx diff --git a/nostarch/appendix.md b/nostarch/appendix.md index 150b016115..3482872176 100644 --- a/nostarch/appendix.md +++ b/nostarch/appendix.md @@ -8,21 +8,21 @@ directory, so all fixes need to be made in `/src/`. ## Appendix A: Keywords -The following list contains keywords that are reserved for current or future +The following lists contain keywords that are reserved for current or future use by the Rust language. As such, they cannot be used as identifiers (except -as raw identifiers as we’ll discuss in the “Raw Identifiers” section). -Identifiers are names of functions, variables, parameters, struct fields, +as raw identifiers, as we’ll discuss in “Raw Identifiers” on page XX). +*Identifiers* are names of functions, variables, parameters, struct fields, modules, crates, constants, macros, static values, attributes, types, traits, or lifetimes. -### Keywords Currently in Use +## Keywords Currently in Use The following is a list of keywords currently in use, with their functionality described. * `as` - perform primitive casting, disambiguate the specific trait containing - an item, or rename items in `use` statements -* `async` - return a `Future` instead of blocking the current thread +an item, or rename items in `use` statements +* `async` - return a `Future` instead of blocking the current thread * `await` - suspend execution until the result of a `Future` is ready * `break` - exit a loop immediately * `const` - define constant items or constant raw pointers @@ -35,7 +35,7 @@ described. * `false` - Boolean false literal * `fn` - define a function or the function pointer type * `for` - loop over items from an iterator, implement a trait, or specify a - higher-ranked lifetime +higher-ranked lifetime * `if` - branch based on the result of a conditional expression * `impl` - implement inherent or trait functionality * `in` - part of `for` loop syntax @@ -56,292 +56,913 @@ described. * `trait` - define a trait * `true` - Boolean true literal * `type` - define a type alias or associated type -* `union` - define a union; is only a keyword when used in a union declaration +* `union` - define a union; is a keyword only when used in a union declaration * `unsafe` - denote unsafe code, functions, traits, or implementations * `use` - bring symbols into scope * `where` - denote clauses that constrain a type * `while` - loop conditionally based on the result of an expression +## Keywords Reserved for Future Use -### Keywords Reserved for Future Use +The following keywords do not yet have any functionality but are reserved by +Rust for potential future use: + +* `abstract` +* `become` +* `box` +* `do` +* `final` +* `macro` +* `override` +* `priv` +* `try` +* `typeof` +* `unsized` +* `virtual` +* `yield` +## Raw Identifiers + +*Raw identifiers* are the syntax that lets you use keywords where they wouldn’t +normally be allowed. You use a raw identifier by prefixing a keyword with `r#`. + +For example, `match` is a keyword. If you try to compile the following function +that uses `match` as its name: + +Filename: src/main.rs + +``` +fn match(needle: &str, haystack: &str) -> bool { +``` + +``` + haystack.contains(needle) +``` + +``` +} +``` + +you’ll get this error: + +``` +error: expected identifier, found keyword `match` +``` + +``` + --> src/main.rs:4:4 +``` + +``` + | +``` + +``` +4 | fn match(needle: &str, haystack: &str) -> bool { +``` + +``` + | ^^^^^ expected identifier, found keyword +``` + +The error shows that you can’t use the keyword `match` as the function +identifier. To use `match` as a function name, you need to use the raw +identifier syntax, like this: + +Filename: src/main.rs + +``` +fn r#match(needle: &str, haystack: &str) -> bool { +``` + +``` + haystack.contains(needle) +``` + +``` +} +``` + +``` + +``` + +``` +fn main() { +``` + +``` + assert!(r#match("foo", "foobar")); +``` + +``` +} +``` + +This code will compile without any errors. Note the `r#` prefix on the function +name in its definition as well as where the function is called in `main`. + +Raw identifiers allow you to use any word you choose as an identifier, even if +that word happens to be a reserved keyword. This gives us more freedom to +choose identifier names, as well as lets us integrate with programs written in +a language where these words aren’t keywords. In addition, raw identifiers +allow you to use libraries written in a different Rust edition than your crate +uses. For example, `try` isn’t a keyword in the 2015 edition but is in the 2018 +edition. If you depend on a library that is written using the 2015 edition and +has a `try` function, you’ll need to use the raw identifier syntax, `r#try` in +this case, to call that function from your 2018 edition code. See Appendix E +for more information on editions. + + +Unmatched: NoParagraphStyle + +[TOC] + +## Appendix B: Operators and Symbols + +This appendix contains a glossary of Rust’s syntax, including operators and +other symbols that appear by themselves or in the context of paths, generics, +trait bounds, macros, attributes, comments, tuples, and brackets. + +## Operators + +Table B-1 contains the operators in Rust, an example of how the operator would +appear in context, a short explanation, and whether that operator is +overloadable. If an operator is overloadable, the relevant trait to use to +overload that operator is listed. + +Prod: The tables in this appendix should be labeled Table B-1, Table B-2, etc. + +Operators + + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + ## Non-operator Symbols + +The following tables contain all symbols that don’t function as operators; that +is, they don’t behave like a function or method call. + +Table B-2 shows symbols that appear on their own and are valid in a variety of +locations. + +Stand-Alone Syntax + + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + Table B-3 shows symbols that appear in the context of a path through the +module hierarchy to an item. + +Path-Related Syntax + + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + Table B-4 shows symbols that appear in the context of using generic type +parameters. + +Generics + + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + Table B-5 shows symbols that appear in the context of constraining +generic type parameters with trait bounds. + +Trait Bound Constraints + + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableBody -The following keywords do not yet have any functionality but are reserved by -Rust for potential future use. +Unmatched: TableBody -* `abstract` -* `become` -* `box` -* `do` -* `final` -* `macro` -* `override` -* `priv` -* `try` -* `typeof` -* `unsized` -* `virtual` -* `yield` +Unmatched: TableBody -### Raw Identifiers +Unmatched: TableBody -*Raw identifiers* are the syntax that lets you use keywords where they wouldn’t -normally be allowed. You use a raw identifier by prefixing a keyword with `r#`. +Unmatched: TableBody -For example, `match` is a keyword. If you try to compile the following function -that uses `match` as its name: +Unmatched: TableBody -Filename: src/main.rs +Unmatched: TableBody -``` -fn match(needle: &str, haystack: &str) -> bool { - haystack.contains(needle) -} -``` +Unmatched: TableBody -you’ll get this error: +Unmatched: TableBody -``` -error: expected identifier, found keyword `match` - --> src/main.rs:4:4 - | -4 | fn match(needle: &str, haystack: &str) -> bool { - | ^^^^^ expected identifier, found keyword -``` +Unmatched: TableBody -The error shows that you can’t use the keyword `match` as the function -identifier. To use `match` as a function name, you need to use the raw -identifier syntax, like this: +Unmatched: TableBody -Filename: src/main.rs +Unmatched: TableBody + Table B-6 shows symbols that appear in the context of calling or defining +macros and specifying attributes on an item. -``` -fn r#match(needle: &str, haystack: &str) -> bool { - haystack.contains(needle) -} +Macros and Attributes -fn main() { - assert!(r#match("foo", "foobar")); -} -``` -This code will compile without any errors. Note the `r#` prefix on the function -name in its definition as well as where the function is called in `main`. +Unmatched: TableHeader -Raw identifiers allow you to use any word you choose as an identifier, even if -that word happens to be a reserved keyword. This gives us more freedom to -choose identifier names, as well as lets us integrate with programs written in -a language where these words aren’t keywords. In addition, raw identifiers -allow you to use libraries written in a different Rust edition than your crate -uses. For example, `try` isn’t a keyword in the 2015 edition but is in the 2018 -edition. If you depend on a library that’s written using the 2015 edition and -has a `try` function, you’ll need to use the raw identifier syntax, `r#try` in -this case, to call that function from your 2018 edition code. See Appendix E -for more information on editions. +Unmatched: TableHeader -## Appendix B: Operators and Symbols +Unmatched: TableBody -This appendix contains a glossary of Rust’s syntax, including operators and -other symbols that appear by themselves or in the context of paths, generics, -trait bounds, macros, attributes, comments, tuples, and brackets. +Unmatched: TableBody -### Operators +Unmatched: TableBody -Table B-1 contains the operators in Rust, an example of how the operator would -appear in context, a short explanation, and whether that operator is -overloadable. If an operator is overloadable, the relevant trait to use to -overload that operator is listed. +Unmatched: TableBody -Table B-1: Operators - -| Operator | Example | Explanation | Overloadable? | -|----------|---------|-------------|---------------| -| `!` | `ident!(...)`, `ident!{...}`, `ident![...]` | Macro expansion | | -| `!` | `!expr` | Bitwise or logical complement | `Not` | -| `!=` | `expr != expr` | Nonequality comparison | `PartialEq` | -| `%` | `expr % expr` | Arithmetic remainder | `Rem` | -| `%=` | `var %= expr` | Arithmetic remainder and assignment | `RemAssign` | -| `&` | `&expr`, `&mut expr` | Borrow | | -| `&` | `&type`, `&mut type`, `&'a type`, `&'a mut type` | Borrowed pointer type | | -| `&` | `expr & expr` | Bitwise AND | `BitAnd` | -| `&=` | `var &= expr` | Bitwise AND and assignment | `BitAndAssign` | -| `&&` | `expr && expr` | Short-circuiting logical AND | | -| `*` | `expr * expr` | Arithmetic multiplication | `Mul` | -| `*=` | `var *= expr` | Arithmetic multiplication and assignment | `MulAssign` | -| `*` | `*expr` | Dereference | `Deref` | -| `*` | `*const type`, `*mut type` | Raw pointer | | -| `+` | `trait + trait`, `'a + trait` | Compound type constraint | | -| `+` | `expr + expr` | Arithmetic addition | `Add` | -| `+=` | `var += expr` | Arithmetic addition and assignment | `AddAssign` | -| `,` | `expr, expr` | Argument and element separator | | -| `-` | `- expr` | Arithmetic negation | `Neg` | -| `-` | `expr - expr` | Arithmetic subtraction | `Sub` | -| `-=` | `var -= expr` | Arithmetic subtraction and assignment | `SubAssign` | -| `->` | `fn(...) -> type`, |...| -> type | Function and closure return type | | -| `.` | `expr.ident` | Member access | | -| `..` | `..`, `expr..`, `..expr`, `expr..expr` | Right-exclusive range literal | `PartialOrd` | -| `..=` | `..=expr`, `expr..=expr` | Right-inclusive range literal | `PartialOrd` | -| `..` | `..expr` | Struct literal update syntax | | -| `..` | `variant(x, ..)`, `struct_type { x, .. }` | “And the rest” pattern binding | | -| `...` | `expr...expr` | (Deprecated, use `..=` instead) In a pattern: inclusive range pattern | | -| `/` | `expr / expr` | Arithmetic division | `Div` | -| `/=` | `var /= expr` | Arithmetic division and assignment | `DivAssign` | -| `:` | `pat: type`, `ident: type` | Constraints | | -| `:` | `ident: expr` | Struct field initializer | | -| `:` | `'a: loop {...}` | Loop label | | -| `;` | `expr;` | Statement and item terminator | | -| `;` | `[...; len]` | Part of fixed-size array syntax | | -| `<<` | `expr << expr` | Left-shift | `Shl` | -| `<<=` | `var <<= expr` | Left-shift and assignment | `ShlAssign` | -| `<` | `expr < expr` | Less than comparison | `PartialOrd` | -| `<=` | `expr <= expr` | Less than or equal to comparison | `PartialOrd` | -| `=` | `var = expr`, `ident = type` | Assignment/equivalence | | -| `==` | `expr == expr` | Equality comparison | `PartialEq` | -| `=>` | `pat => expr` | Part of match arm syntax | | -| `>` | `expr > expr` | Greater than comparison | `PartialOrd` | -| `>=` | `expr >= expr` | Greater than or equal to comparison | `PartialOrd` | -| `>>` | `expr >> expr` | Right-shift | `Shr` | -| `>>=` | `var >>= expr` | Right-shift and assignment | `ShrAssign` | -| `@` | `ident @ pat` | Pattern binding | | -| `^` | `expr ^ expr` | Bitwise exclusive OR | `BitXor` | -| `^=` | `var ^= expr` | Bitwise exclusive OR and assignment | `BitXorAssign` | -| | | pat | pat | Pattern alternatives | | -| | | expr | expr | Bitwise OR | `BitOr` | -| |= | var |= expr | Bitwise OR and assignment | `BitOrAssign` | -| || | expr || expr | Short-circuiting logical OR | | -| `?` | `expr?` | Error propagation | | - -### Non-operator Symbols - -The following list contains all symbols that don’t function as operators; -that is, they don’t behave like a function or method call. +Unmatched: TableBody -Table B-2 shows symbols that appear on their own and are valid in a variety of -locations. +Unmatched: TableBody -Table B-2: Stand-Alone Syntax - -| Symbol | Explanation | -|--------|-------------| -| `'ident` | Named lifetime or loop label | -| `...u8`, `...i32`, `...f64`, `...usize`, etc. | Numeric literal of specific type | -| `"..."` | String literal | -| `r"..."`, `r#"..."#`, `r##"..."##`, etc. | Raw string literal, escape characters not processed | -| `b"..."` | Byte string literal; constructs an array of bytes instead of a string | -| `br"..."`, `br#"..."#`, `br##"..."##`, etc. | Raw byte string literal, combination of raw and byte string literal | -| `'...'` | Character literal | -| `b'...'` | ASCII byte literal | -| |...| expr | Closure | -| `!` | Always empty bottom type for diverging functions | -| `_` | “Ignored” pattern binding; also used to make integer literals readable | - -Table B-3 shows symbols that appear in the context of a path through the module -hierarchy to an item. - -Table B-3: Path-Related Syntax - -| Symbol | Explanation | -|--------|-------------| -| `ident::ident` | Namespace path | -| `::path` | Path relative to the crate root (i.e., an explicitly absolute path) | -| `self::path` | Path relative to the current module (i.e., an explicitly relative path). -| `super::path` | Path relative to the parent of the current module | -| `type::ident`, `::ident` | Associated constants, functions, and types | -| `::...` | Associated item for a type that cannot be directly named (e.g., `<&T>::...`, `<[T]>::...`, etc.) | -| `trait::method(...)` | Disambiguating a method call by naming the trait that defines it | -| `type::method(...)` | Disambiguating a method call by naming the type for which it’s defined | -| `::method(...)` | Disambiguating a method call by naming the trait and type | - -Table B-4 shows symbols that appear in the context of using generic type -parameters. +Unmatched: TableBody -Table B-4: Generics - -| Symbol | Explanation | -|--------|-------------| -| `path<...>` | Specifies parameters to generic type in a type (e.g., `Vec`) | -| `path::<...>`, `method::<...>` | Specifies parameters to generic type, function, or method in an expression; often referred to as turbofish (e.g., `"42".parse::()`) | -| `fn ident<...> ...` | Define generic function | -| `struct ident<...> ...` | Define generic structure | -| `enum ident<...> ...` | Define generic enumeration | -| `impl<...> ...` | Define generic implementation | -| `for<...> type` | Higher-ranked lifetime bounds | -| `type` | A generic type where one or more associated types have specific assignments (e.g., `Iterator`) | - -Table B-5 shows symbols that appear in the context of constraining generic type -parameters with trait bounds. - -Table B-5: Trait Bound Constraints - -| Symbol | Explanation | -|--------|-------------| -| `T: U` | Generic parameter `T` constrained to types that implement `U` | -| `T: 'a` | Generic type `T` must outlive lifetime `'a` (meaning the type cannot transitively contain any references with lifetimes shorter than `'a`) | -| `T: 'static` | Generic type `T` contains no borrowed references other than `'static` ones | -| `'b: 'a` | Generic lifetime `'b` must outlive lifetime `'a` | -| `T: ?Sized` | Allow generic type parameter to be a dynamically sized type | -| `'a + trait`, `trait + trait` | Compound type constraint | - -Table B-6 shows symbols that appear in the context of calling or defining -macros and specifying attributes on an item. +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + Table B-7 shows symbols that create comments. + +Comments + + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + Table B-8 shows symbols that appear in the context of using tuples. + +Tuples + + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody -Table B-6: Macros and Attributes +Unmatched: TableBody -| Symbol | Explanation | -|--------|-------------| -| `#[meta]` | Outer attribute | -| `#![meta]` | Inner attribute | -| `$ident` | Macro substitution | -| `$ident:kind` | Macro capture | -| `$(…)…` | Macro repetition | -| `ident!(...)`, `ident!{...}`, `ident![...]` | Macro invocation | +Unmatched: TableBody -Table B-7 shows symbols that create comments. +Unmatched: TableBody -Table B-7: Comments +Unmatched: TableBody -| Symbol | Explanation | -|--------|-------------| -| `//` | Line comment | -| `//!` | Inner line doc comment | -| `///` | Outer line doc comment | -| `/*...*/` | Block comment | -| `/*!...*/` | Inner block doc comment | -| `/**...*/` | Outer block doc comment | +Unmatched: TableBody -Table B-8 shows symbols that appear in the context of using tuples. +Unmatched: TableBody -Table B-8: Tuples +Unmatched: TableBody -| Symbol | Explanation | -|--------|-------------| -| `()` | Empty tuple (aka unit), both literal and type | -| `(expr)` | Parenthesized expression | -| `(expr,)` | Single-element tuple expression | -| `(type,)` | Single-element tuple type | -| `(expr, ...)` | Tuple expression | -| `(type, ...)` | Tuple type | -| `expr(expr, ...)` | Function call expression; also used to initialize tuple `struct`s and tuple `enum` variants | -| `expr.0`, `expr.1`, etc. | Tuple indexing | +Unmatched: TableBody -Table B-9 shows the contexts in which curly braces are used. +Unmatched: TableBody -Table B-9: Curly Brackets +Unmatched: TableBody -| Context | Explanation | -|---------|-------------| -| `{...}` | Block expression | -| `Type {...}` | `struct` literal | +Unmatched: TableBody -Table B-10 shows the contexts in which square brackets are used. +Unmatched: TableBody + Table B-9 shows the contexts in which curly brackets are used. -Table B-10: Square Brackets +Curly Brackets -| Context | Explanation | -|---------|-------------| -| `[...]` | Array literal | -| `[expr; len]` | Array literal containing `len` copies of `expr` | -| `[type; len]` | Array type containing `len` instances of `type` | -| `expr[expr]` | Collection indexing. Overloadable (`Index`, `IndexMut`) | -| `expr[..]`, `expr[a..]`, `expr[..b]`, `expr[a..b]` | Collection indexing pretending to be collection slicing, using `Range`, `RangeFrom`, `RangeTo`, or `RangeFull` as the “index” | + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + Table B-10 shows the contexts in which square brackets are used. + +Square Brackets + + +Unmatched: TableHeader + +Unmatched: TableHeader + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: TableBody + +Unmatched: + +[TOC] ## Appendix C: Derivable Traits @@ -358,16 +979,14 @@ library that you can use with `derive`. Each section covers: * What implementing the trait signifies about the type * The conditions in which you’re allowed or not allowed to implement the trait * Examples of operations that require the trait - If you want different behavior from that provided by the `derive` attribute, -consult the standard library documentation for each trait for details of how to +consult the standard library documentation for each trait for details on how to manually implement them. -These traits listed here are the only ones defined by the standard library that -can be implemented on your types using `derive`. -Other traits defined in the standard library don’t have sensible default -behavior, so it’s up to you to implement them in the way that makes sense for -what you’re trying to accomplish. +The traits listed here are the only ones defined by the standard library that +can be implemented on your types using `derive`. Other traits defined in the +standard library don’t have sensible default behavior, so it’s up to you to +implement them in the way that makes sense for what you’re trying to accomplish. An example of a trait that can’t be derived is `Display`, which handles formatting for end users. You should always consider the appropriate way to @@ -378,11 +997,10 @@ it can’t provide appropriate default behavior for you. The list of derivable traits provided in this appendix is not comprehensive: libraries can implement `derive` for their own traits, making the list of -traits you can use `derive` with truly open-ended. Implementing `derive` -involves using a procedural macro, which is covered in the -“Macros” section of Chapter 19. +traits you can use `derive` with truly open ended. Implementing `derive` +involves using a procedural macro, which is covered in “Macros” on page XX. -### `Debug` for Programmer Output +## Debug for Programmer Output The `Debug` trait enables debug formatting in format strings, which you indicate by adding `:?` within `{}` placeholders. @@ -391,11 +1009,12 @@ The `Debug` trait allows you to print instances of a type for debugging purposes, so you and other programmers using your type can inspect an instance at a particular point in a program’s execution. -The `Debug` trait is required, for example, in use of the `assert_eq!` macro. -This macro prints the values of instances given as arguments if the equality -assertion fails so programmers can see why the two instances weren’t equal. +The `Debug` trait is required, for example, in the use of the `assert_eq!` +macro. This macro prints the values of instances given as arguments if the +equality assertion fails so programmers can see why the two instances weren’t +equal. -### `PartialEq` and `Eq` for Equality Comparisons +## PartialEq and Eq for Equality Comparisons The `PartialEq` trait allows you to compare instances of a type to check for equality and enables use of the `==` and `!=` operators. @@ -412,14 +1031,14 @@ for equality. The `Eq` trait has no methods. Its purpose is to signal that for every value of the annotated type, the value is equal to itself. The `Eq` trait can only be applied to types that also implement `PartialEq`, although not all types that -implement `PartialEq` can implement `Eq`. One example of this is floating point -number types: the implementation of floating point numbers states that two +implement `PartialEq` can implement `Eq`. One example of this is floating-point +number types: the implementation of floating-point numbers states that two instances of the not-a-number (`NaN`) value are not equal to each other. -An example of when `Eq` is required is for keys in a `HashMap` so the -`HashMap` can tell whether two keys are the same. +An example of when `Eq` is required is for keys in a `HashMap` so that +the `HashMap` can tell whether two keys are the same. -### `PartialOrd` and `Ord` for Ordering Comparisons +## PartialOrd and Ord for Ordering Comparisons The `PartialOrd` trait allows you to compare instances of a type for sorting purposes. A type that implements `PartialOrd` can be used with the `<`, `>`, @@ -430,8 +1049,8 @@ Deriving `PartialOrd` implements the `partial_cmp` method, which returns an `Option` that will be `None` when the values given don’t produce an ordering. An example of a value that doesn’t produce an ordering, even though most values of that type can be compared, is the not-a-number (`NaN`) floating -point value. Calling `partial_cmp` with any floating point number and the `NaN` -floating point value will return `None`. +point value. Calling `partial_cmp` with any floating-point number and the `NaN` +floating-point value will return `None`. When derived on structs, `PartialOrd` compares two instances by comparing the value in each field in the order in which the fields appear in the struct @@ -453,12 +1072,12 @@ implementation for `partial_cmp` does with `PartialOrd`. An example of when `Ord` is required is when storing values in a `BTreeSet`, a data structure that stores data based on the sort order of the values. -### `Clone` and `Copy` for Duplicating Values +## Clone and Copy for Duplicating Values The `Clone` trait allows you to explicitly create a deep copy of a value, and the duplication process might involve running arbitrary code and copying heap -data. See the “Ways Variables and Data Interact: Clone” section in Chapter 4 -for more information on `Clone`. +data. See “Ways Variables and Data Interact: Clone” on page XX for more +information on `Clone`. Deriving `Clone` implements the `clone` method, which when implemented for the whole type, calls `clone` on each of the parts of the type. This means all the @@ -467,11 +1086,11 @@ fields or values in the type must also implement `Clone` to derive `Clone`. An example of when `Clone` is required is when calling the `to_vec` method on a slice. The slice doesn’t own the type instances it contains, but the vector returned from `to_vec` will need to own its instances, so `to_vec` calls -`clone` on each item. Thus, the type stored in the slice must implement `Clone`. +`clone` on each item. Thus the type stored in the slice must implement `Clone`. The `Copy` trait allows you to duplicate a value by only copying bits stored on -the stack; no arbitrary code is necessary. See the “Stack-Only Data: Copy” -section in Chapter 4 for more information on `Copy`. +the stack; no arbitrary code is necessary. See “Stack-Only Data: Copy” on page +XX for more information on `Copy`. The `Copy` trait doesn’t define any methods to prevent programmers from overloading those methods and violating the assumption that no arbitrary code @@ -479,7 +1098,7 @@ is being run. That way, all programmers can assume that copying a value will be very fast. You can derive `Copy` on any type whose parts all implement `Copy`. A type that -implements `Copy` must also implement `Clone`, because a type that implements +implements `Copy` must also implement `Clone` because a type that implements `Copy` has a trivial implementation of `Clone` that performs the same task as `Copy`. @@ -490,7 +1109,7 @@ the code more concise. Everything possible with `Copy` you can also accomplish with `Clone`, but the code might be slower or have to use `clone` in places. -### `Hash` for Mapping a Value to a Value of Fixed Size +## Hash for Mapping a Value to a Value of Fixed Size The `Hash` trait allows you to take an instance of a type of arbitrary size and map that instance to a value of fixed size using a hash function. Deriving @@ -501,7 +1120,7 @@ meaning all fields or values must also implement `Hash` to derive `Hash`. An example of when `Hash` is required is in storing keys in a `HashMap` to store data efficiently. -### `Default` for Default Values +## Default for Default Values The `Default` trait allows you to create a default value for a type. Deriving `Default` implements the `default` function. The derived implementation of the @@ -510,9 +1129,9 @@ meaning all fields or values in the type must also implement `Default` to derive `Default`. The `Default::default` function is commonly used in combination with the struct -update syntax discussed in the “Creating Instances From Other Instances With -Struct Update Syntax” section in Chapter 5. You can customize a few fields of a -struct and then set and use a default value for the rest of the fields by using +update syntax discussed in “Creating Instances from Other Instances with Struct +Update Syntax” on page XX. You can customize a few fields of a struct and then +set and use a default value for the rest of the fields by using `..Default::default()`. The `Default` trait is required when you use the method `unwrap_or_default` on @@ -520,13 +1139,18 @@ The `Default` trait is required when you use the method `unwrap_or_default` on `unwrap_or_default` will return the result of `Default::default` for the type `T` stored in the `Option`. -## Appendix D - Useful Development Tools + +Unmatched: NoParagraphStyle + +[TOC] + +## Appendix D: Useful Development Tools In this appendix, we talk about some useful development tools that the Rust project provides. We’ll look at automatic formatting, quick ways to apply warning fixes, a linter, and integrating with IDEs. -### Automatic Formatting with `rustfmt` +## Automatic Formatting with rustfmt The `rustfmt` tool reformats your code according to the community code style. Many collaborative projects use `rustfmt` to prevent arguments about which @@ -549,23 +1173,40 @@ Running this command reformats all the Rust code in the current crate. This should only change the code style, not the code semantics. For more information on `rustfmt`, see its documentation at *https://github.com/rust-lang/rustfmt*. +## Fix Your Code with rustfix -### Fix Your Code with `rustfix` - -The rustfix tool is included with Rust installations and can automatically fix -compiler warnings that have a clear way to correct the problem that’s likely -what you want. It’s likely you’ve seen compiler warnings before. For example, -consider this code: +The `rustfix` tool is included with Rust installations and can automatically +fix compiler warnings that have a clear way to correct the problem that’s +likely what you want. You’ve probably seen compiler warnings before. For +example, consider this code: Filename: src/main.rs ``` fn do_something() {} +``` + +``` +``` + +``` fn main() { +``` + +``` for i in 0..100 { +``` + +``` do_something(); +``` + +``` } +``` + +``` } ``` @@ -574,15 +1215,45 @@ variable `i` in the body of the `for` loop. Rust warns us about that: ``` $ cargo build +``` + +``` Compiling myprogram v0.1.0 (file:///projects/myprogram) +``` + +``` warning: unused variable: `i` +``` + +``` --> src/main.rs:4:9 +``` + +``` | +``` + +``` 4 | for i in 0..100 { +``` + +``` | ^ help: consider using `_i` instead +``` + +``` | +``` + +``` = note: #[warn(unused_variables)] on by default +``` +``` + +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.50s ``` @@ -593,8 +1264,17 @@ fix`: ``` $ cargo fix +``` + +``` Checking myprogram v0.1.0 (file:///projects/myprogram) +``` + +``` Fixing src/main.rs (1 fix) +``` + +``` Finished dev [unoptimized + debuginfo] target(s) in 0.59s ``` @@ -605,11 +1285,29 @@ Filename: src/main.rs ``` fn do_something() {} +``` + +``` + +``` +``` fn main() { +``` + +``` for _i in 0..100 { +``` + +``` do_something(); +``` + +``` } +``` + +``` } ``` @@ -618,7 +1316,7 @@ The `for` loop variable is now named `_i`, and the warning no longer appears. You can also use the `cargo fix` command to transition your code between different Rust editions. Editions are covered in Appendix E. -### More Lints with Clippy +## More Lints with Clippy The Clippy tool is a collection of lints to analyze your code so you can catch common mistakes and improve your Rust code. @@ -642,23 +1340,61 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let x = 3.1415; +``` + +``` let r = 8.0; +``` + +``` println!("the area of the circle is {}", x * r * r); +``` + +``` } ``` Running `cargo clippy` on this project results in this error: ``` -error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly +error: approximate value of `f{32, 64}::consts::PI` found. Consider using it +directly +``` + +``` --> src/main.rs:2:13 +``` + +``` | +``` + +``` 2 | let x = 3.1415; +``` + +``` | ^^^^^^ +``` + +``` | +``` + +``` = note: #[deny(clippy::approx_constant)] on by default - = help: for further information visit https://rust-lang-nursery.github.io/rust-clippy/master/index.html#approx_constant +``` + +``` + = help: for further information visit https://rust-lang- +``` + +``` +nursery.github.io/rust-clippy/master/index.html#approx_constant ``` This error lets you know that Rust already has a more precise `PI` constant @@ -667,33 +1403,51 @@ instead. You would then change your code to use the `PI` constant. The following code doesn’t result in any errors or warnings from Clippy: -Filename: src/main.rs +Filename: ssrc/main.rs ``` fn main() { +``` + +``` let x = std::f64::consts::PI; +``` + +``` let r = 8.0; +``` + +``` println!("the area of the circle is {}", x * r * r); +``` + +``` } ``` -For more information on Clippy, see its documentation at *https://github.com/rust-lang/rust-clippy*. +For more information on Clippy, see its documentation at +*https://github.com/rust-lang/rust-clippy**.* -### IDE Integration Using `rust-analyzer` +## IDE Integration Using rust-analyzer -To help IDE integration, the Rust community recommends using `rust-analyzer`. -This tool is a set of compiler-centric utilities that speaks the Language -Server Protocol, which is a specification for IDEs and programming languages to -communicate with each other. Different clients can use `rust-analyzer`, such as -the Rust analyzer plug-in for Visual Studio Code at +To help with IDE integration, the Rust community recommends using +`rust-analyzer`. This tool is a set of compiler-centric utilities that speak +Language Server Protocol, which is a specification for IDEs and programming +languages to communicate with each other. Different clients can use +`rust-analyzer`, such as the Rust analyzer plug-in for Visual Studio Code at *https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer*. Visit the `rust-analyzer` project’s home page at *https://rust-analyzer.github.io* for installation instructions, then install the language server support in your particular IDE. Your IDE will gain -abilities such as autocompletion, jump to definition, and inline errors. +capabilities such as autocompletion, jump to definition, and inline errors. + + +Unmatched: NoParagraphStyle + +[TOC] -## Appendix E - Editions +## Appendix E: Editions In Chapter 1, you saw that `cargo new` adds a bit of metadata to your *Cargo.toml* file about an edition. This appendix talks about what that means! @@ -713,12 +1467,11 @@ six-week release process. Editions serve different purposes for different people: * For active Rust users, a new edition brings together incremental changes into - an easy-to-understand package. +an easy-to-understand package. * For non-users, a new edition signals that some major advancements have - landed, which might make Rust worth another look. +landed, which might make Rust worth another look. * For those developing Rust, a new edition provides a rallying point for the - project as a whole. - +project as a whole. At the time of this writing, three Rust editions are available: Rust 2015, Rust 2018, and Rust 2021. This book is written using Rust 2021 edition idioms. @@ -746,7 +1499,10 @@ made. However, in some cases, mainly when new keywords are added, some new features might only be available in later editions. You will need to switch editions if you want to take advantage of such features. -For more details, the *Edition -Guide* at *https://doc.rust-lang.org/stable/edition-guide/* is a complete book -about editions that enumerates the differences between editions and explains -how to automatically upgrade your code to a new edition via `cargo fix`. +For more details, *The* *Edition Guide* at +*https://doc.rust-lang.org/stable/edition-guide* is a complete book about +editions that enumerates the differences between editions and explains how to +automatically upgrade your code to a new edition via `cargo fix`. + + +Unmatched: NoParagraphStyle diff --git a/nostarch/docx/appendix_a.docx b/nostarch/docx/appendix_a.docx new file mode 100644 index 0000000000000000000000000000000000000000..075c769685d274cf01fd5c60b6db2aeea2511428 GIT binary patch literal 36761 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ℑVA}D#NMb+bEGgNe;Zypp0)ke@Z7rMS_G5Vb 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 literal 0 HcmV?d00001 diff --git a/nostarch/docx/appendix_b.docx b/nostarch/docx/appendix_b.docx new file mode 100644 index 0000000000000000000000000000000000000000..db4ba70fb3b58e82fd8ebc9563d56e3d4ec23b2d GIT binary patch literal 50219 zcmeFX^K)cv*aq0KCbm5>Cbn&LIB_zuZF^!(tcjgWY}>YNyR&(}Z>x5<_D|S7KRoqR zb=T=ScR$y;aNkO@5Re!EXaFn#03ZbzMvmE)fB^tTZ~y>002W+F)Xvt~)Ye&F&BNZ* zNte;x#+oD_5}Z000RHv;|Nr{`a0ULQj4AXnqliCAy^HQMSpL)`2~MxuCandd*oOG& zHLKl^yfT*p;!pe=fkG?q;f_vov+fm3Rhu=k&{kT98C;UZuxugl3s>_bsqrqbqjNo) zQ4>p9lakgf&j3IC+|tvV&11zq9Jkblei?j5-;wA5{C9ZEoq@$)=N{ODz1(&ME@ouILz`X1VmW9w<%!$q!4f z%=d>p-UP$rY^5p1dK1?y@T*t_s>kt1_#^i!Vd}T#Haj|6NTppht@NCXs>mKcG-Mzv zi2R;+Qa$(xM_qM&-*Q|oOcN$K_zb#V3_?NW#O(j1GWQAF1B-{G0W?kq!CL*{rz&_h z5r9?U30pLbY?{$Q7V!s0;P4y?L!QW8!~yc01aR_JoG?n9sdamMq@HLEjfdaOIwCyP zg?BI6aA7KlMzN&LJ`bo_pf1SQ&u>U`d=KtHHS0waU_A!4Gx(fOTn(0tp?ZGKfU^1Rw!&!lW)sdD%Ut6|Z z0)6l;FN5oz7)p-K&LvKJI%P_@Y$xenf(fMl&^UOi^Eu?EqYQ`s2%*oAzU2 z(Naps3#N=;yfc)rbrRPX{+D2FDl0==Z0}~BZok@TVlzv$CCvjpo;5QQWoEol1w7t$ z`^>3lL09oWL`${92$W7RTMWnM-wI!J7X7{FBbfd{?45=n1;)EJ@5}dvEG-a(})uA5wlBXEo?b@=C;yvM`M}`hz)UIYR@P z-sd5s>GR$X^Z@cCh&@!rGDTw|lc~NkE8wjDuEo*T*(xK6&haoeX2C48%hox;D0y>F z+u4CAaegYGFsK1(nDl9t(oddJ^zPe8>~lM(5w$Ck6H8~4`TX>5q)gI*C;v`ioI^a; zO@*ER6IbKaR`{=o@H-sbCWDMX3-yD{yk#+ob}5Noc~(M_CFO+&SA({+NfSk-w)Cy7 zv}Z$tYxPt~&`q)cM0_qwy*Uf9UYq%QcPFO`N zx2yX&E10RgQ8ARMtH53n#vv{lsvheFUb*s=LBC9TgqQmyfPj48fyWc8H-)9CZiZ@m z=n!~pDQI^?zAyh!F*SS!)lL-T=l-n2bnRa+`Qzd#zc@p{LM-bI3~Q`GW) zu(3Mwg1ANbG8A@Bx)1CC?cYsqX5J_m5_p4b1v(5z%IO>=R5Ed1X9xwOUo3tV1$-W2 zMlp8Q_S0xYIaR5Ld>>nFm+jY;S9Ph0-+DOiy{xWpN_kGf9E#j^qbwXrDWI)tr=j_) zwVY&XEUJ=myIi5uvHON&LVBj{>G!9$e`=RvBX0M$8eImh|7S6)UqAjcy&;XPK&^&d z;f2vzDZ3lLCvXcHc`k!%J?RFNB4axB@4j7}(CGDrVZpJa==gwP;jlwvFu|^XKBCRG zgqTWrYV{cWP7mmbA&JYm@A>^iZ{d;g_uRZ9ktguvxlv=mM^Ldo$M03LE8XF>d*$uD zRl@}-UzrQrp~tu37qjPToFj*!^c3tm``l#5%#9A-TkL>-SvA}EvL&O8U(>w z--i8W{b;iA*F|bip#DyT{Z*4bL$kj6?fBGpi>~ttUaVRQoQH}SJcFlQCB3Npy838?C%ZI3j)A$%>+ap!NGH49XRrAE8`8VP-})5L(ecfG`-&~g z8mM8r&|~!*=IuO9%})GGhMy&qpw!%SS{FHVyG}^V5gfYbk<@EG51pH5L(z5NB*tLU zQ^$*`dg<{(gUKN{uei)V`gAd|AHNZjNJJRpd;|W)wl8AnliwHT|5M%6mfrqPR%s`nfW&3q#tKM&6c0mO@W*j>o1$l0)nKyx5{518^|w#g;#qX z%S;-DVdSX%s;*Hawo~`I)s`8KRHgd0;*TDKisN%nq!@GNv3!Od_<>g&_O47WE>kKr zdy4dM#(wm@^r;OZ79^*&aS{2rE>Ar>U=JThp#sPi3ul|MV-H z&31KN?LHEI;Ed#!G?n8+TMQ1S;)m#85Z(aQ#Q3IM^lW}V8%eUtE#z0HETAUegh$%c z@%&TnJLqXJ+@6@bGu$4?YsV4?n&J0#UnRKn5l0yKqf`9;+?y+PBD)K`fD=^2pdF08 z!&Ac%WUSnGtk51-eb@8Gdh+IL6$oZ<#4A(Z*>`(e;0FS!jSy4y?TehEuxV-mdb;etRd)dYDF%ySz`Wb>5M(UdZ4 zw!%YJuG=B5Agu<{&l`ShUfJd6EWe?O;FqlJJG*nx}=xX-Mu3y^%gYy$td zd)rQ>g zH3lILE&r}F7OVckc0(Lx_gsraXXuj%X?!!q3mO@twq(53j2v3wk}GMHYF**0K(9Mu zRzF!qOnn+rzc{c*&@TvemvX4RuvM;4e!BnBrT17;#Or}Rp3=S*Or{k<8TCq!92?n{ zx|MCoy)qn$t|yZ27hyK$_I;6_`nBXfjI;U{3Igkuj_KD-^H1PAjf^&1ZluOmzZRBa zxqg>*ZZacwoldGKd#1$LVvcM)!uqo0EV$l7N zg@PJtovK-8xWV5!6g&m*f#OW9GhDUhr)6>j4C#uaI#wG8x}G!3Z5MOIUYGoYZj7=* zC@2+h!ugu;lE!Ogo;R?qUMgPxLL@a{;5NygM6=~+=4Soo)Spn)y4zJJQqe^yl8yc5 zLuu3-gqPWQj=K5FCZY#KP(-OZNgumoUzffONwX>_U1nBZl!}qDe^D}Gdtt+PL zNxDdibA)#)VKAqK4Fpa|$5vD_6UC#)p`_6m z5(#v;#p>1){f6*pFCxF}9Qn;IHTnsTFAsbmXZ7aLPw!fjA=D)X8vH07IXR^9?3`Q2 zS>hBU&tS#WxG6w>`G({EneClM9snx*GBX5rzP->i6O0u$2z0?!4c(lDr0 zaJHbx1(W(+ok`IVUcdyq73XFw#cSyYuk7bavv>Zio}`)dh5 zl(2A{!#8#Wj$z}?&RQ>FZ@?}Q*8Ogv@9F)QoH;@%%jX}&2m$R-?!DqkzBdxz;{D5E zVL7Va2qyaGOEdq>G?YK<64Z80_|!^!T#~;^$Mx2b`Ok52%@u0F#mCX_JsY$p2xr-KC*@@)a4J-7g_;#iuJGK&@_z$=@(YL;15`U) zTU(y~(t`omfo)RdyoE8x!9q6fk)TE4Xk!2UHYl9*ZchJVF**RARxG59fI*X9g(hFl zN8qRDX`Rx4Q<(vK4)0OOiWU0OITuCtv2lbqtSIyx#TdU86Pb{o3^F({T1~a{%oLea^ck9i;uO;h7uj&CG zp<8N{k+x#CT2x=7G>NEF2b{A5h>-|YJm4N&q?UUy()3J?bMIPm91^TAR*-T5)QG{q zON))>{9OWCwXtD&!^1aEPp|!9jRmNSoF z+GWl3fdF^MZRlniraS@Ll9+FoEo#|OVDV9JN8*gIjd7m#W9;ESox?ukAX3vsU7F_!6LvSJc9|66$Xr~2A>T$Nl9o3A7pz#3qE+^iI zZMAyOzMKce`Xst}f?tLZ?+ituIz$h0W+b%Dz}S|(h~>y%##-F}3Lu{+HXiUrWB!%S zi?y1z_8oJco?toF6NZ|Bb${I%LTT^M^{+^^kEG28E-yw0uTq&xU164!j zf^xeQZ8%UP=0qm#;uWs>A;LP{#Zam$OAL}ObbAoooljGD6sFcIF-N_y=R0Sl;6Ojf z(Iox~d_CZMnE9|TlqGhv)gNA{45?Z|2ZU|g9^FeJUnpO4l&=E%KpF)D%a-$zI_~k8 z7UQ#T@nP!YyrQ)LUbEo5(e3~>nPLm|-$VuW z3xg7u2`_`Pe-|}J+9=^%X!d>3NzFiA<1N*vl%2LBdAcI<#pl0a{yhQ@xF`{r5K0;j zY%uhQs5wB%ooA6r!hQByIB;AiipKd~bLoT~Vp9Hs>Ml0Qr; zO0!iu?><@;oLV)lThO}PQMocfA(gF+le4L~N5|^g0p0Sv>F2{V;ey@MSY5tR{q5D~<9}!Go=x$bbik2rD9IrG=!3P`!*jkt9>V*uZ%H(+!uK6+0E0W(%maDG z48&gY#Yh(93+fU1rO4};AJUY4n(cy2hu&wgGjIQ+WP#a z6K|}?RA~am5*KK;MIqc6G%F%4*M_m00GC+n2eOnOc;9=#0}d$XB}o<|94}xl_Mgw;BSa)FleGZ{O3qd zhF7L#XW3`!lahFUy&XQBjaZkylyF$ei{JYg*)d+%0iq_VC4Df?U z>0=>L8otH%X7H#(=MQRY6Gglw5;Db7tbJF(Sn_&p2$);ZE&j2OgRYD*#8Jki$R)Ps z#`=Vu#BRUT9Ui{3k`3|ZSLH;NIkB|u2=4#&5OBFwCygEkJV0*$jkZiTryb2h-|q-o zpsS>ap)sSc{N9q!GBRA=W3CDwg`$2_&`lP5<8C^SaJ$>#9O+Y75yBz9z~WeFdDj%T z20Pa^psnaaeZU?=hq8ME&uyCx-23Y{U~&R~4mnJW@+xJ{aGCaB8q_Q17PSZSl+Ktg z;f!`N=y(Iww6<#79RIIUwe3ZU))ZPYPuyHTpx{`NFbA{$E?0a6Ox3u{b`#pWp}A$7 zm6ajB>{+cJ%n|hPLxQhGOemFU;$gWQw|V`Uw5#hU4hVzY{~cr){R z52%=9zwVbCLils?MO+21d^+*`#Z4J8=WeKmb>#N*jFQ8oM2#B(f8rSAUH2JHhY|^a z3lumz5F5nLSsN~RqDZWzG2$pJVxmxYoPw11bLad~?yQD;ZXm*Xv_k~c$jhDGsJ1U& zIuJ6QQzKg&kiy(87duF^ad50-tZqCSx{#J>uWIx4@bGw{qq)L07@N(n69m1_eS$Q< zqaFXq8?rWN9#?nXSJ#*7JR=F@j3w%WE?`zTf=fh8nMj010S_LPEkPz->8{$zAC-<| z_Idz$!~dHY_TWH)=tUJM&`Oykut7sfKoy>HiyfKTCaH}w4=|l+tYbD+ zTzG5ynD!zqL3s4Qn4H^2Pej|qXQrX=Uh7792J<~V3gamn{M1j&A@$_GYVQ2@evK@h z__kn~WKhwpI7VoMzo9I6{KI+Z=3Bid)+)0xK65nwu$4E80%az2WO)MT^!8xJ=G*3j zRK9(sTOn8$sOQ+FDAqJpC&7pBV(i#n8J7vNG-z z*Y0reqZZ!NFaj3x#)x>c!9LB3h0JOn)VLz5FjT@x5yRc)e4we zCIt2A@y@dV7fJ{$pmI>VA+F1gb=REuQekg;+|Lr)6@Ag3l^+j|mSztQsyV3FTcG~( zMZFcaJY5s-Vo3sXHyhSu#BSVZ`~qhEgazS0%;!EzLg^J}JkLO%?{j_`Gn%8{jT-9M z-d>77~NK{6pRFrExOTW~IMK9Mu}f_1QDLVIfBF!P;m{-89HJ{QD>7fABE8 zWE-lLvo_eijOX1kmer_HWdC1%P!=N!dwNx|+2B())Kg4?xC>hXW|>Zu+0#!E!-C>f zTX?~cxjhG+ZpvwEBxngmzBI@};Y{2~lrP)hhTT8&EjfLYxi!kuGl))82%+1GfDh^{ zau*G7h1#wt;KsD&?*|8&lB!f(Xg!+lWd4xs2tGC4HSWgxIF}@A+S;LkF9eCgj`DZr zN5Vqha_mJ*#xJB3=-f)4tg5_WO-u%eOoedehDs0JiW8ZK38YZ-H@%=b=*#p+ZgzQ% zkvzE+ayDtF^#;KR_d~O#1eE6#mQC6Zar!laaKh{-DTr3`vKvp{hPpDOH5_ zyfL%%H$l`vHkkn_gXjr-x`jjn%t!UA2mIH`O>vUC`~Ty;(!Q8=IDo?%f4-LHdAwY; z+YI_rdt1RFykI3Cse2=^EhGbW@1KwXzAYI$L!T0@nM~$L z0=rynek=522>IdHe$avbxkZVNwWX?BVG)^Glm|T7yG9Q}*w8WmxfsuJNshQOwb%^A z83z#Acqi6pz$4Uq`eP2}Mv;Qcn@i1GD?M(oMHaxw1CISvINzgjce{+lH9KdF(kEUa zP)G9@wt)rTsS(dS%ZQNrr#TJ$n_*oVj~@wqn{d@Lb)?opp<45sx7>mw;y^Alm)Dm? z{jor7R7ZHa;vot}?lyx@f1$Iy4)tusmqXMRBT2)RX7wI1p{xEaFcFUA>*yDdiE#{8 zT>_zQyffvNSD}_IQVFfKs_2Q3y(jk?2%flkH&?|Mf#S+H0gT9e|LJ1GDT;x*(-9af zXSce?iGF1lb%vx2|vE2XKZ)C(ECiGv>dZ>hKtj3+Dm&@ z--bhl_O`Z;Tu2YSgo!4|4Za=NLagvN_<5alI97A&Ah(A0Nv|wBlJC!Ycb0+qEv_C=YhT)H4Wv>vkN0d z2E$Ky>9r{G1@hlQ)<~lRq+k4&K-Ax#6&Y1_-9gaT>CmxF z3RV@w^KbA(Z><2{ApN6Bx&6M;4%s!(P+2TEx`J!%iXI{eJ)9`&|5 zuOyHd)`WuB$x|w7mCQOd%&5P`F)Ss?EkTcD+fXu5bt+eZ+}u0OE@WBF=#{a~H-P!Y zL)1xRB+;O%NGQ30T;=dySAsoA_nQmc*XB=E5hM9hDC!XVyE+oZZyxaQi^4?Sl%nHg za&FzXxT}!d$O+~EtlUCF?KnECs&XVTn})`>gGYGxiwmz(Lrk4u0;zczs`|D|qv1SC z+O<$at$ZYd14hrF!T^N6q;CDak;B%q(>iinuy=-M^s(7097rZ~A^NZE0)>657PHI) zD9lIBqR<_>W(Oever5lR#*E9P9=9zg&j|39G-Jw?BDPa|~H$e>g9Tl@|a_`b3&bOhy~a@d=~ zM$Do^u55@5--?V1Kd1(Tb#{JgBNa(bYfX5o=r%r>$7*K!|KVQZfMFJfp`zraA6Kiu z|49dNhfM!hc7m>nYQU`1IdB+uEg5mccP%Z166#++cahKybvM{eF@NcN{X1lG4No{M zGX$I8>8eu&q_ELh48Yn4McalS>9qoOhS{&hpwIP5A24C9M~3>d&kdBrdY=EpK_Fl> z$f7Q=1M}dUGmG0Y35$EsjJ(9iFX!x#2&OJyqlJ$qjn7+)w6xxkW52e=|zEWGa z?%azQtXGmbM)TS|egMBgwZo%anZX9??pa~q@ptJ=sd|d+7dKz5er4TpHA|wYiA8(0 zEH!f4PFCwSqQjHU23tpQKoCP^RrFIK_J|Bq$9-&7 zC?$wb*XJMEs)Yovf7WcICECUi+}T2TXLKKPCvszBsAa{XF&3lJn9aA%7sX&S=A*q} zekp}_B^=T(>yi&c@qdbOeC)y{*pE{8-eSD?J`sm$a@xj`Qt+LJw_*I7HD;;1znKS5 zgtbc!sZ?T(E?c|d&1~VpfhgePyeCKSHLt8DcC2~x9J~>pG6F?3x(E3ssKLqvroJf2 zjT*I8pD&F|@9aq&>7fQy(zm`ijdL&aYFiP8wda}Hyy*JiM;MEo8BjX$kyk6WZnpuwlD);33+0WB zQq`v!3cGKQBpR)_|HoYL2GIkR;$-BfH{$UgL?}e(3uU z2|}8C5jv3$pN@mAJj;8WLx;U#sKb2q=3}2|(o4=$=aaYu!l!1YH#(?IP4aQ()%$nG z^e@BaVFa&nVcs}{#b%Z<-XP5!HEJ&yUXqgkg6U z{~q6Ng?wc&J{NcGJRdG%2RPp~!;)({r2}i9j|e~aO)=P0fyr30^$ve#$xutFjXX>T zXyE3>AzLN`vLIcHDd_PBbYu#XqgQ4@KbNIBHP)1PahDl@K_f}- z7Rzf=lbZFJE$}`ggS&RO=Cz`*fg3AqwAC*&vHcuFK;e&+an9=}F4g7kvMch9ETfU8 zI1-mlrs{xdiO9idrizyE#5f~;p`F7Rc+%B74Zf_Q{aBsB=wGh*-alRG(_My&n$1%S zm64WzsxkyQj~DArT!-t?P!|xRPjxC|m(@}TCB$Uu;?rTY}A;vLo$h{fu&|zO9sbQ$O&)d#^#KWvaZF&i*OO-4I)^?r5!; z){wuQ_^VRs@961Z@VhaQF}HGvDY?Ua_=v*G;nb9G+$sAc%u*p+imUGR0NY>5v^_on zzebTRZ;^eCZ8m=}l{PRD=dx00RMDCbXS_qz6iD(*j(u9uNV`JkL5Us)!S7;?8|3px zTqJ!x-UayAVw$(Ism9(0PZeEfFP5@BW9h{tpCi|%t4H6&jQ z@0{gJJ7?^cehq}t?_3yI0NKpMl$M+$LVLowy!mlHA5<+>uz3d;;e|CDzAe-Y%oyu9 zJ4uMW%?z1nNM2(2{0gYu&$;9Ibef{=D0#S95NMT864;@k%*2}-(^%y>^WQAw@|F{0 zx^kZ6%%_UeFWnyM62=eY@DAljsts~+@&d|;TZ7q-##Y^~tX5ooc+oI4>2Lz3)}(;d z&bnw;zRr)XP8+F|mH0mUCv*iDEjI!lSBwh{=f{rXN}V9}7BN{2fUG3ww{!uV9Va>C zky_-gT*Ww#k;NznRi4eg+HL{KFVWy3UWCR_;9p|?og=RTwc2*b8Nx|WJwDp6|uoI>3nAEmWgWtpP>e%zN-VVdIcz-p}r82ykPPh^O ziJ*}>3@e)7L)pHNZFbs$?eSi0Ccywv%viPxTK4Fip3s`M%+@ycx2ncaq-0Eu^CT%A z-Fl+2XdOlBqjbD-OG=zI>G;uR^IF_Fb@nFY0KN4N)c2o{`BOX;pV8T}-WZTJQg`M< zO6qdEO4#}JU*uV$c(G9!>Kv_oFGQy75#@W5_^;*SZS1xaj2TMqtk$w7vZM$&_|K|* zP!GwIqgoNT@vqVK39EnjuHo;%^3!gib%2L^ z|H`+kk1#c(IjzSU8`|ov@n|vh6)!r60@3og<*58+23buu?MsdNbNF{>49NGqAR5`i ztL2V+f$Z0Kl;!^4vmaf*XE*vhNd+^?(}ep-NeIU@1HRHDt8WEn2QCMG^1$@o%{HG;5tHc0ZL=9*ISsaYw?j zmX+aheu51mlB_c4M_xFdNtFLKU)l-yns&PSZ=B3atl0>z7DRXQEP-4yKaV(juV6 zBt0kBD;!)5SucO>71*_z$9+V#>m21@qu|Q8FE_?_s86K(tGCc%wg&lRwPkKgD(@-r z6K(41RsG2K0d3Bm?<#G81FrcY`}g;cRWSZ2FQBgADbS@wlJko!UuoU;8VSE5r`Dqp zoziNSo1bGNRDb@R)MQQRU0gL=HoH%W2(D@Govm;2S}$(i{<@G-|8K&ig2a*!>t=jn z6{ss(R2DwHBn^Q*CIObwAUf@gtmnd@QZSZcs)3ZA{Z}XkKE3zX1z=kie7ezP?- z6C!4}I)_zi#OVp%cpc!rO(;iYPE3tEZboG@Uzafc7c{*Ff%+7UrrKpv9pu3a^!d_K z4Kgpuf1O!aymXOTs?0G~(QBNVNT21qCB|DQ4)U=FS{Yr}S|=%mT~a|(=A9>@wi|?+g&PU7r_n#_^lU@e8z6WK2%|t3*xDdB`t~P^Ddn6C zub$e}*dc0whlW@1;NY(yy`9kh0jds0v%@*Aha4ub(Y^3(7B~C6^>Ij9pLm$NTC28ryct! z*VM}IY7nZsdGImy1A}A>fpk3dpW#(4_`C0{iUBa1Ny`tUUc2Xi#G8-*EMTifz;zff|Oh*i@dj2LZc;Dfd z6~UkwisqOAL|`|B@34sUK3K=u8O@&0+_P*IWp*y{S5STCAogv}N%zGc?-;z__@S_cpEX7eVj~l9dgk>Nd0sir; zLugRqN1*JYt1;oUDb&M=c^-tb1@Qq-(8xtDi%A!@)_XzN?u%K=fy&>S16csKR4Mp* zAM2cF$*JL54xAcoELK?x_RjjEhL4}TTP(9c#RuBz5%ztshDv%&rFOutsKnQj1IUKk&j3u#G=5NA0 zoc*~~o05%oB(0zmq>91*!_wdk1{}Cu7NG&1w$>nNA@}lG?^ekhv$y;L*1TXODuqW%H=vlNKAPqAfQWOOV#8n~J4T zoMUkjyUD!E>T`04w{m%${TW&Mn6i@m@o=+;k8mC)uemz8?Hd6YhZ`@YI_GiL-IW&a z(>Zh|WW;40btNdZ?WV_%)>6M71!kBQ=dO!7+0kvMrTb~&j};s4s=VN&uV*$`TJAn; zJhTBp-?svMbnR|`M9C}X48}U7tE&v$%ljqZ@I3PmZtfFrI58g;u#$+Fk^B z;Ee99l#_h7j=WmVCBtMoNX91+oJb1^L-p7TcFYZJl|wxz$v4;Q_7ieTx_+#1QRzi) zWc2CHA1TCraeX0?vaKKO_};dd*h-W>bq2$4LI#6ch{ zXVCU|z&)2@#GTC>K!}Y0naIjl;s#LHxOpCGL`g}ha`YH9=2QT6QuDBuRXpw>29C5Cik-bNSP>WToSril&l414{Q2lVjTjoD z)DssG_y$5SReyID`t0z7Hoa*Rdt_|YciB!Q2hT)_sOpJu#d5gIkh)>nZiNvA-B{E1}y8*ruLb@E2;E{?w zJsBzc{qxB0-Fs47R@x+1qEXs$TmN7A5IOWKcCjmuIE0ourqO2_hN>qdOcR-BYA zJD5mWg-fGwSQ=t8vp?i|-%?dGmj~kDa>!>o6Z%}ugs?@!xl0Y1_=gN$CQYg+-)>5T zu|*Ap47zop`#Z%W&e+7n^ob!JX9uR?A@m*L^Nc6DU>29Ey=V-FAL&S`hw4GeVKF|S zW^x>byzPm95QxH`$o^y`v2voQCoo8Ti2Ocp!DNFXyPy^Gcdbbu+A}*4K4glkl*xRyH9rp5oCM~o;=16xd zVrl?>_=84jwz>IAFWe6t?XB)G*R3+QGs)!03Re z4ojXZs39cDLbMj~GQC5LgCPIi?rzFy!lX1uIBRPRReKM^vX-|E7Wvez-$1Y*w%`m- zQSWt?;dtUrA9KBy#}9EXEhX(&I$09%uI>WM7`Vt1k)BreBDwfTn&ZF1$+_yz!`H61 z$8UjH$$r9Q0b)FqJoEMD!+n#4$lXFK;{us;wQW3T&uQ)nlE9Q^%-I1kJJGaY0zWWoxCkj5p{#?ia2+W=%wn2+CPTZ7c|Q(`hewH;8wISsG)WDYX#+ zScJ%MzaLm{@A@Udgj>6xr1g5 zJ+`{ubHqWRuBhHWZN-n4qE_+-dP`SoB`#7<9pZ|=U z@_V}Do6Hvsx`hIf+|CeT6AyOGytRih>dy&>EBe$%Hoqi@6%P2LbJ1O9%=D}?&+^@5luZjf%- zO9m%Y>W@+Y%^87F?-EAB@<&1Yy1SPHBDso7T94^Dmg>@o%MKtgY7O7I#+ELW!e8|s zA^rl+m+D}d$dhs}&)w3b^1_*LF;z4xuhg{?DkriPm`QO+RcxdH2oTBYsTYpdCC=}Y zS;|ak^lFf!s;xf-M%Co?Iztvz`7(S)^V!x=$_^T##9p4+J+K$m{rpU*XJFNMp4GYKHqXa zKYT!2zKvUB0RT*Y2ptK{xas(R+Zg`vyl z2h8~;PT>PJrobUI&5)y=HsrYz=O*@D(viC2QH|=tHksDX^tlgCRx}5-knz!lXKsB& z*a$G?RfzNYABbsdC=75l)l9WB$-5>uW4EAY3W5h^jb22!WTWsm?z{DG7aQri>IP89aRm z>?|kf!9$=!{$es)(t@02IW88_!RAoqr>_?R4>rz}v#l&OLyWswme=Jb>sNP--T1`*ze2f9FHtu!Y?qsA{C| zsJ>_@d@UK%9rzkIXyo-OAa!#Aw3I)7y~EZQ1k8zaFD>uyldKAr<1^_c8Yu@;@Y&Vq>fnL)Iw|FE>f+AW+clOqKT_b}wJ@|^J zn8DFc$f^MXHvcp!A1POQey7Ynk`;&rS*49mXaYsNmn&hvo#MLB17cri;lMdo$!WO# zMzg6x^ncxwzT(L*Mp3+dASZf|gUMZJm?$pLzxfigw#w*0x$+8H8R%t|8ARQEw6b4LY2t4`S34U5=KcW+>^>Taz% zT5eZy#=fWZ-}_)a-qYyiBl6TU+rm6vD87eLs^~5mRDB5kyM8B`5qe#^48?gvuYQw+ z@6?F=5lML`vdd0_HeG#Wye2!?H!h;NN^ox_`BA2aaI9gVb{ASM4>5#^SSc!5q(9*q z9C1N{8~nIK2{GX*5ZZD4&t2zvKHpFy6l#pU>8D$8AB|djTB~Yv-3yHGk{^~mWH=>+ zzhDxWL(t>`&tx=tX{ewMQHba~lx6^tu0R+Qg&>dnja(0SU0e- zJ$PaY;-vGiiaXUw)lsBVb}guz%?P*jw!a>x1izS2ZQPcS`IXb_ZgtTe{vYI>^K)&_ z*6w55wr%a$w(T9;w(T7|JGO1xwrwXj=X>gX>(ssHKe(%Eb@iOpKdf2nnO!})pYa(E zeiv&VQd~{jeJf~~1A@bmj~y{#1*DlFjb@J3_`czDBx3^OQy0x#v`iDUgeFRA{52yB z8NfN=E-OOrJ-DT8XX~3{wZ9S78tw5|FHWh79MTv?XoJpwc~)Rtsnk#<)M8?)zdOB= zJ_%Kf!IM&P3*_Cza-#bvY@Af#&%L-K(d0Me>5`4azo`! z;Yi(??=LR@ z=uy6*eJ1cBi_Z(?o76>-eW5gPW4ezolLGo$xzXUIjUUj$;q$uxUV;*|yb(0|vTA6n z8)LN`9X~C{Q!PoQQBm_c5R|;oiU6#qIh728Jan+`;f;-bP7UD88U7+2;(Khh;IlLGg&uNe{uA>l#!~4iaw`|FLw|@v2 z8!KKqwUGaf*?d4}KCuP8d2fx+nT5r0;8tQ`Hv3O;kSCvy?CT1ie0b+~WI%#G=u z|Is6W2S90qFIcqV=#!m|0o%y{@k0e?sZ)S+HS2C3s)P=yl$!5AvDUCpcpmRq?V1@) zF9R~(`S3LGtU6hfpKIW@hzWeUKE!Zxx%R^&gmHlPNQuNffLJ+YF^GB0*ak? zq_!`pst6>}B#J(i+OZpwdvF6=*CH2Ht2O&Qnp)Mm9^@o6*o|3AqQ-}Rl7<8;N3z0g z*H>u1f2b8-F+)Cg>iN zd`BLqA5)#Iz$N=U{WgmN#7UZlnfGreUTSrI+wbsg)Q1$GSE?3iRhb7L*QvxJ2wi`M zn4Vhq*FMIS9l8yPShKzgSnDvHjD8jWR>`Vb`uJ>}0zdoCE`8SHe}Q4i2hI^|$;+cG z(UfRxqP%B}H1QYZzY7uGdSsBu2oTJ4#P)Cx<)+E6Q9?#o}Gb&Dt0>%fP^^JrZQ^`+yUd5e1Rkn6*e&&HV zp5Jt6U({5kjJQCS@nVj=a)`rzH~Qplem&Oz>w?+SebX)fiHi^?@qk2n$n z*cT$H4IrVUU9F8C!|j7k=f=9jNN0#}r-qZajUv~-gM3S6VlUM~g(kE1L7KmlO;=;h zEFOe9@3Rs_gTrOSF?tGWG$kaaGE9QgAtRvz4=0u$Ar^}wFYqvrM8Lr-EWm!NF5Km# z{0zD$xh2f7HGfP|1wA!4SE<%$I&~Ke)i!sAM4?Mng@h6d#*d$$v2%MCd(Z7iH!JBY z9mGig&75n+MH76vM{9a4SOFf#DUT4)oI|j)@^FsjGAxgUQ;TviQYtoik9px9Rbh%S zgcA&mV_Wx;v6v30C$gDISC7V7wCF6`fwHT(_NCkqfrVQzZ*LLs(Dd6qF|wR6JIBc$ zl)Tcd*m=GFpugJ<`E_7Bs!3jCaU!FkKck`x7GgY={kpYnx+Z@E=H7kZVsTXEuuw_5J1G$4~mM(n6y158|ju-dYSZTdYO8D=!U1w2lv21+^& zlqK56n(eT#m5EECsjrQGvBlHmEwX74ksilcaK}mNW&`K#k>_rPnAz<*WPxX%PAbma zFeRV(Tho3;M|-qhJ)$e`jm;`;y_F~XO;`8#rSZjuUr$+bmgX|W^;4H6CFZw zp6gj#rK{EEoX^*I&hpxQb|lZk9>)VcxnD{1)UnY<_r~B#a0v@pF93{>C`FthAF9NK zSBGO2GdzO6C3Az&IrR$sIH7x#EF6+=Psodh=;pZSEp@azy53mTU~q8|j`N zhR!k%8@{bJ=T=46cGm~JKuYIsLRcb2CDW304gG74{Pm)4Ef+C|JCS z{u&jLRJ@dM3WC&hv;k?S9+n}#?=0|)xHzY30elIvZJqEjFCIvuiF^@6!R-EVKtNO5 zmH5N25Ziecry_9{parVFNKqg>DJaOWJmq-O;GEQGARB0#5W^5eeJ_STRB)8yUkW%f ztu$nH00Lpy;R6C7(G_r|<;tpW)bk_Lygf>i*D;m zl!ReKc!-LUfKZFUn60z(PlwRpj15z{;-8*2h{QP5e2?OVLh7A~AVvQg>ehwKJX&V~ zRH<%tKqmwdp|T7-s1R?4hUwt z><~nO6Kjk*0AvSVqz!+Ao|Fcj(HT5q-1Ob!Pd$EbJ1R!F&}Z^L9STJ0An0Pk5Udeq zAd6PEAY^+HEdZay3~)yD^4SIfm6nNqgsv^#DGqmo#;!x9*Irv5hkG}nTXun1AA1pT zNYaJn$w9n#LWWPGSPcFNTqba!wChco%&<$+Mv3(yB*`YVPs&sfR`UTN#){UaFQC+t za9Y-8f#)TD^*IEC{3*RlsC|?fv z9_$w6Fd&hY0}&RFO|N?+)t)M7w-4b`18muz@)pZ@Xaqwrnz=8o%Ls)!PsHM?Mqj>= zau6g%kd)y8xVtS;Qa`_u$1d^((A;ilcb`EsU*0?!*AC1+B#Cf125|!>db-D~W3E9?GluwaEc_8#TfFbmkP1a; zh_{T#SiBR}!LSzz^G(vxLN?`e8XG46!#YSrwVbrZ+=1Bu@Q=7SuMAd%dZ6I#O9h|# zW7esCrEgaQ774yf1&=aW>GKh@;k`BD7ZnbcQ6)IhH{=k|=crv(vM9?eXeu)rr{Z$02Q24xgMxx=bXO zg~l8{8;*H1mNv9?m%FP_&t)(zzFHJlikk^Wq^_+`8&QB6k<(PwQIisyL1ajj#z8=; z2T)E(%GgCJ*@HHhvrxbNzpcAA==ez+>1p>1Bk!k6*K9iu++n?Zo9+u&Uwm27)a``a6*}Q{w}uD1ky02mrM-PIKk*G(&$h$}+uUX{_C3-Tgg5 zb8`gN_)r<2#(d#{p<+8obZ>bMAY*2jKwhdg zOx8fUGCT@A&^m=j@p=0~>e0!e_-WZfeiAejxEqlXHU^8Ja_3Qd1W^=PwB_G)VaW&!T8!?N?fLN zmCSy5h?!ceEhrtvZm}{fRe}~S=rU%qwX437xeJ3OLFhEdkJ|sZCiV6xzN=ZTtFF%g zh6d?fmh$^yj%TVn7GTN@r;gM`CLeJpM=R@NL8i>jCLaEzIpR;#b|O z5PZoL#$p9}1w78QwL>_2e7Wu05aY zfqQg^w4BK<&CA*6jQX42D(=GrnMI^#MDc>66#6n(Ua|oW*$rLxdqde3jBZgW_9$`! z=8e}h`xW}NkJ__N zeP>Rz!M#`N3c|B)S7gYWW%sl_h>@DiK+FI%p1QB|<(eg#>l_dvRzg#C)LYv5Y8SYW zO8@Rit#{g6Mc#-HB;lt#jb9nm)zB6(#@bVHXsrFtzj$9eVGl&s1k~XZ!Utxt~a5jocE0<7li!Q8T&jD7@=gtg9NF_z4{>*BY4@eHi7R z!-N$JG@uEQeDM4(2Oqo6u#=nbPt$vpbO|(JrZ^MY{*h zk@m?Qmmi?B-1vO?qm&uxF%2OOx6x@(nJtJL&_Fe45wS|%oXDj_ah890Rnt5 z2G$xvI6QBUV+;2h?$4&iWK`mdYHzJ#QCY)To_Ob@e4_|ZDf*lFoMNN$9`yqs^Z8>H z4;ffMgr--`@$GvzK687Q*CC1NNf?BL``n!cdO03Z_%v{O5bd>Ux2wUVkm4>$PZW9K zVRZOIm6gv+uSrK95fU=UL-f+Yyl{RA~`)NDyAIF2?eO z^2J5TDD%BMkl~)EBRg^LfVcFbW=?}Glbd9UQgkmeI2KFAe1?^snquDrb(b`Lv9w0+ zIOLmsUQPu(Lv^YZGk2ByTdIsyYEDEYXftRhp8L@grhuIqn-gJ<5lG9>ywX2TYeWc zjG=nvRcuXXq#b~(29CPlPpT#Lntj-DxK&fTo~cV}*d`r-B2i?aj%K*i+)SLtBde_B zUa&isi6CkDRKXW@58;|gmW*BFBJcoYE$Xu%rS_5`E8yDT%v=b{&^_27=q?ut^v5X; zG$h^vN{e^AvW&_DD0h3OvGm!zq9xDSnOpCN4_}}2o_xRlR_&6|DDr%NMRw!+M0|OC zY~F+Gwcgf+eSelr`@BC&vCE_SPj~q|3@3_BcfEd0S7#%`DJIV__SjUNZSM2!PTav_(Fh0oIKbL zvJt+AWS8o=bkt`)ACsc;&_@Be**Ew%Y<>7;gtVO*dHaeYSi6`mB`YjxVZ#W)0Vg4d zqVV~JkPxo!S5nGHo0NAiDL$1`Xg*u9Z0f^lZjy{rz9maYOOy_jV24!KYG?FXX6uS= zVgVCU84xqNRG*|xM}!#EuxzybM8wFsx(FR9{7@e~r#4lXlQ@Rhrl0s}ekes&B?^xdVYSgzx}#NqmLZhsmQa}53Rcf=nU$Y z9|!Hq0JQC<(AbJU7PEs+`WJ0)M=p4zsbSciln>U=hOSy)Fi-{~lD4;?iW9;v%D_TY zki2PyP`D!9?ra~;FZXj;4!$HEOIbWB!01If_=`KqTLb3bMy7f0xmggJvoI;BO%A7% zL5nnY66UNwj{1fT;}VwpM0eyfFoRF3ye7@&d_n~VV*jUh69&j}Ef@vUMplwOKzkbW zi*iiY>~{9ZaEB(O)jTC*1k{-D;*+7l7 z25vnK;OVMC%*f?U4V7})rDGVnaPeT}b#>8{F)I^cnm=cHwrmafQ^Npa%o?(h$&G8> ze}i8sLsDQu2h^Zdi|4IkV^I*n73`wGtVo_1Pc~~-QRN}Cwhq#>Ax5n0f$JT1O&b~C z$H>YtC*~l2uU6?zO4BshF;6)&)CYLHT8Ta{vxumDxc^a<-v9nX$>q4~(}r}C2Vc_C zBYtc)zAq?((l zKR@=)5l?_fcSc9%w?P*NK-Oh`@=r!6r0q9a(s-7=OD)IL?CLA2#n37}`t#e=lqjhl z`u)i6*_ciUfvv!RPfF++VIj{ywcjeaKVp9b1qF2lJwjXJrI zFfj7OnkhGy_Y!ixiRVfHYfsshAKq!mGRJzB!`|EK0B3MK4DBy+HaUAbFe|FnJ?o@< zv_GB^q_%r?q)D#r6Ms6#+pNO*J4417M#pth+{^YPxgGLBuB5-(0zMj}q{nQ&fd5-) za)9AV$n_I~8_NDiXyRz%KsIY0+Or!_dCxI-g($ty#bUB0x5htj+>kNy71_{+k4GM*ZX8hi0?vI zuco>zQfsAeHopvTPpQwZ_&WQ_1uN|qHP&Hc5`>ncKhSm*ZcGKZAJ!}$Hh%V z=mKteeepap)O<}(PX|{OezS?ki}j)%*Z;Y{#hUz$tE+phX`g=h^Uz}DYQ41koc;5` zZLnNYFEa#FR}W`+^U*wP+`1bpwBL^JkZ!sE)4Tgj_B+cn%GY?SND4!B*t$962(x;~ zMu-Kbyy&YjGCBiv#{{_ZjWhpq-QNIbOwAzZE~!{v(g_l3oKcUR8M)=F!dXz)Nc0RGBH|~x7r*N^*N&NV9 zP>=cT=*yOq0}11%^7D-6b_1(xHetB%DeARPHD>2mJwwAU+piVx^mS%@x-LTO+j9mh zJ@1Y!*Zl~TV3?>Xx++811%YB2hCi4}U(AL`+Gjb)Akn7OXCytnY`{u7E%hF1S z5`#2Z28jFt#ZF)XlXq^tJbgBTaVqc zg3UWL>JI_2_EXnS?dNGx@a~53*L6}&hl+fJ>gQMRH4Pcdss4~#uxAvFpGQ*p>fyrA z*L>zvPB&&u$4z8EDj#CD)L?V zblOPn#b2)_{kp&(i}mu&ZhaYOmmWM8K~5Yde`pvnUy1A}phv&S<9nb_oiW|I3R7@A zf4+1P=-LQfH^|&_neVURy%rSlO$jZo)%m$sbht5iqZIqZ z0lUq6h2OS$fssOI^d3L*`My%!jXU(EmaydF*lw$~@Zx?v4b1KNg1^b}SibGvz!x{d z!yAp6{U&-h5}SkmFnE7#ASD+$Kd&Jnp0w4p|L)_O8|}8V8(Ld3RB~*CFFt&y3tGqT zcz@;(Vkq*#r*IwKXTOq3K6>Rza(%aN-<%%9T%9fR9_uonNPC|CY|INce`%$by~Dpf zgu2V#4*xp(P3oB3>#2B%YknWQe{aiTvNSTD$lGO>?e6$kXWOjB=S>(bv3@H3+NSlm z?&8QKIPOSa{8IPG-H&cWw>wS~Hjp#Xma|PmR<_yDuHq_1v+i_dpO3NY*6j86yE_{% zyXB_XlFumyH>W2&jjPPjB$?k}4DzeA0nN*T5KS&5lJp3)8K)WZ zv3D5_Vaf@K+!7hA1u5ow+uU$#Vu!l+ zG8|a}GH&P#|LyaLQV7;zD28;y)6$?LRD?dg{aVO3C4cn|AHg6J)?O5!04@parGA{i zq5;ZLDes%M$i3rkaS41RprituU1Gq!lV#}?CXb#r&t$NcxrBG!lnS*@bp#8a)+CQ8 z#n_iHtUOHfgI|L=hbLqb@SM!AfL1Q4c)`f)0J(NyV%@^ml_(;#?of1w728i{Lpr0Z zoX6mXPn;9zLNvrF_WLu#A2|@-(#O3KhIJPWU3btD8^`qXJdOj@$uycR(Ao~@w;qN1 zVE6oIBMhJs=kol@hqv64=U{6HHY(B1G3U5?Vsm2VG2{P+q7s3p7`#wlz3zlOhIqi5Mw?{4Ow#p&#zSu5?tP`|R0C@oC@^ zi!1XHG?4OgB1QQ@NJJR*sD=Ctd9_Q>#WbOwRBog=8%n*={fs#X8%8{&tSX4HWT@47 z--wDOV2)zuF^8J+g;cvX$oZ%npb>x=DY|*6$7yVpASqOWG)>|`3(o!)sMDZ%sSwsU z3)X^)kc_g1Ww5`Yrj3jVjSxjSW8c+}kdL%<7NM#eN?Br(MTiXpo@7|cpwgCQS&{C0 zN(pZ1-0qyx&iMV=8^DPubPZ@BQ5N-~fND|J5F(Tk2RmY{O zknR!BN()cAL(b!q>j206D_BYqL}B`CiwY?SdLG5s@Iv1a?9r-{5b$=VMqvav2?q3e zNcorDcp^~qu}Xs;<*SO&=+F=n?bt|VP=x_^fBt%N<>&%(&6pw1$_A9xZdSItDMR5`&+K=)N%YCybGJ)PTWeu@2coajHkep>L zl*&9PptCJ~g(K#>SWtwJmf;B`;qq0G3LMjl>2t0fisQ<_t^$jhyJkA9l6#T`4k{Ek zlaRyE-VJ>!@Q2jV1!f|OMY&N_a!BBZGVYf(!75uQWr|c7uDlkW{=#@HNp7f(^cQT0 zz3S(vhrKOp>DJIy?I&Y#_#qJcIOnCNeMUJ&e-PUk(r?wvSdI}rF(;h|lJ#j@hrEap zVG(1C3kSZENJ?()j(-f5cbex!pdt3qtWwyNn7XmE3PPBRNuE1U1cXq(mD*B*E#hsc zBB>jKKr)%le`os5mGf|#O(^KKV#OYjmNU9`Fs%S1Dej+jJ#p<&QJBXLuKprK^d!So z4yJ95si3=wu0skejbYluiijbj;?R6DX-P0~I0RL+rlPdq#wy^i^`i)_B(?VMPuY;? zPG_*zUV%7V3mY?l&Op4VhcSs}O`;+u>DRy}JUC^@N2z+p9<}s8jxVFCP^Ow@SS%xg z4?+}O1rcU>4%Q)H4!QJaROI;kI23^;m0wG>mpRIkgu3I7g=ybp$(;xad8?=&X$?RR)#$%I-xKO^?1H^3#CSEQ35jc$D&$7nh>dw%8unI5Hl)Hem7Zk(C$c+ z{K#%1c!(9 zAmBDSBc#qESWU7CKL;YtGKxdbjAby~jiZe|EA=u!!mah2&P5x530q4}Ah?SjWMUF6|m7#Ry+~^DcJ{)K1{g+DnHaot; zTjQ-8Ng=u)&j?iLG@(7PkK-93fl|-Fpwx)U5Xm+%X348CNgGB>9m&?h?7e-z(&Vo9K+VK&_TJdCb6q zhPdg;9UJ7ioey&PpxFA&9_hgQp`P--QJ z_%xs|Zbd(9l0TL;Bn9%v0jz*pg>l5-9ndJ8J0rhXUX5%0MvDFZ_E|6Nh>P3dmsIwn z#Lf5F8xpVwe#+gHA#8%l)diAfCt>Hjg``#U8U(4l9B~t3<&1?2`@?R{lfZOgq9>>Z zZ^{nsZ8Hx_f>@0jbrAuR@~Ud?W!wjmc+nwaD!mj^LuKED^G`I-=Y0tiD)rn$?AJWT zDx%T2Pb7;*9lY1X6(}5Ie}f7ecH=fu9%#(o1l0$a752GKpHS(>0nd48mxRTryj&0;B_WMBCZbl&AQ9Q?&~WK+ z3>I5Uy|4q#I%>te^cdyIF(AJ0q=8hT5|8bsag$xzFA^UDK_3W=JF}7bK zDFIu3OP{4kjM23#5;nx%0df06Chfqv;}`ZD>^nOgA@bU%=&wcQDI${nA^9N=up{}c zU%7jDUF@N&wHmb3%hCCzvk$7Gk3!!a<@e3^qRZ*-`sL=^Xa)NP1mv#=a$I*YC~a+B;8+ zw%hA{yAAr2;o41lz7syazJopW=H*Wtk9pha%h3JJ%hu&8T>Kn?;mx;D`2C3z@+Ys3 zY`nJ155pk#%Xw_Uw#~!o=GT&29nZ9Mq3y1&7d6k<&Dhq{D!t?F<>yrPZTj`vwW#}d z*0$zLpY9LM?<*cp@7mGpKy}?#!R@8Xm+_CoD;_=ruc4QKNxd}{-CsQ3Z#N4=)7I13 z$j5BA3uM#Q&Xk-)B zdM&G!Y{SlCcXfEGp&2?p$TO!!^q4j=^E=bkw5MwK>jb6`H#1l5H67?7g|6yYvh)$0 z9dCA<-sxsaOP@}+XEoQ$>rYBPi_?m7zj!*$@k93?2J11$;jg=K2)p-BAF_kX>A9w{ z9s*K6y3${rNtaeA`G1$RgZ0lVf&4iaN%{HW{Lksfzb#Aux!v@SWhpA|pW0?2*MXgZj2A6j zqXyWdvhe3@Q0o+0V{~0<>Jk$;)GIdT?+;3F{-`c1BI4bJ*J4y^!@ae@L1wd3+4M|P zJ?v%`*CgAE)6MXigN2>5a6IBZ0V8UQk1DT#vgDc(ow&rr5wQu+l+jXzhV%Wo`#@qh z3+9Y4Tnd<6jAut$t^_}&36Xc%1J%%_n-~*9qenT*<%mB*qpdBm)s5=$drJ6df@CG; zyGji(B)|>NX9N;D8sWm|@KP<%PjSx{vlpQak9UekmU{8@6DWMYH_Gmltbo(KnR^!} zl=Lv7^20SoB0jouYZ%f(Rxe>;H}9RK5jtG7m5W+lOdtR2ULF6bjAp@)wY6vCKU_05 z&enz|4nMnf|C}D_Y}#zJA$HNvxH7N1~G;Nf>kPI%}G%;5nc7HrGSI3brT z1%B_)XMa38OWNEuVl|o{@I|JQ3e072zbW8&ZO-})37bt{a=HtS1jOwi^m0>LNk=>y zS33lSp%TuPO$*C)inPnq3_9n6_M-r9)m zvQo7L*-gd|ecq*s>V{1BGco?KyB*9I+pDAv=FG-Y+Ub0Cz?!&WDX8=E>w4msr4?9M2G8U zJ|ERKySa+2%v}XWSHOp<>{c^=YsF;yfR-Z!e680BxR%d6;HH$`VnSVZq}iGO#%8`!Lu71 zDW}NQke{0MuQ##Y^7+KDm@ld5*z3X7=kXxZ-SzK$u|Dpqpb$Mu$dT{h{1N=K<(=|3 z?Xfq>7{=x6Ag#mg>ivJ4>;#_H^a)+M3|U^XVaF#4 zLv7z=vPlCy+druF?#_6?Wx!ytr4FwQDu3IY*GHQAOnQh9v)!=f?Ei-B}wtR*q^FV`V;$xD{h z>nKjptBR6hnZTgBS|(bySQdd+?y#%H`L%JCQbT_J0$h|$icO8h4Q%2|rGy%+zANsr zQ)vhc7WIou>3Hh|8k~PuB-xzLX-Oh=(A}!$E%=l)YLLK% zM*wxv)EeeyEF=nGL%=GTi2NRKS+FcRH8%xGz^x8!XjK5-7{ACC2(-OMvoW~esAmJM zeHB%s)$1kc{1E+|IOf3Wxt6p6dLZtwX6K=+3C5NjsVn_<@inHKvS#VJBJ}q45#Q}! zP)52fh1|nQMOUqWO^Up{tmReYmuUW`YS<@Dvel&j&X6Hg@ll~BT&$KTJ8}`Ea@4O3 zYOq>VWNSuN{4-)fT4-{fQP-LkS0>*Y9hXAuJoc|a^K6$v%H0@c>FbcC6R8bIilPnk zi551{g*^Qf!fzl$3J?QV2r>LvA}C^nvD;S#c5jhnXs59u6DBqW0JN+ItQldU+H4qb z8)fSya7;MVsLdua_o?3D88&-afI;$ICuw< zn0}WIEK-?L-Y!0CoGlxiHXm;2p*RLbazyk^$ChY}wQ|{6PGY4X>AA;}GBg=WWH=EI zAyGLpJNcZ6B*kFWE3-|We+)=b{3PYIZLnxboFegEUPul{lPa?fo_ZBVQe+uTAc?&} zh#wbd3!Z8_7VTfn&e#c_N_&HpN8{NsT-77a&>5@9^;MM{>%)tfG*UR6FyVMfti@0E z3oUi155>Ogd7sFpQ59mWzz30kZz1b$MRF^JkKE4OY7sqEXqYcB%KO57l$N+w*|<+F=vzV7&_0xGY}54%MykRR7{=as7or2u{N!o!`Jt&zjFn|dFwo-BEg zY(mext7yJxq%Tlwn(!TC=QS-A!R*xDdVHTcSv}O&%9^Ft(&atG(v>`=Ve)A0IDgKX ztsie~;`$li;6C=NEon}}_`$(_IfThWRRnxQ2oEo&u}F&x93sAU-^1Agj;%Zy&EWo( zHv_jEf77A3BE!&n8}DuvjWAaSuJVdYk1IHP?>$LPKKf5WL%hCmDk8Nj7?n)6X_WG$ z@1ba^ps5RFm5|&{Z1IHgd@&|7Y(;cQ)CH3Cd(_8n2$o~QWQu8~@+7PZ@;Ke7;|MJC z5m^S!WJ_s!4rewy)SuNKdf1=cqlv=#LQG~ACCWwN`tbxDhkXpk#K}0*4P}{dWu!?u zP=}Ey%L(ZwGL50AQzu)M@DRWQeHJ{j&c+c}4m!dab4TxqXLSpC?6#_gTz}%7HpKwy za*R@HQVvLSHOZM|q|7l^=OU1zIF}-jNujl5Bo^3HOFGgTE>u9JfgKDjTjWBzXM`(H ztyL@M+(@RjfFlGtrXFo49tj5pF>>nn- zw2TK<94$DK7Tqh(X!jRb6&rV2&6tGLoMaUm74y=uQSDY=n|UA>&e6IpY|H|D;9?>B z9Sk!R0@tP-O-ZI8Q!5!pGs@$!fz&(w}xOvCY&)lJX{0#-a+%i{*h# z9F>3(#tI3WX{}eq?~@QPNpI;*;&NbC$fpoLk2NLo@pGXeZy*j?4&J0hLDJR0b9t32;uUR4CI{14C08Mm zwdZuM#^CeBcKpz;+Ez+0(%?E6F;$dj6UO{?DxZfZz4M4%$vIT*GbKL{u0X^J9{61Y zj6hxU7d$Uy?N}7su0V!KP>p)$V%-7?G_jamQMvgc!IpI6mVY%ERp<6N|uu|pfy(^t6*f5sFOdQWOGSH^4>ddD*C zB@{|EK}zj0iH82Yxza9$q{74L0W`AHN6tdQllgPO&5=hlB*m5*Ci)di2pP{Kb!Jx zi11SJAzEmy=;Y@Cq-NOx%%>Tk;ytWzg6$v(hSi;OMI*M(1G|79C_Vae`w_6zPXv8_ z+1J0iTgqKGlAlz5HsW&&_zILr!^`IjUrM2CwyRh32-sdyeC|NLL3;?Pa6de0WH#E~ zuOUB}c+Tpr?X9KfPFuU#+6HW$A)&@l0Igt?0j#tQ#W356S~dJ4Fr!}PSx##Y1O({t zU(e+=5&KOdoz20u4{D<(6QQrScv(g%RekER*r5E{xKZU{Q{?Htt}*XrlQY3-F5yo+Cx{V*W>~O8c!R%V7HMXZ9Qw(@Wg4fh$0b>`pknM znZDCaC*;wM!nZj62@WTH2ajjKXRRVd>;lgS`Is^;%&Rmi7YZZ_8!ex8TeXLhv*0Rjpvb)z|<=`j+mzsh^WtUEVL zoma@#>*tvehG7Pb_@{4?y(h@V)3VTt&BKRozT=jIhY_R#+B@BW76@ zGn3T>QV#i(m^q{;u2P~tT5Hq_2u3uajc%dL&u&dx0&&o&5~bCr%lcu7n!8d5;Z&1m z%p&Y8q+0ifsYFG61%+^87Dhv}h^m45f+0eOy^}pJ?yqVI)TE>x{Sn}l6L88BCKU_y z8G|3?%xyI`pj|C{7_Na51TZYXtH$}~1G?|tV4%hhJzM#uqbEEW?^*lze+}tpe}5}b zk^lgxjsXJvME3tqgmH9oxB7P$%!Q7Y?LJ4H4`0tKylA!yz6bJfD_oOnJcoTr?Wt2! z))sG1Z?C@`3+_)eaCy+zY0lHL)jWcK&N4JUcZ~Zr-lT4#{@!RrjvT z*UiqZPHa_Jr6njfb_+#2c>WLv1d^^B9}wRGCeZDO)^O;u5vqBa!2w-?1JoV{o97v_ zyLBIwGUF?L!0bwBe+uKk9BJl+>L! z+j8ibKEzV8-rZ%K|(y!)HkUTa(dvNx7qZoqp(%)z(zB>E}+oodyenS)%wm~ebQm4Uf~F$Hx!57!#e?)6N1tofs3`=pX6+JHKHzE?)V> zR&-AT&0Ao0wgcypX*~E`s<(^v{VVVlfq%pCd51#1oLm;AdgGvfvl}gyFexSH0D`yn z=<-biscnZ15>g>LR;t` zY?Tgw%b0OQ>@`vR3Xn7ZhZa%6CWS<#RRam*&{V<(B&X>>v{fSk`(GDHT8^zeZsD;y z+2p9m%g*vm#2JfLtm04&!wW>@vD*TPdu2Q;QUNpmXohwD~vS>rR_*E}mH z^NO-fL&q3ILMs;Z>TKwLdnQxti~di0U%?i~vUZERySsaEhv4q+?(Ux8?iwt(3>MrS zg1bv_cMSvycXH0&XYZ45-|x9U;Lbcx%`n|-busgHb-h(xYrQah(j1*i3M_uf%v$E+ zmXiQ)z~^%w@#2wAk%;C|XI-t`Wghw1)Y`}+?HXbZ#d1@yoQYeuq9c4oh&M^*zIx@S z&6uUhu)DBcd1EkQb5A1+-+0%5Tu;d5ciRPmiZGUo?}``NMcf6pL^R}#77Ah8F+yyT zs>b@`^oPm808v~j1lB^k4`=%3^8o`M*U^S&M^D^Fwa^6N)a45P`*nW5_H%&{cnk}& z-eqGiTqXcR%mo<$l_g24SonYH(aB>((i@p-MSpd89F2QitEecuJ>_L7Jxq{jq4{g?WM z<^0Qm+R_}js);ELS6rdBb9RmEu{KfMC&p}JizcVAPb+=678dZ9!4*Vaej&j|zWNA5vsee*Y2SG>NkDJK zad>9hDbtn&y<8Y5q+pw$Y5c^V>H0o0d~NDM+b{Ev4z}-`OiTI@7}*FQHQ+ooCnZ05 z48YMDtuiM>Vj7`Dil35=78vj8@W%1K&c?zB1HJXymb1<^pz+X9 zI$QM3r0l$An7D$cjMh<*sUyi@_V7{Ck)u4EBU|wUuWrt+j~c}%RY0!5{z`)dhdc^z zSqS}JL|lGfR%VmGe0tT+j3K3RdfpD_*UO~cIDHB~9gX+C*pv)OHUV~u%q}lf7hDZM zkhRA&$42!rCLS&zeBoghMq;i#Lt#cQu&DI?J#6@RTEn`60v&E@mtW%Tux@&;Y$EeW z)+gYLA?lg@Si$tr3kWmO$$l(9!cU{Nl)mBa7gyY*27mL?8_c+rAe_4t$_hTr&JcQE zY=P)e2Z^bIy6&0!vOTZ6L3w^9fi?7ORe@Xd7Zrgu)i#P&@Uq2x+cC|vmHU19HZK9} zAsX!oLyzk#T>$uX?FdGahnKS(X{1jT7zoS(cm@l)B zh^WqF_-m6pg8G4pU0EG>ETX!Fv0WJ}{C`-6mG*c3*!<_Gbh-6bM*lCz23C|+t<~#~ zs{L7`s6%jk9Dv%!w9@{~FJ_fLDpz}?sc1_#p<&_`fsRgvAWoi!gLLw4e#uG6zqVzz z$2`nyPs{$;Yh&HqBDJz|TxPfz#zOnjq@EV6a`tgzTE>#oz2X+pXw;>2HT37gwHW<< z@Fu7MdS<1DkHLbnH*VOJzXUxI+lo#p;5!ucjr*FxIrFpe16zbJ!4q@O`HKBXl`{QMilg5f zuAfjKt0=U&E55d#ixQ1_gyG9cNi$l0Um2Bvk1D!<482_G;nk)xf~n2ZWN+`$RgqAU zlvVtn4Lmk!SuMUj0z0y~%LF>}7k1~2AY zuZ_3VDfZhtv9l1%*7ou+?1(BSE=)f$n<1vcz94#3cRD>@E+3jmuJ#DnCDR?@ssKr= zgb?DqTX4*&#P?qg&)E7up`+SZ0L}&uz(@*7rftHRIS^?hEgDJS zO(4br#l(y7cEI+DAvCRSk6oc4Y>%c>ef1iqGoFQZ?%d$Hr>Y+;pM4H6YD zq$JE74}$)gxZ07Sv$G*1Pl_(`z`lwT0dM%o>x)6 z)CPJsUwgWJ{5i3UtS_9Jf7vUFjbXS7viS+iPc7A>$8*vDO4-yF)-S^sx?NYb1$LX! zz6xby#}e_qcQqtsXcVDRt|xIygPUyLzxe}y?H02fcq)0^)$hSv45|C~(_7V>FO@cnS z+3=o+Zl1k!r~D5K(DB1vq>UdwB0rALQ14a4+5do<(y+!oi%umKigp%psJR<%!nL;` zk{_WNh<$M4NOcoOP)vV^F@e*WQ1dy#eR3%Y%{RPr-1vb1%Pdkv7e?zj+UJUgg0&os zCZ2HPGOwiL1=;{3>1+0^@5-3nNh9>4gUJMy3fGcp7>cUe>XO=7AA_lAXD17T%p~2* zxSK-YG96a!)Y#>T+=<{R9LxLrA}JZBk(}yljkv0oz0DG03XpJ1(-Pj_vg$_1NNn3< z8^3q)=he#A4uVua!Ez@$5Z20yl0J|t-Eozrv!IvrNOLsY7WvsIyzOZWpqEQe`PuDB zn!en3`9hrPqs@A^;M%Y0HY9~nLMxqFBPt6!a}K?Aq9fZnrnpKCwj81x79W{Achrl$tf4yNULs!7O>Sr`RZ{;1(3~u%vf1 zIY(2q`dPwxK;ujiWZIE+y2V|_l^B)J%Op9<1>I%dNrJ#mlhRxU&**BuiKOHmxD4@F zg|&c(f7C!I6_Y(OU%gp9BIsME-TZ;WhHiNLY z9v13K8>nVC@AVh%11~rw(T$Z{M4=r^66XuNAT{GZUk+&&Wt~>u=oAU+_Gz%+D|C<^ z(p1^_G{~hTy1re(64E~Ui(qpB*XB+X!q8dpooW=B6sy?M*f}5Xyv?;5y_g^@2s;YC zfmbC8f5?kNzUOVRVc-3Fu3VtEvu}bL$ldj^DC=Pm0m96V?32r8$LA~&4$+THgr7I| z!#>mbc2nr71&y-kNf6;8s$@7RI&r@PH>Hl~4t)<34$s6pF#GCu$(I`_q{XIHjZNgu zh@6pPgoNkZDBo)(6CREwsSUL1=~i5!uJdxA2xb(#puu_eWGiXA-{OlhXFcPoj@Y*X zV6q*GRv>ur<8X0pwZ)5g@`!VE-jIR3c_s4UE%2@Fi?{@?@`~2?O}|e*i#m+E><`T8 zGYDy|_j;W4v29My8#!!^cBb&fIv!tel}F_uwFG zb`e{pepuBtm~NRx)yOuItyl7>=Zy`{;31w4?i)~3z_O-J6Xm3y>*%AG&~B3iydYVj zk9w|ALe7Y)$rQN9kmi`EACqJ`k&Q#o`1fLBh0kxX%(s)GpUAgQjy$sc8&*2|1+}*# z7!kh-HQ+Va_pc8zD<%^RK~z|=j^!-LLp^Ofx?23*T~P#-Zc}XAAHc9 z;l}W?jd(m?H>~= zCD%SG>orBl3)ZBSe(D!t-DJ?JObhtJ#k+Pl%&Z#XmrJjxTbyJy-=&(AN8#dLqaqnH zFDA|a>qZ*`L%RZF;s&u5-cv7ksScMF_a6&+%@w3j79@bIX=av3sm?9KzfQqh| zx3an~R)=!xSe;;XZaQRahb|^vKvx=z%WtlV`ar6M*MzQrak2QPcJThD%6HPayr?2Y zt&Ey>`iNnTBCdU}rY;jabFpWynmjVf%yXRgqeXsgpKCtc6>z^d^>t7fCIM*0=0hG2DRIdQUkHkNskI62~@Jo^iH9M_592B4vFVvParw?kVr^Wo0$5_nm%q z%WV+v5iNDFcP7u>31ja1MVB`RNJMmY7_!QALR%G_To`=$kV!>=%72ituW6TavoNkNf}cZPq}Y5v zib;LIgdNRg`8oy}v17f*xMxPDSbx;tP%Y&`U8@zSp;NU&!q9E33>GC2dz#cQR^cn5 zoqW(b)jVxbwJ83iFlj@a0+7|*KxTiS#$ zK<=f6|Maakp22qOG6tDP3$uC{l}yG=If;j@=HH$ z)kS~YCW(^i>J9kzDZI~6R@`f`pBb7W+t6Zlcx4FbSh$Y?0ddUJ(p}>u!HM@aHL{Wl z8ZZQa=X;%AUmL6}mg}Wh8!3n+YjgS}a5kC@zYgnD70!E5x%%6>S;?0`ZTh=u7`2ne z6Wl=p`>d@T&*&Z3px&Yj#wbZ{HOH56ngba9siG@~a9VfgDAayB&kVA?ydw!%S~;M_ z*m-m=s>QNS$PT0^G0o~WR{{MDW#<>s6(n;GWljTyqym93+D^P`&aGU+>eBTRRGss{ zm8W=Xr%hCe4kK7KUlK36>UpTD)n^=R%j!jE{jf(DxgROlDMoQg4ri&_Kz$|#u*3G% z9q_MQj11>~%Oql1r|b!;GNs?5toP`FyK>VxIH8@@R7u zr19!aH1_E^&{*mkbQ^HJYk5S1$F94_2s$rpc`2`=v6(I?FZRUnLaD)28}GI3*k{%f zK_{v9)^wk_V4?i?r}dG>AUGKM`Q`!e7DA+ z)vp>b$(8QnUea(3!l-(k)dPF5pdwWWaEp`shA)Jgsbh4Ry}EMwayy3D3KLeNv?ay# zH;plqQ&3+S4JpNcKBF=vhyc92?$Pc_WFliqRLM*CnCMvFp2^GZpyIau*yEBhGL;$V z>|zCo+6c#+6!Ali(L!J!L5bc&1eNoDPukQ9WzQm>SK>f3IiKTPFVbEp{7j)&BtQ4v z%H$~6mwmnqHzSzTJ4ytW?om3Uhf~MAE%5!~Xp~GN=r*U2+P*XXHacMSE&_L5#_QqC-@7FSeKN4VNy<`=A*Xr1ZqT1h34|uuKwZ z8RXJ6uR8N^RD5_=aduClQB?zb;_FPNCFy3UgS@J1O+P~np&!C5qtwK^n470r&iZ# z35;TLGoupL+J&(c6qxp@q`CJRHc3@v>I<_L@cg#L>b5jW-R<%}l3v3`Z=o{`Pdlv@D8>>evYPl(?L6tUQ7`7HlOxq!=g$?W*K!mr;LFn|?{LA8Wz=F9 z_+QEMQh%~So&v&Bh(S^fUs&RDq&l$-NiuhxbFL$+;MbR$%3B(+4eG+#2fJN{^#UcC zdrlo1d$tW$Fdo@EpnaSB!bIWp<2(@6X)Z@mBKX|=I^b372cvlHjuyQE={yb-U=puS zlX}rYA-yDSntZF*g{_+G`T@kD-NEH1qOg)|LoyTeVSo#yZOCHo=oGW#EoK)S+R@rC znk)1>&c*B=-=v+c(|a8&t?DD>Ifid%~YSL=1cAN6!?0FzaRPl5 zGQ}15RyM*1ua-J%Ygs~1re0Rol_cPgSkqHje|OzLiv$T z-c-}OWgA*1e?EtPd7{+ASuizsj{Ye%b+VL9&YBqkC4!DmZG&cdTs1@OWmUbj&^r^b z>e4=*EsC@RIh3|{R}~+BW`mJ=!;qqB?nIHJ1yTFSehj!eA_?wN;=Ji0faki?t3)e; zOvSzGAavGv)(L>G7zDEkWadNFEmjZL1*>HNasP9LHf;U@kaL+Viq)0 zrR|zHT+G^~sDKTMviW-sBlFtP(OU;`8{^_RjRieZEhp}s0YFmq$5VMi^YEcWHG6gL z-US+KjQ67SIuPWYd6iwSUPU)xmzVuBT;+><9^o)e4wp#bvN={5YwT!xJ6% zw`qPEBn5)$nCXFVnbPCO0{KG-Tew1J@8RBDTb-fRZ%!+&c#_wM%rGeC#(VNbk4%hX zq8>Cbc)+R;NpXsoW%#ltM!tUEB%qrJs*bVEUw92>bFZIC*l?JG8ZDV=P{WrWJCKa# zuxTz&-v(L>kZ`04a5<)2H|np>frps3J2xJSxi2}K@Az!iReLdhV(u^k``*(s)=B)q zm&9i8pU`Mscu#i%qi+zs+;FFH(5n3<|U~RwHWL78y*R z7~%BZFqZqw#h&T{Cc15Ax(zY?OM-7_z0o75z{Gd3g0QLDS*}VjNY~r?jhmJZ_#ta(*&@ z3yZ(`*06^GAiMF| z-d=J$T#ho+t6Fzq`YwaG+~gB=ZhkaMO|ca|z$K+{k!^5P=e>df@9FVf&GPu7j*((b zM5ENkL?clqn>q!Le93^R21%=;-Gov{?4z3l#^S4}Uj8k^|n&6G*pS7YmXUd(vB*WGr(>V)BpckW0g&O8~f9~2? zS%5$Oly3@JV_ek2piF@-ipFax87sNhKH6zdAgykCp9WB0#M@NOE9cBF zKhfXy0N2G_jJY)XRsrbnvCD&4!@kSi(U8b30k9UwzV55u)0M`Fts0m*ibc^0h6F<{ z*cj!O*kBarZ)^8UAWp+BXso$IlLm$LoJ5m}0RZ+#v3Rjb(A@Lyk{4b2S2R{nM;BAj zQt;$pIdo|as_d}S_ITedFoprIR$tCy!-o0!1sm4cDO~H0-)|%h&)FTxatH=H62xd_ zF-*QD`HVe}cxA56+CY(8+;+WYqIaV${%{(!o5T`2e<3(O?%moFnS@Q9lHRhc%C5LC zIrZR4g40QeNunp;bGOZiWo>CcBL0p{p9`(cvweSA>?5QgGyQ|RAGZ5IJ!c3-Y}jbu zwN6E){8RJ-U(1D|!In~U9=^Es{T+3k@)KMY@fc@f^A+ScSaigi>tB$sns3q6Qqw`haV3v*wD z_3f&bojQR&2uk&Z91x*~2taTg1WFQZE!_@|M|Nrv;j)ORde`%wh9kp`+^lh)tO^E= z`-j-USWfJb5Sq$(6^uf%fyz?A z+e=_D%~?c5l^gl!WPyWM#r@*F$kcS?15SRn?}gks4kj8!JXj=&#+c8s{T zWa}xp$kC$dZ%$p?7p@%^Q$WHZLVa(Nh!2g_QD*fnSM@>eoSwJ8S>>1$UaRiSox$Gm z>By#Gj@`*4oYPcON!uG@-cF2w8=1Rowg+R-m04AKN5ulcu!%uvam?qlO!qCwz=05) zk$IB}#p1)@hv#4S4E;~N(fVMU)_dSOD@mXNBgUV16?vMQsQyjY=PXUuag7CG=o0)p zA;LHOZj+^VnHWb=px_>>tH^m$G7M^Hh|=EYbMY=j?pcHepVMJJ1pN;3q)0|LyudZ>$SP)e5OUt?oMtM+S?DQB`@G`&bl}+ShY$I)mCgUS)3GrZ7Hpi1pc)v6f8Q_ zY=>xB27b5waTzXDjHNoUif@+FG2g!DW)Td1(pW&}+&fdowXbNGEg@|@C^(eZ_+5Am zFGg6Yw59bu0!mTfCo+?FN;acnJWeHS6W4a5#Q_w$~kcE3vafFBtrLCQHJ}5 z{OV)$!7oKo=nkd95}6A^X;2I~^c2QR9(F)h4O?H zOaO{0s-@&gzR%#B-#jgC0Zz+O1RdN+LW6z8og*X9vP@YYT8Q%mJU0R#@(h2xi|2C) z-v4Zh5cjS(_8I*Gvanc=zzzz|>FH>+pD5qw6Jm6B_pp^#<+-LH1^Wdy;p%l&VpR8u zbb!FfSRGAUuHO8c*8LcnVx3!(I`+NL`&S0}3P9zJ%bQ5s@SEY@X4cUCa`=On;T_Y+ z4FU1)^}gxN2;q6m#^vQ1^FM}(FIJtU08prN2^Itd_s=l-Q>ati%MGYdYi{;ySy@rq zic1y?P%4OT&eO=v5&jDAs|V9g!|rJlavsczRZv=@S@32TnuW7S7V2Y|eD>u_Hlls5 zY#KE7FC}L90&5tszFH|-A^YCXn?h8!C|1E(QUkJ%il4m>d|u|KB_P>Ol- zx@>wKlIw;*5Rv2pG%dsHCj;KsHVff(_vT%tsU{ol=1Oj)b1;1G$(|{b3lLroYt9HX zF6YomEZh{*Z&*NWTH^vN#*5Jl6AHz6jy^@oNuUz*kX5(?1(riF>qm92dH>|op@Emt zgofm#?LDWRU(&R6b?2zdaL7O*=0ZjcPXLp&wt#0V5>SY_{W)i$LRX&xjn?gpId0ck z|AL>z8`*`mj{UF*h$sG|Ggs3yu<`kyP16-Ds=p*K=I($o_n)Te&zO@o`&E3VHKsoBc|lFR>@(bJNdD!%b@X%{eF+1h(Fh#ctGdq08JZ`x_Ps3~DJBiIy4Y zN`dGd-Vw^xr}B5Kpu&YIEM=uJWRwlundSb(5xa?GU@rMA5kV|87e#0hR`#!5A_0M` zHBLvX@nM+bRkh%gpfdTad#kK{y$O(7!Rpu;u^=nVF?~!noH&@^r2z2Ecra~s!dVl7 zV`5_Lcye+5Sr-E9MartLiM;y*ZIHk8kgsVlg1`P$r|!vn;vS2Hl(jnIn<#75wm@0J zk@_(NBfbbA{env*rv*mEGGftE5>fR57;$IRvA~E+`MywGOQQWN;_wnGMjFcP)juz% z0wZqHp#?)3Jj(2s`gh8x#lO|R7Zd&!ag_ng>BdtU&zn|j>DE?({(G9OrrPDeh{L%X zE)iwN@~3z?uh;0agKUnI3_W0KF`n911usA%ktjN}P-fG>1kY<~AB(leDIEt&e{+5@ zp2B_99w!tw4W4_SQWi(=)HL0LaZ)l(n23PhXywG^flco1Q;8Ztp4% zJO#88kbjY-Cq#8%30Itxfw4dcCOYYcIN+X?&MtySO~rXo4d=Ny=qWDQHe9Rri-{kduCr*(G)r9J__Zl zHOHWi<+^ha1BlouX5=@nI&TK8lk7+}wJR7eRc!7MQ&iP}n4Z(I8fg%MV$^tLI_}7x zP@1b2|Hs;qPD(2A2uRZq+eUi!?WnHefp=onef<5XQVo+LFqjH3qBf&6X(Exqxp=r3 z;oyT12O?jmJq4OO#)^8xXzO1U2d1O~;liT>8ng=5BN&~KoP&y}#K*3nM6sL@gPDej zL0J`#eD&w;SZrXcDv+!M;mq{hrGOgTZ~W^n1S6M88oN^UOtd(XCn@NsSU{0tu4rgd z+}VQ)evz=fXWA?rr!aQ^LfQrFez$avU(H@$qA~{rXEZdrMnYspQ9UpSVX`TZ>0gUx zbWgX{4fXLLrJwC>n{-80j?|8I=${8J=ssXQnpw)>a?nWI?9jBxSS`vybEa8fCF8mL zWCF2FTYMX1tFf%`=UC0H`4xm`z#u$c`0*e%b)G06ZH3{_;J04y(I*Glj2{m-A@9_g z+g}RxNchp88POC16MUzsoiY5oT}7trMASYo2n~QixH66?Jjkm6rToHMJ#CXH0jnaP zuS=IDo}x7q>kvmws#`P_5m&Blk|vFi;xRx zA`h;3PeZsV-8wCsk&t};vaGjk)QxAB?a(C7mshvpHXc)T`0H|rOZl9qvHLl{!wcd1 zFm~^S1445^@8_1@0sT&|_uQXDtDmuZ&Y=RlL)QLTc(Jax_+lIa1SFp7Z;QDt939-$ zjQz|m{saDj2}sP(!g84*Th%zz8ftzi0O)n&7vH0Z8NSD(|?tFKnO82r&h556EmZ*ut|2Gr{af|ghd9fIw0uJj8-GwiOB1l{ZVBikd_OS3-hrBgR%t-# zxl-l6bv=bnf}Puo%Z&g1D^AK*x$e~#17qb+(dUKqjlrchJ&s<%QN7+w0v56D(TkMt z-j!pL5zc}7+-{*eqHE>-L+&Y&>^V?=OF1R_s?<=ZG7uVg$B_m){K6>%bK2H@v?j-a zsEO~{>AOW>l~WavVOc}KO=moXsn^aL1|X5U4R^oAC44w!>3yj=NKP+gTOC86S7^yt%Jgu(q z9qr=o53et;r$US86Wz^RZ{Gr*+5ke!! zmZ|NqlNH_P`Cupe3(1bnI@Uh zaqt+g@-%q5bN*45IXUP=;hEcW%W|ta%u70$Pq`J1LrPUQB-saKLStLJ(fC@uP(O4V zp9Xnba%u^vj|!j_vkU`{N~N%Jpd`+B&3I++*0?*C@#Uali;rA(!&Mw?K(-zEKQ1?{ zy=dh%#J%r}a>9P+Jc;Y*ie*CO)Z&U-QJ%%>5szB&LBf~*pxqNqE7ha78AaaCIrk>F zW-UP$2j2s~&Q}miGRKT)*x5Gz>-P-V0Zh)8iN4bZvnCKi(~qToQZwO{P%ZA?Fw-8e z3M-Bm?+8qTZp+PUVhngSd{G+I>nBe|bh~An?h6n*rS8d^q_1j89K!F8E$|YYKCGxL z88p%8g(v!oGJ@hkwwNP~TaMI4btUll?fEmcau9FvZ#P)&tN9r7 zPV0VC+AY7ktxjcXX3(B|{(eZj`SYor-=fG7`t0;rwJ|~S-lJ#gOTv-_MkSHD99cy( z`D`=A{2H1?@^Drs~bg`XlL*pw^=>}B;gKdd_bR{vh$D5gc739xxsL@vi2X z9w{M+(gdF`UwF7Wyjx+2vde4bM(l9}#`{0Y6sS-su3bIUIM%!4XoZ_cwI;dY8bM=5Z#@1vUOP+4rFuw&BBXEV9h=4E2Oh}H0s9j*$a1p!%OY-CSe2}e-Hw}>DZbJs%1K4 zfNOaHH~s_AYecn4MFUomMuK&0)rXEoSL~O_iP4DYN}jwLu(;}bENyORr~^M5-U{hC z6=6WoTwTi{YNGk+5_1GHwK@imHAR#lwE=hT+zmz5`ij+-cMs7cHQ5mXeF3 zlPj~SqszZKf+PhH|KBr zNH&q~U7k`ft#NY}G;NdPvrnC$;Z(Z`X?ZFKrfJ<21qKUZDwtbI%Fcp^eBcCCpO7>B8 zH97dnYJj8?KvyPFH9tYT{qW4FioK?!so#Lj$MBOC9{}ot%Eea@p>mVyK_->S%)5Cm0hJ( zJFE?*(f)N=bTIcsk;^tsT&+ntr(UU+P0WLOvm3pAiywj=g)Qkzt%;;q_cs3t`5he- zjXmvL+cZ4|9@2Va)r`~Soh>q!_oqWyBuAL0z=N+-L3S$Z*;gOL@k^mUT(=7P&L$Ux zZFs`H5BPS;#LXP7F3sF~SXo90sOA(H)`goAJDUeB(1RBQz1|T)H&;GT<20@n0OYZ& z(C@o+(m^VM?GyqP8Q{vtZlY&;#g|OJbL&h&f%eX!ynr_3eS5+ra33@|{fL7|y@Ek=zQf%P~l)$dD3YgB5P4ibp z4TI7+D+*G^T2bRn1e!jYBsBKMHCPJvH82bw1T%aE16v9u#}z>7^5DuvA=Yif|JiSs zm`Nxgr-9B_UO$HWq0B-5GPM}#7FRjEdx+Yw{n=O`;Qop?1L5c3mh)vQkp`t9)-fCf zZEYzHJNukBjjJ&KG^Pj_f$-)kID2|#H+sK{fZ_+H3ID`7HisEXi7b{kl^bf{@B8o0 z11K0HaI^>t1P1sCDTr~@m}436+%N%-A))^Yg8zExiUN};pw*C}nzxg=tNyQ(MM?I* z35XK$nlFJM1z^Ju9Hsi(V;gw7{acjmUqWQR1MTU--pxpWfY?Mp{maPfFC-|?iSb`9 zc7OL@{2l(^wvB&*K|nx(^85driR14~zZ>ZN#nr3yPj-60<9~M~`wRa?^$+~t{mFiZ z|8DX07d%(v5BQ&BdjItO|L%nI7raUP5BTrCIKS86ci)1)C}fTPp!mD2-0$$;)#(0$ zH@N%(|G#L{{m%5eDBE9553YYO{g*`B@A%(Wfd7Rb4gT{V`OkXr-@(66^!x=TDf9JzKCJr}O?%~UG=B{8{?73G_}pI%>@~kJ{Hr4W z8Lj)B==Xt@zla8E{~-FWVV2+Vzb7Yu;d`3?!2gx1{0{!_F6CcP;9OiQ2+05FVEzvO j@2mdb;k)gBga6S7P?Cj&`n3-R@QDKn0`l7R>#zR+~)5d#@SPS}+J0|6OA0|B7|L4jzA*x5Rp*gEU|@~}5? z(xG>^u_h`21EI_V0{J`s|F!?Y5ok)CkQ-n`5_^{X5ILl?)K(`7&TQBvt_LRD1=aSN z*BnG#TS)!lODc*$qL%e=N2R*m^opaX&ly|lC~rUyF3X`?wct0!RzFK_xex5>-i)DF z$52!!r#8#i#|^)<^z>%+SaT1@F1Mjw1)0-xBscAy;tXtw!vI{me7>&OE*I$B6(+_bLsosBEWoIW;ZA<79y zFFGk7eTE~iyMF9At`=tq5gmO8JuC+yA#F<+#rZzAd{V?l_@KhDr zzh=dTtRfi4kTUnY5Q0LSE+sPefjmfC9&EoKrTtNJb&F^neAcg-Q!3h#@T5tZ|k^9SE*uMnVb2PDb zVxa%0|9`~(AI#?ec=f8pKFa|{IKi8s&!D+3#q~a{LOBMb*$u2UNGL6-pQszFmMdSM zysN7qI%ftF6Y~p6vz|`b;x4<%I)89dRp2ALpqF2D2ejTh-GNdsK$e$G|(ewa3B(1!qcaEQIDuapN>jlEl8+l7LCXn3x7MPtURatvgBnjEiGG0 zYI#9c@QHPY;K5(&AV%GLUB{7*@gH{OO!K z_bluw9f}B{h0ceLV0ia7)ke|$I*B~S7GS?2)@ah(v%}5S5xV~?bN@F#0CyhWr<6cI zPokhe$bW<4X6I&CDpal2xg#J#88`*rV9G0whSue4W zF0MF$TMED5?Mr8{Zwhbjm%Ddh`;ab;uA4^jb3SfxrI`ovHhEl}(h!PM^>{hW%V?+m z@k`vgfiET7?ZjH-s39gOhLhW4SFs)gVDawP24zMlMWEPjsS}4A>R|`fvK6?ga-zF; z0aWlMkDBDMaA2;kH6hFh-Bq`4qzGP3A^ zm#IZp0n#>5gA{2spKl{d+GuE{!aFtCSUgZdC=Kn*H*Y=ekl@&g_s%X(3(D_+_Aa-K zYedoOy$B_3o^vfowLNbc)59JwJ=b&)Gt<#lr>pA`ivm@R2xa2nr{s$UFX-L3u)<;7 zOYH;ym-h5y#v;?nN`FNrRMSmFJPay>=J-Gc2~?#qL; zy8Tla$4RrM*DTJ;MjTAd;73cL;D(!b zVXD>X&$u~n;a3k8-yjM-=Lk2NZgDB3C(y7?uF~zH9f&)cr3aoRi30DCW4^e62cE(= zlaJ;8!Bn-qM};q%pZqeTc1{%=7cTGn;2Lslw&DX0Zi|!l)Dv;E>|K}dr@{1mY|rA! zJg`)$*z`4Dt&rqxhBY9$>cYJ~a-idw4aQzP6B~QUF=)BdIv3kpX0I zZ7dPOFznwfBbmT+zWT^WCQ*XbhWqc=pvg_ll(T})LGco*P@>rmME#3V$AU#R+%CKl z+&I*Nb}uiMtT;%YTIUf=A^J~2L)Mh1d(nb)EyV}zf<-xPH%ezbK`2<1wi7I%SREo| zvM%@8g>lSUo`T6&hv{H+{`HVpkz5MFd$I6)L5O0S>aOu45c?iKCx5Kg1KWFK`jANV z82$#Oa7UVW?oK4uRq?dX%<(MrQcmj5H2bqlMmR+Iiy#}gkx=fcUYW-uI_J#(n399h z2smkxuaY+aH_9`@>hnFD4zJn3rba(cc;YPC@mvGoK3M_~74{it#;}WRHl*La@*-Fu zuDrpOj+iy!95x8k_E2KPXu9~xxhKuh*cX`ZDu)frdGge!-pS>LGrS)IqMb={GmD6z zenF*+$Ut3YYWs6hEqNFOp)BPjk`<$I$k_i|CDdI7pO@`=#gZc?X15&GL;vd&uM z2WK4kipi9##hLBgV3%Q)UGjJ$ig`Gp&4^dKWji~R#q?m`q4SY*n~r++6fdd`Gk%z4 zxh`+8mdbX2>MQYWVjsnm@VFxePE zr3*;&Y_w~PQRu9AQ{cjBx;UuW6rO;8iSRmQ-yMO6-?`1-B=qkxoUT6kiSJ@uQ(ra~ zELIE;7wN_#S6{J7jMMe>Qldu_XRdL5Leqkf|T*$n`8@XeAhAD%}7CXe_wmsmA(q?B7QfI3;N-p{PFmgmdVWuQ| z{bq~~-(LE9e ze4kU@8>xxyxe!Hr4x4*)hz)cjCB@nHrfl6Le*k0*)4Q>XIG$emBw9vKj3I2xh#PXG zESWV9%7{-1ON*?IkkqnzDu<668I0M_yc-GjQbaS-A3xz<+hm1>N))YF=`FjWG@lDO z;hHzpn%BR{4wPegKkdnAl2dRo+L4)A%fT5h)wQD4gr zz^UHPxmVp@u!P0N@Zf(%K`FAC1`UHV8p-^E#mErwlj{rzoHs-b2a0<^Gu2wtW2kWI zb~$Nu;K5I`=$4qauHm~{anOk2FdVKZnwarS?pqXEVs$B!TeP>~hVI=(*6s#ffN`Zv zM2GMeuI|&1Pe3VjPKvbPvLLR>T4_rGCQ~Rew@|m|GhVC%11`VtwJg%1=gEFrCu9SP z_5;KKAHSKIfYVfv#|VrlgtRfZxKXZn3~Gq92wtX-v8t~d{EaPK>;i{9LT-HC-*D*% zyu|C4=1O&U^)I#og?!=l>1qK90KY&jn zlg6-^p0YpmQfILc;Jg%WqaTLzw8P|stA?U!P#d7Tl^n=-kj^g6_8EeM4e51(+4`zu zop}{-Nf%A;1D&9C!3?%~5j94h z(DoJ+t9n6F&yHTYXOIS4*$pqR+=~QTuZ?lqjffrR$8Rl8u)dioU{b(H@S@cnfKOl1 z(l*W!duR`91n~qVPD}rd6?{dXwhJh_xiwQAB5j2+rCLgx-Q$z2)#k-$YS2ZS-GN*w zM+M@Hnz|ubZIfu{+C437O5xwBr(l@vAz2TlBdI=aEXB>K&z?s56Y(HJH%5E5IK|0O z+TX4ky=e1iPaDT{f_Djn^Oe7x5>03hr~*Ek!0Vb?7x^+h+QKm5lLxR}^2{5Hm9Cxh zVy8%pb7esvx!NYi{wxmI6ODUNK;yGOFJ1HPOfL!I)uegHiZ2OrDXEQma#dKL1&{N( z(DkF0S!QsvUIwNg4rzK`mpcRzb>%u2KEsb4_Q8$EN~?w!$ZI1s^_GUX-|$#Vgq1kDd=+3 zrr763<7%in2*4KHNBg)e93(s7?{bLqn{#9hWIaBc#e~Xd%W;&xZLIixida_f{=ME{ zlw8e45DsKu<$DKY4^A^Bse{?yv3Q&)?qjT6ERxz%X?0UTXLX+EM5@Vm6;#g}Y->24 z)9W9O$egSHw!wMLin*%rfcSjo(yYx#?(x*g{V0z5>bQHxm#sqqV&c}rqnkcY10O2r z_LF(InGiF0JVIsq&gDl>$`@%J82{m+;<1~h>%@r{Gb2lh_yJ1psuyb*7cg!>zLUe~ z%0cmQT^j$#o^7H&^nO%(^4Kg(u3%#ZQ+b#nINx_-%vpX|(*HgiddfmdtBlF}gR+2fm2r%b;mO02S%+B$k;%k^EUCKXewh==3t zRD(~p%}OP$hajB&(KsDp(L}HcJHY&g9=2i+{9HMg{ZMc)C>}P|UuWUyO@ehcw1eA` zccb31Aek*bS5U_vX@k8l#j&q@H5&>`L`zseFuzsWGCh~bQ-O3KVx4OdS z*4Aycs``lUoJQV7t+;4n4FYLqbm(Jdvd98XUaT&>!1RJ`hX6f7YCRDso*EaiNevCXKne+Afn+N?#E{Cxmvgq#NGz)eu{rw z=xtFfoUpqE$<-W1C_Yuk%N4M{#mbP(6Q-frfA93A5zO^AXB@qeWFzUIJ0 z)^F%!+x!v&eI9QqTGwU`3*veHje@)ao$$ySD=TM4`ab2nsJssVEE6=)I9FkotkREwM9PfNnE@7Y z+Yvftj6b0j)<wOf*W^1VJ&@2b`j?8CMRgiRzVeGXFNo9d!8Mq^4dc3=d ze*4^Ne2E={)<)OEYWSu60rMxp1>^`%I1(knfAD(@y}(jiaH%M0gu0Bnhtff~M&AxH zMPnABGBR{njEXVzBrKUsP0LoVU3Z$)m;o@A^OKk zAYC9^7fu%h2`^*iu|Erp2%HQhV=xl1o3H)NLAPgbR&Sl5!q?5`f$^F)MSg9!5;h!l zc?1c?BH(S_BnQ!01I%{^_-_))OSzym>IdIUYnRNQvx3sB(XWTP5~^CgE3}bC;HO81 zaTGLHz|h6>0UV`!(E;c*-zFv9dA=GTP-xqLU|^Se>|OG&nl@T(<7qT+6YzzcHg&oeRlC)8>#^0N zyKzlNSd9$K$-M-V@-({f-eO&%_wI{m?oox?1IVK6_`Tsge}F)F0E64m~^PO%9+J!%kY%qL5bgQI!Z4t zOOA~gz@FQgg?s84{~z9f`5{JSwLkNMYeA9cvLu@v*=}#6J>U~Ol37r|ijYni0maM^ z)76j|M|jh{+z_Citr*E7L#88Q6anT3e^9FxU59FJ13cM}7JcPy&-|4gG40&$K<12y zq5JMwi{`*nWq^;3gV6{Xm%uZ`flDxwc%EU9Tu`M|^O}+!r5Dd;f7?U|KPI@ zq@0*=HC?&a-n?`lEy8}qg~ItPd!@CO&x6a(;>?>=$J}yUWbHXF@~Sv2T}~=SG(s z^UFM<#9|6zP4gkL-KXTuz(x6lWcu=xx=#z+@#ctIw0)5JU4*xD^@;*shU=yKO8ixN z!J|Wksf&^K-lN!Y){<~egd-2!`D#qzt0;b7nbk%oh?cv)#9hibg@@R&e0BUXhTBaF z-8Gh88vu4py#bKlQYy#|gRD8^ZdH@##5Pje1?vdhKJj62(7|tJ&3$}_+y>mmh3I|W z?!b2apvob0Dd_Yeac7i|8ONvfy57uG#2U2)_pLZI>_dq+aoaU}+&rfr%quutby zmWLfpr@<*#P+@GYw)84FCEm4zW6K(0uJhCpGdJ}zmmF2!8A+Mn9VWwkufux`Ls5e@ zc~lOgo9>Da^IISkoL z55Cn<8!^6>TUYQgv!=EA=myi7OZJg8UdXnMMVDe_1$s{;-Uzj7y#Q)XQPf9PJrvr7 z#yC6bTv7$igG5#r!T{J52pK>G2%{TMYJnM~bdt01HL!+}^jN+>`nFOdFf4+dOSLz_ z;9A$3|5J|RUEX@q@x%J!bD&>fMmc38g-IeQnhh!|>G{2825CESl}T(FjL(}n(}_YSf+!1FQsHMs_H!Nf7>f}FiSSCia*oLp6KV+Jh-q5~Z3pA%T zQes6E-J}4tcm!?iz}#CsV9H9VW^!E-%)CLFoeEx!!)gYcT;y+S zJFgB@7lfvLwa#45^JDm#>GhG^<;2+1YFAcQ2S)agm_})^y#++nTT=U(v!xSb1!=e1 zO)mF6FgX`ygVh-9Nq0@W`As*(CbY}eZ#JsOSJEKs>M!r=1P!vpwIh#LZ)=Eo1Oq6` z$Pha#DpWM>=Gm@ChiwDAq77_(T6NdnQgwb!JnC5I3%;=e`7Dohh4Am=d@i?@EtEcN zA+JC-U)QnGXF=4aKTVWNGvmRid*)%Bhszi-RbH^-z;Zx&7>D#(Xl4Ws!edRGFZu;l z6MJAPlG{)r+1on> z!O9>nmoLPtjNbZ4kDI8$+>&k|qQ$^8$d<;QjGpemP;VBaRyrHn^cU;03M9Z@{29P^ zlaw=zY%>g~1Y>H^5shS`?qzS*#!d*0nh5TY^RT4GBsdRgW!_fk8&=g^H2h6OvawJY zcr_2SM!o>2Rcz+01`Sm$y8n z^si7DZTKP96jVZcw1m#q#rKpb@=oYSjSG1}Svs@v#(}XD)tSXxWppBeRnrqgMDY+# zhJbnXUPG=46!%fXs$`3s;ewP4xoY+35ba@_l+tNg?CtftDRJ6M#EA^Jz)0$8b7SUt!)NWw`2NOjVwfc=pQLrf%(US|`}8!!X#Z~!!4 zTl_X^@=?;z`*_2c*Mje>Ns@sI9fgNY#^Y)b4z~H`B(Is!1$46{n*W--ptB6F=$MV0 z)M8G1GZYMxK`wXzi$fpvT1r=VgYaFy7jlYhc#B-R2`b4^!tP-K3_*a2Fk#0PhD;{J za~LLHJ1fFeIzfe(^EgcHw>t2?wC-^c#5|89UbFS7VDQ4en&9HzxZCjw4+h!Sybc8_ zHz{myHSTye;wWC#IvFraWMKqBG{CZlDYvZJe29xZTy(J;ai1dlBy<1Z~GX_h8G?<6ZQ!g;?2_(o2 zUw2V*6GV@EuK^36a(l3| z);L_v=|iAvV%S8cC5ET#`vg+@($^9h6Tb#e^==E=$jzz$#xU!P_9|^D0f?6wQ~TSx zZL%2&QyCwbm&#U41O9=jJjnPm}4ZUGEIgsjNaLkt|O+f0AVC5Qy-@Z`DipVR> zuL8#k6kv^(h&92XW<1F5dUpx=zw7w(%!V&a+wKuVqi5AZ<&t+D zL`pBqITMjU3-%dO8?{_eQ0b)RrYZCOSZ`LlQbUr;4`hRdhg9jchsMP+YdG z9H>Pdm`E?<6BPaT%9~<-7j{#zD;nn6OTg=drZ1u zdA#~c2S)M$*&e={1F1Y25Ie{g3h*s9{opSyayL3#5MCgDcPP=IVZYN?@f%&5~NOp?f#sgJ1;O9H)eNQ7yDp74e z1Ech4S0@tVly3w-s2=G<>tP=vC@TAEkW9rps=u>beBK01bl>(`FlLenvE|%RUNvlR zfSZe`e2y0PrXh~a_USh(kM^g=G<|jA=Gi`i8($D*DV0PV- z52Qf`|9mjEQ3o}tw1g@y##*AIudEi9YiLK=vRd-Lh(cLy4?C@9X`?_@pA7NwZo}Sz z%8lt%F%4YE=ia3*BSgQaAJ`w&AOFN>D?BQq)t@2mg5rk0a27lf_DwD(S%FWH%~#rF zUBtOk^m8VaEn+s*b+jV8caU?bH{K-=-AhS(U}Wr;fy5!)UYGK}-HlTM#~}ARjeY+9 z`?u};`%=fo?tmTTizYw-%}wy&g*-N=Nu$@UjsAKaLbj&0i-C@At{zG1*CPtWXOrK7 z|I^GB16N`qM++%;{nQ9ChpxVxjRp=s&NN)uz}_EP-{-3bTK-)>)S1sSX8zhm%dP9N zJYP-Zo}!z1=+7rfZ=~;Iw+TXoYtV1nh;We^8pWTeI6HIW9YIH4Y6`#Q(&Gwp_(dPA zkZi(Ud<){9>gLWl9M^A6dLWz`n~SDsA?qS* z%2mvPl8_pSfs&{K24(zkB)Jf*i%>oT2|b8-ugYle+BjZrIEojCIVi5T>GJ)!zKG;f z>$1F#y7_y10-h5^m9WOIJqZ8;{GS&iX5K{D5hReC1G@ z(HHTns;n!4GB**7psEJ+&tNejJUO!~3DBU`Op|6YXEzy`$}8-f)O)jnnv>^Ue;`DC zcqHf|v2hWN=KTLmOw&k-`g~I#-H-J9TOl7Me|k#fU^er?Z55cv!oiqx8&G-#53xXn z+wOZI*waThsG+cjw@jF$_`baeEG`DfDheAOkxjuSB?lweN=KhdgoRM;ohr`lD258h zCZXCcDXSlnl~`beG3puOHR{98+v%TXd)84JNE&>?M6vF|wLwNL`?a)CRyM1sU&5cx z`pViF_4l&zO&90=^I^tPc{Ypr{d%2dXr^34{7A5Klm1Y2WZ*7@1py!MQPy;j9Zj)Y z#ta)&JE>dgt!SAwA2e!S^?1akwPcLumWQc9X-}T`Q*&*p3-rsr=lQ}Q90Q503#zRng$PQiyERF3~n^r1~3&N$f8Uq zQI`eKw8P6En|k8!(O$Whs8P<&Yu_Yf-;JR&l>X+VH@s}loca=r?Vdb%MOwIR=(s;S z$W;?&K}-VxY_-jkTKv4Zt$8s~*4q`qvmnXH%^>@q-yd!nngykRXGs-8z$k|dpM=vK z{Q7;2Z{nF+9(fVc5lfQF0xM$jz95WRt9@X9BX87^nC!qhFNPP$$Tet${AJv(G1D4s z7%>J`R>04QLPcHi0|?;?k_xcg&{o-HG{~6pXR!B+Jk6fZ0GebE{*A^L7G)`_&3DE) zF#`h5ZQ0jKI0Eb_cN5jPwz9KT8oe?W3})ynlp|ikI%iMInzs~jtmu#lT!1p|FjjQN z)*u;_xpkU(Swng>_~flkP+KoE z6Z!m{sM1FI#k6ST>zhppUZ9_uj;=bkZg~n2#`Hm9EaMioQ8KI|et;bd=e1|^Y!C!= zP|R9u#(;Op((*IM z{E^sEt1X)*7xR27T0!u~_NVS+N-Fn-^Vq+tedf3beuwK^ykjTtE-R4f7NKs;=a8h5 zZI3qGE0yTJaR&u?AaGBM{VK9L{WI=hr7`G$m7C@PU9nv){oqO?Z`Bq7vm+16VolqG zNV|mY&Vh<1GTw;9h9u|BUR<_MSyw^BKF!FIL(|zlk%r5&oVMc2j$wOv@0xfHa$Bf` z*uI3@;@PFlvP{%nICy1yDIAB@0WaxIb1{yOwuVCoOhg8J@@9vc_|umMuknSENO92T zP{ff^c?D7V>6J98IiH{$UgSAJ6~QI}bYu$STg!aKt;lM;w?=^l9{?j65 zCEtjkLBLesOt~?6v%kSk1Zi(Az?kTcI|&;TJMdgYo0~ZnbGQ9r?9M$O+0(;^3O@N2 z4Vj#z*P5t`y`MHW1~RXA(V@x_YD#s8wy&5d|4>9USfMLDq#@h~UDS{03Eb)k;4w{M zm^PV6TGrHR3=x*K6|LlrJo=MFxi0Y7ub-Y%<5dNZ~F9u=*`P z09@rjY=uf{l&8xwl_I8mm-TIVyWmrq_tDvYfm-e3P=w)olYL*ct@;n-ecvNlW^P}=`t`VfeUvR~SR;B4^qoauhuMKJ z=gI%gCxfm}^&Lsg4yEzlaE;;8jd}7@?b3EX3NJg|POC~q*hI{*->DzR(#MV+ajO$L z%X1Ix@v9*5Z`LA_;v2;HwCtj$_DY8gCKuIpQX_2{P68`Rl)Udw+e(y>s0ua3jPdua zH*zHS2QEoD6D;z>nuw9=Ib)359%6{<9*SSaMCRuh8L5UzCJ5FWQ(|YY!7DwAu24NsrOlNakw|mT#b?BbZMru&G$#sUnj6;@y zK7coldHER0H6JYwYEL^1eKM4`B`3LnX~xuXa5ZgKgVDNiQ%9;pQf=dtu}?BbtG&+w z87*(yM)Bow7r~BW+X5I9Hq^xl%6Q2Q(p3DE$HrPXHYRwxBZnNi=tCkr4)~#*G zpo6_rwA8IW;lW)>Yv+m8-j1Wn`07(1!>d6ogYVPu3rJ0R5O&A3cvpLnR-KM_=BW|$ zM`K!AV9(Wr-Bar3l!8VqSKvkz*~v=id>QJn%+Jk)%S@f}^SI3dx)E-;<%LwUz} z7#Hkk3bIaQ=iCRd|ocj4rhINo; z54~%O*HNp71?zChGPn-B!-b->X$0LrrpzwO`q0@)pfSokT>~FHU#^PM2SLl@(;3P? z=vbm;A+N&!Tz~%&%6FH^)=V!_OM~CW!EcMaX2AGey=N>n4x+!tfwaZsv)^=90H@>K zTrEw)8XH~-oleazd%g?R9EYDVT}b9i;`aVrB{$wz@V6?V&%4uSxN%c$-qDiFfro>k~F&HZO7ND5LB@d2DR9nrpxvU!ZmK8 z&jr~2bQD3K?6>$?pr`R+)h6?#9jt`f;cV(=JsLqsirj&6gju7~jOmOOyC#iHO@(uk zi!tP1L3DT1b4bU`gF+uuI3LRJ7KAO4a1Gx<9O`r4*P=McI<-H`4IF7hMQrUJTN~nl z)ukoQewk}EJ24h0y?lhJwTnkNhY9vDq`bamTDWE%4j6H|P1daBvYr_9e|;9H=CF(t zN^Nr=-@ju1t+Yw2m^`HHtDlCq3{N=t)WX4HJWHN$Zqv@Aky;K7>K+Umu1QRprV#r`ufwBw zc&AaWuWYuvgYY)QyP%2epVqUU&wl?N!~Rd(uz3L^vhQERq!c6&5FQW|@V~am|MCw1 zr#bR}`G|r476|+u{Xe@^rR>P{GolUO$a;qrKiA+=2O8KH{@A4E7hIbj-hZRG656|> zi|-p2M{PsfF~S_@U{<1km2PKf7>mINY6(V&V9_NL#y7AIpI6&;BEZG)B?x1(=E}&$uLTnmNWUCb~eoxyHT@PBW!)?PHChEJZ=Lfv;M~FB*Lc!)2bWH=ER$XQ<^?JUmohc3p!#7 z&2lIsXobj;%DyjkD$71u8!gV4nCv&XLvpsFsG2VrDNc+wLm`!xl=F%l z=WJ`|Y~u8fuXizZ!nTkRP4Jm?N`UA_8Pucjhsx5A!t08bd*B+TK5E}lcH-CfdSby6 zV`^cwBr$)horCw#jSkR>PCmsfW2yD|2988>BeJADkKiq;tEr zpZ6m+$mGIU^l)>(P3-Z}QECM(qoauyImzM9aK-CUG|7%3U?Id36@Kay|AG?{_%p#% z4)#NH1C$VHhZJ6p)B98+3Z1&D0aT7iE`j-QmN~GJSQ!u;MNf$b)Ibm_gvr*8!xl7M zfnd%IWn6t8Uos$xnVkhs8lp4rjb*V(P8XWMeKgn(PEWSy%7h$AY(%((z+A-d$km`9 z0q0YS%_cGNV8#Za_{G#qQn`e*%GsUC81{3J40nW0tV*!P-Fcpn?QQy@Y+gVI2R`wU zXPKZi_)wqO#!_dA!Zqcsu$PN;Gg&bx(wIFq@FIEKl)EmUwIh8w{!-g;xTrCbX7NWP7J&~KJMjZ9`h_*tA?ktoX!A##}5$s}87?WBnp z(V6T3Ql6-UO`lq1U#f(ORPi1OFG~r-y>7W0{T!V0&aubmXb;(hrliEZQ;U%h;hT)+ z(UveXnoSy(-7lMbfQ*L>Lh-CX5ChHbd)C#9LA`}&9GQ@ZX*q?by-TL!C03aD&s|RqHI<~hPHdcBXJ-=cSwxqP?=9f>aXVfkJ`^3ELd7V zJ}<)#WNq%jz8=&BS+;!8mFcTr@KJ%6UdZXCQ0;$Z&Hm5jI*blvz4tHNNB+Y7f4kUC zY>oc|?PInZj7Xt3;BN>ZHwew{=!TFXIcRO*Qtv=;Vp^hu;ABTfS2C6^q$}|$%06{P z#3u)TP9`Ov5hYSRyb4&+y`ckn2;GB?5)`_%0(W|Ti#zRF1i1$?_l==sheIG%-t1f> zGVMWQhMLci0AdkQ7=-@fo%mn8^ZbK%>nVH;xX7ziLl8t^a>fVH9zc?`enGR2UCaxC zg~HySdO|wIQ~ex#dpL*4Wa5!juGECw6PKkxdR`juq$KNWxe7JtVD@KHx@xU+m)5$Y?#DZk%NS-@~C~=zvUJ;wX?|T&GEN^?F%OSWCoO z?Kww8Jm+f<;Nd>C^`vME=3nWx3P_9gls}56ra=2%dSajo0Ov?P8JgI=YNY-GS2S&W zjTM^nZKIA%X${ss1P2jqGgxsoD5de_TD42laou}6 z?nP}Xm1d#Bh~;p`7Zsx<{ox9G@_II*e@$c)9xh1&uEQx&k&|_FBERB+Bt2cuhyyHq zN+drJf{L32fpx)Hl6^{SmY=9;JB5T{)V9?Szpq^Z^jf5pW#Ww#gb1}$|RwW0+U9~GligPv@NFccg0|r`yW2m2Qng&p) zwS2T7<(a(_b3?({$IJy|logbYd&bgW#UFX8ttF5YuMOqo=JT?2WgYzw`Y1Nk8cRcN z6t^*OELs{cwFY9Se+tpKO)Yfr-Su#O4x<}?{|0^HEnhw=UtwDMQd?&)Wn}H8KTfMZ z7#q8Lj`+PnoQa_*Ymy<${Cud&>NVA&GzHp)CNAI-*E+M{h*Z39fG1hC4w3Rx* zU7|9?B{t-!exP1!1pl#;&f*{Y6HQO_mZry$Mg}e-q6V>@e10N2a}hu)aIe_@u1?~u z!YqS}^Nw}ZO%>7RldauLje5>I_Bayl5iJFik{H(aDJLnWi&6(Q584MUAqIAdi4bWM zNzaFNz`i`XjAgdgS)o9%I&eC0PlG6FY6uPPoFW!UFegrcYB@qYod+6tgSh$Ho5Sak z)Qb;Z^S(9B+y_SrZEd9zuRP0+pj0s0MZQyg@^zJSG(frOI2`Mlb!*P<2wVNGLO z>_yE<_=uPHz9ZmA4n3}Pfp2VBG6y@yDy)=OIEh9geDaH!6j`8v z5L-oJ5KL3#1r9DQp@66067+=(Pub8fR5h)fbv*}dhgti?r|aV{NB-}UCt}TlU_%HX zpbdN=AoTyWH*z*Nu`yxzw`cmd>`6n$4pjoLNA27V>k9uP96u2Xawrzw21+y{f1h(3 z{{|srOJgcJ=|#1#Ua7dE={#Su>rtUu45S?M&0=1u`PV+pg8<9LV-4RAh`>lq@4A!Q z_Z~u)j&AQGGSky=C@GKmJ4?(;0+NUs(9B@E8`T~+gDDZEJ+j_tilU>Kh=&?$-bi$iQu=nIV$tY7#nhp}_#wKPDilsqos~wzg{%x~4(rT!KX%F-xLap?D#|$uZPhjWR(zG+1I)-4cj4NRV@r2p z2DJLzr&K9}ym4B+w2t~4JRX1g{`yzek~p^BZVz*qo?Yw4)FaBa|79Ihm|kTKd&@a_ zC-9nqlkWGEYH6cpKW;pJ&GepE+Oit1Nhh#a^p7wnbNm@zW-jB=H8u)w_+6_cu=E1z zkjsXL2+d?GrtS$bM4%r4^*OL|2kFpNNNq?KZlqtZy|`eQu9t}nC#g-eWIjU5OLzQo zOuq)v?)J~(7=H7Mmp=c_-hMxN`1)M%65uJT*(0M>;`{!J>LK)v{PO(Rx`)(jyKM;n z{w$sGeSehUP(Tlu>GpjXNs^f9e*KssB;efD0zr)Y!ygkN$}!5ce!_%xj3fxLzeM?l zTp|`(O_t2rmpL48T~QX?%`^-ob*pb4?kdT|%Fl6P~=dX@um6ml#Z0^!!3hjL^W7 zochr&E|}WX zB>TA-VC`vhk0kHL*KK>a&^S&|h%@gd>;C=tBiC*^>iqRX>#hkli{|C9z-Dz2)^1B= zd^G@v#Zf2oi>|LT4>HQsF#Jx&7pIRARjoe+B#Q|}+ecW%8EFq~a4|Yq!L&*wLWzEF zuAi32;{u*jAX&#sj({3CW{Dp0@=p5JfW^$nG~XjH2TF4eE)~7S@oXx1iPm1qf~|19 zvuV?~l=VKz1N9uj;FCJPMYFYlSdo!5;Hkre5qd%kPSLcPjjSKoffnf)*6)+VB~8RvR->`jEzBR~=?8gfx7&Fej7A+J=Ssc>O~ zYOty$3)XRQXvmO?_R$d5WKT?|TXk#b3eY**hnc^jMr|5F8y)vdo0;Cne^g>m&O@24 z)#y$Aq;0ZinRa1p4D@`p7Jpu06;u20$WZ!u@SQ=$?X>6Hj&hohSPJNsJTad*5EjF0 zSHMy1q1fHzXb@xoGs#yG{@LTd+@4ryvD3i&Q>ZUQzhZ%g9%I@QWZ?HHV==@o_^6%b+1#x#y1VSXb zvpTY72Hl)MIadWKB^nygcHbDu6FCm9^_*%!)pwf&u`Py;^cam_oI8~Gp*U<&leq&@8~8CbeqxUyWfuVBV)?d{v`d_4R4eBQpz%A)eQx{HZiBCKpIT||Xh ztn2CN;Hx5TweWefU3TCHJP!bDDBifcd)8YH7)CyiELX2L%6l$2J|EnNDy8+ZL$P)B z@J6;CEy5>kdT_!9>;;bKR|YVbyxCEXPRQ&YY2*Vsc+eQe98QfOm1}b>)%!698SOPw;Eev0? z0{CY>(WiVg_j%D=%$7dRxQ@P&zc#U+SclOcz4_&OzMKwDXAU0ZqfOpw zk?*bj2RtSz`^YF0XoqhF^AHt3H_%gRUoBSU)lj7d>2i!xANGDc z&8UhlKC5n7Q`Up3SvAFC-krVzEn3V1C#h}nJhF6jUY|7^*Bosp?l~bAof?ftz&HnK z8)ps+bZ7*3BZM0|X{N))z9NkatAv_{OqJ9b6n`Dj#S<4%)P8#ShzoU}1ynQ5S<|w# z98)5Mwypvve7S_4dBqDT-KPK^l!M{4YUS-r2F>Nq)#{RvaqD8g)lcWmls>|Zdh)MJ z!tpq7zu#>ygB?GIPQ*}?MkpSdMlDvOItv*v|KtliFr>|zZeNEhI$by{VezPuM!UpicRVoNAFa;FR4An0^|9sp)2_938n z6VdOmnoTiw?L~HTci_;P8Ou`pTlPK9bs>rFBJ)1EB zQ%awg(hNypJBL@&eEXxZor%qfZQHhO+jcUsC*H9qwr$(Ctx0a) z_j}H{zx&*C?;l;YYJb*RRlWP^r@NMVJc+N%BFEGDvCh6(o8OlxMsodB=Cw`xaox?C zNod@ezWAl?k*6QSm~MBRCSo9WqAhouhP-^Up3;! zByDVaH|x5quiDYK_jkKOXs9({NEI)0 zn!oQ>eIoBE8X4(%|7*W|;imjiry}w18ikBm^RV2=HYf1HG8D1o+MkMkfewQ_!x45N z!x4;?VG%pBeGSm2E2B2u0)-E6CZGC*QN&gqHTcFVh8WS7AUVTosnQV(LS7yGjisxSpZdg1VNl5GtSI+Arv^7ty!8;{ zff#dpj~-aKsaqqWeGQ^|%oDQ~9sMY|={5|uqbg-H;b8c4LsZJv6spmxDA$O_JlGtF z#>8sz%hC5pMBA7cS_UEv#{hUkAqDmb2>`BM981o=XL2P8zARI{vQme*cKHW$m;3gIEunuj)JMU&&W!}LIh5+9z}_wuD)@@!ym6;_oc9mojUPFob$H=it8=qX9&S%2y+50t6G;4Xg{wSJcXRJ?g!Cx;Ihm8bTdM`3!NAaMBWl>*1}!IbD6+7%BY; zc=BTsBcKV-IA>+0D#;26V8%^B_fX_4OJ2RnhYrVJe?o$}f3`Ss9H9nzSC$kOQ|-+b z?y)||2%RkmV4+Dl({u(At3p2~BULf{X*AFf3suW9UTZ+naD%E{Ax2hO1}|3~U=y)e z<0$P7DMT^K8c@NR`jIm{A~ZxC?S%haJMnX(xvd;c&oaq42PEI|2Q4--YJ+{gqH0h3 zjtU8*dln4Jb=*&ah-Fj?((oq%utDld{y<_P89_obVH}}a+d2;nVpNE8Hk;cR4WjY{DGkITb*o(?U`FU;%{djpA4t_TRf%GY9A5c{7FqLB(h0iI&?xt7 zO6h7sm`j|NuA%#QmXz2bZM5fOM%I+p%7$@tnN(;8d4{1Dx@>dWr7?4=5a)3&$&3at zxb`qwdoFt#2t4#6&2yPB+89_As6$NHh5b(g zP>}5`hmIL>u?yCec^Gx6t=!{!(|d9xcux13;ctt_dLhEuk4jG0AX$hEGZXq*i0R4z}?~q0Z#G<3f0n z>?wn2T0$UGzZ;mZe6V)G_eKScW8cOWJy_^9V_Nr9dhz4qvDKd&mw}hXCB12;W}zcj zm{0SlY(`y8Tm$WsQ!r&*laZGdTv!x)XY1(uQ)rT?>Eo@GB^CE)F~Ot2ML2CxEn#t+ z4#M_kLoE0E#3+`bn#gIPd%8F4ywxe{_YsMqdgEvW# zJLvCNFyM;6kXuEbbCV~G7$qM#KuMm~$HVj+t~+EpEBP&}cp zVMEDxT(E4dcIYq`MXROLAQI|nkaW_XnbxeMeK8r4>Qx0+4Ap8-E$=IlOcj#Qacv%3 zfFU`sbQB%3(n87!55lJD48in?HH?{qJ_~A8GWNEuLSBi|9P7D(uC{HUsw|nsHV8ylt+HoF3Oz44i>?qQ~SQfV>{1wxhbWWFkCW6JZlt^l&!$~%@C{|l|ZN(Sine7XAlws^M{2htbT@zG5kI^Oa(WIswHavAi8_u=iZr=vFPqVSp13sz5+*t@ybw!N?wLdL|=!S%>GN2W19ni;jIY@ zBcc%9zA!0F_%u$Y2r%x0vt1XessPH8^00+G;5#xF!p1!U94^;^V@^4%k+T}+IR`4z zLmrPEW!umx|L$cWEk43@0UEuw(=B=5z*{z=Pj6l^7L`FfG!jl(7ACsl-DC)LNz93? z@B7)O@baUVGU&#ufoj1HuNHf|#DUXyxPy({Vx#0Jl$$Js^rBve7UpM5^^)Ljc7Z^l z0Bb1DOXXUEejl3oa_NGB9=GDYR*dt(Z0*CF)K2^GR6Xg9SAHe<*1U>mWeJPyZYmBD z@-{dbsUt;X*Vrzh2xi<1d9*n(>4;+Pb@I+^i%d({Uh5Hu&~57*coCI;@*uX1M9*zw zn#`W}RtSX-ETPE$I+h-G%=xXJD*ADQp0ZUOXSrsN(jlumN5MlFh81hb0xSNcM3`?U z`wxJDXZ?XG43xdY-%0J1n`{GnO4Hu++Tvd1T6>T0e*ouq4L#tdmTttg0B_0mngYFF zYp-x>h1%RgPTU3i2G7FhODBl?RllXD2`;T~q72AF*+%gCf z7!(2;GH{O~6X6?6n;Oyrh58^?;Pvu&637nNADlbsJS?vhwE-i=0i}Jm3p)}L4g@7t z{XgQl`;kouAwzhTZ_1ILA>`|V$#Rl$av{Uh=|v4gRA1zHiLi5*!$pV?x8_OVy09=3 z)j~JrhW7Ni2BpAk{umdr@S(<~r2fMPox373^n(xd*Q*=XLL!9;j0cM$Zqu#eSWstd zD_3NK4*~ie?U~PhcYwr2a{*f@4>fjf}P5`CoG?9wgleNJe{9qSW_B_OuhZO z5?bqhUU1eolsZhWeq3UO{i-u24MWK4btydw3UwVwykypxsk17|9=|xX%u9e1!WMwF z3Kwp$zaXesgLd2XLo9rre<8(PkC3K;B1CwY-Oy)4)xM}{M3oP55)vV+`zcK^GPt84 zwoIi_yleQ~x-|-f+jnj09jB2Vs#DP9-cbYV*{0!lZEnT*zMt9peZL;~?b&?{KDIOa zEpH+kKjXIYZe{n5kArjAtWT21T%N&A*sM=oPeE<|{qU^sK-nKeC9%*zO7atF3#~A@gYZm5(Cb!^Zjf5=431kBz4b zPDeXbdE2{dQu=d4*Ot{ocd%?d$fVsP4*1Uxp(H=n?w>|th=`Y6u;Vz!5?jb=vYDrUB8WG|kUvJ~?v8>GNdPe%ySHBj2s(%Gn#Vyyf3l z3esDQ+SmQoH*tDz>GbxZA6FkQXa8&1cKLLOR^l3hnUMTv|3}Gqmy9pI5ba2JO4CLuDLolhq4X$@@2LtZ{pi6j(xjQN$S>~I zpnL26uGjxPxCuTGPy+oOu9W(H;QqG*it5B8A&H7he5Q<%CNi4u&)WwPzge(k zgyT}g;$l2I(sn2Ou5F3B%O0$bA=AW|7#=gqSs_pI5gub}jiX^)Pta4sPZJ_1Ip0-g zh$#tabUq`P*wKg(L5H7ag>i~^wwSXBYjnI*JhIe_Z;(jg|FuzmpKJq~;mh2+IH9bM z8J!=gITH2Jl~==%9=3W355IZuB7@Z7rlV5S@?!S*znbe(7ijhJzn!z48~;aqjh(Bl zk*U+S!R|kG^VaS5+t7UJXZ)c+z$^&Jk93tB%n*EROVXVcvVP}JM^z24 z7w0PE@h|FANJ@4|7K=!^v0zR0lQI_BUNzEhY#fmLzrC*exIO+5Id^FF@Q1hWeN?T% zr2o0Qcl-BoyDNIDby@vVt2qn1o%LoR0oAKaFWkcLLVl#h+z(F}8AWtOqtrcpBKTwHB zU?T5zjw$AwCBvi}nmkP=s_^m_Yyh}Mnke6{_76}@1DIa<;1N>X3+d^`k%dU@=R3Y&&!z>j%i(AcJEy$ zZ@PDWZ^rLp3>8m}ALku%H?%ob`xl#~Fm9vg!G|8qi0HKFg~wJ=NGkEggtfi}QWyx`%;%$7 z);CwbV)9l&G1Of6uz-_EdWHlCdx;Bni&?n#vt41i3`Oh5PDquIUHb59YVr|zt|ssU zA4zj$8cXxwmSa7Z_5nR=;QNz>sTB8@s4$k%pONwy{oPSvgcn-u^0Zq`a;f+QP+jS zck~8|Sn=`hiu=0%vOM{5w(}=Whuza-sBBXdIBt~q)(|Dom0*wXOf>LIm4~>LW@*p+ zD#z!lM*NNdSI1ps+=uyBzkIJU!~0zwOr7~b3G=PxoeGcsWL*=mkx2w@V#7p^i13KN z$u`-0A}?H0iH8G6hCP4B_Jo;Whwm3G0ajh{Ww<|X z#XOz(-A=GW@2Ff5WG+c6N|Fj!;xFS61K*I(=jksNpu}Jm2EiSv!s5?8#jwwGU2IAf zf-+N34nd)0fz}?l(oZMUP(hbR>zj`7rP-2w*H1y-AC9PRPuCC*A`Y-J$gvT`%(!1u zx#;!tkN8pHxu?LX9GhMNf6u#RfsWd!dKic=fufrR3mk!x13WJpb+N6(rAahS-=Ucw z{$e;;%4zFhgO33MQThP@OIX+Sy}8l?Tu@A(M#em6B+Xyf3SpZ!YaADDZ_q}AhRx~h z6CkgScPoAyG4Eiz_=eh&He@=iS2J)*>^YbEZeAiNL7>4!3*(2 zBO2I9NxK2jh3pm;ESSA8mJv%wMS_z>2{KU8g^U-13na@FFE5-}Ekx6vhR{B=UjT@@L!b8P9QP~DyqaMq98SCZW9nkW%!Ewp^rWQfXIt;4b1 z{)w435;k1db=HeCZ%I}d zO%eWcbpu_3JEI;68P#H1i0}!*A>EWX%A9CE?VTd)BR~DuLm220;~xiIS&Kd^wj)H( zO8ygX)n<7-6Am?}tyETDm}N@;&~hclF97NpT7@T*cKn1O&`Sv17;ap3~l~HP9$u=S_S9cdM)8)20t%n395YIcvz{teY7Hr)L*CS$k$5uG zxfl!SQkn^c!7>a*uJTExRfa!NsPq6A8U0hIejBnP>Ai+}>g)nqKpl}B8i}sRsg7+b zZeb2^nNhMdMRv&_mss}$Y&nW-yJ&-kS(^_QT{RpK(mV#YWkHl0QA7ZQLDza%+s*7{$QGO>piAzYw`LlDw7L}gyt+Zoo7oFt zp2?IM(j=*}_ps6}Hp8u-U6>uPCi(7)le(M_j9Y#|r@<<+sYUEl_-u&uF2eh`3*!JO zxhoo6znaxlYAqWE9bzcLy^=+n4=RkAMIP9>54cC0EY=~CRO!fpFd8BZI$|ja!XnEO zB&2hxGIY`isY-K|!+VzCZP4aE+-QOzR@%>b6v}&&A3wUIVcMdJPGB*?q*SIH-*b3JDCJEZ&+_3Rcr^s>bToe~ z`AGdS@$M}f@fz2AXYw)~|0prqH%`?`o*h5b?Y@rA(VS{r#Oka&JX8kk79~#+7Nm{0 z`)y{Zb;(?m zimdtc$c>3zjI-lZUXrbAvPXQifyJ1i3s-Z`rpFVKzxAb}DjkxMT#I0?8;?kV1WkdE z=M^hI>UPpAkN>S3bk2bCQb5PNT2nSG18TibNzx8B&qw0l0$9s3DJa7Ksp>4eI8Y~j zhwIee&^ihs&1+YFWF9*lBV^{bnj&n5>uWY=s1*0Rye!!&f7MhHq1CambyQ5^o2^)c zD$*YyruW3ePhpzn7MEv2)3YADJ;)NwbLLT!P>+eaf zM`AJ}VMvC8@@-wf|j(Bd=e5Bd)K*C<*`_X;}j2XWz!WgZ2&cLvzqn|jus9< zXjZ)k6e~`}NQIR7+6y#7+Oc3psdp|OHlG;sS ztbjwkFGt0LBmpkeMP!*0%Nd85<3UxlHa>ckY-zbfM8z>Pq4PDSw`+_df6`(+iwdnY zHQeE5uoAz}mKCuj6WH9V*7QPUe@%>Y%z7f+uT`vArg-WyxN4$n;e#$9+%w6Eu$k+5 zH;T|Q(eJzLaZXtOVJlNTa_t2(-1JyJNp>Z^QoDT{N|D2$d=%@`Y0xZ4hF2UV+dKq( z0J%Y5%=hVHaHrtS`nijQp{X_$IvJ>+|Mhg%FCBRT8>R|Ww#>4TcUX`@TtUU94nZxN zE#U1{ls>(Hj+LYu3MeAD1ru*&Df|wR0Vc!56c@Y-KnTaDfkP=LvS~KUiQv6hl4)nX zuhSIKm6&EoYu0AghAG?3Smh{mvo_n0U#t2(DQwkj#s+_?y_I3e>l^OWh z7z8`>mEhQ8tlXTP7~Hvn&Ayr!C4`>h6C5W@Hc@|cevrObSL-2bHknu|T6 z5jm-Sq8SJT;=&w9Sdf@?_s%;8agEAhIAIETgJ_H2mfNuL+v1q>K8N<&_qc?VpV4Qa zPzFt=P<)>Y9U@xNmY>0al;ZaY`V5*?NP+6~MK{M??|20BUDbP7Zfa>FKXJy{TF=a5 zZxb05`~kdyM+%f4HdMXt9&XdZO=v;A+&Qyy`{oOj1z{KbmWY>~z~H%e60P2%%SsvK ztK3{sOw(Dkt~#%D*zDAP)|zsKW~a_uKi4^QS$?e2_RaRVA@vN?T#=)By5`(Y#ncAX z3!o!Try>DgRN@m0rn}s`LJzHiyHM)V9kX{}GD^Fx8EBNRyWUC4(SQw;pYe2R9rhF@RVqof^2TCRC!K;MPKm#eA z>4G9gayBnLDIc>)0+n?ZVGIUBQa5d&3YDEgnLGy~fYI#{a6*(I(o8WU8;(8Ht?Vy7 zFBbz{tVzitj(?_yQjB9rSy!?W09ZP{qMkWmcxRN3nUl3sI+O2kDj=@9jQY^kEbp=F?fE%ax(I1LKdf|o|1YoUc^k*byX#~uui z(toz#Jevo0uT(ZoU-G7dl@fe@@7w?1QK7UP{Q{JvKtSSSz(D^*UH_XguI|DW3Xv?)ARtA-#E#CWMw@@%gX+b`bb; zt)CA@qPD~mKuma7vUW*i1gKz?z@%wbM&tH?_Uo#NZ6mB z(k)=XqeUdxVCyxHRBJvf7C7LZ7T#@XLKJ=dJ{5%{Ss|7asR62d(koFLC{i{~M zL11ayaRG>&VS+r*sf_ziN}=o0n62X!S%Dm3F?uf{+kLk|$+BM(Mh!P+ikRVuqxuHM z7BLLe8Xf)tUs^9%!N$xG;V8jLSRSnVj$)n{{fRsT)2#c>iFda;vGSc`4sb^7j>lp; z2)}in6*Yf49?9_>bAr@M;gwu$p-YJUTD8|F2xf39<~smu+zO65Hyk?YuK9c7{~~`A zHLr;J^a)|x3vZsb)2sO^8SN+Lj{H~BfA=e)ztYd?eo^-ODeaubC*f!;ycVFjRdy#sxT(GV0wTah+d|%Gsp<+H0VLP9WmX6W(E0BK}`+B=MER z8%*3Q(LJCM0t}#Rz*cc(*Wh^=mFUW_nA%)%OCEtejWm2ivr&#E0d8uexUIs|Af*^n zG%%U!v@VsauQ3?xX=p}sIMqG`8hftRkVfh1_l$gI^F9%At1JY&#%z<2FIiJIkr7Vy zq?BWmi9HnT(oQ5V4P@-!gN=U%1sfUTms`?47kjU_rrlm}b_d}U#M>?SsMm}RJ3x7! z?!v~oo!md2@JY-$uL1GZ8MNDG^Ve{~&sFaB1@h9ItJt~55zz(}od%0Kc_8fCLn(Ll zCVG_o(h#Y4)^!0($7%L$bW zbAZv6&e~y^hvlL6r8s&Qe)VW@rhtIsk>>rQjdc5)+OcefsE+tXz6{Cfrtv`HW?13ky+y{ z@X|P=5vY4V1ao1->UO~Gcww0)WPM-1s53O}=A9}3NzpxnSP-6KFCP#MV1;H1TN1&1 zs}Mz6w_!XoukB6Gy?oLNfjcrMA`O4_jpSL*U}9j_&ghx2DFbG%F9MyIC7ZrDv{ z-L~szwC*|%W2k2V+eu&T`@MLzJx7H&Jc0gQd_tR}f5K)Lj=4UxzSk6yho?udrjstr z*b>$mSK1p-Ha=jGDLU(95@np4fQJhmq%dS%_Xl5|Gn%0Qo3XY*q|rjxU@x1Yx%6mv z&w|z>5`E@l9TKvu4?i63;8Gm|WZD5p`0#Pj;MK9gtPi&DF*h>bx!Qs|9Y$tFoIT`Q-8mW(M`^1n>(;aj$>da0-g zLO6IU^)L%GD0nF7vtsbUpwU=U=qY{g3x%xf6KWOegp}(IYrZ?~dd5Erccpm;MX0=# zfeubO3RKz4j5n$yWEajxaGyUcu4FL-MF(j=I&*G6o@*5HXb5Q`YNOxkl!+?-`5 zDsOk9QzZ7fUUZ^er1oatou6n8JMAwag8T1)yV5lFJBF9wQ#BZpue)hgiN2?l>@jr? zB^aX_<@N$n6@;B1o)M?@YLY`K5 zHLZTF`EnZj>E5G`%$pZ)+E{j%Ue-|9ngM2>xuH!dJOqRnx>y($#vkKSCJbZY6irN= z@`=6`g~Qv_-vFsYcz9Jh{b2=DI#)Q=BO{yAI*u54RkLqFCfNTlTTKEwx;*fNQ(FH^ z&=h?rEb15=9!{0Y-lEj$l`D+Ox$M7`4_f};g8$B9`oGS7n;{A+oHB-kU9Qs=3mDTm z!z`Z|Tv0G}#Qx9P{+WWRo`Fr}cW44&Z1DWQ;Q#)$1AnDQq3A9wj4JJ)vr7AC1&nMe zk)qvR8p@VUDE-2?=?sPx*tG)=3UPq0u;8=I!4wEO<^hsnEA8R?BRb{^6H`+)Av!UJ zUtSoQvd9K0L-t{6ZFObq+4exn=-i8T4}W5RYLyXuK;LA{m^9Aam&cA7V)8vEAEUv? zb37DxVeA<+nX&4Dkx4OX(*Nb7;=?2jR6Wvbq{MVJDN@D8#z%9-(COXBXPWdm-Ory2 zqV`R+6Hew(seCER5l%RC#C_wP^H#i1D)dod0oi#u*?$xlt&ZH!LtG|6d;IFae#DJ_ zC^I##*5IW!hCkO_RBrrX$fDLb(W|n^1gWe#j%!t>Wu&aX$W*abp879b!1VtIZ+t&5 zwT=wRt$qiWmE*XLXt6!2($<$(S^ZY!Rh7OsG5%I5qe|<{pxQVANG&J(f57#`|KD&z z`E8}9LSsT$>z-LKLv@~J_yih@^OR06c0F0O%j7D`FyP2WatUp|b=4+PJtIe0_41Tc zMYSL&IDxOxW&*9k+_ch=x5BHOEt9rPMR!}_@p~P%Y}#|>Yc@?PrB?N;N`Uf7Gifi? z%*j-h|K{R6=Uh-~T(v1vSTw6I68Z;w_z(6is#NwZTBzjOkDxhT-1U!e=s(!$KWhIA z`xccf`qrJO_CNA4|IS+Rujv24Qr|FH)&HnK`)5%P@aVTR8$VbyITYvW-K$m_QKwN$ zUh&-cgP{fhUvL{ao5fq0jZR;p9+yzJL)W>zAJEBIZ4{Z@BYTOzgeZlxZYwgoq(Wc{ zG9FH(Wm&M))9I#ny9+R<$}Dq&gLiKY7_gIcr0?=oWTpuEc&3Cwh+Ph``9MOeTLSsz z7!zmW2&f&%f604;l9nrth9@ql%)#Ue) zZFMUSO5k?mzUKR(=xq({Z?m&$`+j{^abqF@N4Em|h*N%M9nSd@+V-n|JF8Via8JXic9ftB0Q5I9R5K5&92NLHQH1X@?8Qzew)XLcoIHIxkzs0l5)HHVXXk48_tQh2-m4 zj5ZcbGJ}!sN%qe$#|{Bs2_O8~8qlA)n`&Y;b5vY2`@?@uXicEevB1@fkNA|!sqY%- zODYZ^SjPo$tYo3I0$?z?Zc!t0c();w2L29Qa#rR2;=4@n(5-18Z!0~^2nSsI$$oFf zB*%6nu;ZjkiWV1=(;8?xD{g;2$gY9Mf2B@mLIx)#G5#Hr)?y|ggZK~N8 z#GHwLWR8dcW=1&+LGntLdpI7bmL;5tW6%VIC!5%zW!|RRK$pqe#M2SY>M!s}5)`w@ zms(EXie4Jl7LdFF7sVYeHej{$Nnd)|ZlT7wE^MJHPdE~v+Yz2zMOV3_jXx9LjgV-m z)ScSnbk+5B6#0&B2bk|XFV>Ybkk4&D>MlM8;xmiG8Y(!EK<4HoEaZ;_RSeVL?6c2K zx~h5JE9PEmQfpcN+=_QjR%7MWBdZu`ZT||nLi*q8Dr5c8 zgxmJ=T9u2@gQ9kz1lSMv3T(|}3L8`}yZL|nWCQEl{(UBkxW5m1sZORG`h?XT) zzRG-dW-c{@nn~H8A6|DTuX~p6GbJmH?o&NTm?aE_P75kQb!Ko3deO!VacJ4e*QVZ- zckkNAdI^RPKD0Vbu<`6E1aqE=Sht1|Q|97n;25i8t$gzx;!BuRXXjbjJH`Vy{<51Y zv*Sq@uayle+K_O`dFX}#zP#s%y!rm1+-@XGW5KV1N?c$@nWc^-<^nBBiG1F z%tDnRWoxMQIJyua-C&j(@ZDEfcNoO+ZF#Dk>4b37M+L{n4>AzUnl=hB&(u(5QOmOD z?FSK-^FPaDaN5fcgIdb63dWbR=Eqd(wjc8V&ikOaoDRhT_(P^YbP!1VYhFa@G^&Y& zQZdK+5=VtJWq2ni;X|wF3(XQ#oP()2h?EViBbf)?k9xkCVYZ&*s9-kH@yX0JHPJ)f zXdv;BuFW^tEPBOFRK7i9aCOoiQWu^*_>Wee5z~Vdi^7w%8mstkyBDY1FOOF|$($(F zu~!kR;@X?s7fJB3D|0i!!smkP-Wu;Ohn7M6=>}-BX0`VjfcvNB>mLY4aAH5jI6j~N z?rkk$ZJJmKxbW%`?!K(-?1v`8K0@gMX%e7B=YMx#%-bdkcV4w$unWGrNBC2aj?hSczLGi@$zEWXmb%Dzp*2& zSQxb*5F3FRa~R@dLh->+qC@cz5+B)I=cji>NEi9z^JfVP*ZcgB+h`@SN|d66w@G9V zn0j*&9pHK~CSS&1z#DlcanTcB&5{PKb|JkB>TPphO{3!J9S$weRZy}U zuaikBB0Cnpi}4e&Dk8)7WkEGRWF;BE#N3+l|9Dfre4|t~I2RUZ$|>3{&QI{$7)<%%KVoM z-kX2;j}<<;^w zlbawhv!0l4?apKvIYgV3f>IFqsU$DuEaL!456D3a9=(SDf2g9$WQil69+Eh)}!ZwaTjzV$#njQyMBSE5AY_k!Rna?FGGeZuD{M6iq z?P^xH@_HFJt6T1axK1cBf;}@hAI@xZe71e>y?`iae=Z>aY`uPt^7r6yrIHaPec#ay zegGLhLg?-+$k0!q)%O*KI}pVnJJBT71jRK4h{3<~Pskh4iZ{O^C2V!17_Zt(BFaCt zxaBO&<7*(EC4&~=5dri4#N{hS$IFaM&IT+VZ?F4ef!K*#VV7**1~R_teWCSJ(%<_7 zw)IN4W>~i}>aNU}1gMZXIj2I=M2k~2(hNE_ejJKU(-w$7tJ48sbc9# z&4Vll;u)GCC`5l%Nh!Sh(koL5qs$YUlY=99Ci4;J+lWWA2aLeAEE|skYO?zC!G4%y zvy+9FsXa&65luSh+55S}R_pTqc)u(9q<76_;#1*H@lHS(nq^fv)!uSrAU6?6x!|hbtqvp`e&YwJ`7j-vo_hS z3-^8USAas&kXjd=1oV8JzAk8KbmwD{HX1NNSMUo$( zn${09P%3AgXIO){w(C3D?wNbeLA`}nwo&37Dg+-B6h}~-6Ztn+A(XC;IDCdt@xf;7 zQWAzisv@1;tIU0H>%SB_3{OBO-ClxEq+BGi+$h!omE_-8Q=IZ@P&qU}$7L;b(cU3L1A_+u%znQ~Aj6z5{{v=$05gx1#2TBUB!j z81c!@rPi0x9sGMSz2}F{?@MT}D~Q?DHl5CHq=*=zT5d(VdSO~es_eEEfoor|d{xK> zQH%AMt&5(EGgd)RUc4EPJ8}S958C!pBwf$4?=S`{45Gu)|5y9%et3 zv>DGLN;BIljWU?>yAMkWNBsHwK$RrWp6T_1oXV3&EVx*mq^|Ob@4NYfr2gz;PKobx zNCL11^ZVFV_5sViHt!9N{~BZoc7R0)(?^ZzIfuClS3mN@%9)9l_-y-SGgN(_l0wEC zEZ6X5v)*>_;T!D{&<#YCW>tb<{IJPuV$^=y?UGvC4zpu-&pH#g46B)|XTf8vvJWP# zT-sLrRZp2z-9hITpzQZfR8pmXm49$)W>QI3tb7}_y=8v^wwL}q!lQ{dV3FxlEo30g zDXs&MOC!W{2OUs;{ee6tBC^6$ElxSbqfb5^x$4q^@Ns(y((Z z4@j{uHq96u(m^Ja2RTt2{Z6DmWka`BlW4Q<{^1D&u4V`+2?|KLm|V+(8Xr&>bzvJ^ zVinw!V_B{!0{a#7XEOtg7msEEhoAg|?9Sw85GAjSk|kP_y<$V zFhjHs2irh*`2_D`ZBf@)y9TZh-oduMQoUbTsvj6x@`r|&49h^ zm4XkKI9^5_nlwU(PW8zc6V5u%dAH`oOFJ^^zU((MrUa|lw#`eE_VrO4BG;3N9KxGC zkwuNkd43SBQ+nl^YHNvCV1?H~#Ql}X1@Bw%d`^6JPX5}*fcGH;w6v!_>Qo8g59{y= zGLIXOj%zhoT)Oe5o|0Yem3BNfT%{AY2I^9wSCue<4Z!|BZ+eEU+Jd2Q^R#m3cRD3PvIC2A<${k<>Deigowax>kcccz7-8;-zK2I_k5 z_QL7clDA>TVyh9A6gn|_AvjNn@{q%x%!e`0WK}++l6_X^qNmZ7)W`7GTSFBF#aRGH zQlslVC~Me7UmiX#{>~AcIA&o*nU3oi_AH{RRq?^WZrl~vJor2&I;A=8UQsv1ac^b! zM_8A>66<0AnSpHZa;eisl6kZQDisy|(VVWZe_dG~t3P1DfThA`fIA7BdY610g*_2e zT83*Ycs6c8ixkeP(Jq#h+goy^u20eaj%h6`BNsOyLO_Y6;8E%SusEWWq4GN{@1Nz7 zRkdx^HJc&|KM%5&c6wWyj=Qk>k#Wb9>~88nnymp=`x|e3bX*`2=34Bs>Di9;vD2e^ zC4yMVwdyEzZigoE3W*dFD5bOBAdD<9y6+GNy6hk{K@m=C?RBv8s7nvy?!0KLn=pJ5 z7K6?8f*5>g@;L#YHKMdG54)yL!}QR%nYgiL&a%Slijk%T*U?HOxJYv*+mW`R&EKKejtzTm-F8i2l?6N1>ia7^ zZx*#;mu#+>U0eMiO2(RPo(0jlmvdYAggWan6|xxR?N3%1%kQbKgE)~syYQ$rkVCpx zn+NN>ujPCo+i$aXW6wl}C@#gw)jj9EZA}49*HK3H~?6> zAVQf1)C}C!e7ZGVpYk?iBjIzUOXE-iCwn(ExbET-&YYonIKl;sW)-ja_4{09?7?7% zyY^|d5ESp5OCxPEPdVb!C-X2cy8vgD9MI?;-%PNc3spopxAAF|G zU$6#Kx`j<-GjtB8(M@#e)Vf^Rb!={@$0mN|%}8#Y=Wf~~Q|M>wK^l;=BXZE^QPP=n%T}eKv2*vKhg&`{m zdsg@fR%k?rf5h*eYwxa;>jYqxrjLwfez^M#@F7J}4~wG(vG8&w zIcP$sH?c=n47uQWyt1^rCqJ?Pu_E~=G+V-vX!@utDp02p|0nb;B_UjQJ z)`qsR!kaI~`zz59CkK?D}}BQq5h_zb#PH7Lk7=+NUMfn__8> zc88JProhKo0?Y?ZN%WUix^4ZBsoEA*upCkOWj2XsqsKfH7y?_e7$Fy`+{)XhdH)|| z9a`QjS@*aqiJ`?Y+hZe5tDdGsZJTfa^>%y!YNUO9)&{5VjOlwmCHmIIMcLKdrl__= zL+FLv;)JFsm1B;ARkV(Gdxuw_)+QSDEHOx-b3x6O{+_mL%_D!p9s)yF=`Ej2geq6% z*yUg%4R8s+NbV5-1vW5m99?5%kveFjX|6^T+iaObO%ik+B9$Yr7;KU9bf|u|cW&3# z+9K@fZ-6l{y5_Y$8UKtyp z>`Zsx6;vB-Df-%Ev!cAi&n6FO9V1!(mWo7PS@riE`R7@!SBkPYG2WkAc4AR9g5KUB zD|QBXW!9*l0il6QnfBQd)wDTL$Zr+}yeDQyho%m$!2I=3I(-}b#o7CL# zYEqUhObnjs;vx=}q-7wG$Dqdd0KG=qB%1*qjc3UdVZRcYPlFV)n2|0fESLsozDy%p zVDDe(U%&!7J$Z8UDW>X^Oj2$hF`7?R6l+s0v-8Hmkdsf7RH~wl)R=u4SRi1p*PH$X&=@5v3R6~;@y#@j(Aiams5tX9! zF4Bug?;;?*NeAggq^Kag(aSk_a?kw-Z$4yQZD_>QxIhCWT|4$0NeULri2C7b#SCHDZrewfu&n zuX!|rtM^emwD0wCSq>_PktEDe5%rCkz^j`4Z2M#hIidkZ6rkse3HdBqqWLWEu7pk5 z1(@(9!8wo2JuRB?)mHj8ika?kvGp=d=i8s)3qPVLXTBzyz`0JNEf*~;?Qg_ok}QB! zfBvS$Fwrqc+S*&R>STFfqF!eT3!Jy*bHg~grH8;B|Lry9F3Yae=$L+potNu~K*9RD zzwuILuZzcH9j#%w*QY`mb3D8}OF1cVX@LU!CO_YMT9aoBwD8I)-k{+FSmaUgN{>*A zbT%h5g5$;0lW&YBP^W`GYhE~&HuR~LL7OyLNs8hDBv}O8DZ#vBr2VioHF4btF zf05AYlYF)u?Uh1vKQ}kw>}k}{__l6?+spVaK~W#fHV_|Y*(M33$CuREkZe9Hy`P)nkc7N z&*DKUHiD%!qF%hjBZ&AONZOD$m%MgOkNx;vtekX*HM%WYALbIyqJsTFF48HXzRdV? zHfdj?7zG{hOW!6(D$_x&p-==IAm6;NHfWagd9Y1yo%+Calg7sLyI6qW$&It=e;>7~ z2(qg?M2%S~qm&wfe?3+7$kJT<4`rXNB#860AaU0&))52o41JUNxKJ{14S|W}F*QY& z4p!yWp(Ii9+#Zf`Wpqzr*Z|lI)IovlXEJ95Q;l^qc2{19xKn;e%+3l{Xce3v;>}zB zvT&lS$g*0npc6o$T}~DKslU;;ZgPZP=$!9eR|>xz!llYed+71pn9CNF739up6VlR# z167l9+7=!gx$}DJ2JYLO2mLwmzE`bPwBoTk8$$q*Ar^~_6RJc@_1`84Llgu{;$BM* zi8*IDHt&xCsQS&M47NR!RpG7KOCqsJ9|D6yn9PL2kP^VqJQZu(Lt?H_%yJQ#o^}tK zED1q#QMYcszr9lsxZYWk$(5RYz$yg32i`NGW+#ItiCI z?FO6KIIDxvNI)CaCK<#U;kZi19!pD#{mlLmG)s+vjlYm>fMYzNSn?It+{`0u`$E_R z_}V*hQt6IXriPxL69|8bUoBI*)T7ye<8+hnLNSs~K`XBw5=RTQM4eFW;AG|8z2<;R z2>Y@2zKt=%>jg<NO1im#08|lrkt3kE5YzTn)Im&)p&Dz4{Lm6;$Q*2- z!Add|K|*B&ZrxtgO(bF<=>vbw|RK@7R>&dQV^DohoX!$S4TR-m8JTW??uhlkf;2A+@-`(%-t{6ERpL*bIw&s6le{-VjH1`y44)jtOW;P&V zB49dpNEA$IndwY08iqS9Pd=fOxs6dQ_~ld|gmmxouPt)w%6Mrx3UktQxi)o6Y=0}j zFLE8z&2Gp6$nJDXn8qi}CI42R(b5|*F2)*v*jys5zdf@d z90$$_QtN$uULM`Fy$$~SGIvyl8c;jk95Xzz^Xq}e|Bkv*HWGj`D(VhUQTO-a^jFlW zSX?N{PP$GBqSUD*6CUlYF$Sx_nz1aBa~Mjd@A$J26h~Ac*#zJDu)P5}iB#9MbPj#* z->uN!>=GFWq#6xXDZ^ZF!v*k^vfaHVHb1b-l)#RUR18eNOZXP^s$KKa(ay94*~1Uu zK=xG~Xay?=jLR(EXn_R$T9+UgH!qP@WQEw?c6nBP#+U2ZJCyrF4u@cJNX4SMZA5`k z|E>rnr-e*N+o~@pQ*#F?wa2&!w1o`tv0fua4PqO4$PVJidbe?HWquCQ6gnuBNI%iM zo>wSufMor-w6f@uoe%M%QBHoO((96~e(Q@<07Nmw@Drpj&fV`2(=~f8#%{5hQ2(e? z*h(P!R-`?#`JzuSi}fh^w^U+|+cNwFeV?;)yGg|D;&hG@I%gposwW#m(2vEh3|F0S z)+enx$Ex3IY^i>|8WH1L3)Bosw&IW0dY)KdC9ziqszE7*58uZW|57~rtf&;F6z*Kv zkoZd}eEELel77Ldy}9^ioLY9;2 z>?fph9i{&@@O1nQze7=hca;zWgZ^KaJGia6gXMn~yx!mOcZ^apeq4z+$w9t{l3^eA zfZm*R%j*W%o2xLYn0`Hy0+@h5SvXX*;C}J@;o~&+BLn#2k;N2@{UPwK&$5t;ZtKb& zr2&m54#+Ys#6nJ(T_36bAw8^bTws$0dQVSDhoB`}R2tHoy&ypQ)t^gEXBnhaP~{n1 zmcdQceitXtfVQeaJJzgf+T}eg!z~acSU>QnPA`!bYx?~9KA5-=R=K4N0ddQ0`9FG| zt6->CjWiXsh`#@L5+{UJW-r+6qhcR!7WG8khX0OIKr>3en@Rb{KpS6YTr2;&?={;o zcD^o@U_IMgoDx?KGnc%|>(q@KQq&4fjQa%saP#j(1GQ3^!zLp%tt*@O%IS9a=1IgH zpB`pVCiTT9XPUcx6fQhSP}(h4zUt#{3*_Cb;d7{IEv|e~R;70wF{5~vzt+nSgWa@^?ojeV3}y$@)LQQ%h;Zr!h=n(X+#+TOeyrxs=d z^x=IsQ{lmq9ylGP9P*h5rQf~qOTW9h;aR9q(iN=X>UxH-V~3(-cn@M}PpnjSfcD$$ zhbzr&Vk&r=tr8^@wh`>yLTVY3Ec8}(v-9eUJWAiss+GRI9%Xj6Jr$d(W{3!pEc!bN zMf|kl+p>Y6shyl5Y;`4}z@xqN)&@B4Cr%)uKGj*@^K9m~R=wjaLwQL*bX3k&JgDYg z-h%m|Bct!DEUPH!k;4K5&M3M1=}LQ(AE92HbmWtBfz}k!vpxKp?N&eLKvzmqiV87c_kG(KHDPTXZWXxj9sRD^Gknj#Ja zz7_puy<~DcI(dO_gKQGZ+w6G*FQHk|_Fs_=U zYW$!|4oeWeHXGS@d=YW+`M^wUUxZl*i;EN^19ockJ-Huj96gnbx77RkE!sJFo(NvY zY@Ba-Zl1KZc>~au-u(jE4elS|NXb{L#a9l*gR0tyL}^PQ@KbtgePzSrWnevcJmqGn`%c}pGCye&=L-z?=6U&w&*V==pUrmEyfqSSxzlIV zlAJ22u<(8-@yN5dS2^4z!dTobXfbzNXJJX=y~2h%Nn?@vOi4af5I#Y~Qzfs=XVhfm z>|fmUc*GTXr36`2$ot+q$6hZST4z=Xg_-i6kgi#zq$SnPFT_CJwcb*WfdF0)KQ>zY z+#lerr-gw-E+to1IlB~b7+K;;OK}Lb@27~}TNntEYDx`n93GA^l1ppo^*9Lt6RB=Q zZFmNBf8k;Ik(aXJpq|~)6=<6AoHs)g573p2$XuWwOuyZpN!;cCX%PmeJ{yFWej{mp ztt#Rgkp~pR(vV#W_EU}?k`r1dDsN|-ngWh=;VtbU@5-r%Ct8s%KBEm;9e>p!D}ma> z(qN&qq2^MbmH$#aWFmcjc=%O%?B`6=@uTw@zthKl$B)J;0Tpn3p04@3@1y7-FGM{) zD@8x!)RVLyoxZw#TgZ{7q$ZT+Kq^`-f>}&qWm3uU?Cz56dP;|$JC@BVuh%ktsg1;q zG_D)4nr<<2sC!A>hKH9W$H7sbZdmE{#b+x?+T~AKz6$7tF?1%pq*8fYOv-S0LT+!{-#kcoz`ASE4H3e6O`345lVUnEW_;S(N%FTeQnf0)#k55>w7A9IL-619 z-2tNn?>(D{7CP^qg_f< z-6@u)CwYD|he^loow^&*56zBdZTsMk6OUTa0Bt zk*yE+fvzu{73P#=IcU}rvK}WJ06_Q>bJLl7OCPJnviXEzy)@4U;w`WEFvHi}Ub|f} z@8B7KHYe@#eQCh;zUtM!n8V^sgE@n0n={s8=PGiXhcb}QdZQ4m^^M6&XkW8#LF+kmSDN*;`zh_)vmd>!h@3qmt za=qiHKS(u?kSa7Z8~`O<%^PAfl|C3T55q+pdpz*p`NY62lRXlHNmQ=A+C9B>^POiM zK4WS@+1(yT8mSL${;HW;92(Pm$8Ve~+-aa;mWaA|H~I$!BqkoOq#Y49FKh}yd6?I; z)dP`h{4|Rm0po*vnbYQ zW|brJ092+&5l2j~EbzOy$h5B92|^VY-&(~tvZ%8(Z!GH`%ETndq!%h1sG~ByCB0#= z%c}!WROMR2*f6-kmGURxezNLgPaP#wyqM3y*kaCgFEODHyB^S5?+||YUf5#FF~`9L zC`!6cy>8P=Mah%%tG1{jfwTUuExgxNEKN)dh~9_Q;XE1$e{ij)q)b%a{QisGD?K<* zOOSNJiSpN;R?-e{yOC?#?g`spUyT94sNYTAU$Zg&mFR63f!vyz_cuQgJm5ZmPSb~H zG0bWZ$xJzW;*f}+Ki~f)`{O6p{UWQLMOV(Za@u}ellIC3gJ|)dXj*{+a^Dq&IX}Mzs3H6ck4&x3r}?8}5IjrVQvo2NDY522tK`H8&$lzU z{)dibar`WAOII{PmJal&bo%CJL#QuLr zE!3ey#%pQ>2?9gr)K1B=cRvCm)LWq=mKy!MlgQ4RsaZ$&kMY&?OLK;%g4Rd#(^9GM zrrFte^=QQ%1{wN{WttF7Sw?VfZET8=mto&2#Xd48e%MHbCX0?Z*`nqq_YJCC5N{=q ztRZG6oXwU}FM4onO1NdBln*$9&Ci@xr}s8}Or@cP-BR)`<~0h}Frv~#ZHNojL2p2~ zI=CO#qHf%iXr5S}6bEb%qY3_&T9r-&ugY-uWhXM*q%2YLhJ%@+XaaS0adbZ^&73ly zJ#XTjF8U!SR&VZKo>TX@@2Vj~dD9Ut4Oal@xy z-g==PJQ;tzK(@j}dg{S#%W2y?G%-wGPguBJj>oDd34A_|IY5Pa^+S~=4N}@drF368 z>G2X#+$DJ}T5D!ayrtgg$LTREaiICIJG?cRM6z>jEEUhaowOC%8p;xN$eH^&ags^pzSsnZRZP%9F(>(LH43*hslxkjmh?Xd=H-4XCQ*UjTcL;(C&MG#0V9$c z+IxWBIDAe8SIPs#(&w8P7BMrJzLL7V*#nMq>J0wiU1I{R#aqr@H=S!Hkqj6&WuYHd zdf5D$Xs}ncE2);#+uzmzacD#>4+z+7Z=nH^H|pKg!H*%C;X9Leh(j=dkXlr?3d$i- z($Jb}xM_ad6Sg%7n;7#}j4=H~w|C+=Kj+fH97)W*3D~M=k!S zruZMP1=RKS9~H9S%46uj+I`RSH7*Q{BL%GA9$%M8OjJ$xdtCQVYesbVKOG$}!5A1c zf*0`r;qQpfgzl|($u%K-!SoNOJ#;*}S=lANOY{Q&r*#=R9Nqls5?(ES0spIq_ix7^ z-Tmegejs@PNB6=({{`q?1(y^Nau*bT>d2wP(dFkZ;fFdG@c$u3ht7nq!gk3du6M!o z4^1|7Jo?P{C7#gguRrql1UNbveQW0uY>K!5qiyt{GoW|51$29G#2hTlKr@9rEr5qclxk_a#Hg6JPz6?8m$fpUr8d47Sv zELYIM|4b_{p%@tMDHs_4m1LsB|9RX06Apa&2mB%lxCg;OSxEirn*%Xua4;|gGJbvf EKP&&V1poj5 literal 0 HcmV?d00001 diff --git a/nostarch/docx/appendix_d.docx b/nostarch/docx/appendix_d.docx new file mode 100644 index 0000000000000000000000000000000000000000..0179b6e13cd2e8ec3c2951ea87a2fe92c8e9df2c GIT binary patch literal 39642 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 rSx{i67I8mABL{vqh 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 SYcNCsfqq~6*!B3U_WuE6pRXVQ literal 0 HcmV?d00001 diff --git a/tools/docx-to-md.xsl b/tools/docx-to-md.xsl index dc1d4f0349..f866517301 100644 --- a/tools/docx-to-md.xsl +++ b/tools/docx-to-md.xsl @@ -28,6 +28,18 @@ + + [TOC] + ## Appendix + + : + + + + + + + [TOC] # @@ -35,6 +47,7 @@ + ## @@ -95,7 +108,7 @@ - + @@ -177,6 +190,17 @@ + + * + + - + + + + + + + Unmatched: From 142550a69d240d3fbc1a870d284fd679292d0145 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Mon, 29 Aug 2022 20:11:23 -0400 Subject: [PATCH 0447/1248] Snapshots after copyedit checks of appendices a and b + recheck of 20 --- nostarch/appendix.md | 10 ++++------ nostarch/docx/appendix_a.docx | Bin 36761 -> 39066 bytes nostarch/docx/appendix_b.docx | Bin 50219 -> 57025 bytes nostarch/docx/chapter20.docx | Bin 149296 -> 135532 bytes 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/nostarch/appendix.md b/nostarch/appendix.md index 3482872176..ca6f63597e 100644 --- a/nostarch/appendix.md +++ b/nostarch/appendix.md @@ -166,14 +166,12 @@ choose identifier names, as well as lets us integrate with programs written in a language where these words aren’t keywords. In addition, raw identifiers allow you to use libraries written in a different Rust edition than your crate uses. For example, `try` isn’t a keyword in the 2015 edition but is in the 2018 -edition. If you depend on a library that is written using the 2015 edition and -has a `try` function, you’ll need to use the raw identifier syntax, `r#try` in -this case, to call that function from your 2018 edition code. See Appendix E -for more information on editions. +and 2021 editions. If you depend on a library that is written using the 2015 +edition and has a `try` function, you’ll need to use the raw identifier syntax, +`r#try` in this case, to call that function from your 2021 edition code. See +Appendix E for more information on editions. -Unmatched: NoParagraphStyle - [TOC] ## Appendix B: Operators and Symbols diff --git a/nostarch/docx/appendix_a.docx b/nostarch/docx/appendix_a.docx index 075c769685d274cf01fd5c60b6db2aeea2511428..7acdea45d26d31eb5da3a129826a677119d3ffee 100644 GIT binary patch delta 23918 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 SUHAiHA{{`|qkR1QPw8LDz}=Vt diff --git a/nostarch/docx/appendix_b.docx b/nostarch/docx/appendix_b.docx index db4ba70fb3b58e82fd8ebc9563d56e3d4ec23b2d..5df5c202206dad5e50822d0e5a6a6404218499e7 100644 GIT binary patch delta 41832 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 Jp2gp({{rrzu3G>A delta 35306 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�?BVD<(5z=a!V3- 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 diff --git a/nostarch/docx/chapter20.docx b/nostarch/docx/chapter20.docx index 11165f9c6320ec7fe58f9e2044634be261069559..afb5ef19b035d7693be4c9519ac94f32284449ab 100644 GIT binary patch delta 123877 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℧YSRyJc)#&l@@!Eo9r!nybVckjk# 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

      F#w@ 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 diff --git a/nostarch/docx/chapter04.docx b/nostarch/docx/chapter04.docx index a0f820890dff922e41d7456e60f8a6792a311525..ff520c30e4981252da2706af836becc43c91b6f6 100644 GIT binary patch delta 45928 zcmV(_K-9nQv<3aP1+e`I3fbRGk6FwB0HFG_2MWtIf8N_VlHB`MxcOsq7Vz=m`{BVl z;4?eGCVP=NH?u*I?9dWzGe;7=qI7(m2QVMv{u5yL%grabUDZvgNs&^MA|=tb2ZI?) zve;c+Rb9_teX5O>ShDMdPFRVR=%Md8itBAi#%Z-$Rad+?`Zh*7+OIG$pvP$fuaE&`!rk!@kM}WTc+gC7T41ED``&N%#)joo+hrQ6e{8IrA=fld)%%5A(R2 zOnlj5H(9R~KOFVaIv_+h7{rDm2gJTU1+Q?A65*8}wrJ6!oWh>aC#Q%nT8vYArT1Q& zf2Tg^fh9*Y=t1uC{NqMtBYHci>yHS{P44`gkMry+%j494846_;#@&=zSfVasq0_f2 zCF7xH>y}n27M5kzmpy+g_#NyqPqs{b(?cr^`kP+gBK@BC5qT)x+9>gzu zUL?!>F?|x^Zdp~Ls48pk1y=p$lW+fde`97rNkc$nmbi*kX5n*9hvWOIW!vo^2W)Vt z)9?iO@_!)8sIr7Q4P&rxtE;`071@`ur@jPVqd7qoy+yz8A9f9QaA=APfYz}iiVe~6 zXv>3pvuzNB8>EO@UhiX%F_`&<9X}&X1-TSL2-X@{^x{#XU*suqCX)k*)?dQi&+fh$l?lDRWci-Jn zyCH#k+dO^Ppko($o2-A0!I@3X@G(zj8x~3`ej8wm5P&zXLKYq9v(f&HgB_Hm|4DxCtt2h5BXGUEXi)9*h*M2 z>3eJhXYY*LSo%kz@Mo34%qyDT!T_m65RlAJQDnP{$FG^8ru*@hE(1M9v0`T{3)i8|^NPnQe(IWG-G>M9SaO|{z>gXnh5V?#D zT@N)ysW>mPfA2ZI>s2cz5F?^?-L*Fq|8XHii@#sSPmk&3huQj}`$g57g#UUk>$0ru z6${TSVOoyM^efuoy2br1@Bky~>4UT|kCaI`ju z<(Ci)b>xe7tK(`jTb%vo(Phg0dbauw{;kTvZmqZ8e->WTX{_}gf{<;YAbTdHh(@a? zYfA`2Sh&8ItRfWTS>W??CgFtU9iZ5n)wZl9hSfHVOEO(KEYIu_TJ27VvSyJjaa?*Q zX?JF53H#DNdCP^n^^0r^AAcJ1l3Sh5KRvtyIxwT%4r(HIcwd{QWtM80#mEfuCa};B zm)9vce;LfD7}klFV}kFniL3~VsFZBX(ms2kUsE<%fTA5P++L5q$qQZNtd5t^59Zub z$3*&I{N`%omeAj*tFm?5cJom6JMVCRo5Sy%%Iqd6D7cpnw|&0?%tDJ6SK6gw19zwBLV^nwJ|NfQ9H+*(#n%@ti0cz?rY* zSXx1FDplAwllPkz12my!GD*^}$!4AyH<^GEx#%dJ0K(4d83yE1iofk0Z_8vR#+4RV+a<2d&J=K@1e2;W>!BeUIDZb zUMYVK8Ao1YwMQLn3JU736&POIm3D)k+de972eNX5fsF;xZsgC_lND4t5Cta+H%Fga zKA|Jw=7hH*2shW~DYSr_lS5Yt!w}*?e36|jJE7-oExos6{Ndb|=LAabh(@{Cg0yp$ zfgN5NHH!yX-03ZZqDo?tJ*CO?ida-J7E*t~=qRXPd;DO>}*k5POgq+}XAC{X)vfTT7_Koic|IzF_P`sHAVU5hYrv zJWIbM+j>JGh!Nd#waBz8v+4~`*F1;1U)(+OnhRzs)T%JYg%-?E%J-6g2pl6atEYd< zUgVbCCgN=#m&Iyv_M1lwh-OhmBal!qJEX3xdh)uyWt)}|CHb@ej3uF>6(0x%bLkZy zW{3PzuSD&fUot!7mrh>sVRlF}*}d{C#RSV0I^(4j>1e**B!dGzD>I{a;OASviBDl5(73e^v5+ zHlEL(>6^nR>{P?>9R*vcd9&Gje%OBb&d^ zmh%`=RH>*!?O~0B&;vE{P7r_Q8Ac+{;^o6`Wm)YE7274ILZwwywW82;?Y9(c(8|=R zaKnWL8>|im&imb;^69qliSQE@!?{B!gj-#Uv)??rOu5?boceu>Y?1%!C|fVM=Y0il6YeCqW1Wjh^rX8m0WiqFdYAi@iZ~T8zYDOmUgn5<_ zF~%xx=(pWRUM(~LN2D!z!JZbNaQjeG)3~~B>ujKK#Sy4qd;74{Nw}kXjKJ!>b*fiY zcU&B*2UXWTMqt^dYeYC_r4%Cw0@n)ru5i4_7=gQ>DXFI{&(phf20kn(CUiBL^v>AK zV+xBi%{IQv)@RwPTE~CVn$EjiRqn3~6KH`Ns=i<5dL?uWO}G1wjEx|6a2v+USqdSY zXNcpXr%JdV2gJqODA@x<4ze}YO6G)vk}JwgMCE03;!ncB=0-fyk?>RfvtVbmW^@pZ zaCl0wK<{I+x%qL`F6VPpVy2Y^~;*j8}4HbWo*e1sjU?ry+29#fg@FrpetUf7g&&^aqWKFX*Zoj*{EI*uytEh;u*N|PW>83OETlRHfve>Kh4 z`HUQJL`V)7TmiuKoKEO`i5a9B2v@!iT1>L#a*du|k=el+8X5G3rC>sC_M0b@^%5Mi zuj|=@CiboX|E-13CC_zSuoXF<&@|mJl4Th6wq0UN zpU@30&)T$84DS8i4S^B4J9xq^DkM1I` ze`k{KzRXBCgFrETFa*Kq%Z%mlRl;q)TP8rU+hT>~?H-~@-Qh%<6@=QWq)CAgQfQ^k ze;aLcTSUV)|I|b_t~-tYD1YE#a~~*45}g~5HDU-==%KL-*Le>5siwui#k7&_cBb|*1fP=_4*dLd?1ll5|YV}pvt zhHXIMlYXMK|B2N(h^Pi#wOmgD>hhJzmTfvd2Wc<@cIJ)cHU*fSru>?^AzP&=SPNr$ zkI6H%`Ha2Th}=1UnkA3|!L;H}e)jb8leAjK=?=6=?R^q>wu7iR?>Z2urSUqjMZ80Q z(NxF9S;_Bo6w-o)DntX58Jmzt5g~S9nuexSI*;Bk)9OO@j_lZhYv|S16*Dv(i;g;a zQ)JtRlWZ_X6^m=Ng&%sIaV@7U&e2^snw#T2_(31Cm@BhxM2^z#=1_euxgM}d=n5v@dvW@dh`P7ab z`Cg=9M}L!Gax&=4ilJ?4rB7P6>$JpmsHtLYLG#|rcJoJ=3GqxJ%id_MDu0?SF(lwL z8%zs3(m{s|b-)de5;^l}l03CIaPA4m@<6vmi!~$kO7G59&4;UpzQ2d;&@VrK|L<39 z_FYmmGKzdv(w8kC$2KI=HpUD6F^_DlkJ{5z*z;C4ygbA{o*z?qezyFARfMVVV4Oip z@NOyi1#tD6xKG<5U6bSq%kY2<1$56|;K#G>0>}t8g8XV}_xLiqi|=McE5S552E{&) zk@m5~^XzqH1-t@pS!`TU;QeTSkDjh$fkv^{cNzC0xWl0&9I>iWr9eE(GijSsr+^j3 zaA4ZT1jEg8M6KM#Y2`V-RONGc!W%I@8)gHWp{eM!y1sD>AdIE8bUiu5>DaTYQqfLd zySh!vD5TrP^NwFB1#--z_Yr};Sh#}QMHWsQP@1L`4!dzjUDlT;DZCbc+zdk#Xr=Gj zw%GAtTk|-MQNc2yFAj=lE0P~C#|G^j!$OvV#Z^LJrF~yd16)X z$8fS{0K&XKWR-{U3cCGR)rJuiyKRDE>$@r~?o*3lR&=Gusu9C((0Un!H3-B4Ccdkcd|H}aYxek;_foa|*n{Hk*M=@U&Tq?W3y z$`;Omo-TWlTXGBBOI21%z;RDIji2{3A#xKbfJNgReg}zbg$P^%J%P2X2kX5TEtE(u!Y_}%s zcVwFoTTl_f<}QIYL~Ip}CzB+n{?`VdQeZ$x`Y2=HV)3d)Rb|Bwl2zw4nLhoP}I@j`0Wsy3w zE%3a^^ec%>Q!@j9&pdgx&jk;;A;xl^&AuW$?Gl5&vt<4&>Bp2@Rj8teVW9(1iT$z= z@(olH0~f7!!FVfc*#@6fxtF+C9Y^g(np$jhQ_};l4O~{xLVeIgtG7F}Bt9QW2Z3s}RuHm_Vt(l=yj+%RvNFs!9H`{<( z3nJ&SN0krlxMa2X>cx`Py%N3!a-I@KrmbRdowr|9TlNBK(!Q-r>h}AE6i=rqMYx3g zD##$jn5RjeJ}e|6R)FjYfm(b6ivIzP{|1(%g=wM6AEx{*9+X~;6ar@dg8^gw|ad@ceAds-wZ`AoVliPp0DTBJH3Os zXu>nn_T3sCz*ZX^R?SfY)2nC(_Ts=~?*61smlpRZkxOfyeT7rZo)^h7e@vh1uYy8D zmySp2fd1JKAgNpQZPV3RznBiloNajJxVu>VP{i(k;$Hb_?_GSCWnbp;@(YjQs494A zF5)@)>*x3-|5%ti`A1?DegtLu5o>wk$?E3g1Z+rpY1V%m+CB8!{`5JUD6*xhvMDR& zzuCeR!t?R1%CI3N@*N`rrNK9p+O8H_?orK+W@uT#W^jv;q42vTp8B0F1)i~wEAJdi z<%sHk7rf^LMYuy96qlbXizfOl^MriY^k!Q;igp08n_4WYWyG(B{D;W&=1Z7WY)I}0 zZc{eZ&?{MGN8IWET&OklbpuE|e9zR{o}!{A=v!5>sX}P}fWtHfza!sQExVLF5Hrvq zI#pU><$F(%X7)h}D{H7z=QWtY{M(FdrPVus#6~7}KDW^GfzsX;50%;PK0JbdrB~Qm zMv#J_O;oGnrCsTGLsUb8Y=pJ0`IQ(JhGkS5?qof5Tvtu>@k0K_(1LBniSK$v|V3(Ei{5&E4z0euUuHY$i?9e6r4SwjV*F_i)7xvag1t zd|9mGZxBz}x4j_L94y4**TG(FJh?wEllv-di2?VtYK{)lFV>01G^|!%+(1ZU7!J9T z?zmDA${oau#t;I4Jr2J?R&lG5*~qCch}Es0Y2GhSRVOoXc(vA~E0!WeX8d zMa%OIBf^T4cQ^x}*6|Q(Mi7OL=RvIUounI*QbeX}6p9Z*bd){U(M@ag2v-eAf@jOJ z?e1_%s6tC-lj~S0CfW>*_Br+S?_pRQ#EFw{PqTEAu84_EZ0+fK!dhkT zlE?UK3Zt`=IawPlGl7OMQ~?1UOFgF70*tHbrW+Uz+=(3HDvIV=ntAG(4HxU({8$V} z%3)v?lYm(-0WFiTSrr&hOU7d9Ynrd)8BtQxbP}&Jm`BNIg!9Rh-B~_19L{g6ZwsPJ zkWbzLx(?M@saO$1E2A)x^AWmDu)gZ%BaoWf2lao861ZDcrI!DO%NUcV;aihXS|Wd2 zR-Dw-8Vw}M0M`F)yW-JkyPlQCNte_8B3xdhaLZ{e`SH)bx?Qy4Lx02VTq0AV*JJQ*(*8H2!N?S6wbq|~H_ z+TVYeQ=}#yW0j{F`HV#28&0CbZ>imhYv8P~vhl?mr0}5+2#N=OWIX#q92e*{gQU#K ze^%XKCILBNsjsqqP?3+N&u@qcaZkhrj(j^XotEyNNl5zDxyS%l8=H-?wIEaW@c2Qt zdb`f??jSY=G+jfKfQC4hG1`J4kE><+HKj0cSP6VpOz6ViM=s(pc3MyiJ<;(;|2xsb@!=U3GBe5 z>|fLFps0ES7vC<=nxK=!#UlgyjpFnWU6qB|5@sFh~f9kuy;kx?uwM9a*<=bu*E(5CW z4cbpKQX{-8(e_OCQ?-`!PxTvBZWu3MnwqJ%U)@=vs94oNLsaGaX}^{}e|u2x@1%dp z))>*7JSLMbxa4UzS;P9Nxp$w5!qWE<xQXNJ~Z(Z8WX(rY?f^2)`{&F_SWYmUC#(E>$fr zE!Riac;Zbv$m;InSw0k!tAJQpQD~@|0vQNStaRDeUDbUTt6H5~IW0bh(s~+tozJu< zhSJTIVxf`-t8A9V8|ZzJpo(5<80o<=?1$TneKg5Zck-=nKUO8_1fD3)Yd*=nesAjM zQ$UJt%Z{!>P4@e}e|~@^;9j3R#xN^`nS2A??C_BDv4pDmitT$<$S_CueVI+@4-m88a4vu&LWr!acgprme}^%54OyZx{0`d?d$Fet z?UR#kPwF<^nk!62?@(SX8;ZL+8}o>eZndc)IO{l`x|os)`&^2e3zV7(|53v{tVXAL{qzWW*A+m)dK${)?vNcB!vDjBYWEWC$Fw!57Jgf~7E%|k2(>@T+Gp9} zlNWozzKX-4|K;i+`#rLIn5dU7KK!PFXH|b>e~N0mpxHd+NgFr~RIKJw-Jy3=G#EH${b$(_@pP zRs1E%|Fm&;Kja`h+z-gn-y%#av39|5W%2~c{KBfez7{bf6wfnFE%L_92ZnI|er$Yj zf9Qws0Xb$05tBht>>`t9*#he4z9JqE7@PuJphc>w+ZK4ytd&@sM?Coe@K%fuTs%DG8Pc-MSX=P3KU_anhN#_q|Fhy zE?p7(HTx33KqwaBRYcUQ>qfebki_HVgptQGv7RuCcW4pCI~WuF5VK9+b~)|w9PX@}5Gv)1^9r;jYxv;F@79#cbu z-4$W$9SjwO7hOpC_1+pM-;uT6s;PdLJttq2QDr`VHk=J9c{K`e{}4t6P=H7bBzSD@fAsa$SP#IhLLD<8z^Z4PKwu1I7L{U1m=|L4cPI4S+E_iF6lF z076^f#8us~YzqFQF zY@I3nT~ATVjAUO4#!b<)dAvO-MXXibq&!hCGQ6rA?5gJM-vY;~g8?iDy6yW)6)u2( zc$S`S^Z~7ZilctDId35Y*lO98x6c4}OvP*63dRgz#)Va;JDmlLe*3T%a3}gyEMSgK zmobvp_dW9MURedmvgT?k4bO}~1&rJW-Z6m-mA+#GUrYbUFiYD942{S$tU#$uv6snR zuWA&S>d2F3?@(+Q-*jBsEY(P0)|};k$4^k8(~=E(KZ8y4DD4c}gr8{5D|0~T=oJyW z)R1jIa>EK>wkexYpwV*j9;toGCep)TDBs`1JP+c!Oj=D%8uqm#F`?qG7!p955h7O zj^}~d#QoaU;2k9iYmj|mxbL8%aQqt1BHC$X;FeTj*B%x$$mS75etU%hOgxAw9WV{M zMme2kXh~$(l{N70Ma%g59?%be%hPNF>`Z=t?8Sj;+5JhKFh{sY^@ceji2YPcpf^Z8Vg3v7hwv-*8AHP0WWw~GoXlwf9N~Dg#Z}iJ@rzy@Pwz{a0>>Jtm_I8WxOPR z?c8KJ4vnhrK^miiL_X4?{>CsYSyP-!{msbEzH^)3AmXI^s&DAn@ibbJVp#AMi<3sg ziRMJ(#q>|q7=aSr54l=k_aTM@w#K4FiO7=YhMMDyT8}zMb&kFUgQSivuB7M36oz=s zauG(*jZm`#d(_ZK$i^dPggs!*N3%$ixoSfJ8I%2L7=L8)eXbZ)JxMLo(hQo*94|@7 z9_@ip?M_@z`uOXI)pyK0mHw-GSym%`+W{2h0u{L{6-^j(W?RAmu$VvApm?l42fzvf#qsrM)20?aOsN?E+aBcB^E0MZoS z_1vh^`ZzK!c&!1T7C(dwTKFrvV`+{&>QtbHlYgkj9p@D|DNC^|Ij91$jqIe(6<%r} zX`}^;?^I&mvK`uvqo67o0ZCtH;D%_i&yN6cv?;uXq^A@!4+8_;{+#H^G{#LO<wL#roVp_OvnMOlr#OtxekK$dbaW1REOt z&o(ZJsyK#e;#l7CGQ!y7QerNNXDg;2RZdC{98>mii0QE>#oieyTGD6MDT$J@O)qEn zr8J{RhFJ||&v2_5W-SO5*ERf}34Jc0q<>pLsV$KyCKOtx@f~^geKwmxUn%I6Jf0`g zQ@mOwgoZF+=S2eaof|36^Yj6mR!;~3gog;~E{0+&ob}4qTomD5OFzQoA#OLAT1*#{ z*?LMoL9{_EVQ;Buv+Pg^K#xiM)G#@zm@ovj5qCtd&ypCF{`yI}dl?4u28x;Xe}8em zm)v?WOY(fnfr4kz!;=TuB{VL>xgmEw#yL4P!i2P3yoOt^1=NtNJF4NhRbXgSC-)t~ zMUPbtbtUnSk10wsF@v77<(K>le9*GC2dfANk5QdpeiNICbDT>kuB`1vmlkfq3yk;VPfuR?8v&K#>*}NirojUO5&qLVDcMeG$C_5t#}rz}XXS zi67#0afMr-PE#83110rB^%q$p(G=nkd6z3EfGGxQ`HrYBxMBJFGRhBxIDhl>;c>Mg z5wjMF3V%*!GZ95?1-9Y%VRax^WGTAqA7z-kk*Q#j_=yzt7OY28TBdjbtVg*V;H2V^ zbBdTW2Y!AcR4VxbL>$n3l~!wb?@fURUBDUb_+>&cQX0(_wc|{+3BT&5;EWc}ZztW7M#Zr zxgumIlr;l~A@jDpVwtX?L9=zAw)`sv=dm1<+=m_nV1|iQ@-#ej%@*;&bCRzePL5*P zw(Ug26(Ej`d;*X)^#BV3v^ITJm8l6eYFan!E(-k6R7bzN({R#$w zo2+NVK=>1R;bHaoAyNwzJ+3xnZ`9?r^7s;!z{U{-RG3UPg0MeQ58Zq)p=oxcOo zd&)!L*8XktI37*uPzBa7j>mE|-Sk`U=QdZXJYF^Nj?A9@Ed;{$(V#=wR?jpbhcz$} zuA4^@X*gr$cmmYP8-E)`)Qv9OC?cvQ;k}EPLS!jgDEt0!1rj4uN@6K$-3kp0htR*q zdn%L_JsfZv_t;qC9!CLGEShTR-v|2Z6?oJCnTYu+vZi{0hPe3els;%-GCSb6QhrVT z7l1WCeS#N>V^|dJLfm_6F0?4O)iuL6-QbmaGP-BEQD_ba85H_z`0PWD*E3Ay~~rCaApDTl5tpnn{NVoK<#dVh7eI?sfyOR3$BwQ;2tHS2*k%pCBpOF*b@3w z2;#dEQwY5tNJF-oXQlQt$5f}Dl{`hY&DI0HJFyb?C=piL@(_sp#>5ci8uqk4xkh{g zVqDWJ?GM#B?5eB=+W&q%`I63FP_3?WHjNhwj$`RQiHZC|^*+3RMep{aj-2qKaH;1| z_3p(it8$0N6?QEp$4+wneihHsN!9OKCggbuxq1!^o9*h?l`oV}%q*yz)2OL$W2KS~O@I$=d0E{!H_n*@l=OqG6y(HU%tR zzQ7edeby`S7=Oj~OXeyL*F-6@jaoynp}+Bm-HcaTqBZQGq4ypJ0zAXZME}6uyhkG_NGj^eWPRl|UcFxz*_vF$b z9??~yH=dS%?*1d0te~wj-WKaf;5ic`2nD4I@4-6wQG477$c<%dhU?l8X5r*Ui`*d6 ztfPY6HFEPx+b*>r@Etj*(C}?nJ-2APG!!=oeGL7+ldoCh^wM^z*rx8P0np?X7Au>U zZ$^>&E{H;$L~iW5hRa{a^QZ4}v93$Q)@(U{(5u1!SHez~V=CmIim)gl*|16ny}Ywi z_pVE|L)WEUUjyVgMx?YZXC&9WQswdbqLZ%o;K8m-9L{!L8l1Q5Qti-nSwnz2d1GCd z-RQz~T`HH=b*WmR5}G&{_5F@R{t_XYY*>MXr8lq9?9oF<^St3Ev5bu+8oDmgvZ1Db zbJ2Q<9hX90imAGqPr>TmiM-bsU_F)sG}UF-@)Z4@aogxJ%h!pUV^w=7R6tnN_k!MD zXuCv|F7wruw8&N|1imnZ04eI7f(shhVvyC-WHKWZ!2lq`v@H>jdnP>b1jW0xO#&F{ z&lbtG^g}Yq7E|0O+hu{TD*RwZc%jIDEOXV52x~1a@xc1o<+VgSOvq=BtUo0?U`9E~{R&ed&-zQT{mInCvB7Mcs}0_sjU{F`fJ{ zTeG%>E*EEOn*Zy)tPo}|Q>(%|x}hnd-2Ob1ryVJ1{T=^S`3625(sufnbEE3@;SfVn zHJl(^(g5^DZpmd0;LcXy;BO9p%P-B)(b~?ZDzC1^*>4_Qxh!U@@8I8kC);9+{8xW| zTqbbO5zC4=N@#kqF(*q21#lI^Ic1C43s(ihDy_JWDyW}JuWbJsKAW!qavh68*xR7~ z@C%_?mVE~MpSUq35)1;_%h5xeciZ7vy`MMnP~qRI-oyA@z5X*z%Tm05Dh#5j{(ttq zb;)rfIrmi{{n^n*PY>>wc4#(mUFn>$c4IXT+2ODyGzm6wngsd~y>ssV})HysMUW@GfYzs}c`B-=}t5izoI*y8}<2=HI9P5C2!V041bQFD>?h zEXtPBc4eJf#R{)t=}t*iSh@KlQ)^{%beOQvkRGX9W5Kq+1K1q1On3?b0W6bOc_e?T zv#_f4!@{b{+WDW!d#dy%e0^Fs$MV@6)S3r3kX1h+T`_n!4U@?xfuz~m4;Ls$Wdk&f z&M#DB=BS_y!qN&fQ`u%{S(rFVH>t_}XGLgx)Be(ExO`=8Th`K-}9 zUc%7rPXTQL$0`w@n=E3&M{W_vkF-bK1vq9K@aZcmO+;~kD`LAJ-_H7&I~ZV!7Z!;Vh?r$rC6L~5vs!uBVV}YmKf5UqmHad>FxiHS#n@>9+q@6B=_-DDf_U>hpj9%t z&?oEoDIwnhla~-^ddr~Zc$;@@t6Gh(3I;Eee@3k4dJTDe3Lk@Qm;_Y7lJFs-kkTpe z!p_vgklJvnvk$csM$>Qt>Jn2`Bvx_(7)v~3JRd_PQ(z@I+Ql&XaFB!9oHQ$3NVi<( zF!<9c4ZjAzK9T1`P!h&NkkgHA4GD{r!0VDF7*1tudXF|=;|T==@29Y}k%v#K6xx$a zdp!ryG7_zZQ6H0$drp6aREgZOX0uF#-8NtoqDv&A^*j}d#8`iCq?zLa;)2|=rm|tV zbuySDE_B;P2Cfj|*%=sWq1jM_Bc1wHEN9rY6;E+1vtI>Cm1P-cJdf37Vv7u+YJ@yG zt->nx=T;6(^Yhci_F=ZO6|j9ld`(1bCtDz12IA{Q&pY3(=_P-?yFY+~NxdBO2audM z97HDaKK$La^(-`Ht zhZPO7`;WN0yw-mJw9W3^CnYdXa=87;dgCwB0fX3lzKto7B8n6|c538fF|sL&k$p~8$1_SY3I&f}D4eL842UuS<9fw|>OJSt>63&hF3;lhgm z2S09GfZ_m*+L9|6Vxj9fq2LXIAOMU$B`Wx0kn0E5F4OCQe1oXPRY0zhD4@RpigxVu z$aEmtF{r^??qA5prs)-sroAd}E?O_g&8;dDE1ka8as!vUuItu48MoF!Yo6eMB(_?lXLKzC-pJyVA}l z!Kt_0kHlkN5F^zm|61Q=v0|#gVch#yRd&^-1UyePOq`NklWcxbe=R@=;7VJd788J~ zD3BY^u9ow@lH(?8f@B*Stl}yX>9v<0EHFubPNl?6s7gM$?QC3`Cmxa+cYV;<>EQ*bnMP9eWY5}k6>54}uP4q}KCa;0| zMJW#4xk+fQ*TM1$e;u{lP4!c^G)N~dGLV_jQ{`R#GBoTZgh!xiigv&emp&lWTrpLy z%C4sK_G!j`6>!=brL{vzRPUrj>iw(BD~9@ScMt)`Qhyo*|K;}u#rg}R5tkbT+Ps1P z4%bi)a39RWXiB8|7rfto$#WhoN|%>qN5i1#l_UFax%af1Vz&^HxYO^-ZTj^z7HwYl zT=g_o#JFk9{gr{98ZStWSB+J_X?iw8=d3?!++VrA3}RW)R7X2eyXnY9xkSzvFXLrR zmP-|r^YCH5Apfkh{XIiCX-jw4yb}EVN{Ma>$zxxW9)L=Jqf^2)f5Av8dpe#erE2<< z^Q?YULy>5D3&ZpV$~^s<8F@5(Ho$LND=Rewr4A+i4DcO|3VohbDsKP2{}1;|$-&0%%ol$24G~%j?h4~6icLa0cRee02&M%mok5gk%P~y5 zimarXrY`U%w(ayN%3}yD{hv*;1`=jXC4?cXfD4ylnc;W;43oNGlgJhLVP0pQ!d#Ni z2veFQA67Sp3KJX+MY}+1>T75LeYutRwpQToGl!7?JR!jr{;hJUojGOeD&Lu`6eN1~p{EipXU7(T?Y z>vn8t<@sjKJqFLjJDJ`s=@7%>rJI>0i2u(%qlK>FSSjhYEyfuweRAXwxcQ-5zU3;` zAOA6B%PwwF?I^6XQ{?n1wPv~^S*}=#d&{y;94I$m^!Uv5Qfo4HQ$^e?{57xC#vYtP zv41ln*5J_64LU$9IrR#sPtlkR$MOH6E5XfzEtf2@OKcnXkC3wV*U%CSqkj`<#JnNj zVt!*vbC&k77s2ZNFX<}mESYyzwIsn+DtTU2R}6u-&r&BczUp$KqIq4hDlQ9q*vYa5 zSAg1wK9s`QC)b_AM{p|~6s9nvyXh@o_ z3Bw^l9VJwk6URIh$?QRJ+5;Pjy`~lxL1WBn2$I%hO#7#4DF%E7lZ%5Jf2`{a%d5^M zX|G5Lwj6HS`+>!>kKo-26=75PNdL5L8656k8L|ybP%Uy^F$Vt{^g_$1oPBl&>dXUF`QWhZa(LktuF)K zfA95c!kp}~)z0nBQLlrsf2>*%9aDEZ7c^bg@x?~e*LZx->0<2l3VNxjvlL4=Ux_!U zozsmOQUuTKLa4z!gwxy_sOob^!&PG%yRv7KWNi?W3qvpb;V*Jvse~>{IM{Ja1mv_s3 z2Gl~JVm6}eMMjVo4h*t`ovC#^owqQ*5;u~8Z4R>EM>4-;{*K&`*OUeiu+VUit6N*^lGU$S9$wE7~sEv@Q9eXPI`P2P|y$iku_@TyMhSCd4A zfPbS3?nXREJsmo9Lfw2+HAvAFYLluEC8!e?YVdOFc9{7>ny6{5nUi`-`;)B$PbI>6 z)o7$2Q>ehZrr~JnD}}ccWy_RQoUK&Yoy^OUr@5y#Sb94YZIVfE@ldP;aw2jcmMwGb zSc3B+@T9n&D%hjdo^6t0Z&Fai)`FsXf`2JW(ks=Mif*fxB~(KBiYl18gP)G^80c+s zr*G{TJQ2HLy@u||}X2KhWEh_wQ%`B&2bt%O@K2|qaA~oox%AFuHFjZD% zMbfJfH6vqcyKMYen92l~s_KSr34a3yhfcx2)`*rDrhnxW{j6hTLzW#&r!kE2@~{-~ zdPQfjfMv>MaHiZ0%7b=yYI@VglgVb4a8OObz;sFG9m^4iYd<>$(@W8-(J_4=uCh`* z((PkVyeoLJ$B$Yq8?8ZWM|q@EsK6wc#L@J)Gp&lEuIdBM{W=BLTSKs3*nefLGTBYC zBng&)s8&T*xw2#MA{^T>u&NaD8X>CyydM5AML3OqB3!WEaYi_?)9&p?IE@a~@ozf9 zsmiMDX*{%TjQ2Krt*(992H7L^9Xf$eDD};mv20rdABCm`?3}dJkXsN!tpFEn%4*EX zlI&_`wc<_nh>7P>fZZdHPk;K8vo^ZalMib>F{sQX{&R|{hLbw50F?Y4Mr2vxl)Dcm zJ|QaY9w>&LD-zwjgmgbA>M8LX9{~?IK?(bzI6StM)W;W)?86YYV%T(|EILmwnx;-o zU-0RBLsJ-;kpcthYfxSBCY*(0>FF&)O7NA5X@Y zIEKi|a1E66AA%b=+v`^QP?Do`*)=NN>-sL<6;6=rtieZ}26E5O{S-b{0Ot zrBK^xP!SgFePTRkZGTpH(l!*_58QVYZZ_d&G1VqW8&HnqDEruR21CQv#Oz%V4K(wU zIr+jZ_dV6^yO{}Nrw3|>2xdBwE0ny_CvHEHmCeHgNO8EHS6*B65STMB+Ivw$2cfYS zxz<5YJc$=t?`h{2!)NDl0y5)t855fT9<(9%S%M*b=zgM|c7G$6ocecd=Rri&%L?{M z4$72Ugpb6utgN6ITWSf)18DC}u_aN~b)oG>x}m-2uVO)aUy%<%n@mH{GH}3H5#8x~ z$_zUa(VcnejEL@iQoTAbqxd4zlNI?i>@B>Cg}rz^B9ECFo4%n>#dAT=_!B<6Hq^h1)f0oW)*aX zh7TY#k{2E`1%TLj5w{FP7adQO9pN;1&*LGwNlat-3IZZv@Tow2a;)zIP~sRwBPV;i z3ZW}LADGCKz={_?kA%sxLh$4{n#@;m6#hrBI|}WnuiBoi%hiT4L31tLb^54uXhZ!= zh{QPgl}!D^O*ADoOGF5s>2lQgfR1sK7K=B3KTx|ZwQoQ%6D9GqitiV}a_rQ&e}>T8 zCP|5qS!#C9}RN*xg(bPSSLY{ZM{S{NOgcIgriW;_MvvWnm4khxe@=d&d z#KkjrPb9onax#XNw_K|AWZSY*-g5q;$ADbi@BZ_*Z|;&w{FEo3TP&w#F=h=14pHhl zmH4z$*@F2k3sLvV;(z|ey~_^-Nahhz*OKu87@bX#FOC^~+-JToqn#3^}ZM-V#H)p7jO-V_66I(X)6} zInt%)A5j!`#Par3+}zN~!cfY3%!^aXvm|Vi5SHUdLA=>pox0CHZz&K>q>iH?VM$;} z#Pqj4?KH7;*Wz{C!!7pNZ2&t}0aT zGDk>pc*j-bDtzplCR~Fa<2qw8Xoe^_f>|N54~rQ3hjcn zpxcJaBLZMC$Y}_Y$gBC-s(xsHIfi0$Owk1qvAwbIXjhxF+K_cZsr4jY-iHw_KBpEi zHhnB#+QYXc`WIFR>l;H-FCSb$-bC1nT~tI>F+<$RlBMdh09n1^PwJqEt3965qYYiz z@)SvWt*GXLZi|*@Sy!1U$V_gICI0{xMQ#$X=y*{UMO`_~eK{J6?(WKe4iuFJip)rd;h)=&+P_LEy%8* z^HigrCPbO+HEEYC4Kn<-CGGxWyBI)!NaM85kwV#lRA<2fyw_oph18cN5=ez_s zdtgmy4;tP(5zZMzSZfa%-ZHS(jVc!%SQA7~(cP=nP^28A)zA!NEeq}8+m)KG=slvS z%Ccv+E=FMjvMz4#JXm&h-duZ3YfaE()x!}VlaG&S0a>&8kAMLJS?H5{k!61e#a=A| zBwzU!?9f}%_bqtF6u8)-x8%gP;N_&gMMV&06|{>oY3vF5 z4a32*_U*#K@Pv_hiU~T!LC8DF?o4Lc$oNaJTKG?hIaHcRo#x;wFDhOH?F$0=#zBec zipv*)ZmW_a;Mez7mC!+ajS9bTcjNrj+dd)ILwy#j1xRV-4; z<2yVMS-FFCr;9G^Uh2nSfNg5Fs$$h;m%aPkj95gQ6*UhVC{W8ksUP#92mVcboZr2d zh4*p%xb#<#KSI&SZVPBKME;UI?&t3oj{B6Jt(64ybCa-1K1c+@n-)9e+!mlpWEw`fPmQy6|QvXu73~U z&QPKm)xVnfqRSv!<6w)@H7%#~ZT^CM38~R+h+M>W+ccPM2a*xM5rq3fF?Gt3hr)x-0LS4(%`rg_|eD2___6kO58f7 zt-AjdMvwpWmruKNj7|GKGU}8}<^y-M4jz|SNU{BSwPOK&Y>^?Y=S>c`$&xAE>m~`y zzCSRq=(~UUv-_7%-~aG`xv%Hz^;2^9;lnhZf84G%$@)FW^liL)_z+NK`2GQu;RpPg z$P4<1cpC+)WF9`fC->I-MRq-Zh{$&r)E>(}y`8U@3p#qJxURuSeUR5l0O`p!YKyXM zlr88WGwMJ}9K~af^|8==;Ml}rA6vy13+BIwMehDIuh!?b~(5_zy zU?MzU!Y%!0D8ZV+K_>?Ue&W+cmgI&=@-kT7W6sqFo9;FAVnMVNM;q*NA{fBM_N)z! z=dQ`^9TNBQenZIQ!*I8E{_gv<$%l|?e;%+7CA(l+_{Fj8-=IrE+!GWK;+k;5ul{6B z_P@(XXO&i5m|$`h2ft^D)v=QU8=ZH9>v3lNcK!@IT+xQbFrf+LEgT2fI6YP9?ri-R zV=jsjh?Wr}m^&%fM-F&V5;djm?mErfF1!jl*A5Ls%u8JEuq+|Vm$HuFPG47Mf97!` zxY>8WHiElX;_sWRez{!ES$juVTPSO~a`|;}nR^VLxAAIvxAY&;E+|;GS=kYe<+?JS zeKhKa)Ml+sRLK~Mr-`a5c`8f1!Hf?g>oB^LK$iMN+rm2GEy&w{ZK?T8(zMubSV! zEybaEoxn&yE|{0q^_OL(5gHKROv@cR|&vA6lc~6wL2u z3b)eeZab18^OZI&S#&JTrNv8K^_(e)y1ff(4<95bs=1aKJy3InP|~?if70&wphHd^ z^S7qTic;rzio;Wx8QL-|yo!ZQDR)|GyTXf(y)=iH`~FFyfZMGG0B?FF|YIXKCl8eY-1}|irA4Em zWj{s5Xc$a+4smCtO1OLj>1EspO6eXP7!mafkE3ReFzOrVUB>3MsP_3WPriq69iJP%3tys5@YkhZqym@hru` z%$t5+Az?~lu%pE^e-0{1)erTM1C}f3Vil5H&_q>mDP}y=s66d-qKR zbgrI!8gJ;5>p|7pm3+-wgG-0KWlHVmb^J5ALg%3AzNJbpc*i!k#j+Gla4YaoZ&+S` zV!m=a9(GkK3$o3<`BQvQrQ7~m*bgycSNv$1) zJuTXTz>DKYe-Uihon&aD?p@XOK|!L($qWLc8NB5P))m0C%?+q1nl2j%mV17pU4jGp z9WlhH2MRbP%pR8rgG~mUn%AeG;gjrAdzZr8-lf0iwayTUj>hc1w{@We543h+|^{lmvOP+#BI14M;&w75!e}XJX)_~UZ(EMb^i@02VHe3ns zspVGi=I@j{L1nohTvJwTX*g?tXr`80FNsgA0dP_!{l zmX}KLf8U<=RUPt9$zchIE4=1eSe*D#h+&ox3-BBFj z*(RDmA>Qv2ZWXLItB6}aKS3!#wDy4oe%gOc4*wSzgL+fWchyUbVu_9++LilSkwsGw zdzk_`^oeK2)VtvO`hJ5cdKf;5SfI#0L~{z)e~?1G&jxA})S^Mj7^2_d;W?-qPx&{nFA1zB?LHy#F%UQ8hofifi zyf-xeUO~KKpKFw!Nv?&9B=fwcIf!*QPL{srXhqdU`mgj4%k60@j-XXDKdS5ss!d^D ze~;vA`jgQ_+&_Z>im_X686-Hj8S5bu9IL*Af8GXIc}a0hCNK$uSS-)M`fhj6CAZv9 z5WByG($oROZW<<&O_Jo>g|3-tKn(On23gs(XUCNcJGZ#$;?fTbiz{~!{WIZ0l~?4T zJ?-fqq7Rk@QBky34{o5Yzz;&-kGGt)e_7vT1-*o@tKh+3O({+g3~e8|0DYubraMWY zh27cdg5uQ7wZk7g23TwfkU{0CG8t$ROA1UDbx#u&L)8l~*0xLKyktwdAOlsF?Z05XNgMMbK--f9TdJ z^#T^5)?v=wSsDGY;Eh*QKtX=B_ORXQwq9th!ZGSwYkf$YSQ-S&6AaZcPE%voT3MWd z^GC&ABuDqiKUFQu+n#B;W40bkGh%jK0RAHs|4$Y%5j<`Y$BzK|mt*_+^lQW@c?zNw z0W$C>b7=k}7hOE#;tea-VYdtVe^48C!&ExzBkq56zdj4x=`7c{WJ$U%saEA4@HE3w z=ylqofW6k<0Z~v@-ab>RD|3-sZSjTsu9dPaY*$a-w7XaNX568F4;GF&kfnwJ%=G7} zJq0FIsk_MM=yw@7E_%A@Xw{CJk#W3bKYec;uP3Qy>zd^ZSet(elC~dBe|S-cs2LEh zbLBT2yM#KIQLtq{VVbK6x@Vp#9NLpOv;;yJ_=Ks7$xFI(rXt6lNZNkH*JWK(hYH`} zylk^8s(M2~@P?kC8;->=kzGshT=Wx)#+_+u8jpQKW8ioxRWwG! z`vtESXgdp|FqsF_o2G}sqs|pBJ6?JaoCbh>0)K(1gTWM&fM8n@1BwV0F{kQ{tZ)qj zLlBY9k61H=H7>HW{p5hmn-ZTt1YJ9dAkM4T^Qc`17H;Ty} z98bSObQeal_i$eff3vSG9W;Z^@rD?8V7rG*5J9q_xe~8lM$7pH)Qi-!4W?lx@nVB$ zqFK3XexyMWkL@fp$mcX%1(5z=3FeD}Ae*vtMS#fIHH(N^`MDAnZc&sc@w}|a{1yLU zzlI#JyKwL9I6;SXEkuiE%&Evk}Mb(%lHfN8e*s;gos^+ z+7*tzcChFoRo+l6O=?+MSD8#yB8n>;s?~O(ozS-nuWAKNoO@i1Bg4`cl{s=8s5JZ9 z*+8XxCHuaKe;}93-?|Y^Me{hVzyNNc-`(OnsF^nt#`h(e(u=x!`L_Z;C zcd_-K6Ua?rDymG`vN6+PkWvQ9BId<24k+rA z?t5L0N({?0MN9Rn*1e&+g6U%M?He;kejp^cf1wu0VzKL(@rf-mL-|{Ck0G)2i16(M z@{UW$#ZuLMf&>T&bas4l0-T2G!l2QJh zf1+2c&>vM3!V07*;i4#9K$52_3U4204C28+zNobVD# z0Bw)IMwJGLD*cG`g$2Nm4g{0b^a*v=o2=`W;#7i3islNMApy|jSgp5izC4okK&fND z{yY?EKujf%QTPZb5k73<5KNsDJ=m#J;Mnt~<)X@T1P`)3YconX~O)_Dyl zZx*hSHPl~B;XKXAK|^JOWTE6JOXCQM@%@bMG-Ej^4O$lr+Xc46Lg=o+cA=epxmrr4 ze*)uc_ZKit^*CxklpNTNDip`9keg?<+hsD(ircA_RLfE7wUKJ*s;;<|vO$TLC0Vke znf$G3qbxxMg-wLYt9bJ;$DyehB$}pr2<0t&h$z-x402k)oZ8hxA#Xdor7Paog+!S_`(FAf1>KP#f#eLr{&z=`_FLF-z9fN5RR+> z`wt9+l|9iiMI3=rAT0UR^DL`1KG~=m^T6fWe-b)2FXW72etgqO-D!%s59Z4t%PmOG z(d)%kf^6aV3IGlzmodGHw|>OhZq!Y06_&RLVB_P?2v6_F5MeWjp%A23&BCo8Drd`<_}pK41D57_#MF-aWX$Fv;cI2oyTp`X%d?}a#3cs`YrceybZnt zD@eZ(2NKv)=sqI$UGOWtSVwQT1=I&dyAkXVbBCuQN zPvjtT4Q8JFUb`(V^FyuvS2WLae{HNOEP9!q=ZHMtcdW=&B?txMDw;0V5#o{wyvSRw zb2U!d7$?N!{f~gDIZTmcP13E3iJ~Z~Yq*B>_Q>0yllJFlX}wGN{e>c!+PeVuYDQ5E z82j-qWsoshIOT-^5!L(WbpWkz$*rIKjQ_(n!d-P0&2mK+1m%mCpZeWN4w|TmW>tZ! zx~u9UMRB^5^rek|!dluZbq`XPr9oQr4Dxbe^!C{B6lJ2OEV;IYuKFvqZbhBvRnMs) zYf6fwsl+F|%E}?%ua65*+5hl;DVeeg8W!1os%I~zt6w7BVw z@V;|l46-Da`c)yj^b^B*&}>)qWVwpmEEt~Zo&0{eSQNMn!gL#OQ9v;rA3)$}(Zg9m z;24fkT4D(~l{|s4wEE=ud%}>5W)s%&iPpO=UVw%T?07M53%oiTM{&-vYZn0URC2+OK-zj{3 za~kgw8@_e&wNo2W;Z-ax4Veg}d|_+M>2*8%+OG_OSG3c#-4T>4`hUy`I@Y{**{NibCj~k{4m(yAV3ObXY zH`QBIITNC;cs$Mi41MAYuVUqpzm8YQ9m2)K>4)l72v@h`T;bivGPB!u*tAoxoH%tm zS^dVdCiWEY9|6r%u5vK=8!h=J18#5HrFQKdtupxZn0Ixwyc!=pU;^{tR$ka=rC&e7 zZa#v4km)S=42EeZLfBQZj8`xW;F5-?cV=vhdFsb;x&EoQoJY=O6mM_1NAhnP1iF+% zIJD@&9A`f}vZe4B&Y{ix`29_j1@p*gImjB!BeC9@8TS><2#;{Rpz(q(N>Iz0;TLRR zGswVeF|Tu0_Mwt7Zdj*>i*kaG?M2gQw&)3y`>4zT8k5MWCV!4rnNcMeqQL9cm=WRz zDSH~M!0DjX(>A%0*9f99N0U9|E`wb>`D?NW0EKECQeU~U+uj(gtDOeqRBR>)i9^x3 zV6gxeK{E?5Pnaeb5ZNnRH`*N+l2qtBgP^k0^y4k}Jz^i6ii>R|dUj}V0)s3s;`j+A zH+c#s;S7)uQhyns(gIK@gDgHgdg;(&n%jyg-Wc_(e0phJ8pC$ooxSZH4lQ|YTBKZ{ zz;S1(W1ns9`6<-1J_G>cUUhv=#i@n|WNz7B7yKx;*Yv3#yJ$SJK-J;obpMlkjs#HA zO*PML>D3?V>&h%$@Af{A#mGtfff!AZ6VuXM&2B5S zo&4Ftt62Qm8s4yZi@k1XUo4>8i1l7Go3hot)Z87Pb*-Yja60#w;koP-E{eP%83Cun%thRKTsE`sP`Ja`f~ic4sCsGg6=6qtWQSP4P`OJ(E_4y%fJT$&Nd4!9ru|!$uQdl^iL{zgOIlq zN`EnpmBt_#coLGEGgI4OuH;b?O9% zC&P1If245nYxs9I`ZSZi*#1>cPBCd|>KC=iA_S2xjAS`BupE#vW z-R)ibFuZrj7ACW$)HJXwcXE#qZb36o%aENf7ouvo-ky?-pG zUo+ty3#R6n#>g36YG*$kqw6WE3XZG(FMHSC6?`TJ+#s-B zBt=jJl*Bs|Cy`f@vg!f_@yNj#qcBRT0z?#|A8XMUrrwc$sj zqNqZyoM8Eog?Z3IZPOKTJnq5e4l^$J=gMC| zR_afGVh|@qadcHwtx+F-rM~;@#>tRn-LYyAb|a%`<=*!xiBn;HXzBt=*MCaphlAuw zDR=oTW?8V#F~5D=$yYS<0IztCscK^m#}vMD3H;P}pcq}X&7m&fVwD!c6zl-q`jb3m z53H~zYBj@IV_}3TuWuN5L3Lf#GQHsd%TK`zm0QgbhUP3-yrOKlo*~xqP@*BYo^JL% zx#g0vct2!uuIx75qL|m45r5Wy41MS%$x@c;*CHdC_Y6jDPlV^4Aj>=h&K{I_ESCxW zs#3gWiZYh`Brn*eB8v5?NTzK#uJGL8l2a7>I*Xf$a@@!0)Grtm&(e6!hD*FH7k|aB>JR>BjArmAl&AwH`P zcs|}>VBEVP!vYmpGSLX>muNhH_;{gHDq$%g8#z+f&h}i*>1zh1ra6M(ie7DIcaKTPE=uhZhI8FU zTsz(wfNA?6r7nY0J6vs6rdrQFaS&zp>^2c~hhvWc^1aTJe zLei(`gvW>LZ!>=p&g#dwr;C3G@$?bO2rpWZg;3ol1D`X*N6o1A}4!k`y5h4&oQ8m`XZTzc_P zTE1Hm1-bZg#l2sp6hnom%6PG&0|p@rM{~i@HS@Z-eohzQk~PzNN}PhFpWJ@{eajUW zcSzdEUw;zzpwD<^scBbCAHcEYi%+-;?#LVXAH6(T`jF>1$DLXwV&Im<3C_rNI;~ zWq)TR*ELL)KXq>Zs5ICXtw*7lx{PXElt7IO4d$h3hdEl0#mkCT0byY|s{Oz|h;%-p)@Qn^<%~eg7K8f(pSK zn)ptC%EUiCpf;MX`V-vg~^3Li!^Uwpb|OMJjbrB!K?M#o(WGp z!KL&=oM8HPNZg&i4wiy>!v#$a+Y&&9*D!0Qw&myppN1JNG^FE_x9N^E9y!HgB!7Ge zDF`egA>^FG?Prjs0M?j;rVm!H{A+Q)`Ws$JPA2q%lK#|z<~QetVp>DT-9W`06%zHK zc(!Gb1&U}PMl?YPA?hGoDW7f+8#&pT-^5WsONh`K0;K>@sF{3#5=M3(L8~1?UgcDU zd*{=wINc1zNHenV99g=kX4ot|Z+|eVqqV|W{{JD4<}hny2)5h@ z4b>~dF2iUw(6EU^b;Qkt`%w2~$~kuCE?VuCsC^Wa*CeuN2GABHL(4g(rmU}blf~>h zAcqX})8YC(7~_WnmOoq%$Kv=h(^5Hner*JWB%7uVpXiVf^xS0(xj-0nKz|X$`d#&0 zrSb>HsBK38RlRbM!?tf{?C-h3>J}tFf z=uqyYI+}^lv2F^8pbt-ks@3DEildZh%HlL`4cpq!dA`MMF&qy&uud1I#wY>)d2s=f_R_RpQ2NXt?XKHE*%YU1`2Wqj`&xBZ!L8d5ingEcBVh zM^sN9_M(nn;t@Nd`hS2{u;<`XH0l9EF`fll!b{!_ztI*v`+!(|5w z5*7IeDkvyO6NY7X9Q$)xgD)QEj`U#g?})*_YccrO%?_~bc)F+6!76!Oa;aO~8bUng z05`-HGLc?I!`(Jtl~Np`cVX09_toQ3WnN=Ol{8+~P-vlZlz$*KpOL2Nu0ab8D;-;& zrVIL(_WhhuX*1*M_x%|HX=qiz*#m=|*rckWhTTtoVME8gT>*B^mw3gk{U`(8#AM*s zE&O+o#8>zWFuZx5#1CyNMKd~zmZkzwWE$MktUUReh5#H4U%t2_>g=5gzy7tS>ak_Lop$b00*7txR%a zhS6-Xn&-Epc%_S>(z#1u4&@Rw^KFkFi*+x&6l&EIKYv8HJUSx`GAzWg0o+?Wv#v&6 zkTu7pklW9Cr5B?v*|w$%@|y)bf?!;P%uS3j|%-uD}?op!O!aC zIEl8U01DT$RF9n_O#W1(2wc|+n zW1LkAq*1qj| zn;-1AZ@Dr{O+kJ@rOQ-*Bs7+%dTz`rC zCFbeVk8^+3Rcqz`9ePR3Q;_?n*IpsZRcO)wRFk#R?qQpbD;f57HsFy2K^1aFg4~dA z9&*2`ecwlJl6hF~Nl%^A_bS#>m8`@(8+V`R)Tq_6sK}zF9^_BS<`A07XCHj>qJLk0sqE)^Q-<7K-Ac?eN&64kU<;G_P8uuVTu)Ze zG?t=ZRhM+rbGISyt`Cuuq1S}MX$wcNVALmmd)_&C8z)P@==3M<>->sa1hkqo3Fs(~ zHdfzxWg}k?KU0*%WJ!>%lIZL}GdW5E_R0W;GexKm?;=2SNjc)fl|u*O+<$;O3`EWX zviO1OcMCM*{SQAhG-8`_A~}{+hj-*v-4=N3D8%swadSL!&{WU1=I`G5(*WtzVY96= zcPQo3WOlvu!)TJQOlp-S(b5#-;A<+?=2dxnG1_wuw2=|NPyDT7s~L%|U7}#m22bqe zG&*KqU0X`~+!w0Vh~nSu8GoNMh#qKBs2e2p{V(l-@Lk(j`zAcg5F$;HEzjf+uBW*y z8J4@Y*N#Mn<*x0vJ+o4aD3L#K?E?u}xSdZYe)=2!z;@xPxwdGj7oz72$Kq$D=F+fASQ_wz?){D+rNHNtCdO|0yVxu3!X&*M;#}&XcH(148uPNC{i} z4+HmVvaSn8eJJ>7xqtV7?7{Hd+XE{d5S;hPO6`Kg!egQ=8N7qe++OZR(C`zaniqpv?Ic6q> zTBASU?-WxDsDBPCzJmpiof>{^Py_6g4k0L73nrBpUpE^=S+;otL8{AsmE;H}uWb=J z$7c*5FE05pUUTbQRAx}Yv;Uk1uFE-;4X|7uEcFxsV~K1K23QoJXIL)-V_abVQ782M zi)H&2WP}$uX9z$)X>kzUE!pVOpA(JnK-J;SAhOa>lYcM*O)++2Y;l1LJx9TBVE@4) zSR$NoW#SBjO5lm{w`IHLAD=0Ly;%SFJsKlayc=j{7=wX$0Yu#I(N+%x`k4l^IGPWq zRa%(%b`@dGI7^M1tjMCG>zBbrm(XK+8$s7nacs?{MBDlvmOCB6kuAflBf5%;XnU>% zSNBiBc7H=48WBtV$^V@92>RjOr;G^K+9%Pc`O{mpa#&!yTp>VrGN-d|J|v+emW%Dzp0I%6lbIct7Y9tMJS@*}HYwPTeN1 zjSZ1Q5+xAe0ibCnm#Y05sY<@wev(YjfFuBc)Q|#6(WYwGw)nuz{JN)K)7>-g=IHAr z>SoiRkMFLgDb8^E1z+{hpKj;fya#`#y?;NEKM?sp3kUDsrgv9@pt_Q*SXb~)-pj_x z9L=UE3UZvHaERs@J>Y4M@^lf#Ba|m-mSL2SF&c(xmZN!+4p0~m@K-bs^DzoygeTKH z#Dh(v!kDtATaw4dY+=%QO6Jx<@1wAfGc*YvV1{9a?q?$uPNqqgh4&FAa~q%t=YM1c z=piQSBx@T7U&!ldnkM7}6S{<>&Aa&l$t*?vWPs6R)*quRNn)IK(7$FBeFA$1i$q^A zd1w-&WXL~Y`j&m*eZC-I%)4KL=`SDRe zCOYrpAj_>R4DPOQeDhCs?fDz9n}3H8G6+60_rXkpZYtgzQlCetv&H+eY02&ZY1 zb}IvsKd11?DVmE)cN(O@o59_cZfLryyY3ZzHOF6bcvUqGPZb>bstiIgvBudhUv%*> zm__;Hciz@`W6GvIt?-6J*zl*|9#ihvVfnDMg4f!?GE4inlOT*cX~uz}A zF^-}HbYnEQ`tdaf=!)liiY*A|4*CX`a!f&Tt;>$&Vkv4;-7))$s^C|D2qx3l85bjo zWbv-+D&Hm}iK65=8X5A!NPkZ-Qr785I7nap_!`~bGW+8P9yw&`rejFs zc-7U3zD1_z15;htr(mBc(PnuR|M2Rn?&@XTniVnchH*xQ3c*lSRlp#a<>Q1*%n8yY zLVpeW<0Q)9jRA2hiGe0a(v4u;h{^|1?Fv#?5dNLby-WdL*KNz+d4Em4M^4Kvond>Z z_5S;+2EYJED*&`s0BGVj7f1W!LZM6b}NHsBbBGBw)usAhnf5s{P{kQ+gXn>?}yi}+z00?oH{Th?l4Q;KA{qAad4`M$7|gn~i$4%$(! zYb9u>s-kGxyMM3Y#6dgIEjt1r?-aD#50@7jv=e;ObTs#(kok4T)}Jkm34zg<%b1(b z501dA8wS6*X|mQ?KHDtA170;PnwslNUM(^WVHVk!;CQu7CO>A7wKP^lzWxr!1A@rl zZ7{-iih~C_Ox}Bk`#}^T$Y-EoRR$zvp{273L#Q>#i+=<`mP8kqP*3rYJTvZNlqWUr zuBeM6sddy`f9|SKjPW2l zJ-T^1i~D46Q5HD}Tr9EXx%0e+;PetRG{Si^;XfQ|6-(3X#N-NwAO`6v32bfx#S3O} zvIE(P&VO2(gz;e}{B)vgCE@rQf%qUZYmU($lCHfq7?T;X@3S0oX77n0>*pbe;hah4 zX+jvTgWkbs24P01oy-}U$DVQX0}fBqc9;-y#w(P55!~3W$wYNL{u&ZqA`hV)#LFHn zjDC=n_Of6?lu|gs*OY|pP&mjTXMPxjQPx3!C4Y865=RSSzGQ5lOo9PMkbiHzeS^sJ zLy(oU;Nkk*;kcjWpaEg2)b_zqI0<8-xCgXiBhJH==mcU9W>8WWrI+@p^U>r1*vwF=Wi5ZGM2be!!;>NnaFn zNq-VFQLKK)BcxpqN#Cl4IW564d=Z?|k`*thny-86vogL+MQ}u#?Zj=x{}~4ZXKypU z6tH14;&%%rp{wd^w{S=98AbzV8~`I0|N5|)lIP#!Q5Y{jxq2>{Wu9*F4S(@a!4at7 zh%RBc;uTigl9R`iR|q%2qgM~yxF;+}5Pxj8C)OW+M;1nfSkw18CVE9T;-)V@A3frA zt+8VxJrXS2IIjzId>f0LgMMA&KxfNUJWRoTs2j8 zea8^&DkB~!_IeHplaM6=1vo^z5+8>~%A>&#S6oFmwqVJ=SW7=qe885_# zuYo`Z)w72xAl)eRxjiq4(?UMsL4T&lvS{)h{KHS7l~(RBZ3Q``@S zVV}K2pyiZm2Mf-XWb6m1hhAo9&c};KLOKAnmrm~MQ=;Ck_J=jcoP>C>>ZKw2(5a17 zb`PjQvbTFs2B+%f6sss+JTPMWkHqb;Y#6F7ABNcYFxEB?W+TSCJ2m?)W`DDvb1*tI zx<0p!8d{SjiENqUfYr8E+yu_;T7T!HCvS)hF(Xrs$nMFY^~%Z5ERz_cNkYvX;*@>C6AZ@M zfnxawZluy<;cZ|PYMX|6hO%%J2l*_;JpQC;D3&T(XJ0Sg8lc0toNb?V5j9%bUicBQ z+L5Il%hgXq*CflfoSMfj>!xOE{u;USmSa7OZ7KY9iqjD6(*ZqGA%9zsh^~1ui-^om z!y-{&#i0oLO~r7K_ET~Cq}*(i4vHv2wjvwSJh2=BqlpN$a`{_v%u1!)s!=Sc4yoL00f+@&|;~AQ7s0FlaEq9QO#%lm^NTihvynnT=ig(J`r1OS7@!gP>y{iTY~Ko_p`dMWL>>wP#wV*EzH3= zxCMvc794^@aCe7;ySoKBxVyUs2ol`g-GaMYaCiB*_p5sM)tg^4Q@d(vYF77j@3q$6 zi)zRsP=@#YoweR_=!^ajDRM;Dsca$eK<%Ho$$CT!HgP*JPMFt79vy^Kv-T8kU?{Bw zql!KgIp`P4fj%Qy!EooW;k&vvda!s@_SRV_L1uHe;3m%7ZS4ohS8gt~it93Y#=3~V zGvj@`{}h%~N&5QFY17^Em%V63b62$D=3I$Llrry=ud4YC{&utqr>S?&RVFkz$Ur z`LS-G;f0;F{e^9Y7+TNv=+l}xF4NYx_tg)Kz8DAOD@ol^n#lwu%|x>%94x4;<}ZwZ@L;mUXBVyjmMsADjcBiPE+LV7Gs%-TMfxl zY@mL+w9B$9E6cmNt}Bz-{1jCJzv=cVOvoAX3t2>K_m|el?B$u((j!mDsBWS6!)|62 ziQTYQ)DkV18N}i3^s0(`Fur)Q@tNDi9Ru68X_kIt#NEtQyFBXKXF)itFgw1J-_qTy zYQ>hG!pX(a3JQ{E(#T@PF2V&i$JP?DEP=)rjZ=_c6%@BwM%=HaqfiT`)#h18H1@0& zaXT!#QD$=?O0dayuZk@IS-MGQFzZc9%x6lJ^bmBf#D?m}Ye$rpq?X0V~Rb2EO30pB?XtI@0K|P>zrq2~GksMQYVx z(DL1 zZ=cq0@(?O*mn2$$gMYX|KhYv7AaB||@L3e(!*{}rwRbmZQRVIAgbtJlp9;KG!bvG3 z>tMvprCd04+Z)g?vQo9cFMLpHKpjqI{1WJ;t-Y?DjMnNP;$DOV4mL4Nu6N(2re_`FQ+MxKJSYR#(=_2 z<{D!}`Y~je?CpwA*m_-+8YhvMe9hjW1X`?9tIKir{EHCHV<_UhkX-gizA( zE@@SB1s>@6idH4*Nn09r}cJt;kHB}YP+f1r88jz5QZg5h!Yy^o} z$L~A+qf=7W1^*4WRO8XML8~lgcQgHZ~j(Mzgh_vcfDkSgB$w+4yj5SGXG}s)4Bd34Q`Wnc!S9VU9KsK9E zAIWiTV;wXFkt8bCludr8%I~K5V-B=f{YtKTdpXgcA%HEWH@%TZXtrZzwKe3yBv7s-=h7S+LFDmER1-a_^W@7(=a;F9(7J=P9;ID~99!XeA(pw5hu ztT9z?(wYbRjYaZ`gr1vfnuBJb$3V$8u+_g02|Vx0Q1r#Vc{(p1mfOYD$W1=y$4xC+ zLr@Cx>}`$>`eBbo4na2ivIE6{fc(S}Cyf>ff|`Ioon;E?i~!^QWyY>$3VqezS3AWj zT>}t@wmV-)Xs7B*h*yZWQqr8Rd6S0m?-@m2_7J)Tf4WMWAZ^ph7{!4&wE(`VPbUN2 zBbZ0HLE2AR;&)yCZQ0)IJb8vb&6}LkPq`(#dB#>n&j%FyXxs6n8aiv^6hG$=mq?F{ zqM7L@*-GD%Iooj?8+0b^P7|Q=gq(}J%7{K;EW<)l2JYBD;5@H zEmp;To`z-r_W|+`vd4bo@<)=k&t|9Q_>86u_}kGlbea8oDFTlfW)V4Ni&MI?`fA7* zOVQza!bOuWwfqjqZ%q06yFn=!A&GuA?9KkLJlPDHB8O7wpb?&7vrgX#E#rUqwx0zZ z9Z_r}=&{+X(e(%_l7SVo*R z-#Y@0C-c2Ig~5opXoJfLg=19Z7t9_dCe*G&$dJElRvgN>P`fw zY6(p?32_SSiTk-Fc`|mF9i|MlV8N%FDC;1fb~)JUg1tABA2&a>Bnm~$9ebXr%1=yy zf%iIA-4AQ?uv$Y_r7W1vM7NyN;ZW?7Ta^Pe-hO%+q>I?JtXGgQLhg(^RoxHVJ5%bQ z`GWLO^JvqXW7WT^{QCUz+AA#%z`E6QO^J!E!li%1pbFv7yylnnT|x$uY_OV1vIkd& z`#nKEhdKgl0oJv`5T?Rlo!* zpk=qe*`-Wiw*C&u3A<&-+Xjc}(n2thLt<@vB*pR`Z6@HcSQPxWK$JiFKpUKH+&#V0 zY}^PwKkV0(amIfuRPvrvCirj0h}V@GCku%UtY~nCd~sB>=-Ea5W62O!2!_ zAeCi%B?*CBSRRUJ(I*RsFL)Mwze8_$|8^q1VU(aV?Ws2Ifkj7>t1+V^(fzAV7w}-< zt%7gG+0#8nGXP=B3jD}=!Yxv3c5m^P$J8B&i=9pMr)KG1SrxLB&&#u>Va&~x8-59f zn|rm)7{26MFKCvl{0AniIkM^^JGe=D_xdj8@u#0wZWn(*BQpRi#*8jSN9KN-Z!=Z( zBg<#fM=3bc?*-w?usC>GAl5M>x{uazK7qaHVY-HQP@Pr*?-nX|ODcgetd6t)336Pc z`K(ktbCgj4PQxsNs*pX+gk~6lCec#TA~_TjN%w$7moxxwA`e{iLh~B1Y{=x#1ZOME zTga5>^%d%H?QfcCwY>03tHucw;Ql)6VGPXrmukV^ za^e+XCK!8$xgPC^bFo`7b<6e504RYU{QQ2=KK4n|jS06w--Shcivi1IP|xS^BAp^>3=gs;tQ}_Yf1X=qrkzBBdGom4|odz}rjC0jCya0Nr+O)B%udS_A9{VfA01@mQG3v|R~(VU_@Bh5ZcMC+pZ{k#!kYLf9;Rnc+Qt z;HXYTo7x0kV*em6VH@XH@-kM(U&dYEN%$uTpi1eBI17!a~5BBlkLT z%o7Ya4^2!q`0ee$^Ai;(f8wH2RLCHjXGrlklgyaQ+h6^oxf_$8?xw&B0D(zQ+$Q_; zs!sxDpv|3GP$)NFw4Uf95#|(L$+ThUJCE$}@QFU1L|xXqcGNs|t$({V8k~TLehg-; zT>3<=kjRIp0utnNtk6tuPmRLG2Ou?G34jIj!(wfvCoy@R1T14;$c*N9L4OARv8Hk( zIRnj6S})gj{Kv{2>}M_eV*quTisHj}2<@v*EqZ>*ez)=I6CYa+p0|6Kc}rcPw0S@k z=wr~CXf!;Gty8z93(PO~rLqwDfMpVo|8jd z9NscPIphv`3>=1`O>qzcA0nDy5>%l48y6<$Ld{+oLAW6VhJ<<3@Qm2eL@??LJt&|S zMjlPvTT`$n_!l88WH1|p!Gd`3} zUS~_hyOjztYVvsLfzUz481yzlPC_P_E;|~Slr#$Dy!S}LOqv1$A*6(h6=GfKcYO2e{a(2@`VwV0jQi~xkl-xM@QfRxt#s{8Nx=(Qi}^7BH7BTr@r z)Z9B~>;C(bIds_wolbA`Q?4}BWFwDu`|s~}Tso~W-_xkMaIz}bz~uAi>(3{ttE|O* z+r5fs5CJF6NhbTngTuI_a>}FCokn;{!jXSk$O1@f*3JF{a_Ij9a#-*~+C_~U0U>u( zAtf-?z{Ve)j8;8__-6>1#U#dV+6f*=<@dF(o1~yOQVG$d5Z|vr>T8(Qj|>I!Y$-dI zXe=bDMewZTc3gdyIQ}>4@1QMVWt424|DxRO6Xoi|c>h7U^(V;TW$phOISg)6i9)Lr z`3H{-1X=fs3g0kW(*6hJL(y*)bxrw04L&zV-z)?s8JgRKZVjAlwRJee+g7~EC3|Q% zldUBG61rf4J|zHUP?^$!ll8%;f*1ziscSb7?OVLgnSPP2ih>9#A*L^z`?o6ckF+B% zaH;=8QW8)Cv+BE%%@h@}jeMHOQ;!Y1O(U&6O!r=S*Q|J1U zPKuO!2PZ)JvSLXl2+Ww4iY4|T8f-)|PtUJ<=2l6h zW4z`HE^``PBBVrPPu4UfPePP)^O=0L%7R{{Y4lN;#tlNYX6G~LX?BNN z22mD!*jpTnNDiv+6wCIUuy8JGQ{~TV<@}ec5&&<CO;r=D;Nq>;NxD<(77h{jflZt5Tbd(@qZlZ|OsVgtfJuBl=!^OE(9ttmwXL8hv@ zU^Bi1;qcPVpuUtedC&feqPUv}|uP!0k<0(n4SLsTe;1z|H6S_x4 z-Y_M?11ve^>K5y9TFL^ZD9q@?Yect3NENK zn0{2c<@(!%bG{tEAJqQj7lnssk~WGjCL@xQnzA%c>C>fV2{eZcIr9VvbN${a_X4Ir z!JD@tbYjvQS2XCQKW$#zz_V9>?;D+MUbfp*1~0sb7Kx%zqe)T(;RbU(wk>Q5wrZ|W z-8Xh;n)jiz{aY?GHJkYg-&YJ;zDw_pDiT$mp}Ag|F)qVsU9(ey5>>;z9MDtafFNp7 z>ZrUk+U-2e@t*2`5wc<#zzWA|rh~dYhL-p1e>VZ>_(NOT-P_!R-~^-4RxPG`m0rsYPv7Km3{4#f9Y1CC%NA}%nO z!jcml;NOlsMfvA8lOYsx@nJB81xYw<;Xf`l{g|%N2{f?we{iyQB;wK+czfebCLB>k zPZJ)2mnLYLBrUQ8|DrdjGE^kRv=YfO(l474OuqOt#$7pEI>l`#HtCy^Lc;XW+MxPN#Z?Vq+=+4!^m@0ofWT)PGf1?Iz-NBMJ6|6J$` z4iod3diFhf;SD|20e9Ryhi{i6U7b1*$}iwuV?)aku5vzs&zEd};f%Xc&BHiE&}sg9 zf|TwTOSVQ~^ZYo^kuNJ-_DW#O>5_Vrz{&njE%h|}OG9UI1;08J{)MIDHaoAym1g89 zuyk7ly-v_0%I8N^wlHLt1gp5SsY&MtV%o+&3f;<^>HgOF-9D!ywRZpSYahAm)v6%6 z0*spRe9lZ^FiA0!WISt`Y%J^qXES$5)Vy;#CM9d5teF!x=AC|86QpVpex{tU0}bZ^wz`pg3Ogr(Hi#Hxr1qP2vwE~?O$xlm z$uRD$=4ijnM73m_rdK%KG-uz8eDNj=>eG`-Az)=5TLX_Z;{3!xqP3ntD?}phZvI zy_Q#55tp%hDC4AF`ljK-iBB>UjsgVK}U_*utAV|+!J z{_O1tn}pq@!GCbg2qgur&VCoUS52YSWFkS?j?8YLQ^^E>bDAFtuEKP%7itZZrXFLQnxnD-9U~pOL`ObiypiN4jRU4kZK3`N@ zWS7s~=EvQBs79M(SIMFq)9=WM^ZB1w&pU2iU0!$B`*x1Jm7(i6t8I=VTN7@2s9w*` zz7J0P<6Uc;x{Qq{ZH9un3gwm`m&(j$jPmO?`ub~AnHnXGjEl2I8|RIjFAIC~_XlR$ zQ6(Q)V4ZQW$(nIuyY5=m(8N3Q&X^|%9eH))+^uyr+e_zTegnRp-~Iaif$GY)gQx4k zzfO>O9d*_7sdRvZw2GrSvnkTCsSrlHY7$yLbI5<*p68kU9*6zjG9t9{H@A7Hz5?wc zxDx6r6J^}!_3`l8p+rDWd9373c1&X)ejF<~f&T2)niKl;JCQnGi%GA;vuSy#=dLyyz2bW)2mC%mmlS}0&(%o4IB{q=9@?R4UE6&{%dJB@<|Od z>S-c@WC$desb6`IT7Jc~Qu+33xD<8Q9mMnJH#OP)+mF)(wM)cjW6eJ?a>HDWT{sVI zZ*D%HcJ#vU3uYh7g(8b>oSC_+&qO(E;2CyF9KjQ7X9d}`Tt5Ex7JHlb(-EhPp@DZv z)4JwOd*AlWEZ!%E$3AA%i-Ya+#*b0=!}vD)*SX)1?EmJu#$%8E{qyyrUOnc^U3jtN zxJaK5qey|^UJ9G2YgAxBA)L)tE+esxETHwSx?JL~(Kw(>} zx)=S29q(jkG==d!@&1$_d|io}OLe>aa%kseKQ_B6wG^fB8L)-(?o%WxbqSIEQ&R`I`0{G5Mh3eCAen)<>dvcDhKH$){rCq(=^M= z3e)yB-y_b~oBp1G6V$cbZg2n2l%4~-5vOe@$p%i#eHRn?9^K9d{)dz2Ua@ zjpXBNbm_@k`t^Qu+Cty4iDJwJKf%sT$sxMH$qjA8%2@VhMj&fO;!Zu(e-ReTpTz@NJ6;5NOD1w)7qMC zcP|*@b^R{ksQVrXmK|%FHGBP;wXuG_NvL+&8~}$=6?3J|M)*r`DEI|Sq+^|NsMzA+ z=5~mGP)G+gpd$9P7s^(ON@`{hN(c_dj_Sqg*%c{spHuWsl%E*puuA393px%sJG_}V z_WW<#u44BGsF3SckZs8@`q-+~i#I+pebXkzWc|Z9Q0`MLvnvZF`%A=rBt!1zzR!P3 zqU#|S|G}5@JyEYXOz3^?oAuiH$RB=|RItxlT>}3xHYLv3`qNPCul3l24*0@oF6EVJ z>X2NSDI++93L{Y+cZ_}Wu&st2#~`f6S@D}WOXIY0B8uT4bnBMTFs%HYbZOhC5d=Pw zBOI-F_niZ2;ulLQ&O`?FHgz5+kxwfUO4s)+TDUhNA zH~brotSkGnQ4H1jx0Dl#bIXVd&Fls~`b`x!{bNhG5wW!JAQM?v=0@Rosx*g#i3ueW= zP>0aRHDUfBI!5opl$s(tMjmnCT8{=rKZ25z3@>XkTvx8VMr3<}#C}lVJ7-HOmFvEM` z#kkIDioX8JiR79>vo|s?781897oA35r4v@}SH_Myt^j=v*-00t!n>6vOE~M}3mf&c zNMyJoLj_**hM9Wo1Eu(i^Nzxt6ZNj}@f1b#DU+Z^ih355oz9@`$kU<}-DqZ`xQr9y zuW-Q3PI04i5U%nGu7A@OliG~=lar>lL5XOAbs`ZM+zZ^6^=N5Ug_J2C!i4vTK^~j= z+NsV`58R(0>5PE1A#~~MC7t3<*`+s);J|{Ib`MAKM47y)kn&u*1A)R5>4E>@vcU=@ z8y8%XP)Y!H8byL1EfV-5llS}}FBVg-S9sA4QOA?10JXyoV7Yg*s{ z*0NvIT+V7UJb~y&rGe#gVKiyH$N?E*VFL@wv=a`m;&M@;tYz#M{qNE;(o;NPGSjUz z6~?*=;RUmqrb{2c#|wLRO|Wb96@!HtE1cET zL5@_}C6@@~Sp>~aSd{pLLRMxN3qL1pq8)tLsgXmT3q8j+dBcVrtBRMTw$j1CTFJOV z?Irm)?IsF1=g?mEtPeEh8nKxO7lJ8Ogy?cHZK+uLdaMeZ)9i+W_CQ=pNA};eo#*3o zjzpJq9@l=&oJ?GmDrgD(^^z+D#4HjWQd|)WLiFt-l9GF$Ew{7!YcaLXCGC@lkQe?Q zO+HhYIVAs}j%crm`UKo`rzN{sy$~Hso{r@pjwN^{hknx_ zS`Wb`NjyFfOkq$@`H!$64lLzo5HpOl8YrIw3t4+DGX>TQsW7>>h86rzQc_VIffjGn zpJhEAzt%xfIBFmAf(@@6YpA`kc+1CSH>jJ}D#!w~%R0F-IqEsT%*5i)-M%R)IXKTG z4BVikOw4k;i&Pce;`hb0O-ef!?cvm$oh!#c!{9IGp*_EPrcfi)3;x9rV~23XwZSst zQq~$|(vBnjeSEu>l@tskkxgYCLQX2;R&Ugaea>613ti_?EQZ}4D^xp%t#@XGH<^u4 z;{o=MD#xag(iaLYiDZcXqG#9DEJ(=NxKal=@{ z@-2_taMt4fd@!ZEEDvE3cQIsTDbMH;u%59}Og(N@ zyW&oMG>gSHLYUZMfKW@%W)nou;fA)p?B$+e4$5~;ve`-Gk5QJc5R})6bx$M|bMpx8 z!^@x}9-;|-020DHY7!vSJnn_nt!(kMIM+IxO>&!7gY8||)w2A#%_;8@C!K@o%_z4H}PO z*IDqHXcHEfOD(Db3-Sj2Wkk^pHSQF8zC)vorSV`*mqzQ5HLKc^x@YZTvzbKLfO!_e z2>MMoGhUw9wYZCXhF2j^gOI&TZCatIc8{tGI3ZBs%u^cIL2Xed`AUz26g#*6Ql2Ku z+|y}osnDwgqY-YyInr2DVJDIy_o3B|g2f^B!PNU}WRN+&NiQ{nH#4!uIzs7^`O`4( zA*44J(qg;M9EOI8H!JZXtdDwY-AWNrOAkB(Uyj0G!o^eXee^|LZw^?Ae*bZr7);b~ zFm%1-SssiYj4TcJNacU^j zY%rsij;F$s15d(v%;;bQw0dOxn-#^dO(B;aPaozayzM8=1FrMv8LM_@92!qE#j=2g zR*}piSzIdzhqY~*KcpViMWonMp%`C5;8N5-z!hs12M#_iEyx^NN;WPi#K{E|+Z=(GxF{Crdc=9z;R-5=v$~ z6oN%i1BaBX#2$j4pw|wZcQ~DZS0Y>uln(zA)x5Kfn24fWvmc4&YQ&4LLy7PJ9+bk# z!;UmzxEd9!WWA@1xAvb}j&FAKE~8A??@O+raXB2r6b4SZkq;C;>crD%^_sII&@K^+ zjv(rt(ZCE*cNbE?J4;AMlef{xjd;ivF*HBVqn*}~h0_QGqI0MaeY&w~h>Dm+jRkQy zgglD1H9*M`6c=1hVJlxim<6KX;<`YBRZ^&NA`B?+8NNm*`U4^Qm)-ArE|c4s%8s{K z9j953Q5z;%R}#QQUR9N&^}pXD6spx?gv`Aw6XWoiF^Y!n9&u@p`*~8+`t@ms`VnKo z5K5bC(Gu?;z16;r%6tni^6>-4k76|1hdV~Qk6H3$S5?E)KJrQnm-+F4Q_~{S8vBuk z=B0#b<^$nzU@o*NuLZEDO0uViIuO(xgJ}`St8$FU2u|qWx zyGP&S#rnMrMwDd#itw0&OA|2x7f6&6--(@v(kD0Uu4Q-VcAK!EgClU2 zu!rE1OrB!QU@&X;W#XOiWOY%(WvlyQZqNeGRt;dySarl{UI~H* z#g8Oi?XDOceBYwe`BLG`$bcwi$stO^*S+kOlBG7D?RH)os2MvIVor&%&{Fa1)Ik+7 za+gzBIJEH#lG{(VRuTV3z|i~ht-QTiAOA+fsJI6qziFYad4pUVUt!>0jH=eT<3h@x z(<6{u@7C;n`Y8=qKrS_tD7ZB{dtxcUyb4KxKe3~7DRcjet5J;dT=?z@;Y#=)lmcPY zzg*^{49Wv+(GS8H5BTWmy>9uU(EBtEoZ%kcz?v*_gXXj6ms{i zhy*e<(#DtIFhzJv?t!zg8UcuGz}#2LUpu32+euPCxQ{lERiP2c?8sN)LU7}Oi@TAk z*trsPGj5$k^wO^F&XzA`xPRN7ugmH$KrHjc>m}1dSodZFl7S3jmbrL_++Rgvro^#~ zdGE4~#10w3aWj=+$E5h+DOEy+r9vDDbYM>GEdIs63XUrgYSEwRr)tfCZ)OK=*a(=~#BOp+Wq zVnN1(cPC}dy_;L=wH+Rzg>-$6wuQ%ToRH!+gC$$#ER}tnW7q=o!jj#alAO@FUS;Yo zRw(n}Mgk~i;bqc;-yE>!-195);##^@2a38E*1N~whE_CJIdwHryb;B|&UA|TEp)+d zU;Po{kc{byAno6(GJ==l+9|7n*~HyOIuztk&ImN6c8t8hBwI>4E7SGaWSr%Hw@U5n z)FjdQW$44N&==Ws=Jc9+7Jc%R%4IwGc;``7oRmA4PcRGe`JZ!+U2IOl3Gmk*_LaY#H4A`pUd}E(B5#{pUZ2Wzb9qqOe3s<; zP9nj`shh9U#JUP&Zg3|qPX}$gPT$mTwowkQ&K%s`+yCA@6M=ndtlVKqs`iV!Quh$D3 zb3z`R<9)uoxiuf$2B5#caO@?O{w;2|IJFS53S^wZlE8V^5pP64+5PlZ$`Lr(dse}D z4twQ28Mam4QO4C{N)A7sk+Eb%Ppll^#nzVo08{HYyyyCR-=)Tp0=}doY5>q0r~rPX z(DXIF;Z0?v05$;F7!ltb-iQ?^x0of~bZn#bzASq>p)un11sg3Za%AKDANRxVeTs+M zB-;h_3Or>A4KCWAzexmQOJ+fn%eF$C`M2aOGwEI|HG}DIp59?v=qyEsf7AdgK;|5B zDa;z9i2H>v=z}3=q$Ors7&GZQMb1{)bG#r$w>;i%Qc`1ZR$x(B~GxPU`kcy zL0M8!mdvL<@;uwN;CZ5YCKxD3(<@Je$K-EmM&^>)a4uv zkHT+rxoE)F>&`7Vk#87nPd4yMPN#aKR(!DF3V-fNG~lyieG~Ft)_-x`%4u_-vnzGp z2)#*l@lS{g%2&vFy`)8^LdO#e@?Hqsyw&%AG7SQUV+s-$1&Q`NrYr$gh}Pb{Mo|B& zVSw@6_OZcjQlS7)0>C{nE6ive8pnd7Ell#Yabza#Wk1e{8+9pq&na;h)1k}5ZI`LE zAD`tDD3NUy_Wd^6@dO2@kfuYMicz$y<*gb}cD1lz^MV+El`U+OzBn}@K^?ZxdHlhy z=woZX^!IuF;jT_ltrvi(DBR-eal26g@3;ex?9L`jKc2MmeGP1EL0>SY3|z8uwEE$h zAgUz2H4#Xc*UVOEz(rH3{n1qr{3ToPAt4+2m?cBV*y`NhR{g1G+xdptbEL~kcOK2= zk4-*#z{QKMZws_XBNsv}!$=j}jfQO`;f)5F^o|08?*#CSKzb0-qL{ymZ5cu)!AmxZ zbo~lQDDx!=DGcnE5yNmus|;0~N!|qVa2Y-rGl^GbH9RsmwxabojPgnBwJMPz;d>y0 z=Yf$fro?Kig>$T($<-1aVgIF|oFD3$q{#Z?*4)#yg`4Ng&_nhZOR-mv^^$>t)`&G+ z(ks;w`K6t{8_11Vr^`yn!xoB~shLFz_jL=URjQ&dMF%{Rj2c=?dgN%E)$}c~Q~ZqO ze7oKzVn1uZ2N1B@D{#dBwbONRb1O&2JM$xS*~6;wfmt(qDV?Wn<0|x6oHK;}lm!pH z@v($AP1e4R((_`Qfjj-J{C22g8?vNUa@K--JwPhvJU$q5h)3R(;)uMnXJH-LLtRY~ zWc@Dh;)Qj``U+Rgl`Z!859iRt>;G z_+K&Cr~YN)Q~!eTsek$3;l7ZXtp=bV{C^cP|BJ9#PF+_6@Iz{@r4p(Gs0sh8Fo1=C z&?EZ)37-E&p6#UStA9o&{7cPI2QU);zf{owBIl1&kNy*h14yOT0Ej`ZK&9Gg00bZ- zuv05F01}YaxTz2SxmG4h<W>w!o}!Zu0B1lelYyAksc=Z_=omzyU!m01O{00LwI1V}4l%&feA`JpyeV#%%-I$21RbBDo=-U|SXurb1go5=L3eoSg zHAGD3f8=mi1&RiA?9*@^#1{dgZJClkTU<-uuB176Gf$GnKIE}nNjWwMpqyU6m$xXdpBwwDA2_QnG(0w8dP;jv{0CW^$B_fP8(MW4lK^Qp4 zhW6)p0j&VE^nXscKLv^vnV1~R6C@b9o8z&Qe*)Vapu>Tc?cwpm5U=SOM91#2Z6uiPcN`zOw+oDB_ateDwpPVATXfaOdmEL=8 zf1diF2bLVspa;3j^Y=j1~rsKii#gOdl0|u zd66vh$Mi{vyJc00qN=RD6Fuf8Nsq zUok?r0-e-j-FF+_E2^!}$a@V(E71<6FVe3hLu8V<78*{dnP4Qmk@X;1UkF*hh>%rr zEW--i3PiA}dWvCqN6iZhBBBd0X}=*WducCOnY8)w({{8_7a~(pcUxa&0`;AF`mjM` zF7yOh{~ChSzt&Z|%T`!wAjp z%5J{_GA*Qe{OR1#0kJg6o)AcPdvMiha%Z4W!*0Q4K`uiqnPFC0RvsNze|i1WkN-qm znCzK`xM5`8#z?+8F>O!9M~mhLgYzB-ZL++}h&Ph_WgQO$rQ1R;-EKi*2`dA55bDzu z1|2;;C13|!Nq5O4hCB!}22O`Q)o{F!o1mF3)Dasw3>RR~j)@1Zb^gJ zIa`uHd(PIgDHO7t62h$^juOuk0G&f~s)V6FOJV2+t`xj3>6Cs?t{l6sjpK7>`VQ!J z-Z8XM}?&m zr4KNO8{h|Flvu(jf6TizgE5bYF(e>mYiM`605vuNaG?BJa$k$-NSI(APZL0+M~w^E z%P`e~=;-_rMyj!*xLI<)x`6^x00P08bb=?*!y1QCKOAZaUP~}&jZTi)40L99P>!c^ z1rn7k9#)UkktX+4OqN&;xss zTXOkcaAzwhe`eYomR~|>(^~ei!|J%&vleH+d32d_KcB6>fq$!VP*cm=78TcNtYsa5 zka}Ar*q#X~qS0!}s<#C%B@5U0l2wF)JPUk$&Lo^by90z-vs%<+?N-|`4#srlusoAQ zXtg^bv6@A;1-k5;q}`dJEns8s~}9KoSh4kL`NilsL!FvP88^V z1xj6UHP^QgewlZtk4^O)ELo*>s=rAWES0uc&*|sV+2>jDDb@@{-uo8%7w|ROA@za# zi#FsuoGfbK*#9VBw$Q}PVl^Y zH>+XfOBT1v7fch-X7ti1`ENpVBx~;C(n8paK{A6Ebzkuf8p9-y#a2E#(y{n$uUH=X zu08v$d_R2!{*=GaOTJ&%-B*^@uqY^Ft4b;}G4>qj?PR@N5;mKEz0iIpYF=)902ZQO zWvh55#dD%)07tu)V`&A!sZ?R#Ox|x=4A4@R$s|cXC!2Xm9P&CPa?vq20R)lNGYkNw z%0ZBZJ*@MDG&x*H-0gAAaF#G4ma*|1QEYMw*|Nx1)cFGhbx^WjR#+4RFzXAzbzyMe z_fS~^GkG5tuK>D#1+SEbj3ckH+QaTP1qF523JkC9O1nX8Z6B4k1ChAFz{Y}TH}Yre z$qFhRh=LP^)1uEUpU{zTTEbfqgwyKt6k5P($)T%+VF(^AUt}lCPUv}COYiG3{%|hE za{?uIM5A16LE5>>zz#2sn#F@G?(`NyQ6(|Sp3-D`MJ%d+7z?RjG!E1+zJgK+7Br^E z#+SbER}nQF!FDYdihPeFy5XvRE##=iH8&>nCc3^%h&@OQ?(ACnb|GctttC|APMJdp zUodteRMI!wh!QPSo~56XZM~rogo19lT4Y+4S=@%FYo3D>y7_zNH5bfOs8wN(3oV#2 zI%LQi@(+Q3V?<{4blHpCl3PW*kIQ1UIQz|`1w^x`q7g_aPyuMS0jr+8u5a0_1{jsA$E9*&!Wu@`?|tEzU^P&iN&?Lw@Px6(44YG?U#c&r-~zT%ki;)on_ZW)u*> z6Ai|^WVBq755nxWRr)!Zy>Q*hc)znMdHgisCN*RwJ9n-*3UpPe_^O(zghq&PH4L*2>{P?>9VLX=6>m2Cvg!d=;~tiO#kskPcQS>^p~oFj{Ztj=)*j99*qv4Om$WN3 zUl$PAK^~Y4V|V1q#Nl?kvh<$9!b6NQiKi^svGsuQ@*^_)oXlp#=VhOsrho7e*5-L; zDbAjVgw+k+=}Ylp)AIiB?lDVln*DHs6i7dbIlFe8#I=a_C@t`|5&iEREpTh3!h zQKg~^wTCqhLJ!o)J3*Ld82LJjmk+y@WwkRRY?qh{l~z&JibB)1zouY=R;E^k8!j~1 zV0I{Q-tYdDPq&3ngrBGw&VL<3A>8U(oc-p}Wy;ld=hW|8WQ+V)M=;pECJ0dZ_P|ix zNX+x#zg@&8-J9Vkx4vZo+U(#v5Fh| zZTFE^3k_&pYD-?Qrw>yYBd{$g+|aSrZJiAit~dhqYi}QRIth1lkAD$Zy|+&Fsp_ob z;!r)Py7n;w%Qjsj!Z{M97(o!YR@iri<3+{@+yzZZJ!N^G-la3}VL>sWtI?!)#%3N< zSe$9L@m;n)%U;zwmezFM<*IUjU6?=%)KK;PGS@4iV`#eFcVuh?v4h(%Ud~bo={!Rm z7d=(N{Wt(C-bTqDAb)a@t+7@zCmfVqQD!14FPjs85(d&X;$M!0pX#3lJEJwDgJ^`q zQ&=7IF}XL_kdJ3RAq$&;Zo|_pjujDy1W#?KfW$UAjsPn;%`l);vuI;p zpKqX}p|izxbqT!H&@%M`!)Y4ol?~I-EWa&Nb(V@wBPU4-FJ5qxRG)Mg8)RMz{uKbYqLnH`$q4|P&yx8KRn3Fwq8_pqgMlme zPzd;tRcTUxw6u^Q(4DAs z!sTcB?7N`p0Gd$QS40_Pl!#d7lQjL+zkE#RNiO|1d6xboo5u^-*Q2}0>))B=yDu{m z&LB`s9}Gb-`Z8lVe3fvU@0JNr?6z28dAkQ_QhPX&W(A@48fikeThN44f3kMl+!oQW z4SBgk)NA14Cb-8|V$&ehEUt=(R#S+5ok+#(aj=ir4RKZXed`f!^bw0%WYR2Ku(^fl z6noc~$$hpgg4$3fNAcGeF!QL03B-$+)g!jF?Tf&S<6Iz~e|aavhi9%O|1p_-!jKIQ zfKRFalC6t)%{o8bxXFQpe*}$+lkK4~%6A&uN}^~c=M7`@z17>vG9eew^cy;CglZ2M zIwCTI$Z*U^Rn?0B`Ss4lp_c7&qlPRi)E&RlMESLow8carH6-RyF#3Vh^}Ew;-`8EE z0`6s)wyk?%wd(b2;EpFEW~_K)1Orl@HhZ4yKSvkJsIjaiJ^9NqfPS`6Wd@mlOBjdju$M3kIf~B-&9OflX_4jf5zXpn;ocy z9Q4Of)@=1pH_}~3etkwry9}_}J_A3+Y48HZ<=t#?xN#2+aQxprztkvPqQP8!ee8P^JHY;h{ZDY9-#Nuc&IZ ze>^gLOQTa2wxsoB+uxRpf4^RiMAE{~`}e3@rED@;FSj=~s90>+1{6N&2TJ=NSe=82 zYS2~7^%S5kUzu##rsH#v24A~sz#e8qyo4F=kUGG0+z)>C^zwtWTE^)PBuA|t4m{gI zWR5r80o2lX-O(aWplGV&;*8-pItpozLWQ7V#*8$`KZp=JFik^Kf8J)57fh=Q*$J{^ z2d<%4TRzOta4b45+3E)&vdyFoS}nmBGRg z5KL9kb=k%VihN4Me~x@F(ooSi2_`3lzN{G9rpEZB<*s&z(#uNqXA7G5UhbMd!YqYn z3ib7s)_C%#*%I9XPP4(Zup?b@S_@UDQhx4HB4<8LlBX62&OPB+9_Y4cu_FFn>D{>+ z_;A(DxA%}$`RT{Mf5s-+B}MU~h*2ed+46C0Ln7@~ywD%>f5^tVqCL%cJ#S^h%R}tr z`7wp(XUk7meU}Oklo_OS?UsT@09UVx`?MWyHA$YZd=1D@K;G;HOg!r@fQ(RE$FG)l zT`#k{_-;nD5=>!Z5a#n3X&*~G&t6wnz$tL2C3sFnf%l_5db*AU8mwO5W!#J44u>vq z#Hvae_IQ?Of6_J=O@SVYp}MsF2Zn;>i1xUPZ_0CgsVx2QWHe%YHq6vDLlcIu@7)3j zV`(j2PY&@d_UsD(w(nitCS~-_?czDd&neZ}9P{XXL|`u#uHbf&o7sDW(ln)T*o`~t zvc5b?;kDpqh?qbNde64SjtASC$8r1!me(X-Vn`byf7%VA$Vz!kN4A`i{I#?=X$AUo zd@`dKGaf_iff!oNlb(7%hLaW16XyLct2~TX(4`=}&_K?H(G9!pbzk`uy1M4th?pFBmR~6^k=;;MOnVC-NH_ADp>ZqJ zs+{bFe?sFr?Pp3fp?6xUt}0s?0D8LYMQ+J$@FJb|GbQ-dwK)6Dqsx>NfyQmI#e>qx zPtCb$vRwJ&YmaQKs(X*G&hxvVKFh39$tgkzei-Xy3yYf6I6>Npk9cZEzh0Hq-$IxnDlnxk`2x zsmlE!3HPsyRJj9IaKE~!J$5azRDy7)tw6Rd%eSMxOFBZ+R1_0;Tc1Y0sQEVgn@I=q zJ%+I7pp^0sW{7jG0#z2NGur~si%h?g$TT%G@XV7}`&{sF7-B5v+3YjIx-K#3J4@z2 zf0MpX$yJ3adKeZu05RAv3nAY?1uk&WY8S+|vX*V|iKshXDRvD$)p68rq^ZS5H#I%* z+Q4N6O>VYmq@;&u4Z-p4*xkI_0RjM~Ngt_%^K#7_=bbe;j*M`OuC_R*SD*ELq(v;aeciDPd&VDmpp5 z{i52k7sz|7ZC>Xkb^Gl?il@_*B11xc6=V=%%+myi%M-BzL`(?O;u}!>4=DC`5WG!^ zONrSWl<7tCIa!WeN7X;81hy_w#0lxAAO8W#_n&_JCq?$hc~>uRr-KJo0=J15f5+bH z^&#EOy2gGp6uEHbn#Os)o>TAi4(5po&lcNvYji*)Z*W*OM+r=?q8ZqW1CzP?lR8~m z+@nM;t$FqtPBD94B+L9UeX73-3JqO8o(>qY4FQt6Mc+1Eo%M_90O8q&SB|@j#Sca7 zF7B0|_TI&JS@vljFF*0vhpLPbf5$~UCx87MzvS-=b0>dKjKcSzOy6TIPdr)Oyq|y# zNiWU%Z^J+v{kA`U%qEI#spLFmrTjNrct3bPzEv60qeQ-AL=ffT8!>HH3oZAkra&{a ztY9P+H z4j^_@i$%4J_|=gA5ShOE5@uB?MG%gHsgzAM^h#FQ5qJ9U3$=#6ZUBjgZ<$)#Q&iLh z84EMUQ6V&cKxZ0*-;wXDmR(97h#6=Qohq%c^1UZWGy5Qgl{M6 zjZ9>dTj=?~Tt2!CsH#T5V-WD?xt;LO8KULGUPhM*j`{)RC8 zcbIk--^A?|LN5F_1X(U%G|py@EY|UXw+=b+SOPK0AQJ{Ak_2Ire`KI>L}>r-|K{%X zUf)CTYc`XnX+Bx!IoppQ(R;Y!2H97`QNAoz@fV1v?Au-tY7Q1+@#|nOHlExcmdSmU zw#0yYS~W)p=@;unV;WYgFK!^DF${-XNq1Z+2;~l9&Oys(Ap-ZrCxBWv$P34d(a#Nf zT4oQ+cs>UU75;)Xf8J~wxVAkjkT511YEH-lLC@>bdOp+#<8?RGBAl0U{+{%U%^3fB z6O&&QRn&uCQNwB22F_)-29X$Wg|dYR7@_6)h7n=K$s3#jQ0sW;F(ZgV$MYao`9{(W zNhu=JH44Q$Av(&Q>*yv9Kpiz58wAgmW!v51l2D1Fz^E2yIe!gYvPJAc@oR?dQI)op z(fSR3YIiW$%*5_;U&)r+1ocv~pumMQBbCCU`~^oN`b_ z_&XV4#iBvYvvh_qQ~^00OFgF70*tHbrW+Uz+=(3HDvIV=ntAG32N&zzd|wO|%3;tG zhK?XQcO1K%K6ZpIF}CPpsg#raSsgAVnXI8M5%d%87PmK#U!YoNQ>$|=eM?KmV(D|5 zuj3g}Qqy!2uQHh9$Y_Lfy^}{;J~asBx4$lkEQLF+RO8E%F2GS&F-wp&A%yalQFl(0{m1Cs91T=ViM11S==*di*(|6Eumx{Ru4mJLuYf zdr4N%&OnS?H1z2xtjb~avgUmV=}-dvkSzC(Fy+8JT5;n~KmNZVwzIl@f;%+3r=v&^ z>}M0M`AwQ*-Jkyc0HV!>ZHWe{!1W{ifIVs=`8wSryKoT&;VroY)Pm&F7wK1$Aru4k zG}pANUH4x(^eHdc@7zgNwy$<=`@|JDBvA2moZa+H%sE> zBAMR63sW|K9_;9CGNZzOC86mv8^`F-S1ROio{yG84zj+oV(hRs#2;KiTRPgP6kj6F z>G{y%Uwd&Yk6L|W+2?UWdMzNMdMImZhz+cKx?CqtaA=QNM!OP?IJ^>ZBXhuNg48(? zU6>O|xMNLRGUAaHjwOAMi7o|y+s)Izl3yUdHGfKHqaXc@-SSYaoUbzCVM_q1w@hX) z6&Sr7lwAR60IySQPde&`mOKAtolZWDoE-JfA}V1Xe@Yl3FI64l5c4+a=b?&2m^wzVH0U9rU>d+?8|j=kCY3OIFWNcaPaJM9buW!y&i?tEK`?UOybQ8%xDFN*=w+rx~EDys|O^ z6jl(4bqnQs!i< zZZMO8oUqha**>Vq$I|DQ#Dusf;({aTHv`jY>F$|?q+gwj3~;r7vDqkF3o>O7j~`^K zx9c454q{V4(=|j1XozDOqb&&XxLT&4QwjrzmB3fUgf8rT3c-l+_v%r+9Bdi~)56OoO}N zYcr)009fjklr0f|$uPT@K=(s#J3n`;0T?A4^*W>x5-hW)qp68X6K{rssL~=yrunuM zdShP^X`_==&P-s0aHifl3_9LHaxRSTczWp;AZM}SAP5!+JbSYYv+tm}1W^Pa()b=j zb;)v>Ew81I8BH>h%jlV3I(i|PStN2uV?Pe1-6NQmi#@x71eJpA_wIY?l$0SI|os6;Ubu(UnC#iZ_EXAksz(*P|W&0bzgkLDP#xyMf$8V zNqyV&BBv97*K4K1>;qJ=KPvK#!2!h|&-G6+S<4^(P}=f`z6%_#t6yJRBqUqD?N;G3 zpz7YB<@viN7dbO}_mw9&xNfyP~0AcE=8~ z%++#zbd4w8w1cefKAz=6A-M{Ol@)~sag!l`1Hp-vF8jKxx^H4tt8*)-#m7)uPeZTs znfAm`y17y;RMKFT&9Zm{y)P70DK(7r;28G9?ZrNtWT`v(R=4k~l5_%36z4Uc5-(z!4!tR@OUZd#1yfyM`=L8GeUth`rd; zhW5!xwi@c7LLeIqRf9UC)lLXBG+j|Vy>eNbrfcc$k@M~&U5_?c+QL{?NbVLV0yL(d z<#j>_bUCh4U?>R`6}JsL+(6u7!wzp_@l?J2Kt!#fIYibC-z*hc52kIoM~NJNe{}%u z4aV3CHo#5=L0;e<-lrxO-;bCk?)4~6jso_(&7feA)~JwH_zbtALqXVsfW#8HOrkGv&KO9|HD{7fEIOZPO0wm#zf=i`F{j;FM z@K9u>+XMGOyCIGS6h>^D4ZwT3<}lJU+J3g3fP{*jqHJ$!NB3gGje$b}91iwN0ra=M zH4hmDs{k#@7hhkOmQk+`)xgtjFRX+a^-xvhQ13gY6hwr~v{tVXAL=)M@m+#$atq@0 zt`qa+T*7c0;?0G(55+!{?9p$QpDf`N7dzjl;?$ z>B9#J@RwlFFDgFNb^@meZkdW|1~TO7lTlrqS!?y&9Vj5&wWNb9xyls zxIl|kQ@1VfqQ}bxrL4!<^{eYycIb{Pr_pMGZq+RgEg_%(zZn ze;91&6mq1vmZ$hQiDSGJ6>icTn;Ze8UjAo@F1`CwF;TX1MDg@6ytZSc>~uucR&++1 z9C?+B&T+ATA>51l3QZI!!bmk0>=Q_vBXC{1BKB+cDSm-aEW)dZs8`pGbQ>Xw$IA&L zkJlW<3F|x|3IQQ#p5tX1OQ+$;70Y!TGrOAg8P}1YDc)00Q9UrNAVS(5qNwW2J_jy* zEb+Lkwb63g6j`Z4v)1^9r;jYxv;F@9lbmH51f4x6pOd;}K7S&14Jmnb3h-U6Z%Jjs-pfIXTHF!M+>!_}X4^Nv812g)kO)XvOg--V!$Fp$UHYaq7>?)BQA-9dd zEI5;+T~-Gz>jEn$zmKYARo0SPdpo=~QZ)4VlmfMlLbi#dlyzD0ea)-DB96;mrBm!L z#a>li+jn)VGJpAEWE6b`N&20fR5nlkoYO?F#2O)_zhP=>`%b51uWW~kp;UCcteZ-t z(=z4}9Qc`BzP=8;*~{OKVcRo)%xvr488o&bclz=^B6W7!rW*6}Le^IX+e#&Y6k%0KsY;(JW(c{0zIFL1o~%OnvA+nTy+ zYoRr6Gx$vD?|O<_W+eMcFm8&T&ExG!DPpbaCgq8Gk>OR{U{^I~{}wn_9SmSO&~4vW zs&E0svw!q-qYr5PQylfH&3OwMz;r@$KL)U4DqibWFlGQVF03-$=`3KYr+Cj3NeUYP?z zN3V$3rG{+#ksDS3vrXBI0*#hw^+@egHjy3%L;3a|=6Mh=4#ufuSc*|m+s$9e)+dCF z(wGkxT__tO3T0w!()K_wisgW&__E2R!A1Z_7 z27l><;$`Q=P{~%w1g8_>;K?}=Y}hjSG;!wQ>Gb?VV<$x440gWIRdzHlBGwd zdJvYOa6AvpChpg+2Ja|IScB{f!+i%8h2z(77ST>C1Gl6KyY{f4K{k&d^4lv6VB$ec z>40h2HOlEULrWsNuB?G~FIvXe_key_o_}T=U}y6CV=oR&%kEF=ggL@JsyECLLF}hm zA|Ho1BEB0j#F1VPqCNH#h6)*a(=u7Dmy7pUV3s5P6B>HdRI2}LbcuGcpY-zIa7ZH- zd#jSY_iV+mol5FaRW&bg{Nvm%L(!~FLDy-qpD=gcU0Vz#n>`64V+xAe6&?Pa)mG82N4|l3TB2 zj3QdGt7QShKf@vcJ#nD{Hi@Z^T;#fyjwO&l7 zQ5Y3RRaMXOsyztfIy1X%%Iwn4Y=66Xu1LSa0djl|CD$|i;Y0P^0@!1fGxaaP2$rK7 zw(O6(O2BTLG8_*hi2M*nzzd$$3@9SvANr1OVQ1-hPrZ~aJmIM~+=4+Q>$(Dq8ZUoI zJ2zR5L!+vDkjAJWk&kq!zcCC;))c2we>1YP@7(4$h&buK>Ki(ig^!n{rIOy)Cr%m> zCz=zD7t=peV+2Zg-{oq7-G>+s*cyuxB_d0n8)}X-ZasQb=jdxNNb1<)N_u`wVTji( z7hwe52sJyfM-7dHFcc$Zggs!*N3)YBYeWGalWc1ke_Zm7nc>T^sx8yf4C*qgMmKFWGvTLjd@A7!uWT0?WnO@Z;r#b49Ki^i^bse3B`+g#xl=dafQRh>JR2Mi_gnryrYz#{D2Pz)V-LU&I1Hn&P{j8&z5# zN5%!OH2~D&hj2j)e?@mJ&5=i)3e<39+_>Yse*!0EDV8M%RUo#Joz%I)OAREAv_SEl zO3YifL)&o_^n^x0($^WdAzJL?BS0K&3a=sQDaFjgz<_sAhFuaKZdtIXj*!>4#e)O{ z(=@HfqkzWa70j`Re72aFm2!!g*~ME_%t|nra9Z&h&M_6aI=#@bLTq*$@425V-ZQNB ze>iL<)%}1YC0dkbxrXLM<2IYl6_{$cjBPiNJ#EZ5lbZZ`Ym+uQvZOF8!G=cvvyDrl zDvn{AIPPw|j4<}Nl$cB6*@~%0m6MVK$CN!BVtVXJv3Ev_mh_QzN}{A})63a?Da|O7 zVOB%gGuSqlQibq&8~LZ1sL=@w9Ge@kSF35Awvd`F&rpUq~_R|+~MkLQW>6t7kZ zp&<;|d658p=SGV2Jbl2X)e`~$;UR*$i=o&GXT7pD7e#p2()TcVh}#XO7SqLKww{tt z5N!}k*jp;vEISke&|?xmHB3$_CJaGs#2wM=vm^$kzkZVLUWS3ZfnuipU)=8{f45%D zl04sXpx{~b@Z>>u360BeZpdAaaZXN+Fd;1$ui@5f0W~D+j%qk=6&TvoHAO|Z=&`Dy zt|b2cF-2)6X3%rC{FGmT4_emtU=`uuF{<;+Z(`FpYOt|0+a^wvLXhSzB?e$JO|x|l z$`6zs;@v&R3$zR&am+Q<1GE%qe@9R-ck6Pk#RzFZBnx8^+k^gB>D$#$KmI+J{<0>z z4&eb_fD`Z@h!-yuuJRdfwH)FP6lr0RBvW$Zm17Yjq{kiI7tuQqk*Tl(oIT-|_#sXg zSGe`*G^G(gP*N{ce~~2;O(71Ece!!`m|~!o?}++>88^i z@aJSU6H(MwU>lAfRtIuLmZH1%i$NF`6hL)UB(A3P`d+Tr9VmTlWkG+Y7V z$jB!ESyKDGNmMzqSmd@uy6?dYrLmIS<%A* zr*V&sCGK$)K*ge|mj1n?zg~ei{ntdySCKW<3p7MBeWUb23zOLazmoE6^1lGA`QZb+ zNF2kWXcyw%TXUgBxvj1lzUc<9)RWOY%Z);uRQ<+hd-?2L502L}VW3}%aE)z+is8M< zlMQiZ0dJFZaae!%+ypKAGb&S&_?1VNs%Wjd;5sP+?olF&Kzy83B0S%XEul|^AigUx zh0yDPG-RuJR%$uF7hl{cqNjPwDIh)#^HD(|DoaIF{~{n8+_w@56sv^lmTe$O$hBmwFCW?_SKZ zDtBmHVb@Y}>?GH3SMe;JRQ;}HLY|k9tLMP5*{*(F`9k@?%!0Z(jhceoUQBr`mW3l8 z@3Q4GdnQz&7k2%hV?EyPm`9`hH`@tp@IZWPr+->ABLs2ay-eFwO~=^`Y3yR87@llz z{Z!#Gk8XcwD}`6N9csd~%c)k}Fu+$=gUIunF6&y*I)&8fvf~~l=0Fwlinm?M(zVds1;eM>G4;t^dH zdgFg-Nv^snbZc%5&_dgcpA9fFaea9j#Oqh zDeH|)X&WufBA-r|(5}xIlj1{Q&*+3$+>ODN$|?4+*i+H!cGJwCud*fJ?XcVhqr^A# zH~d6OVGO2#&45G7_x1X}4(j~hMVV!;N;-dv5aeM^JSg%Gg+IVgA-jOsr&AV|gi@qe zNF3rku2Q%yh>b){c8tej0akjCduCJZ8MVsn@u9w+MmG)BQ!Di}isxIlOy_P1?WB0| zGBbpI=mtlZ$_n z5kqc~?C!sl$qL#k<885y1fDZ7f>2PZ@E)v#AGODgfZSNNX1J~mVHQqqw8#x2%{nUB zT_ZQIwCz$00^gB?3Jt&Rs^=DMmxkg7p^u^8H}W-WoL<^472DKZH2|8t!eV99^35nx z-vm*JlgN!-*Kqmsc>eTFF4lEv*qVPW2YNO5|4P`&a!iH%QxO&=BpX&K%=sHTb?>^Q zeXH#n?(F&+AjdHxrFA(Yx#pEBkJlHSbiD@;c3rB-181eddAlyLMgDjK)X5v`y6i?5 zuIo~{tgcJd3YE~r(OqwM9P*b4(PYC4EG)fwjb@J?I-2JVH;H9zEYZ+)iI#s2HJyvr zOYFE5@={FI)qDz8_eSKs#sKTF6riatyOyWuZ;abUms!3}+#IXgL!kn~qP`dO_Cnhw zqI8+BuB1h_N+IxtDFjGS?-X3nz!rn7o+gtSp$G;58K!NCc-%ALi6$szbdrX3urx- z!ol(}@?61lZ1cdA<}+ZRGNgN{Dr7wtwMh$@N)V+F(3}DFbkpQ1oveSLsE+7Q)){wQ zTH}Y>%TacH+mEUPx=lxRh!a@89CcasqU}qEEQ<2S@y28?;VSBG%zs%$?2qG~un zxTFE-i`#n;#RZH__yOPf_yim6c7eXI>vd^LG^S8uN>Wgo?YaZM{R{ex@#o*mEOeUKIl4ff^T%a744bU(;zfg^t zqk=LBODoV!Wt*X8Vd5y=q$c;D6`}1-`%9zY@|Cr1SxaAzf7jJgI;L$q7gB(F2}8F( z1+)nqt3-TmvWN*ExkVg5(tnod!aQBX-k1|%WNFP)3`Mg{1P;Ac#{so^Xn#@+UhwqM zqwY5dj3TJIWM2iQC@_6=Ia#)8xgJ1z7wKw=hG5FMJvly&cQ~#E@yZf~_B|tA&`HY^ zljmsd{|fzVfX~lOR)G%#?RSCIwAAvrJ?yCrJ3axN7Cq1ssiAV#&3}}JhmN6??0%CD zB#r<%9YzeVZ#gT4eF|Uv?503e^3%M)WE(CPW2Xgd^FH9FtN7^&;?47bR>|Z-pRD7j zgnS1~UP7ShErXilZQil1YBjzp7`#mW8L^t{HRSOrd5>Nq4!iR`LN~gdJJ5vus zYQw3{KGaSaO~VPOOH@>mSjh!oEb)x-d<>OLftBQF7sKeoK@Mhf(yVYH-Ex`3;7_MC z{2KiFM4k^pNf-}7PB*qSBrHw>uS=F-IF+&KJ=%PYCln04pTgEg9zLyHXeX1sdp!v8 zGO}%L^u-;M0ent>#Z*bln$0o|cH4kWh%S+c*7H;-5@Y?nk!FqyhznB7n#zXd*2!Rs zxX^7E8Ms1-XJ=rjg=Rwyj&$l*v7BMoRy@V6%zhOlRhDI(@jO1ZJ@ih^#oos=48HleJJ@0(CrkC`8?*0G{CiQaAA3$>6a1iOp zgBP^d1~EeKpDSMe9(f&d+4T>=D8z+wy&4XwJg}(EO9kELX1WTVIVUEItZGN?y{LT_ zlskd1SLT|ns)mp<`lhN(>PvbUwvyQ(=b&`I+7?WxhzNewhPvf`0#VuxOk&Cb&^EhspOnBn$>H`V>y5ui2Ml8K`8K9RiYQX>*r}0^#mJ^8lKUfGO=&yf zLr7?K4=sX)>1Ub96JkWc7xKlq&#LS$mJGSHS2aT&+0`|Ao9=W)ujJ{`21uQQB)z}#{s9u=~k1>$7iaN$LOgCDmo zKyd&@ZOIi3vC#FLQ1Avp5CBG>5*2(g$n^tjm+AFDzCqODDj?TL6wqG)MLTwSWIB-S z7}Ve`_b+5))AR~R(_WP~7pxad-gKW^RU}qAeXHdLIu&#kUd2+-bzr&`^HAR6bg`6c z#}4HjW!(qsP~IL{(4xXiP;^JLanxn;y0Kly)@ZcjlV*NIF%R5l`09Lz>@{|!olk;O zZ@C|d$G#v&s!#s4zRP08RDr{|_phq#s!IuYo@khekXw`6eo=pogU_$D1!^$?sEPu) z@$70j?<+ZOvL;Bjp}{JyB9UHu>A?b%^yh?X>2hrj)0i5vSJ%`lxxT9&t0{fS>3sXN zN#^k1@4mhP>vu6_yAox^)pc1IeWONiQp}>*cv<9i3ul)Xh^DHZu6Pt#sz;(Rc@5Mr zN^#)MO+s_M4wipU=&0pxs-L>0K{|1ffy{)SD(~u-pt@b5X*|DI@*caO-C-uC33!a882(H zT&kFyhY#}w`DdN&?-{~LTe`dEmEiA}OLS$VBTJKvfJ%QOQNlHUK~5=qLY|eX=}*qH z`cVx<0=dM-sL*dmo_gYxD=6&rSsCNfM|d$bX_B2MlQ8`D>(AjbNVp$@E%%pr=|`~l zxk)6V_9v6%<;N*w7cndjUrcBkml%Sd64DSgRyxVqZg(XkrR^S~NmXQkCN?iyW@!-J ztDy;Q_Z)w^t<-*S`g8INi-BUvf+SX*@;C10=p4NPdWaP9o@jfva+*ld)e7l)QcF!T zOea<7^Q2O7`}h5SxL-;RHg;#e@S|^t&{A+$7*A1b656@zS*b%XEjZ~6qAXjEVcJz> zCDk-_fj6;7wntGOLtyFuY?3vQFl#Cy3|R$SxXfP+zx!vH)CHSFuD}oTI_nhXl6*#( z(j@t?x-nFk;Akk?1yWOALksB3t;Dyr0(T$Bk4t~`ShjGnggEk-WG5+U-{*9sLQwyU z*epSR@#oL+MBp`Y)2X~#{+*&_q|=i%f`)&TA|Rd4;UPA?sUuNOyQ7K zvSk;ysCE?A*(pZ)lv*=gkt|oN#Jy!%Ck~XGFM51tdZ{%TyQv~>7XF%7YGV&hq1b;J z5o>U0=>{DjmYjNp)2C=mhU54j=t^+2V9O;->=N4s{v)KU{WY`%!|2}x8ZmFkx0v6U z(wwC|>_xD8|4X_GJ4@zWRV_(yl}esh)fGeF?X%R0jIX+!sAyhStcuIR9(J;9!4;tP zp${eSqCly(+53+xKUWpy@Ql(Phe<;0Ek4u8$&^ON?5jO2QGfda8ERK^FB+1jYr=3y zP)7;X<-{=$MKXI3oc6#*Vy~%%MbH?t8iJ%X8Poo0+8!vWUz7WT8-K9ttUbn6f0Fi! zlwix@roA6nEc*!Folp@rm5=mJTeW3yxPN8HHZVc8$a%#W{43B4*o1a*dZ7nlY8m0| zU6`2Kt_)jo1*3v@Ia*O_k6GNmDAf~M(p1Zpjm~wM7e?p~uIVVwYzNo0*E3sR2E6~? z>(_)i-DP`jZ;pB$jDKa-g6NpK+qt0W!jA7boxUND?>SwJyEEc3!uQjOOYFt;^kj3}&r6r?*r zYl7TP-Tq?#d?SBdxWO2ksId*xs+-E>7 z1S)1D%3fpyY2m;iJJ^|8$J2QW^DA*98QA6^E2hGB^lCE{;Ts%Py?KJeRvy%pk8olJ z*BvTT?N27b6Qrq6DH<=E06|Wu#mc@R6!0+Nmi{9^`mVVz!Rqox5J7be-Eq#>jd{UsZAN2@QA+tR8&)W-@8(c}%B-cq=pMML0KohDC{vW0+u;|lJ! zUoJU{z=+1}F$sR&H4R5oUnwk{C|jna;!L8eFdY=86-=4WeI~X{sbdMwiy`4x0@o8* zY)xR*6HEYBK&ih`l3wZgRCHUlETM|{?3%Kx>!*&BU9|W-5&gbiL|?u8x|~fZwWA>Z zWy{#8)XYtK2%66?Y&PjCegnODW!f{mw_nChVc?aF)1P^a?2RvzGNX>3;`P-e}b>; zaLIz!z#E1wD*SN8`ln!ZYXF_gVs(R+P=n5>+zB!RQ)N|FB)tm3F*2sM##$K#Q<>l( zRo&1nVL&JT6#OfdmW)vU$|<^2M^9Ro9ZMJN;Y^WJ@Q`_o?8wew0jrVA;2OCZlt1k5 z)byr}CzH)8;UHVgz;sFG9m^4ie`~Kf0n_zTLC)xyz7IE6DIV$eu^ZkMJlW$%t(Nt6 zMLc6Y(kT>L5=`P~dfb^-MNwDv0p}W>g6pL~(g-hOmC0_BB}uRZ?0PM-%9S017vb2B zfmNlD*9ch!;N0+sDZ;7u6XAmOjx)lkcW9t^MG;QDLr=q-j&Q27YI_8gsHFyP8?8=utgl;&~MO z?a1Sk{^YEM{PpC+S~d(SbBX_)Vn*R40xWPNe}@rSRygJEgNaXwN~@!bVdsiOH!mUG z&xva0{l-VY15Qw)dngW%e`WLa@dYINFodlbHk~Mo&eMygkWhE6&U zDHe0q%MsCXSZ0j36LEjA^HH{YJFJZA(6mq;IiC2-6jR+#&U31}e_EfnrN@4#y*(w_ zf{}rhm^N?9uI+hf$&d8*>`F9H>xEi+;`0Vyf(U^nmt<$*6I=?lmDCks!QKwWbJk{s zCoQwb{lI-k;WQI&7E^74v;pNvjOg?v zi%d^eqhCUg~zGyba_Db(VP~^v(IQK;H%)&LeF?0XRZh~Ra z@_~VdaNWUG2T_Apsex1Tj@oP>lnGdFlX&?QE~w>m%b7=-{q?xpyEmS2x4_dRT!ss1 zKaOEWz@GPyf5j%--4y5$&;6&T04_{GH6Rvv0^yrg01^*^9S?921@l`LqVAQ&|Nf18mmdg_%p;_-Wr^rjD%q}< z!qyruic(F9nQ;DM>pv%0Jpzst_*rE(7t2X7^@&`^bYX*C-4a>5M(i#_>o5Xz@9qFc_D#O<|5ii&-d{?JTSFl_fUeV=2IaE-~T;2ql$O|N35$-2u6hTQjbys?l@ zZvhuA^SH-eLMnzN8!F#^y=M)q$$a~Pc)b(g{DHOhpy5ir6XBeJwf2zVEdy)asB+PP zH9_>b$x3nAV!0 z$*PA9>XSZ@X#ricsE~jG0-5iVDw1V?q2I2S0FtkC3u5E)nQy@}roa(s=CW_W%SnBU ziXh4=+D(NMCJ-M{mF@iGoaTg`dgg6FgO->RX^NQ*6E5p%{OT}kJAU+K5alMqnF5aR z=o18EX^flf@)`3&X&g3~-atlnGNA8ARV8!~U!%e=-renM z`0Cb^Ns~7LXp@1HVSgSL1+l&BIFMceHnJ)fvE=a`9*C^m!Mf8$7kA%}!2sLTY*nRW zfjaEn=Vrtr+N`K~*g%1L{`F%%^uWJ~kMq0tvhY5RAD8~>@kb~c*=+$$hR9!%$Nl`> z;!)rYU6d7rr=DSv?WIeQX%4ng%l7{6rF3$3Bgty5___+yjDKc$v$c|der^&r3242Y zAL8ge^QkUfODyb__*(Y%r%rokFV+&ZVXt&b1>JT#^_t*Q@M}o40kbxjT59tqzDxaS z^9$hnDHVI`?R*Mn0hH5W(4exd)^Fb{Om$L}UnDNEvGQw#MiM){{NuYHK7B&m)PxXx z{S9q9dyY5zH-A{L9Q)i}p9BQVW~gwbLwEgq0C$EG&8Ys>#1~x#(HaL^l&)zhrEl{W zlw%ms9I|!O5zT+xgwt9Bsl29wNMuVs{%G6j3o@T0eXbY7d`xmolSvqU`}Joy5!?^K zmitS*^dor3+>Da?pG=aMAEyLf#IRy~F;M_9{WuMc~K-XKz>!68Cb zSqC(+c~x+C^W$DWp^yg0oxqPiCdSXLFH~XzDQ(sLr!ac_r@wsKrDJT`_mNSjWHKMP zqjm7O#6pVg&#N5^=wpivX+3XpxJ{N!>0UQUSoZyafkof_%b(r9eER-}|I2+nU$38% zyAL0x@qgrYwMo|RL8fox)x(E?D#P~=pbS6Y&qQ9(Kg8Q8SS9oD={>o(-Y>H2`9nm$ zyP)=1{^{*}y?w zuNLGN3ZWz@c_9x9r?>DM^`Tg)&*<6Uq-~lHOMhQqo9%x2`Zn2aq+CTqW!(HwU-V%J zipnEQYO$0?H4N7j$K0~oHIeUr2_lY&7j&=CMqr3(B4S^{E&XSx%9_F1CuatJ;?v%i z!t}9qiI17}Ld$tql$FuE~WS5|8tKL&)UAytjA$?)$Xw zhkuZ29C-=5bTG*>}J;mAhBs?;Ey$xm?a!dq-GX zsC2q=`E_xbdkmhp@oIXv^dHeKC|I^xB@#~Rx-y=9TIz??X06R#$rzodxvMF8F>xmz z-sdMQ^+RfZ6NBDq*6VXT5qM1$d6n17zf%a($Z0~XQe`iTn!#fTy;w2ri7u}n*MB=@ z8>%Pnp1@>0e;4>uBy|gJ0Db9q3%9S_GL#RuubSV!EybaE#6#~Bi8CQ7oXj^hZ@jms zc4tAs=-F}OI`e(MdT6@Ln)^+W44oRB`IuJ_$`B!f=TDCjv^bS%xKDe$g( z&J;x5-o?3x4-ypBT+1XMsJTKY>3`fOX?J|kAt#RcTT^94sdGHV;i=3FZ5b9`#lohP zJ1w+Y2Es5U9Z2t|LuR$(tpz|7F)y< z;}-G6$DDQ;am!#Cub%0bAhwG!t@|K|+Oc4W;9T!yc?dDG9dk*%3~~su|G9tWW~%@z zci|@)O(@1;x=`xS?r3@e_-nnBhspr%{kHPbqS4T@#iC*~45mDXxU*6vT)qKv#ayIH z%LWOcihhtP`MY;eSe9Sj0$M`Gg|@;9r)n?iOf(W4d@EfI)?<^2_j4a>s=;Or51r#ChNK%BdMHSuCNc0s_+<1HnP_NRrhlT@Wg5O=T%#Fr(Fyh5eN(}qt0$kv8@l9rP_=d?U$fTW()n+h zQu}!w|4gpXIcU0XsnQGHv5j)EEJYLC3S!h7me=1{h-NyTqhS&HsEO9FJ6(2d!#&Ns z=aHze>_~BRsxV@-{fLOkOlnOOOqmzmt6F1HYe&IRi?$%};(z#o1sirJ8JehjS9N_* zkSLfkgTQD8Z#jZ>#WZbm11gH9%LW3WoS$fy;DCNd3^D3~0(1$p$0fq7lK}_m^(koh zB)in{B{O$?>F;^%vmo7xdD5V9UD-6hqADykh4sriHlB!O!^>-OT3 zr(hD!!bB496fA%X6^4+ud`?E%y_|?k}M8rsYi1e{ z1AUR9ST^n1aV5jfEpEEF^uxm9${j@iOt?_x6**{6d-{jygJnTf$c5bI!41?E_(ACV z@qd=HHtUDa8qbIqoADppO*ZbSEjausb_lP@I~%cKCzG0E;aFGN?Rg zCId}kNrB0t?rDMpTK~{}m0`V*bac^k z*N=gHDz7@WB|*TWcr7`qB`RhxI@T9HYLq)`zr-r9rSf!B8FJG&OdumBkr2e^l&6a&(XUQ`NG(?U|N4X6vyu zHfGla;6Fm~|6~yp!Q&Qj{0N|bIkulqzebFbryxoZAOn9ghvq+W(Zw?^-mqdFc7MB| z54B-84636(;{HeX>$AX}&T@@QmZa;FYE|w5Pcs}vMVGEe0eh{z1EQd+ynUurSLPzO z+TsiMU2Q*iLCKqT_bT6vJM{0t!Z8Q3)G(8o{yep(z=SGw7x^6hE(6C!Pd6Q{+Ho^7 zj<+9K*bm3+NvhepW;p}a=AVM3Eq|NwFYORD1HyH#{DxzfQ0FoVw(KWNb2UNt%rk{U zdlHBC^R|XOVX9*ClJ1-}8hJxS?JwZ1di(w+Wmf*SQ zClrl4)6_H``-H~8@%Cc}F3d3b4R{K5=7ee70|etr?eYL+PW0n+6%((fI)CMPw**)K zF)UK$nm){?>nHI9GzB+m@jX*A{k)bJc!Y;5alX zIc$K!8LYly;G|?)vL)-4o=KHBbfzTcAVJ+Znf~Og@s)Z?S;55LB$Z(CzUQQiVhVUP zW>i>L2P%=GK@jbTMK9-z%zqqS?F|f`pve_XrV!0$7wbA`)} zmmUPC0brlNUm)sWFvTPw*jB`VB0@#Xsd^(TT*JT+M5Oa0*3971}yL0&7gC< zA;ulp?jaLIkSu7f#H*Lla()5zBK2&80hvj>*dUr{R_>Y~X;8#tI|~i+ISp3V}i) zx~8gOlI1E$dj*LJ`hP*t9l^quqboImS}f2HvZLB2?^Ru0!Ezmewi>@J!-5u~ZsXM> z1*XTLiqUgc1DD)#f69i-f^o5ozYwn>hB`us*k!0);pl4zi!M^-4TaJqtz~IlWinBT zD6VX%R@;SkLfqa158QjxM zIIS?*jrd>hSDQtUypLyWbKx|+KVHs-)62h8n3|;F)THVyr&vVgDq5wkRdg-Qlcl2q zx{k>!{O+DS?OZsm!@#5h%KuPDvBSATslepdb@bR?32eCvFlS(1bV}VeNhT%73Vwm8!0SiT_0BD{r9*=}Q28CD5=#tVG(5QIPr)6Y43gXrk(QLZu~_ z*9Fs2FaXgfrDa~UJh_?DpTcBqZ5G6-?~C4tL)|7dztdSc;WD_vZk>rAQ3(EuAU8ih zT`bFdq#)ck9i2Jb03&^}L9@B(IK+bE1B>m~9Vh%~dVd`n93${%yby!)HJe) z+GH&k-))dn{;IAf52LG5HZ)T<9XX(gdGU+`iu$DcURR?M!}3hgQoX8mZ>X+dx+qp} z%pCcFkbmHYS|E$Xu4Be0w#W?SZ_Pc1#L^?ew-d-aE+H37Rri%oX#1gJl3ag6iJRsK z)oEMlhi!M;q1>$7n>s0o!mC&m1nmTC5rL?slO5$OvHfFB(QCTZyt z>Z~_e*Db}V1d|la6*NNvpvkdXZ{2)(B=JCQg@nS?t}R<$Z`vkbM$&~l^|Orb_%h6ikY#F!+G z?_*jHah#0QyU%F5U)Tf)%7+hyw|1DRdtZ`!4vEUaX@x+yd$Y zqg{&j8`)fl1;b$8r&jDOSDNKcg!Kka9TC_q^e1wVxdt;&ey`n@mieJp|0|m3xqr4^ z^)fxr5qZAvSdptr5DLasG+nGC#3d7Wk+)puYMit&PKe3-Ujb8dm?FuVq+1meMNw4O za1HD2k+(r7?a$BBdYAJ13q>%scLD6xjG`DY_Tyd3AY-y{$_oJ^s`t<909xOYTR-_3 z|A%dayXq>M<%%o_$`>s^^}CZaQ4AB!ssdMaSJg$D!n>2Crj38nuRYLA)MaUq);xo} zTo}DQHata{s3}XXZK13F3awjF=Xuq0D#)6WB55k|39qtp$oK2x0#x=tyx*N9w~HWp z_YH&KOOov=vU^n{8J}3Rg(P`~tjLwyj8_H8NTKO_B$}?ux=b-ho5OuHTxt7HndtRF z!dI63!MtgXrVoFfMjH73f@5dHh=LY3y%FAbE{s8z#8SU1WS4$oI1ifbik>W2k(&j> zQ@xYlFBgjfmqD0r11<_ErsD$$94&e{D+nCJF-l7;A%~LvCln@3=E39<@I?2uruKbu z8Xn+h2N`SB;HP=B(Ik$(1gkZS+_`8nQ-n-^wep`Ki$#B_q!`B~gE8i_PE3^cz7Wq4cuWwG{U1GzxPQG?(BPzU#rKKSgfs`+7jXAw; zXJ7l3A@GWJnzq}*t61npbq4l=+*N4E5s73XW3Rhw(cCH;wkYXdHRUb2#G$Zuok3mh ze8EsX1b%-z(Vbs7t(X96d0K_bX)OW;oypIe>Mg3A2~k%(o@RfBKJkTDv2w^?$E)NH z;o{-+L-i_ztJ`s|@a|)o*=;*)+NoDgoVuN?e&bmadkXlEfaWPzIT-wnmVA=|w>Rxl zyY`M&8GL%oyE?&EtD;NfFNyF1S zGq%M%_2al)|I}N~Bj+-Tw>R7)`8N#$UCJRGTJ&I!v!5N=Quqt!&}M%8{-(*IdDL={ zHJC?Yy)!fJE1D4=;d(*i1znUN6xUZ_U^B?TYca2LR`#KiF>Y9=hl_I39zwK9(`dHn z39XZ@smlTClX1jTs?skg})23Y-pFJ#CX4d5s_%b2QmQ?lRcL zlfNd508psLA@!9jyX}p^y4q<#PQ_+|kT?{b3lO+Vgp-y`a+9ZE63zhme;}0sDlGtoGRWe?qn8dX zrn#+{;*C+i%BPpsr7>*R-PzmT;n0%TrbWsH3LJNqI`-Mto}WTJ>q7uA?p4?4RGeyf zK<1Y1b-|BfdrhC}v5Uqd3sfCWPWL~#=STn*-Bk13mR|j#zOKyDB~P>~Fd(w-D6V0Q z8A_{H!hRo-e+Lg}Q}ufT1^#L>->Ej#X=yeZzYf5?sPo_v{u#3j$s z+W&P>{d=HEdT&ijF>=y=AVyQ<#I!V5v)c-7Cx5o^Di(jXhBs{9Vy|1;7Ype2A||P( z+k~%AgT;>RXt5v7_L8inA3DLJvLo`|Jq&^crr#(mf0=x8NUFb|fx;-_&7uY=K$Shk zNr=$bXVwybf`*rEn7mlvB8VQ=^DG^Z&=T+a=d=cp`L%7dbzQsXi)Z(Hu@9*RhiR4F zt1+?DwcXKa7$L-)swqirSJz2n7GA}oF@G#{8xVPE+i1}1#`fvW%cWpWwR4kV~_g)Ywf3NFk@wpyDdK=Rl1N1fz?9hRjcHB3%qM`3X#lpnD1t>ywdnLs<-Q zw16nwGVpnh^yne&nyCj{WNGW2#Z2A-FekjH{;=#nZ_;&g&- ze@mjR_B{cd2?J$>kjJVj@Txf+=GxF+rg(1lQepOCsEg_G>y;POjp4(=fvb) z@OjyD;-$~LaVO?MhrK938FT30^sNK1Y({K)!ZAjONuo|PPu5{p%XnEXd1rFQnyF}j|js^GY) zu2zO0jf|qD4!GBLbkNQHwum~9{zCH2AGi-6=ugptgmf?1UewwyhwB>DrmbkAA( z`2I^dO`_@umLylkla7p{r7o}6befXe$s+Jq@94?F@i@WqX&t6c3%#3eh~e=Fe4VaZ(gVS4GttHSScgeJjYbEQM+SCDGB`AWFQ+|mB&yQkXWUKF#n&u ztKV_kIO4Cu{?j14T9J~QUpanNxVDaB=SH~R$ZV#9;AJ_JV|$E zml8>l(o!NR>3ji#)_0DyJ3BjH`HyvPBUZ8pRag_Vn&GUmFv618UpRC@_dI=U zPx>P)A3_&OubNkwn)7h+%Btl}EV)vLk}b)bn0D8bTP~T4_d^ylW4GxRf5p1qjHv!0 z_Mt(Fr99}@ydueZ2BW4=gwGqG$~*(j?p1g^j|ttHQha8LGM@URC^@z!%hjn!wqv=T z^wQwMB#M2V`Af+xUOt5joXnfyP+~v&ECfjc%ub-xYxH0KB8`Q445KqcL_856c8JdO zNCn$>F9*6s{vFV!fT^~zKsfMg!L1c3dpGGf2uJQ8A!f4v||H^ zf#!h0EgH9|5mAOwBC*102)$3x@IZdrlRH2C67A{z?Ad}In+A?bAN!^@R8_69t7_E; z25mAnM8kncysZ|0!J+DR{wK_4@FkR(2s-P0i+?eUKqQ1(r-KLi#zHQD#P1 z|J=`fvizZ}*RWOwfB1BQc^I!~4uRAvJ;-3uD{RxML4S-bAzOlWO3^N$i*1-R?b4lTqF`fkh6u~C9Grs zxqzPpw5*VYe^^ntc6p#6==Nyk0MlJ+j31I95LQtVQ1RpmT`JryV#-zKC-I8W)Ly$F z@?m2n!+Q*#knS5|rxAx;G&FJI>f`=!2IsPi$I9~i6)}*D&o{zPtCVu65K|d1R&>B1 zRN-hX7`kTO=FiXR0z$HSc~41Du=JD14`6SF{NWBUf3=anB%m0lBrf>5t_^Zm1k8O8s+La?$y@{qe(nc=gUuPwV%Jso-|6+;XNA2w=J*k+xVx7Y{N!ANCGHcYKQkQ4jO1*W}rFNtmON^^hy zo~mDkQ*BF+e%j)P$D-WQq&v*83YNAjgK4JZf4P=dsm^@4Wv~W)VNDzz^gb!FWy=o6 z>Q^oB26dW@E!RN&(u+DBR41xD?`WYl{Y@N=w14vG5D}%POl-(XU!;6c%6K`qQr1T! zN#YW-Dv`ZwN~Lc>b2U}>+-rXKJnSHU@{y4O#|+fXU5K(UxeyA7`VI61Wx^YK>e_0e ze-FRuGvN~lcszWH6D+g!$&b?2!BWy?D5NubjR251{j8bV7X! zqkBn2T^OD%TrFpN%&!qGj)2GMJ`Re~k5; z-J%}94Pex6e%c={pEG|rV)^}H?H8xR0SmBYR^EpP{|)%wCpIJmJ9inw2#~HC*xnFl zshrT=u1Dh%?Ln&jcKFm{i#b_W!qIPrNUn!Ii9M^bk6wZcv|JChgvi*0Yxwg z@4@k@uXQ1Ph}YozU^F14vGdS}e?BrE2@<2FIFend(rK0`+pP6>BSFT;T)X-jv6lZj zinYM#Tr1XZ6aR^L;}46~{qfRmEy&;Q$ihUuEUm&Z;mS2d@>)+gC$9Br=PtGWjB18Z zbX_gS8%ow&x#4+H7FAQ;Qtr{yWj`z|xokh|MFvk~o5L!#j%#Ae5dxLff3-OK%~zKt z_t!=C4g6cZ2Q}}ZEotvzsm5MG^2qFRKJfB>)siT==KR_f6(HyTQaZe<0k(qXyZ0D+>O|3wq`YkH1Bx_dd zE$%O~(9g_&MD65pU(_;6JYh%F9#Ev=PN20j53T-KS|V8nG7beJhjs#k;vJrzn(ed% z!0geoBQFxY@=x@l;6)m7EW4DeUYf&~P76mmaQOGc;omnn{5SOhf3V|D%!yGY6%*~w=1rlk1lp{xcFDEuCo2Y*G!yattSgsr3IQbl}gtZ@K zpqp3>+=hk!4wCo=fBymu*_|ixQ`1V(jb26TNlyGQ4en@Fp8UHew=zh=c%JUeQ((=T zKKZLi1j&PnQk1bQN#m;r>2xObJ>Vxk*pnt{p5thhdEUWJ>_#&rSv0l&*ms|SFnMLETdpy7tIfBDDeAU0>3WjHe~=-<;rMO*nI_r(5)d|z zL6rN-gb6c@W{cIFy^i9OE~ZN7hQJ)FCFtgxKKfd`dmg1wub%iJ(wfm(PEcVXferAJ z;+eH|>XK@>9(~q)u`8W8b;WTEop|+YmuUU&RLfRv+3An6_!{*E#x%YY*ick15UnGs zy5;mo{(V**f6+zF_GI@(M@lxO9IGfJ&=#(6MY6_@V&W6^i#VIb$rt*mu4tGJ)E*16 zRCROgm`2wXyep^<-Ts4BK`22i1R2vfulUpFK>u-zc-f3AMWj1@rUJkejXX;7FRT#O zcMWk?tH4Qi#u~6Cz1+&;tvsn3qRXnPn$NTeOf_{~e=+o{cln*_OY6W%BBolg5G?Wx zb;NLWQE|obi;fg+%1*_MH*hjUNp=;SKmH=l#+n&l4C*SDESr_`qio97#1T2V{>F}G z+1t|EX`=ig&dQ=pb{?0x2NO}4w)$38yLwx0JhcL%F<Oc5LMki|*7x_=PnVLDr-DeJhUwt?8z zIaa$VT)nckd9c`6eC{!1br!#NkL-tTuqb%2mK!H41PoOD_VX7N_LmACnEa$>U56aV zf3Hb!S5?73|M+h{r-@3`i)JJe;hE5K@|Pc_V8?6{MU1wDI-vB=KmND>TXs(~*@+>z zhnY3U5c`)-|F;I4#wWO<_H)lfKdk-bP_0q>cjd)Bd17%@^S)2qeOoIkF!vhP0!mg!Lx1YksYt6~RdMsQ zgPJ6X9*kq^V+baOP74ad0!I)q>XW#gbq?Oef63C% zJN-%cI==y0Aw-iV0Uf!}r0P3gS*zFm&weC1SrTNcBsx3M3}Z>aUK!xprA*@CeFTgy zsX$`5V(LJG8wiI%$XP%Z-xGc}XPw>u;m4*%eA6ftcdS%t_(a`wByoHaGjz>$b0_4W zshw@C-+k{-1C&#X%{Jb-V`A4WT_fz~SG zw~4+_t0n2jS+^v*;HTl)`(_8O{bN>+7v^VMqa5!HkKwYLLRIwCpmQk9x75|56_s$z+* zdi9-k^}AEXW6!iElNU#ONLRK%OCGmsIHD&S&!k+d98v1I3d3|nf2n71AE&v7BpQ=( zS(S9rb8L5vPI|x_dbvb6fp8yWh&rU?FpzxH9;bQU?gTaQJ>VO)J|$kau|13Rb{z=w5GQ?nAEv}evv;UlW#^oHVe+CGb2Twf(!dP-QhypBf z(lf-%z!(>pf7FV7|6j@=XH^=M_-+*;W}FA3rfRCJndW6^(Ixbl-bK*0lpk9?lxU0Z;d#@M zTy<>ORYq4?lbwmDz|;M6@ZFGzM#NJ;_@7vhpda2pWaM(KeUg3JKfXsVhXC8<3JJQC zIh{4L4APW1gUSslW>UDtR+&@{4|HkG?1#IVRG#`Ee=j<39>f9Godz?1l_IfelPRcp zv%bK(vv~OwE`UiD+Zdx1CaZww+4y1bMRkJ|_I+6!v)IkdNU~mlkbW;1g&uhI;+Zkm*0QE0ltHATW~5%>uN zpWBp-fA~jedZo)<`=Ask>c3IOKIp=O9}lt}M#5%a60o!J^Hk%Pe@}6mhAuj| zZsE)(5A+!I6+KTH#}N=u{=BV7U|{$uNb=_0Ud&$4DQ1K0(8^~I30w`%W9Z;pd)Z;` zx?X4Dl3i`CHVjiYG{dcMe`uEJX`+K5p#kHsD{aG&C$?eRLZeL*|ne9jr>0V00960>|N`Q z;z*W$mFWC2svc!hzT41~NWS2i+U=Pxb(J)|Tk7p{LI747o3Tw%?9NL48Y}I-TtCU4 z6Jfx18ZsccB-Ny5IxCHd%XdzkYs85ge@W^ohHfY~-9ODc>Dv^4ML|3w^9~KN+|I(_ z{)WbPe|BzOcmMQy^-fN{OrlOU4f^!{W}4EBrl09em%vX%b23lT0l6o`FwOE`@Q+u2 z2qx3-vTwh`Hget)`|lK6o07S#b*4cYycyiz$cn0Yo~PZgr#bzS<5RQvfv24`e+vgc z-ruYSzkKvIZFuO>VK9sG$Dh2#N4f{S*=+h#KDFt)d=XK2=W`I<-?+(u;?#FQ2WPeX z-7q^@>A41UdEv8zKN|;jI7Z4^{fGwXt8c#}uU`|Irb+sZ0Q+dR*>)|(`8wH0^(4tR z-ClKevTwuid}OLC`xNXmO~W{kf8uXm-Q;7+MG==vVb&r4RbixgCyX=bDg-EXO+^fX zSw2o+U~Z5m5&2u#A16_U9}I#Vx>6)Xxs$9rS$i+*9ZBg((!cYumnq^!LN2JUOPexE!^^?gojA+W0UPk~= z)$kSFvQMM*RMjvfYdaJEJv=`nGW0(5BwbQ|?vQ>E$4O2e5_mc%AG41n$jD@t2M;jv z2igy286{y3>VX7NmJ~12e*wHEKmf_sB;7QnD*;Lb2qy);B4SiFOr`DNM6UoA0B$mF z?(Y6D%D*F7+J8L>!nl=Y9og#W0w`;qjGa|*?4E%hrR|uy+`C!~;21H_YT_WIPZf5?Q~t1+s^KDICId>*c||Mr=Z<_xV+Gy zo#eOMuHju3vbgTpfBLh9F&UaKmN7Ty4^F_V8#=$cYqHiOKq@7(j1ENAwA?m4U+L8% z(->w^eT4=256I-F46>H`is0)%(s%%f4BiGK>ZCOI#Jb75Khk~>MP!&J6BbtGK!(t5 zI*TZVT7#T~Lo%mi9DJrEh)bxabO>$6eM<7A#@!Wlp&F*GfArW`Hqmp_*B?!0Ljzed zq4^lbeTzda;+QN(nFpU>*ehdhHRcv^ih!nY-vw3D3emm~f#-s#E@GLv{@huSn9@OZ zesuG67WZLoF%~%rT<>zQYDUi;=Pd@Omza?e&6^4T{#dhEnr3GvS1?2|$g(83xB-e6 z%;K;Dc}8a~e@(*pI0JrUer_Eva1)9T7+G_S{+M*_uEChhz`oD&5D57If~=p1D28(` znWqUbT#NjO?+n5WsGZC?nx`Ida|6ex>0y{KhzC_lzX)zTtjWZ5JpB>^FF_-WgGAZm z0KFe&rrj)lSwe3B$=hee*1<% z`ytB81m)1}rNi+s%TWX3RGIBVqi_<&ptuKUxY0NdQ_u-u4`w78@+e}4oKPgw8IsLm z#fK#MGzrpA@A4qc$?${4eoC;roita&g3i~wU7Hx9_Xm=M4{PI5O z%aW-mf07}~)$jCxwCgU}N3}4gExDF2qZ?JS;uYQS&7S_O9bauta%C1c5w_z0LW6<3 zw;5jw*yxxs+rceVq>gT`-NGHYXBZ9Kae$0i{OkQ<3hh78Q5Y}ZT(t|M%+oEt;ZHqM za0Dqhq5}+9JYj4>a%di&05@RMs|Gi&3EPzD!p3BOLlv%!Nbve%aJoj1NK!YMR|d;krUE>IKCx3S12=+`9iLm>V;Uw}5y9#;XA( zvR6%4J>Rt?r^<*&ioIUKhDqEdk&$}>+7)~p7AcPg-`t4Au{B4sRbQ@cKhb>GHC2gO zFc-S0pZ04o(82U9DBtZXVox7tqtF-jf4neGi~9+WGCaPECf~t7>~_F_W}8fd!cJi> zHm=_sg8{JqvnlO|!?4dk0cZuK+R=h@B^mpE3{Wn2XU@lqM?yM4w3klqcjrX?u-YHz z919ZS#j2Nv=tHa4Q`tR`QS$8V9+bhUdO5``iibx=Z2z8w9hMDU9maLPW@2}NV=NU{9&&h72Z@4NhXcpDjo*`{Hhkt`g=K|V{Vh(9S?nyt(B#h({H z7@)(ryxTtO5N5RUweT(BXGfNHY;99rGs32!*pBViJa*M=8*Rg1BX`+yf2?csB}KnX zX&Rz^I$${!Sb8A3=E*DqnV*KmMu8QFl5CvJV@#xdUu2)OyKT}zlNDVzi!R$|mLq61 zflwXW1wC-$Rm*kLX|>RBoRcs2;(xYdNfF%h^-!0Xsx_Zfpw+Y zlG6kCv%0QS&(kf-KwO#wsQYpdll=E&9iLo{MEWE(9$h=0E zGcKI>y8SAmt|m2wbl?WH?infHRB6|r|N8%pop&5dLXuM7I9i_r{n^zH1>J* z2S2*GM2ek1*e2qk96FX>OP4U9b9>g)CipTsqzU8RgRRh=g!thI)oVw1F*c&+Rodul z*TtxpZa%n*S=`js*TA`Kr%?NAir9#m5E8H_S>O>(lbefxV0LKsSjRl;$(8*D^Q6|* zl-EPcwVQwa%s2yjwk^E%5i(;2AQM}nrSg(&q*~v>8Cpu^nDD4q z)BzVm?0TtHL>g7Jg=4(cDMRC#YZ7Vz;Z`2I7t{DD$FYC$bhmw6gWIGD^QGmUApedw zvOp)6JiClx=hlCxPd#T#-L~9)zsAXZcr}(Iz5%IK5)TU)lP*)$pE?v(YmgXsp0qA` z(5Z-LPp5f}_&WA-Pmv>lx8NhEBDa4)X2}YErRpnrx^}6(g)v<3v(=pIMpGbj1&Rt` zgH+vT=wtyqf6Y6nT-aTu{_KF`Kw`(D{Z;6tKQp)SAdsq&JzIvsg=wKz9*Lq{Y4*lY zgdx{#VU+@OF8G&cAaGNif_qV6En~NW-R{>{C)e1$?d~IHrUn<_r#2BuBB*U$mE1Vt zKB?A(EvF%+F&=p}&Lv?v@rrbyzp=17a+|F#k5;lNcXCGkiq?_jZ}@PfD0+hKoz6#$ z{40lUQ`zXkj8>ZeL*kPaA;6l$Jmi~Mw)refAlCym!am zzX@JD7u+f3D%9JE5agpVkoC4`oNl z;7nR-zw~D+EHY{%Etx0H%X8gfU8Pel((aakP5dn2Vvza`*S`d`c&2IfKQ*t)l^#&&3%&x?oQQ8(Ln zSI9BEZ7{Zh+@e)33%sCH%@Ht@5U?dNcEjHkL*9l7e9 zSu*KNB`lR7LVe`VZ&W{u$rp!z{&G8bTcXG?pnX?U`X#@ru*B4%?DYii5M%b|k8=Mr zRQ7AB?9hF+SR8$BeS&e!(#W3?^xK9@dZ3+j`I>x2ep-+HerR+zXWOO(z>^;gqr3@8Z-mmR>vyww$aGJm`f{s!{PZICF$q&yCk1+m261HnahUy#bnrG zfSrGCpvaGuz-EZQbPt|Vw={xqthb&&-xT#;dtV_DQt!}Xo`tPa^mMTW!vNS5XJgkk_d(G1_uYjtpIM)_MkHFr^eZAxM5jMpHY$ptNEr{*aP_rtf zd3YiwHjdGUtOdg8_TV!k+#9$t0pJVi4*FqAS*utl)xQ~$FizLCRF2l~Hij0?>xrh3_@|PEQYU#2S~S2c$Z2u z=4Pp>67drjdfX!H8CId2=3(9$oCx)JsbNBzBHn{TN3ZHb4Xbc$8Ct;0{yvK=Ca^o7 zwb)g((iYHTjolg<#KG4eZwFT3cj)yBmM-3g{Z#YY-hS)Jnk9G86vRqgopfHgHw<_* zratlkkbi+jzlRz!AF80pRRJZB}E=uFs!vr9I++!Bigr)g#b%BB+Ux@7OyMsMZ!)0dN;}l z6`Pi#XyxDWhcz+-F>B_Q zZEIWB22Wmk3SLt$T&|+%^r1Et`@+((&0qOTthkU%cPpr@CV*G@Adl$k7Jf5L6dw_4 z=?*Xp2dR7Lj9SkPl^CvMH6OT|KOFKBRxIOEzaeQ7tzerb2H}S3?vti|8;Y_sTnNGo zspMQhKRYjeuVVWLQTff;k%=fqEA$>}e!2VC)w)>}L#e+S_bf!n&%!R0XOTHgf%wIUTRl<7w&A>TDX6(JftQ$vW9op4@s|BJFWQT*Jpk6v^wDHpz>9MA)v??bp&LpP*6lD z*H4M}nkY>k-L_@yY^xuvwrm6~{J0)xK{u!$>Ie_bmQ`$9^a7AKFI-Z>w#>K{?EFoL z=^o{y_~M(4ftukt^kkVDxWB^8`Kurb!&nrd4VeOr5NjP)icQ>!AIWM@&iNZV-Yuw! z^fb;@1qHbJ)c7G$!>`X^xzZ4K8S|89Qd~aoL@ao)zgHu=9TfC*Zp9qexR@M18WF>P z*vA>Ta$v&s)W{|s(luOi>j9l@v=W&VllA#%t6XrHpQ zYtobJmb&sB6Q+qoK|L`4Zr}AUGP6kL&dylEP^(#W+-+V@g_Q1sf+WyPbSCliU0!D& zdespJ@oo5e%2UdjWlWt!!Zppr=7PLq8kgT9!#ITK@t7qbX9XB*&hy%MQi;+4o`XHq z@39I3oZgb%-?~_?3X$}Y8h+wZzT=hnc6_2FIxS;DQ@cvmbtgtHlK?mDGg)x`uc> zKu?n@{9Zg*W$mgY1J~_0BRPlz!$a|{jmyxF$q=bHV>Ick2A0L6F{BoOc zB{LqSC!LD)dFK2AT!hoKqT7q4G9}x?Fvp*Cgx=sHR{enc^#Y|I8F31DE|}{0esfkndWrN8Gvk;dui|<6Nsxo6`Duo?F19r z)^_)cXz+!gU=~uPCGNiVfoS8qXBJj>@)W(!E z!GOzxT|5WNz$6>w-6QOlGpxefa_xkr(7WE-Ph$oa3tls?7eUW=T%0FmP2%fgp_YCi zdP>xlFLpuWx8|2brA;hoZBLq|zC`aeV&I1JItyy(HQ$2A&2!G!H_}}=Q*BG$_DRZ1 zNScPe9L=zJQ$&ZI8Uy!ylfX#VY+8H9$~1@}bxe?N06H zPA~Cygq1m%dt8gag=Fu7^=<>;yR(K^(x@(O1JIH$V4B8>J-`wzYlXhQM@TTGZ+5|whD+$0xCZiV;&MYA2%u1M zb^97m)eS{$@AF@(Yb&YCf#!oPA(tuP#PTKbCY7O<8tD$u<9LT9sz|gM0kMJSl*x7; zh9*`l>0d~egdo&huA(mzs$2Y6T5nlm{X+89ip6Nd#C=>u5BDwyV?i@6aDQOOn=6N9 zY}X#7G@li5j$$i_M0x^#6pZYn#Stw&^`ofLep32dirQeg!WWViG=YXFKG%QnevE!s zs40MosTo^04#KF~5Nj3tm95f z>GV`6*^{Jbu{dugOus2$9|aA{H?~b$#l8>Gf>l{B*|@_t0h`fBT#qeZH6C$O1$5X9 znW{Rpi4d~PT#Q~_>V9|pwRTC|zg+Chh+V}xu>*XQt8*LwEadkPnEgUSwrxQU$L>a) zO~rg!79~RWreP^U<{#gyxO|i!3#h)MGBOPCiRM>&FO$kvfAlx;`g%^=Jp;H0#LxK_ zGc=;VmsrcFAxwPozRAj<_RCM)-0@07(&T^EJ%3DXe2^6AB3?rVba*!^ZdSoS zOPy+4dnJGvpo)q{*b-SlSiplF*x3)=o+5VoGi+L9DvB5a0D5<7;~+bqh56gjKh~MC zEa_o!rzJmuz`qDf_^3FitX7h>7`Au)piV_CWH{N~FdV?)k%qg;x`m_Sw)_-TS!V+FOs zz$lXQe5wQ{Lw1ON>RHO=Yar}F9z4prb@g-9F#$-}?O8YE{I0}&5rk@9u)7%uh)U$& zf%m^-yL3H?6THJQv%?OE$eX7{dD|3T_Mma7=nb98O%*ub=t|WU4hO4jAsnSSdynx} zWc!*1IS~(s2l24`Yk){1S5(v#V(LujDPH6F;<}vX4JWFvnVIjFzbu-2|E*sbYIU3J zwY3ZryOsR?Ra-TS?9L?jUeDmfq9s2X~}aH_$H)3 zi#ccFFn*z$k>)K|2U^$)VkPJF1bz5m>kuy|=Z%YrJD6%g;$KQkkEzNK@A48_walp4 z@C%N@K%`B!oxQTG9tKpucw=?@x#!7Q`<8^ZzWoEJD!M%PAl>diX&Xr?c}ZTI?djMe z^RI{ufj6X%gAu@6Fuwuue&+iz;wiwtjJy$!j*W^)23}9R?6NI?N#2EWFzCxE^zjr^ zniRZ2Cr1uKh;5Hd_eIx2zR_!d@Mz2Dke0sVloibN68kI_;jxDd-6@iYcf1{n56!b9 z=6u$O($3=^Qw&TSN#wx6yV_t&m}swnJGZDPSAL`1^&cSaUypg8Eo&C!lxbSZsQxp% zE3j@Ow;jz)v&y)$m(`Rf+X2d?f~s|m>SA%Srtxoec^PZFr}o#PVU&RkxU{&kuv9`A zymNBshq@r`?(Kk-w3*0jipAF78AuP1bm9`*cL1#Pe_5~U3%Bv!8$1VoH;=e40=1VN z?{k7LN)JGXxVL&7B*|^oyC;jUx*rNH}Ly&FZvarxKDg`PMzrAGuxG9dLTsjF6V{8FD$VbDr8TyHtii#x1(X*7` zD-g)chVhgknpr2>E38#ZaTR5tmUD46+!tYHLIChJ_CY&##TpvW;byymKw-hx1X{H| zY8JzyGnGu{fKitj$4qotX32+PBpAV893M^!$ZaF1EnMYCXABRPY&gb$UNs}N+%OVa zWw}wfLabq$E-mc^mL?RY(Lw0Z;E7mMa6<=k#JC|{U?Jk0)~thduBK-ERlIajTq49t z=mU;tfR+~t$GnU<9=$m^Mv=FaNN|XCr{3`jd1`Q)gI3CUgtEtak5{lm)fXPGF5E|j zL_X(S3I4v%IkIe9?7(>s>N^;+O{Mq>-Mv?fx~~~bb@>^2GKui>;fsURf_=b+F-9Nd zyZGD@4xtOPrQN_Y3S_Wt1j8_$l#bKhrGVQ4os|n6=I*&m(Y3inAB91&3({;KT_@SL z=i}IQqqyg+fBs(PwL8&_pB9eqLB`h!c?P=u2uv1%&yaMMKrnms`NUyqo)j=`3Y%O{ z?c7M*8Ok0DXFYsXzT2n`rYlgcr^(~W{6SR0ES1h$Ar}KP%-zNl5Wd8&g-Yf8wHqXC zQfE8Jo#t5HbbEoYBq9e}=%}YGD9`>}yH_AzKQmPIInah>NVlYEi$6fNm8PK?iKjI? zAZO{+?h&p=G3hhNK+*x)F0+tHt2KKGxP0;+H1RSAj+lA@4<7OiSSd5&R^kt@>yCnR z;kGHd)Db#3uB2(3;CG4tu0(v?b^`@I7p*!3I?b_I2wMV;2yQ*PKoY(lgn(DIA1sfy z$Ce9vQ@DRW?Xc=JsCRsOoH?VfOrMI1W_A7JI9If?_kEjrcp_h*89Rdtw`YFD{Yy{N zPtZ95G(zcQ9>+$7Ds1RATajWpUPr5|;+Jx`3+2hLVr8#?d(N>ER!|8qD^V8_yHsLv z-c)A{fz3u^;x9n$WS1a=5r*}6U7{6ZUS`iQYPS5RQWNxl^N1^s_UuhS;EcV`ui2`|-I^baixTym@IEuw2O=uyEvL_>dVZ81oJtJ^ZwCQq`hQqd9 z%e`YaxwDk3{_I&V;OEMRyqxVP&l{l-aSpeju8%m^{>r8M`~F~Mr<4Bgg03D^8G|m{ zzP29XR1K8Q_qLjiDL)TSPx+=q+KG+pme%9 z(gcGo_VRl8-M&{Zm!$r&ET(x4_;@n=a5Z&w+~OBT-O7P9KRokqeG>!Yh*}ZF;ff$r z$h#ry$f;gPd5z)fDU$?v&3&xkhw#DjXRy<&t@E~yPEh_AC-ObTuU{QI z+v6>~Go=rH>+&eR!Dm*=>xLwg4-W-;?wy#=qSSGd-$I;|_^saS%Qgas zq1RaxtK1PXy6Hf8^QNd+SxF(RZB!XbzG+Wu_g*M(P^42 zOZpYTFGt14)V_YPWeErpP4j6jhQa;HSW>@O(Y1c2omn;v6UuLDF|0__g;~ieQ&(w8 zuLoOXsKx?Ui80CO?Nx%0J)5JX1cnxoYop}RHhxbu4Dpxgh9DbjUH+B$4mF*WNMqdo zeTbmUC5t`8EXhTwPX0g_8|Kg-As#_jg{df>D0m2Lf-{xhm}gg6ISe&_ZC7nq<}BPR z&lWw6tJmvJz?=pI($y!_OqHrX7n;i$T-JD5>U%9}M5sY=u+Ge!;Z5(I1Gq^W+AJ z>s&zJtRvz{&^Qk_s8o;I&{;NeI}(ayoixpD4?01ys|%lt=r&?MjU-1pV!_s*huE5u`i6+fyW0WOE%X@21O4A|1u<5BDcy$P5KqR8Y32@yYz#v@(Go zRkbm4{x-+3x81}FE>p`QfiIT{!hYo&h#1NXBhPwVRYp~wkhZ z!y=C!gtDhdi~i|OGan5wj#s9%-5KjT4fIYNVJX{CR-$h!Sxmo~b@@H9 z2IArlw9EVoPw!*uyw$Q1| zm8w^DOKTY@9&V{{#Nx9Xi!`i=`ioTy@luz)#FRnLz!&oOTWdK#7C=RuwIK}XqjK=g z@CtQ4B3+fe&hZda1^rbm(kgY&2eXk-QYBLCn$!#iUZafn+#h=wwPn^gMgEjc%p2+3-n6QNXvgt$|QVV5Pf0#2NOCU z5LRHzd@a(#2Ex_T%D??6{Ev1j6B#ycR=Uc8_y%zTmOhUp_)nC*RqX_ujd5{$3*5)r zEm(V z0oY@h8bYrK81LU1>A}tV>^c;>BvaBs`5%_s`%lRG^*fd09_XGWfeh#eW!No=y~~Va z{hMUmNTWi*sqwJc1pOGZiQEazsbV7wN=;8Daq5esu}>1yGN&JK{x z!|>YHlo;=@wA|rXL%o1LG3DdL&JG#!>zW?fmn)p+GG_KCFNtP1??_vW&t9KU!QDG> zF%oN-o=~HAY-zp(0E-x}L+u*yHahWh$4nlRTc)QnvIf1LNN_C@V!L)6}wnd1< zHGxV4yK1CEAVPRrU#2vOV!G+s1RfSo0~T%C3$(=V!BAB3zZ3SX2^O;B$oOCm`!tyx zImb1N0Y_z=&>E957!WH{uycS!v#jRqhuaDjEY<)XT{TKd5Frj3^oq#%jd>P`TpYD6 z!J!}qT_t;L7&u~+@v9w7q+nE)dRRa|wJFKRR^hY{-J&o()EKwHPs{Kpw33@d*);N=n!E)ilYEUAPp-r3)m@6f= zl~F&gG$Zu{u3}WeH-%k?I={mS4{e7QOLZBqL&dd`%L89S=x2#Fg{N_I;!M%5`;qzu zNkWL1MS1F!oh~|2$(=sd6XLLM{PFkm>}u(6r!&2z=9#Zokb?Ke~xEs@!eM5OY%6pH1NV zPV_iTr~+=GKs0Ozt&OwtMm=Ujt=WI?6ew$33Cjv_cOPIO!~%@NFaM%8n@-~rXF_Q* zj%8qOaj2ofz9Yvaw5-PF`CPPv&qvL-}UXL11OtE!KVvw~dQ>|);&lk?9(gF+k zfOy|Epa)-2HHt^EbVbNxY4p?(N9BTl_g|5kVzY`6`&keUI;w4}ZH$LKyZ?rd1&t4Z z7@Dthc*!Y2h>6E?pb4Tcq-^J8MprlB2nY=!q&rTHAuJXCI0=5TW40abq#Dh~@b$d2 zaun~QPnjms=9df}m}3fw!F&DCKP9dOj;k8!9FFUQ{t%L3=bC<}l>7rZXzGtWPB6!# zcolPI3f4V0ZXAnl1+5}4j4YUWOl#QJuH&FKf@LK_C#blW{Sz>K*W?5u+Tu&D6S&FI zxfuL~ZeaV;wbD!x5#X)sdmF%jo@4bJF1Pfi-!n^xx@ccuQgXZe=d~I{cMm2b|DqL~ zW+9=>Ve3}IMzo;+$u=dLHVod3#V`!Ux!{3{9IC%olp5#((y+PPO4XxX1O4;a?nYQd z=A$(7@nb#MMKDJn^OWV~c`RZC{KharU^fD2dlAq`1&(6%Xh@L=?`9H|ad+ zbg_zMVhs)e1FVoMA8`?>epWlmS`6S58kOvG7Zn+_jc-!dE@zCgqfZ8(OdyL#(c&sF zYCb7iLt#D8MHi``PlZw#ICM-~U|ul@$w=3da$sxOl_@Tdnp3`vb^O&IpYsu=pat5( zk4E=Y)r5kPOOSwA=L~bEsrbf;fSH&27_NL3BU0ae+ET)SEq0rteVeFaJm%^IW(uD+2#<7yp|s&z!1+yo8Z;(5WOI6@G*CYuga3OpH%@_}hrIb?)d;;S#uI=sRNL{uSyA57+(Zm;4X*?W z+1PfFT&Y4PeLx3V$o%c!NS|Kdk##(|36sS-8TgfhnUT?og~GOf z1E9|&G)A^BDA2i~p5IzsRf!GorY0v5#abKHr%Fhj%r5KpC^$%X(9Cifq6lSfdrjK5 zjbfGA29E-_Rk+sO)Hl9}(Y#VuQptzJl7?#&vD0Rf;6g{>Yf3&JjNE+iZhU;1^;9$Z zcs}Ugz4dPGQ!-Z~cx3dcV_RJ;OKW+<;RVD%V>H}~STh_6Y5QDrZQ)k3)zSWF52xgf z$KlfedT}Z0`N@bP9G9eMEWvsEYP=UH34V z`jY>ji7nK&;CmJBm7)*nh|$r&f&;uBBElwtwm9ekLfZ%&P|UV;R~6kpn{EV z2>oRy*&m`A=o%@E`SMlFTEa(0xbamCx_~8Oa)wwMS<`|-gai6g;shu2PO<45ugLj% z15M-t<2G!W@PXtcbopaB3OI#8jZ@1Z32CG>S{Ysk%_Ew472EMp%8h;oasO47DPxjfO{_C87bymC0eN;aBa4tl3?Dq(xa= zpj($V4*%H{^E4t;f@5)HnK=mn>0)U-Bdp3`V`~ssun`{9R@if67!H~H@OI;ac!8Vs zx_b*>dCgmhv*?Xik+nEA@Tc9YJ_!ZpsZp%9iQ|xR^`%(Y(!<@irH7t}>S^aHmu6q3 zki$OiRtWM-0&q)^4Jz@@no7{Yb0($;;>Y)p-@)Cb_?Z+jXw!}iDik3Mn(pYW&s-!T zgwq;m3A}6>)qQ?GR6tCPJ9-}eXQ0l!cGD;ilL-9u-bzYoU$@%a!YJ3Mbqoq zw4b6;NTPX7$}^xfXx0TRuj+&g-7 zIX}F?$*e};E2e$yNnX^{L$GMj;Q|`^{ez>UyLi@d5uBHQfft%c!!)Jax30(}W zQCpc)OMU>oeLw%fcfZVO99hMvLEr9gt{!}wF)yAj+|t*N&%3V4z^AL>R}Ijp0ON%7 zxX#?? zQRnHcxYxh3gmXo`?=w@aV@ zIT26A(*#FtrXOf!cHEmz^ITTd9ndy{?8LPrQnW#Z~t*gx>Q#ZRXEvX9uQL^}`bBPq;+^eB=VZ8wNrN`4T=U zrdK{7QQPqqQEuxZ?{(1lq;+INxLCYm&fAFwb@Wh8^Z=p^lk|uM%xK#coouH>fN-)65Kcy2c6ib56PUi|Z z*TgxeMg?u#1Zc_QA5Sn<*qsWZ%kN@`G}>fmQv3i)%Q6NEJ|*NL-LZa=XYj8As#Axz z_uQhWy=Z$Z^|(>(s`!N+#dh2`_MIbcY`rjvb(D2cuxr;-phs$BDP@IBpEHuyTayr> zEo;7{H`X8~8!#b*q+7dSMjP;`1PXuw3-!aUIZE>;9fFRNA(A1s9beM7%4~PDiX$A# zH+j*%$phA<^dtfvMBxySR3OYqy|n;<_UQ~mzNzgzb@|Uh4&fL9G2fJxl*}L#t6wCl z$Xr`++kN=n6Li~vyo1&tK?s!BhC?<>{+C0z;1w?CyFh}(;W>{hQaNL++%{mc?n|5E zc?>f5h}Wd^DZv5p1#;}dh^B(pIu&V~{6(|^D%>cBuZD)U@VW z^9V_m%@%%5-Kgo0)qN6s2j^}$*}KZH*6FzmgJPizL>xf!noo;nbgLm|A>Ut-2os_b zHoytRc0X4>M2;F~(n?k@q!DJV{y!j?>~SJgu6=xspl-+>$W$oNaT%+%k_Nn(5x#Ik z1=n;E3{2%VRa+gLlkmS}EC?{LDFiSu^sma+|G5H}QY+QLDGC2ebNR9u{jxy&pW&}N zhtVyV3D&hYe0sUX= z?bF2DGmKO?O>jC0Sg=%1O>l9DNr+S*O>jX7Z_Ly#O>jvFU7S>Ct*>WM!c=iBa6ZVt z#Ner;_;(n4 J)vu3&{XdvTfa3rF From 5a3a64d60b0dd786c35ca4daada7a4d20da33e5e Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 23 Aug 2022 20:52:47 -0400 Subject: [PATCH 0424/1248] Update snapshot of ch15 --- nostarch/chapter15.md | 28 +++++++++++++++++++--------- src/ch15-00-smart-pointers.md | 6 +++--- src/ch15-01-box.md | 6 +++--- src/ch15-03-drop.md | 2 +- src/ch15-05-interior-mutability.md | 8 ++++---- src/ch15-06-reference-cycles.md | 2 +- 6 files changed, 31 insertions(+), 21 deletions(-) diff --git a/nostarch/chapter15.md b/nostarch/chapter15.md index ca717a910f..dffa20b818 100644 --- a/nostarch/chapter15.md +++ b/nostarch/chapter15.md @@ -1,3 +1,8 @@ + [TOC] @@ -25,11 +30,11 @@ between references and smart pointers: while references only borrow data, in many cases, smart pointers *own* the data they point to. Though we didn’t call them as such at the time, we’ve already encountered a few -smart pointers in this book, including `String` and `Vec` in Chapter 8. -Both these types count as smart pointers because they own some memory and allow -you to manipulate it. They also have metadata and extra capabilities or -guarantees. `String`, for example, stores its capacity as metadata and has the -extra ability to ensure its data will always be valid UTF-8. +smart pointers in this book, including `String` and `Vec` in Chapter 8. Both +these types count as smart pointers because they own some memory and allow you +to manipulate it. They also have metadata and extra capabilities or guarantees. +`String`, for example, stores its capacity as metadata and has the extra +ability to ensure its data will always be valid UTF-8. Smart pointers are usually implemented using structs. Unlike an ordinary struct, smart pointers implement the `Deref` and `Drop` traits. The `Deref` @@ -210,8 +215,10 @@ error[E0072]: recursive type `List` has infinite size 2 | Cons(i32, List), | ---- recursive without indirection | -help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` -representable +help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` representable + | +2 | Cons(i32, Box), + | ++++ + ``` The error we get when attempting to define a recursive enum @@ -262,8 +269,10 @@ Because Rust can’t figure out how much space to allocate for recursively defined types, the compiler gives an error with this helpful suggestion: ``` -help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` -representable +help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` representable + | +2 | Cons(i32, Box), + | ++++ + ``` In this suggestion, “indirection” means that instead of storing a value @@ -794,6 +803,7 @@ error[E0040]: explicit use of destructor method | --^^^^-- | | | | | explicit destructor calls not allowed + | help: consider using `drop` function: `drop(c)` ``` This error message states that we’re not allowed to explicitly call `drop`. The diff --git a/src/ch15-00-smart-pointers.md b/src/ch15-00-smart-pointers.md index 7552dd5d17..9ecdcc8350 100644 --- a/src/ch15-00-smart-pointers.md +++ b/src/ch15-00-smart-pointers.md @@ -12,7 +12,7 @@ pointer but also have additional metadata and capabilities. The concept of smart pointers isn’t unique to Rust: smart pointers originated in C++ and exist in other languages as well. Rust has a variety of smart pointers defined in the standard library that provide functionality beyond that provided by references. -To explore the general concept, we'll look at a couple of different examples of +To explore the general concept, we’ll look at a couple of different examples of smart pointers, including a *reference counting* smart pointer type. This pointer enables you to allow data to have multiple owners by keeping track of the number of owners and, when no owners remain, cleaning up the data. @@ -21,7 +21,7 @@ Rust, with its concept of ownership and borrowing, has an additional difference between references and smart pointers: while references only borrow data, in many cases, smart pointers *own* the data they point to. -Though we didn't call them as such at the time, we’ve already encountered a few +Though we didn’t call them as such at the time, we’ve already encountered a few smart pointers in this book, including `String` and `Vec` in Chapter 8. Both these types count as smart pointers because they own some memory and allow you to manipulate it. They also have metadata and extra capabilities or guarantees. @@ -32,7 +32,7 @@ Smart pointers are usually implemented using structs. Unlike an ordinary struct, smart pointers implement the `Deref` and `Drop` traits. The `Deref` trait allows an instance of the smart pointer struct to behave like a reference so you can write your code to work with either references or smart pointers. -The `Drop` trait allows you to customize the code that's run when an instance +The `Drop` trait allows you to customize the code that’s run when an instance of the smart pointer goes out of scope. In this chapter, we’ll discuss both traits and demonstrate why they’re important to smart pointers. diff --git a/src/ch15-01-box.md b/src/ch15-01-box.md index 030a7842d1..8380625527 100644 --- a/src/ch15-01-box.md +++ b/src/ch15-01-box.md @@ -82,7 +82,7 @@ function”) in Lisp that constructs a new pair from its two arguments. By calling `cons` on a pair consisting of a value and another pair, we can construct cons lists made up of recursive pairs. -For example, here's a pseudocode representation of a cons list containing the +For example, here’s a pseudocode representation of a cons list containing the list 1, 2, 3 with each pair in parentheses: ```text @@ -150,7 +150,7 @@ a recursive enum The error shows this type “has infinite size.” The reason is that we’ve defined `List` with a variant that is recursive: it holds another value of itself directly. As a result, Rust can’t figure out how much space it needs to store a -`List` value. Let’s break down why we get this error. First, we'll look at how +`List` value. Let’s break down why we get this error. First, we’ll look at how Rust decides how much space it needs to store a value of a non-recursive type. #### Computing the Size of a Non-Recursive Type @@ -196,7 +196,7 @@ after doing automatic regeneration, look at listings/ch15-smart-pointers/listing help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` representable | 2 | Cons(i32, Box), - | ^^^^ ^ + | ++++ + ``` In this suggestion, “indirection” means that instead of storing a value diff --git a/src/ch15-03-drop.md b/src/ch15-03-drop.md index 1ab2b86f0c..05ab86873b 100644 --- a/src/ch15-03-drop.md +++ b/src/ch15-03-drop.md @@ -58,7 +58,7 @@ When we run this program, we’ll see the following output: Rust automatically called `drop` for us when our instances went out of scope, calling the code we specified. Variables are dropped in the reverse order of -their creation, so `d` was dropped before `c`. This example's purpose is to +their creation, so `d` was dropped before `c`. This example’s purpose is to give you a visual guide to how the `drop` method works; usually you would specify the cleanup code that your type needs to run rather than a print message. diff --git a/src/ch15-05-interior-mutability.md b/src/ch15-05-interior-mutability.md index 74bb02f055..7b5e825d7e 100644 --- a/src/ch15-05-interior-mutability.md +++ b/src/ch15-05-interior-mutability.md @@ -103,11 +103,11 @@ an immutable value and see why that is useful. #### A Use Case for Interior Mutability: Mock Objects Sometimes during testing a programmer will use a type in place of another type, -in order to observe particular behavior and assert it's implemented correctly. +in order to observe particular behavior and assert it’s implemented correctly. This placeholder type is called a *test double*. Think of it in the sense of a -"stunt double" in filmmaking, where a person steps in and substitutes for an +“stunt double” in filmmaking, where a person steps in and substitutes for an actor to do a particular tricky scene. Test doubles stand in for other types -when we're running tests. *Mock objects* are specific types of test doubles +when we’re running tests. *Mock objects* are specific types of test doubles that record what happens during a test so you can assert that the correct actions took place. @@ -273,7 +273,7 @@ BorrowMutError`. This is how `RefCell` handles violations of the borrowing rules at runtime. Choosing to catch borrowing errors at runtime rather than compile time, as -we've done here, means you'd potentially be finding mistakes in your code later +we’ve done here, means you’d potentially be finding mistakes in your code later in the development process: possibly not until your code was deployed to production. Also, your code would incur a small runtime performance penalty as a result of keeping track of the borrows at runtime rather than compile time. diff --git a/src/ch15-06-reference-cycles.md b/src/ch15-06-reference-cycles.md index 4b55d88a6c..bef289202c 100644 --- a/src/ch15-06-reference-cycles.md +++ b/src/ch15-06-reference-cycles.md @@ -117,7 +117,7 @@ up if its `strong_count` is 0. You can also create a *weak reference* to the value within an `Rc` instance by calling `Rc::downgrade` and passing a reference to the `Rc`. Strong references are how you can share ownership of an `Rc` instance. Weak references don’t express an ownership relationship, -and their count doesn't affect when an `Rc` instance is cleaned up. They +and their count doesn’t affect when an `Rc` instance is cleaned up. They won’t cause a reference cycle because any cycle involving some weak references will be broken once the strong reference count of values involved is 0. From a27da72da7a6b2cfe86fd9cc12b4df6d715b21ad Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Tue, 23 Aug 2022 21:44:32 -0400 Subject: [PATCH 0425/1248] Snapshot of ch15 copyedit --- nostarch/chapter15.md | 2134 ++++++++++++++++++++++++++++------ nostarch/docx/chapter15.docx | Bin 100907 -> 100375 bytes 2 files changed, 1785 insertions(+), 349 deletions(-) diff --git a/nostarch/chapter15.md b/nostarch/chapter15.md index dffa20b818..27e7849793 100644 --- a/nostarch/chapter15.md +++ b/nostarch/chapter15.md @@ -13,7 +13,7 @@ memory. This address refers to, or “points at,” some other data. The most common kind of pointer in Rust is a reference, which you learned about in Chapter 4. References are indicated by the `&` symbol and borrow the value they point to. They don’t have any special capabilities other than referring to -data, and have no overhead. +data, and they have no overhead. *Smart pointers*, on the other hand, are data structures that act like a pointer but also have additional metadata and capabilities. The concept of @@ -27,14 +27,14 @@ the number of owners and, when no owners remain, cleaning up the data. Rust, with its concept of ownership and borrowing, has an additional difference between references and smart pointers: while references only borrow data, in -many cases, smart pointers *own* the data they point to. +many cases smart pointers *own* the data they point to. Though we didn’t call them as such at the time, we’ve already encountered a few smart pointers in this book, including `String` and `Vec` in Chapter 8. Both -these types count as smart pointers because they own some memory and allow you -to manipulate it. They also have metadata and extra capabilities or guarantees. -`String`, for example, stores its capacity as metadata and has the extra -ability to ensure its data will always be valid UTF-8. +of these types count as smart pointers because they own some memory and allow +you to manipulate it. They also have metadata and extra capabilities or +guarantees. `String`, for example, stores its capacity as metadata and has the +extra ability to ensure its data will always be valid UTF-8. Smart pointers are usually implemented using structs. Unlike an ordinary struct, smart pointers implement the `Deref` and `Drop` traits. The `Deref` @@ -49,10 +49,10 @@ frequently in Rust, this chapter won’t cover every existing smart pointer. Man libraries have their own smart pointers, and you can even write your own. We’ll cover the most common smart pointers in the standard library: -* `Box` for allocating values on the heap +* `Box`, for allocating values on the heap * `Rc`, a reference counting type that enables multiple ownership -* `Ref` and `RefMut`, accessed through `RefCell`, a type that -enforces the borrowing rules at runtime instead of compile time +* `Ref` and `RefMut`, accessed through `RefCell`, a type that enforces +the borrowing rules at runtime instead of compile time In addition, we’ll cover the *interior mutability* pattern where an immutable type exposes an API for mutating an interior value. We’ll also discuss *reference cycles*: how they can leak memory and how to prevent them. @@ -76,29 +76,38 @@ to use a value of that type in a context that requires an exact size ensure the data won’t be copied when you do so * When you want to own a value and you care only that it’s a type that implements a particular trait rather than being of a specific type -We’ll demonstrate the first situation in the “Enabling Recursive Types with -Boxes” section. In the second case, transferring ownership of a large amount of +We’ll demonstrate the first situation in “Enabling Recursive Types with Boxes” +on page XX. In the second case, transferring ownership of a large amount of data can take a long time because the data is copied around on the stack. To improve performance in this situation, we can store the large amount of data on the heap in a box. Then, only the small amount of pointer data is copied around on the stack, while the data it references stays in one place on the heap. The -third case is known as a *trait object*, and Chapter 17 devotes an entire -section, “Using Trait Objects That Allow for Values of Different Types,” just -to that topic. So what you learn here you’ll apply again in Chapter 17! +third case is known as a *trait object*, and “Using Trait Objects That Allow +for Values of Different Types” on page XX is devoted to that topic. So what you +learn here you’ll apply again in that section! -### Using a Box to Store Data on the Heap +### Using Box to Store Data on the Heap Before we discuss the heap storage use case for `Box`, we’ll cover the syntax and how to interact with values stored within a `Box`. -Listing 15-1 shows how to use a box to store an `i32` value on the heap: +Listing 15-1 shows how to use a box to store an `i32` value on the heap. Filename: src/main.rs ``` fn main() { +``` + +``` let b = Box::new(5); +``` + +``` println!("b = {}", b); +``` + +``` } ``` @@ -116,12 +125,12 @@ Putting a single value on the heap isn’t very useful, so you won’t use boxes themselves in this way very often. Having values like a single `i32` on the stack, where they’re stored by default, is more appropriate in the majority of situations. Let’s look at a case where boxes allow us to define types that we -wouldn’t be allowed to if we didn’t have boxes. +wouldn’t be allowed to define if we didn’t have boxes. ### Enabling Recursive Types with Boxes -A value of *recursive type* can have another value of the same type as part of -itself. Recursive types pose an issue because at compile time Rust needs to +A value of a *recursive type* can have another value of the same type as part +of itself. Recursive types pose an issue because at compile time Rust needs to know how much space a type takes up. However, the nesting of values of recursive types could theoretically continue infinitely, so Rust can’t know how much space the value needs. Because boxes have a known size, we can enable @@ -136,14 +145,14 @@ more complex situations involving recursive types. #### More Information About the Cons List A *cons list* is a data structure that comes from the Lisp programming language -and its dialects and is made up of nested pairs, and is the Lisp version of a -linked list. Its name comes from the `cons` function (short for “construct -function”) in Lisp that constructs a new pair from its two arguments. By +and its dialects, is made up of nested pairs, and is the Lisp version of a +linked list. Its name comes from the `cons` function (short for *construct* +*function*) in Lisp that constructs a new pair from its two arguments. By calling `cons` on a pair consisting of a value and another pair, we can construct cons lists made up of recursive pairs. For example, here’s a pseudocode representation of a cons list containing the -list 1, 2, 3 with each pair in parentheses: +list `1, 2, 3` with each pair in parentheses: ``` (1, (2, (3, Nil))) @@ -170,8 +179,17 @@ Filename: src/main.rs ``` enum List { +``` + +``` Cons(i32, List), +``` + +``` Nil, +``` + +``` } ``` @@ -184,15 +202,27 @@ discussed in Chapter 10, to define a cons list type that could store values of any type. Using the `List` type to store the list `1, 2, 3` would look like the code in -Listing 15-3: +Listing 15-3. Filename: src/main.rs ``` use crate::List::{Cons, Nil}; +``` + +``` + +``` +``` fn main() { +``` + +``` let list = Cons(1, Cons(2, Cons(3, Nil))); +``` + +``` } ``` @@ -204,20 +234,54 @@ is one more `Cons` value that holds `3` and a `List` value, which is finally `Nil`, the non-recursive variant that signals the end of the list. If we try to compile the code in Listing 15-3, we get the error shown in -Listing 15-4: +Listing 15-4. ``` error[E0072]: recursive type `List` has infinite size +``` + +``` --> src/main.rs:1:1 +``` + +``` | +``` + +``` 1 | enum List { +``` + +``` | ^^^^^^^^^ recursive type has infinite size +``` + +``` 2 | Cons(i32, List), +``` + +``` | ---- recursive without indirection +``` + +``` | -help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` representable +``` + +``` +help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` +representable +``` + +``` | +``` + +``` 2 | Cons(i32, Box), +``` + +``` | ++++ + ``` @@ -226,7 +290,7 @@ The error we get when attempting to define a recursive enum The error shows this type “has infinite size.” The reason is that we’ve defined `List` with a variant that is recursive: it holds another value of itself directly. As a result, Rust can’t figure out how much space it needs to store a -`List` value. Let’s break down why we get this error. First, we’ll look at how +`List` value. Let’s break down why we get this error. First we’ll look at how Rust decides how much space it needs to store a value of a non-recursive type. #### Computing the Size of a Non-Recursive Type @@ -236,19 +300,34 @@ definitions in Chapter 6: ``` enum Message { +``` + +``` Quit, +``` + +``` Move { x: i32, y: i32 }, +``` + +``` Write(String), +``` + +``` ChangeColor(i32, i32, i32), +``` + +``` } ``` To determine how much space to allocate for a `Message` value, Rust goes through each of the variants to see which variant needs the most space. Rust -sees that `Message::Quit` doesn’t need any space, `Message::Move` needs -enough space to store two `i32` values, and so forth. Because only one variant -will be used, the most space a `Message` value will need is the space it would -take to store the largest of its variants. +sees that `Message::Quit` doesn’t need any space, `Message::Move` needs enough +space to store two `i32` values, and so forth. Because only one variant will be +used, the most space a `Message` value will need is the space it would take to +store the largest of its variants. Contrast this with what happens when Rust tries to determine how much space a recursive type like the `List` enum in Listing 15-2 needs. The compiler starts @@ -260,8 +339,6 @@ variant. The `Cons` variant holds a value of type `i32` and a value of type `List`, and this process continues infinitely, as shown in Figure 15-1. -Unmatched: GraphicSlug - Unmatched: CaptionLine #### Using Box to Get a Recursive Type with a Known Size @@ -269,13 +346,23 @@ Because Rust can’t figure out how much space to allocate for recursively defined types, the compiler gives an error with this helpful suggestion: ``` -help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` representable +help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` +representable +``` + +``` | +``` + +``` 2 | Cons(i32, Box), +``` + +``` | ++++ + ``` -In this suggestion, “indirection” means that instead of storing a value +In this suggestion, *indirection* means that instead of storing a value directly, we should change the data structure to store the value indirectly by storing a pointer to the value instead. @@ -289,20 +376,47 @@ this implementation is now more like placing the items next to one another rather than inside one another. We can change the definition of the `List` enum in Listing 15-2 and the usage -of the `List` in Listing 15-3 to the code in Listing 15-5, which will compile: +of the `List` in Listing 15-3 to the code in Listing 15-5, which will compile. Filename: src/main.rs ``` enum List { +``` + +``` Cons(i32, Box), +``` + +``` Nil, +``` + +``` } +``` + +``` + +``` +``` use crate::List::{Cons, Nil}; +``` + +``` + +``` +``` fn main() { +``` + +``` let list = Cons(1, Box::new(Cons(2, Box::new(Cons(3, Box::new(Nil)))))); +``` + +``` } ``` @@ -325,7 +439,7 @@ any other special capabilities, like those we’ll see with the other smart pointer types. They also don’t have the performance overhead that these special capabilities incur, so they can be useful in cases like the cons list where the indirection is the only feature we need. We’ll look at more use cases for boxes -in Chapter 17, too. +in Chapter 17. The `Box` type is a smart pointer because it implements the `Deref` trait, which allows `Box` values to be treated like references. When a `Box` @@ -344,14 +458,14 @@ treated like a regular reference, you can write code that operates on references and use that code with smart pointers too. Let’s first look at how the dereference operator works with regular references. -Then we’ll try to define a custom type that behaves like `Box`, and see -why the dereference operator doesn’t work like a reference on our newly defined +Then we’ll try to define a custom type that behaves like `Box`, and see why +the dereference operator doesn’t work like a reference on our newly defined type. We’ll explore how implementing the `Deref` trait makes it possible for smart pointers to work in ways similar to references. Then we’ll look at Rust’s -*deref* *coercion* feature and how it lets us work with either references or +*deref coercion* feature and how it lets us work with either references or smart pointers. -Note: there’s one big difference between the `MyBox` type we’re about to +> NoteThere’s one big difference between the `MyBox` type we’re about to build and the real `Box`: our version will not store its data on the heap. We are focusing this example on `Deref`, so where the data is actually stored is less important than the pointer-like behavior. @@ -361,17 +475,35 @@ is less important than the pointer-like behavior. A regular reference is a type of pointer, and one way to think of a pointer is as an arrow to a value stored somewhere else. In Listing 15-6, we create a reference to an `i32` value and then use the dereference operator to follow the -reference to the value: +reference to the value. Filename: src/main.rs ``` fn main() { +``` + +``` 1 let x = 5; +``` + +``` 2 let y = &x; +``` + +``` + +``` +``` 3 assert_eq!(5, x); +``` + +``` 4 assert_eq!(5, *y); +``` + +``` } ``` @@ -384,16 +516,34 @@ reference to the value it’s pointing to (hence *dereference*) so the compiler can compare the actual value [4]. Once we dereference `y`, we have access to the integer value `y` is pointing to that we can compare with `5`. -If we tried to write `assert_eq!(5, y);` instead, we would get this -compilation error: +If we tried to write `assert_eq!(5, y);` instead, we would get this compilation +error: ``` error[E0277]: can't compare `{integer}` with `&{integer}` +``` + +``` --> src/main.rs:6:5 +``` + +``` | +``` + +``` 6 | assert_eq!(5, y); +``` + +``` | ^^^^^^^^^^^^^^^^ no implementation for `{integer} == &{integer}` +``` + +``` | +``` + +``` = help: the trait `PartialEq<&{integer}>` is not implemented for `{integer}` ``` @@ -406,21 +556,39 @@ to the value it’s pointing to. We can rewrite the code in Listing 15-6 to use a `Box` instead of a reference; the dereference operator used on the `Box` in Listing 15-7 functions in the same way as the dereference operator used on the reference in -Listing 15-6: +Listing 15-6. Filename: src/main.rs ``` fn main() { +``` + +``` let x = 5; +``` + +``` 1 let y = Box::new(x); +``` + +``` + +``` +``` assert_eq!(5, x); +``` + +``` 2 assert_eq!(5, *y); +``` + +``` } ``` - Using the dereference operator on a `Box` +Using the dereference operator on a `Box` The main difference between Listing 15-7 and Listing 15-6 is that here we set `y` to be an instance of a box pointing to a copied value of `x` rather than a @@ -445,21 +613,39 @@ Filename: src/main.rs ``` 1 struct MyBox(T); +``` + +``` + +``` +``` impl MyBox { +``` + +``` 2 fn new(x: T) -> MyBox { +``` + +``` 3 MyBox(x) +``` + +``` } +``` + +``` } ``` Defining a `MyBox` type -We define a struct named `MyBox` and declare a generic parameter `T` [1], +We define a struct named `MyBox` and declare a generic parameter `T` [1] because we want our type to hold values of any type. The `MyBox` type is a -tuple struct with one element of type `T`. The `MyBox::new` function takes -one parameter of type `T` [2] and returns a `MyBox` instance that holds the -value passed in [3]. +tuple struct with one element of type `T`. The `MyBox::new` function takes one +parameter of type `T` [2] and returns a `MyBox` instance that holds the value +passed in [3]. Let’s try adding the `main` function in Listing 15-7 to Listing 15-8 and changing it to use the `MyBox` type we’ve defined instead of `Box`. The @@ -470,23 +656,53 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let x = 5; +``` + +``` let y = MyBox::new(x); +``` + +``` + +``` +``` assert_eq!(5, x); +``` + +``` assert_eq!(5, *y); +``` + +``` } ``` Attempting to use `MyBox` in the same way we used references and `Box` -Here’s the resulting compilation error: +Here’s the resultant compilation error: ``` error[E0614]: type `MyBox<{integer}>` cannot be dereferenced +``` + +``` --> src/main.rs:14:19 +``` + +``` | +``` + +``` 14 | assert_eq!(5, *y); +``` + +``` | ^^ ``` @@ -496,40 +712,64 @@ implement the `Deref` trait. ### Implementing the Deref Trait -As discussed in the “Implementing a Trait on a Type” section of Chapter 10, to -implement a trait, we need to provide implementations for the trait’s required -methods. The `Deref` trait, provided by the standard library, requires us to -implement one method named `deref` that borrows `self` and returns a reference -to the inner data. Listing 15-10 contains an implementation of `Deref` to add -to the definition of `MyBox`: +As discussed in “Implementing a Trait on a Type” on page XX, to implement a +trait we need to provide implementations for the trait’s required methods. The +`Deref` trait, provided by the standard library, requires us to implement one +method named `deref` that borrows `self` and returns a reference to the inner +data. Listing 15-10 contains an implementation of `Deref` to add to the +definition of `MyBox`. Filename: src/main.rs ``` use std::ops::Deref; +``` + +``` + +``` +``` impl Deref for MyBox { +``` + +``` 1 type Target = T; +``` + +``` + +``` +``` fn deref(&self) -> &Self::Target { +``` + +``` 2 &self.0 +``` + +``` } +``` + +``` } ``` Implementing `Deref` on `MyBox` -The `type` `Target = T;` syntax [1] defines an associated type for the `Deref` +The `type Target = T;` syntax [1] defines an associated type for the `Deref` trait to use. Associated types are a slightly different way of declaring a generic parameter, but you don’t need to worry about them for now; we’ll cover them in more detail in Chapter 19. We fill in the body of the `deref` method with `&self.0` so `deref` returns a reference to the value we want to access with the `*` operator [2]; recall from -the “Using Tuple Structs without Named Fields to Create Different Types” -section of Chapter 5 that `.0` accesses the first value in a tuple struct. The -`main` function in Listing 15-9 that calls `*` on the `MyBox` value now -compiles, and the assertions pass! +“Using Tuple Structs Without Named Fields to Create Different Types” on page XX +that `.0` accesses the first value in a tuple struct. The `main` function in +Listing 15-9 that calls `*` on the `MyBox` value now compiles, and the +assertions pass! Without the `Deref` trait, the compiler can only dereference `&` references. The `deref` method gives the compiler the ability to take a value of any type @@ -550,12 +790,11 @@ identically whether we have a regular reference or a type that implements `Deref`. The reason the `deref` method returns a reference to a value, and that the -plain dereference outside the parentheses in `*(y.deref())` is still -necessary, is to do with the ownership system. If the `deref` method returned -the value directly instead of a reference to the value, the value would be -moved out of `self`. We don’t want to take ownership of the inner value inside -`MyBox` in this case or in most cases where we use the dereference -operator. +plain dereference outside the parentheses in `*(y.deref())` is still necessary, +has to do with the ownership system. If the `deref` method returned the value +directly instead of a reference to the value, the value would be moved out of +`self`. We don’t want to take ownership of the inner value inside `MyBox` in +this case or in most cases where we use the dereference operator. Note that the `*` operator is replaced with a call to the `deref` method and then a call to the `*` operator just once, each time we use a `*` in our code. @@ -565,7 +804,7 @@ Listing 15-9. ### Implicit Deref Coercions with Functions and Methods -*Deref* *coercion* converts a reference to a type that implements the `Deref` +*Deref coercion* converts a reference to a type that implements the `Deref` trait into a reference to another type. For example, deref coercion can convert `&String` to `&str` because `String` implements the `Deref` trait such that it returns `&str`. Deref coercion is a convenience Rust performs on arguments to @@ -583,42 +822,56 @@ can work for either references or smart pointers. To see deref coercion in action, let’s use the `MyBox` type we defined in Listing 15-8 as well as the implementation of `Deref` that we added in Listing 15-10. Listing 15-11 shows the definition of a function that has a string slice -parameter: +parameter. Filename: src/main.rs ``` fn hello(name: &str) { +``` + +``` println!("Hello, {name}!"); +``` + +``` } ``` A `hello` function that has the parameter `name` of type `&str` We can call the `hello` function with a string slice as an argument, such as -`hello("Rust");` for example. Deref coercion makes it possible to call -`hello` with a reference to a value of type `MyBox`, as shown in -Listing 15-12: +`hello("Rust");`, for example. Deref coercion makes it possible to call `hello` +with a reference to a value of type `MyBox`, as shown in Listing 15-12. Filename: src/main.rs ``` fn main() { +``` + +``` let m = MyBox::new(String::from("Rust")); +``` + +``` hello(&m); -} ``` -Calling `hello` with a reference to a `MyBox` value, which works +``` +} +``` + +Calling `hello` with a reference to a `MyBox` value, which works because of deref coercion Here we’re calling the `hello` function with the argument `&m`, which is a -reference to a `MyBox` value. Because we implemented the `Deref` -trait on `MyBox` in Listing 15-10, Rust can turn `&MyBox` into -`&String` by calling `deref`. The standard library provides an implementation -of `Deref` on `String` that returns a string slice, and this is in the API -documentation for `Deref`. Rust calls `deref` again to turn the `&String` into -`&str`, which matches the `hello` function’s definition. +reference to a `MyBox` value. Because we implemented the `Deref` trait +on `MyBox` in Listing 15-10, Rust can turn `&MyBox` into `&String` +by calling `deref`. The standard library provides an implementation of `Deref` +on `String` that returns a string slice, and this is in the API documentation +for `Deref`. Rust calls `deref` again to turn the `&String` into `&str`, which +matches the `hello` function’s definition. If Rust didn’t implement deref coercion, we would have to write the code in Listing 15-13 instead of the code in Listing 15-12 to call `hello` with a value @@ -628,8 +881,17 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let m = MyBox::new(String::from("Rust")); +``` + +``` hello(&(*m)[..]); +``` + +``` } ``` @@ -642,10 +904,10 @@ read, write, and understand with all of these symbols involved. Deref coercion allows Rust to handle these conversions for us automatically. When the `Deref` trait is defined for the types involved, Rust will analyze the -types and use `Deref::deref` as many times as necessary to get a reference -to match the parameter’s type. The number of times that `Deref::deref` -needs to be inserted is resolved at compile time, so there is no runtime -penalty for taking advantage of deref coercion! +types and use `Deref::deref` as many times as necessary to get a reference to +match the parameter’s type. The number of times that `Deref::deref` needs to be +inserted is resolved at compile time, so there is no runtime penalty for taking +advantage of deref coercion! ### How Deref Coercion Interacts with Mutability @@ -656,13 +918,13 @@ operator on mutable references. Rust does deref coercion when it finds types and trait implementations in three cases: -* From `&T` to `&U` when `T:` `Deref` -* From `&mut T` to `&mut U` when `T:` `DerefMut` -* From `&mut T` to `&U` when `T:` `Deref` -The first two cases are the same as each other except that the second -implements mutability. The first case states that if you have a `&T`, and `T` -implements `Deref` to some type `U`, you can get a `&U` transparently. The -second case states that the same deref coercion happens for mutable references. +* From `&T` to `&U` when `T: Deref` +* From `&mut T` to `&mut U` when `T: DerefMut` +* From `&mut T` to `&U` when `T: Deref` +The first two cases are the same except that the second implements mutability. +The first case states that if you have a `&T`, and `T` implements `Deref` to +some type `U`, you can get a `&U` transparently. The second case states that +the same deref coercion happens for mutable references. The third case is trickier: Rust will also coerce a mutable reference to an immutable one. But the reverse is *not* possible: immutable references will @@ -690,7 +952,7 @@ space on the heap that the box points to. In some languages, for some types, the programmer must call code to free memory or resources every time they finish using an instance of those types. Examples -include file handles, sockets, or locks. If they forget, the system might +include file handles, sockets, and locks. If they forget, the system might become overloaded and crash. In Rust, you can specify that a particular bit of code be run whenever a value goes out of scope, and the compiler will insert this code automatically. As a result, you don’t need to be careful about @@ -703,31 +965,85 @@ You specify the code to run when a value goes out of scope by implementing the let’s implement `drop` with `println!` statements for now. Listing 15-14 shows a `CustomSmartPointer` struct whose only custom -functionality is that it will print `Dropping` `CustomSmartPointer!` when the +functionality is that it will print `Dropping CustomSmartPointer!` when the instance goes out of scope, to show when Rust runs the `drop` function. Filename: src/main.rs ``` struct CustomSmartPointer { +``` + +``` data: String, +``` + +``` } +``` + +``` + +``` + +``` +1 impl Drop for CustomSmartPointer { +``` - 1 impl Drop for CustomSmartPointer { +``` fn drop(&mut self) { +``` + +``` 2 println!("Dropping CustomSmartPointer with data `{}`!", self.data); +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` fn main() { +``` + +``` 3 let c = CustomSmartPointer { +``` + +``` data: String::from("my stuff"), +``` + +``` }; +``` + +``` 4 let d = CustomSmartPointer { +``` + +``` data: String::from("other stuff"), +``` + +``` }; +``` + +``` 5 println!("CustomSmartPointers created."); - 6 } +``` + +``` +6 } ``` A `CustomSmartPointer` struct that implements the `Drop` trait where we would @@ -735,22 +1051,28 @@ put our cleanup code The `Drop` trait is included in the prelude, so we don’t need to bring it into scope. We implement the `Drop` trait on `CustomSmartPointer` [1] and provide an -implementation for the `drop` method that calls `println!` [2]. The body of -the `drop` function is where you would place any logic that you wanted to run -when an instance of your type goes out of scope. We’re printing some text here -to demonstrate visually when Rust will call `drop`. +implementation for the `drop` method that calls `println!` [2]. The body of the +`drop` function is where you would place any logic that you wanted to run when +an instance of your type goes out of scope. We’re printing some text here to +demonstrate visually when Rust will call `drop`. -In `main`, we create two instances of `CustomSmartPointer` [34] and then print -`CustomSmartPointers` `created` [5]. At the end of `main` [6], our instances of -`CustomSmartPointer` will go out of scope, and Rust will call the code we put -in the `drop` method [2], printing our final message. Note that we didn’t need -to call the `drop` method explicitly. +In `main`, we create two instances of `CustomSmartPointer` at [3] and [4] and +then print `CustomSmartPointers created` [5]. At the end of `main` [6], our +instances of `CustomSmartPointer` will go out of scope, and Rust will call the +code we put in the `drop` method [2], printing our final message. Note that we +didn’t need to call the `drop` method explicitly. When we run this program, we’ll see the following output: ``` CustomSmartPointers created. +``` + +``` Dropping CustomSmartPointer with data `other stuff`! +``` + +``` Dropping CustomSmartPointer with data `my stuff`! ``` @@ -767,26 +1089,53 @@ functionality. Disabling `drop` isn’t usually necessary; the whole point of th you might want to clean up a value early. One example is when using smart pointers that manage locks: you might want to force the `drop` method that releases the lock so that other code in the same scope can acquire the lock. -Rust doesn’t let you call the `Drop` trait’s `drop` method manually; instead -you have to call the `std::mem::drop` function provided by the standard -library if you want to force a value to be dropped before the end of its scope. +Rust doesn’t let you call the `Drop` trait’s `drop` method manually; instead, +you have to call the `std::mem::drop` function provided by the standard library +if you want to force a value to be dropped before the end of its scope. If we try to call the `Drop` trait’s `drop` method manually by modifying the `main` function from Listing 15-14, as shown in Listing 15-15, we’ll get a -compiler error: +compiler error. Filename: src/main.rs ``` fn main() { +``` + +``` let c = CustomSmartPointer { +``` + +``` data: String::from("some data"), +``` + +``` }; +``` + +``` println!("CustomSmartPointer created."); +``` + +``` c.drop(); +``` + +``` println!( +``` + +``` "CustomSmartPointer dropped before the end of main." +``` + +``` ); +``` + +``` } ``` @@ -797,12 +1146,33 @@ When we try to compile this code, we’ll get this error: ``` error[E0040]: explicit use of destructor method +``` + +``` --> src/main.rs:16:7 +``` + +``` | +``` + +``` 16 | c.drop(); +``` + +``` | --^^^^-- +``` + +``` | | | +``` + +``` | | explicit destructor calls not allowed +``` + +``` | help: consider using `drop` function: `drop(c)` ``` @@ -821,39 +1191,71 @@ We can’t disable the automatic insertion of `drop` when a value goes out of scope, and we can’t call the `drop` method explicitly. So, if we need to force a value to be cleaned up early, we use the `std::mem::drop` function. -The `std::mem::drop` function is different from the `drop` method in the -`Drop` trait. We call it by passing as an argument the value we want to force -drop. The function is in the prelude, so we can modify `main` in Listing 15-15 -to call the `drop` function, as shown in Listing 15-16: +The `std::mem::drop` function is different from the `drop` method in the `Drop` +trait. We call it by passing as an argument the value we want to force-drop. +The function is in the prelude, so we can modify `main` in Listing 15-15 to +call the `drop` function, as shown in Listing 15-16. Filename: src/main.rs ``` fn main() { +``` + +``` let c = CustomSmartPointer { +``` + +``` data: String::from("some data"), +``` + +``` }; +``` + +``` println!("CustomSmartPointer created."); +``` + +``` drop(c); +``` + +``` println!( +``` + +``` "CustomSmartPointer dropped before the end of main." +``` + +``` ); +``` + +``` } ``` -Calling `std::mem::drop` to explicitly drop a value before it goes out of -scope +Calling `std::mem::drop` to explicitly drop a value before it goes out of scope Running this code will print the following: ``` CustomSmartPointer created. +``` + +``` Dropping CustomSmartPointer with data `some data`! +``` + +``` CustomSmartPointer dropped before the end of main. ``` -The text `Dropping` `CustomSmartPointer` `with data `some data`!` is printed -between the `CustomSmartPointer` `created.` and `CustomSmartPointer` `dropped +The text `Dropping CustomSmartPointer with data `some data`!` is printed +between the `CustomSmartPointer created.` and `CustomSmartPointer dropped before the end of main.` text, showing that the `drop` method code is called to drop `c` at that point. @@ -880,17 +1282,17 @@ point to the same node, and that node is conceptually owned by all of the edges that point to it. A node shouldn’t be cleaned up unless it doesn’t have any edges pointing to it and so has no owners. - You have to enable multiple ownership explicitly by using the Rust type -`Rc`, which is an abbreviation for *reference counting*. The `Rc` -type keeps track of the number of references to a value to determine whether or -not the value is still in use. If there are zero references to a value, the -value can be cleaned up without any references becoming invalid. +You have to enable multiple ownership explicitly by using the Rust type +`Rc`, which is an abbreviation for *reference counting*. The `Rc` type +keeps track of the number of references to a value to determine whether or not +the value is still in use. If there are zero references to a value, the value +can be cleaned up without any references becoming invalid. Imagine `Rc` as a TV in a family room. When one person enters to watch TV, they turn it on. Others can come into the room and watch the TV. When the last person leaves the room, they turn off the TV because it’s no longer being used. If someone turns off the TV while others are still watching it, there would be -uproar from the remaining TV watchers! +an uproar from the remaining TV watchers! We use the `Rc` type when we want to allocate some data on the heap for multiple parts of our program to read and we can’t determine at compile time @@ -898,60 +1300,121 @@ which part will finish using the data last. If we knew which part would finish last, we could just make that part the data’s owner, and the normal ownership rules enforced at compile time would take effect. -Note that `Rc` is only for use in single-threaded scenarios. When we -discuss concurrency in Chapter 16, we’ll cover how to do reference counting in +Note that `Rc` is only for use in single-threaded scenarios. When we discuss +concurrency in Chapter 16, we’ll cover how to do reference counting in multithreaded programs. ### Using Rc to Share Data Let’s return to our cons list example in Listing 15-5. Recall that we defined it using `Box`. This time, we’ll create two lists that both share ownership -of a third list. Conceptually, this looks similar to Figure 15-3: +of a third list. Conceptually, this looks similar to Figure 15-3. Unmatched: GraphicSlug Unmatched: CaptionLine - We’ll create list `a` that contains 5 and then 10. Then we’ll make two -more lists: `b` that starts with 3 and `c` that starts with 4. Both `b` and `c` -lists will then continue on to the first `a` list containing 5 and 10. In other -words, both lists will share the first list containing 5 and 10. + We’ll create list `a` that contains `5` and then `10`. Then we’ll make +two more lists: `b` that starts with `3` and `c` that starts with `4`. Both `b` +and `c` lists will then continue on to the first `a` list containing `5` and +`10`. In other words, both lists will share the first list containing `5` and +`10`. Trying to implement this scenario using our definition of `List` with `Box` -won’t work, as shown in Listing 15-17: +won’t work, as shown in Listing 15-17. Filename: src/main.rs ``` enum List { +``` + +``` Cons(i32, Box), +``` + +``` Nil, +``` + +``` } +``` + +``` + +``` +``` use crate::List::{Cons, Nil}; +``` + +``` + +``` +``` fn main() { +``` + +``` let a = Cons(5, Box::new(Cons(10, Box::new(Nil)))); - 1 let b = Cons(3, Box::new(a)); - 2 let c = Cons(4, Box::new(a)); +``` + +``` + 1 let b = Cons(3, Box::new(a)); +``` + +``` + 2 let c = Cons(4, Box::new(a)); +``` + +``` } ``` -Demonstrating we’re not allowed to have two lists using `Box` that try to -share ownership of a third list +Demonstrating that we’re not allowed to have two lists using `Box` that try +to share ownership of a third list When we compile this code, we get this error: ``` error[E0382]: use of moved value: `a` +``` + +``` --> src/main.rs:11:30 +``` + +``` | +``` + +``` 9 | let a = Cons(5, Box::new(Cons(10, Box::new(Nil)))); - | - move occurs because `a` has type `List`, which does not -implement the `Copy` trait +``` + +``` + | - move occurs because `a` has type `List`, which +``` + +``` +does not implement the `Copy` trait +``` + +``` 10 | let b = Cons(3, Box::new(a)); +``` + +``` | - value moved here +``` + +``` 11 | let c = Cons(4, Box::new(a)); +``` + +``` | ^ value used here after move ``` @@ -972,34 +1435,70 @@ ownership of `a`, we’ll clone the `Rc` that `a` is holding, thereby increasing the number of references from one to two and letting `a` and `b` share ownership of the data in that `Rc`. We’ll also clone `a` when creating `c`, increasing the number of references from two to three. Every time -we call `Rc::clone`, the reference count to the data within the -`Rc` will increase, and the data won’t be cleaned up unless there are -zero references to it. +we call `Rc::clone`, the reference count to the data within the `Rc` will +increase, and the data won’t be cleaned up unless there are zero references to +it. Filename: src/main.rs ``` enum List { +``` + +``` Cons(i32, Rc), +``` + +``` Nil, +``` + +``` } +``` + +``` + +``` +``` use crate::List::{Cons, Nil}; +``` + +``` 1 use std::rc::Rc; +``` + +``` +``` + +``` fn main() { +``` + +``` 2 let a = Rc::new(Cons(5, Rc::new(Cons(10, Rc::new(Nil))))); +``` + +``` 3 let b = Cons(3, Rc::clone(&a)); +``` + +``` 4 let c = Cons(4, Rc::clone(&a)); +``` + +``` } ``` A definition of `List` that uses `Rc` We need to add a `use` statement to bring `Rc` into scope [1] because it’s -not in the prelude. In `main`, we create the list holding 5 and 10 and store it -in a new `Rc` in `a` [2]. Then when we create `b` [3] and `c` [4], we -call the `Rc::clone` function and pass a reference to the `Rc` in +not in the prelude. In `main`, we create the list holding `5` and `10` and +store it in a new `Rc` in `a` [2]. Then, when we create `b` [3] and `c` +[4], we call the `Rc::clone` function and pass a reference to the `Rc` in `a` as an argument. We could have called `a.clone()` rather than `Rc::clone(&a)`, but Rust’s @@ -1025,53 +1524,128 @@ Filename: src/main.rs ``` fn main() { +``` + +``` let a = Rc::new(Cons(5, Rc::new(Cons(10, Rc::new(Nil))))); - println!( - "count after creating a = {}", +``` + +``` + println!( +``` + +``` + "count after creating a = {}", +``` + +``` Rc::strong_count(&a) +``` + +``` ); +``` + +``` let b = Cons(3, Rc::clone(&a)); +``` + +``` println!( +``` + +``` "count after creating b = {}", +``` + +``` Rc::strong_count(&a) +``` + +``` ); +``` + +``` { +``` + +``` let c = Cons(4, Rc::clone(&a)); +``` + +``` println!( +``` + +``` "count after creating c = {}", +``` + +``` Rc::strong_count(&a) +``` + +``` ); +``` + +``` } +``` + +``` println!( +``` + +``` "count after c goes out of scope = {}", +``` + +``` Rc::strong_count(&a) +``` + +``` ); +``` + +``` } ``` Printing the reference count At each point in the program where the reference count changes, we print the -reference count, which we get by calling the `Rc::strong_count` function. -This function is named `strong_count` rather than `count` because the `Rc` -type also has a `weak_count`; we’ll see what `weak_count` is used for in the -“Preventing Reference Cycles: Turning an `Rc` into a `Weak`” section. +reference count, which we get by calling the `Rc::strong_count` function. This +function is named `strong_count` rather than `count` because the `Rc` type +also has a `weak_count`; we’ll see what `weak_count` is used for in “Preventing +Reference Cycles Using Weak” on page XX. This code prints the following: ``` count after creating a = 1 +``` + +``` count after creating b = 2 +``` + +``` count after creating c = 3 +``` + +``` count after c goes out of scope = 2 ``` -We can see that the `Rc` in `a` has an initial reference count of 1; -then each time we call `clone`, the count goes up by 1. When `c` goes out of -scope, the count goes down by 1. We don’t have to call a function to decrease -the reference count like we have to call `Rc::clone` to increase the -reference count: the implementation of the `Drop` trait decreases the reference -count automatically when an `Rc` value goes out of scope. +We can see that the `Rc` in `a` has an initial reference count of 1; then +each time we call `clone`, the count goes up by 1. When `c` goes out of scope, +the count goes down by 1. We don’t have to call a function to decrease the +reference count like we have to call `Rc::clone` to increase the reference +count: the implementation of the `Drop` trait decreases the reference count +automatically when an `Rc` value goes out of scope. What we can’t see in this example is that when `b` and then `a` go out of scope at the end of `main`, the count is then 0, and the `Rc` is cleaned up @@ -1080,13 +1654,13 @@ the count ensures that the value remains valid as long as any of the owners still exist. Via immutable references, `Rc` allows you to share data between multiple -parts of your program for reading only. If `Rc` allowed you to have -multiple mutable references too, you might violate one of the borrowing rules -discussed in Chapter 4: multiple mutable borrows to the same place can cause -data races and inconsistencies. But being able to mutate data is very useful! -In the next section, we’ll discuss the interior mutability pattern and the -`RefCell` type that you can use in conjunction with an `Rc` to work -with this immutability restriction. +parts of your program for reading only. If `Rc` allowed you to have multiple +mutable references too, you might violate one of the borrowing rules discussed +in Chapter 4: multiple mutable borrows to the same place can cause data races +and inconsistencies. But being able to mutate data is very useful! In the next +section, we’ll discuss the interior mutability pattern and the `RefCell` +type that you can use in conjunction with an `Rc` to work with this +immutability restriction. ## RefCell and the Interior Mutability Pattern @@ -1103,17 +1677,17 @@ ensure that the borrowing rules will be followed at runtime, even though the compiler can’t guarantee that. The `unsafe` code involved is then wrapped in a safe API, and the outer type is still immutable. -Let’s explore this concept by looking at the `RefCell` type that follows -the interior mutability pattern. +Let’s explore this concept by looking at the `RefCell` type that follows the +interior mutability pattern. ### Enforcing Borrowing Rules at Runtime with RefCell -Unlike `Rc`, the `RefCell` type represents single ownership over the -data it holds. So, what makes `RefCell` different from a type like -`Box`? Recall the borrowing rules you learned in Chapter 4: +Unlike `Rc`, the `RefCell` type represents single ownership over the data +it holds. So what makes `RefCell` different from a type like `Box`? +Recall the borrowing rules you learned in Chapter 4: -* At any given time, you can have *either* (but not both) one mutable reference -or any number of immutable references. +* At any given time, you can have *either* one mutable reference or any number +of immutable references (but not both). * References must always be valid. With references and `Box`, the borrowing rules’ invariants are enforced at compile time. With `RefCell`, these invariants are enforced *at runtime*. @@ -1142,18 +1716,18 @@ catastrophic can occur. The `RefCell` type is useful when you’re sure your code follows the borrowing rules but the compiler is unable to understand and guarantee that. -Similar to `Rc`, `RefCell` is only for use in single-threaded -scenarios and will give you a compile-time error if you try using it in a -multithreaded context. We’ll talk about how to get the functionality of -`RefCell` in a multithreaded program in Chapter 16. +Similar to `Rc`, `RefCell` is only for use in single-threaded scenarios +and will give you a compile-time error if you try using it in a multithreaded +context. We’ll talk about how to get the functionality of `RefCell` in a +multithreaded program in Chapter 16. Here is a recap of the reasons to choose `Box`, `Rc`, or `RefCell`: -* `Rc` enables multiple owners of the same data; `Box` and -`RefCell` have single owners. -* `Box` allows immutable or mutable borrows checked at compile time; -`Rc` allows only immutable borrows checked at compile time; `RefCell` -allows immutable or mutable borrows checked at runtime. +* `Rc` enables multiple owners of the same data; `Box` and `RefCell` +have single owners. +* `Box` allows immutable or mutable borrows checked at compile time; `Rc` +allows only immutable borrows checked at compile time; `RefCell` allows +immutable or mutable borrows checked at runtime. * Because `RefCell` allows mutable borrows checked at runtime, you can mutate the value inside the `RefCell` even when the `RefCell` is immutable. @@ -1168,8 +1742,17 @@ you can’t borrow it mutably. For example, this code won’t compile: ``` fn main() { +``` + +``` let x = 5; +``` + +``` let y = &mut x; +``` + +``` } ``` @@ -1177,12 +1760,33 @@ If you tried to compile this code, you’d get the following error: ``` error[E0596]: cannot borrow `x` as mutable, as it is not declared +``` + +``` as mutable +``` + +``` --> src/main.rs:3:13 +``` + +``` | +``` + +``` 2 | let x = 5; +``` + +``` | - help: consider changing this to be mutable: `mut x` +``` + +``` 3 | let y = &mut x; +``` + +``` | ^^^^^^ cannot borrow as mutable ``` @@ -1195,19 +1799,19 @@ compiler allows this interior mutability, and the borrowing rules are checked at runtime instead. If you violate the rules, you’ll get a `panic!` instead of a compiler error. -Let’s work through a practical example where we can use `RefCell` to -mutate an immutable value and see why that is useful. +Let’s work through a practical example where we can use `RefCell` to mutate +an immutable value and see why that is useful. #### A Use Case for Interior Mutability: Mock Objects Sometimes during testing a programmer will use a type in place of another type, -in order to observe particular behavior and assert it’s implemented correctly. -This placeholder type is called a *test double*. Think of it in the sense of a -“stunt double” in filmmaking, where a person steps in and substitutes for an -actor to do a particular tricky scene. Test doubles stand in for other types -when we’re running tests. *Mock objects* are specific types of test doubles -that record what happens during a test so you can assert that the correct -actions took place. +in order to observe particular behavior and assert that it’s implemented +correctly. This placeholder type is called a *test double*. Think of it in the +sense of a stunt double in filmmaking, where a person steps in and substitutes +for an actor to do a particularly tricky scene. Test doubles stand in for other +types when we’re running tests. *Mock objects* are specific types of test +doubles that record what happens during a test so you can assert that the +correct actions took place. Rust doesn’t have objects in the same sense as other languages have objects, and Rust doesn’t have mock object functionality built into the standard library @@ -1223,52 +1827,169 @@ Our library will only provide the functionality of tracking how close to the maximum a value is and what the messages should be at what times. Applications that use our library will be expected to provide the mechanism for sending the messages: the application could put a message in the application, send an -email, send a text message, or something else. The library doesn’t need to know -that detail. All it needs is something that implements a trait we’ll provide -called `Messenger`. Listing 15-20 shows the library code: +email, send a text message, or do something else. The library doesn’t need to +know that detail. All it needs is something that implements a trait we’ll +provide called `Messenger`. Listing 15-20 shows the library code. Filename: src/lib.rs ``` pub trait Messenger { - fn send(&self, msg: &str); 1 +``` + +``` + 1 fn send(&self, msg: &str); +``` + +``` } +``` + +``` + +``` +``` pub struct LimitTracker<'a, T: Messenger> { +``` + +``` messenger: &'a T, +``` + +``` value: usize, +``` + +``` max: usize, +``` + +``` } +``` + +``` + +``` +``` impl<'a, T> LimitTracker<'a, T> +``` + +``` where +``` + +``` T: Messenger, +``` + +``` { +``` + +``` pub fn new(messenger: &'a T, max: usize) -> LimitTracker<'a, T> { +``` + +``` LimitTracker { +``` + +``` messenger, +``` + +``` value: 0, +``` + +``` max, +``` + +``` } +``` + +``` } +``` + +``` + +``` + +``` + 2 pub fn set_value(&mut self, value: usize) { +``` - pub fn set_value(&mut self, value: usize) { 2 +``` self.value = value; +``` + +``` +``` + +``` let percentage_of_max = self.value as f64 / self.max as f64; +``` + +``` + +``` +``` if percentage_of_max >= 1.0 { +``` + +``` self.messenger.send("Error: You are over your quota!"); +``` + +``` } else if percentage_of_max >= 0.9 { +``` + +``` self.messenger +``` + +``` .send( +``` + +``` "Urgent warning: You've used up over 90% of your quota!" +``` + +``` ); +``` + +``` } else if percentage_of_max >= 0.75 { +``` + +``` self.messenger +``` + +``` .send("Warning: You've used up over 75% of your quota!"); +``` + +``` } +``` + +``` } +``` + +``` } ``` @@ -1284,7 +2005,7 @@ part is that we want to test the behavior of the `set_value` method on the but `set_value` doesn’t return anything for us to make assertions on. We want to be able to say that if we create a `LimitTracker` with something that implements the `Messenger` trait and a particular value for `max`, when we pass -different numbers for `value`, the messenger is told to send the appropriate +different numbers for `value` the messenger is told to send the appropriate messages. We need a mock object that, instead of sending an email or text message when we @@ -1292,45 +2013,147 @@ call `send`, will only keep track of the messages it’s told to send. We can create a new instance of the mock object, create a `LimitTracker` that uses the mock object, call the `set_value` method on `LimitTracker`, and then check that the mock object has the messages we expect. Listing 15-21 shows an attempt to -implement a mock object to do just that, but the borrow checker won’t allow it: +implement a mock object to do just that, but the borrow checker won’t allow it. Filename: src/lib.rs ``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` + +``` + +``` +``` 1 struct MockMessenger { +``` + +``` 2 sent_messages: Vec, +``` + +``` } +``` +``` + +``` + +``` impl MockMessenger { +``` + +``` 3 fn new() -> MockMessenger { +``` + +``` MockMessenger { - sent_messages: vec![], - } - } - } +``` +``` + sent_messages: vec![], +``` + +``` + } +``` + +``` + } +``` + +``` + } +``` + +``` + +``` + +``` 4 impl Messenger for MockMessenger { +``` + +``` fn send(&self, message: &str) { +``` + +``` 5 self.sent_messages.push(String::from(message)); +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` #[test] +``` + +``` 6 fn it_sends_an_over_75_percent_warning_message() { +``` + +``` let mock_messenger = MockMessenger::new(); +``` + +``` let mut limit_tracker = LimitTracker::new( +``` + +``` &mock_messenger, +``` + +``` 100 +``` + +``` ); +``` + +``` + +``` +``` limit_tracker.set_value(80); +``` + +``` +``` + +``` assert_eq!(mock_messenger.sent_messages.len(), 1); +``` + +``` } +``` + +``` } ``` @@ -1347,94 +2170,204 @@ we can give a `MockMessenger` to a `LimitTracker`. In the definition of the the `MockMessenger` list of `sent_messages`. In the test, we’re testing what happens when the `LimitTracker` is told to set -`value` to something that is more than 75 percent of the `max` value [6]. -First, we create a new `MockMessenger`, which will start with an empty list of +`value` to something that is more than 75 percent of the `max` value [6]. First +we create a new `MockMessenger`, which will start with an empty list of messages. Then we create a new `LimitTracker` and give it a reference to the -new `MockMessenger` and a `max` value of 100. We call the `set_value` method on -the `LimitTracker` with a value of 80, which is more than 75 percent of 100. -Then we assert that the list of messages that the `MockMessenger` is keeping -track of should now have one message in it. +new `MockMessenger` and a `max` value of `100`. We call the `set_value` method +on the `LimitTracker` with a value of `80`, which is more than 75 percent of +100. Then we assert that the list of messages that the `MockMessenger` is +keeping track of should now have one message in it. However, there’s one problem with this test, as shown here: ``` error[E0596]: cannot borrow `self.sent_messages` as mutable, as it is behind a `&` reference +``` + +``` --> src/lib.rs:58:13 +``` + +``` | +``` + +``` 2 | fn send(&self, msg: &str); +``` + +``` | ----- help: consider changing that to be a mutable reference: `&mut self` +``` + +``` ... +``` + +``` 58 | self.sent_messages.push(String::from(message)); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `self` is a `&` -reference, so the data it refers to cannot be borrowed as mutable ``` -We can’t modify the `MockMessenger` to keep track of the messages, because the +``` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `self` is a +``` + +``` +`&` reference, so the data it refers to cannot be borrowed as mutable +``` + +We can’t modify the `MockMessenger` to keep track of the messages because the `send` method takes an immutable reference to `self`. We also can’t take the -suggestion from the error text to use `&mut self` instead, because then the +suggestion from the error text to use `&mut self` instead because then the signature of `send` wouldn’t match the signature in the `Messenger` trait -definition (feel free to try and see what error message you get). +definition (feel free to try it and see what error message you get). This is a situation in which interior mutability can help! We’ll store the -`sent_messages` within a `RefCell`, and then the `send` method will be -able to modify `sent_messages` to store the messages we’ve seen. Listing 15-22 -shows what that looks like: +`sent_messages` within a `RefCell`, and then the `send` method will be able +to modify `sent_messages` to store the messages we’ve seen. Listing 15-22 shows +what that looks like. Filename: src/lib.rs ``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` + +``` use std::cell::RefCell; +``` +``` + +``` + +``` struct MockMessenger { - sent_messages: RefCell>,1 +``` + +``` + 1 sent_messages: RefCell>, +``` + +``` } +``` + +``` + +``` +``` impl MockMessenger { +``` + +``` fn new() -> MockMessenger { +``` + +``` MockMessenger { - sent_messages: RefCell::new(vec![]),2 +``` + +``` + 2 sent_messages: RefCell::new(vec![]), +``` + +``` } +``` + +``` } +``` + +``` } +``` +``` + +``` + +``` impl Messenger for MockMessenger { +``` + +``` fn send(&self, message: &str) { - self.sent_messages.borrow_mut().push(String::from(message));3 +``` + +``` + 3 self.sent_messages.borrow_mut().push(String::from(message)); +``` + +``` } +``` + +``` } +``` + +``` +``` + +``` #[test] +``` + +``` fn it_sends_an_over_75_percent_warning_message() { +``` + +``` --snip-- +``` + +``` + +``` - assert_eq!(mock_messenger.sent_messages.borrow().len(), 1);4 +``` + 4 assert_eq!(mock_messenger.sent_messages.borrow().len(), 1); +``` + +``` } +``` + +``` } ``` -Using `RefCell` to mutate an inner value while the outer value is -considered immutable +Using `RefCell` to mutate an inner value while the outer value is considered +immutable -The `sent_messages` field is now of type `RefCell>` [1] -instead of `Vec`. In the `new` function, we create a new -`RefCell>` instance around the empty vector [2]. +The `sent_messages` field is now of type `RefCell>` [1] instead of +`Vec`. In the `new` function, we create a new `RefCell>` +instance around the empty vector [2]. For the implementation of the `send` method, the first parameter is still an immutable borrow of `self`, which matches the trait definition. We call -`borrow_mut` on the `RefCell>` in `self.sent_messages` [3] -to get a mutable reference to the value inside the -`RefCell>`, which is the vector. Then we can call `push` on -the mutable reference to the vector to keep track of the messages sent during -the test. +`borrow_mut` on the `RefCell>` in `self.sent_messages` [3] to get a +mutable reference to the value inside the `RefCell>`, which is the +vector. Then we can call `push` on the mutable reference to the vector to keep +track of the messages sent during the test. The last change we have to make is in the assertion: to see how many items are -in the inner vector, we call `borrow` on the `RefCell>` to -get an immutable reference to the vector [4]. +in the inner vector, we call `borrow` on the `RefCell>` to get an +immutable reference to the vector [4]. Now that you’ve seen how to use `RefCell`, let’s dig into how it works! @@ -1444,39 +2377,63 @@ When creating immutable and mutable references, we use the `&` and `&mut` syntax, respectively. With `RefCell`, we use the `borrow` and `borrow_mut` methods, which are part of the safe API that belongs to `RefCell`. The `borrow` method returns the smart pointer type `Ref`, and `borrow_mut` -returns the smart pointer type `RefMut`. Both types implement `Deref`, so -we can treat them like regular references. +returns the smart pointer type `RefMut`. Both types implement `Deref`, so we +can treat them like regular references. The `RefCell` keeps track of how many `Ref` and `RefMut` smart pointers are currently active. Every time we call `borrow`, the `RefCell` increases its count of how many immutable borrows are active. When a `Ref` -value goes out of scope, the count of immutable borrows goes down by one. Just -like the compile-time borrowing rules, `RefCell` lets us have many -immutable borrows or one mutable borrow at any point in time. +value goes out of scope, the count of immutable borrows goes down by 1. Just +like the compile-time borrowing rules, `RefCell` lets us have many immutable +borrows or one mutable borrow at any point in time. If we try to violate these rules, rather than getting a compiler error as we would with references, the implementation of `RefCell` will panic at runtime. Listing 15-23 shows a modification of the implementation of `send` in Listing 15-22. We’re deliberately trying to create two mutable borrows active -for the same scope to illustrate that `RefCell` prevents us from doing -this at runtime. +for the same scope to illustrate that `RefCell` prevents us from doing this +at runtime. Filename: src/lib.rs ``` impl Messenger for MockMessenger { +``` + +``` fn send(&self, message: &str) { +``` + +``` let mut one_borrow = self.sent_messages.borrow_mut(); +``` + +``` let mut two_borrow = self.sent_messages.borrow_mut(); +``` + +``` + +``` +``` one_borrow.push(String::from(message)); +``` + +``` two_borrow.push(String::from(message)); +``` + +``` } +``` + +``` } ``` -Creating two mutable references in the same scope to see that `RefCell` -will panic +Creating two mutable references in the same scope to see that `RefCell` will +panic We create a variable `one_borrow` for the `RefMut` smart pointer returned from `borrow_mut`. Then we create another mutable borrow in the same way in the @@ -1486,13 +2443,19 @@ which isn’t allowed. When we run the tests for our library, the code in Listin ``` ---- tests::it_sends_an_over_75_percent_warning_message stdout ---- +``` + +``` thread 'main' panicked at 'already borrowed: BorrowMutError', src/lib.rs:60:53 +``` + +``` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` -Notice that the code panicked with the message `already borrowed:` -`BorrowMutError`. This is how `RefCell` handles violations of the -borrowing rules at runtime. +Notice that the code panicked with the message `already borrowed: +BorrowMutError`. This is how `RefCell` handles violations of the borrowing +rules at runtime. Choosing to catch borrowing errors at runtime rather than compile time, as we’ve done here, means you’d potentially be finding mistakes in your code later @@ -1501,90 +2464,163 @@ production. Also, your code would incur a small runtime performance penalty as a result of keeping track of the borrows at runtime rather than compile time. However, using `RefCell` makes it possible to write a mock object that can modify itself to keep track of the messages it has seen while you’re using it -in a context where only immutable values are allowed. You can use -`RefCell` despite its trade-offs to get more functionality than regular -references provide. +in a context where only immutable values are allowed. You can use `RefCell` +despite its trade-offs to get more functionality than regular references +provide. ### Allowing Multiple Owners of Mutable Data with Rc and RefCell -A common way to use `RefCell` is in combination with `Rc`. Recall -that `Rc` lets you have multiple owners of some data, but it only gives -immutable access to that data. If you have an `Rc` that holds a -`RefCell`, you can get a value that can have multiple owners *and* that -you can mutate! +A common way to use `RefCell` is in combination with `Rc`. Recall that +`Rc` lets you have multiple owners of some data, but it only gives immutable +access to that data. If you have an `Rc` that holds a `RefCell`, you can +get a value that can have multiple owners *and* that you can mutate! For example, recall the cons list example in Listing 15-18 where we used `Rc` to allow multiple lists to share ownership of another list. Because `Rc` holds only immutable values, we can’t change any of the values in the -list once we’ve created them. Let’s add in `RefCell` to gain the ability -to change the values in the lists. Listing 15-24 shows that by using a -`RefCell` in the `Cons` definition, we can modify the value stored in all -the lists: +list once we’ve created them. Let’s add in `RefCell` the ability to change +the values in the lists. Listing 15-24 shows that by using a `RefCell` in +the `Cons` definition, we can modify the value stored in all the lists. Filename: src/main.rs ``` #[derive(Debug)] +``` + +``` enum List { +``` + +``` Cons(Rc>, Rc), +``` + +``` Nil, +``` + +``` } +``` + +``` + +``` +``` use crate::List::{Cons, Nil}; +``` + +``` use std::cell::RefCell; +``` + +``` use std::rc::Rc; +``` + +``` +``` + +``` fn main() { +``` + +``` 1 let value = Rc::new(RefCell::new(5)); +``` + +``` + +``` +``` 2 let a = Rc::new(Cons(Rc::clone(&value), Rc::new(Nil))); +``` + +``` +``` + +``` let b = Cons(Rc::new(RefCell::new(3)), Rc::clone(&a)); +``` + +``` let c = Cons(Rc::new(RefCell::new(4)), Rc::clone(&a)); +``` +``` + +``` + +``` 3 *value.borrow_mut() += 10; +``` +``` + +``` + +``` println!("a after = {:?}", a); +``` + +``` println!("b after = {:?}", b); +``` + +``` println!("c after = {:?}", c); +``` + +``` } ``` Using `Rc>` to create a `List` that we can mutate -We create a value that is an instance of `Rc>` and store it -in a variable named `value` [1] so we can access it directly later. Then we -create a `List` in `a` with a `Cons` variant that holds `value` [2]. We need to -clone `value` so both `a` and `value` have ownership of the inner `5` value -rather than transferring ownership from `value` to `a` or having `a` borrow -from `value`. +We create a value that is an instance of `Rc>` and store it in a +variable named `value` [1] so we can access it directly later. Then we create a +`List` in `a` with a `Cons` variant that holds `value` [2]. We need to clone +`value` so both `a` and `value` have ownership of the inner `5` value rather +than transferring ownership from `value` to `a` or having `a` borrow from +`value`. We wrap the list `a` in an `Rc` so when we create lists `b` and `c`, they can both refer to `a`, which is what we did in Listing 15-18. After we’ve created the lists in `a`, `b`, and `c`, we want to add 10 to the value in `value` [3]. We do this by calling `borrow_mut` on `value`, which uses -the automatic dereferencing feature we discussed in Chapter 5 (see the section -“Where’s the `->` Operator?”) to dereference the `Rc` to the inner -`RefCell` value. The `borrow_mut` method returns a `RefMut` smart -pointer, and we use the dereference operator on it and change the inner value. +the automatic dereferencing feature we discussed in “Where’s the -> Operator?” +on page XX to dereference the `Rc` to the inner `RefCell` value. The +`borrow_mut` method returns a `RefMut` smart pointer, and we use the +dereference operator on it and change the inner value. When we print `a`, `b`, and `c`, we can see that they all have the modified -value of 15 rather than 5: +value of `15` rather than `5`: ``` a after = Cons(RefCell { value: 15 }, Nil) +``` + +``` b after = Cons(RefCell { value: 3 }, Cons(RefCell { value: 15 }, Nil)) +``` + +``` c after = Cons(RefCell { value: 4 }, Cons(RefCell { value: 15 }, Nil)) ``` This technique is pretty neat! By using `RefCell`, we have an outwardly -immutable `List` value. But we can use the methods on `RefCell` that -provide access to its interior mutability so we can modify our data when we -need to. The runtime checks of the borrowing rules protect us from data races, -and it’s sometimes worth trading a bit of speed for this flexibility in our -data structures. Note that `RefCell` does not work for multithreaded code! -`Mutex` is the thread-safe version of `RefCell` and we’ll discuss +immutable `List` value. But we can use the methods on `RefCell` that provide +access to its interior mutability so we can modify our data when we need to. +The runtime checks of the borrowing rules protect us from data races, and it’s +sometimes worth trading a bit of speed for this flexibility in our data +structures. Note that `RefCell` does not work for multithreaded code! +`Mutex` is the thread-safe version of `RefCell`, and we’ll discuss `Mutex` in Chapter 16. ## Reference Cycles Can Leak Memory @@ -1602,112 +2638,246 @@ will never be dropped. Let’s look at how a reference cycle might happen and how to prevent it, starting with the definition of the `List` enum and a `tail` method in Listing -15-25: +15-25. Filename: src/main.rs ``` use crate::List::{Cons, Nil}; +``` + +``` use std::cell::RefCell; +``` + +``` use std::rc::Rc; +``` + +``` + +``` +``` #[derive(Debug)] +``` + +``` enum List { +``` + +``` 1 Cons(i32, RefCell>), +``` + +``` Nil, +``` + +``` } +``` + +``` +``` + +``` impl List { +``` + +``` 2 fn tail(&self) -> Option<&RefCell>> { +``` + +``` match self { +``` + +``` Cons(_, item) => Some(item), +``` + +``` Nil => None, +``` + +``` } +``` + +``` } +``` + +``` } ``` -A cons list definition that holds a `RefCell` so we can modify what a -`Cons` variant is referring to. +A cons list definition that holds a `RefCell` so we can modify what a `Cons` +variant is referring to We’re using another variation of the `List` definition from Listing 15-5. The -second element in the `Cons` variant is now `RefCell>` [1], -meaning that instead of having the ability to modify the `i32` value as we did -in Listing 15-24, we want to modify the `List` value a `Cons` variant is -pointing to. We’re also adding a `tail` method [2] to make it convenient for us -to access the second item if we have a `Cons` variant. +second element in the `Cons` variant is now `RefCell>` [1], meaning +that instead of having the ability to modify the `i32` value as we did in +Listing 15-24, we want to modify the `List` value a `Cons` variant is pointing +to. We’re also adding a `tail` method [2] to make it convenient for us to +access the second item if we have a `Cons` variant. In Listing 15-26, we’re adding a `main` function that uses the definitions in Listing 15-25. This code creates a list in `a` and a list in `b` that points to the list in `a`. Then it modifies the list in `a` to point to `b`, creating a -reference cycle. There are `println!` statements along the way to show what -the reference counts are at various points in this process. +reference cycle. There are `println!` statements along the way to show what the +reference counts are at various points in this process. Filename: src/main.rs ``` fn main() { +``` + +``` 1 let a = Rc::new(Cons(5, RefCell::new(Rc::new(Nil)))); +``` + +``` + +``` +``` println!("a initial rc count = {}", Rc::strong_count(&a)); +``` + +``` println!("a next item = {:?}", a.tail()); +``` +``` + +``` + +``` 2 let b = Rc::new(Cons(10, RefCell::new(Rc::clone(&a)))); +``` + +``` +``` + +``` println!("a rc count after b creation = {}", Rc::strong_count(&a)); +``` + +``` println!("b initial rc count = {}", Rc::strong_count(&b)); +``` + +``` println!("b next item = {:?}", b.tail()); +``` + +``` + +``` +``` 3 if let Some(link) = a.tail() { +``` + +``` 4 *link.borrow_mut() = Rc::clone(&b); +``` + +``` } +``` + +``` +``` + +``` println!("b rc count after changing a = {}", Rc::strong_count(&b)); +``` + +``` println!("a rc count after changing a = {}", Rc::strong_count(&a)); +``` +``` + +``` + +``` // Uncomment the next line to see that we have a cycle; +``` + +``` // it will overflow the stack +``` + +``` // println!("a next item = {:?}", a.tail()); +``` + +``` } ``` -Creating a reference cycle of two `List` values pointing to each other. +Creating a reference cycle of two `List` values pointing to each other We create an `Rc` instance holding a `List` value in the variable `a` with an initial list of `5, Nil` [1]. We then create an `Rc` instance -holding another `List` value in the variable `b` that contains the value 10 and -points to the list in `a` [2]. +holding another `List` value in the variable `b` that contains the value `10` +and points to the list in `a` [2]. We modify `a` so it points to `b` instead of `Nil`, creating a cycle. We do -that by using the `tail` method to get a reference to the -`RefCell>` in `a`, which we put in the variable `link` [3]. Then -we use the `borrow_mut` method on the `RefCell>` to change the -value inside from an `Rc` that holds a `Nil` value to the `Rc` -in `b` [4]. +that by using the `tail` method to get a reference to the `RefCell>` +in `a`, which we put in the variable `link` [3]. Then we use the `borrow_mut` +method on the `RefCell>` to change the value inside from an `Rc` +that holds a `Nil` value to the `Rc` in `b` [4]. When we run this code, keeping the last `println!` commented out for the moment, we’ll get this output: ``` a initial rc count = 1 +``` + +``` a next item = Some(RefCell { value: Nil }) +``` + +``` a rc count after b creation = 2 +``` + +``` b initial rc count = 1 +``` + +``` b next item = Some(RefCell { value: Cons(5, RefCell { value: Nil }) }) +``` + +``` b rc count after changing a = 2 +``` + +``` a rc count after changing a = 2 ``` -The reference count of the `Rc` instances in both `a` and `b` are 2 -after we change the list in `a` to point to `b`. At the end of `main`, Rust -drops the variable `b`, which decreases the reference count of the `b` -`Rc` instance from 2 to 1. The memory that `Rc` has on the heap -won’t be dropped at this point, because its reference count is 1, not 0. Then -Rust drops `a`, which decreases the reference count of the `a` `Rc` -instance from 2 to 1 as well. This instance’s memory can’t be dropped either, -because the other `Rc` instance still refers to it. The memory -allocated to the list will remain uncollected forever. To visualize this -reference cycle, we’ve created a diagram in Figure 15-4. +The reference count of the `Rc` instances in both `a` and `b` is 2 after +we change the list in `a` to point to `b`. At the end of `main`, Rust drops the +variable `b`, which decreases the reference count of the `b` `Rc` +instance from 2 to 1. The memory that `Rc` has on the heap won’t be +dropped at this point because its reference count is 1, not 0. Then Rust drops +`a`, which decreases the reference count of the `a` `Rc` instance from 2 +to 1 as well. This instance’s memory can’t be dropped either, because the other +`Rc` instance still refers to it. The memory allocated to the list will +remain uncollected forever. To visualize this reference cycle, we’ve created a +diagram in Figure 15-4. Unmatched: GraphicSlug @@ -1717,20 +2887,20 @@ Unmatched: CaptionLine to print this cycle with `a` pointing to `b` pointing to `a` and so forth until it overflows the stack. -Compared to a real-world program, the consequences creating a reference cycle -in this example aren’t very dire: right after we create the reference cycle, -the program ends. However, if a more complex program allocated lots of memory -in a cycle and held onto it for a long time, the program would use more memory -than it needed and might overwhelm the system, causing it to run out of +Compared to a real-world program, the consequences of creating a reference +cycle in this example aren’t very dire: right after we create the reference +cycle, the program ends. However, if a more complex program allocated lots of +memory in a cycle and held onto it for a long time, the program would use more +memory than it needed and might overwhelm the system, causing it to run out of available memory. Creating reference cycles is not easily done, but it’s not impossible either. -If you have `RefCell` values that contain `Rc` values or similar -nested combinations of types with interior mutability and reference counting, -you must ensure that you don’t create cycles; you can’t rely on Rust to catch -them. Creating a reference cycle would be a logic bug in your program that you -should use automated tests, code reviews, and other software development -practices to minimize. +If you have `RefCell` values that contain `Rc` values or similar nested +combinations of types with interior mutability and reference counting, you must +ensure that you don’t create cycles; you can’t rely on Rust to catch them. +Creating a reference cycle would be a logic bug in your program that you should +use automated tests, code reviews, and other software development practices to +minimize. Another solution for avoiding reference cycles is reorganizing your data structures so that some references express ownership and some references don’t. @@ -1745,37 +2915,36 @@ reference cycles. ### Preventing Reference Cycles Using Weak So far, we’ve demonstrated that calling `Rc::clone` increases the -`strong_count` of an `Rc` instance, and an `Rc` instance is only -cleaned up if its `strong_count` is 0. You can also create a *weak reference* -to the value within an `Rc` instance by calling `Rc::downgrade` and -passing a reference to the `Rc`. Strong references are how you can share -ownership of an `Rc` instance. Weak references don’t express an ownership -relationship, and their count doesn’t affect when an `Rc` instance is -cleaned up. They won’t cause a reference cycle because any cycle involving some -weak references will be broken once the strong reference count of values -involved is 0. +`strong_count` of an `Rc` instance, and an `Rc` instance is only cleaned +up if its `strong_count` is 0. You can also create a *weak reference* to the +value within an `Rc` instance by calling `Rc::downgrade` and passing a +reference to the `Rc`. Strong references are how you can share ownership of +an `Rc` instance. Weak references don’t express an ownership relationship, +and their count doesn’t affect when an `Rc` instance is cleaned up. They +won’t cause a reference cycle because any cycle involving some weak references +will be broken once the strong reference count of values involved is 0. When you call `Rc::downgrade`, you get a smart pointer of type `Weak`. -Instead of increasing the `strong_count` in the `Rc` instance by 1, -calling `Rc::downgrade` increases the `weak_count` by 1. The `Rc` type -uses `weak_count` to keep track of how many `Weak` references exist, similar -to `strong_count`. The difference is the `weak_count` doesn’t need to be 0 for -the `Rc` instance to be cleaned up. +Instead of increasing the `strong_count` in the `Rc` instance by 1, calling +`Rc::downgrade` increases the `weak_count` by 1. The `Rc` type uses +`weak_count` to keep track of how many `Weak` references exist, similar to +`strong_count`. The difference is the `weak_count` doesn’t need to be 0 for the +`Rc` instance to be cleaned up. Because the value that `Weak` references might have been dropped, to do -anything with the value that a `Weak` is pointing to, you must make sure the +anything with the value that a `Weak` is pointing to you must make sure the value still exists. Do this by calling the `upgrade` method on a `Weak` -instance, which will return an `Option>`. You’ll get a result of -`Some` if the `Rc` value has not been dropped yet and a result of `None` -if the `Rc` value has been dropped. Because `upgrade` returns an -`Option>`, Rust will ensure that the `Some` case and the `None` case -are handled, and there won’t be an invalid pointer. +instance, which will return an `Option>`. You’ll get a result of `Some` +if the `Rc` value has not been dropped yet and a result of `None` if the +`Rc` value has been dropped. Because `upgrade` returns an `Option>`, +Rust will ensure that the `Some` case and the `None` case are handled, and +there won’t be an invalid pointer. As an example, rather than using a list whose items know only about the next item, we’ll create a tree whose items know about their children items *and* their parent items. -#### Creating a Tree Data Structure: a Node with Child Nodes +#### Creating a Tree Data Structure: A Node with Child Nodes To start, we’ll build a tree with nodes that know about their child nodes. We’ll create a struct named `Node` that holds its own `i32` value as well as @@ -1785,12 +2954,33 @@ Filename: src/main.rs ``` use std::cell::RefCell; +``` + +``` use std::rc::Rc; +``` +``` + +``` + +``` #[derive(Debug)] +``` + +``` struct Node { +``` + +``` value: i32, +``` + +``` children: RefCell>>, +``` + +``` } ``` @@ -1801,22 +2991,52 @@ modify which nodes are children of another node, so we have a `RefCell` in `children` around the `Vec>`. Next, we’ll use our struct definition and create one `Node` instance named -`leaf` with the value 3 and no children, and another instance named `branch` -with the value 5 and `leaf` as one of its children, as shown in Listing 15-27: +`leaf` with the value `3` and no children, and another instance named `branch` +with the value `5` and `leaf` as one of its children, as shown in Listing 15-27. Filename: src/main.rs ``` fn main() { +``` + +``` let leaf = Rc::new(Node { +``` + +``` value: 3, +``` + +``` children: RefCell::new(vec![]), +``` + +``` }); +``` + +``` + +``` +``` let branch = Rc::new(Node { +``` + +``` value: 5, +``` + +``` children: RefCell::new(vec![Rc::clone(&leaf)]), +``` + +``` }); +``` + +``` } ``` @@ -1834,7 +3054,7 @@ parent. We’ll do that next. To make the child node aware of its parent, we need to add a `parent` field to our `Node` struct definition. The trouble is in deciding what the type of -`parent` should be. We know it can’t contain an `Rc`, because that would +`parent` should be. We know it can’t contain an `Rc` because that would create a reference cycle with `leaf.parent` pointing to `branch` and `branch.children` pointing to `leaf`, which would cause their `strong_count` values to never be 0. @@ -1844,7 +3064,7 @@ children: if a parent node is dropped, its child nodes should be dropped as well. However, a child should not own its parent: if we drop a child node, the parent should still exist. This is a case for weak references! -So instead of `Rc`, we’ll make the type of `parent` use `Weak`, +So, instead of `Rc`, we’ll make the type of `parent` use `Weak`, specifically a `RefCell>`. Now our `Node` struct definition looks like this: @@ -1852,45 +3072,123 @@ Filename: src/main.rs ``` use std::cell::RefCell; +``` + +``` use std::rc::{Rc, Weak}; +``` + +``` + +``` +``` #[derive(Debug)] +``` + +``` struct Node { +``` + +``` value: i32, +``` + +``` parent: RefCell>, +``` + +``` children: RefCell>>, +``` + +``` } ``` A node will be able to refer to its parent node but doesn’t own its parent. In Listing 15-28, we update `main` to use this new definition so the `leaf` node -will have a way to refer to its parent, `branch`: +will have a way to refer to its parent, `branch`. Filename: src/main.rs ``` fn main() { +``` + +``` let leaf = Rc::new(Node { +``` + +``` value: 3, +``` + +``` 1 parent: RefCell::new(Weak::new()), +``` + +``` children: RefCell::new(vec![]), +``` + +``` }); +``` +``` + +``` + +``` 2 println!("leaf parent = {:?}", leaf.parent.borrow().upgrade()); +``` + +``` +``` + +``` let branch = Rc::new(Node { +``` + +``` value: 5, +``` + +``` 3 parent: RefCell::new(Weak::new()), +``` + +``` children: RefCell::new(vec![Rc::clone(&leaf)]), +``` + +``` }); +``` +``` + +``` + +``` 4 *leaf.parent.borrow_mut() = Rc::downgrade(&branch); +``` + +``` +``` + +``` 5 println!("leaf parent = {:?}", leaf.parent.borrow().upgrade()); +``` + +``` } ``` -A `leaf` node with a weak reference to its parent node `branch` +A `leaf` node with a weak reference to its parent node, `branch` Creating the `leaf` node looks similar to Listing 15-27 with the exception of the `parent` field: `leaf` starts out without a parent, so we create a new, @@ -1905,13 +3203,13 @@ leaf parent = None ``` When we create the `branch` node, it will also have a new `Weak` -reference in the `parent` field [3], because `branch` doesn’t have a parent +reference in the `parent` field [3] because `branch` doesn’t have a parent node. We still have `leaf` as one of the children of `branch`. Once we have the `Node` instance in `branch`, we can modify `leaf` to give it a `Weak` reference to its parent [4]. We use the `borrow_mut` method on the `RefCell>` in the `parent` field of `leaf`, and then we use the -`Rc::downgrade` function to create a `Weak` reference to `branch` -from the `Rc` in `branch.` +`Rc::downgrade` function to create a `Weak` reference to `branch` from +the `Rc` in `branch`. When we print the parent of `leaf` again [5], this time we’ll get a `Some` variant holding `branch`: now `leaf` can access its parent! When we print @@ -1920,7 +3218,13 @@ we had in Listing 15-26; the `Weak` references are printed as `(Weak)`: ``` leaf parent = Some(Node { value: 5, parent: RefCell { value: (Weak) }, +``` + +``` children: RefCell { value: [Node { value: 3, parent: RefCell { value: (Weak) }, +``` + +``` children: RefCell { value: [] } }] } }) ``` @@ -1930,59 +3234,191 @@ cycle. We can also tell this by looking at the values we get from calling #### Visualizing Changes to strong_count and weak_count -Let’s look at how the `strong_count` and `weak_count` values of the -`Rc` instances change by creating a new inner scope and moving the -creation of `branch` into that scope. By doing so, we can see what happens when -`branch` is created and then dropped when it goes out of scope. The -modifications are shown in Listing 15-29: +Let’s look at how the `strong_count` and `weak_count` values of the `Rc` +instances change by creating a new inner scope and moving the creation of +`branch` into that scope. By doing so, we can see what happens when `branch` is +created and then dropped when it goes out of scope. The modifications are shown +in Listing 15-29. Filename: src/main.rs ``` fn main() { +``` + +``` let leaf = Rc::new(Node { +``` + +``` value: 3, +``` + +``` parent: RefCell::new(Weak::new()), +``` + +``` children: RefCell::new(vec![]), +``` + +``` }); +``` + +``` + +``` +``` 1 println!( +``` + +``` "leaf strong = {}, weak = {}", +``` + +``` Rc::strong_count(&leaf), +``` + +``` Rc::weak_count(&leaf), +``` + +``` ); +``` + +``` +``` + +``` { +``` + +``` 2 let branch = Rc::new(Node { +``` + +``` value: 5, +``` + +``` parent: RefCell::new(Weak::new()), +``` + +``` children: RefCell::new(vec![Rc::clone(&leaf)]), +``` + +``` }); +``` + +``` + +``` +``` *leaf.parent.borrow_mut() = Rc::downgrade(&branch); +``` + +``` + +``` +``` 3 println!( +``` + +``` "branch strong = {}, weak = {}", +``` + +``` Rc::strong_count(&branch), +``` + +``` Rc::weak_count(&branch), +``` + +``` ); +``` + +``` + +``` +``` 4 println!( +``` + +``` "leaf strong = {}, weak = {}", +``` + +``` Rc::strong_count(&leaf), +``` + +``` Rc::weak_count(&leaf), +``` + +``` ); +``` + +``` 5 } +``` +``` + +``` + +``` 6 println!( +``` + +``` "leaf parent = {:?}", +``` + +``` leaf.parent.borrow().upgrade() +``` + +``` ); +``` + +``` 7 println!( +``` + +``` "leaf strong = {}, weak = {}", +``` + +``` Rc::strong_count(&leaf), +``` + +``` Rc::weak_count(&leaf), +``` + +``` ); +``` + +``` } ``` @@ -1994,19 +3430,19 @@ count of 0 [1]. In the inner scope [2], we create `branch` and associate it with `leaf`, at which point when we print the counts [3], the `Rc` in `branch` will have a strong count of 1 and a weak count of 1 (for `leaf.parent` pointing to `branch` with a `Weak`). When we print the counts in `leaf` -[4], we’ll see it will have a strong count of 2, because `branch` now has a +[4], we’ll see it will have a strong count of 2 because `branch` now has a clone of the `Rc` of `leaf` stored in `branch.children`, but will still have a weak count of 0. When the inner scope ends [5], `branch` goes out of scope and the strong count -of the `Rc` decreases to 0, so its `Node` is dropped. The weak count of -1 from `leaf.parent` has no bearing on whether or not `Node` is dropped, so we +of the `Rc` decreases to 0, so its `Node` is dropped. The weak count of 1 +from `leaf.parent` has no bearing on whether or not `Node` is dropped, so we don’t get any memory leaks! If we try to access the parent of `leaf` after the end of the scope, we’ll get -`None` again [6]. At the end of the program [7], the `Rc` in `leaf` has -a strong count of 1 and a weak count of 0, because the variable `leaf` is now -the only reference to the `Rc` again. +`None` again [6]. At the end of the program [7], the `Rc` in `leaf` has a +strong count of 1 and a weak count of 0 because the variable `leaf` is now the +only reference to the `Rc` again. All of the logic that manages the counts and value dropping is built into `Rc` and `Weak` and their implementations of the `Drop` trait. By diff --git a/nostarch/docx/chapter15.docx b/nostarch/docx/chapter15.docx index 83125dd215f99b5565bb1dcac2e6828ec0da7d22..ef66c7a0130d6617cc9163c81668fabbad6da806 100644 GIT binary patch delta 92476 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 z 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 JhK(2Q{{h{3YMuZ9 delta 93100 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�$}2W+yWQO6 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 R!Jy+v0394-7^IKy{s%s0weA1_ From 6a8e75d917639b8348e983a6aa892a65e9a17ef6 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Wed, 24 Aug 2022 09:12:29 -0400 Subject: [PATCH 0426/1248] Re-review of earlier chapters --- nostarch/chapter01.md | 16 ++-- nostarch/chapter03.md | 46 +++++------ nostarch/chapter04.md | 42 ++++++---- nostarch/chapter05.md | 52 +++++++------ nostarch/chapter06.md | 12 +-- nostarch/chapter07.md | 18 ++--- nostarch/chapter08.md | 38 +++++---- nostarch/chapter09.md | 79 ++++++++++++++----- nostarch/chapter10.md | 50 ++++++------ nostarch/chapter11.md | 88 +++++++++++++++++---- nostarch/chapter12.md | 138 ++++++++++++++++++++++++++------- nostarch/chapter13.md | 40 ++++++++-- nostarch/chapter14.md | 34 ++++---- nostarch/docx/chapter01.docx | Bin 74520 -> 62304 bytes nostarch/docx/chapter03.docx | Bin 101900 -> 86976 bytes nostarch/docx/chapter04.docx | Bin 88957 -> 81954 bytes nostarch/docx/chapter05.docx | Bin 77298 -> 62135 bytes nostarch/docx/chapter06.docx | Bin 63024 -> 57311 bytes nostarch/docx/chapter07.docx | Bin 88639 -> 74274 bytes nostarch/docx/chapter08.docx | Bin 82039 -> 74473 bytes nostarch/docx/chapter09.docx | Bin 83699 -> 72409 bytes nostarch/docx/chapter10.docx | Bin 98215 -> 91284 bytes nostarch/docx/chapter11.docx | Bin 92972 -> 81668 bytes nostarch/docx/chapter12.docx | Bin 100487 -> 95718 bytes nostarch/docx/chapter13.docx | Bin 79284 -> 72794 bytes nostarch/docx/chapter14.docx | Bin 76562 -> 68287 bytes nostarch/docx/frontmatter.docx | Bin 62983 -> 60303 bytes nostarch/frontmatter.md | 10 +-- 28 files changed, 443 insertions(+), 220 deletions(-) diff --git a/nostarch/chapter01.md b/nostarch/chapter01.md index 0d81803a9d..66aca48c37 100644 --- a/nostarch/chapter01.md +++ b/nostarch/chapter01.md @@ -135,7 +135,7 @@ $ echo $PATH If that’s all correct and Rust still isn’t working, there are a number of places you can get help. Find out how to get in touch with other Rustaceans (a -silly nickname we call ourselves) on the community page at +silly nickname we call ourselves) on the community page at *https://www.rust-lang.org/community*. ### Updating and Uninstalling @@ -304,7 +304,7 @@ fn main() { ``` These lines define a function named `main`. The `main` function is special: it -is always the first code that runs in every executable Rust program. Here, the +is always the first code that runs in every executable Rust program. Here, the first line declares a function named `main` that has no parameters and returns nothing. If there were parameters, they would go inside the parentheses `()`. @@ -359,7 +359,7 @@ If you have a C or C++ background, you’ll notice that this is similar to `gcc` or `clang`. After compiling successfully, Rust outputs a binary executable. On Linux, macOS, and PowerShell on Windows, you can see the executable by -entering the `ls` command in your shell. +entering the `ls` command in your shell: ``` $ ls @@ -405,7 +405,7 @@ If you’re more familiar with a dynamic language, such as Ruby, Python, or JavaScript, you might not be used to compiling and running a program as separate steps. Rust is an *ahead-of-time* *compiled* language, meaning you can compile a program and give the executable to someone else, and they can run it -even without having Rust installed. If you give someone a *.rb*, *.py*, or +even without having Rust installed. If you give someone a *.rb*, *.py*, or *.js* file, they need to have a Ruby, Python, or JavaScript implementation installed (respectively). But in those languages, you only need one command to compile and run your program. Everything is a trade-off in language design. @@ -470,7 +470,7 @@ It has also initialized a new Git repository along with a *.gitignore* file. Git files won’t be generated if you run `cargo` `new` within an existing Git repository; you can override this behavior by using `cargo` `new` `--vcs=git`. -> NoteGit is a common version control system. You can change `cargo` `new` to +> NoteGit is a common version control system. You can change `cargo` `new` to use a different version control system or no version control system by using the `--vcs` flag. Run `cargo` `new` `--help` to see the available options. @@ -505,7 +505,7 @@ edition = "2021" Contents of *Cargo.toml* generated by `cargo` `new` -This file is in the *TOML* (*Tom’s* *Obvious,* *Minimal* *Language*) format, +This file is in the *TOML* (*Tom’s* *Obvious,* *Minimal* *Language*) format, which is Cargo’s configuration format. The first line, `[package]`, is a section heading that indicates that the @@ -513,8 +513,8 @@ following statements are configuring a package. As we add more information to this file, we’ll add other sections. The next three lines set the configuration information Cargo needs to compile -your program: the name, the version, and the edition of Rust to use. We’ll -talk about the `edition` key in Appendix E. +your program: the name, the version, and the edition of Rust to use. We’ll talk +about the `edition` key in Appendix E. The last line, `[dependencies]`, is the start of a section for you to list any of your project’s dependencies. In Rust, packages of code are referred to as diff --git a/nostarch/chapter03.md b/nostarch/chapter03.md index a5c7d37e23..2bb7b8e90f 100644 --- a/nostarch/chapter03.md +++ b/nostarch/chapter03.md @@ -34,7 +34,7 @@ can find a list of the keywords in Appendix A. ## Variables and Mutability -As mentioned in “Storing Values with Variables” on page XX, by default +As mentioned in “Storing Values with Variables” on page XX, by default, variables are immutable. This is one of many nudges Rust gives you to write your code in a way that takes advantage of the safety and easy concurrency that Rust offers. However, you still have the option to make your variables mutable. @@ -244,15 +244,15 @@ program). Rust’s naming convention for constants is to use all uppercase with underscores between words. The compiler is able to evaluate a limited set of operations at compile time, which lets us choose to write out this value in a way that’s easier to understand and verify, rather than setting this constant -to the value 10,800. See the Rust Reference’s section on constant evaluation at -*https://doc.rust-lang.org/reference/const_eval.html* for more information on -what operations can be used when declaring constants. +to the value `10,800`. See the Rust Reference’s section on constant evaluation +at *https://doc.rust-lang.org/reference/const_eval.html* for more information +on what operations can be used when declaring constants. Constants are valid for the entire time a program runs, within the scope in which they were declared. This property makes constants useful for values in your application domain that multiple parts of the program might need to know about, such as the maximum number of points any player of a game is allowed to -earn or the speed of light. +earn, or the speed of light. Naming hardcoded values used throughout your program as constants is useful in conveying the meaning of that value to future maintainers of the code. It also @@ -641,7 +641,7 @@ Unmatched: BoxListBullet Rust also has two primitive types for *floating-point numbers*, which are numbers with decimal points. Rust’s floating-point types are `f32` and `f64`, which are 32 bits and 64 bits in size, respectively. The default type is `f64` -because on modern CPUs it’s roughly the same speed as `f32` but is capable of +because on modern CPUs, it’s roughly the same speed as `f32` but is capable of more precision. All floating-point types are signed. Here’s an example that shows floating-point numbers in action: @@ -1151,9 +1151,9 @@ fn main() { ``` This code compiles successfully. If you run this code using `cargo run` and -enter 0, 1, 2, 3, or 4, the program will print out the corresponding value at -that index in the array. If you instead enter a number past the end of the -array, such as 10, you’ll see output like this: +enter `0`, `1`, `2`, `3`, or `4`, the program will print out the corresponding +value at that index in the array. If you instead enter a number past the end of +the array, such as `10`, you’ll see output like this: ``` thread 'main' panicked at 'index out of bounds: the len is 5 but the index is @@ -1269,8 +1269,8 @@ Another function. ``` The lines execute in the order in which they appear in the `main` function. -First, the “Hello, world!” message prints, and then `another_function` is -called and its message is printed. +First the “Hello, world!” message prints, and then `another_function` is called +and its message is printed. ### Parameters @@ -1897,10 +1897,10 @@ discuss in “Publishing a Crate to Crates.io” on page XX. ## Control Flow -The ability to run some code depending on whether a condition is true and to -run some code repeatedly while a condition is true are basic building blocks in -most programming languages. The most common constructs that let you control the -flow of execution of Rust code are `if` expressions and loops. +The ability to run some code depending on whether a condition is `true` and to +run some code repeatedly while a condition is `true` are basic building blocks +in most programming languages. The most common constructs that let you control +the flow of execution of Rust code are `if` expressions and loops. ### if Expressions @@ -1952,7 +1952,7 @@ fn main() { All `if` expressions start with the keyword `if`, followed by a condition. In this case, the condition checks whether or not the variable `number` has a value less than 5. We place the block of code to execute if the condition is -true immediately after the condition inside curly brackets. Blocks of code +`true` immediately after the condition inside curly brackets. Blocks of code associated with the conditions in `if` expressions are sometimes called *arms*, just like the arms in `match` expressions that we discussed in “Comparing the Guess to the Secret Number” on page XX. @@ -2204,7 +2204,7 @@ When this program executes, it checks each `if` expression in turn and executes the first body for which the condition evaluates to `true`. Note that even though 6 is divisible by 2, we don’t see the output `number is divisible by 2`, nor do we see the `number is not divisible by 4, 3, or 2` text from the `else` -block. That’s because Rust only executes the block for the first true +block. That’s because Rust only executes the block for the first `true` condition, and once it finds one, it doesn’t even check the rest. Using too many `else if` expressions can clutter your code, so if you have more @@ -2396,7 +2396,7 @@ fn main() { When we run this program, we’ll see `again!` printed over and over continuously until we stop the program manually. Most terminals support the keyboard -shortcut ctrl-c to interrupt a program that is stuck in a continual loop. Give +shortcut ctrl-C to interrupt a program that is stuck in a continual loop. Give it a try: ``` @@ -2435,7 +2435,7 @@ again! ^Cagain! ``` -The symbol `^C` represents where you pressed ctrl-c. You may or may not see the +The symbol `^C` represents where you pressed ctrl-C. You may or may not see the word `again!` printed after the `^C`, depending on where the code was in the loop when it received the interrupt signal. @@ -2516,7 +2516,7 @@ the loop. On every iteration of the loop, we add `1` to the `counter` variable, and then check whether the `counter` is equal to `10`. When it is, we use the `break` keyword with the value `counter * 2`. After the loop, we use a semicolon to end the statement that assigns the value to `result`. Finally, we -print the value in `result`, which in this case is 20. +print the value in `result`, which in this case is `20`. #### Loop Labels to Disambiguate Between Multiple Loops @@ -2666,7 +2666,7 @@ End count = 2 #### Conditional Loops with while A program will often need to evaluate a condition within a loop. While the -condition is true, the loop runs. When the condition ceases to be true, the +condition is `true`, the loop runs. When the condition ceases to be `true`, the program calls `break`, stopping the loop. It’s possible to implement behavior like this using a combination of `loop`, `if`, `else`, and `break`; you could try that now in a program, if you’d like. However, this pattern is so common @@ -2778,8 +2778,8 @@ Looping through each element of a collection using a `while` loop Here, the code counts up through the elements in the array. It starts at index `0`, and then loops until it reaches the final index in the array (that is, -when `index < 5` is no longer true). Running this code will print every element -in the array: +when `index < 5` is no longer `true`). Running this code will print every +element in the array: ``` $ cargo run diff --git a/nostarch/chapter04.md b/nostarch/chapter04.md index 087b18cb65..740d1a7218 100644 --- a/nostarch/chapter04.md +++ b/nostarch/chapter04.md @@ -16,7 +16,7 @@ features: borrowing, slices, and how Rust lays data out in memory. ## What Is Ownership? -*Ownership* is a set of rules that governs how a Rust program manages memory. +*Ownership* is a set of rules that govern how a Rust program manages memory. All programs have to manage the way they use a computer’s memory while running. Some languages have garbage collection that regularly looks for no-longer-used memory as the program runs; in other languages, the programmer must explicitly @@ -197,9 +197,9 @@ let s = String::from("hello"); The double colon `::` operator allows us to namespace this particular `from` function under the `String` type rather than using some sort of name like -`string_from`. We’ll discuss this syntax more in “Method Syntax” on page XX and -when we talk about namespacing with modules in “Paths for Referring to an Item -in the Module Tree” on page XX. +`string_from`. We’ll discuss this syntax more in “Method Syntax” on page XX, +and when we talk about namespacing with modules in “Paths for Referring to an +Item in the Module Tree” on page XX. This kind of string *can* be mutated: @@ -378,7 +378,7 @@ of the memory safety bugs we mentioned previously. Freeing memory twice can lead to memory corruption, which can potentially lead to security vulnerabilities. -To ensure memory safety, after the line `let s2 =` `s1``;`, Rust considers `s1` +To ensure memory safety, after the line `let s2 = s1``;`, Rust considers `s1` as no longer valid. Therefore, Rust doesn’t need to free anything when `s1` goes out of scope. Check out what happens when you try to use `s1` after `s2` is created; it won’t work: @@ -423,7 +423,7 @@ error[E0382]: borrow of moved value: `s1` ``` ``` -does not implement the `Copy` trait + does not implement the `Copy` trait ``` ``` @@ -464,7 +464,7 @@ In addition, there’s a design choice that’s implied by this: Rust will never automatically create “deep” copies of your data. Therefore, any *automatic* copying can be assumed to be inexpensive in terms of runtime performance. -#### Variables and Data Interacting With Clone +#### Variables and Data Interacting with Clone If we *do* want to deeply copy the heap data of the `String`, not just the stack data, we can use a common method called `clone`. We’ll discuss method @@ -558,7 +558,9 @@ assigning a value to a variable. Passing a variable to a function will move or copy, just as assignment does. Listing 4-3 has an example with some annotations showing where variables go into and out of scope. -Filename: src/main.rs +``` +// src/main.rs +``` ``` fn main() { @@ -665,7 +667,9 @@ Returning values can also transfer ownership. Listing 4-4 shows an example of a function that returns some value, with similar annotations as those in Listing 4-3. -Filename: src/main.rs +``` +// src/main.rs +``` ``` fn main() { @@ -1045,6 +1049,9 @@ reference ``` | ------- help: consider changing this to be a mutable +``` + +``` reference: `&mut String` ``` @@ -1054,6 +1061,9 @@ reference: `&mut String` ``` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `some_string` is a `&` reference, so +``` + +``` the data it refers to cannot be borrowed as mutable ``` @@ -1485,7 +1495,9 @@ is no value for it to be borrowed from Let’s take a closer look at exactly what’s happening at each stage of our `dangle` code: -Filename: src/main.rs +``` +// src/main.rs +``` ``` fn dangle() -> &String { // dangle returns a reference to a String @@ -1655,7 +1667,9 @@ because it’s a separate value from the `String`, there’s no guarantee that i will still be valid in the future. Consider the program in Listing 4-8 that uses the `first_word` function from Listing 4-7. -Filename: src/main.rs +``` +// src/main.rs +``` ``` fn main() { @@ -1749,7 +1763,7 @@ one more than the last position in the slice. Internally, the slice data structure stores the starting position and the length of the slice, which corresponds to `ending_index` minus `starting_index`. So, in the case of `let world = &s[6..11];`, `world` would be a slice that contains a pointer to the -byte at index 6 of `s` with a length value of 5. +byte at index 6 of `s` with a length value of `5`. Figure 4-6 shows this in a diagram. @@ -1757,8 +1771,8 @@ Figure 4-6 shows this in a diagram. Unmatched: GraphicSlug Unmatched: CaptionLine - With Rust’s `..` range syntax, if you want to start at index zero, you -can drop the value before the two periods. In other words, these are equal: + With Rust’s `..` range syntax, if you want to start at index 0, you can +drop the value before the two periods. In other words, these are equal: ``` let s = String::from("hello"); diff --git a/nostarch/chapter05.md b/nostarch/chapter05.md index a6f6a23667..c42f87c456 100644 --- a/nostarch/chapter05.md +++ b/nostarch/chapter05.md @@ -829,8 +829,8 @@ Defining a `Rectangle` struct Here, we’ve defined a struct and named it `Rectangle` [1]. Inside the curly brackets, we defined the fields as `width` and `height`, both of which have -type `u32` [2]. Then in `main`, we created a particular instance of `Rectangle` -that has a width of 30 and a height of 50 [3]. +type `u32` [2]. Then, in `main`, we created a particular instance of +`Rectangle` that has a width of `30` and a height of `50` [3]. Our `area` function is now defined with one parameter, which we’ve named `rectangle`, whose type is an immutable borrow of a struct `Rectangle` instance @@ -1063,7 +1063,7 @@ call occurs in your code along with the resultant value of that expression, and returns ownership of the value. > NoteCalling the `dbg!` macro prints to the standard error console stream -(`stderr`), as opposed to `println!` which prints to the standard output +(`stderr`), as opposed to `println!`, which prints to the standard output console stream (`stdout`). We’ll talk more about `stderr` and `stdout` in “Writing Error Messages to Standard Error Instead of Standard Output” on page XX. @@ -1160,11 +1160,12 @@ take ownership of `rect1`, so we use a reference to `rect1` in the next call ``` We can see the first bit of output came from [1] where we’re debugging the -expression `30 * scale`, and its resultant value is 60 (the `Debug` formatting -implemented for integers is to print only their value). The `dbg!` call at [2] -outputs the value of `&rect1`, which is the `Rectangle` struct. This output -uses the pretty `Debug` formatting of the `Rectangle` type. The `dbg!` macro -can be really helpful when you’re trying to figure out what your code is doing! +expression `30 * scale`, and its resultant value is `60` (the `Debug` +formatting implemented for integers is to print only their value). The `dbg!` +call at [2] outputs the value of `&rect1`, which is the `Rectangle` struct. +This output uses the pretty `Debug` formatting of the `Rectangle` type. The +`dbg!` macro can be really helpful when you’re trying to figure out what your +code is doing! In addition to the `Debug` trait, Rust has provided a number of traits for us to use with the `derive` attribute that can add useful behavior to our custom @@ -1308,9 +1309,10 @@ type `Self` is an alias for the type that the `impl` block is for. Methods must have a parameter named `self` of type `Self` for their first parameter, so Rust lets you abbreviate this with only the name `self` in the first parameter spot. Note that we still need to use the `&` in front of the `self` shorthand to -indicate this method borrows the `Self` instance, just as we did in `rectangle: -&Rectangle`. Methods can take ownership of `self`, borrow `self` immutably as -we’ve done here, or borrow `self` mutably, just as they can any other parameter. +indicate that this method borrows the `Self` instance, just as we did in +`rectangle: &Rectangle`. Methods can take ownership of `self`, borrow `self` +immutably, as we’ve done here, or borrow `self` mutably, just as they can any +other parameter. We chose `&self` here for the same reason we used `&Rectangle` in the function version: we don’t want to take ownership, and we just want to read the data in @@ -1329,7 +1331,8 @@ of our code search for capabilities of `Rectangle` in various places in the library we provide. Note that we can choose to give a method the same name as one of the struct’s -fields. For example, we can define a method on `Rectangle` also named `width`: +fields. For example, we can define a method on `Rectangle` that is also named +`width`: Filename: src/main.rs @@ -1410,16 +1413,17 @@ fn main() { ``` Here, we’re choosing to make the `width` method return `true` if the value in -the instance’s `width` field is greater than 0 and `false` if the value is 0: -we can use a field within a method of the same name for any purpose. In `main`, -when we follow `rect1.width` with parentheses, Rust knows we mean the method -`width`. When we don’t use parentheses, Rust knows we mean the field `width`. +the instance’s `width` field is greater than `0` and `false` if the value is +`0`: we can use a field within a method of the same name for any purpose. In +`main`, when we follow `rect1.width` with parentheses, Rust knows we mean the +method `width`. When we don’t use parentheses, Rust knows we mean the field +`width`. Often, but not always, when we give methods with the same name as a field we want it to only return the value in the field and do nothing else. Methods like this are called *getters*, and Rust does not implement them automatically for struct fields as some other languages do. Getters are useful because you can -make the field private but the method public and thus enable read-only access +make the field private but the method public, and thus enable read-only access to that field as part of the type’s public API. We will discuss what public and private are and how to designate a field or method as public or private in Chapter 7. @@ -1433,8 +1437,8 @@ Unmatched: BoxType > In C and C++, two different operators are used for calling methods: you use `.` if you’re calling a method on the object directly and `->` if you’re calling the method on a pointer to the object and need to dereference the -pointer first. In other words, if `object` is a pointer, `object->something()` -is similar to `(*object).something()`. +pointer first. In other words, if `object` is a pointer, +`object->`something`()` is similar to `(*object).`something`()`. > Rust doesn’t have an equivalent to the `->` operator; instead, Rust has a @@ -1442,7 +1446,7 @@ feature called *automatic referencing and dereferencing*. Calling methods is one of the few places in Rust that has this behavior. -> Here’s how it works: when you call a method with `object.something()`, Rust +> Here’s how it works: when you call a method with `object.`something`()`, Rust automatically adds in `&`, `&mut`, or `*` so `object` matches the signature of the method. In other words, the following are the same: @@ -1463,9 +1467,9 @@ ownership ergonomic in practice. Let’s practice using methods by implementing a second method on the `Rectangle` struct. This time we want an instance of `Rectangle` to take another instance of `Rectangle` and return `true` if the second `Rectangle` can fit completely -within `self` (the first `Rectangle`); otherwise it should return `false`. That -is, once we’ve defined the `can_hold` method, we want to be able to write the -program shown in Listing 5-14. +within `self` (the first `Rectangle`); otherwise, it should return `false`. +That is, once we’ve defined the `can_hold` method, we want to be able to write +the program shown in Listing 5-14. Filename: src/main.rs @@ -1540,7 +1544,7 @@ fn main() { Using the as-yet-unwritten `can_hold` method The expected output would look like the following because both dimensions of -`rect2` are smaller than the dimensions of `rect1` but `rect3` is wider than +`rect2` are smaller than the dimensions of `rect1`, but `rect3` is wider than `rect1`: ``` diff --git a/nostarch/chapter06.md b/nostarch/chapter06.md index 4f641c9aed..7214b8d844 100644 --- a/nostarch/chapter06.md +++ b/nostarch/chapter06.md @@ -931,10 +931,10 @@ state value out of the `Coin` enum variant for `Quarter`. ### Matching with Option In the previous section, we wanted to get the inner `T` value out of the `Some` -case when using `Option`; we can also handle `Option` using `match` as we -did with the `Coin` enum! Instead of comparing coins, we’ll compare the -variants of `Option`, but the way that the `match` expression works remains -the same. +case when using `Option`; we can also handle `Option` using `match`, as +we did with the `Coin` enum! Instead of comparing coins, we’ll compare the +variants of `Option`, but the way the `match` expression works remains the +same. Let’s say we want to write a function that takes an `Option` and, if there’s a value inside, adds 1 to that value. If there isn’t a value inside, @@ -1109,7 +1109,7 @@ shown | ``` -Rust knows that we didn’t cover every possible case and even knows which +Rust knows that we didn’t cover every possible case, and even knows which pattern we forgot! Matches in Rust are *exhaustive*: we must exhaust every last possibility in order for the code to be valid. Especially in the case of `Option`, when Rust prevents us from forgetting to explicitly handle the @@ -1340,7 +1340,7 @@ The syntax `if let` takes a pattern and an expression separated by an equal sign. It works the same way as a `match`, where the expression is given to the `match` and the pattern is its first arm. In this case, the pattern is `Some(max)`, and the `max` binds to the value inside the `Some`. We can then -use `max` in the body of the `if let` block in the same way as we used `max` in +use `max` in the body of the `if let` block in the same way we used `max` in the corresponding `match` arm. The code in the `if let` block isn’t run if the value doesn’t match the pattern. diff --git a/nostarch/chapter07.md b/nostarch/chapter07.md index fb6398cf79..9fed26d99c 100644 --- a/nostarch/chapter07.md +++ b/nostarch/chapter07.md @@ -258,7 +258,7 @@ Unmatched: BoxCode ## Defining Modules to Control Scope and Privacy In this section, we’ll talk about modules and other parts of the module system, -namely *paths* that allow you to name items; the `use` keyword that brings a +namely *paths*, which allow you to name items; the `use` keyword that brings a path into scope; and the `pub` keyword to make items public. We’ll also discuss the `as` keyword, external packages, and the glob operator. @@ -526,9 +526,9 @@ filesystem equivalent would be using the path that the path is relative. Choosing whether to use a relative or absolute path is a decision you’ll make -based on your project, and depends on whether you’re more likely to move item -definition code separately from or together with the code that uses the item. -For example, if we moved the `front_of_house` module and the +based on your project, and it depends on whether you’re more likely to move +item definition code separately from or together with the code that uses the +item. For example, if we moved the `front_of_house` module and the `eat_at_restaurant` function into a module named `customer_experience`, we’d need to update the absolute path to `add_to_waitlist`, but the relative path would still be valid. However, if we moved the `eat_at_restaurant` function @@ -927,7 +927,7 @@ Consider the code in Listing 7-8 that models the situation in which a chef fixes an incorrect order and personally brings it out to the customer. The function `fix_incorrect_order` defined in the `back_of_house` module calls the function `deliver_order` defined in the parent module by specifying the path to -`deliver_order` starting with `super`. +`deliver_order`, starting with `super`. Filename: src/lib.rs @@ -1381,7 +1381,7 @@ the shortcut in the parent module with `super::hosting` within the child In Listing 7-11, you might have wondered why we specified `use crate::front_of_house::hosting` and then called `hosting::add_to_waitlist` in -`eat_at_restaurant` rather than specifying the `use` path all the way out to +`eat_at_restaurant`, rather than specifying the `use` path all the way out to the `add_to_waitlist` function to achieve the same result, as in Listing 7-13. Filename: src/lib.rs @@ -1529,7 +1529,7 @@ parent modules. As you can see, using the parent modules distinguishes the two `Result` types. If instead we specified `use std::fmt::Result` and `use std::io::Result`, we’d -have two `Result` types in the same scope and Rust wouldn’t know which one we +have two `Result` types in the same scope, and Rust wouldn’t know which one we meant when we used `Result`. ### Providing New Names with the as Keyword @@ -1678,7 +1678,7 @@ rand = "0.8.5" ``` Adding `rand` as a dependency in *Cargo.toml* tells Cargo to download the -`rand` package and any dependencies from *https://crates.io* and make `rand` +`rand` package and any dependencies from *https://crates.io*, and make `rand` available to our project. Then, to bring `rand` definitions into the scope of our package, we added a @@ -1931,7 +1931,7 @@ pub fn add_to_waitlist() {} If we instead put *hosting.rs* in the *src* directory, the compiler would expect the *hosting.rs* code to be in a `hosting` module declared in the crate root, and not declared as a child of the `front_of_house` module. The -compiler’s rules for which files to check for which modules’ code means the +compiler’s rules for which files to check for which modules’ code mean the directories and files more closely match the module tree. diff --git a/nostarch/chapter08.md b/nostarch/chapter08.md index 49993a13bc..6bef0c2dae 100644 --- a/nostarch/chapter08.md +++ b/nostarch/chapter08.md @@ -118,7 +118,7 @@ we don’t need the `Vec` annotation. ### Reading Elements of Vectors -There are two ways to reference a value stored in a vector: via indexing or +There are two ways to reference a value stored in a vector: via indexing or by using the `get` method. In the following examples, we’ve annotated the types of the values that are returned from these functions for extra clarity. @@ -450,7 +450,7 @@ store in a vector, the enum technique won’t work. Instead, you can use a trait object, which we’ll cover in Chapter 17. Now that we’ve discussed some of the most common ways to use vectors, be sure -to review the API documentation for all the many useful methods defined on +to review the API documentation for all of the many useful methods defined on `Vec` by the standard library. For example, in addition to `push`, a `pop` method removes and returns the last element. @@ -567,8 +567,6 @@ let s = data.to_string(); let s = "initial contents".to_string(); ``` -PROD: I couldn’t get the following listing caption to format correctly. - Using the `to_string` method to create a `String` from a string literal @@ -688,7 +686,7 @@ If the `push_str` method took ownership of `s2`, we wouldn’t be able to print its value on the last line. However, this code works as we’d expect! The `push` method takes a single character as a parameter and adds it to the -`String`. Listing 8-17 adds the letter “l” to a `String` using the `push` +`String`. Listing 8-17 adds the letter *l* to a `String` using the `push` method. ``` @@ -740,7 +738,7 @@ bits of the `+` operator. First, `s2` has an `&`, meaning that we’re adding a *reference* of the second string to the first string. This is because of the `s` parameter in the `add` -function: we can only add a `&str` to a `String`; we can’t add two `String` +function: we can only add a `&``str` to a `String`; we can’t add two `String` values together. But wait—the type of `&s2` is `&String`, not `&str`, as specified in the second parameter to `add`. So why does Listing 8-18 compile? @@ -784,8 +782,8 @@ let s = s1 + "-" + &s2 + "-" + &s3; ``` At this point, `s` will be `tic-tac-toe`. With all of the `+` and `"` -characters, it’s difficult to see what’s going on. For more complicated string -combining, we can instead use the `format!` macro: +characters, it’s difficult to see what’s going on. For combining strings in +more complicated ways, we can instead use the `format!` macro: ``` let s1 = String::from("tic"); @@ -828,7 +826,7 @@ let s1 = String::from("hello"); let h = s1[0]; ``` -Attempting to use indexing syntax with a String +Attempting to use indexing syntax with a `String` Unmatched: BodyContinued @@ -877,10 +875,10 @@ encoded UTF-8 example strings from Listing 8-14. First, this one: let hello = String::from("Hola"); ``` -In this case, `len` will be 4, which means the vector storing the string +In this case, `len` will be `4`, which means the vector storing the string `"``Hola``"` is 4 bytes long. Each of these letters takes one byte when encoded in UTF-8. The following line, however, may surprise you (note that this string -begins with the capital Cyrillic letter Ze, not the Arabic number 3): +begins with the capital Cyrillic letter *Ze*, not the Arabic number 3): ``` let hello = String::from("Здравствуйте"); @@ -1064,7 +1062,7 @@ Unmatched: BodyContinued But be sure to remember that valid Unicode scalar values may be made up of more than one byte. -Getting grapheme clusters from strings as with the Devanagari script is +Getting grapheme clusters from strings, as with the Devanagari script, is complex, so this functionality is not provided by the standard library. Crates are available at *https://crates.io* if this is the functionality you need. @@ -1093,8 +1091,8 @@ The last of our common collections is the *hash map*. The type `HashMap` stores a mapping of keys of type `K` to values of type `V` using a *hashing function*, which determines how it places these keys and values into memory. Many programming languages support this kind of data structure, but they often -use a different name, such as hash, map, object, hash table, dictionary, or -associative array, just to name a few. +use a different name, such as *hash*, *map*, *object*, *hash table*, +*dictionary*, or *associative array*, just to name a few. Hash maps are useful when you want to look up data not by using an index, as you can with vectors, but by using a key that can be of any type. For example, @@ -1309,8 +1307,8 @@ least as long as the hash map is valid. We’ll talk more about these issues in Although the number of key and value pairs is growable, each unique key can only have one value associated with it at a time (but not vice versa: for -example, both the Blue team and the Yellow team could have value 10 stored in -the `scores` hash map). +example, both the Blue team and the Yellow team could have the value `10` +stored in the `scores` hash map). When you want to change the data in a hash map, you have to decide how to handle the case when a key already has a value assigned. You could replace the @@ -1374,7 +1372,7 @@ Hash maps have a special API for this called `entry` that takes the key you want to check as a parameter. The return value of the `entry` method is an enum called `Entry` that represents a value that might or might not exist. Let’s say we want to check whether the key for the Yellow team has a value associated -with it. If it doesn’t, we want to insert the value 50, and the same for the +with it. If it doesn’t, we want to insert the value `50`, and the same for the Blue team. Using the `entry` API, the code looks like Listing 8-24. ``` @@ -1523,9 +1521,9 @@ some exercises you should now be equipped to solve: the value in the middle position) and mode (the value that occurs most often; a hash map will be helpful here) of the list. 1. Convert strings to pig latin. The first consonant of each word is moved to -the end of the word and “ay” is added, so “first” becomes “irst-fay.” Words -that start with a vowel have “hay” added to the end instead (“apple” becomes -“apple-hay”). Keep in mind the details about UTF-8 encoding! +the end of the word and *ay* is added, so *first* becomes *irst-fay*. Words +that start with a vowel have *hay* added to the end instead (*apple* becomes +*apple-hay*). Keep in mind the details about UTF-8 encoding! 1. Using a hash map and vectors, create a text interface to allow a user to add employee names to a department in a company; for example, “Add Sally to Engineering” or “Add Amir to Sales.” Then let the user retrieve a list of all diff --git a/nostarch/chapter09.md b/nostarch/chapter09.md index fce548231e..356c1e7cf8 100644 --- a/nostarch/chapter09.md +++ b/nostarch/chapter09.md @@ -1,8 +1,3 @@ - [TOC] @@ -180,7 +175,7 @@ wrote. That’s the spot where the problem originated. The lines above that spot are code that your code has called; the lines below are code that called your code. These before-and-after lines might include core Rust code, standard library code, or crates that you’re using. Let’s try getting a backtrace by -setting the `RUST_BACKTRACE` environment variable to any value except 0. +setting the `RUST_BACKTRACE` environment variable to any value except `0`. Listing 9-2 shows output similar to what you’ll see. ``` @@ -434,7 +429,15 @@ fn main() { ``` ``` - Err(error) => panic!("Problem opening the file: {:?}", error), + Err(error) => { +``` + +``` + panic!("Problem opening the file: {:?}", error); +``` + +``` + } ``` ``` @@ -483,7 +486,7 @@ However, we want to take different actions for different failure reasons. If `File::open` failed because the file doesn’t exist, we want to create the file and return the handle to the new file. If `File::open` failed for any other reason—for example, because we didn’t have permission to open the file—we still -want the code to `panic!` in the same way it did in Listing 9-4. For this we +want the code to `panic!` in the same way it did in Listing 9-4. For this, we add an inner `match` expression, shown in Listing 9-5. Filename: src/main.rs @@ -525,19 +528,39 @@ fn main() { ``` ``` - ErrorKind::NotFound => match File::create("hello.txt") { + ErrorKind::NotFound => { ``` ``` - Ok(fc) => fc, + match File::create("hello.txt") { ``` ``` - Err(e) => panic!("Problem creating the file: {:?}", e), + Ok(fc) => fc, ``` ``` - }, + Err(e) => panic!( +``` + +``` + "Problem creating the file: {:?}", +``` + +``` + e +``` + +``` + ), +``` + +``` + } +``` + +``` + } ``` ``` @@ -545,7 +568,19 @@ fn main() { ``` ``` - panic!("Problem opening the file: {:?}", other_error); + panic!( +``` + +``` + "Problem opening the file: {:?}", +``` + +``` + other_error +``` + +``` + ); ``` ``` @@ -593,7 +628,9 @@ concise than using `match` when handling `Result` values in your code. For example, here’s another way to write the same logic as shown in Listing 9-5, this time using closures and the `unwrap_or_else` method: -Filename: src/main.rs +``` +// src/main.rs +``` ``` use std::fs::File; @@ -850,8 +887,8 @@ This function can be written in a much shorter way, but we’re going to start b doing a lot of it manually in order to explore error handling; at the end, we’ll show the shorter way. Let’s look at the return type of the function first: `Result` [1]. This means the function is returning a -value of the type `Result` where the generic parameter `T` has been -filled in with the concrete type `String`, and the generic type `E` has been +value of the type `Result`, where the generic parameter `T` has been +filled in with the concrete type `String` and the generic type `E` has been filled in with the concrete type `io::Error`. If this function succeeds without any problems, the code that calls this @@ -1180,7 +1217,7 @@ function that returns an `Option`. The behavior of the `?` operator when called on an `Option` is similar to its behavior when called on a `Result`: if the value is `None`, the `None` will be returned early from the function at that point. If the value is `Some`, the value inside the `Some` is the -resultant value of the expression and the function continues. Listing 9-11 has +resultant value of the expression, and the function continues. Listing 9-11 has an example of a function that finds the last character of the first line in the given text. @@ -1375,7 +1412,7 @@ valid IP address. If the IP address string came from a user rather than being hardcoded into the program and therefore *did* have a possibility of failure, we’d definitely want to handle the `Result` in a more robust way instead. Mentioning the assumption that this IP address is hardcoded will prompt us to -change `expect` to better error-handling code if in the future, we need to get +change `expect` to better error-handling code if, in the future, we need to get the IP address from some other source instead. ### Guidelines for Error Handling @@ -1416,7 +1453,7 @@ an out-of-bounds memory access: trying to access memory that doesn’t belong to the current data structure is a common security problem. Functions often have *contracts*: their behavior is only guaranteed if the inputs meet particular requirements. Panicking when the contract is violated makes sense because a -contract violation always indicates a caller-side bug and it’s not a kind of +contract violation always indicates a caller-side bug, and it’s not a kind of error you want the calling code to have to explicitly handle. In fact, there’s no reasonable way for calling code to recover; the calling *programmers* need to fix the code. Contracts for a function, especially when a violation will @@ -1445,8 +1482,8 @@ numbers before checking it against our secret number; we only validated that the guess was positive. In this case, the consequences were not very dire: our output of “Too high” or “Too low” would still be correct. But it would be a useful enhancement to guide the user toward valid guesses and have different -behavior when a user guesses a number that’s out of range versus when a user -types, for example, letters instead. +behavior when the user guesses a number that’s out of range versus when the +user types, for example, letters instead. One way to do this would be to parse the guess as an `i32` instead of only a `u32` to allow potentially negative numbers, and then add a check for the diff --git a/nostarch/chapter10.md b/nostarch/chapter10.md index 15b37a5a7a..3f7e783786 100644 --- a/nostarch/chapter10.md +++ b/nostarch/chapter10.md @@ -17,8 +17,8 @@ when compiling and running the code. Functions can take parameters of some generic type, instead of a concrete type like `i32` or `String`, in the same way they take parameters with unknown values to run the same code on multiple concrete values. In fact, we’ve already -used generics in Chapter 6 with `Option`, Chapter 8 with `Vec` and -`HashMap`, and Chapter 9 with `Result`. In this chapter, you’ll +used generics in Chapter 6 with `Option`, in Chapter 8 with `Vec` and +`HashMap`, and in Chapter 9 with `Result`. In this chapter, you’ll explore how to define your own types, functions, and methods with generics! First we’ll review how to extract a function to reduce code duplication. We’ll @@ -341,7 +341,7 @@ In summary, here are the steps we took to change the code from Listing 10-2 to Listing 10-3: 1. Identify duplicate code. -1. Extract the duplicate code into the body of the function and specify the +1. Extract the duplicate code into the body of the function, and specify the inputs and return values of that code in the function signature. 1. Update the two instances of duplicated code to call the function instead. Next, we’ll use these same steps with generics to reduce code duplication. In @@ -524,7 +524,7 @@ To parameterize the types in a new single function, we need to name the type parameter, just as we do for the value parameters to a function. You can use any identifier as a type parameter name. But we’ll use `T` because, by convention, type parameter names in Rust are short, often just one letter, and -Rust’s type-naming convention is CamelCase. Short for “type,” `T` is the +Rust’s type-naming convention is CamelCase. Short for *type*, `T` is the default choice of most Rust programmers. When we use a parameter in the body of the function, we have to declare the @@ -800,9 +800,9 @@ fn main() { The fields `x` and `y` must be the same type because both have the same generic data type `T`. -In this example, when we assign the integer value 5 to `x`, we let the compiler -know that the generic type `T` will be an integer for this instance of -`Point`. Then when we specify 4.0 for `y`, which we’ve defined to have the +In this example, when we assign the integer value `5` to `x`, we let the +compiler know that the generic type `T` will be an integer for this instance of +`Point`. Then when we specify `4.0` for `y`, which we’ve defined to have the same type as `x`, we’ll get a type mismatch error like this: ``` @@ -1286,9 +1286,9 @@ at runtime. ## Traits: Defining Shared Behavior -A *trait* defines functionality a particular type has and can share with other -types. We can use traits to define shared behavior in an abstract way. We can -use *trait bounds* to specify that a generic type can be any type that has +A *trait* defines the functionality a particular type has and can share with +other types. We can use traits to define shared behavior in an abstract way. We +can use *trait bounds* to specify that a generic type can be any type that has certain behavior. > NoteTraits are similar to a feature often called *interfaces* in other @@ -1303,7 +1303,7 @@ define a set of behaviors necessary to accomplish some purpose. For example, let’s say we have multiple structs that hold various kinds and amounts of text: a `NewsArticle` struct that holds a news story filed in a -particular location and a `Tweet` that can have at most 280 characters along +particular location and a `Tweet` that can have, at most, 280 characters along with metadata that indicates whether it was a new tweet, a retweet, or a reply to another tweet. @@ -1330,11 +1330,11 @@ pub trait Summary { A `Summary` trait that consists of the behavior provided by a `summarize` method Here, we declare a trait using the `trait` keyword and then the trait’s name, -which is `Summary` in this case. We’ve also declared the trait as `pub` so that +which is `Summary` in this case. We also declare the trait as `pub` so that crates depending on this crate can make use of this trait too, as we’ll see in a few examples. Inside the curly brackets, we declare the method signatures that describe the behaviors of the types that implement this trait, which in -this case is `fn summarize(&self) -> String`. +this case is `fn` `summarize(&self) -> String`. After the method signature, instead of providing an implementation within curly brackets, we use a semicolon. Each type implementing this trait must provide @@ -1343,7 +1343,7 @@ that any type that has the `Summary` trait will have the method `summarize` defined with this signature exactly. A trait can have multiple methods in its body: the method signatures are listed -one per line and each line ends in a semicolon. +one per line, and each line ends in a semicolon. ### Implementing a Trait on a Type @@ -1752,7 +1752,7 @@ After we define `summarize_author`, we can call `summarize` on instances of the `Tweet` struct, and the default implementation of `summarize` will call the definition of `summarize_author` that we’ve provided. Because we’ve implemented `summarize_author`, the `Summary` trait has given us the behavior of the -`summarize` method without requiring us to write any more code. Here's what +`summarize` method without requiring us to write any more code. Here’s what that looks like: ``` @@ -2249,7 +2249,7 @@ references are valid as long as we need them to be. One detail we didn’t discuss in “References and Borrowing” on page XX is that every reference in Rust has a *lifetime*, which is the scope for which that reference is valid. Most of the time, lifetimes are implicit and inferred, just -like most of the time, types are inferred. We only must annotate types when +like most of the time, types are inferred. We must annotate types only when multiple types are possible. In a similar way, we must annotate lifetimes when the lifetimes of references could be related in a few different ways. Rust requires us to annotate the relationships using generic lifetime parameters to @@ -2363,7 +2363,7 @@ error[E0597]: `x` does not live long enough | - borrow later used here ``` -The error message says that the variable `x` doesn’t “live long enough.” The +The error message says that the variable `x` “does not live long enough.” The reason is that `x` will be out of scope when the inner scope ends on line 7. But `r` is still valid for the outer scope; because its scope is larger, we say that it “lives longer.” If Rust allowed this code to work, `r` would be @@ -2426,7 +2426,7 @@ lifetimes and sees that `r` has a lifetime of `'a` but that it refers to memory with a lifetime of `'b`. The program is rejected because `'b` is shorter than `'a`: the subject of the reference doesn’t live as long as the reference. -Listing 10-18 fixes the code so it doesn’t have a dangling reference and +Listing 10-18 fixes the code so it doesn’t have a dangling reference and it compiles without any errors. ``` @@ -2885,13 +2885,13 @@ this because we annotated the lifetimes of the function parameters and return values using the same lifetime parameter `'a`. As humans, we can look at this code and see that `string1` is longer than -`string2` and therefore `result` will contain a reference to `string1`. Because -`string1` has not gone out of scope yet, a reference to `string1` will still be -valid for the `println!` statement. However, the compiler can’t see that the -reference is valid in this case. We’ve told Rust that the lifetime of the -reference returned by the `longest` function is the same as the smaller of the -lifetimes of the references passed in. Therefore, the borrow checker disallows -the code in Listing 10-23 as possibly having an invalid reference. +`string2`, and therefore, `result` will contain a reference to `string1`. +Because `string1` has not gone out of scope yet, a reference to `string1` will +still be valid for the `println!` statement. However, the compiler can’t see +that the reference is valid in this case. We’ve told Rust that the lifetime of +the reference returned by the `longest` function is the same as the smaller of +the lifetimes of the references passed in. Therefore, the borrow checker +disallows the code in Listing 10-23 as possibly having an invalid reference. Try designing more experiments that vary the values and lifetimes of the references passed in to the `longest` function and how the returned reference diff --git a/nostarch/chapter11.md b/nostarch/chapter11.md index 5a31c31cc6..6556dfdb80 100644 --- a/nostarch/chapter11.md +++ b/nostarch/chapter11.md @@ -1320,7 +1320,9 @@ inside the function doesn’t panic. Listing 11-8 shows a test that checks that the error conditions of `Guess::new` happen when we expect them to. -Filename: src/lib.rs +``` +// src/lib.rs +``` ``` pub struct Guess { @@ -1351,7 +1353,19 @@ impl Guess { ``` ``` - panic!("Guess value must be between 1 and 100, got {value}."); + panic!( +``` + +``` + "Guess value must be between 1 and 100, got {}.", +``` + +``` + value +``` + +``` + ); ``` ``` @@ -1447,6 +1461,10 @@ filtered out; finished in 0.00s Looks good! Now let’s introduce a bug in our code by removing the condition that the `new` function will panic if the value is greater than 100: +``` +// src/lib.rs +``` + ``` --snip-- ``` @@ -1468,7 +1486,19 @@ impl Guess { ``` ``` - panic!("Guess value must be between 1 and 100, got {value}."); + panic!( +``` + +``` + "Guess value must be between 1 and 100, got {}.", +``` + +``` + value +``` + +``` + ); ``` ``` @@ -1558,7 +1588,9 @@ consider the modified code for `Guess` in Listing 11-9 where the `new` function panics with different messages depending on whether the value is too small or too large. -Filename: src/lib.rs +``` +// src/lib.rs +``` ``` --snip-- @@ -1585,7 +1617,11 @@ impl Guess { ``` ``` - "Guess value must be greater than or equal to 1, got {value}." + "Guess value must be greater than or equal to 1, got {}.", +``` + +``` + value ``` ``` @@ -1601,7 +1637,11 @@ impl Guess { ``` ``` - "Guess value must be less than or equal to 100, got {value}." + "Guess value must be less than or equal to 100, got {}.", +``` + +``` + value ``` ``` @@ -1687,6 +1727,14 @@ To see what happens when a `should_panic` test with an `expected` message fails, let’s again introduce a bug into our code by swapping the bodies of the `if value < 1` and the `else if value > 100` blocks: +``` +// src/lib.rs +``` + +``` +--snip-- +``` + ``` if value < 1 { ``` @@ -1696,7 +1744,11 @@ if value < 1 { ``` ``` - "Guess value must be less than or equal to 100, got {value}." + "Guess value must be less than or equal to 100, got {}.", +``` + +``` + value ``` ``` @@ -1712,7 +1764,11 @@ if value < 1 { ``` ``` - "Guess value must be greater than or equal to 1, got {value}." + "Guess value must be greater than or equal to 1, got {}.", +``` + +``` + value ``` ``` @@ -1723,6 +1779,10 @@ if value < 1 { } ``` +``` +--snip-- +``` + This time when we run the `should_panic` test, it will fail: ``` @@ -1813,6 +1873,8 @@ Our tests so far all panic when they fail. We can also write tests that use `Result`! Here’s the test from Listing 11-1, rewritten to use `Result` and return an `Err` instead of panicking: +Filename: src/lib.rs + ``` #[cfg(test)] ``` @@ -2534,8 +2596,8 @@ fn expensive_test() { } ``` -After `#[test]` we add the `#[ignore]` line to the test we want to exclude. Now -when we run our tests, `it_works` runs, but `expensive_test` doesn’t: +After `#[test]`, we add the `#[ignore]` line to the test we want to exclude. +Now when we run our tests, `it_works` runs, but `expensive_test` doesn’t: ``` $ cargo test @@ -3060,9 +3122,9 @@ test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s ``` -This command runs only the tests in the *tests/integration_test.rs* file. -#### Submodules in Integration Tests +Unmatched: BodyContinued + #### Submodules in Integration Tests As you add more integration tests, you might want to make more files in the *tests* directory to help organize them; for example, you can group the test @@ -3304,7 +3366,7 @@ fn it_adds_two() { ``` Note that the `mod common;` declaration is the same as the module declaration -we demonstrated in Listing 7-21. Then in the test function, we can call the +we demonstrated in Listing 7-21. Then, in the test function, we can call the `common::setup()` function. #### Integration Tests for Binary Crates diff --git a/nostarch/chapter12.md b/nostarch/chapter12.md index a125799e6f..9e5d5cebd7 100644 --- a/nostarch/chapter12.md +++ b/nostarch/chapter12.md @@ -37,7 +37,7 @@ background knowledge you need to understand a real-world project such as Our `grep` project will combine a number of concepts you’ve learned so far: -* Organizing code (using what you learned about modules in Chapter 7) +* Organizing code (Chapter 7) * Using vectors and strings (Chapter 8) * Handling errors (Chapter 9) * Using traits and lifetimes where appropriate (Chapter 10) @@ -90,7 +90,7 @@ collection, such as a vector, that contains all the elements the iterator produces. The code in Listing 12-1 allows your `minigrep` program to read any command -line arguments passed to it and then collect the values into a vector. +line arguments passed to it, and then collect the values into a vector. Filename: src/main.rs @@ -269,7 +269,7 @@ fn main() { Creating variables to hold the query argument and file path argument As we saw when we printed the vector, the program’s name takes up the first -value in the vector at `args[0]`, so we’re starting arguments at index `1`. The +value in the vector at `args[0]`, so we’re starting arguments at index 1. The first argument `minigrep` takes is the string we’re searching for, so we put a reference to the first argument in the variable `query`. The second argument will be the file path, so we put a reference to the second argument in the @@ -993,7 +993,7 @@ where we called `panic!` when the `value` argument was out of the range of valid values. Instead of checking for a range of values here, we’re checking that the length of `args` is at least `3` and the rest of the function can operate under the assumption that this condition has been met. If `args` has -fewer than three items, this condition will be true, and we call the `panic!` +fewer than three items, this condition will be `true`, and we call the `panic!` macro to end the program immediately. With these extra few lines of code in `new`, let’s run the program without any @@ -1108,7 +1108,7 @@ impl Config { Returning a `Result` from `Config::build` Our `build` function returns a `Result` with a `Config` instance in the success -case and a `&'static str` in the error case. Our error values will always be +case and an `&'static str` in the error case. Our error values will always be string literals that have the `'static` lifetime. We’ve made two changes in the body of the function: instead of calling `panic!` @@ -1500,7 +1500,7 @@ both cases: we print the error and exit. ### Splitting Code into a Library Crate Our `minigrep` project is looking good so far! Now we’ll split the -*src/**main.rs* file and put some code into the *src/**lib.rs* file. That way +*src/**main.rs* file and put some code into the *src/**lib.rs* file. That way, we can test the code and have a *src/**main.rs* file with fewer responsibilities. @@ -1554,7 +1554,15 @@ impl Config { ``` ``` - pub fn build(args: &[String]) -> Result { + pub fn build( +``` + +``` + args: &[String], +``` + +``` + ) -> Result { ``` ``` @@ -1784,7 +1792,19 @@ fast, productive."`. Filename: src/lib.rs ``` -pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { +pub fn search<'a>( +``` + +``` + query: &str, +``` + +``` + contents: &'a str, +``` + +``` +) -> Vec<&'a str> { ``` ``` @@ -1819,7 +1839,7 @@ error[E0106]: missing lifetime specifier ``` ``` - --> src/lib.rs:28:51 + --> src/lib.rs:31:10 ``` ``` @@ -1827,31 +1847,39 @@ error[E0106]: missing lifetime specifier ``` ``` -28 | pub fn search(query: &str, contents: &str) -> Vec<&str> { +29 | query: &str, ``` ``` - | ---- ---- ^ expected named + | ---- ``` ``` -lifetime parameter +30 | contents: &str, ``` ``` - | + | ---- +``` + +``` +31 | ) -> Vec<&str> { +``` + +``` + | ^ expected named lifetime parameter ``` ``` - = help: this function's return type contains a borrowed value, + | ``` ``` -but the signature does not say whether it is borrowed from `query` or + = help: this function's return type contains a borrowed value, but the ``` ``` -`contents` +signature does not say whether it is borrowed from `query` or `contents` ``` ``` @@ -1863,11 +1891,23 @@ help: consider introducing a named lifetime parameter ``` ``` -28 | pub fn search<'a>(query: &'a str, contents: &'a str) -> Vec<&'a str> { +28 ~ pub fn search<'a>( +``` + +``` +29 ~ query: &'a str, +``` + +``` +30 ~ contents: &'a str, +``` + +``` +31 ~ ) -> Vec<&'a str> { ``` ``` - | ++++ ++ ++ ++ + | ``` Rust can’t possibly know which of the two arguments we need, so we need to tell @@ -1928,7 +1968,7 @@ failures: ``` ``` -thread 'main' panicked at 'assertion failed: `(left == right)` +thread 'tests::one_result' panicked at 'assertion failed: `(left == right)` ``` ``` @@ -1936,7 +1976,7 @@ thread 'main' panicked at 'assertion failed: `(left == right)` ``` ``` - right: `[]`', src/lib.rs:44:9 + right: `[]`', src/lib.rs:47:9 ``` ``` @@ -1991,9 +2031,9 @@ that and implement `search`, our program needs to follow these steps: 1. If it does, add it to the list of values we’re returning. 1. If it doesn’t, do nothing. 1. Return the list of results that match. -Let’s work through each step, starting with iterating through lines. -#### Iterating Through Lines with the lines Method +Unmatched: BodyContinued + #### Iterating Through Lines with the lines Method Rust has a helpful method to handle line-by-line iteration of strings, conveniently named `lines`, that works as shown in Listing 12-17. Note that @@ -2002,7 +2042,19 @@ this won’t compile yet. Filename: src/lib.rs ``` -pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { +pub fn search<'a>( +``` + +``` + query: &str, +``` + +``` + contents: &'a str, +``` + +``` +) -> Vec<&'a str> { ``` ``` @@ -2038,7 +2090,19 @@ Listing 12-18. Note that this still won’t compile yet. Filename: src/lib.rs ``` -pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { +pub fn search<'a>( +``` + +``` + query: &str, +``` + +``` + contents: &'a str, +``` + +``` +) -> Vec<&'a str> { ``` ``` @@ -2081,7 +2145,19 @@ we return the vector, as shown in Listing 12-19. Filename: src/lib.rs ``` -pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { +pub fn search<'a>( +``` + +``` + query: &str, +``` + +``` + contents: &'a str, +``` + +``` +) -> Vec<&'a str> { ``` ``` @@ -2702,7 +2778,15 @@ impl Config { ``` ``` - pub fn build(args: &[String]) -> Result { + pub fn build( +``` + +``` + args: &[String] +``` + +``` + ) -> Result { ``` ``` @@ -2887,7 +2971,7 @@ to use something else to print to standard error. ### Checking Where Errors Are Written -First, let’s observe how the content printed by `minigrep` is currently being +First let’s observe how the content printed by `minigrep` is currently being written to standard output, including any error messages we want to write to standard error instead. We’ll do that by redirecting the standard output stream to a file while intentionally causing an error. We won’t redirect the standard diff --git a/nostarch/chapter13.md b/nostarch/chapter13.md index f1bef3dd16..c2d9a9580c 100644 --- a/nostarch/chapter13.md +++ b/nostarch/chapter13.md @@ -724,14 +724,14 @@ can specify what kinds of closures they can use. Closures will automatically implement one, two, or all three of these `Fn` traits, in an additive fashion, depending on how the closure’s body handles the values: -1. `FnOnce` applies to closures that can be called once. All closures implement +* `FnOnce` applies to closures that can be called once. All closures implement at least this trait because all closures can be called. A closure that moves captured values out of its body will only implement `FnOnce` and none of the other `Fn` traits because it can only be called once. -1. `FnMut` applies to closures that don’t move captured values out of their +* `FnMut` applies to closures that don’t move captured values out of their body, but that might mutate the captured values. These closures can be called more than once. -1. `Fn` applies to closures that don’t move captured values out of their body +* `Fn` applies to closures that don’t move captured values out of their body and that don’t mutate captured values, as well as closures that capture nothing from their environment. These closures can be called more than once without mutating their environment, which is important in cases such as calling a @@ -795,7 +795,7 @@ the closure we provide when calling `unwrap_or_else`. The trait bound specified on the generic type `F` is `FnOnce() -> T`, which means `F` must be able to be called once, take no arguments, and return a `T`. Using `FnOnce` in the trait bound expresses the constraint that -`unwrap_or_else` is only going to call `f` at most one time. In the body of +`unwrap_or_else` is only going to call `f` one time, at most. In the body of `unwrap_or_else`, we can see that if the `Option` is `Some`, `f` won’t be called. If the `Option` is `None`, `f` will be called once. Because all closures implement `FnOnce`, `unwrap_or_else` accepts the largest variety of @@ -1298,8 +1298,8 @@ method. In other words, the `Item` type will be the type returned from the iterator. The `Iterator` trait only requires implementors to define one method: the -`next` method, which returns one item of the iterator at a time wrapped in -`Some` and, when iteration is over, returns `None`. +`next` method, which returns one item of the iterator at a time, wrapped in +`Some`, and, when iteration is over, returns `None`. We can call the `next` method on iterators directly; Listing 13-12 demonstrates what values are returned from repeated calls to `next` on the iterator created @@ -2147,7 +2147,19 @@ project, which is reproduced here in Listing 13-21 as it was in Listing 12-19. Filename: src/lib.rs ``` -pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { +pub fn search<'a>( +``` + +``` + query: &str, +``` + +``` + contents: &'a str, +``` + +``` +) -> Vec<&'a str> { ``` ``` @@ -2202,7 +2214,19 @@ concurrent access to the `results` vector. Listing 13-22 shows this change. Filename: src/lib.rs ``` -pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { +pub fn search<'a>( +``` + +``` + query: &str, +``` + +``` + contents: &'a str, +``` + +``` +) -> Vec<&'a str> { ``` ``` diff --git a/nostarch/chapter14.md b/nostarch/chapter14.md index 23ea766bf5..76fe2bf716 100644 --- a/nostarch/chapter14.md +++ b/nostarch/chapter14.md @@ -29,7 +29,7 @@ various options for compiling code. Each profile is configured independently of the others. Cargo has two main profiles: the `dev` profile Cargo uses when you run `cargo -build` and the `release` profile Cargo uses when you run `cargo build +build`, and the `release` profile Cargo uses when you run `cargo build --release`. The `dev` profile is defined with good defaults for development, and the `release` profile has good defaults for release builds. @@ -276,7 +276,7 @@ test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s ``` -Now if we change either the function or the example so the `assert_eq!` in the +Now, if we change either the function or the example so the `assert_eq!` in the example panics and run `cargo test` again, we’ll see that the doc tests catch that the example and the code are out of sync with each other! @@ -350,19 +350,19 @@ are and might have difficulty finding the pieces they want to use if your crate has a large module hierarchy. In Chapter 7, we covered how to make items public using the `pub` keyword, and -bring items into a scope with the `use` keyword. However, the structure that -makes sense to you while you’re developing a crate might not be very convenient -for your users. You might want to organize your structs in a hierarchy -containing multiple levels, but then people who want to use a type you’ve -defined deep in the hierarchy might have trouble finding out that type exists. -They might also be annoyed at having to enter `use` -`my_crate::some_module::another_module::UsefulType;` rather than `use` -`my_crate::UsefulType;`. +how to bring items into a scope with the `use` keyword. However, the structure +that makes sense to you while you’re developing a crate might not be very +convenient for your users. You might want to organize your structs in a +hierarchy containing multiple levels, but then people who want to use a type +you’ve defined deep in the hierarchy might have trouble finding out that type +exists. They might also be annoyed at having to enter `use` +`my_crate``::`some_module`::`another_module`::`UsefulType`;` rather than `use` +`my_crate``::`UsefulType`;`. The good news is that if the structure *isn’t* convenient for others to use from another library, you don’t have to rearrange your internal organization: instead, you can re-export items to make a public structure that’s different -from your private structure by using `pub use`. Re-exporting takes a public +from your private structure by using `pub use`. *Re-exporting* takes a public item in one location and makes it public in another location, as if it were defined in the other location instead. @@ -920,17 +920,17 @@ anyone can easily add your crate as a dependency of their project. When you’ve made changes to your crate and are ready to release a new version, you change the `version` value specified in your *Cargo.toml* file and republish. Use the Semantic Versioning rules at *http://semver.org* to decide -what an appropriate next version number is based on the kinds of changes you’ve -made. Then run `cargo publish` to upload the new version. +what an appropriate next version number is, based on the kinds of changes +you’ve made. Then run `cargo publish` to upload the new version. ### Deprecating Versions from Crates.io with cargo yank Although you can’t remove previous versions of a crate, you can prevent any future projects from adding them as a new dependency. This is useful when a crate version is broken for one reason or another. In such situations, Cargo -supports *yanking* a crate version. +supports yanking a crate version. -Yanking a version prevents new projects from depending on that version while +*Yanking* a version prevents new projects from depending on that version while allowing all existing projects that depend on it to continue. Essentially, a yank means that all projects with a *Cargo.lock* will not break, and any future *Cargo.lock* files generated will not use the yanked version. @@ -1651,8 +1651,8 @@ locally. This isn’t intended to replace system packages; it’s meant to be a convenient way for Rust developers to install tools that others have shared on *https://crates.io*. Note that you can only install packages that have binary targets. A *binary target* is the runnable program that is created if the crate -has an *src/main.rs* file or another file specified as a binary, as opposed to -a library target that isn’t runnable on its own but is suitable for including +has a *src/main.rs* file or another file specified as a binary, as opposed to a +library target that isn’t runnable on its own but is suitable for including within other programs. Usually, crates have information in the *README* file about whether a crate is a library, has a binary target, or both. diff --git a/nostarch/docx/chapter01.docx b/nostarch/docx/chapter01.docx index f3bccda5ba57bfc56927c55a8b6384b5cd30406f..a0f6959dfc4233ddf5cc50560d4289c59e7f9684 100644 GIT binary patch delta 42340 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 S0)&;dL z6*rs(!xH}32q59xKWaQPWOT(tXLiEb&=_O#DhL7s^7VD8{}I10l?;_3c^ab%{i>rA>u1HbpV=!~);CAT(hR?#Cd=j0;;5a(yi2Ls zN6n5I$yixPSp)?18ox&{ek03gU6jI(@k{X}XM;Xu&87-GM3{N(C#psf3T^CN*npMieIyGn2^_3^IK?U&|G z#`ZToZH^ZwT(k6(Bpz_paKg2v#Vu&VwGzo^UF7t?d#}w?Qbyi$&XBG;Ait@3y4jW> z8*k>?03#h3&Vj8#MCNPz7QGANB-b)aG&`T(j3h zKyyECd0FQgK|{mH-$g)g>fUMT;{4~uGd0-`kmXhF(W(rX2q2#AQgKe6KJ8^r*N&Uc z8Ga@Ea1)8MY^qDRvUjAm1U0_|aLUiA89v>4LPmN%pHNJsvN37=i7KzKPOkAus662_ zJ(JYNi@&+Oe9q6pzQ@jWpb9Tl7*3X^?})ed;L)F`ZQ5-@_j-l&G?Hkb(RNyu6qU;b zF6Io&<-*Ez?Qr1tz5m=W)-STg9SYk_(4P&4Jb%Pa8HRXt&nWg4M9mC(*aUyp_48;_ zidwV$j=SW^NV|4gWrgexYoDc6I2(T4a&lgc_WM4`bGSE1_FOPtL3_-wWym0a`xW49 zB3IIRF?af9;Pox`#&$4(*rNUEWo+*iz$OY@Qb~hHCL#CGc(6Z-sV`q#ar;?t^kY)# zVmzs6+}7x@=~$KusvDnf)jHFzh1hghEEfbq&mn0pY7_sXN_XEm+FP6D)pxSjCJ zH$>XP?d1Y}U*VrhetTN6b1kIQlW|MkNoBlMf{8xh(yupORugvED_9o!rgU_|K>keM zHIZh|2lbw>%iD3izJLtY=AE^G(4W3+O_P3Cp4CmN&=BiGpIP;BPVDZZA(EB5$yN52 z72(GqbbvBr6!2CY`MuLP`MVu*bR&#CjxYAFZ~~i1O4h4$8F7?C_ajkNQS?z=5ewf zSKw5uE*AOXDgv?e5H_8klcEhXEKU#_MQQJ6_n?t?HvQeyS={)irm<;=Zv!WW?aBknAe?6D@4Z_|R?NcG z>)7HwbM~2IN#flsJ@J7K0%_l9CEn1IFS}fw)UL`HW)vdxJqCPLH|nHQO`s!x?x9Q4 zx%orCj!CIj${Zp>?e_wF0;LT<2l~*}Yph{O82GB%g-TOQ-fpHPpht@k;ld>@BgW`4 z4>9t{$SjE}Y!}A-2advA{16G6VpOo2G}cdHc?|LZCo06mF=!WAzX*uo7n7NZNY?B( zkMg~Ql}<$RxhF~*g+n!m;@7n(pK~hCK2+&wN(_Q{oh*lj>6;f;`YU^=t;_5tZI3N% z0~6>j9#VdFyA7;Ez}I|o8$r*Zx7s5>V4}X>gI)bL)2-ORzZhXmBB-az7rBPwye{?1 zjx%q$Gj^09-HaJNS zUT~IrNOwYXMx?4vgbm`d5V>VQ`IW~tY>gX&G;_BvWi1~wAg6kvsNgqPZo%+3^y4zz z4#S(sI77g)FUT^=gAnYDR%Dk)iSRm-_8$Ed#O5GLcNs@5Mhc>q<4dN)&xPr-5N|;@ z%VOhYgj=E{YFoW~jZ8_oHQ#~?G8&6bau?q*-O~@^_u+93H)sy}4{p#Mw3QhA4+6_V za_i(qPbiykU~NJDz?vh66=gl&akf7@H^{w`-2hR9zNZpT8X|<;rDGQz17ZmpU|S+P zuq9hG!L&ByV%#<;yn6C6m0!cQau?_5TBmvPVXnyXeq5=S z#naR*YVEj!rX0ps{pDGA;7}bJC*1fKFRFf)Ld;?kl=15#QM08uZ_-ET8}@Hfn;JZb zZGoNDnQ*Ig6>}IWxo@|Q%qX>`^E$y}yB(m7xM2+tj6{ca%8vFo7Wu<=If3px|*@l zhF4<(sb?VFy~U@ZtPCu@Lk3%2U?idbFafMO@dqp!uNsJGJDTG6MlaLZAsK~xw2!SU z^L@5ebx7_!)iUt6tg7Fb^({U+8mJ3bMJE@Xva{syxPAjJbBW2}2NWwu)xb4_DVWfx#~WZ z*=5ZLlb9QQs6Um05scvVV6VG8x68$tjayl^qGPBPyK#2Lnox6&s9yen$HytJ8wyM^ zfJ8_CR?#po%$N8rw*ThbvHoWM(SW<+>3Gpq=Imn;?z)eK)<|=sb z&}-=0o8J5Wjp!yek|;mG=2hW5;!bm|Mon8qBDwflzl`S9j4n=H)U7pV4sld(cO#;z zW+|#xcJZ2}ZC?F6Vc2D#nua;Xq$$}G_|JbGB;K5r$unWnLzYTTBB50639OMvzQ$Is)U!mB_K)hs_3pBicx0yHDiSNEz%(W zTb^I=czLNCr6q|}bqy&*(f|Di)@oJK$|t4l^9Uu$MKChYB$pTwOX3Frr*r_%PL-#N zRV#|4V*EMB9#Pik`b#JKX!2&-_m4|%x-$!4=}ZvuB+`}ZO};3wk*9;rzeb#}ee&2B z;X5M6TH`K0h+ZEN#c|C*rF3JTr(^6IOxrH~bMBZ(MBuj%6}5=!MA*>ps3K6B3zbS% z9S&_!jHkNL!Wwy{RQzr@x28ao*fz^44$D&>mK&QV3?DxS!^$luw4Wd{`Es}4DNH_` zt*E3*0n@e&^A9OAVQ2q^!?EhAVjt!oUF!&~g(=TS0k?`0i~j_l)>|QzFyR-;8&nVt z647Ry^UU9rkv!H`|dKp%unBarwR?%0l zkx`B3pcK!P&3TfAOf^$aB&ROKpf%^z@G@2X3VIF}jsER&L3y_`VtBQzxabqkvq-s; z)rIKOP8K&)l$EBY>w1=HKeu$HKQh})8;U=c1{UQI44!1U5XQpQ$O8n#I!%l zY^ksk-~kX{%a;h7P++t&}@8vHGaixY*ZGt8(DMH;G zT`1qmRsjOsRte($30p7$$;;5spZkJj<7c>G>@HDU_c9E-Zd_U^z3YG2v^f}&K}A0> zp9SVbAVd?w`FnUFcE}HvW>7fJ(b}4s8jbcR` z`%XahMaMvPmOXI2r^StmdeEEA&?6Rv1%sD`$O27L%?gZ>y3 zB2Y&(apyhyR~W7-FX)RWwK2)xZyDTvYm?5gyQ%$HkTW{LqBn4 zuK|#MUaW4#EaY2N8P_wmY))piiV&wm{mWo4q7UDN!rwaRrUz3{gi!CKj8V4aVEj-# zV8p$I9B_O1Urd$Bw_CR;k<*|-1q#{9G$wO}L;cALJi!GxB?65PH`(k1f9t}4QR7>e zF7e&6nMZ4pU@SMBf_~TES>{8GB+y@AW`O+OiQhW>BV=U%{QzYc<<3?ji4yVr@D?c* zqP6a>CkGfkl4vL6xwl(fAn%%6XNwVmz)HKC=JjKZxye}QHrxjl26HAkluK-Kl z0!Vy1rco1y5z4&n(X!_>)5N~tr8f-&%rJe0YZ8y6yCv5hppqgXW94A4MYtzMwt! z3!Qzbb%9Iyne%5~79!d5vUBHzcr#>-Q7XOWAmyo0q{nupti~agE>S5;t3lQvnmLq0 z7lZ*FYvNJY)~8b?ex7mqMRj%kBacj3GzhmIXW8x&$E6*ZU=(D0t~@Iq-2size36za zgr+F-gQStMJp-O?WA~nA58zfwNZ)A{8X~UmBpxM5Sy%ONu+y8_ULg4K(pO)P9a}dj z+&vSujP{c0INWb~AzjfM8RIM-fHNILc{1>$yN!R#({W{BqvNCC0y>|Zc1Os0Bg*Z{$|c~rK>mdE~E z)`}2CA|NmxJb;N_w|`FFoUs;@3^crhm!WsC;r0ME=EmU`m<8YwFp;CV7(K>DJ8I(p zo|jJP7~)@?ciQ3t9-25v*XSCEW5|;OD?BL73TSNBY1WMZ1 z^9A({p<&+=K>OK_8Y9=g*HPDGm!4KTwMyH|*V#%DigLHMfQ?bz(mUFCrK_9%X3gf#WJbD z#EF8uoe4W|Y_y7~mZS(5gOT=W-*uN?mu~&(g=Y-GSvH7&CPAcO1}b$nG#jgIhtL1p z9I(+{J8_G;@OuKJB;gxrosc_;tqWed^Ui+2pwb8dPbhobZu3gN3H-A%8r5Qz+yL*` zSkNa-JP$4=jryHD{S0ry9g3{3C@@QP^Ky2;XL2_tZ^-c|mi`x! zd4%`Qv>yrH}z zOuSJAmzE07R#UaE*jB%K0;y*P#UwV%N$mNsi`Sl@5ot(|0qOeyKIfc#Jxe=Xzp0q# z+6Q?afJHD(AH-g@@BVEVTf^g$A;T)kWo?3_EbiaBerw-gk>gs4wJjzXGNPe_+zwW= zMHQ)ZlA%)JWE)DR%?D2Lr>PI6la0Y-8B9;R^L4jiCzzEd3A_?kL8<3=Z=DI~(<|8~ zu{r{|#8pyE=Wgr6>Gq)NBfbG(<6ft}qD${KY9Mv$;PWPE<67+B=qr*KxUl8OUPKpd z@T>*M>nf6IA$XCaL(nD>%N?TLXLy-SAB1o`JXN-)J^89fDpeRdCF5rp2e2TXm1VdgNhUI3%{Bg z7V=+{wALF^Xtm@;^Ef+SvzZ&H(JWL{2n4QhGfwF_|3#8NImw0bszY7&QDgX4IZQMr zZ|L!Qj0SG4S*EFmzmg+}pazjI>Vc6pLGnCQ#|=_3igZ7jg?=WC`yz0_D@o7D%Icm~ zzi6vJ#9{Z@1zpq=2fwM$N0BBMlCBJ;S<uKpYzoc5|> zxnV18qnm812V6NDt`}+`4w-MTQHpA(Vc^D4@Vo4;b%<9m%fJL)E)WUjnbTnC5R-Wu z3NPAXiK;giHf)=SM`jAct^h0g8m?R$ipA?10vTe`UXs}_QV9_ru$$qj0xQ?jcCkek zAcVKXR)^N+}C>4801qwymJJvbBMhAOZojU7)|o!hj?ssO+iXcUxV2 z5jfJnOnBaO^&~(J;T^Q%45e-?5#`gMIVyAw;TnsGVkWC&p#S(6$RLqX{6v3-_>k6b zgvjo54+5SawRj5dH1VRm#vwucxBg6)AbFYOKcmq&x-0+=XX!Hly;a z$^RD6h8D;iHUT9Ia|=Y>=~^8L|3L08oQK`{smH`fo!q9%LLhkEsdUQTjJkGzYZvZ& z1ls}RP+hBRC!1P(T3&S$fpctWrfCizlhX^MM`5stfZDpeaKlb|FTP4N;`_FYQvE4e z_GkksTkdU+ZDu$xaBVg8ns~r_{=7F1=*w&`r(Y}LGi3cpqO{cEpALSrZrx3B!KO!T z>uyb%pGDbN_CHBft^jaak>@%$1SaD^oLu2`|3)udR^h2Ehu-&Xe^OBV*bTq$@x$%u z(H!afCiA=tz!%@XeUVI#T={=f@@(J){=;~)UQ8Mkz`>7X(GLp(0!#7#0NvEl-rn57 z?SFu-Ipc7^fzpe8%KJm0RS4~4s_DnX;GH6Bp%z`!nyh1sn63!9G72^AHFZOykndH< zku;C!L=!=`?%Ekxo$)x<#0yvUO%Cq))>{P|iLFLtrsWFwfebN9IwW6gGqC))`!Mvr zh>t>IjkOqRdFk`R*yQ%}`0Zv}J)r+rs<{eE;CQIv(ZJ)kWR}0|@(`%9RUI-1g}cFw zN0@ZKpIvaF@poKzNVgUsa=62`h`E(gPKj~2e7`(D>=J(r+ zwytDM!Xi@8e`JTAfA93lVJ#rd7A=zl|8hvX3uZvOg;@*<9E>snY50cmt_-ZD;7QiQ z{>~hjxmFXWAs&ILXqc=hi{)CHbH>H86D{{kVIqLeHiqBb?g5q}GRohKGJB7nyFO`W zN44opv-?%!FrAQc)&dmZeW3e~osMH2EZf1^;p7$eEBPPF+tJ5_e7VrV|E_@Rx1S6} zUAKs;ww0Qb^0LBxm=*;HNIM~=*HgDdOMlQI2MWwPY+GM7y)M2BTDZ)m*9L}A*$n@J-EP=H0Fq~n1}*L54m>`mwK&QfrIiq zue&`C7rE&Yg{cU9ej@S@T*YBqjviV6KSt-h*F;UsFHWIIQ_fqB4l_?@I2;B1Jfm#_ zP0o9ugk)2AJESEx$7D!ZtW!T9m%_h%rW3f9*F@gi!T?Tph~cEDRpJeMQb&PX`1|{J z-X7Z}$#Nu1#yKES3k8=s`HqFmTTN-8ejFTOGeZPz!iq*pY$djo&5Tf01iL5o8R}Qz zrxfI#_beoQ)L|a%xWOrqIA+#J;&dCrRj9TLMI<=r4AmfQV*%+YsE^`B4OReB)on;$ zmvJHp3#1HScIwg)(yUOS9@&gQgeUiNmLJkf^$2wrjF$9=QD{qp7t@N_Ks=ca2S8P)11}@VOeK#1r_XN++=h%)h24Gl zU=$PUkrOfh*63e2XbjhjnO%e-l02M%PzF+CA_bWkLJp!~2_2eGr!CG=hz=?Xrem^U zOkRjf?P{h?kH9r4kJcNi`zNv<$5?H6;#kcXw?058p~=sGsX>zaX*DO-ZusVO5(h7y z6DUx8a${$+v+POHk<^@-2C60fi}7pS`9k~>_DEgum}*`6ZE+Ye>4qW4b+8DUh|_m# zs1V83zO`z#GOMEp{bZTKAri4_vFCM+!fQlIbNEqAZl0fx)Nqx zMGocp93_ZCqh{Ip94GqbFc#I$Iqn%iYY4sttNdONDu6_KfwGpPE>s4 zc(IVmT~|eqM9|aGJ$YWyVO$!H7QU4dC$z+O%kV|N9nQndv&$7&?IgMMIYj_ZB?DJ; z{Razvawj>jb_${;g?GSfjJ1i20)i!ea#XBc*hExyt8_uZXYcm{jLwZBeG($BX`%7> z?)qQ3OmS_3{;LYp7?S2=lR$jcrkxk;!w%7e2WeAHK6)3wms#sXS=Tv*+(fV+hBX6x z96T=Td-aLR3gP@+phP=E9+#WQ*-ZzHj4=c)8&|-k@olsnA)vxMqJhGf2|c?hZNblL z`>Yw#Z2T4hnu@hHqn@znMc@^aQN?Z8+{NUmDR8hf{XnqNj!(nu2RMBCGj|7v?2*y# z#%161?Ag|PW!-N_e5Z}0rqjj}4QarDwUjGPyn zLgehEx}n$mOR$*#u=t5Wp;SaQj=1^+n>e`ta~tOms|r}AD0#v--V+tlZ{A>pA9~6? z`x3j@D4nD7e<8re1OPiZjoqhl>FnnFe9K+agEqU3z9RO~uv}bH;@NV=L*hkC4a?}8 zz|FuR+ow=)&JIXCt^wVr>G(v-KRx1nF4+3_&oSd!BeOlCMCaZInM7oY-6kcROzLA& zF7OMwY`V>!duff3#sg|39U>^~VqsKfHKEM?@F2%0;VT|J1(F>Yo?3ekSFCpWyghy zGr@u#=)S3IsRI4BA<1n={cv56MEOw_vUNVQ$sL$Yu{`=b!%i#-E&)wC-vt}mJ0bQ<%5pe7=$*C= z5oy=!FWsiqIMUj&pTG*Q-P4;7t&>+(4Ft!f?83mzMFviOyJqm5!27xt|M;2t+Wc*F z@lM~E5-Bi1Z8Z;5Hmu(>UE0ri@Kc30pcloSXj?Q=;garTg7me$c}GD%8fC}kS}Fck`{nZ_y@mb|-@@Xwa=E*lGM|=phxaB%w?4>_2OL zcGGfv<=gSzXDo~y0n1mU*IKVX94R6-sM)BaDoX=~@06122LWL+OoOJaPG8rZa2)04WTM{0SK){(CU}*FeGC#M0byH&O z-S1i(WRCCPYhl=2qjFBL5>{(7!5{K*gI_C3-ztdL7IYV)KEo&tMHcLwlx6sNl<{~z z^5(p)xG_^h`w7|Y!|Z^yan$1d_x!wq_@cGjr%@0g=jg|}!>Fca!olY`qv6M2!2e~> zLXZgQ&*~=tiP*TdQ;XeDe~lcmH8Yj*HuBLy^kit~c@W;;zTwSJa60$0HTB5!_5P#V zz;2~`k7-N3=Ir)ag~_6RcF4|9pMN?h=K*Eq!kXFf??!vX?<0%1r>hp6xi3AR=|0PC z)r=l}zS^;wJ+6Z(Z#`7RjhWAY^()4by01$sh;2gv%KJ+<#;eajKmVsBf>f|FazRWARcuYD=~H$mpc z57&3@PZv8!zmC^vyWzgJjmH>d&TeOec?oZK3W#o>wLoWoP6kKfzY)&*?KwlAt6q{V zDb$l2j_nZ}5#HMZcIk!*;H~a^U0X!6w?DW5xtlRyTD4iGJz@+~*^~9sV+YBW^lj!! zFn;57XvW5>&3;p_V*b-l&>?-}#XZ2?T77rNwuNyzyu$Z(l#N*Ia%u|F)7-kiAcE_LK5c|Jm8w=0Rw)prD;7+fUF| zTj8ODE4R{4?!)0>XvhK}dS2Q6JH*$M6S3w0mE_3C>RIsIsO*eu)QA`H0?Xe{)W*BE zwEqIOt@w8Kf)+lyfyjKmx~{et>Bj&>Y+U(yu@YUkPsL#1e0chtG9kwl05}_~ht%=% zQ+HRlKX_2e+QlZzVt!UW-8!uXd~|dZb4uR0oUy zr<)-g(h#n2PqUDxh>a3wpJ3JxcE*2&K;Ap~?}km@h<>t9Mxx*M-d=w7SxvT)HO#%; zX+I=!G8X)$XukaeeU;fIphsm0#K&0k*UqM2{@HA%7I6GIeY=)ffpc0JIb1N>RnW`5 z))^$XWYR;CUN`#eRVZ|@cm3yr_}9JD*KnBQ=-vm8wD4crd;Fp>E6H2q#{)h&$vSR! zf&zxVORB`~p9R}Q0XWDQ9=S{IFN!SmJ90U97tTJOfS3PzFeNOJbPqoy;4|YyAb(~# zu#t1+VuycaoFC9v!*l(+g!BTv`&LYMQF^iEPHNs6oYT;m_rvzzQL+S|R@= zvE`WAK$a9J_~+fX*^c-CR^OSzXzs@>v=5$y9Int^UrtVb+BH@9iyQcL_Psv`dHhZB z)*KDbR7~agqdMd$R)?~;*t{wXcJXK7cV5~%E-9NL7}@vnP*mH_h)9egll9UTW;Yb< zx%fTqVtPT|Aj`<))*-^OX1x3W=}LvtP6LvUN@8~0t0ImZj&qdZ15xhF z{)?*gs%}$BChu>qD9PsUSREIgtfU9tJ<_-j z^z-4v4-gD2ze9{%g1VC=j|h+5*{V&dOPFCV6p~p)yN6O1fmNCZGx5=j39}>S<*b!Z zO`U8O50s+2S(;6cQYDD7r$7|-BFDopu4ql2+FG2dnPFow-iR_KYQd3gt-7%;vdl%O zdP$}$egb(WQ_MsByHOoJWK9~87Zek+^1x7(!tZdT^{fd>wfhU9`$XrJC>lOgkR%hf z``)E0S}wtQjQ$b4(QVYJ)JYn8(5Q{Ok5m)%$CWH$rt2+Cogr4~w|wiFAXk-6>!uf^ zJ@o|FDaKjYpbRPAS){SUvadDDF+uXeH;vkCoB4+GDBt&o~M=3%_uIyilpSr=8M zda?*P)Jc*ao}DN8ih@wqqQblvCmI?#kvtP_5s{QJS^P&C2COa|3r5%OLMj%~D_WHt zq7x%q=N_G!&7__)@uWG%5}`=!XfkW^!Ow4TSYWC~EyFxAkwd`mWRwJZMv^0yQ@{8` zJfRB_sVfo=8o5?Xf*VK?xOn7J^*lK}9YS=XnL9ORN&W}ChyE1#!PjH=KTeKQ{Rp$o zW{G7YzVsm$xUvlAg-ntqvv5;v>!AH214XK01?;80(3RF{7eL9H5+en41Y0LG)v!$f^u{4;c zoZV_VCaOYKV-LJ2v>e$~LLyOhXyT1wQ6bNRR2GdB>UAh9OG35ml3>26hem#XGJ3Jv zj#5iYXE1)j!IgzRQ>TReNBk7hO*MtU#L;&)tsiJ*X&C`dN0Qvp2fk7oT5$2f_eB5P z0LrsJkQxX_KIfyU=LnuCCUwIPXfU;|tkie&{1hP5oQP^ko4rJR4OAj4b9P~Jk${rNfyIIB{e|*&n`XC^|ypgDrIw+EZEefp;vC6%(9m)$`uZc_M zDxZ(P0C^Ph#UeC7J|me0b)SbT@IM`QkrYstSU59ft7khO{&oeZWoP)urU#*cyHBK=;vi&skBW+f#YgYSf8qw9~RVw9E4C0JHB&mGsQ zcLu_~?LydS_>Fw;r;rRvV?lFjqgoGP}|7CX`42oURhh19(_wmD3zXOTiT;r1xv(7 zLS3-!IH6=GQ9Ug8Bn4dQIx`u?AwJ2hh~Np;@^Cu>0cWiVTt{PvgY=ol0AHb-uE~aM zlXrrgy=JaWLD9Glu>AUWozPPS~cJC#&jVI(S`kJ;kL z5Tnq0#lrnB?^zBN?AX1A>);VXoA=(j^Lu$6TzCycy-b2)7fcjaiJLmJ-U!LChMjTE zY%OcH@iY0N`bHJ^v&RE7vbI&4we6sVvx@_c_J6wZr zqhJ^w+}Mv$EkDoX#MqkaR5qF13@+>O(&k+6ZLL==q@(7A5%g0 zy2{$Ce_Dj1P-4^@dAZE3miShnwLx!N2bEaegbi~n_)a*Bk3wHNx9o)gKaf;W#x;y5 z#J9QOAC;N(*#9WII~2TBQq=E1n_1O}kkf7@=~=HJFcpKv^T0+u$BtmnIGfLE5;{WEhLLtiqdgR zNL4fHk(wC&5GEvyH#-9ZoaIVG*oTbzv0{vSqUbxZlj2OyFd@^GA$YOL>^NVFlov45 z5!;f+Ck3}I8WCyL@Ln{gI-62+T|1@zPF%eTanym3iF2~&Z^^c4P#jQi+cksDHR=_2aC$;5KHH3-7&e^)Fp|&IVniGy=TN9w z_VLAvR9-<3^2W7B7vsltPYFv+x<#dhD|$sEhfY`;^VW>kxvWW36%T1lWfeqrpACe_ zb(f3ePiG0;MBsX3(8JW91-whSPE+OJu6duCDPyPHiKRlF+&~by(iBg&xAyD2{|1qLyg!pN?Rn35`8o zL1yNt8->wf+#xke0}2CcWx^T)T2{gd_4FTQQW*SuoRCq#slt-9)PTCENOd4yvX-pi zw?XlNzmez}xI4LuSKIVNam8$Ya2cW19awpxs9Z$ySC`&-pegzjvE$WabI$Whm-+b6VU52)w??P$q6AA*-FBvLQ|X=w$`_fcIqQnMZ+xSw~OxFndq@-kR{mKhM}ja$-< z`a`GR>YK5PS-3nEq??c=Q?7HRD$FR_eo#L|)4EdUM3RlGm5y2xN9`BF9XzXf4_5eB zP0mhml3?y=&eCTE)6Pum5R9F8)Igpik$_shXSv7&dcKpJTzc)(n>^E;B4G8)W&=E& zX-$c#=f=YteiB&|+y``Qva`3k>)JXA7k8l;e(_0ZQXR7yX{m(NR>saV4DEq6zs62y z`MS2;`Xdp!G-ksw^{l5Qya_~fox-`NoVk_jPX55YK&3#Tf?&uvSfeg`Z@g-rk({Ei5NNVw=S{;gPNMkEm!Ek1GLn?0v|>*1HsX+A zuI$M8j-g*)k*d#R+E|l4#fewN7tmg*m4;|VmBcM>p9Lq=mj4Xf5XOklk0$y0l{MyJ z13D5N%{pmPhOV>|t&Z2nuSB4@nu94xMEL8tWt5V7#5G6}Gp6E@@S;)^cgL6}D3@sy zh%3WPW|EwU-m5l_%H3-|UxXv|niC(n2%MP_oY)#`OX|VNW#h6S@3{)(n zv4wU++3RurZqR9-xe`h>9YW(ZcE9`t+=Fbos<*sVq9jf4+IXcEyTWNw+YSrVsA$CP zh>;EN>C&g!kqQJ=PdeF6)cl6+LpA)@hH);;KI;B#;oVP3u-x`nj=7jrz`yD@Os+ht ziIbcGVG0*%y@Ffu>3QrxKoQT>oj_ea8vQiq&L+P^?C8k=dtzfhE#lw-BR|R_a2Lle z6~9CDZFsjG8bBxntp|jfQ z$2)#KIoCcp|D*UXdi+=O=8+$M@cIkg+{0*A$T#+8aYQ(lKbHA_IeGe?wc;L+DHcY| z+;{(dNK#b1d~tH^AYK_mMh#%)^G|Z!)cbPV5D@1?dJ|n$9IB}SkX8WTt(SdEe(H(8 z`|S0xozj_3Uzk-i~7Z9-ql&JSG?} zuFK2s|9Q9cox#3Ia7|6?hG<73H!!M?n8OYnNM(|;u$%j0EjeaAtw z<|@MZ9<^lumXw<I#*7m(@xwf`~mJQWn$l#8Uv_|$FPNfbbWX;cyY{BpK@+u_gU_hdJ; zKGZ!YX+>-y0Ib{|S>`41p5oG9z5N)Q3)vQ^zsc|Qcpb4`uCdkuItV?7_z2n_Am0ke zMltDq?y@;(K6uXT9Gxk3dh zZVq2SaAo+tS@as(5inw&VcwEk)Qloqh}ZsL4*7hvY@wJaFxW6gj0xH44P zzuaU#;sV;A(YAk8XfA8AGG&@gcw~20424rKMqoV?(}Y_AfGd|p<&1!E`(p&6SB0O< z#x?%So#b5K7eGXJiu$mUD1yRZ@JrN;Q+$t_+WxLLa+~4iq%>vg2UQ!C$!;I|n}H?|mYaCfLAQHhUY$kSNF8ss$JQ4^9 z{{I*6uGS`Y=KmqSB}37*my zkY4wnChp&x2=MmW798%5h(7+E@08SN;!uKbrCS=Qos7BB`O#z`54M2@pkc$#Y6~Af z@uEHreasPiLLZKm!kJ1?Q7w#vn}pT@)S=yMAyle)$me4JB;-8INGW8nv6FS`s~Aa~r=nkBanVW_ zVR6Q)(k)B&LSj6$>vJpbqD@`0PqDt#XU;b;bJ1=iU{qCx3vHRP8N*S@N?m_v51Y9n zWE^z;KW$xiG+bNMA0>#AC=(1bljwbP!6RxSB82E&2r(jhjW7to=q96NkSNi6eTe8a zdI%9^^fnkJqJ?jg_uglHS>L(;+;z`B=iasM*=O(bJNtL`X?Dc;NSp5I(THl?i-{VC z2G9+3Uucod5$(3t99^XM^G>iif+TgZSIrqp>{V^Ny#7Ua=Zy=qrbIfERazU{4F}Vs7{2527F7hc@41d4kx6$ z5?7q^s$G6e@~vPwwIWl-_^BX^G>JlF9UxqldyN;VdqU|Um?+(m$>*Vo;9OAkrP)fe z@X>Q>8mDNI{)QG3I)QH1K_bZg4L}6nZqybPxgBwoHvdrb9!uEZw_w*Itvl|f)nV`X zr)2FEn+lYNlNL-LLYl_wYWAbbw-q22umPi$(8u1S3Wc(sr`X|0gIcf3S6sgF>!9}q zEh)`w?K|V$SIvb(@UevBR$8CLH~5(OU%JXoQNl)@;Y?;ZAm>99BQd4zi(mEov|2Cp znRej*vxwB&r9wgZZnm0l-9ng>b)wqd!DtMH|uV*^dRz#+s#4x@NU!Lw(mL9udQ;_dmJqSp(9^XLka*0 zaRUJK|LK68vy+G3qko4!?v1AN{2k`5ZS*ljaF)Tb>%(nK5yj;OKdYPkdh%Bf0@Zf< zZVUqE-ZcK0QaPb3fSTkd{gjG7sJF}*jG|$)VtA#PSt4@pM(k$OlK?qk8wKCJgT&4+ z%sjy^UUrCvu9# zngQJ1-Z^+aXE22>XUq|;_{7(h%eU#z?vrsL6EMSgUaUtr=URMnH@wF^6`9t1)jIJcngI}^gVP{tn)x|hwO3kTD-$(cah6c)fmLAIrFRP2%D5cP$=QP8A zlzY|lm}BIjOZ~>`1Bn1yUd&}50b(>@_6>YgESf&GE>A^SJgwI(EQCt-8;zaPuh^m} zy$_)A1X(6^ARCdI6;aW>Xk%Nx8)WYLBu!o-fcnhxrFLekZrz@QiJe&M^ zeqAhYM6USLa1!P;PMg#%2t7!(GR@{St>msp(hZUcQF?ju_L0qYEg@KluU)U;%xQAU z(qcK+kZkoR){fD8j`?ppzV~IySsJ{Ih%ah#VoCwozk`vo%#s;uX< z)3UxhZOsDb6p0u0mh^g7P*&n(w-8QZMJx_Bk-TU8Cdu>G@XPfXd3 zdBY94uEBZDu2iL6C5|55zZNPmQ7+!H?S-T&Q)*d8Tf$VfuZoceDlHa-&G*mlNBNs< zL4K7QPRYg4L(u4cS4J-Eiqh-^aq?4^=gsrP5v-|E>fnVK>R8ITezDWaRK!*fddQ?y zASaozxRdfWf)&~6^dos*e`7VcYmQ1>!s`Ptr8ck+q4b!B*+8ckapjee0hPm-(waEO z=tW+oadQ_?z+Qe5yYT@_ANJjvqp@rE@u#PQ`<a9&`vBQ&^dX_6g-E0JDj-@PA0 zU{W7+g({n3Uxx8F9Nk+242hEY^pFGnO%?*fhWuOiW^5$Vp=N`k+|mfM&81*&AuU6CgtWOX#EFkls!R9?AP7+d6+Vu1I`ws=AeSVF<`QF3E>dcy-KZZ=7vQt{T zOt&vNI-X^&39xVSEL4$q^*XJytu2nhy_EhZNFU)qrF$cUVB^u00KnD%<~J8xXP1BM zdUm3z^P~u{YnEs8FI8V>P2~()qOnm2hLO>vXOoq#SK14lDDX2PX*}Px2HV4xA3qw5nVBPRBU6B7)Uj5rxrniG;Yjv3 zoRrztw9+9W>KWZ)eMS10m0vw>F0Wg8Z4Y1kGQ-dlKjp+nq<1$h(+3!><$X_sxKkQ2 zXoM@jtO1ts$a>GhG%!JOowlc}#>Jjl$GMxdf4GPSNgg=G+Nr}TxfT6}y|m!cb7oSv z0+Z|>kr9N2lWY{QRz0@u?gByzE)_M(&ocva$yfZlqj(f-`XkRf+~#Lu;a}ti6C*UX zqfm&uM6pORvX%&$s;`M%sJb~v=bA#yntSawtj#PkyQ-;hvvGgX(bB?!%4&K_*4v$w z{8Lo1qi51YTE8V{j|_z$l4YdX4E$aMr2pLms{(ftExd6uNL;p3G>I_G%d;u;mzcB| zfZGR}FDBJ3;EGP&ttHmuG-LCG>hJ!2V9YmH63p85QrVquDsKUw4{)Ut;Tqbp(Gj)d zB8kswkPq{6EJV5wAXkRC%XGRxhZcR8nzN<)pXu{bB|E>3c|T!W^H zVG-sTho9CMuMl#KmXIjewCej7jNGAgPQ*^xjc5)$DdM8C;OpTOACsc#gp64U)$CS% zRsZ@KxIcMq$CCe{aWa-?`Y+7@$(t+JlG_A37y1`?V{T%|DTdh{f>>&=-#bjqWr=Bt zloMOc#EwCjO64u-X8eS%pZdCe|IH<-^qS2kzMSk!sr8r$0O+hFTVW$YB6bLFoN21{BEXZyV9HbRR%vx0kE>bzVQ^x&bCt$vKx zfIeSm;^w<-sojv>U5)z?>2$L(Ea%HB3)5N8tPgRc^>v8S zXu#PNP}iY~nlX5@stWRx+}@8GeES4@dxY*~-@vzxK{Du}Y3|P$*uaVXaYcFtJDWOv zf-7^^Q~KN;X|Bae$VtvQi%~lHq4zx3yV>T=w}z*`g2E}CB$8#W5oQMw(#njr>qH2> zmY7Kq+D5~51=TuXtqLl~_?-gcYQG7uc#4K3GqWf3Mcg&EtX25$5FQPd$@E^LMqlxO zfOOEitIp3DAT6@_V`5r7>fj*y`qu>(oeig-`u)K&gZe$J#a5uV%^g>93*`0XlY!sq z%|hsVg%%or*eQiG_}SNCtV|x|jMN~Opem*e=K2qtO(IpOdQpPvcBC_MdGx)k;uM{Y z^Yg3chE=2Nhwj2hJ@24dGF3Tq&xgkF`f=d*EPc zkIZA&90rA$pg+rTUg=tVAkqCw(P*IDq4jKb+2mTU+Tip_);q)a@c%Ex(XMoTBy;mqu>p$+ttmNzvsWY~Y50*!nUm*{k8D z)1Ei~UZI>_K7S+y!EDOy8>o484#2!mGwMf*=O|6@lZ8Oe*1WjKH_F(y(hb>o-YwZ?JMxh|rNOKX!{V>8TBE)mc}a5+!dZ{y zL97Bo4yT!lJ`!7q8m>ogn8APriJ$yY#Zj5hFkApJ0bY*XbaV;G+<~5YH6pTZ=l6xo`&<>BZg+7|0R%#}nVSd~X$cLCL zGuzHawZ7ApB$laEyf+pevK)`N^%b11R?*4n4ef!VKKN$q$dtPV?Y;Wq;M#VHqqrVu z+8pllRnnVsDz4@QjDVTw-VZ0I=G#aDAzzQBG~-U~f~lAX;kGLzp`}r2c}YAc4VC^p z{=QWTkO9W35%-WEa^{Ff;}N}(!kFGB?l;;T7|6V12FG0EpweaCYcE{o1SAYw zBqhTJ0cCdpsXF~h9nE+x>NxZIlSAuC-byTz ze8x3q&QD?8?(c#52S$06miwU90R0S)u(Q|D;}i1|rs*hAsKN{L;*%#0tTc3wi;%EM@_Zx62b4c2DnF~s^FK22WLD;BW_vS=Qq8#1McprvUZTgS9m-k^PclB3v5;ssIy&Fzf*T1I?xkvj6}9 diff --git a/nostarch/docx/chapter03.docx b/nostarch/docx/chapter03.docx index 0fec2184f607970b5ac08ef1e359377a7d9cae8b..228ec53dbc2c3d58a27760f61f51c42491ffa23d 100644 GIT binary patch delta 75408 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 z z3B8MeF+913yFdqK7MFs-$~6});!5lBJh|w$^76Z8mx`ro7FKGNOGtBc&61AV$v<R#S0!BW8S;XVOtj)0{vGTet$%o{wV@_&m9_elokE!`eqzl2uK zbEGP=uBrWun>0@u8xpUIJ#F*1dqwsO_wl@7$~J9_byhJgVvwXi(IS+FfM4sVmV#7G zmu>4z6;n1W$rS1hhy@MFqTYE1Z{ItmUCzA+PHhJM&d02dV11!l?xUiq`RxAZ{QJ$T zsZK)KXS{t434ba!dA$}5mjoRvCO+!&p$5e&5z^N{QnTc|%gTwe@|5C^X*YpO%BaBP zX&dwq%}Lb&wwcZqbb2uju*rMsgWGIdGO_4Cqt;@Q%dSFbBVnRso0eVk6bOPYsD{w> zVevEBwA+q{>md3mqg1W8+!sR6EcN0f^E~_bEj_KS6WriFTGkMRnqC{>yR4}O9CK$x zmVKzP-_n_!HG5f~bo{VfR;jX~SZ@e0@JbmFCx11ykLDS%N*@cFX{H0~>~NAfAAhk`Ag57;bd*-GAa zbH0JRFS^V*GbeYyrN!B@>UvqS`=k;s$$u&@PeR3|;}xTVHO#HQv7^CHLde_aZM6t3 zz(KJMN5X1thmb6tfP;P}JphkixbLDR?Rm|TS6IFTW%%g;{OgUs z;(njCPX;%*n-HTlT;;GdDBY-e?7>IxmOb%=Hs}-$&A_i|Xn>W&)7FjzY~i;j|9_vo zZ{2YlyV89X#y>J;q)O)fQjHkH>%>6f4%*J?y`QB{;g$|BuH(6Ln|a$nY7dtJWut>B5w|4ZXIUHZhIi!z=iPylB!mjwO-3&F^b zD78IVg$2wOR$v_j3oeQ?6zgifV}EqjOvTKvxiC-lz(nUz`j&Hpv$cU)r(|VlWN4ef zYLLShbLom4g+>bX(kH$NgL$`tYvMs$JddT-M_IfFY5mtM-u_vBDH^k2`3=_FRX2`b zjBvGZ{33~N8@(=h6CHRTJNROg)-~snX&l7;OJ>6yiCqa$JWmniCYV*WWPd>w6d**K zz`eiE4M>r>A|%TcX3L!Sw@CalPyh%Gk^v*h><+p)Z~hSiiZuzz^^wlFKL?Z}KO?sV zF^7>Kf#}ru3pZq~`}gQZeU)-pSfmmOoAb?&NolsfD<{m~B=KXoKvV$3Z|1Z&uZ+er zL|fzcZ)M&;qPmavk~qXfV1LwMZii0YnsrfCM0bpl5ERA6QRoz8C2CN$cxOVr_BifS zyb7*9zwMIV5IoP4tZAioKE~^yQ+cW^II7pY1Sb>t({x1;ZK)9+mmSU09CzAx{O2a+ z%o5#zbxd73>ffco8mO9L@CRm`Nj*U@0n#9#Es%!m(47`)43%D=65L#ei)+wI3I8kW#i0w6`JLgsY7G zs0MDXF~or^+=<|4_z7*K=HC%#!=FP?Vm%Kw8EvM(#rS?dqBEu&mseU|)Py^0?)__1 z>Zuyi7Aw*6n{%M6Gb`6hgdDK@?%(U;~6bm`eE}NXcNvB*pFTDjoc@ zxW2}jRS{g~48GsRJyt!}c60-d-zeQ7f6~1v?B%TJ$wCW8dp(keNDP|T zUq1%x5W!BgWq;?Ht@-0rn!kQ7Xw?-w z4ZC#S>9^1w_1+Joa`0T>cwbnJ5%2>OR_0)z&I5dgx9 zvR~syLc*h=YCd~l0wVgKj5?y8945evc*P(?PP4`B?SFlGd+U+4I(_&+`$GxM;mu?+ zuoGl5cv{l*ej7#47kmkSrS%Wv+glgTU+3|&@1Npd=X-^^j{Ikn#CK7!qFa^+bYUN7 zwNbrmx72ybG;OWXs!#M>*K}maaM5|R80AM;>aRH>m(a!MM_64*SS7(ceprY93b-`P zws?&oIDe%CxuKL5!7)|@3B(2DK57a?PkTRzoV~ALxLDQz@y@hM2J2cvV}2~Qhc_n1 z-k;Izxz1C3qnft=7>5gPvE4*~VFWYbF3*WHftqOsAkPlxiB~+$P~D>)`(Dq}00=;s zScw2!1=%uQbi@E+xMCLrXw<(_f!Qf+=>6!;?Ck(RwyRarNhG*W_U z8>;C|B$u$~ME*!qOd&*gSKum8Nr1?24*WxFfujAcFjauiz(K>@N@qQh5nCF@2kuSt ztTXswMW`E(tq>pJi9U$9>HAL{D-&>~BArBL~bsn^X9r6o1~< zOhvg&zNkF{s|ucJJCnlRZ4$D7(fW5+Z#J`^$$tLw>ziwi{PpVX+fKWvORA^V(D>eQ^M2a;E zs`Nh^&8Z&4iN>Q$Pcgvzc8)P}SFkKOJv(1{y$_M9PQ>Mc!W*KDea0(CQ8gUVGPLrD zed9;*W1RCK&qAW)+uNL3j3q$MX?{%Eo_dYrg!S{Jn*4!8dHp(^N z7|VXF`2oA;8a3uM;pBq#VqD~u+YOg)@6s&Hws_yrV^iPDS?$&D+J6l`)0QRPZBkpC zwxnptV)cy~d^z6DkJ9p*C$a*(3Pfk(gJVm{g^up}E{ZIqP2|TO5K{Zj=euGSxY|^Q7ye4wx zitB6M%ac^)B-ruS#_(Zf_(2#x zc^`&PRTRzp7BPIXtg5o0kC9mbj#Y`BVd}gadPZ<<)kc2ZDWPW;Aywu--6!$tr#J~8 z!u2kohAdR4MdDRn(PVp4scZOiMe#DTP5cyIiEp_-aQMM<{(r&SS^Cc;yL#JUi3C$| zC3TEF_)Y`Vh?c7Bx-&-PU6<*pvZ7j^-NL_3L@V~m>RlAi zztBJgIt>116NM0rh&jKg@}Q+0WMi{%z9kl4!)9%Bcq;*+K_=fNnW=ibE{J?1nW^!v zE1EiXPwi0xM}Oc@w~GLBQebH%AGfS*htWa$84K%c)q`eEeXk>iBM1sDpAx0itk1)$f51tOG#%6bQgPGGyv zJUhELNZ>C%@YBl?UK-GA~^%=j$reXY-UwEX=^mn22JochZhT_8d$LV9s zz2HH{*AGgBo#(+;@$V<6nFiY3)5kUF?ykb0x0{oP*wlYk5W~U#FfeYGDCXu-Ky-Lg zv%%*{fHtbnt%IkFMmgnZl7eb(kinh~vVKHz%iMbzW|RcF3V8Bs@W zue;Z)dgVzH4JO zMgB~R`vs^t!2iVM5Xo|2UKa5^*EBzQTUoE-7jl0fRDCJCqsLU;bR`qbmPrAl7@tRn z70^6EQViiT2|P|%0d~z%fLJF|I9YZLRU9EH-0KTLt~@+Lv*%77suWk$Rbg_6q7zk! zE4h+n!RRM5_fGSc6w%O)sZt^eq9wT=!mY+)>j;*o3r4fm_$YSdFkUS|b8Sb}CUxYH zS4)3rC)S$D-Ke!R$+bm6oRsf{>mt_I<;|ahD2m_U>ipaM-?}Z1EZc(2OF;cRmIF9no9DQT8!jZkNGGb2>hFb$^(+!23uL2>b>er0-%4@Xc<(D`Aoc4nT-MH~yl zQtGAACA9-4gu*PX09|V9pa188*Pj)%Q=*YNh>hx+il=D}>r;_L+Y$I8Wzv(_RA$sF zHs|dY^I@PwAJ~_jcXrR%+Q`!e8EijUNjy~0Y<4i>k<$yb+rYK`4DNI|#1-N-Xg+^> zkRcw>gXpDX{!rU{ugaIZy{7{W2H#%r+)mzM3V9l2e4EoxFSf7-pgb};4Km7JF@&W` zgiinwn?~WB)&dSP`VnX$=1!k1sZ zw$*3IKHSB-4b^J$E|~k&wsGMOu zbHAP80gbMq&+y52$B<{3#qm#G#Fal!VzQLv7~@&S2M?upFyo*U35V`REqi}Pw@~e@ z_SkprxgGL!OR*by3(3|MMb|szEgBz=zakeTb+b)2amrY8!?dX03Xzy+5v(W+Y6i+a z4YMs02S6Dswdc}!HKCH!N>wtDO&0vp=m!jPK6+tR0w*3fVt3Hsyi_?cFq<*sXj_pg zlTu~sgG_YdCAqbgzx0L+`5k{x_WzlCh)YS?slunX+1X^|bkA)#8R=ncXOfW|X5Dyr z#ZHB4hr{et?R@+vN1L<h{sQN6z;t0+^mp&#_{+*qzI=bm{3Oez9w8^t z{ei4{kP!cH1r^>m@%;^O(%oR2h#RKsQu^xF=ipM%=lt|Jo(sGxX_6uH^{==@6BRF} z^XO+o|5}b6tTsT1aDT%V7mQ)039@Jzk;Wd{Ry^wRmTmH|TNNn~MMc*vY&U*RDYyhH z`5*C?=+lQ~22CfPVyJ)pL~`1;^Ff-3XP{nd47oyG1%S_Eucyi_SEC!Z{UnaKkHlw*qjdK< zBLA5;ZUv(Y1s1#H6i2jm^Uy`j?=?_4FWhtQ3ihgUUDO(F*-3vBI&SO`f`}i;?l&)! z-Ju@NKGtGk9B)c=Iws}7d(sr-{6m9+F&**uX%s)@JupI|wXjzcIs`T5-AasvAL9+$j1&uX!+(7rzarAv;xF8h_it|LcTBjVNPsTKLKN!dHcJn z+uvA)Ax5#Ef(ClyWy@LZrSIBZeSudj#{z@0TH_#j9`8=&ranld{~S;rPB@ovEP*2$ z)!9>=e8GQvywXK7Bf{+`3oZ)p52RRjG z*|gMVXX;Uu8bQ?@F$jVOqV504eTrAXmC~uaN)=>LG|dr~5aOJX;klUcjPEpOSyU~_ zZnE&GqRtb4qVEnam*qM92yr6XD3}@t%yod9(Ww4xlSt3}UKx#i+D z+6jXUwhsto&N#{1h72^)9?Df_oSAazcD}^J68yaJK@O@mS((lpi+E5^5~R8udrCb^ z;>LgfiyT?<!K+( z?Jhxe72EbO4Bg{>Jcc9?BswbhFFApa0eNgAhDW{nG+c$yx{M}^iQ5}R@e_#D)z}>U z!i?BLnRi*(4arY5B>)CS>6kmZl2bdE?(`hfKN_6gD)jnL}5p zaLon&d|BkIfQOFT_|M!ruH(cZP*%tO%{a^n=268_&7Djwt!FL&3wGR3OK^W_cn?dl z^cUP>yNSX%3OBA*C3HP9VPE=d)@;0jXWW5%0`@({BT$8mK+SEI1gju==7M{2`omzC zJnN!oPfjZn=~?Xs?^-W3a$D=_2|XANy3k&`uc6GyJo-j!D-TkU$c2^%Wr-hV>Fo^_ z?DfMe7Jp3Eq%jAddeQ|q_tzW>G&Nu-Qh*il6;6K;CKiGnCcky<;*a4vSa)9A!R8!%^J^ z^B~EHzhCTcmpeh@9bMJ!Mm$(C6-m?NzVC$B5`Q1#41Kr*=Dk-VRNmDpp71WXgPMy7 zpYPkA_UCrm9RH5}duV@2r}qaIHdNB#K6f9`hSBkTMoipJDCy%)IK*3$dorrCo^K-d zs0K%MVBxp6{zE_vcR$LO@%90D`Z7lDl4t$r-H;=aAsLonx))>J;dBpJk@6_F+GR+c zK<%=^s`GE~K6$~KtCXHstvPY8HK+7w&An7GP}p}qhex&{VJ&|n!(#S5T3k^@(c~MJ zz3S?oXlNi2=iK{CKnmOOUV(|XS)eqmEaZZlA z8I@L{vFXy zf+t#{(BvoKJy&z3GJxNYdbupO(IZEOF|%Dm)&x~bN(2cbX^-UGkeP(Q+eRsza-4r0 zEs(b}-lhy7kA&YV;`lHPL{{;3C?3y`!Bc92?-=d1WjlX6r!_KoGA-cSK+=gcixVue zrG*SNcQuOVH1ake&H3l2An5LU_i%i12|#mF3f7EUK^R%oc@B6}i3g4Jby2*27?u7& zi<78Bf8l37og@)h3=d&_}3;HS*nDn#Wf3`z(l$z zLsd0ZNzs2AX+d7FbkUZ+!3xgy4f~M{k@0pR@r+L-Y!UjL|L~9m4?a;Hc@ZZ!N0Ljh z(FdwtDBpRqGAvZUB1|_CxdzhhikRt;EF(I-JU|6)5h%%AKMpdvK2`lt#Lb6k>isT0 zP3RE=FXk2i@efl>?yUoCE=9NEnUWM^S_|yKYrKDg5GPN}+9derHb~iRmVe>y8Es+e zj195?OiKQB`W7*>6>rwcic|;>1d-VO@e{4YswDP^e3C1AdlwCr)Bi-5a}Z6v?>M5R zkDD3%44*@_1m%A@AOwL-D)2+ zUblZ;Wt8|oa@g4kVMntQ4p7x)O%eFZM2NpQ;r(#8`*nU%|0}rqJ@MwgOM~eCEq4Rp zBkmJ6x9Wm;6GYE3#ipj14B}1HWLH((MhKa=iH@*o{PkEx*fPC~Xux`8viM9lWQS|7 z8PqJ|e48YG3>S!AyBw>ghbx~NKpljcS4@9HRGfw|i_kz>7bb#rIDI`SAN^Cok4|CcGl=Z;1DyC0JU_(=<-E#r=pH^A<8it+pfG6bTt7+y zy}_ux3lsQyz^?f%uM$i{?1y+aw~6T;k8a1R3=TbAc{XJ+)vzjBpX8^CY~Z zzf*?InJTT&1OoYgfNki?Q5J$#*|_28Iyx9IgJ|JS{as{5a5YVC)CY^6Cz-a@clvPz zs`kB!JqFq&?;4%Dd^QHGparjpNTV~eFs3s1uoA?Q~EY0FoX^G|Ri+4mY>$ztNTrRjCuq9Nm zCci(Q09!eQ*);)m!&wyl8rNm3y~-&bWZZkL=!+J1nshEIXhI-gVJZ%8=y`t@J$Jb| zB-@dAV~4m}Get+H)EzzE93ug)p!^kS#v;F*12jUQ3r|s-P-@#<;|9#0h77o)J+~?h<9WA3V*aO>kUo{-f)1CV6^Qt9E z7RCi8V3zJVp&yY&Hz$aCWQic=LK3$p1b4EcF_>BM^0~f*iy8fTrV7!*1Vvf8XH<4d z?+swV+hiyATu+!uEMc~5gpX!f@>vfu(xK2qTbiv4xFykypynxsD$Rda(Y!7EyTB6F zdEb)&+7?iD)xqc`drRETI6#sOwnhD9*y-l5=m~-fFJw^EZ zEoYn&WjCY&ewZ0tp%CtZbZZ{LVmPgotaw3J+!$inI!LQ^IqH-x7Ta3~9hWQK>qj=k z@Lk{CgK(K3lak>TGOmB3FFyjN>1SdluR^HjCQ7o7NSrknuPx^*NfIv_4bn5!lWkE# zZt$ZmrLT;D&<<{g)gsd;At3hGfQ%m-A*r4!+TI9>5)m80Y>|q2(+MCUIHD#R#-#Yk zU^#Lt?3SbXgid^AWGNI)A0b=f%WIL_oQJH1rWulMV6)Rntp$J8o(HXj$m@nDPKq%L zR)U!bhb)Ec*{-2ZmQGZbR8drw%bZ^OkVQ?E4c%)*g+{R>5S=Kne2`W;^y*R!+41yg z9n3DN@ox9JCn>gV9^Hle5*G&-2zpj$zq@+#%dgkqEdKHK5JofNMzT?UL>c3%itwTUKIr+QJThNIffg-(BOk7)9S z@8I9ZbQ)=yOu1)>yQ73HP%Xn?yIAX(SB?1#S~6Bb;n`6IxcsQ*Ua5*>wPN);PCN$p zP>I7Nm~AyyQtk9^8P(K_>M(}VW(T>LV_AjDDq?9hNM1{}sWZdRYJ+^&Y62*-WH_GL zh=YF#s>EB4{u^%@+wPA!a2}DzjG+upVxeFeh<*@d+PgVE$S5ahitn{CAV5)^#jYf55+n+i?g%jDNiA5X<3nr!UJ=C+HW+?+ z@(jUp??-8;uJD4QID+m@3e-f`fkA&*IRNFz0ct#0#x}UdRV`YEQ0el5Sn7 zJ+kLq8rxz@QGaw?GLHdE2SII+1moOlYc^e%^HznLi%D z(fIHpn+4D4zW~T9$sa>ofi+DH|ruKmg|2hmf1K1 zyvobAtzp04@e9czi`Fhr-)GRlgz;@MW=kO592AhzV^@tbu8Mr8Wr%K&f%h9^ufz{) zY1oS%I+cqsLB2v3=lp&RoGK}C=&%Pd%w`>DWf*mbYiAcVff3knC+t0sSMY@&h=2!G z>M2cRr|Hn~lhH(QPB>r;+YNuSSKn7MMeV!|_hF}|zrGJPdsM)J%Ipzd3|jl?)=%eQ z_{TS&!xcGrABnd8Azt}wP%2AvowomEp6-5(PlZ%23=UuHZ?l+w%=7|&N>qZ4P18%E z$S0eRur}MHC8UgxvxH-gih+u-2xJ37+<0y&vrW+>ZAVNX9kTF~MUj6^!{?GGgu$)JGvpMfZ9%BgS(V4>G?06U=`f zW#4^<3WU?ef%52$LJEKO>kvHi6Vf4gL0`0Re`PgNdD7)2#i`1wJ^NjIgikkYeurjB z)D+2ZY>4}n_Ut#|1i!boxjXW||NTGJ?hIsUAaxhzHf9Wvjr=3(=Cl~A@Q^V{PW!v+ z2;e~uT3?3su<*2AFFw|WVFH&Q()b;8`KgzB`CYVd4+g30Rjz-5BK|JUmIX0%4z+7~ z>)60M38MAMaciA6v)J zyoS7Yo#moOR*!!R)@j*xiZ&dlsTD+)LMmuf6VENLJIG=~{wSg8ED+Dfa2{}vL6Z8k z_$X#&IoG_VQB10ZHNU|bVP}7Kv5)>Op7;>UHpvueF={0r+5`) znCoGkE6BmQ-=YPDb=6!7|J{o4hkJ=?ZU=Y*ofVF@*HVVyqE<4+=iInZJZRG zI!w7zOA~*PYlQX>t81G}pZe!zux1S`TMKhBvD7HxD>7$af?xyNACt)^W9xy39h>M5 zqP#Z+ywj~Ao2sT;jc}JLo3d@H zYzs8K3#|FxT5U`w|XHO6jK?||JH ze`^cPl?BnY#|XX!a!7jgbAG-q#ayCd+AhzJu$RXkDdT!%<Z@RGXNv@!4mOUws*-kWdw!&+&H$s8v$iinz`fghXU9nxece=1k zX5n*kW68g4oJHQWI$Kt3@G~~E{3TYW(VSpxrSMVLT(H_?&%=zm4`zQm%5g?d^I(JA-$$l?LG&ea-O7Dr$rNR! zQ7=z!2Tv5S!^Uq1mB@$t7(lW<-aag8f9E9N)-e~w>xUqz`}c#0Pycb35fD`^!X%hy z(KF~0+EROy#E;=3SnSuBkOO3idSngT?Y`Q_JYOg+?sWx<$x(WwL3XTHduYa)DcOG< z@+sMyBEC)x$tWrbyhd|Eps0pjx)*il9&`y@(;Av=8K#|RpcF&!6!$#k{-!4Iu7z{z z!Oa3n9nA2M2mJBiMs2)hNUG_chxVh_iSPHToBc)eu)|-2^}`nP9Sno^i3oWVJahJT z!`VxJwSoNLGTi*G8|jWDXu2f}=ZSx0ooVfw{YZ3ofU1I(zx0K@d)==)4+GF1VX5c& zUVihjj^3<;+$lP5NouomF0U!Pr>oy!SpL181U_p>vnQgoh=Y`3$tjQ$n5`i&Kd0xw zUq3^+8hOB7yq!QzBiI_dS*$_M%B7d{pS`tISO+Ldlw_SqXi96SAe?_WCJ94fN}q`w z{fs#ehOd3`xZyNeSqEc?gOj< zIebt4^K~JuWVJ>$bC!P}BIA!@tTx@!;*T2P5$1>xmz!Vc#ahG(UhOPzJ*KI*zsu*+ z6$m>NKEQH7f@X(}0b6Kb3Uk0#ZT+Hd@?xHWAVP&V_Y?JOP98PW`cI%rS}r^$ht(!@ zY(IvcU|%!C`wV(E?T50!Z-C||=Q76+*!chIt!KYcWoo7Wz z@P!h?3t#uA8u%Z@J3P9)X7sq#tNVl8hZge)2ueUcdZwz;#!_8I?jdK4g1;^=>ofe z_wMIQl~~b^7H)4-wDT5t$1V#?U1mnxrijk=^^>yqL>}CsE+Wquhe|>)lizZMa9*; zqc8Wyhoj1UoxkI9Gb#P=Rcq|)7G8*o%xk-f$`w4_)%&JddF@nO0zmg8G`hvW3J|6; z9Q1!CPSfx%!oI%Mh*4YM3wL;A_|ysjzKto2ECwQwX$+u?SV^*ITcUn+9;8>X>Ywgk zhoW%C*iZY5-T3JZOr9)Jki5Y4uVeGlU9Nwn{*_7)Kx_>)9J|w>X*V=t>;JVFZ9}G7 z#vtW)Rm)Bbwkau2<67kfRhJyhp-%TE`51pc(Zd056E^f%!Y2hX0V3p;96YXkk(mg7 z-b8RAu&*E-gYHfFfE*sqn#K6@d9ca26-3z<;XQ^=XuFvd+MN#nsy%om_NDWvC#-NuA-*T`1rj(6Zwu2(S|B^P&J6)BD_gEkDh(^6w{BE8y-lT zB`G?&ibn~|08sz^8rrB4y>bQ8f6F0esfz7-+bPm7^SUSU)}*+p%b)<}mO#@JmosGq z5U^YaM+IcZRe7C1593kKQL7Hq<86Q2c9ZK zp8OFwz#BhBj|yb>B8gY`4L%;IHFGbX>WqUczUk)`{vYjNKvta62GGWMxpWWJg8^Xy zeJr~_lxma2Q-??NF{54}+HDg?fLfz~L8O#m0fd~Mp$uRRv*HJ8Kla7`5+I5ui>75B z?I0aw6u#Eq1R~Y;(NEFE+{N4V;)Xht^i{3jLvohgI5q1$+Y%#Y-D-Q< zI`pnN3&zTQYU9~y83D%7+jm)#Y+e?cC7iM-ScWDQ?b#-2`U6$dFskVAD9Fp94WgHl zFSPq>3bOjJ%*fxLd}2n={gmjWyDg;Th{2p~vDrQQTDpDkX}?_HSHXYI2T;d@A^CNe z+d^{`MR;KWK4g9r&YSb6COsafVbs@mkb;aLM|@b!M-xmza-0!Xz}I6wzmKx-KHuh% z9w|Z8TF&x2e_UoQZ=!e|$reKH-{VysGxzzZ+vy`t* z?-F1R7=x%POY%>E^pk%9Vp0)8=|RrNl+%zADSQm$ZOWwqwb7|UZfd_n2Xj`a1EO#q zgXE5wy6A;&BJyGupFw2~-3N&4K_MRVh)7ViXWB!s4w7(=R`RGOUI{p1Ngu=kBi5OQ zIJHPmwtfI_Ao1s4f-IeNIaj{AO2G2K0ZG>?#DjtsjGR2xl8M zeC2-$sHMfqb=LDRrDZ#C*i-cSsMUpu!iZ+m?zd3{zIb_9@>eiO19^3tKN24CGw|Ax z2T~s%pVz|lM!t)*Y1va;#zh(E;lljSy|IkWPk5m+sQuYa3>SPFmul%!#I6Tj$HeCd zD_7)o-jmf4=JbDBGMhq6YLi-W;?YS@-W4s!ZI(9?)oi$`Fl}Vk-%>a-m#&?`mECNT zn3(f^767L!QHD=G^0knkl}MPFBkpeeG+eSoIC(CEfuisXoIJdon6m+!TKCXj-*!q)kZUanv z)BW+G3EF?d7H>pw8h_iLGq^^0rQMac-mHV-QzSuh1nuY|$Ac7KC2ex9Y$jekTwcFn=!+O^B3WGa8UquPzM6mJtZRkR^8Kix~2ft~y) zEt)vcC>c@1Yc7Tc2c;o6<39P%xhpsnWm8Y+C|0?&2-8jEBhlu{&uC*ABGduk{VpAf zcF`!r+bZIfWnnH^9*Ys-)SaLgjwA~LKSKW3{pB`SH7?~pa7>`zcEw+4uBq5ZGog&!6`zXm zW3U>`7c#Dp(g4Qf@|_s#EU37=m_dwMngahmIZ%U@q-NWmpVM_nDNoP!0IB*$wL%sC;Yi! zD7-B;J0DLcVuOx7jj_z5z)ymtB}((3Ps<<){_|!YK^?*i5gX)M-;LPldm}dNCyfn# zJz`_iv9?5MUKW*Fga&6dh-mFODK@TO2SOKPf0#x#Wz|vKhCm7~xsiAa2;ZiA`%r(_ zKo-Z8W2JWg0M#>4J1pWS1k0r}&h_WZ!sy9=4v_Qe7q7t?Dv4ZBgz|W0JyBB)-NVfh z6T6GJ{80=~y|00;!ZlThh`~g1LK+&#-}Ar!{XZ!dn^JUNRxLM;!Zf=E09fvym5G7y zVeMyIAf*A!JyE+r07~&%h)AFvpRa$pAHa9Uu8L6xbhBBln{pYLt*>AXG8{&WpZ%;+ zUB$qZ)pcwRqNn!_b43+AZ{8+?nQ){|Au1HU;vFx`LB^Ma`x zj$@q1wJ|k;cdh+e^f1>3dIiO+;HO-knRml{8sgp9QM?YWxxd}gzk$CK+-)Dw+sVqj z{g(apZ+U;AP!hW}7gBjh)x#{xCWxUDBC zmR?$l{VYPU-<4bG|Fid{OO6}Ix~~H3$JHp@3-+ZQnj2WJ=7udRq&Y{5IM=q&B)S_O zG{FOq)6-re^dLSjrzg3US%sA#Szr@vfMbSYG{a_tm04L?xqgYUkm7%QxnY(j!ng74 zAx-kl115{_Me9bg@PKuii}NTc9*ms}hdg-uCb2iYD5gf6OCvRSB^8(m`-%B8{pm3){w zyoAz`%d$3u#*24gYFk_C_%O)X75=ok>-Y}a)874j-xt&h@3GmWC1|x95o71Q{6}@$ zh1lG4b|D@XjM;yAca~K@Td&TV;fB%tm(q7QAv?<0YY#ojx$kDyMupV%k>gr#-<1VU zn8?_l8L)O0aB8+ev_$I~m)*d0Eb;Rx;DjK_d3NEl0z-B;FVmb=@k*>KKEKHzomI7v})CD+v^h|sm0A@CYx zq@?1yrm1OXH-D4w_$YQDx&GN5pT46dr65p6&pJCrd%$=}(XlOGhZUa4F&Nw{)foJwNbYb?7IC@fjhN2oX)3*t>O7M7Gdj z`?P|X5G0(|WFf3VmK=o@@oS5zXiyIYLs7{uz6#}zCA)^W{qX*jMR#qg-G^`q2|-C2 zhO2*9kk;k5iAy3R&lEzeI$bd0 zXENZRNwlI~Is*X(T=lvoQ%k?TqIK|&N!tlGdV<;I(&`~sCv9cG!eyf1*RYW_Sp^fQ zv4-pJ>(sM?Kvr9E7tND&$xuJT>$H0}zbSu!=YLF^6z zT(P9ElpA=x)MhRR_Y^82ilJ^}D5LbqGm%DNI&WKF2?bO)&>CoI!wJ=pz?9p_P1nhs z8vHQ+gR5=al{`%epn72VDA3V+D>_qeIob8u!;Ns8rpdu+IL(zEB{)%#{HT1{9u8Gi( zJuz3{^~HD5;(m?wRm|W0VHGZt=vi>rOM$qD#1~5!`9r+?4Oh}l)Fsal)zf4dPRuW^ z#G4}PCamim8IYti>>qAt_rHr*tNedBxa69*iY4)~)YRi>cYNXZvSqv90rC z)niJEqu4q&T>je>DfOl=+PZ0+uXi{^U8XE*hU)5PDM?&MNfRYo59EX4O<#=xz1!C6 ztm#|1DN9iPZJY*HR}t3PpL_o8~34KUSgEt7~2fblLIxQoW~Zo(eE8-pu9_y2}Ic#|=z6N$d|wS7T2P zeOi8V^GN;r%fBehDn-`)}?*=)02PVC{PYC1_|xa7ZY^&%2#h&(5cs_0r}jq#keKM*8C;WmkVxPQ&m+m56@}$GE{3;N2j5Bd{iAt zL?3}-;b22m6K#E!Ue40R9C00>J|0na=nA?Yhb-BE*3rb~?^J*IA+P{S&~f&(epfIQ zc48#BbsB^UZqUeh2pnk9WGNL28(wUFnD7)|&E(U`eM-wa@ zYD^m0z1SI!EKM^hXJ+(fnOj?%Nh` z#KVz=J9kSmEf#bMUZm=7tiQ9a% z0OeO4C*XhYcf=`=!{m?I{Kd4`DPU~F#yA{!$v-aY{ z#SvCL6lb^0XRbYFe0{zhTe!?(m|Jsy)%eEi&IpI1>p>v3=L(S3=u!|=N#;!(v$^cz z&02(mjlW|*!3alfBHq?y^zXylh=rlJ`2eJq=9Pa?7)<>`w#J6RG+dsC(`VYp_}=o8 zXS3@hzP-wtp|Ni1Fak@qP5U$z)cZoD{Yn+q#N5eO^P8Ky$JNaZJK4=!bjyh_HBU5@ zaYD;=FIiW7haA__R1qC_oAOn*o~?w2sl!*^>nob+1QVQ-vAufe(~a<+tG~)nO+}GU z)6;)>BHEuhX_pNzu-y~Y^&eN(xp4n%U$$NI;H1u zM8{W+vw|UoQTEZ(8`MR3Dhm(-h^%mNMfO!oRL>9NnKD55MA*U!QL1Wzb6(QHL$@Tk zo~E~FJWWC&aMka6rsY}AX!<5K#d_xxcVf3aC}Yw!3UzFNUAD{-r0eS z!wX|X$>KL}uq{0av->EA3W&#BK)TF@Pr}#2-~ai=1!LYeI&WlwKytE$SPO9$ESA+Po39`bD6_V$p+s=C~838fzght^wsVTRF(l z)4daLFfCb5G#?}_dP{iwA*#_qSIaGz+XNfXxnb$82i5C}`Zoh?rpZtu>-B$K-OE|$ zZT4LsUPD9x=V7)_ zI%^N@-SwZuw^^7yca%7nU(P;qk}`<*DTVcT@fq2o3{FAAmV$%BNEjGuzWw0ZGsbuI z(k1|QKsLlP0eqbLT=5dgng@S#Sg{q$P}K=$9y@|*7%?l35?-wD`NBn(9B4i^*w&b! z7?SNvDnx!?mkG1<5svQnQ0Cp}Vv?}iXD64odpFx;wRZ0}A1m6bp;GjPzVg5InfnY3 zc7(g_jLXY>5ic(YULgiQTN=lS}uGoC|9MHdBYXJ*8@e;1FK~W>$<0Tt_**fpkrPc`)D4+kUgh6 zk|Tu6WfUS_4d|(PI$M`NtlEp{ygmF#Ta5cItpRbq1 zd!eTTCWT^HxSW4QhnHhDP!O3wF4Cuvb>%Z&Op0)7(xk-J{D}Lvif3zxP83L2G`dsL zj7Gylw7}6~t!VY6=#Cde`#sW~Cgjf^q5{34Fs2*BdUGI{!BC`Yu#dGhj1E7(i$5Xp0M$&cS}?H552q#Z<&h=+LG+QRFX&i9#E$jiO0efu z+7D%Yp3;AhID1*o_X^q$VLs4>P@W?Cixa#pE4_dljv51IRp7{K^8Y75 z1_8V1A$o)xf`(OTRLA*j zokPfZM-h$OAF0aPRz%|~hDK|S;LV;mO89@{CMKBN6Q4@CQ6)}Hu%p7BF}e>Tu_ugG z4-zqSSG&U?qG<_nTFhyG=J`}cu!(Z@$Wiy4+E@qn{up}guq31cxITO2rCnl8{t7aPdECbhVrdK(31y#$=@S%O>=Ax1ToBuwoX1JgPN{l=c={tT z=;9?rSxQQmX`aWoNrd6qu&f(=3Tc0kYPw`sl8dCnE>~}nZLb;OGmJXlM&!LDWHU%Y z;Vyb279^X>Fe%aj+W3lU+bsI;b(~>l0X&IfCy^aUEt`}M9{?Aua5lH;(oxgh$P8BA zA@P=Ht96*vw;U5KwFu=?oFp^|AFrV3{&rfFQ~lj|_I0O|sCcrcN@lBBUe|veO|rGm zG4^8969KYcsRwc+l6P4UA9Hlka>XtTjLj^w^q$DtBmP>*GFX$67|1$YK-3z`naF?l z7{-QFOhnA=_2MohH$fa`SAv~D2>bqlCg`YZjl-Dg99v9^dRl)5t$A6rdaiI}sp$?k zADuZ>L=d2=7G^X7W;{$3eT;wa9{`h(+#HM5#A0s6rWNzIhztNpkaUN{D*?r?!e^d`tB~0On8U!j zM|dw@k(&dnoZ(bqZA1B6P4zi;x?SQK#B(GN>oSlDtwAb!v9TD{SqSMGB3~FAq3yX) z_`R6e1&Pb&x$0Cy(j|WYVnCh0&zT|?*xdq^&Ko}bBtP<7A zDsW9SRo(KY1c@ffp063fS%DOCfivp9Xp8RI;e3It0%(=Sg;XV*suRd(by(q*5e6Xc z+b13_h?cE;L~orF7r5FSMbY$hcbuS8Tdq-GRxQaoD`>R}Pb|Bkz+oAGU(1mbD5^2i z%VsAp_?mD7$qY6wCMi%{)kmWDkk`x4n;w3YO}xO>DtcV5z;8fTspfM$J)}8S3$1B+ z)P1^$z~Tn4aWfsc<%V>8H?XkgrM3a8?An@%$bQG%fSOaB98NBaJ468ACzDQeB{ zV_Itt<%8&f#{eiyH3y6NS0oA$dn9s2gbAf;YJEnvki(T=uY|jQILiqO5~#ih1gAJ> z(R$XTiuII0=qz2_CGl)U1DTL5g~-jMXlG3Yi&R*w6Sl$mmGDja1l2betO;qAVOt@+ zPRebk4K{_W#M8=f105*LMWO~<#)>AAOH6NI`%w{}${*4vR+xl&@pv(Z3fp-)u_F#? z$uLRMr^b#qzU#Vw^Ws-L$qT$Tez6w#vg;_vw!CW8jU>We4@@#84`pZ#CAbe?u4e7B zWphC{Yy?01uAeF>a>!eX99yU#K$pSfz*nK|({X5{RMd#uKhE0rl|ZEEQ~MT-pJ-Mc zE4_=pHI2LK7{}hegeg#qm9w7T`tD*yR?R`kBia(q$+A~}lV7a(to#_V@^K0ywxQEp zPW?9&JySj#zwGc0Yz6FjL(%$GTO}nr-Fk?imxk%hlsy5Cdsz!cvf)UZSoKZYjCLP z^Y!e1#3nwUeyGpaF!qHU%IYyTTQr^@!xb#!UoDciiy_;C6Ggt@I;Rf$ufP1OeWhOk z%p~krMnnOcx*3B;N(;76-L_oRvhS`POaU0Q1mMmLigGpxQ7;c$5uVfQ^&KcQhY?F@1#mD55uj2$p6aE=C)a zu9_xkV2@6@dQ8E^N2r=G7v>QVHp8Y$6o;|OFI3pqg_p+r!o@S$5YWhwMT==U_dKOR z>(lH@?Exc9ID-sO9R{*W0ljCdyg@lR-16VaKMltY({ zL-f14e-W3y*$$;Nf2Y<~q_7_yWmk8#L&0rK;bR1s($SKuuEnW^3A`x-iY0jgohMT_ zL{;CH)H5GQ0jxx&P(uC=hYHd>oP(%;f*pAcq!1Ibc&%VZSE&i7rRyIeY*sq#FnVnS8-KmsIKE% zx-`LYxjj3HRNWF~%WDk*opOkx=p<@~D6X%C%i{Ih%S++QX4hjkdt}9y35(8uZe;Z4 zi?FABafS61!x3%CJ15Tk{V1GKWhHQ3`|M<@1h90F`PMJ|HN7g)mH90HJ)DmTt zsG!^w@lqb{=z(Zjl6h85g8!`XqrsWW-}c~)qPvRZT4&cr*vXml#g%E+W!JV5-STWW z)0u7Qe?Qr#DeC$ZEx7JO1FwdE4a0MA0^RZgtDTegeMM2!qlY!d(B8F0t_oBsHk5tC zL1^%D*Y2>zo~lrDG1fZaiy^C+Tc-J_IQQi(_u9Ax8=gnBTm&{#Wtlvktzn-uHQ zjxMTDI0lL_Y8w9y#T)*4FY_g1?fx9p+!N0)?@jY$&pLNHaLUc${BbP}uMA8BsU%u&!@` z*~NLSfy9*+K3LvUoAA>3+*M<7*WK==EQ*faZr?NlU({@+avP6heeH8E$1yXh$~T!X zK9FfnOf|tUwpES&IASjpHsKB@2V~DK4vM}B1uHNyo(@{%5hF=|G%QgwrU)<7FV7@; zo@(gMS)~g$1LEx%4U3NR=o8y>Jli;{JY4sy9?0X%rv#cMY0_E6#W6*>Eo)HZCpiP1 zhH1-&aYjYv+g>O+eKIPBEt!_z23MLkYj#A(`>;mx3`6qlv(m@iFM6PQu*UElTh^@! zW+^!{2VAKG-O^2e+c8?H14#;;z;Hoq_Hdz}fjd29I97ySS+4bNeng&TPB+$;S3WB^ zRSotRe~i__ZMa4}f)kjAF1MAgZuwrISd~B=M{sIHozgSf8EoFY4F`J6FAsqh16)f< z9Aup@k3f`j-HI6?A+&Q8O&sG0O6-XGKuk0W7x`F2fe>VWu9VhDWwp?y7>NC_D51id z;hYiRyKGH2B#96vIG*OV7${5|gkPEC+-h(;apicz#+P1qUIvQcx|(gbtq5Py?LY&h zkfT}=69|)in?6xdhJ+7DHnd@}sc75A;n5-FbL`)t&1s7;dH&nPkn$?(s#$O~BD;>v z1^CH0z9ag7v`i2kk&eTgDB)yV;b5?lc(A2ev|48i1{=uGJ^=_5P6~YdZoR-E!hDc| zn&StKbT9zVQ4iY?O-$H?Lwk{!AmB77WbS3WxGcFvzqk7#=$UOcG+|>na`eI<+>`*rc2rr`S}ja}WT!M+)Xuww=|=`U`jn9?5~hVR zj#6z)&lxj-sYeFcp{G>HSBUGCC-DrRTG4q+_-ZRUr1_dETP7U5gO8Y@X{v`ff8`NlZ*4td z7#9g|Bjnsc=d6ZKuHY5X3va^Qz?)z|ILvU%*PeZvI(D$M^v z{`%&ti(-Shgk1A9(G!(3!U3!&-MUQ@nukL^@&SX1nk1P%&@#Cc69;*!tf;n#_*Hd( z8_5)1&k&DYnm+2blVR*)xQur{xQB^P9i&;9B-A|`WW{~`l0J6WUiwnuE~cgG?e9O* zR}DfIY0|MyvR=(Pbi=lJ7KUCmGvjGu8<+c*QEp<{RW?l zTogoLt61g5l*Fj}yRs0mLok^}DJHak7Fm}ksFYD1L*4Dif%h+T`x#-rVrWtsXJoMe*DxG$hj9EvPFATLT4OZB5Ab$DR{PJ$*eb})J8r8W^AJ)_*Mr{9bkQL*)wdtxiw=pA)lg^E{;0DZTs)kL z)!VeO#n&a^Y<;T{&Th0@9rsZTM?D@J6%lo&A(6*nnq$eXfokahMZd`~qIH&#D^ac$Fqk4v!7;<3G zZ5>TY{}`#YgFtTw_x_}}9YPnyvIp5h(Vd<{l?ix^3$CN~z%<-A|KiymRu0D{m z%ut@E#UE0DK$yQ;&t%Ht#nh&4wg!pu90xNI#(+y8l zeC_i>#;fdp1js93Ga5|X#c;OD@kjhyg`n+49O?T8p>0<(5HWMgS%l9~=@;-E16z_T z**X{{v)?h;bIQk%C49HYS5Y{}SwZ(~ocCP{!+?O{bW9d)MGBLD4^WE=p_j4M*A<6@gguD!ebR5I0y$0c+$IR7DrKIwJP> z$uN$9{d{=Yma3S4mN70)YkjhqCsi>p=5wehg6;=yAZo+8P6us8pG@f}gud|D*b6`` znt%B-v6z=9HfWS#Fr6iSTVadq|UflP+0& zFIqRUxUCed$#|AX*KN@@1N`{T?D(I_t5_>f-Iv~f@LUdFd25NQx4$K?7Qeba+$!s|;18urpG&^TaaSAsoTt-~aF#*ALk z)`q}qQ4E}~+TI3BddGJ!W-yz#L-E0G$$6lES^7FwQIXjWYjQMRi794B4YE8aY&sIl zPsvq&Y3J61@VwtN9(&!X??qh;^uPo2pr-E?&yYpc2cPT=^nEX;{rC_qD0CMD;G(;D zK?lp%PTZzOVc>l;A~c9#2$+7f<2X)|_U86o(kaVLy1(ldF19=;7gD@{_Sq&g@^piL zAN9*^kP~wR&5H2CSky7d8n;7Q9Z5~$`Vprt`V`I9tLRGjF%pQ$lJ1br1|(&}^r#6e zz;KrPUF>gRyd-J*L0~3PK1-LhD-;AEhL0Bw7CBUD9QFKEi>^>19l}NeGu|zRJ=i`PDbO zW#d3^<4bOd+aj`Gp(g~u5J)YdoBToUjHf6=Zy0|1G0L9lAma-{_=j?G1fDdaY5qWn z6qZp6y0r-Y0;h&?u#PZ)7#n~;V3BummRB7oHEBSZq>&ipar6xpN`oV%SSotxC zR@s()xDz(`d!$DXtQ;?h>`@hnUkz7#9>Jy|RAGI0X@OtE7Q(?OAkI8WQj=9Jkb_nm ztD<!Ae=kB zVaa|Mm44UP^@GhpyXLv3r^pkWHcn~(G878(o3xi!EDQ{bXK`gIad5?OHOo=#*7T%F zafN6cAafxMO@Z+l}E{4ErEpI z*W-HjfD=DA;q_{TUlc2`7ldn7NZh?%_9m#;nT9(- z>?L5p3UfM8)P!YD5Xak<^w<*Js?tLck%EZ^#*f* zUJ>Mi=i-xG*SEX?j_g_HBMht&-je4pjdWv}_KH|2b&lICTo$7?Jx-7CQ zqqr~{fEIv%(u#&zQUH|}I&b&!H#|*~cBqzjtB~B#8=9r-x;}v1x*m?Pqm57u0}OAo zaP}cuLA6Dd$t|hJ09jGFSNUQ|oUbl~zp~gps{uh%V@O_fr2>Xju@%c&-&(6UH+tey zD>tHiT=49T3jmAIyU)Ao69$QP3)M~+t-x}v&oCx`^!CT78hBCVYru~91cE?4;tCB2 znn71t7%x^d(q7bSx25t(0yv1USFy;l<_oK=;3U&5EHoLDque<1)aWbAvEm$hk*8O_ z(^0vyQ5jdKnQ6Xe-47c)J0;S)zYDedWMe)%YUWmugM}Kb7+n-}3Th$v4qWI-$uVG9 zOB;HBzbn4s2Sl$U@bKd^2rb$#P}4z2UCo5IMjC=H2A=a+b#o z82x@MVe@^laMrd*<91cKApnWtZ{p^K^qJ|%*cTNFK(U83-oJr{gw#QRa9H!oO3oq3VP3=!;?*Zt2{^K`4C9c@;FIP7M!Mjh8FTxxDtR0#%9Wm4m)g>SUeZl zBqh270ALjQbeheT1?_D|56ExzoijHfi~btTXjdU)2mS)BU; zB@qmCEfCrTdr)u5Ki0Rz=Uc5|$O1SYgHUtY^l$}slM}-t$4i3T1my+5a|4Tx=D4Qc z%7DnS9gz25lveGyf%gSIM}wVJRM0J|VNH!vx}182^+LP*vZ__na~6h8+40j|KLC}$DYj83K~ZU-DAnGug3B_N~y zsUd`5Z8`| znC3xG*BOnp7nN`|n^Jg8iM2_VFpKjjc?L1KfZAd@O|cO3k}s2@`!OUmBYp9r%oowo zk45}}umF;(MSt8ieXnTpq#6B9gG2 z*inb0T}E7K^HWh3N|oAGk5Kq*UUpT@C{cp5ISr60h%rQ!a!6p&QO6* zHld7mZ{6$qo`u}EP&2950B*v_9HMQWmZ@?I0cFeAn#7JdpypfnI!C_6d7|(>H zUTJPp!=gSBpla#Hjc638RNYx46*hV_ItfC|-y94N){9bLA0^S^o@R;vEqRAZ9{UwO z3+Srx*z0clMzmzpl{dNyJlpc*&oBYiz4b){dx4w1r-2=Rvj4LY1?OMRfLb7ILs*aW z4a1xPFkT^w8N-N;CQ3RM2hQU=d>4G%HoW>(y-Z4$Cl~90DwGhsJ)(i1!fakZV)5t& zS&|IJ4>tTBLsBG{W1!!5z3}SYMtx?-(rzPlTep$uD|$fZHTBqm4hoX3>I+VI-fK9xpz!WT7<7yk4wg+7?PK^dhXB zt|5qyd8a|?csY3UZaU({qM~E4I5ag_UQ9}3cGzP?gb8&&O+WDwc_nsh!qTT0bFtDcHI#J%WzwDyozOczGJ^AU^z|Q{`OnKf(vl_=%k74nLvl=tPQf}BF^z*hNG5Q=for!gIF9vbrB)2os#x9AL&a5A?R(>m@LOh)ekxh5W$LA z+Vg;QpiS5aS()5i^taerNiC+U#y4DlcL(J}#TR9i(kbf{W~jlvU7TjiJ7qY9 zI+25{uy53)kHNo%8gPE^(*=gXAhLxnG1u7?HR8n`Tn5umc=w#m(LhN&MHqZ0Qd}e} z%CrtnVWJ&NkZ*)u>l+R}OSY|lnW8q_{kT&j{1{WEhaYhPs0n^d-D+$I?d4W$rCZIV zVd?+rxAN*;;EBLz6vA_q@@u-|Rgp^Yz#-{DX(nk|^1Kq6pExk#QQs zhhx(0TB;sM7}b2WGmPIfwln+^yFigV-B+Cvs>}XeUngL- z!A>#Pgbr5{wE&&qk+HUa3Dzs#`N;3fx*43M%Oz1Kh`0Il01gUq`C*tMQ#3qc@5oXh z>fR;)%6jJqB6t(dv$JfM0a#k zMuPSS=rlsgsC5Oy@64h*0JR)ssYkjmSdRil)eVKJqI{@+x+950h2%AAp@l>hIO-e8 zD&aXI7v6*z&QRQ`-?fkHwa4{t;GU%IawU929MO+36$Ms*T|&7MrHd048a+d`wvD3O zsu+_jTu^^ZNe0( z6{R?OnE$?~>Ku}XN0dxTqAfa|hjiPqMOK}vI(7Z3ARb41ZPlOqn!5KjiEnhFhmS%i z0=n-xd)!QaUcEO4d%Ni^LItZmZZ;{R7imcji+aI_`qjy?u8Oiu?_l2uBG$u5RGL#I zsW~)jz2VQDE}|v-VWik%OPd;~aul7_8a_=I@$2vFowP_`9thZqXxqv6RkBWTG>Tf7 zZ!z=%RAWLk*boJENI1cpyCtoxnXYrxLiAcN9QFR9TWGZYZ5Pz7X#SUn9Vy9>n`K<({CGq<*w4a z*nEOOX-g0k|$ECozASu1W0Dksr&|UGjhi3qU6QnC3j@lEX6%!+tIxJCEI-d5JMyB$M2t{ zzYz0Jz66_hBkkDN-@5A`f}i7zv%R>;1KT8c`eFCOpbH)A6%r@?ER$mf)2aMG+R9V3mx=-C_?p> zGf@~2BHZgT-pmDEX;XnLYCgK36wS2|rZhE!85vr36jL$npamiYV*N=F0;7qv zL2*)))A^=lQkF5y!XegwOD`8Wh`i8MMYF9dh80;o($m*=dDRFkit)!M=-Q=XfbuMG zo_D8D7|B-;?KWt$ggM!+rYf$3KYrA6rok+{W8bX@t*fkxkOfjX^Z^HtDHcKxIg1_8 zI*Rhi=)ns;iexKtrnk%Pu;bhZ=fY zi>iOd@phj=3+3#Br|@;YU9VxGN0pKtz&=BF4a4$U&yFc5@1hzOb=r zoB)-=L|sf}_)l*2YK`Gua3^>?16t#s;GY&Y(*Z}M`>0KSQ#Dmr#5++OPjP*>&Ol%7 zQJ;X_)$^!Fci9IYHD3P14p-3(*%$X3D3KE>7KKr|>cc%blz8!QM-LMQA8vCC(h#k> z3!yH#e-(Dw_Cb=NdzvkWk)ZavB5N8s#;cc%%es^NC!g$YjV2jY^ap998ZoazZxv+Pwz(0+Mc} zG|!S4Ou=@=_aF3r;@~;^DUFw~k@z)XS5_8)R?T47S&Hs8a1^>FV3436CbT!FhCJ&l zwuH6YSAItjJJLtKtmLU%--p zR?2b(4PB6qy)UK(sDKv+P(^Nxx}j~>de+aK{(`1xjvMT43kxGFqFJ&_`U@}lgV)ei z``;OVv3W%6v)xT&0n1&!iNAxS(DCwlk>|;r?)%`1f;f8%Dg9zAPTpR(`0!QCJxn=5 zQ>82AO!_apS09rdy@MGilEn?RppWsiD5qG-QkoNuU((t(j<06Lv$RZ>#d>#J#`lRt z+%vivm~yBBFyX&H)w_{ia`nBqD$*P!0lKDt!ID0wB{3*z0d;W36A5^-+4V6nvhSOg z>0QT~mCK_Ds4}M5DF8ra2W}abBZvhc3Y44mcD}h?B=>2alJC+t=>9kklz_(*u-m`W z4DiDXP=YQa6cu!UUgA`OWX(5_h6~KmU#CA* z|1L3K_@fQ74V~n|Zg~<-f)7~F)z>5S@uJm%)d(<5)4*NwxdO)sUiepa<$$nX`iuERc&Nt!rd9q%;?sjS5D=?jrS_2sLF_4NMDZV0B zB=sP2eaCOtu?8x_8+Vwi%JB6v_MaW*qMcNnzz^}^<8(M2m4(A7>8dgu)Sx-tUPV;; z-(g_&%+QF|plNaM)wZq#k*_P}cso!}X8Q1 zhN`sch1VkSy$}Q}-*Sv#y!nEYS=y@qy&g-u*`$TOue;Z`Cr?#|@56Zo$s4wpUJG?! zv5fIXrA}sUtI~M&HWhNydGU?7S>p7O4`Bjv-hU|{mvNHKq~D4qfJ?`a)_Evqvsu4s zB-vIimFU6soz(FCIB$JY2z&N_&oaq37&(2RM>i{1S-Sc7VfNvtSx)%-@uwM}Q_eT! z5NTKjup4O(F&X)xe#d6Yo?&TLpG|wOd~Cz_>Adx^rR1bUAF`K~Q+>skBkcIQvO^fY zYV|D-q46Hu8q~*u)IB@W9PRqffUYB%%o+T*W8oDJJ1M zGn#!)zzTfNNAcx_+A$5=@ZSkw{J}1&w5%8mxm!&15?(@4JWaBZvbSLBkALvXZ+K@C_N;3vQFnszXRQpv`FSzyryj3E53(+6F-JAxh$&2o2`gk#(ysD+90AJ{5qd`$Ft*7_sb;4dL_ITab)KB z=uyt^(S3Y1?zM^KcO9T6uE$$$Jz2-cOPL79<9Oesp@DwnHN{rqc?IjJ5M3N z>sWY90%>C8Y_eJn`Sq;sC~u5;fpcFNdphYgmX5R*?;`IhCEtll3F|L$d&P9*yw*-= zrle4G*j*Vf7I+7LkF>Y+GE4_VKzgf+Aa`_eY2&6$<1qFb=x?eX&%IWK>mrDK!a2?Y zFNoh@Bi5|-^q)H&2gMC#)whDS!`K+*RZa) z-*d$lwRAK#kq6NizsM0cJy#)pS3!`vUO=l75&Nf1Uc$0}_N!QqZmWLuBewMZ16LoB zARJvZuEuj&$^=w*Z{$4(^AGk ztqO0=_5Y|tio5#niuy_0N0{ssO4byl%c>q3Ls?R_{7^4mXaH&+e2HiDZ#>!~*mH=b zuC?{x%d{_ls{bJ;)J?4a7_Z=V*ZVyC^2|P~18W5Ne;%;4cEHn)4BmZxjG>y>Or13Q zF7;c7crK45*pT7}*u5<5!Ze^cbYi{b3=@t5HG_}Vk%%p4t!Mw-?X$=p@mOr3Z9uhc zC(!J(Qn7E{9*KL^h7~BBL+z1~Ej!lxX^+g(yMEn&k*cd&x`B{j<5Zt`>3GT4*$06U zlu7KKp{32|V!ilS9>Ch|4YV5(k5BW%=`rGXA^vU$d9g222_R4S#m8RF5L)B|FvfT_ z;B)xV{mPcA_?8w53ofR8gy2(tOmCDfo7+m315 z+IVe$E^ojl_>HAQ8R`u&eKh_C9ngw&K{X2nBZ~bRTeB%pmfN_XUj4RCPA{qsN(< zk)b$R03=M!bL%6Ls^uz{?TbA;icCn>u^;k(IC+P|mM-!p*uzr?!q{j*#~j-+F&kGD z0?8KdtG@<3`cujm+dC!FfF(_E$xc}z?PJ4$+rcL^~y&+BxvA^*+NC#bcjWgk?3T?;+U7U%OP zaX+^*E8KFUD#t=c5l>!eL}D&W*;`Y8Zs}e~qtYME#Jbov07AxEZVRl)BODBv7OGSD z@W1~~xni09Q{dh&aCr|U8ZZq%E0TkY;U@_cH(LC zF#wZF^T%ZVM1**bw@jMjg3cBQ7VWud%La%-<6=yTb}atae#5}>l_o2`?0G^QXsNp4 zXyK)Mb*JHw6OVJ1CbR*RVuqoAhrI)5d!1y-w>aO_yQETzFS9C23e1Ps#6=pSB*lK4jK-C#|=ckh{2;Y*kJOA&Z8t_$;hCab6{;6LmvA1Jx9{ za8f!%qLT!j>c(wE952?J#oG#MROW0mHO00~@1ctguI$CM=)Q;H9_mXVxi{F2w_qr} zRaYK_9_`7gvc9jgULb{knjdJIi_7Xbb7E+ovw&`Xk!F(icEnk+kXD49k&`05?rnz2Q}VDPgLL5zCs|lJ!i9r!S^P&C6Nv&vbCMG z`tInga8`d^s|9_Ar2*76sN;{$G!Z5Y>F_J?M5>*PLP9N_64l+$s*jYKi7}phthF9< z?+J-{pu`7}ZMt4C@dIA(fYYJ@L63E6u3D{TxFv{XiC{H<5Yr@H@hB&lbTZGC^LM7U z;esJ}0Dd)9HO{JV;h8hX9BVDfg4@zI)%ZMzArs6knw_>%j zt);y&Gh0~=Q4JO|(! zn7%Osn)Z+P(^&S5Tzv)C74p653Q0A!y+iyM-3N&Iymw@q=Yo&>=+#ZWS0?b?O&9Iu zD-eGpeYopjz>T!4zP=mAkU@Iz8U2%z_+@!7<7ozevS&I%(~arNrtKjR(vN67naj&t z&l||~*XhdSdpzF|-vAV>oeyY4ZF;k%$3qYVdBa!n&zWE-vrD!{3hZY!Fr>y66%SgO^8kR6%@@zj#gn6BWT59k%$x-)&f0^32OOWdkE zin`E$!I31p?@iYs#uV!j-*CAF^s)=QW!2n*-PZ_8Nz=nLeC10kqYyKQh6_mRAdAdU zEI9>S#!nN=4ARpqiIJE;N_je`vC0~1O4tX7_3BCpXlqQlTiz8JO{3?@JSod~-K%u1 z8=h~enz%kH(u~MZVI2HNGvB`^tYvIX7_Vt7Ive#E#@hp6S5F= zvMmXHMpaD5GOTb!2zuTGjyS4vHVBB}IfiEVLW)tdEiW)MV9z_a3l1m5sUd4phg>Uv zPm^Y>puj1T8~t|xgNw=c+IckumIh3wW>T!WG@#B6rHD~%9eFG81c~>$}d_xW{KC?cNE=WGfR+*G0 zetR*|#;$GrkV&Z$5-eCrF*=2>802FLR~&yj;4 z!{7{mxtbQ`yiGlJ%(EWKWXP^-E3VLZt9ibEt{M9K zURzXUeX^o>l46L5X&If|%*z$H{m53lxVF&HJzkC@EAoe=eBI44m9)_P8}YO}jlAf} z154Om`OFd>kjN<3PjGOU&>+E=0Fo>BxrQ~H`2Arp(M$o8th$&8`?Tw7{i#mBr75bd z86skkrJ8|lzxGamYsw$jnPDz}d+@1eqJWk#K%k$ebsM2CAvCPOstGm@L!5o|g`b(% z0Y6z^UVRi$wRKZf{bys`tsMAgkVFHGO3l{vUyx1;vWs}>OOtkG)cSj!KCuN?F+0x)+3j6 z-fB{`1BfAY%bV^jb~{2u_qYS%9|~~SX=}c;S?`cpMU}{BN&N+A@|0*l5T>*|)^@>S zjMq3eH3Nc)I1p4WTgknD_Ut#zK%8kiO*Uu_;cr#t;?Y$yOvmc za}8Swf*%n=z-#Vh{=y{!m|>=z{8i=CQ&?4t^RYF{(JsQE%d~XG3w0p?RctdbZ5tBq@4#T4e{8>W#UUwzCBClJ z8fug&(!dRWpQfmhQ#WaIfAjrW{|^8F|Nq<^+iv1W_E)NTnCX!c;tMvIo*-c^Gm(0B zTisdh<)u~F1$a}qSi2m;wnp0D*x%bP*>kFFFoY1N6GlKZla7rkpZl%Osf3ML!s39X zB#McgGLp(93*`U)^WT(=BgVt@f`|k^S&~^anMyK$V(@6l<_vztvQBPdLc=hUk%%wU z3OpJ!8O<1BJWAm%Niq)Wi?L)enbAA=z9gxDXQ^C2OygKcimRlA0!RRXBryZXQkpCg zx*3yG5t1~T#8hSpOY7t#(~xo@?g+(I@wE?hHpe$+X%tUNNRgP%SV(@pTC`;ceAf9oyeVaD6(oCfT=HU|Q*bBvbr7qZU2j6_&M->S zZ7zn4!xtkUjAbdB&Yuau2&oKU>0og}? zyFTMe4qJxTv|kE0KzIwh>s;Wy;$qEsxN~r6Trf~c&O!S?sSBk&pyqLQ&v<2ZdlKrY z0C+{rmjqP;z-9@Fz!Z_BFp)%x!(fmyK7KUVgmZfy)m+(jO-B1KIX3rH{T@SSs?(PnYySux)ySqC)I4th&Zj1Ba?(Vj* zxH}7r%jNq!=iEBC?pyCanbh=5GS!orbay_TjMW8oZMYef+#t`vKJC=(I_MZQuStw6 z%}}U|)B`qdyL)*q9g0uzB+ZPy?HUTiZ!q@Te^BfKbNy=byvMAHpj6#0`gI~oWyrwtEXXVoFXf1+{^0W4Go2jN*KnJ*));jfEJ=mi%HRm;@u*~rn& zJOa!~XXHXcf532=f=U!0!Njw8?~DswV7gZi+LyVLoA2FeIcob zsOI_VV&)M~sp^U)6kB`M(Zl5&9~{0g2$!}|5D`_N z%8%*Rf%Uu`FL2aT9?PDMzLuk=8&t30Sr`lYE(Q$qt&w#OKt<);$4K{kifGD&ot}D+ zG5`c?QFXB3VruI|+m2lh`}>&~=7`&y!sfN^i6jk16|bx|Bp&xKkrJNE$GM+S8pYz! zwRH=uip+OaSP)OS=_VVWRKDpu_B@7b{zN@XNFnHiKPJOTRQTssIUXOtrmhRvVB%b% z4dBxAoxgXcDi-^ByHXrJFgNZ`qFx&Hm;#>tQBbBv|E(y4&6I>iNpxGv=Yj0($9Ul2 z*NbjwkfoSXcy1xgzX|z#s8}$dQ?(|hsU?z&6gTni`&Jhk8a|fM@slD%24i6cyY^x+ zvz9#}49AEFV?mHip)C$KN}praRxP=A&II0YFBTi&B4Tzj6^{STjSp+jSvb6o2?IO_ z9qRE^)BYZPf9-@S_RZSoG`#Y4T-AbfP2z2E4O1XNd-XZ_;SC!m!yxc=~?ysLTl2NK6FcjCiP%ulZ?ilWA>mn{N8kiIUASZUQPGj&(oV#rs&s{oWxxiZPe zE1|i_;{mP;wp`g)sfTUw*(-J$Xcld29QO6!#e1wxkzXU6IMZ&p^`;^XAy8MVAs-pE ze*DYmS9OEI!;!ATbC;d0=ya7-kx#L(;mY_6X)q}C#J=x7oCW7MaM~}c_e<V;6Tmm<&O%fq=h7l?nEW%ehv>dTMRfExsXS>wc=~8kyg*To)`$IN}u+58ZUXtt4y;Kap_ zU~#B1+tG_j0QkgIj{%^VO9ZmT69M~~JRUbDw|cSO4J>(XF6m4(+)qIhP*QKK*Zn%j z!+seTQunXmHXuJmJ~hY>cu&($G3*loc}@m^_fzuK!$O{GcYgVAe{xiqq5;**nVnAh zW~w|%br=fT)5+BB!(eAeo!x#eH0XE}a<^$NFk0?LdooFfE`YrW-_F~^UXwi;&%g!l zL_PYyfw~96j;PT4b_A(rjFU<<9hm4xC2e8O*ex>^@G94Zdp#z6-7^61eG+r{=C%9oZ5sL?m3urCgXBC%yxexz4MRZZ!e=kDcZ1d&;L-DvY`1 zS@r=!P6cLmRZA=Qc`Uq5ea zPm4_R0C4SGJ^2E+_*N?wZ+s>Mtm(3~H#+eSemj2x+-qxh=q&_;{nj39)0? zz12@ms<3qWD!ggZM%VAn`9XHPFMXvHxS7X2z<@TvQG{8k(N~ z6f9mVg=~jns}he0VtsQhM7Jf|7VP2Jd2SY`U)U2Dlm z!@{M;Aj6ql81|M2XFZ|0`397CcYQn_QLyl86RZzplq6KW7UA?X)E6marcELA9j*ur zz>l>AzWCuVB7r%&0*g0-Dr@}n?^%dy5rLINi*8W*30~dPtDM=Ax95^&!FNOwnsg-L zVMVZ8ZUI2uhb_*a3x$&gTggq1l^w;EzXo5792zl03)+7 z!t^}jUOs)}=k>?|aA8D`*io4xq;m|$#vP}mAR(~X(6ccEi9@Tw+zi!{!oH@m|}vbu_J z_f6*LSQS~k@!;Ci*SM^D<|$Q<08a^ajWDhFi}Y9LUQ>kQQe|Qm5WdMs0EUqZ7`*n+ zfW6!W2;{!p;_#(EyL@w4;dAUOiZK_yn(*>3nazs z3SThBWK0yzCNpfpQuOY5hK5Wi3k7qex=&ALD}F=BaWFh^D@UugIxprN6Mxv-a>~L3d*X`%dc|&MI&}m3m2>>su$b&4`;RJ^^Ae2eU?8INN zy7Q$(s%HyU+!8wvRpa@7&y7di==7AUq{q$pUpSFWZ@Mll$)Pvv=v?QcZGm00BjXRB z7LW+rkm}INK-uoP4}{Pr0Af}pr0`#0QUaqYM3-P7F&^(k>qJqP(Lt`z zBsv(ACsrm^4bt$9FVuK8`IWD#A^zgyWxmQ}iD@W6m8cKbav#>Wusr$kVx`ij(Qc`U zf~fuk3(-*Vcn3z~Iwu~NGHZPz#WHIe*f4&XBvVb{Y9f>V3y2(%b!MDJd5huDIv43H+P%^>WA+?Htt8 zUFQ=)L@;8)+3vcsA}vj0S%b`jFQ>1-0c@=(Ttg6cIG<_^;;Lu*k)@vT(gil)0wlLW z6fAKZGc6QZy|r7c6q4GtUM4Qg$6X!a`-1*&nh6e~EC&ve0Z#`C2jJbLaq9&G0hxgZ z0YL)+0r7HjHD|JPa&mWca<_0}^medcPM>hiVa5r%$vfj??&JgOW@}_q$aQy}qPPO5 z7R6DRXHCBS`(5~em8U^CZ;mpqyF#iEnKaAIg)a%$Rr{OJL&FFkl= zN`@geDp<{6E*)^_YCeF5`>M!h8=rnQXNyq$ZWbh=Swq_3;?H4%lochz8E+S@9jt#> zxk$|MI{Q$$T+bK>HStPlm!K!=%ACd7T6d1#r5Zr)JPX4mv0O-&6<4y$Th^3?WKTWA zSk7VYMFYZ@4p@16WIf%m{las|VMSzUNO;k>*4ESw%))sVXgWiQlO#s}6l?~DZNNDq z6Jcbh>_Q1dDj~w~1>sT&7-4aksj!eZc5S*?&jG7>EHnusfx(Erv;A|UxghTL`wz6T z+GCi!2Ik7q?rNv;(sgXMzjxy=DI{IrS|y*W#2NMQ03Uc)9fUvqo;+M3Yiui*sMd_w zju|8t6=fqzP8hJ^daPE-Hi`0oIoFQ|y|sn!GmbFuV7O-3&CTF62)@+*eN5t!jhPoG z3y)RqkJb;44>2uinM@h~C7@@*-B%#Qa03VuwKdWml{s0NtNQKK{p>YK0LM)A}r;2kHhP;WD5plt*t?Y z3Aa`0D4CWEpF{Enlp~nWw z>>v=hk|x+3y*M0VjMYfitS}HN9@0xDrEC*35lO|2X8>Oun=Q(j$RysWpI+GQ>gvJ= zlD6>-{^tz)+I=Us5XRvQerCAMQpQltc%fO|#3-oV91wzvj8yvMjOf{MDcNM$fprr4 zF9~=6Y+wCXt%T7~%a4fgJx3IQ_38EBT2Bjg?nW}nZnXAAc#G`dgk{V$Y6>2^Vm9-c ztBHTCzyRNg$DTH88csCdv~2X!mgd3U!i;7J=O)L6enf~QY`8~_mMFmh5_F^nO(5IA zk&}7dB2u007>-Sk#+UB9iobudD}ZgIO%tw1Nr+hD?p1OE+Fo4IeoZ?FIT_6nsfP#ipvQ8 zm}3Nvmh#8llBRUr4r>$)FcO+>i_WtDk4aIx)SWDH_@9~96WiE6dnJu+L7)^Qgc#=P zy6jcx#IHFO?FY48zMlr0=r~pvZ!hPhAxk;UgF;ih7arfWuDJIonc#(BRue?j-RTwR zI*kW>EV~%yX5E|fBN7f=`>n2sBu&6JM1OQQVpRL?C9+fi*lh$2T{8q{e?2Vx#p1Z8 zESascU$ltaH!K4v!jgqskTC^9)e~#L&PJhyAz$1DJlq1JTseD`AZ&ML{v!WpHbGaQui98!~dM@MAN7GS$Vn|Om zIr+pv{?3?6ai^YWLa(U0)PE#fAUhe`dyf=*J@-waYLKil9T-dBbfFg}ief&lY5ezL z63EgdY%?mB4ij%?7c<$J|NgnDu?J12kYooLwmZqxWNa@1(6#Dys393lty08;R;6xS zCd9LkIbubcXADDdm~+W%N|Qk?RAt{`IIt_P#lyD$y&yUP$I98CPbe;LyLE|sJ(1WO zV3QCpvW-ikTXaHH()ptV3V3%8v&;uCZb+E)dXluQy|v4q>?MzvFLh3oB6*S&zeppX z=$u4aFP)p6OrgSlmaWphe=BH z$5{&1j4orV{)!3D@1WCYW37G^EX8wa(fvCkr+e|ktS0cMfrTKth$F2WE{C3}s0)U^ zgv+XWqx5K)r(BAZ&{QkY$s=O}632kK6PFEIGIT5t_jOZ^F)I;3M%SyaHV>++>P&_Dgl zT?p!-G_;g*=0z;{1*sb}Om6}j5NpZ@mBBHx5GU5lqUhEy;Rsf~J*gy1ul2?IYp=8ubOU6rhKZg8Yhy6#B0F>(}*wEa`_y*+58$;z*bsf{3&1I8kbG z)fc+yj^=l5zzk42P>eQ1NYFH>j7~pLl(sWeP&QD&vhdR9(f2q}TlN3)rEV7P?lz8A z|1(-_(bsb#;7SiPGX4rJJke0^ZVuxHH~fKgNfDKs6~N$;QJejMxUvFF8~A(@sJ#Z7 zADJaWWRghhzDFPK?RBJR7=2wW`Fh+H5kC!i-k&E2tmqp)Nq0yH-4x`a1nDpE3Y%$9-QH7YST%f!U{xACQQR8#}ew^^C;jHePN4Jx2Tw7mi;m zo@-7p-8=CYj>SS_Piq&B??(+?y7p^bj(FD*E6f6h_vH&26(+!XM&yIzWA@<{U+vh< zkHSf1D!_vsjCeNG z|G7uPU%P&GF2H<-So?bHs{MWIAR$qU_j2^Ac<06@bhU;pc<9*1^d%=)aP9+hCO~(e zAH&0H=KX@_=zI>bAHWu5_)ze)`dL)Y}SiQa1U6WjlV?U1iFTBpoJ4!@eE+ zv1><(!^Bhl`D>%;<+Lv}^r^4of{%)hp4+{@_)VyNj%^n)30z%)`iaHeorm2W-HgJ0 zy%!m632#+KCs&rg=KyhD;(S@f?H_@Be~3n1{MPCFuJ~+g27S8n6rH&g2pLRX>Wprr z8{cB?%3(&IeJA4G>LO;C+LjKgg=T?FLV!!ofc&h)NX$6#;lR@<12Q)s8Gw7uO5;?` zRQY=k_hrS^YfL%onk6q+<03n951{9z<8tSH9-JZ6{Vt}0698>G_+0A|=t^tt;Tl&GJt40q6xKk?{)g}q3If{rOy&Q zMDq;ar+oQ=z|K5}VRVACdKZ!Bi=p~-H7SC<*7-he zA5BhuI)Wb}cqwa3S${41a901En=8l9^cL zU+}f(Yq>iz;7iFjlML#vPFu4t?|a_DmH`OZZcY|B!=%KX`gj>rD*dB$oaZtU#;>Y7 zZv}`b_zAqj9Ol3!pIlF&?h|gu_&c1G5oH=|CeDY-Y>HqpXl`2v| zFa$4-8p;eAjaAA*mOOBwLZ!DQ#pZa+uZw>}Vv2JQ48d_^CR4W%7_FRS#5o|#ALC3n z+pq~o@CN8Eu+l^Sl4mg)9*;e7S(NVH%m*+}bJdp&Y{5?B@#~^2ni4_mv95-bl#EI5 zlO3c{ZL@X@$(+WPab@i`&RS3r8Y*!r)IE@ngs3-OK0q2ob)U)=~VJ2VMIyO3C1G_7EZmPFw+PeQj?CF z!DaqL`c11itZ}?2*^*eIpJ>z{00>L%Sd7$XFsw4482s2vehXV8hh)oyR{at2oj809 zt~fjBL`9d+nx;K%(5(8GZR4!V*l#zoPc&2_J=bgXTkn(Hbj)5JUFv0rYy1V_z8L{G zys6dDfb7?p1KVqyDG6FNI~nvcAtwkMem_jI1L37H}C2qI#7D4>)-p20^` za&SRBiKucjOdQmQ0WXarm1`i=fdn!HHqIf+c+$0fGlXl<46gl-n+P)my7ph`1MS{I z=|01Qj_CPip+0;WPrA2=N=ullaFnJuc8jrgUAShh+3yxK?QNLG^u434o<3Spl}hzdzu2xrVm@LwI_7f*pJOL^wK)m>o^7E!lCa zmZB+3m*ouRSb=^JWlQAPZ^^# zvDYXYIf|d!qO9<+cFwC?V)3$*Lb~m$GDMgcRraZI%Ayoyb=(nY7=TFe@3VU6F2rQB zqC_Zz=v!(!B;Beq0{}>t&hR&K%$i{hRapE&Mrj8BY7(jgf5mL7Xt+U4pwnU{)|gWZ zL7bbr4GplCRK?U#4-Uf)W(be|m!mU16~jo$yy`fxaeZ)dm7Uu)v2FsB$GJ9HM*7Eh z_8j^EvxZq2r458~K);*T0&zXtm@A4mWpDZb`#RYKwEz%(cgaij`W|6?NT zLYgu#X5~ja(USDS{=)d>DO@o>aI%F5K;(xYhUzlfaz~{jkB|MG(S)V= zZhaIR;!RCV#~Ge-0cOG(OBTk*B$oQ<)|bM`MPgKXMctc3!#LA+B@uZTrbHf^TvoDD zNb+8JgNLe1%FShsFGQn8QG1U%2V9CV6$bI_!=q5u7$!W#&RWgs?y~aJ zLTccOX;0uatDp+Nb>VvMWTG|7HE@co!Pja4wdIg|KGcUpox)KA6`HHmc}1MMbR3UD zt9Zc<^<}wO1$TPUVmRgfD!CC_=PjdI?f;H;;mBKU!w{RQq@}5kFr&l`Ct~d>?vXt< zCI1R%I+Za-RFzW;@1&MByq*)SacWT)n61q=2+yD88)3Y2^R z`zch~+zQH}NIMRPe-z1yQ8f_^cDe-jt@2X#HM)#4#4N=jgZI*mE}FumKEp`{bQ*EC zsywxB3>zr^1tBP*PJ<|DE&-{c)_aBdz-+B+tX5r3ThL$S-FUXna;22=tv0kzVY+aP zE*@q2?KaNDQ)R=d67isZv8$6ot)&itj(*)8-qrm{{R`<6W+{Q1T(XvYv_NZQ-Fk>w z{LMlc98$EhYG?Me1D4oC<-Ihj5og04%WwS3sdQ^&eSw&u^$x*N9h~d3%5%hpX}ow# zIGsl>pFX*#J_NJ_W_bFv$S*I9H?ui$=~2`S@{`ybEglO3;GLq{v$}}-;7bBv3BzMQ zEjzoyBZ7l_&NVetdYVvH9pPq!)@sf+j}HQ89Jh?PQ}vcjr_iJ@P)3;Stz-4=sua4hAq2>lp6ip<~vo4F`! zufYW?WVEu}yT4sshVwto|%3c3l(I4M#BNZ|Nqt+dq9teb`5R4aZT`zfATYuqx}&ev?h#|7Yf(Ce<=$cRvw%!ecoy2~q}6 zgbY!`s#dF2J)VY@{SQVn(4dYhSx~iLyD^d0F8!zIo|0gyh8e@mFYyBabhH&;y(=nv z0%buJO{#Eqw+>KBpU4Gd-W5$lT~`t@HAdTNhe1cY>|l01$n*z%Lf;TnW1ew^{!WD@ z^=mz}A zU9<4*1V~Y(o<&%H?%0z6#P{H!NbzjB1o!+v-U|Mn|4P@wpA6E%D6{YutmSuu0!RymQoru_NezKPFE#j24BLiwQisO3&sDJnCh`1jS zbc9Ifl1f$3J{6bzxEl!Q1`??W$0LoEBabMGVi1DMV6KL1$GedvPqy;JHbC{E ze*c%+*vO7lxp(4qaQt^zEq~E=<;9KMJeEm{+aIWvu=fH^67d-B@JYkW{cY25)Sf9= z)3~S$KPgDvhD%fk+ye)mxuV91$YpdI@2Zy7SyZo$#Nw$8wzaBA(EJ`s6(|ejBCK-F zD9AB;3o_~9*OPz9eL|lrHOcP9Qntn($OhQbfDXCNPev(~rW`2^%``Y}}E`*6m8J6*qmfD8vu+N#v`h$dm1(Tu~tdqhN4E%L3=9#3ho zQOHBMBTj*OI|wiq6F+lySK2zSq z0?_Kpj*^2-46TS<0@&4{B6j3wHk8S96EDbHzK$>cDZGH_zLZYhX}yS#kG!svyI*v< zoHA~wE0r2#{J0)9dT-!4@cQ`hyeuGZi|k_a_V9psyl`xtG;8AqX9K->(c^9GD*)8T z7mWMd4a4YVe0+EnjL{lZoR9S-Yz|#V0RjoS{@g7QpGal$Lt$U!n6UNWuAV%8>|H-@ z*)7E-d?(kld>M*#IbK5d6Wo?Z{_y<_o6NaB(-ZwTK0n#~iyGIvspKf+UeEZoVi53T zX48qEek4aQv~qEiu-T{`cc0%DI5kKg0Dt41$@+dDV1gWmQqBAdtWH&TX^#WVl0tzjeZG^Db29Udh8zP08VPt6Xk#=%9{x3cJJF zpkXI)|Q zF7{(CmPIDUu$xMv%*c%oQt6kIVk8)(pyFTOKRq`Gj^4h?xkzo9ul!-WWE5YHggVY6 zi)pSR`bpUGT8vZx%*^IhHD5)SsjocyftQrTo%a+{I4ndj719K&@1WBH90&-0h70v~ z9Lmkc)ZXI1h-zuNf?F{&!RQTN^G@)D0eB^heCvVzAHum!!^iXp>a652nd05H9dRF* zDIjDw3|@f|(WlelUZZ)I8=0!gfL4D_XFn-HOxWKcxNiQh+^~KXygLYskQ7XAbV#DL zojw5!!yp-4vjLnvT?aXZ_TqY67lfo5K>PR|T&eB}OBh^57%7JZhFsCGp;8<|^hdra z7(6NZX;;2q$5dIrI8E~h^01P0FkIwRV2gP1U=)Khl1p?cmBrL8lo%Fshza�!Y@6 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í*w?Tutxc23q9_o&uS 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 From d0f90b3207e0648aa13d9f8d2185e6c8433cff01 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 20 Aug 2022 21:17:00 -0400 Subject: [PATCH 0408/1248] Updated snapshot of chapter 11 --- .../listing-11-01/Cargo.lock | 3 +- .../listing-11-01/Cargo.toml | 2 + nostarch/chapter11.md | 37 +++++-------------- 3 files changed, 13 insertions(+), 29 deletions(-) diff --git a/listings/ch11-writing-automated-tests/listing-11-01/Cargo.lock b/listings/ch11-writing-automated-tests/listing-11-01/Cargo.lock index d37189b337..8b8c69d33a 100644 --- a/listings/ch11-writing-automated-tests/listing-11-01/Cargo.lock +++ b/listings/ch11-writing-automated-tests/listing-11-01/Cargo.lock @@ -1,6 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "adder" version = "0.1.0" - diff --git a/listings/ch11-writing-automated-tests/listing-11-01/Cargo.toml b/listings/ch11-writing-automated-tests/listing-11-01/Cargo.toml index e61cb12e3e..b7d36d44cb 100644 --- a/listings/ch11-writing-automated-tests/listing-11-01/Cargo.toml +++ b/listings/ch11-writing-automated-tests/listing-11-01/Cargo.toml @@ -3,4 +3,6 @@ name = "adder" version = "0.1.0" edition = "2021" +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + [dependencies] diff --git a/nostarch/chapter11.md b/nostarch/chapter11.md index ea4ffe5bf1..aad26c39f2 100644 --- a/nostarch/chapter11.md +++ b/nostarch/chapter11.md @@ -119,7 +119,7 @@ The `cargo test` command runs all tests in our project, as shown in Listing $ cargo test Compiling adder v0.1.0 (file:///projects/adder) Finished test [unoptimized + debuginfo] target(s) in 0.57s - Running unittests (target/debug/deps/adder-92948b65e88960b4) + Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) [1] running 1 test [2] test tests::it_works ... ok @@ -186,7 +186,7 @@ Then run `cargo test` again. The output now shows `exploration` instead of running 1 test test tests::exploration ... ok -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s ``` Now we’ll add another test, but this time we’ll make a test that fails! Tests @@ -782,17 +782,6 @@ message is unique or dynamic and how precise you want your test to be. In this case, a substring of the panic message is enough to ensure that the code in the test function executes the `else if value > 100` case. - - - To see what happens when a `should_panic` test with an `expected` message fails, let’s again introduce a bug into our code by swapping the bodies of the `if value < 1` and the `else if value > 100` blocks: @@ -1085,7 +1074,7 @@ We can pass the name of any test function to `cargo test` to run only that test: $ cargo test one_hundred Compiling adder v0.1.0 (file:///projects/adder) Finished test [unoptimized + debuginfo] target(s) in 0.69s - Running unittests (target/debug/deps/adder-92948b65e88960b4) + Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) running 1 test test tests::one_hundred ... ok @@ -1110,7 +1099,7 @@ run those two by running `cargo test add`: $ cargo test add Compiling adder v0.1.0 (file:///projects/adder) Finished test [unoptimized + debuginfo] target(s) in 0.61s - Running unittests (target/debug/deps/adder-92948b65e88960b4) + Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) running 2 tests test tests::add_three_and_two ... ok @@ -1154,7 +1143,7 @@ when we run our tests, `it_works` runs, but `expensive_test` doesn’t: $ cargo test Compiling adder v0.1.0 (file:///projects/adder) Finished test [unoptimized + debuginfo] target(s) in 0.60s - Running unittests (target/debug/deps/adder-92948b65e88960b4) + Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) running 2 tests test expensive_test ... ignored @@ -1169,7 +1158,7 @@ the ignored tests, we can use `cargo test -- --ignored`: ``` $ cargo test -- --ignored Finished test [unoptimized + debuginfo] target(s) in 0.61s - Running unittests (target/debug/deps/adder-92948b65e88960b4) + Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) running 1 test test expensive_test ... ok @@ -1227,7 +1216,8 @@ Filename: src/lib.rs mod tests { #[test] fn it_works() { - assert_eq!(2 + 2, 4); + let result = 2 + 2; + assert_eq!(result, 4); } } ``` @@ -1339,7 +1329,7 @@ in this directory only when we run `cargo test`. Run `cargo test` now: $ cargo test Compiling adder v0.1.0 (file:///projects/adder) Finished test [unoptimized + debuginfo] target(s) in 1.31s - Running unittests (target/debug/deps/adder-1082c4b063a8fbe6) + Running unittests src/lib.rs (target/debug/deps/adder-1082c4b063a8fbe6) [1] running 1 test test tests::internal ... ok @@ -1530,12 +1520,3 @@ reduce logic bugs having to do with how your code is expected to behave. Let’s combine the knowledge you learned in this chapter and in previous chapters to work on a project! - - - From 137bfa68a3f877cadcff2f2169a8205a73d5b482 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 20 Aug 2022 21:41:03 -0400 Subject: [PATCH 0409/1248] Snapshot of chapter 11 copyedited --- nostarch/chapter11.md | 2087 ++++++++++++++++++++++++++++++---- nostarch/docx/chapter11.docx | Bin 0 -> 78777 bytes 2 files changed, 1889 insertions(+), 198 deletions(-) create mode 100644 nostarch/docx/chapter11.docx diff --git a/nostarch/chapter11.md b/nostarch/chapter11.md index aad26c39f2..1bc985a1ba 100644 --- a/nostarch/chapter11.md +++ b/nostarch/chapter11.md @@ -33,11 +33,12 @@ We can write tests that assert, for example, that when we pass `3` to the we make changes to our code to make sure any existing correct behavior has not changed. -Testing is a complex skill: although we can’t cover every detail about how to -write good tests in one chapter, we’ll discuss the mechanics of Rust’s testing -facilities. We’ll talk about the annotations and macros available to you when -writing your tests, the default behavior and options provided for running your -tests, and how to organize tests into unit tests and integration tests. +Testing is a complex skill: although we can’t cover in one chapter every detail +about how to write good tests, in this chapter we will discuss the mechanics of +Rust’s testing facilities. We’ll talk about the annotations and macros +available to you when writing your tests, the default behavior and options +provided for running your tests, and how to organize tests into unit tests and +integration tests. ## How to Write Tests @@ -45,10 +46,9 @@ Tests are Rust functions that verify that the non-test code is functioning in the expected manner. The bodies of test functions typically perform these three actions: -1. Set up any needed data or state. -2. Run the code you want to test. -3. Assert the results are what you expect. - +* Set up any needed data or state. +* Run the code you want to test. +* Assert that the results are what you expect. Let’s look at the features Rust provides specifically for writing tests that take these actions, which include the `test` attribute, a few macros, and the `should_panic` attribute. @@ -60,8 +60,8 @@ attribute. Attributes are metadata about pieces of Rust code; one example is the `derive` attribute we used with structs in Chapter 5. To change a function into a test function, add `#[test]` on the line before `fn`. When you run your tests with the `cargo test` command, Rust builds a test runner binary that runs -the annotated functions and reports on whether each -test function passes or fails. +the annotated functions and reports on whether each test function passes or +fails. Whenever we make a new library project with Cargo, a test module with a test function in it is automatically generated for us. This module gives you a @@ -77,7 +77,13 @@ Let’s create a new library project called `adder` that will add two numbers: ``` $ cargo new adder --lib +``` + +``` Created library `adder` project +``` + +``` $ cd adder ``` @@ -88,17 +94,40 @@ Filename: src/lib.rs ``` #[cfg(test)] +``` + +``` mod tests { -[1] #[test] +``` + +``` +1 #[test] +``` + +``` fn it_works() { +``` + +``` let result = 2 + 2; - [2] assert_eq!(result, 4); +``` + +``` + 2 assert_eq!(result, 4); +``` + +``` } +``` + +``` } ``` -Listing 11-1: The test module and function generated automatically by `cargo -new` +The test module and function generated automatically by `cargo new` + +Prod: Please rename this to Listing 11-1, and renumber all remaining listings +consecutively—e.g., Listing 11-2, Listing 11-3, etc. For now, let’s ignore the top two lines and focus on the function. Note the `#[test]` annotation [1]: this attribute indicates this is a test function, so @@ -117,24 +146,70 @@ The `cargo test` command runs all tests in our project, as shown in Listing ``` $ cargo test +``` + +``` Compiling adder v0.1.0 (file:///projects/adder) +``` + +``` Finished test [unoptimized + debuginfo] target(s) in 0.57s +``` + +``` Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) +``` + +``` + +``` + +``` +1 running 1 test +``` + +``` +2 test tests::it_works ... ok +``` + +``` + +``` + +``` +3 test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s +``` + +``` + +``` -[1] running 1 test -[2] test tests::it_works ... ok +``` + 4 Doc-tests adder +``` -[3] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` -[4] Doc-tests adder +``` +``` running 0 tests +``` + +``` -test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +``` +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s ``` -Listing 11-2: The output from running the automatically generated test +The output from running the automatically generated test Cargo compiled and ran the test. We see the line `running 1 test` [1]. The next line shows the name of the generated test function, called `it_works`, and that @@ -143,13 +218,12 @@ ok.` [3] means that all the tests passed, and the portion that reads `1 passed; 0 failed` totals the number of tests that passed or failed. It’s possible to mark a test as ignored so it doesn’t run in a particular -instance; we’ll cover that in the “Ignoring Some Tests Unless Specifically -Requested” section later in this chapter. Because we haven’t done that here, -the summary shows `0 ignored`. We can also pass an argument to the `cargo test` -command to run only tests whose name matches a string; this is called *filtering* -and we’ll cover that in the “Running a Subset of Tests by Name” section. -Here we haven’t filtered the tests being run, so the end of the summary shows `0 -filtered out`. +instance; we’ll cover that in “Ignoring Some Tests Unless Specifically +Requested” on page XX. Because we haven’t done that here, the summary shows `0 +ignored`. We can also pass an argument to the `cargo test` command to run only +tests whose name matches a string; this is called *filtering* and we’ll cover +it in “Running a Subset of Tests by Name” on page XX. Here we haven’t filtered +the tests being run, so the end of the summary shows `0 filtered out`. The `0 measured` statistic is for benchmark tests that measure performance. Benchmark tests are, as of this writing, only available in nightly Rust. See @@ -161,21 +235,43 @@ The next part of the test output starting at `Doc-tests adder` [4] is for the results of any documentation tests. We don’t have any documentation tests yet, but Rust can compile any code examples that appear in our API documentation. This feature helps keep your docs and your code in sync! We’ll discuss how to -write documentation tests in the “Documentation Comments as Tests” section of -Chapter 14. For now, we’ll ignore the `Doc-tests` output. +write documentation tests in “Documentation Comments as Tests” on page XX. For +now, we’ll ignore the `Doc-tests` output. -Let’s start to customize the test to our own needs. First change the name of +Let’s start to customize the test to our own needs. First, change the name of the `it_works` function to a different name, such as `exploration`, like so: Filename: src/lib.rs ``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` #[test] +``` + +``` fn exploration() { - assert_eq!(2 + 2, 4); +``` + +``` + let result = 2 + 2; +``` + +``` + assert_eq!(result, 4); +``` + +``` } +``` + +``` } ``` @@ -184,9 +280,22 @@ Then run `cargo test` again. The output now shows `exploration` instead of ``` running 1 test +``` + +``` test tests::exploration ... ok +``` + +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` Now we’ll add another test, but this time we’ll make a test that fails! Tests @@ -200,45 +309,130 @@ Filename: src/lib.rs ``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` #[test] +``` + +``` fn exploration() { +``` + +``` assert_eq!(2 + 2, 4); +``` + +``` } +``` + +``` +``` + +``` #[test] +``` + +``` fn another() { +``` + +``` panic!("Make this test fail"); +``` + +``` } +``` + +``` } ``` -Listing 11-3: Adding a second test that will fail because we call the `panic!` -macro +Adding a second test that will fail because we call the `panic!` macro Run the tests again using `cargo test`. The output should look like Listing 11-4, which shows that our `exploration` test passed and `another` failed. ``` running 2 tests +``` + +``` test tests::exploration ... ok -[1] test tests::another ... FAILED +``` + +``` +test tests::another ... FAILED 1 +``` + +``` -[2] failures: +``` + +``` +failures: 2 +``` + +``` + +``` +``` ---- tests::another stdout ---- +``` + +``` thread 'main' panicked at 'Make this test fail', src/lib.rs:10:9 -note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +``` + +``` +note: run with `RUST_BACKTRACE=1` environment variable to display +``` + +``` +a backtrace +``` + +``` + +``` + +``` +failures: 3 +``` -[3] failures: +``` tests::another +``` + +``` + +``` + +``` +test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s 4 +``` + +``` -[4] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +``` error: test failed, to rerun pass '--lib' ``` -Listing 11-4: Test results when one test passes and one test fails +Test results when one test passes and one test fails Instead of `ok`, the line `test tests::another` shows `FAILED` [1]. Two new sections appear between the individual results and the summary: the first [2] @@ -248,7 +442,7 @@ line 10 in the *src/lib.rs* file. The next section [3] lists just the names of all the failing tests, which is useful when there are lots of tests and lots of detailed failing test output. We can use the name of a failing test to run just that test to more easily debug it; we’ll talk more about ways to run tests in -the “Controlling How Tests Are Run” section. +“Controlling How Tests Are Run” on page XX. The summary line displays at the end [4]: overall, our test result is `FAILED`. We had one test pass and one test fail. @@ -256,7 +450,7 @@ We had one test pass and one test fail. Now that you’ve seen what the test results look like in different scenarios, let’s look at some macros other than `panic!` that are useful in tests. -### Checking Results with the `assert!` Macro +### Checking Results with the assert! Macro The `assert!` macro, provided by the standard library, is useful when you want to ensure that some condition in a test evaluates to `true`. We give the @@ -265,28 +459,57 @@ to ensure that some condition in a test evaluates to `true`. We give the `assert!` macro calls `panic!` to cause the test to fail. Using the `assert!` macro helps us check that our code is functioning in the way we intend. -In Chapter 5, Listing 5-15, we used a `Rectangle` struct and a `can_hold` -method, which are repeated here in Listing 11-5. Let’s put this code in the -*src/lib.rs* file, then write some tests for it using the `assert!` macro. +In Listing 5-15, we used a `Rectangle` struct and a `can_hold` method, which +are repeated here in Listing 11-5. Let’s put this code in the *src/lib.rs* +file, then write some tests for it using the `assert!` macro. Filename: src/lib.rs ``` #[derive(Debug)] +``` + +``` struct Rectangle { +``` + +``` width: u32, +``` + +``` height: u32, +``` + +``` } +``` + +``` + +``` +``` impl Rectangle { +``` + +``` fn can_hold(&self, other: &Rectangle) -> bool { +``` + +``` self.width > other.width && self.height > other.height +``` + +``` } +``` + +``` } ``` -Listing 11-5: Using the `Rectangle` struct and its `can_hold` method from -Chapter 5 +Using the `Rectangle` struct and its `can_hold` method from Chapter 5 The `can_hold` method returns a Boolean, which means it’s a perfect use case for the `assert!` macro. In Listing 11-6, we write a test that exercises the @@ -299,11 +522,11 @@ Filename: src/lib.rs ``` #[cfg(test)] mod tests { -[1] use super::*; +1 use super::*; #[test] -[2] fn larger_can_hold_smaller() { - [3] let larger = Rectangle { +2 fn larger_can_hold_smaller() { + 3 let larger = Rectangle { width: 8, height: 7, }; @@ -312,21 +535,21 @@ mod tests { height: 1, }; - [4] assert!(larger.can_hold(&smaller)); + 4 assert!(larger.can_hold(&smaller)); } } ``` -Listing 11-6: A test for `can_hold` that checks whether a larger rectangle can -indeed hold a smaller rectangle +A test for `can_hold` that checks whether a larger rectangle can indeed hold a +smaller rectangle Note that we’ve added a new line inside the `tests` module: `use super::*;` [1]. The `tests` module is a regular module that follows the usual visibility -rules we covered in Chapter 7 in the “Paths for Referring to an Item in the -Module Tree” section. Because the `tests` module is an inner module, we need to -bring the code under test in the outer module into the scope of the inner -module. We use a glob here so anything we define in the outer module is -available to this `tests` module. +rules we covered in “Paths for Referring to an Item in the Module Tree” on page +XX. Because the `tests` module is an inner module, we need to bring the code +under test in the outer module into the scope of the inner module. We use a +glob here, so anything we define in the outer module is available to this +`tests` module. We’ve named our test `larger_can_hold_smaller` [2], and we’ve created the two `Rectangle` instances that we need [3]. Then we called the `assert!` macro and @@ -336,9 +559,22 @@ out! ``` running 1 test +``` + +``` test tests::larger_can_hold_smaller ... ok +``` + +``` + +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` It does pass! Let’s add another test, this time asserting that a smaller @@ -348,27 +584,93 @@ Filename: src/lib.rs ``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` + +``` + +``` +``` #[test] +``` + +``` fn larger_can_hold_smaller() { - // --snip-- - } +``` - #[test] - fn smaller_cannot_hold_larger() { - let larger = Rectangle { +``` + --snip-- +``` + +``` + } +``` + +``` + +``` + +``` + #[test] +``` + +``` + fn smaller_cannot_hold_larger() { +``` + +``` + let larger = Rectangle { +``` + +``` width: 8, +``` + +``` height: 7, +``` + +``` }; +``` + +``` let smaller = Rectangle { +``` + +``` width: 5, +``` + +``` height: 1, +``` + +``` }; +``` + +``` + +``` +``` assert!(!smaller.can_hold(&larger)); +``` + +``` } +``` + +``` } ``` @@ -378,10 +680,26 @@ result, our test will pass if `can_hold` returns `false`: ``` running 2 tests +``` + +``` test tests::larger_can_hold_smaller ... ok +``` + +``` test tests::smaller_cannot_hold_larger ... ok +``` + +``` + +``` + +``` +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 +``` -test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +filtered out; finished in 0.00s ``` Two tests that pass! Now let’s see what happens to our test results when we @@ -390,11 +708,26 @@ method by replacing the greater-than sign with a less-than sign when it compares the widths: ``` -// --snip-- +--snip-- +``` + +``` impl Rectangle { +``` + +``` fn can_hold(&self, other: &Rectangle) -> bool { +``` + +``` self.width < other.width && self.height > other.height +``` + +``` } +``` + +``` } ``` @@ -402,32 +735,86 @@ Running the tests now produces the following: ``` running 2 tests +``` + +``` test tests::smaller_cannot_hold_larger ... ok +``` + +``` test tests::larger_can_hold_smaller ... FAILED +``` + +``` + +``` +``` failures: +``` + +``` + +``` +``` ---- tests::larger_can_hold_smaller stdout ---- -thread 'main' panicked at 'assertion failed: larger.can_hold(&smaller)', src/lib.rs:28:9 -note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +``` + +``` +thread 'main' panicked at 'assertion failed: +``` + +``` +larger.can_hold(&smaller)', src/lib.rs:28:9 +``` + +``` +note: run with `RUST_BACKTRACE=1` environment variable to display +``` +``` +a backtrace +``` + +``` + +``` + +``` +``` + +``` failures: +``` + +``` tests::larger_can_hold_smaller +``` + +``` + +``` + +``` +test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 +``` -test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +filtered out; finished in 0.00s ``` -Our tests caught the bug! Because `larger.width` is 8 and `smaller.width` is -5, the comparison of the widths in `can_hold` now returns `false`: 8 is not +Our tests caught the bug! Because `larger.width` is `8` and `smaller.width` is +`5`, the comparison of the widths in `can_hold` now returns `false`: 8 is not less than 5. -### Testing Equality with the `assert_eq!` and `assert_ne!` Macros +### Testing Equality with the assert_eq! and assert_ne! Macros A common way to verify functionality is to test for equality between the result of the code under test and the value you expect the code to return. You could -do this using the `assert!` macro and passing it an expression using the `==` -operator. However, this is such a common test that the standard library +do this by using the `assert!` macro and passing it an expression using the +`==` operator. However, this is such a common test that the standard library provides a pair of macros—`assert_eq!` and `assert_ne!`—to perform this test more conveniently. These macros compare two arguments for equality or inequality, respectively. They’ll also print the two values if the assertion @@ -442,29 +829,78 @@ Filename: src/lib.rs ``` pub fn add_two(a: i32) -> i32 { +``` + +``` a + 2 +``` + +``` } +``` + +``` +``` + +``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` + +``` +``` + +``` #[test] +``` + +``` fn it_adds_two() { +``` + +``` assert_eq!(4, add_two(2)); +``` + +``` } +``` + +``` } ``` -Listing 11-7: Testing the function `add_two` using the `assert_eq!` macro +Testing the function `add_two` using the `assert_eq!` macro Let’s check that it passes! ``` running 1 test +``` + +``` test tests::it_adds_two ... ok +``` + +``` + +``` + +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +filtered out; finished in 0.00s ``` We pass `4` as the argument to `assert_eq!`, which is equal to the result of @@ -476,7 +912,13 @@ fails. Change the implementation of the `add_two` function to instead add `3`: ``` pub fn add_two(a: i32) -> i32 { +``` + +``` a + 3 +``` + +``` } ``` @@ -484,28 +926,78 @@ Run the tests again: ``` running 1 test +``` + +``` test tests::it_adds_two ... FAILED +``` + +``` + +``` +``` failures: +``` + +``` + +``` +``` ---- tests::it_adds_two stdout ---- -[1] thread 'main' panicked at 'assertion failed: `(left == right)` -[2] left: `4`, -[3] right: `5`', src/lib.rs:11:9 -note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +``` + +``` +1 thread 'main' panicked at 'assertion failed: `(left == right)` +``` + +``` +2 left: `4`, +``` + +``` +3 right: `5`', src/lib.rs:11:9 +``` + +``` +note: run with `RUST_BACKTRACE=1` environment variable to display +``` + +``` +a backtrace +``` + +``` + +``` +``` failures: +``` + +``` tests::it_adds_two +``` + +``` + +``` + +``` +test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 +``` -test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +filtered out; finished in 0.00s ``` Our test caught the bug! The `it_adds_two` test failed, and the message tells -us that the assertion that fails was `` assertion failed: `(left == right)` `` -[1] and what the `left` [2] and `right` [3] values are. This message helps us -start debugging: the `left` argument was `4` but the `right` argument, where we -had `add_two(2)`, was `5`. You can imagine that this would be especially -helpful when we have a lot of tests going on. +us that the assertion that failed was `assertion failed: `(left == right)`` [1] +and what the `left` [2] and `right` [3] values are. This message helps us start +debugging: the `left` argument was `4` but the `right` argument, where we had +`add_two(2)`, was `5`. You can imagine that this would be especially helpful +when we have a lot of tests going on. Note that in some languages and test frameworks, the parameters to equality assertion functions are called `expected` and `actual`, and the order in which @@ -513,7 +1005,7 @@ we specify the arguments matters. However, in Rust, they’re called `left` and `right`, and the order in which we specify the value we expect and the value the code produces doesn’t matter. We could write the assertion in this test as `assert_eq!(add_two(2), 4)`, which would result in the same failure message -that displays `` assertion failed: `(left == right)` ``. +that displays `assertion failed: `(left == right)``. The `assert_ne!` macro will pass if the two values we give it are not equal and fail if they’re equal. This macro is most useful for cases when we’re not sure @@ -531,21 +1023,20 @@ the standard library types implement these traits. For structs and enums that you define yourself, you’ll need to implement `PartialEq` to assert equality of those types. You’ll also need to implement `Debug` to print the values when the assertion fails. Because both traits are derivable traits, as mentioned in -Listing 5-12 in Chapter 5, this is usually as straightforward as adding the +Listing 5-12, this is usually as straightforward as adding the `#[derive(PartialEq, Debug)]` annotation to your struct or enum definition. See -Appendix C, “Derivable Traits,” for more details about these and other -derivable traits. +Appendix C for more details about these and other derivable traits. ### Adding Custom Failure Messages You can also add a custom message to be printed with the failure message as optional arguments to the `assert!`, `assert_eq!`, and `assert_ne!` macros. Any arguments specified after the required arguments are passed along to the -`format!` macro (discussed in Chapter 8 in the “Concatenation with the `+` -Operator or the `format!` Macro” section), so you can pass a format string that -contains `{}` placeholders and values to go in those placeholders. Custom -messages are useful for documenting what an assertion means; when a test fails, -you’ll have a better idea of what the problem is with the code. +`format!` macro (discussed in “Concatenation with the + Operator or the format! +Macro” on page XX), so you can pass a format string that contains `{}` +placeholders and values to go in those placeholders. Custom messages are useful +for documenting what an assertion means; when a test fails, you’ll have a +better idea of what the problem is with the code. For example, let’s say we have a function that greets people by name and we want to test that the name we pass into the function appears in the output: @@ -554,18 +1045,57 @@ Filename: src/lib.rs ``` pub fn greeting(name: &str) -> String { +``` + +``` format!("Hello {}!", name) +``` + +``` } +``` + +``` + +``` +``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` +``` + +``` + +``` #[test] +``` + +``` fn greeting_contains_name() { +``` + +``` let result = greeting("Carol"); +``` + +``` assert!(result.contains("Carol")); +``` + +``` } +``` + +``` } ``` @@ -581,7 +1111,13 @@ Now let’s introduce a bug into this code by changing `greeting` to exclude ``` pub fn greeting(name: &str) -> String { +``` + +``` String::from("Hello!") +``` + +``` } ``` @@ -589,16 +1125,57 @@ Running this test produces the following: ``` running 1 test +``` + +``` test tests::greeting_contains_name ... FAILED +``` + +``` +``` + +``` failures: +``` + +``` +``` + +``` ---- tests::greeting_contains_name stdout ---- -thread 'main' panicked at 'assertion failed: result.contains(\"Carol\")', src/lib.rs:12:9 -note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +``` + +``` +thread 'main' panicked at 'assertion failed: +``` + +``` +result.contains(\"Carol\")', src/lib.rs:12:9 +``` + +``` +note: run with `RUST_BACKTRACE=1` environment variable to display +``` + +``` +a backtrace +``` +``` + +``` +``` + +``` + +``` failures: +``` + +``` tests::greeting_contains_name ``` @@ -610,13 +1187,37 @@ string with a placeholder filled in with the actual value we got from the ``` #[test] +``` + +``` fn greeting_contains_name() { +``` + +``` let result = greeting("Carol"); +``` + +``` assert!( +``` + +``` result.contains("Carol"), +``` + +``` "Greeting did not contain name, value was `{}`", +``` + +``` result +``` + +``` ); +``` + +``` } ``` @@ -624,21 +1225,35 @@ Now when we run the test, we’ll get a more informative error message: ``` ---- tests::greeting_contains_name stdout ---- -thread 'main' panicked at 'Greeting did not contain name, value was `Hello!`', src/lib.rs:12:9 -note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +``` + +``` +thread 'main' panicked at 'Greeting did not contain name, value +``` + +``` +was `Hello!`', src/lib.rs:12:9 +``` + +``` +note: run with `RUST_BACKTRACE=1` environment variable to display +``` + +``` +a backtrace ``` We can see the value we actually got in the test output, which would help us debug what happened instead of what we were expecting to happen. -### Checking for Panics with `should_panic` +### Checking for Panics with should_panic In addition to checking return values, it’s important to check that our code handles error conditions as we expect. For example, consider the `Guess` type -that we created in Chapter 9, Listing 9-13. Other code that uses `Guess` -depends on the guarantee that `Guess` instances will contain only values -between 1 and 100. We can write a test that ensures that attempting to create a -`Guess` instance with a value outside that range panics. +that we created in Listing 9-13. Other code that uses `Guess` depends on the +guarantee that `Guess` instances will contain only values between 1 and 100. We +can write a test that ensures that attempting to create a `Guess` instance with +a value outside that range panics. We do this by adding the attribute `should_panic` to our test function. The test passes if the code inside the function panics; the test fails if the code @@ -651,32 +1266,105 @@ Filename: src/lib.rs ``` pub struct Guess { +``` + +``` value: i32, +``` + +``` } +``` + +``` +``` + +``` impl Guess { +``` + +``` pub fn new(value: i32) -> Guess { +``` + +``` if value < 1 || value > 100 { +``` + +``` panic!("Guess value must be between 1 and 100, got {}.", value); +``` + +``` } +``` + +``` +``` + +``` Guess { value } +``` + +``` } +``` + +``` } +``` +``` + +``` + +``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` +``` + +``` + +``` #[test] +``` + +``` #[should_panic] +``` + +``` fn greater_than_100() { +``` + +``` Guess::new(200); +``` + +``` } +``` + +``` } ``` -Listing 11-8: Testing that a condition will cause a `panic!` +``` +Testing that a condition will cause a panic! +``` + +Listing 11-8 xxx We place the `#[should_panic]` attribute after the `#[test]` attribute and before the test function it applies to. Let’s look at the result when this test @@ -684,24 +1372,61 @@ passes: ``` running 1 test +``` + +``` test tests::greater_than_100 - should panic ... ok +``` + +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s ``` Looks good! Now let’s introduce a bug in our code by removing the condition that the `new` function will panic if the value is greater than 100: ``` -// --snip-- +--snip-- +``` + +``` impl Guess { +``` + +``` pub fn new(value: i32) -> Guess { +``` + +``` if value < 1 { +``` + +``` panic!("Guess value must be between 1 and 100, got {}.", value); +``` + +``` } +``` + +``` +``` + +``` Guess { value } +``` + +``` } +``` + +``` } ``` @@ -709,17 +1434,51 @@ When we run the test in Listing 11-8, it will fail: ``` running 1 test +``` + +``` test tests::greater_than_100 - should panic ... FAILED +``` +``` + +``` + +``` failures: +``` +``` + +``` + +``` ---- tests::greater_than_100 stdout ---- +``` + +``` note: test did not panic as expected +``` + +``` + +``` +``` failures: +``` + +``` tests::greater_than_100 +``` -test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +``` + +``` +test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered +out;finished in 0.00s ``` We don’t get a very helpful message in this case, but when we look at the test @@ -738,46 +1497,132 @@ too large. Filename: src/lib.rs ``` -// --snip-- +--snip-- +``` + +``` + +``` +``` impl Guess { +``` + +``` pub fn new(value: i32) -> Guess { +``` + +``` if value < 1 { +``` + +``` panic!( +``` + +``` "Guess value must be greater than or equal to 1, got {}.", +``` + +``` value +``` + +``` ); +``` + +``` } else if value > 100 { +``` + +``` panic!( +``` + +``` "Guess value must be less than or equal to 100, got {}.", +``` + +``` value +``` + +``` ); +``` + +``` } +``` +``` + +``` + +``` Guess { value } +``` + +``` } +``` + +``` } +``` + +``` + +``` +``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` + +``` + +``` +``` #[test] +``` + +``` #[should_panic(expected = "less than or equal to 100")] +``` + +``` fn greater_than_100() { +``` + +``` Guess::new(200); +``` + +``` } +``` + +``` } ``` -Listing 11-9: Testing for a `panic!` with a panic message containing a -specified substring +Testing for a `panic!` with a panic message containing a specified substring This test will pass because the value we put in the `should_panic` attribute’s `expected` parameter is a substring of the message that the `Guess::new` function panics with. We could have specified the entire panic message that we expect, which in this case would be `Guess value must be less than or equal to -100, got 200.` What you choose to specify depends on how much of the panic +100, got 200`. What you choose to specify depends on how much of the panic message is unique or dynamic and how precise you want your test to be. In this case, a substring of the panic message is enough to ensure that the code in the test function executes the `else if value > 100` case. @@ -788,40 +1633,113 @@ fails, let’s again introduce a bug into our code by swapping the bodies of the ``` if value < 1 { +``` + +``` panic!("Guess value must be less than or equal to 100, got {}.", value); +``` + +``` } else if value > 100 { +``` + +``` panic!("Guess value must be greater than or equal to 1, got {}.", value); +``` + +``` } ``` This time when we run the `should_panic` test, it will fail: ``` -running 1 test -test tests::greater_than_100 - should panic ... FAILED +running 1 test +``` + +``` +test tests::greater_than_100 - should panic ... FAILED +``` + +``` + +``` + +``` +failures: +``` + +``` + +``` + +``` +---- tests::greater_than_100 stdout ---- +``` + +``` +thread 'main' panicked at 'Guess value must be greater than or +``` + +``` +equal to 1, got 200.', src/lib.rs:13:13 +``` + +``` +note: run with `RUST_BACKTRACE=1` environment variable to display +``` + +``` +a backtrace +``` + +``` +note: panic did not contain expected string +``` + +``` + panic message: `"Guess value must be greater than or equal +``` + +``` +to 1, got 200."`, +``` + +``` + expected substring: `"less than or equal to 100"` +``` + +``` + +``` + +``` +failures: +``` + +``` + tests::greater_than_100 +``` -failures: +``` ----- tests::greater_than_100 stdout ---- -thread 'main' panicked at 'Guess value must be greater than or equal to 1, got 200.', src/lib.rs:13:13 -note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace -note: panic did not contain expected string - panic message: `"Guess value must be greater than or equal to 1, got 200."`, - expected substring: `"less than or equal to 100"` +``` -failures: - tests::greater_than_100 +``` +test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 +``` -test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +filtered out; finished in 0.00s ``` The failure message indicates that this test did indeed panic as we expected, but the panic message did not include the expected string `'Guess value must be less than or equal to 100'`. The panic message that we did get in this case was -`Guess value must be greater than or equal to 1, got 200.` Now we can start +`Guess value must be greater than or equal to 1, got 200`. Now we can start figuring out where our bug is! -### Using `Result` in Tests +### Using Result in Tests Our tests so far all panic when they fail. We can also write tests that use `Result`! Here’s the test from Listing 11-1, rewritten to use `Result` and return an `Err` instead of panicking: ``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` #[test] +``` + +``` fn it_works() -> Result<(), String> { +``` + +``` if 2 + 2 == 4 { +``` + +``` Ok(()) +``` + +``` } else { +``` + +``` Err(String::from("two plus two does not equal four")) +``` + +``` } +``` + +``` } +``` + +``` } ``` @@ -861,15 +1809,15 @@ test`. ## Controlling How Tests Are Run -Just as `cargo run` compiles your code and then runs the resulting binary, -`cargo test` compiles your code in test mode and runs the resulting test +Just as `cargo run` compiles your code and then runs the resultant binary, +`cargo test` compiles your code in test mode and runs the resultant test binary. The default behavior of the binary produced by `cargo test` is to run all the tests in parallel and capture output generated during test runs, preventing the output from being displayed and making it easier to read the output related to the test results. You can, however, specify command line options to change this default behavior. -Some command line options go to `cargo test`, and some go to the resulting test +Some command line options go to `cargo test`, and some go to the resultant test binary. To separate these two types of arguments, you list the arguments that go to `cargo test` followed by the separator `--` and then the ones that go to the test binary. Running `cargo test --help` displays the options you can use @@ -923,50 +1871,166 @@ Filename: src/lib.rs ``` fn prints_and_returns_10(a: i32) -> i32 { +``` + +``` println!("I got the value {}", a); +``` + +``` 10 +``` + +``` } +``` + +``` +``` + +``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` + +``` +``` + +``` #[test] +``` + +``` fn this_test_will_pass() { +``` + +``` let value = prints_and_returns_10(4); +``` + +``` assert_eq!(10, value); +``` + +``` } +``` + +``` + +``` +``` #[test] +``` + +``` fn this_test_will_fail() { +``` + +``` let value = prints_and_returns_10(8); +``` + +``` assert_eq!(5, value); +``` + +``` } +``` + +``` } ``` -Listing 11-10: Tests for a function that calls `println!` +Tests for a function that calls `println!` When we run these tests with `cargo test`, we’ll see the following output: ``` running 2 tests +``` + +``` test tests::this_test_will_pass ... ok +``` + +``` test tests::this_test_will_fail ... FAILED +``` + +``` + +``` +``` failures: +``` + +``` + +``` +``` ---- tests::this_test_will_fail stdout ---- -[1] I got the value 8 +``` + +``` +1 I got the value 8 +``` + +``` thread 'main' panicked at 'assertion failed: `(left == right)` +``` + +``` left: `5`, +``` + +``` right: `10`', src/lib.rs:19:9 -note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +``` + +``` +note: run with `RUST_BACKTRACE=1` environment variable to display +``` + +``` +a backtrace +``` + +``` + +``` +``` failures: +``` + +``` tests::this_test_will_fail +``` + +``` -test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +``` +test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` Note that nowhere in this output do we see `I got the value 4`, which is @@ -975,8 +2039,8 @@ output from the test that failed, `I got the value 8` [1], appears in the section of the test summary output, which also shows the cause of the test failure. -If we want to see printed values for passing tests as well, we can tell Rust -to also show the output of successful tests with `--show-output`. +If we want to see printed values for passing tests as well, we can tell Rust to +also show the output of successful tests with `--show-output`: ``` $ cargo test -- --show-output @@ -987,31 +2051,114 @@ see the following output: ``` running 2 tests +``` + +``` test tests::this_test_will_pass ... ok +``` + +``` test tests::this_test_will_fail ... FAILED +``` + +``` + +``` +``` successes: +``` + +``` + +``` +``` ---- tests::this_test_will_pass stdout ---- +``` + +``` I got the value 4 +``` + +``` + +``` +``` + +``` +``` successes: +``` + +``` tests::this_test_will_pass +``` +``` + +``` + +``` failures: +``` + +``` +``` + +``` ---- tests::this_test_will_fail stdout ---- +``` + +``` I got the value 8 +``` + +``` thread 'main' panicked at 'assertion failed: `(left == right)` +``` + +``` left: `5`, +``` + +``` right: `10`', src/lib.rs:19:9 -note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace +``` + +``` +note: run with `RUST_BACKTRACE=1` environment variable to display +``` + +``` +a backtrace +``` + +``` +``` + +``` failures: +``` + +``` tests::this_test_will_fail +``` + +``` + +``` + +``` +test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 +``` -test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +filtered out; finished in 0.00s ``` ### Running a Subset of Tests by Name @@ -1028,42 +2175,127 @@ Filename: src/lib.rs ``` pub fn add_two(a: i32) -> i32 { +``` + +``` a + 2 +``` + +``` } +``` + +``` +``` + +``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` + +``` +``` + +``` #[test] +``` + +``` fn add_two_and_two() { +``` + +``` assert_eq!(4, add_two(2)); +``` + +``` } +``` + +``` + +``` +``` #[test] +``` + +``` fn add_three_and_two() { +``` + +``` assert_eq!(5, add_two(3)); +``` + +``` } +``` +``` + +``` + +``` #[test] +``` + +``` fn one_hundred() { +``` + +``` assert_eq!(102, add_two(100)); +``` + +``` } +``` + +``` } ``` -Listing 11-11: Three tests with three different names +Three tests with three different names If we run the tests without passing any arguments, as we saw earlier, all the tests will run in parallel: ``` running 3 tests +``` + +``` test tests::add_three_and_two ... ok +``` + +``` test tests::add_two_and_two ... ok +``` + +``` test tests::one_hundred ... ok +``` + +``` + +``` + +``` +test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 +``` -test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +filtered out; finished in 0.00s ``` #### Running Single Tests @@ -1072,14 +2304,42 @@ We can pass the name of any test function to `cargo test` to run only that test: ``` $ cargo test one_hundred +``` + +``` Compiling adder v0.1.0 (file:///projects/adder) +``` + +``` Finished test [unoptimized + debuginfo] target(s) in 0.69s +``` + +``` Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) +``` + +``` + +``` +``` running 1 test +``` + +``` test tests::one_hundred ... ok +``` + +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s +``` + +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 2 +``` + +``` +filtered out; finished in 0.00s ``` Only the test with the name `one_hundred` ran; the other two tests didn’t match @@ -1097,15 +2357,46 @@ run those two by running `cargo test add`: ``` $ cargo test add +``` + +``` Compiling adder v0.1.0 (file:///projects/adder) +``` + +``` Finished test [unoptimized + debuginfo] target(s) in 0.61s +``` + +``` Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) +``` +``` + +``` + +``` running 2 tests +``` + +``` test tests::add_three_and_two ... ok +``` + +``` test tests::add_two_and_two ... ok +``` + +``` + +``` -test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s +``` +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 1 +``` + +``` +filtered out; finished in 0.00s ``` This command ran all tests with `add` in the name and filtered out the test @@ -1125,14 +2416,45 @@ Filename: src/lib.rs ``` #[test] +``` + +``` fn it_works() { - assert_eq!(2 + 2, 4); +``` + +``` + let result = 2 + 2; +``` + +``` + assert_eq!(result, 4); +``` + +``` } +``` + +``` + +``` +``` #[test] +``` + +``` #[ignore] +``` + +``` fn expensive_test() { +``` + +``` // code that takes an hour to run +``` + +``` } ``` @@ -1141,15 +2463,43 @@ when we run our tests, `it_works` runs, but `expensive_test` doesn’t: ``` $ cargo test +``` + +``` Compiling adder v0.1.0 (file:///projects/adder) +``` + +``` Finished test [unoptimized + debuginfo] target(s) in 0.60s +``` + +``` Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) +``` + +``` + +``` +``` running 2 tests +``` + +``` test expensive_test ... ignored +``` + +``` test it_works ... ok +``` -test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` + +``` + +``` +test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; +finished in 0.00s ``` The `expensive_test` function is listed as `ignored`. If we want to run only @@ -1157,13 +2507,38 @@ the ignored tests, we can use `cargo test -- --ignored`: ``` $ cargo test -- --ignored +``` + +``` Finished test [unoptimized + debuginfo] target(s) in 0.61s +``` + +``` Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) +``` + +``` + +``` +``` running 1 test +``` + +``` test expensive_test ... ok +``` + +``` + +``` + +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s +``` +filtered out; finished in 0.00s ``` By controlling which tests run, you can make sure your `cargo test` results @@ -1195,16 +2570,16 @@ code that they’re testing. The convention is to create a module named `tests` in each file to contain the test functions and to annotate the module with `cfg(test)`. -#### The Tests Module and `#[cfg(test)]` +#### The Tests Module and #[cfg(test)] -The `#[cfg(test)]` annotation on the tests module tells Rust to compile and run -the test code only when you run `cargo test`, not when you run `cargo build`. -This saves compile time when you only want to build the library and saves space -in the resulting compiled artifact because the tests are not included. You’ll -see that because integration tests go in a different directory, they don’t need -the `#[cfg(test)]` annotation. However, because unit tests go in the same files -as the code, you’ll use `#[cfg(test)]` to specify that they shouldn’t be -included in the compiled result. +The `#[cfg(test)]` annotation on the `tests` module tells Rust to compile and +run the test code only when you run `cargo test`, not when you run `cargo +build`. This saves compile time when you only want to build the library and +saves space in the resultant compiled artifact because the tests are not +included. You’ll see that because integration tests go in a different +directory, they don’t need the `#[cfg(test)]` annotation. However, because unit +tests go in the same files as the code, you’ll use `#[cfg(test)]` to specify +that they shouldn’t be included in the compiled result. Recall that when we generated the new `adder` project in the first section of this chapter, Cargo generated this code for us: @@ -1213,12 +2588,33 @@ Filename: src/lib.rs ``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` #[test] +``` + +``` fn it_works() { +``` + +``` let result = 2 + 2; +``` + +``` assert_eq!(result, 4); +``` + +``` } +``` + +``` } ``` @@ -1243,29 +2639,77 @@ Filename: src/lib.rs ``` pub fn add_two(a: i32) -> i32 { +``` + +``` internal_adder(a, 2) +``` + +``` } +``` + +``` + +``` +``` fn internal_adder(a: i32, b: i32) -> i32 { +``` + +``` a + b +``` + +``` } +``` + +``` + +``` +``` #[cfg(test)] +``` + +``` mod tests { +``` + +``` use super::*; +``` + +``` + +``` +``` #[test] +``` + +``` fn internal() { +``` + +``` assert_eq!(4, internal_adder(2, 2)); +``` + +``` } +``` + +``` } ``` -Listing 11-12: Testing a private function +Testing a private function Note that the `internal_adder` function is not marked as `pub`. Tests are just Rust code, and the `tests` module is just another module. As we discussed in -the “Paths for Referring to an Item in the Module Tree” section, items in child +“Paths for Referring to an Item in the Module Tree” on page XX, items in child modules can use the items in their ancestor modules. In this test, we bring all of the `test` module’s parent’s items into scope with `use super::*`, and then the test can call `internal_adder`. If you don’t think private functions should @@ -1281,7 +2725,7 @@ work correctly on their own could have problems when integrated, so test coverage of the integrated code is important as well. To create integration tests, you first need a *tests* directory. -#### The *tests* Directory +#### The tests Directory We create a *tests* directory at the top level of our project directory, next to *src*. Cargo knows to look for integration test files in this directory. We @@ -1294,60 +2738,160 @@ Let’s create an integration test. With the code in Listing 11-12 still in the ``` adder +``` + +``` ├── Cargo.lock +``` + +``` ├── Cargo.toml +``` + +``` ├── src -│   └── lib.rs +``` + +``` +│ └── lib.rs +``` + +``` └── tests +``` + +``` └── integration_test.rs ``` -Enter the code in Listing 11-13 into the *tests/integration_test.rs* file: +Enter the code in Listing 11-13 into the *tests/integration_test.rs* file. Filename: tests/integration_test.rs ``` use adder; +``` + +``` + +``` +``` #[test] +``` + +``` fn it_adds_two() { +``` + +``` assert_eq!(4, adder::add_two(2)); +``` + +``` } ``` -Listing 11-13: An integration test of a function in the `adder` crate +An integration test of a function in the `adder` crate -Each file in the `tests` directory is a separate crate, so we need to bring our +Each file in the *tests* directory is a separate crate, so we need to bring our library into each test crate’s scope. For that reason we add `use adder` at the top of the code, which we didn’t need in the unit tests. We don’t need to annotate any code in *tests/integration_test.rs* with -`#[cfg(test)]`. Cargo treats the `tests` directory specially and compiles files +`#[cfg(test)]`. Cargo treats the *tests* directory specially and compiles files in this directory only when we run `cargo test`. Run `cargo test` now: ``` $ cargo test +``` + +``` Compiling adder v0.1.0 (file:///projects/adder) +``` + +``` Finished test [unoptimized + debuginfo] target(s) in 1.31s +``` + +``` Running unittests src/lib.rs (target/debug/deps/adder-1082c4b063a8fbe6) +``` + +``` + +``` + +``` +1 running 1 test +``` -[1] running 1 test +``` test tests::internal ... ok +``` + +``` + +``` + +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s +``` + +``` + +``` + +``` + 2 Running tests/integration_test.rs +(target/debug/deps/integration_test-1082c4b063a8fbe6) +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` - [2] Running tests/integration_test.rs (target/debug/deps/integration_test-1082c4b063a8fbe6) +``` +``` running 1 test -[3] test it_adds_two ... ok +``` + +``` +3 test it_adds_two ... ok +``` + +``` + +``` + +``` +4 test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s +``` + +``` -[4] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +``` Doc-tests adder +``` + +``` + +``` +``` running 0 tests +``` + +``` + +``` -test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s ``` The three sections of output include the unit tests, the integration test, and @@ -1375,13 +2919,39 @@ followed by the name of the file: ``` $ cargo test --test integration_test +``` + +``` Finished test [unoptimized + debuginfo] target(s) in 0.64s - Running tests/integration_test.rs (target/debug/deps/integration_test-82e7799c1bc62298) +``` + +``` + Running tests/integration_test.rs +(target/debug/deps/integration_test-82e7799c1bc62298) +``` + +``` + +``` +``` running 1 test +``` + +``` test it_adds_two ... ok +``` + +``` + +``` + +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +filtered out; finished in 0.00s ``` This command runs only the tests in the *tests/integration_test.rs* file. @@ -1399,17 +2969,23 @@ regarding how to separate code into modules and files. The different behavior of *tests* directory files is most noticeable when you have a set of helper functions to use in multiple integration test files and -you try to follow the steps in the “Separating Modules into Different Files” -section of Chapter 7 to extract them into a common module. For example, if we -create *tests/common.rs* and place a function named `setup` in it, we can add -some code to `setup` that we want to call from multiple test functions in -multiple test files: +you try to follow the steps in “Separating Modules into Different Files” on +page XX to extract them into a common module. For example, if we create +*tests/common.rs* and place a function named `setup` in it, we can add some +code to `setup` that we want to call from multiple test functions in multiple +test files: Filename: tests/common.rs ``` pub fn setup() { +``` + +``` // setup code specific to your library's tests would go here +``` + +``` } ``` @@ -1419,55 +2995,146 @@ did we call the `setup` function from anywhere: ``` running 1 test +``` + +``` test tests::internal ... ok +``` + +``` + +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s +``` + +``` +``` + +``` Running tests/common.rs (target/debug/deps/common-92948b65e88960b4) +``` +``` + +``` + +``` running 0 tests +``` + +``` + +``` + +``` +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s +``` + +``` + +``` + +``` + Running tests/integration_test.rs +(target/debug/deps/integration_test-92948b65e88960b4) +``` -test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` - Running tests/integration_test.rs (target/debug/deps/integration_test-92948b65e88960b4) +``` +``` running 1 test +``` + +``` test it_adds_two ... ok +``` + +``` + +``` + +``` +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s +``` + +``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +``` Doc-tests adder +``` + +``` + +``` +``` running 0 tests +``` + +``` + +``` -test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s +``` +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; +finished in 0.00s ``` Having `common` appear in the test results with `running 0 tests` displayed for it is not what we wanted. We just wanted to share some code with the other -integration test files. -To avoid having `common` appear in the test output, instead of creating -*tests/common.rs*, we’ll create *tests/common/mod.rs*. The project directory -now looks like this: +integration test files. To avoid having `common` appear in the test output, +instead of creating *tests/common.rs*, we’ll create *tests/common/mod.rs*. The +project directory now looks like this: ``` ├── Cargo.lock +``` + +``` ├── Cargo.toml +``` + +``` ├── src -│   └── lib.rs +``` + +``` +│ └── lib.rs +``` + +``` └── tests +``` + +``` ├── common - │   └── mod.rs +``` + +``` + │ └── mod.rs +``` + +``` └── integration_test.rs ``` This is the older naming convention that Rust also understands that we -mentioned in the “Alternate File Paths” section of Chapter 7. Naming the file -this way tells Rust not to treat the `common` module as an integration test -file. When we move the `setup` function code into *tests/common/mod.rs* and -delete the *tests/common.rs* file, the section in the test output will no -longer appear. Files in subdirectories of the *tests* directory don’t get -compiled as separate crates or have sections in the test output. +mentioned in “Alternate File Paths” on page XX. Naming the file this way tells +Rust not to treat the `common` module as an integration test file. When we move +the `setup` function code into *tests/common/mod.rs* and delete the +*tests/common.rs* file, the section in the test output will no longer appear. +Files in subdirectories of the *tests* directory don’t get compiled as separate +crates or have sections in the test output. After we’ve created *tests/common/mod.rs*, we can use it from any of the integration test files as a module. Here’s an example of calling the `setup` @@ -1477,13 +3144,37 @@ Filename: tests/integration_test.rs ``` use adder; +``` +``` + +``` + +``` mod common; +``` + +``` +``` + +``` #[test] +``` + +``` fn it_adds_two() { +``` + +``` common::setup(); +``` + +``` assert_eq!(4, adder::add_two(2)); +``` + +``` } ``` @@ -1493,8 +3184,8 @@ we demonstrated in Listing 7-21. Then in the test function, we can call the #### Integration Tests for Binary Crates -If our project is a binary crate that only contains a *src/main.rs* file and -doesn’t have a *src/lib.rs* file, we can’t create integration tests in the +If our project is a binary crate that only contains an *src/main.rs* file and +doesn’t have an *src/lib.rs* file, we can’t create integration tests in the *tests* directory and bring functions defined in the *src/main.rs* file into scope with a `use` statement. Only library crates expose functions that other crates can use; binary crates are meant to be run on their own. @@ -1502,10 +3193,9 @@ crates can use; binary crates are meant to be run on their own. This is one of the reasons Rust projects that provide a binary have a straightforward *src/main.rs* file that calls logic that lives in the *src/lib.rs* file. Using that structure, integration tests *can* test the -library crate with `use` to make the important functionality available. -If the important functionality works, the small amount of code in the -*src/main.rs* file will work as well, and that small amount of code doesn’t -need to be tested. +library crate with `use` to make the important functionality available. If the +important functionality works, the small amount of code in the *src/main.rs* +file will work as well, and that small amount of code doesn’t need to be tested. ## Summary @@ -1520,3 +3210,4 @@ reduce logic bugs having to do with how your code is expected to behave. Let’s combine the knowledge you learned in this chapter and in previous chapters to work on a project! + diff --git a/nostarch/docx/chapter11.docx b/nostarch/docx/chapter11.docx new file mode 100644 index 0000000000000000000000000000000000000000..f382cea48952ca323965b66100b05c2e0bacc6f9 GIT binary patch literal 78777 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 DfDrIY literal 0 HcmV?d00001 From 58df14a268012673ed26888c8f4aaa47388c4e92 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sun, 21 Aug 2022 18:05:01 -0400 Subject: [PATCH 0410/1248] Messy snapshot of chapter 11 after copyedit check --- nostarch/chapter11.md | 301 +++++++++++++++++++++++++---------- nostarch/docx/chapter11.docx | Bin 78777 -> 92972 bytes 2 files changed, 213 insertions(+), 88 deletions(-) diff --git a/nostarch/chapter11.md b/nostarch/chapter11.md index 1bc985a1ba..5a31c31cc6 100644 --- a/nostarch/chapter11.md +++ b/nostarch/chapter11.md @@ -101,7 +101,7 @@ mod tests { ``` ``` -1 #[test] + 1 #[test] ``` ``` @@ -113,7 +113,7 @@ mod tests { ``` ``` - 2 assert_eq!(result, 4); + 2 assert_eq!(result, 4); ``` ``` @@ -157,7 +157,11 @@ $ cargo test ``` ``` - Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) + Running unittests src/lib.rs (target/debug/deps/adder- +``` + +``` +92948b65e88960b4) ``` ``` @@ -205,8 +209,11 @@ running 0 tests ``` ``` -test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; -finished in 0.00s +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` The output from running the automatically generated test @@ -369,7 +376,7 @@ test tests::exploration ... ok ``` ``` -test tests::another ... FAILED 1 +1 test tests::another ... FAILED ``` ``` @@ -377,7 +384,7 @@ test tests::another ... FAILED 1 ``` ``` -failures: 2 +2 failures: ``` ``` @@ -405,7 +412,7 @@ a backtrace ``` ``` -failures: 3 +3 failures: ``` ``` @@ -417,11 +424,11 @@ failures: 3 ``` ``` -test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 +4 test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 ``` ``` -filtered out; finished in 0.00s 4 +filtered out; finished in 0.00s ``` ``` @@ -521,22 +528,73 @@ Filename: src/lib.rs ``` #[cfg(test)] +``` + +``` mod tests { -1 use super::*; +``` + +``` + 1 use super::*; +``` +``` + +``` + +``` #[test] -2 fn larger_can_hold_smaller() { - 3 let larger = Rectangle { +``` + +``` + 2 fn larger_can_hold_smaller() { +``` + +``` + 3 let larger = Rectangle { +``` + +``` width: 8, +``` + +``` height: 7, +``` + +``` }; +``` + +``` let smaller = Rectangle { +``` + +``` width: 5, +``` + +``` height: 1, +``` + +``` }; +``` + +``` - 4 assert!(larger.can_hold(&smaller)); +``` + +``` + 4 assert!(larger.can_hold(&smaller)); +``` + +``` } +``` + +``` } ``` @@ -711,6 +769,10 @@ compares the widths: --snip-- ``` +``` + +``` + ``` impl Rectangle { ``` @@ -953,11 +1015,11 @@ failures: ``` ``` -2 left: `4`, +2 left: `4`, ``` ``` -3 right: `5`', src/lib.rs:11:9 +3 right: `5`', src/lib.rs:11:9 ``` ``` @@ -1048,7 +1110,7 @@ pub fn greeting(name: &str) -> String { ``` ``` - format!("Hello {}!", name) + format!("Hello {name}!") ``` ``` @@ -1206,11 +1268,7 @@ fn greeting_contains_name() { ``` ``` - "Greeting did not contain name, value was `{}`", -``` - -``` - result + "Greeting did not contain name, value was `{result}`" ``` ``` @@ -1293,7 +1351,7 @@ impl Guess { ``` ``` - panic!("Guess value must be between 1 and 100, got {}.", value); + panic!("Guess value must be between 1 and 100, got {value}."); ``` ``` @@ -1360,11 +1418,7 @@ mod tests { } ``` -``` Testing that a condition will cause a panic! -``` - -Listing 11-8 xxx We place the `#[should_panic]` attribute after the `#[test]` attribute and before the test function it applies to. Let’s look at the result when this test @@ -1383,8 +1437,11 @@ test tests::greater_than_100 - should panic ... ok ``` ``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; -finished in 0.00s +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` Looks good! Now let’s introduce a bug in our code by removing the condition @@ -1394,6 +1451,10 @@ that the `new` function will panic if the value is greater than 100: --snip-- ``` +``` + +``` + ``` impl Guess { ``` @@ -1407,7 +1468,7 @@ impl Guess { ``` ``` - panic!("Guess value must be between 1 and 100, got {}.", value); + panic!("Guess value must be between 1 and 100, got {value}."); ``` ``` @@ -1477,8 +1538,11 @@ failures: ``` ``` -test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered -out;finished in 0.00s +test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` We don’t get a very helpful message in this case, but when we look at the test @@ -1521,11 +1585,7 @@ impl Guess { ``` ``` - "Guess value must be greater than or equal to 1, got {}.", -``` - -``` - value + "Guess value must be greater than or equal to 1, got {value}." ``` ``` @@ -1541,11 +1601,7 @@ impl Guess { ``` ``` - "Guess value must be less than or equal to 100, got {}.", -``` - -``` - value + "Guess value must be less than or equal to 100, got {value}." ``` ``` @@ -1636,7 +1692,15 @@ if value < 1 { ``` ``` - panic!("Guess value must be less than or equal to 100, got {}.", value); + panic!( +``` + +``` + "Guess value must be less than or equal to 100, got {value}." +``` + +``` + ); ``` ``` @@ -1644,7 +1708,15 @@ if value < 1 { ``` ``` - panic!("Guess value must be greater than or equal to 1, got {}.", value); + panic!( +``` + +``` + "Guess value must be greater than or equal to 1, got {value}." +``` + +``` + ); ``` ``` @@ -1678,19 +1750,15 @@ failures: ``` ``` -thread 'main' panicked at 'Guess value must be greater than or +thread 'main' panicked at 'Guess value must be greater than or equal to 1, got ``` ``` -equal to 1, got 200.', src/lib.rs:13:13 +200.', src/lib.rs:13:13 ``` ``` -note: run with `RUST_BACKTRACE=1` environment variable to display -``` - -``` -a backtrace +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` ``` @@ -1698,11 +1766,11 @@ note: panic did not contain expected string ``` ``` - panic message: `"Guess value must be greater than or equal + panic message: `"Guess value must be greater than or equal to 1, got ``` ``` -to 1, got 200."`, +200."`, ``` ``` @@ -1726,11 +1794,11 @@ failures: ``` ``` -test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 +test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; ``` ``` -filtered out; finished in 0.00s +finished in 0.00s ``` The failure message indicates that this test did indeed panic as we expected, @@ -1874,7 +1942,7 @@ fn prints_and_returns_10(a: i32) -> i32 { ``` ``` - println!("I got the value {}", a); + println!("I got the value {a}"); ``` ``` @@ -2315,7 +2383,11 @@ $ cargo test one_hundred ``` ``` - Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) + Running unittests src/lib.rs (target/debug/deps/adder- +``` + +``` +92948b65e88960b4) ``` ``` @@ -2368,7 +2440,11 @@ $ cargo test add ``` ``` - Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) + Running unittests src/lib.rs (target/debug/deps/adder- +``` + +``` +92948b65e88960b4) ``` ``` @@ -2474,7 +2550,11 @@ $ cargo test ``` ``` - Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) + Running unittests src/lib.rs (target/debug/deps/adder- +``` + +``` +92948b65e88960b4) ``` ``` @@ -2498,8 +2578,11 @@ test it_works ... ok ``` ``` -test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; -finished in 0.00s +test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` The `expensive_test` function is listed as `ignored`. If we want to run only @@ -2514,7 +2597,11 @@ $ cargo test -- --ignored ``` ``` - Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4) + Running unittests src/lib.rs (target/debug/deps/adder- +``` + +``` +92948b65e88960b4) ``` ``` @@ -2542,10 +2629,10 @@ filtered out; finished in 0.00s ``` By controlling which tests run, you can make sure your `cargo test` results -will be fast. When you’re at a point where it makes sense to check the results -of the `ignored` tests and you have time to wait for the results, you can run -`cargo test -- --ignored` instead. If you want to run all tests whether they’re -ignored or not, you can run `cargo test -- --include-ignored`. +will be returned quickly. When you’re at a point where it makes sense to check +the results of the `ignored` tests and you have time to wait for the results, +you can run `cargo test -- --ignored` instead. If you want to run all tests +whether they’re ignored or not, you can run `cargo test -- --include-ignored`. ## Test Organization @@ -2618,7 +2705,7 @@ mod tests { } ``` -This code is the automatically generated test module. The attribute `cfg` +This code is the automatically generated `test``s` module. The attribute `cfg` stands for *configuration* and tells Rust that the following item should only be included given a certain configuration option. In this case, the configuration option is `test`, which is provided by Rust for compiling and @@ -2795,8 +2882,8 @@ fn it_adds_two() { An integration test of a function in the `adder` crate Each file in the *tests* directory is a separate crate, so we need to bring our -library into each test crate’s scope. For that reason we add `use adder` at the -top of the code, which we didn’t need in the unit tests. +library into each test crate’s scope. For that reason we add `use adder``;` at +the top of the code, which we didn’t need in the unit tests. We don’t need to annotate any code in *tests/integration_test.rs* with `#[cfg(test)]`. Cargo treats the *tests* directory specially and compiles files @@ -2815,7 +2902,11 @@ $ cargo test ``` ``` - Running unittests src/lib.rs (target/debug/deps/adder-1082c4b063a8fbe6) + Running unittests src/lib.rs (target/debug/deps/adder- +``` + +``` +1082c4b063a8fbe6) ``` ``` @@ -2835,16 +2926,22 @@ test tests::internal ... ok ``` ``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; -finished in 0.00s +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s +``` + ``` ``` +``` + 2 Running tests/integration_test.rs ``` ``` - 2 Running tests/integration_test.rs (target/debug/deps/integration_test-1082c4b063a8fbe6) ``` @@ -2865,8 +2962,11 @@ running 1 test ``` ``` -4 test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; -finished in 0.00s +4 test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` ``` @@ -2890,8 +2990,11 @@ running 0 tests ``` ``` -test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; -finished in 0.00s +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` The three sections of output include the unit tests, the integration test, and @@ -2927,6 +3030,9 @@ $ cargo test --test integration_test ``` Running tests/integration_test.rs +``` + +``` (target/debug/deps/integration_test-82e7799c1bc62298) ``` @@ -3006,16 +3112,23 @@ test tests::internal ... ok ``` ``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; -finished in 0.00s +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s +``` + ``` ``` +``` + Running tests/common.rs (target/debug/deps/common- ``` ``` - Running tests/common.rs (target/debug/deps/common-92948b65e88960b4) +92948b65e88960b4) ``` ``` @@ -3031,8 +3144,11 @@ running 0 tests ``` ``` -test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; -finished in 0.00s +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` ``` @@ -3041,6 +3157,9 @@ finished in 0.00s ``` Running tests/integration_test.rs +``` + +``` (target/debug/deps/integration_test-92948b65e88960b4) ``` @@ -3061,8 +3180,11 @@ test it_adds_two ... ok ``` ``` -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; -finished in 0.00s +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` ``` @@ -3086,8 +3208,11 @@ running 0 tests ``` ``` -test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; -finished in 0.00s +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 +``` + +``` +filtered out; finished in 0.00s ``` Having `common` appear in the test results with `running 0 tests` displayed for @@ -3184,8 +3309,8 @@ we demonstrated in Listing 7-21. Then in the test function, we can call the #### Integration Tests for Binary Crates -If our project is a binary crate that only contains an *src/main.rs* file and -doesn’t have an *src/lib.rs* file, we can’t create integration tests in the +If our project is a binary crate that only contains a *src/main.rs* file and +doesn’t have a *src/lib.rs* file, we can’t create integration tests in the *tests* directory and bring functions defined in the *src/main.rs* file into scope with a `use` statement. Only library crates expose functions that other crates can use; binary crates are meant to be run on their own. diff --git a/nostarch/docx/chapter11.docx b/nostarch/docx/chapter11.docx index f382cea48952ca323965b66100b05c2e0bacc6f9..efb8db9126b51a5ac265b0f4e380c57706ce99b7 100644 GIT binary patch delta 80803 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

    O^hs?vBQBQ`i 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%0AP2uIH@0zXVmmc5xSCy&jVRvS2*>D%MH{M= zZLK_X@gmQ3tt^KLF~H*iXQsJY%f1Mi73U*;;^k(BIT`ofXmgh*tiCIq>p8cL&%))O zX}QVzsr7y(a~W@%bX-fS?`YXyYv#3L-Gg%2t?d z#y3o6VCZ&YWe`Nj0$B&Ar&=?r$bgp-15@-_ZUzS6avCI1Fn9V=pb9nc;!L25<3JUt zMkFj?U?|ToO3_cvOPRjGno&{)v1ATit?%OL={AhY(>ZJyrI=+efP}_P41q=)(XFx4K zZCQ9d4GbI9aM^W^VfubMMkQHzZNtLAAb@NJL*hk->Hq8)6{ml)XOv=Ie}!Q>zXPKJ zsJxM4O8Pau%$8AQdV(F0bB}X+jUA(!45H*=U=Tqu%7$mUw*#Xbp9oM~0_fkfe82?3 F000Z~F#G@j From 2921743516b3e2c0f45a95390e7b536e42f4af7c Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Thu, 18 Aug 2022 20:55:48 -0400 Subject: [PATCH 0402/1248] Update snapshot of chapter 9 --- nostarch/chapter09.md | 214 +++--------------- ...ch09-01-unrecoverable-errors-with-panic.md | 18 +- 2 files changed, 35 insertions(+), 197 deletions(-) diff --git a/nostarch/chapter09.md b/nostarch/chapter09.md index 693dc1be0d..7bdb673c6a 100644 --- a/nostarch/chapter09.md +++ b/nostarch/chapter09.md @@ -42,23 +42,6 @@ print a failure message, unwind, clean up the stack, and quit. Via an environment variable, you can also have Rust display the call stack when a panic occurs to make it easier to track down the source of the panic. - - - - > ### Unwinding the Stack or Aborting in Response to a Panic > > By default, when a panic occurs, the program starts *unwinding*, which @@ -171,21 +154,21 @@ $ RUST_BACKTRACE=1 cargo run thread 'main' panicked at 'index out of bounds: the len is 3 but the index is 99', src/main.rs:4:5 stack backtrace: 0: rust_begin_unwind - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/panicking.rs:483 + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panicking.rs:584:5 1: core::panicking::panic_fmt - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/panicking.rs:85 + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/panicking.rs:142:14 2: core::panicking::panic_bounds_check - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/panicking.rs:62 + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/panicking.rs:84:5 3: >::index - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/slice/index.rs:255 + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/slice/index.rs:242:10 4: core::slice::index:: for [T]>::index - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/slice/index.rs:15 - 5: as core::ops::index::Index>::index - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/alloc/src/vec.rs:1982 + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/slice/index.rs:18:9 + 5: as core::ops::index::Index>::index + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc/src/vec/mod.rs:2591:9 6: panic::main - at ./src/main.rs:4 + at ./src/main.rs:4:5 7: core::ops::function::FnOnce::call_once - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/ops/function.rs:227 + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/ops/function.rs:248:5 note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. ``` @@ -255,18 +238,6 @@ fn main() { Listing 9-3: Opening a file - - - The return type of `File::open` is a `Result`. The generic parameter `T` has been filled in by the implementation of `File::open` with the type of the success value, `std::fs::File`, which is a file handle. The type of `E` used in @@ -352,11 +323,11 @@ fn main() { ErrorKind::NotFound => match File::create("hello.txt") { Ok(fc) => fc, Err(e) => panic!("Problem creating the file: {:?}", e), - } + }, other_error => { panic!("Problem opening the file: {:?}", other_error); } - } + }, }; } ``` @@ -437,20 +408,11 @@ If we run this code without a *hello.txt* file, we’ll see an error message fro the `panic!` call that the `unwrap` method makes: ``` -thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { -repr: Os { code: 2, message: "No such file or directory" } }', -src/libcore/result.rs:906:4 +thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { +code: 2, kind: NotFound, message: "No such file or directory" }', +src/main.rs:4:49 ``` - - - Similarly, the `expect` method lets us also choose the `panic!` error message. Using `expect` instead of `unwrap` and providing good error messages can convey your intent and make tracking down the source of a panic easier. The syntax of @@ -473,32 +435,16 @@ will be the parameter that we pass to `expect`, rather than the default `panic!` message that `unwrap` uses. Here’s what it looks like: ``` -thread 'main' panicked at 'hello.txt should be included in this project: Error { repr: Os { code: -2, message: "No such file or directory" } }', src/libcore/result.rs:906:4 +thread 'main' panicked at 'hello.txt should be included in this project: Os { +code: 2, kind: NotFound, message: "No such file or directory" }', +src/main.rs:5:10 ``` - - - In production-quality code, most Rustaceans choose `expect` rather than `unwrap` and give more context about why the operation is expected to always succeed. That way, if your assumptions are ever proven wrong, you have more information to use in debugging. - - - ### Propagating Errors When a function’s implementation calls something that might fail, instead of @@ -576,20 +522,6 @@ same way that we returned the error value in the `match` that handled the return value of `File::open`. However, we don’t need to explicitly say `return`, because this is the last expression in the function [9]. - - - The code that calls this code will then handle getting either an `Ok` value that contains a username or an `Err` value that contains an `io::Error`. It’s up to the calling code to decide what to do with those values. If the calling @@ -651,13 +583,6 @@ define `impl From for OurError` to construct an instance of `read_username_from_file` will call `from` and convert the error types without needing to add any more code to the function. - - - In the context of Listing 9-7, the `?` at the end of the `File::open` call will return the value inside an `Ok` to the variable `username_file`. If an error occurs, the `?` operator will return early out of the whole function and give @@ -752,14 +677,15 @@ message: ``` error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) - --> src/main.rs:4:36 - | -3 | / fn main() { -4 | | let f = File::open("hello.txt")?; - | | ^ cannot use the `?` operator in a function that returns `()` -5 | | } - | |_- this function should return `Result` or `Option` to accept `?` - | + --> src/main.rs:4:48 + | +3 | / fn main() { +4 | | let greeting_file = File::open("hello.txt")?; + | | ^ cannot use the `?` operator in a function that returns `()` +5 | | } + | |_- this function should return `Result` or `Option` to accept `?` + | + = help: the trait `FromResidual>` is not implemented for `()` ``` This error points out that we’re only allowed to use the `?` operator in a @@ -839,21 +765,6 @@ fn main() -> Result<(), Box> { } ``` - - - Listing 9-12: Changing `main` to return `Result<(), E>` allows the use of the `?` operator on `Result` values @@ -931,17 +842,6 @@ that you’ll never have an `Err` variant, it’s perfectly acceptable to call `unwrap`, and even better to document the reason you think you’ll never have an `Err` variant in the `expect` text. Here’s an example: - - - ``` use std::net::IpAddr; @@ -989,24 +889,6 @@ development. Similarly, `panic!` is often appropriate if you’re calling external code that is out of your control and it returns an invalid state that you have no way of fixing. - - - However, when failure is expected, it’s more appropriate to return a `Result` than to make a `panic!` call. Examples include a parser being given malformed data or an HTTP request returning a status that indicates you have hit a rate @@ -1028,19 +910,6 @@ no reasonable way for calling code to recover; the calling *programmers* need to fix the code. Contracts for a function, especially when a violation will cause a panic, should be explained in the API documentation for the function. - - - However, having lots of error checks in all of your functions would be verbose and annoying. Fortunately, you can use Rust’s type system (and thus the type checking done by the compiler) to do many of the checks for you. If your @@ -1128,22 +997,6 @@ impl Guess { } ``` - - - Listing 9-13: A `Guess` type that will only continue with values between 1 and 100 @@ -1192,18 +1045,3 @@ situations will make your code more reliable in the face of inevitable problems. Now that you’ve seen useful ways that the standard library uses generics with the `Option` and `Result` enums, we’ll talk about how generics work and how you can use them in your code. - - - diff --git a/src/ch09-01-unrecoverable-errors-with-panic.md b/src/ch09-01-unrecoverable-errors-with-panic.md index f5b9fefb88..5675fe3e76 100644 --- a/src/ch09-01-unrecoverable-errors-with-panic.md +++ b/src/ch09-01-unrecoverable-errors-with-panic.md @@ -120,21 +120,21 @@ $ RUST_BACKTRACE=1 cargo run thread 'main' panicked at 'index out of bounds: the len is 3 but the index is 99', src/main.rs:4:5 stack backtrace: 0: rust_begin_unwind - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/panicking.rs:483 + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panicking.rs:584:5 1: core::panicking::panic_fmt - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/panicking.rs:85 + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/panicking.rs:142:14 2: core::panicking::panic_bounds_check - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/panicking.rs:62 + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/panicking.rs:84:5 3: >::index - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/slice/index.rs:255 + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/slice/index.rs:242:10 4: core::slice::index:: for [T]>::index - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/slice/index.rs:15 - 5: as core::ops::index::Index>::index - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/alloc/src/vec.rs:1982 + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/slice/index.rs:18:9 + 5: as core::ops::index::Index>::index + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc/src/vec/mod.rs:2591:9 6: panic::main - at ./src/main.rs:4 + at ./src/main.rs:4:5 7: core::ops::function::FnOnce::call_once - at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/ops/function.rs:227 + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/ops/function.rs:248:5 note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. ``` From 802594e88153240ffe0ddb3c0c3bfd79f7649227 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Fri, 19 Aug 2022 20:33:07 -0400 Subject: [PATCH 0403/1248] Snapshot of ch 9 copyedit --- nostarch/chapter09.md | 1007 +++++++++++++++++++++++++++------- nostarch/docx/chapter09.docx | Bin 0 -> 74361 bytes 2 files changed, 806 insertions(+), 201 deletions(-) create mode 100644 nostarch/docx/chapter09.docx diff --git a/nostarch/chapter09.md b/nostarch/chapter09.md index 7bdb673c6a..7ce4388413 100644 --- a/nostarch/chapter09.md +++ b/nostarch/chapter09.md @@ -18,7 +18,7 @@ deployed your code to production! Rust groups errors into two major categories: *recoverable* and *unrecoverable* errors. For a recoverable error, such as a *file not found* error, we most likely just want to report the problem to the user and retry the operation. -Unrecoverable errors are always symptoms of bugs, like trying to access a +Unrecoverable errors are always symptoms of bugs, such as trying to access a location beyond the end of an array, and so we want to immediately stop the program. @@ -31,9 +31,9 @@ about returning `Result` values. Additionally, we’ll explore considerations when deciding whether to try to recover from an error or to stop execution. -## Unrecoverable Errors with `panic!` +## Unrecoverable Errors with panic! -Sometimes, bad things happen in your code, and there’s nothing you can do about +Sometimes bad things happen in your code, and there’s nothing you can do about it. In these cases, Rust has the `panic!` macro. There are two ways to cause a panic in practice: by taking an action that causes our code to panic (such as accessing an array past the end) or by explicitly calling the `panic!` macro. @@ -42,33 +42,41 @@ print a failure message, unwind, clean up the stack, and quit. Via an environment variable, you can also have Rust display the call stack when a panic occurs to make it easier to track down the source of the panic. + +Unmatched: BoxType + > ### Unwinding the Stack or Aborting in Response to a Panic > -> By default, when a panic occurs, the program starts *unwinding*, which -> means Rust walks back up the stack and cleans up the data from each function -> it encounters. However, this walking back and cleanup is a lot of work. Rust, +> By default, when a panic occurs the program starts *unwinding*, which means +> Rust walks back up the stack and cleans up the data from each function it +> encounters. However, walking back and cleaning up is a lot of work. Rust, > therefore, allows you to choose the alternative of immediately *aborting*, > which ends the program without cleaning up. > -> Memory that the program was using will then need to be cleaned -> up by the operating system. If in your project you need to make the resulting -> binary as small as possible, you can switch from unwinding to aborting upon a -> panic by adding `panic = 'abort'` to the appropriate `[profile]` sections in -> your *Cargo.toml* file. For example, if you want to abort on panic in release -> mode, add this: -> -> ```toml -> [profile.release] -> panic = 'abort' -> ``` +> Memory that the program was using will then need to be cleaned up by the +> operating system. If in your project you need to make the resultant binary as +> small as possible, you can switch from unwinding to aborting upon a panic by +> adding `panic = 'abort'` to the appropriate `[profile]` sections in your +> *Cargo.toml* file. For example, if you want to abort on panic in release mode, +> add this: -Let’s try calling `panic!` in a simple program: + +Unmatched: BoxCode + +Unmatched: BoxCode + Let’s try calling `panic!` in a simple program: Filename: src/main.rs ``` fn main() { +``` + +``` panic!("crash and burn"); +``` + +``` } ``` @@ -76,6 +84,9 @@ When you run the program, you’ll see something like this: ``` thread 'main' panicked at 'crash and burn', src/main.rs:2:5 +``` + +``` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` @@ -88,36 +99,45 @@ In this case, the line indicated is part of our code, and if we go to that line, we see the `panic!` macro call. In other cases, the `panic!` call might be in code that our code calls, and the filename and line number reported by the error message will be someone else’s code where the `panic!` macro is -called, not the line of our code that eventually led to the `panic!` call. We -can use the backtrace of the functions the `panic!` call came from to figure -out the part of our code that is causing the problem. We’ll discuss backtraces -in more detail next. - -### Using a `panic!` Backtrace +called, not the line of our code that eventually led to the `panic!` call. -Let’s look at another example to see what it’s like when a `panic!` call comes -from a library because of a bug in our code instead of from our code calling -the macro directly. Listing 9-1 has some code that attempts to access an -index in a vector beyond the range of valid indexes. +We can use the backtrace of the functions the `panic!` call came from to figure +out the part of our code that is causing the problem. To understand how to use +a `panic!` backtrace, let’s look at another example and see what it’s like when +a `panic!` call comes from a library because of a bug in our code instead of +from our code calling the macro directly. Listing 9-1 has some code that +attempts to access an index in a vector beyond the range of valid indexes. Filename: src/main.rs ``` fn main() { +``` + +``` let v = vec![1, 2, 3]; +``` + +``` + +``` +``` v[99]; +``` + +``` } ``` -Listing 9-1: Attempting to access an element beyond the end of a vector, which -will cause a call to `panic!` +Attempting to access an element beyond the end of a vector, which will cause a +call to `panic!` Here, we’re attempting to access the 100th element of our vector (which is at -index 99 because indexing starts at zero), but the vector has only 3 elements. -In this situation, Rust will panic. Using `[]` is supposed to return an -element, but if you pass an invalid index, there’s no element that Rust could -return here that would be correct. +index 99 because indexing starts at zero), but the vector has only three +elements. In this situation, Rust will panic. Using `[]` is supposed to return +an element, but if you pass an invalid index, there’s no element that Rust +could return here that would be correct. In C, attempting to read beyond the end of a data structure is undefined behavior. You might get whatever is at the location in memory that would @@ -132,48 +152,142 @@ element at an index that doesn’t exist, Rust will stop execution and refuse to continue. Let’s try it and see: ``` -thread 'main' panicked at 'index out of bounds: the len is 3 but the index is 99', src/main.rs:4:5 +thread 'main' panicked at 'index out of bounds: the len is 3 but the index is +``` + +``` +99', src/main.rs:4:5 +``` + +``` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` -This error points at line 4 of our `main.rs` where we attempt to access index -99. The next note line tells us that we can set the `RUST_BACKTRACE` -environment variable to get a backtrace of exactly what happened to cause the -error. A *backtrace* is a list of all the functions that have been called to -get to this point. Backtraces in Rust work as they do in other languages: the -key to reading the backtrace is to start from the top and read until you see -files you wrote. That’s the spot where the problem originated. The lines above -that spot are code that your code has called; the lines below are code that -called your code. These before-and-after lines might include core Rust code, -standard library code, or crates that you’re using. Let’s try getting a -backtrace by setting the `RUST_BACKTRACE` environment variable to any value -except 0. Listing 9-2 shows output similar to what you’ll see. +This error points at line 4 of our *main.rs* where we attempt to access `index`. + +The `note``:` line tells us that we can set the `RUST_BACKTRACE` environment +variable to get a backtrace of exactly what happened to cause the error. A +*backtrace* is a list of all the functions that have been called to get to this +point. Backtraces in Rust work as they do in other languages: the key to +reading the backtrace is to start from the top and read until you see files you +wrote. That’s the spot where the problem originated. The lines above that spot +are code that your code has called; the lines below are code that called your +code. These before-and-after lines might include core Rust code, standard +library code, or crates that you’re using. Let’s try getting a backtrace by +setting the `RUST_BACKTRACE` environment variable to any value except 0. +Listing 9-2 shows output similar to what you’ll see. ``` $ RUST_BACKTRACE=1 cargo run -thread 'main' panicked at 'index out of bounds: the len is 3 but the index is 99', src/main.rs:4:5 -stack backtrace: +``` + +``` +thread 'main' panicked at 'index out of bounds: the len is 3 but the index is +``` + +``` +99', src/main.rs:4:5 +``` + +``` 0: rust_begin_unwind - at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panicking.rs:584:5 +``` + +``` + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std +``` + +``` +/src/panicking.rs:584:5 +``` + +``` 1: core::panicking::panic_fmt - at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/panicking.rs:142:14 +``` + +``` + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core +``` + +``` +/src/panicking.rs:142:14 +``` + +``` 2: core::panicking::panic_bounds_check - at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/panicking.rs:84:5 +``` + +``` + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core +``` + +``` +/src/panicking.rs:84:5 +``` + +``` 3: >::index - at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/slice/index.rs:242:10 +``` + +``` + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core +``` + +``` +/src/slice/index.rs:242:10 +``` + +``` 4: core::slice::index:: for [T]>::index - at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/slice/index.rs:18:9 +``` + +``` + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core +``` + +``` +/src/slice/index.rs:18:9 +``` + +``` 5: as core::ops::index::Index>::index - at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc/src/vec/mod.rs:2591:9 +``` + +``` + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc +``` + +``` +/src/vec/mod.rs:2591:9 +``` + +``` 6: panic::main +``` + +``` at ./src/main.rs:4:5 +``` + +``` 7: core::ops::function::FnOnce::call_once - at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/ops/function.rs:248:5 -note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. ``` -Listing 9-2: The backtrace generated by a call to `panic!` displayed when the -environment variable `RUST_BACKTRACE` is set +``` + at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core +``` + +``` +/src/ops/function.rs:248:5 +``` + +``` +note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose +backtrace. +``` + +The backtrace generated by a call to `panic!` displayed when the environment +variable `RUST_BACKTRACE` is set That’s a lot of output! The exact output you see might be different depending on your operating system and Rust version. In order to get backtraces with this @@ -191,26 +305,33 @@ panics in the future, you’ll need to figure out what action the code is taking with what values to cause the panic and what the code should do instead. We’ll come back to `panic!` and when we should and should not use `panic!` to -handle error conditions in the “To `panic!` or Not to `panic!`” section later -in this chapter. Next, we’ll look at how to recover from an error using -`Result`. +handle error conditions in “To panic! or Not to panic!” on page XX. Next, we’ll +look at how to recover from an error using `Result`. -## Recoverable Errors with `Result` +## Recoverable Errors with Result Most errors aren’t serious enough to require the program to stop entirely. -Sometimes, when a function fails, it’s for a reason that you can easily -interpret and respond to. For example, if you try to open a file and that -operation fails because the file doesn’t exist, you might want to create the -file instead of terminating the process. +Sometimes when a function fails it’s for a reason that you can easily interpret +and respond to. For example, if you try to open a file and that operation fails +because the file doesn’t exist, you might want to create the file instead of +terminating the process. -Recall from “Handling Potential Failure with the `Result` Type” in Chapter 2 -that the `Result` enum is defined as having two variants, `Ok` and `Err`, as -follows: +Recall from “Handling Potential Failure with Result” on page XX that the +`Result` enum is defined as having two variants, `Ok` and `Err`, as follows: ``` enum Result { +``` + +``` Ok(T), +``` + +``` Err(E), +``` + +``` } ``` @@ -230,13 +351,25 @@ Filename: src/main.rs ``` use std::fs::File; +``` + +``` +``` + +``` fn main() { +``` + +``` let greeting_file_result = File::open("hello.txt"); +``` + +``` } ``` -Listing 9-3: Opening a file +Opening a file The return type of `File::open` is a `Result`. The generic parameter `T` has been filled in by the implementation of `File::open` with the type of the @@ -253,7 +386,7 @@ In the case where `File::open` succeeds, the value in the variable `greeting_file_result` will be an instance of `Ok` that contains a file handle. In the case where it fails, the value in `greeting_file_result` will be an instance of `Err` that contains more information about the kind of error that -happened. +occurred. We need to add to the code in Listing 9-3 to take different actions depending on the value `File::open` returns. Listing 9-4 shows one way to handle the @@ -264,19 +397,46 @@ Filename: src/main.rs ``` use std::fs::File; +``` + +``` + +``` +``` fn main() { +``` + +``` let greeting_file_result = File::open("hello.txt"); +``` + +``` + +``` +``` let greeting_file = match greeting_file_result { +``` + +``` Ok(file) => file, +``` + +``` Err(error) => panic!("Problem opening the file: {:?}", error), +``` + +``` }; +``` + +``` } ``` -Listing 9-4: Using a `match` expression to handle the `Result` variants that -might be returned +Using a `match` expression to handle the `Result` variants that might be +returned Note that, like the `Option` enum, the `Result` enum and its variants have been brought into scope by the prelude, so we don’t need to specify `Result::` @@ -293,7 +453,15 @@ there’s no file named *hello.txt* in our current directory and we run this code, we’ll see the following output from the `panic!` macro: ``` -thread 'main' panicked at 'Problem opening the file: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/main.rs:8:23 +thread 'main' panicked at 'Problem opening the file: Os { code: +``` + +``` + 2, kind: NotFound, message: "No such file or directory" }', +``` + +``` +src/main.rs:8:23 ``` As usual, this output tells us exactly what has gone wrong. @@ -301,38 +469,92 @@ As usual, this output tells us exactly what has gone wrong. ### Matching on Different Errors The code in Listing 9-4 will `panic!` no matter why `File::open` failed. -However, we want to take different actions for different failure reasons: if +However, we want to take different actions for different failure reasons. If `File::open` failed because the file doesn’t exist, we want to create the file and return the handle to the new file. If `File::open` failed for any other reason—for example, because we didn’t have permission to open the file—we still -want the code to `panic!` in the same way as it did in Listing 9-4. For this we +want the code to `panic!` in the same way it did in Listing 9-4. For this we add an inner `match` expression, shown in Listing 9-5. Filename: src/main.rs ``` use std::fs::File; +``` + +``` use std::io::ErrorKind; +``` + +``` +``` + +``` fn main() { +``` + +``` let greeting_file_result = File::open("hello.txt"); +``` + +``` + +``` +``` let greeting_file = match greeting_file_result { +``` + +``` Ok(file) => file, +``` + +``` Err(error) => match error.kind() { +``` + +``` ErrorKind::NotFound => match File::create("hello.txt") { +``` + +``` Ok(fc) => fc, +``` + +``` Err(e) => panic!("Problem creating the file: {:?}", e), +``` + +``` }, +``` + +``` other_error => { +``` + +``` panic!("Problem opening the file: {:?}", other_error); +``` + +``` } +``` + +``` }, +``` + +``` }; +``` + +``` } ``` -Listing 9-5: Handling different kinds of errors in different ways +Handling different kinds of errors in different ways The type of the value that `File::open` returns inside the `Err` variant is `io::Error`, which is a struct provided by the standard library. This struct @@ -351,40 +573,81 @@ file can’t be created, a different error message is printed. The second arm of the outer `match` stays the same, so the program panics on any error besides the missing file error. -> ### Alternatives to Using `match` with `Result` -> -> That’s a lot of `match`! The `match` expression is very useful but also very -> much a primitive. In Chapter 13, you’ll learn about closures, which are used -> with many of the methods defined on `Result`. These methods can be more -> concise than using `match` when handling `Result` values in your code. +#### Alternatives to Using match with Result -> For example, here’s another way to write the same logic as shown in Listing -> 9-5, this time using closures and the `unwrap_or_else` method: -> -> ``` -> use std::fs::File; -> use std::io::ErrorKind; -> -> fn main() { -> let greeting_file = File::open("hello.txt").unwrap_or_else(|error| { -> if error.kind() == ErrorKind::NotFound { -> File::create("hello.txt").unwrap_or_else(|error| { -> panic!("Problem creating the file: {:?}", error); -> }) -> } else { -> panic!("Problem opening the file: {:?}", error); -> } -> }); -> } -> ``` -> -> Although this code has the same behavior as Listing 9-5, it doesn’t contain -> any `match` expressions and is cleaner to read. Come back to this example -> after you’ve read Chapter 13, and look up the `unwrap_or_else` method in the -> standard library documentation. Many more of these methods can clean up huge -> nested `match` expressions when you’re dealing with errors. +That’s a lot of `match`! The `match` expression is very useful but also very +much a primitive. In Chapter 13, you’ll learn about closures, which are used +with many of the methods defined on `Result`. These methods can be more +concise than using `match` when handling `Result` values in your code. + +For example, here’s another way to write the same logic as shown in Listing +9-5, this time using closures and the `unwrap_or_else` method: + +Filename: src/main.rs + +``` +use std::fs::File; +``` + +``` +use std::io::ErrorKind; +``` + +``` + +``` + +``` +fn main() { +``` + +``` + let greeting_file = File::open("hello.txt").unwrap_or_else(|error| { +``` + +``` + if error.kind() == ErrorKind::NotFound { +``` + +``` + File::create("hello.txt").unwrap_or_else(|error| { +``` + +``` + panic!("Problem creating the file: {:?}", error); +``` + +``` + }) +``` + +``` + } else { +``` + +``` + panic!("Problem opening the file: {:?}", error); +``` + +``` + } +``` + +``` + }); +``` + +``` +} +``` -### Shortcuts for Panic on Error: `unwrap` and `expect` +Although this code has the same behavior as Listing 9-5, it doesn’t contain any +`match` expressions and is cleaner to read. Come back to this example after +you’ve read Chapter 13, and look up the `unwrap_or_else` method in the standard +library documentation. Many more of these methods can clean up huge nested +`match` expressions when you’re dealing with errors. + +#### Shortcuts for Panic on Error: unwrap and expect Using `match` works well enough, but it can be a bit verbose and doesn’t always communicate intent well. The `Result` type has many helper methods @@ -398,9 +661,21 @@ Filename: src/main.rs ``` use std::fs::File; +``` + +``` + +``` +``` fn main() { +``` + +``` let greeting_file = File::open("hello.txt").unwrap(); +``` + +``` } ``` @@ -409,7 +684,13 @@ the `panic!` call that the `unwrap` method makes: ``` thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { +``` + +``` code: 2, kind: NotFound, message: "No such file or directory" }', +``` + +``` src/main.rs:4:49 ``` @@ -422,10 +703,25 @@ Filename: src/main.rs ``` use std::fs::File; +``` + +``` + +``` +``` fn main() { +``` + +``` let greeting_file = File::open("hello.txt") +``` + +``` .expect("hello.txt should be included in this project"); +``` + +``` } ``` @@ -436,7 +732,13 @@ will be the parameter that we pass to `expect`, rather than the default ``` thread 'main' panicked at 'hello.txt should be included in this project: Os { +``` + +``` code: 2, kind: NotFound, message: "No such file or directory" }', +``` + +``` src/main.rs:5:10 ``` @@ -448,7 +750,7 @@ information to use in debugging. ### Propagating Errors When a function’s implementation calls something that might fail, instead of -handling the error within the function itself, you can return the error to the +handling the error within the function itself you can return the error to the calling code so that it can decide what to do. This is known as *propagating* the error and gives more control to the calling code, where there might be more information or logic that dictates how the error should be handled than what @@ -462,26 +764,77 @@ Filename: src/main.rs ``` use std::fs::File; +``` + +``` use std::io::{self, Read}; +``` -fn read_username_from_file() -> Result [1] { - let username_file_result = File::open("hello.txt"); [2] +``` - let mut username_file [3] = match username_file_result { - Ok(file) => file, [4] - Err(e) => return Err(e), [5] +``` + +``` +1 fn read_username_from_file() -> Result { +``` + +``` + 2 let username_file_result = File::open("hello.txt"); +``` + +``` + +``` + +``` + 3 let mut username_file = match username_file_result { +``` + +``` + 4 Ok(file) => file, +``` + +``` + 5 Err(e) => return Err(e), +``` + +``` }; +``` - let mut username = String::new(); [6] +``` - match username_file.read_to_string(&mut username) [7] { - Ok(_) => Ok(username), [8] - Err(e) => Err(e), [9] +``` + +``` + 6 let mut username = String::new(); +``` + +``` + +``` + +``` + 7 match username_file.read_to_string(&mut username) { +``` + +``` + 8 Ok(_) => Ok(username), +``` + +``` + 9 Err(e) => Err(e), +``` + +``` } +``` + +``` } ``` -Listing 9-6: A function that returns errors to the calling code using `match` +A function that returns errors to the calling code using `match` This function can be written in a much shorter way, but we’re going to start by doing a lot of it manually in order to explore error handling; at the end, @@ -510,9 +863,9 @@ function continues. In the `Err` case, instead of calling `panic!`, we use the error value from `File::open`, now in the pattern variable `e`, back to the calling code as this function’s error value [5]. -So if we have a file handle in `username_file`, the function then creates a new -`String` in variable `username` [6] and calls the `read_to_string` method on -the file handle in `username_file` to read the contents of the file into +So, if we have a file handle in `username_file`, the function then creates a +new `String` in variable `username` [6] and calls the `read_to_string` method +on the file handle in `username_file` to read the contents of the file into `username` [7]. The `read_to_string` method also returns a `Result` because it might fail, even though `File::open` succeeded. So we need another `match` to handle that `Result`: if `read_to_string` succeeds, then our function has @@ -534,29 +887,55 @@ it to handle appropriately. This pattern of propagating errors is so common in Rust that Rust provides the question mark operator `?` to make this easier. -#### A Shortcut for Propagating Errors: the `?` Operator +#### A Shortcut for Propagating Errors: The ? Operator Listing 9-7 shows an implementation of `read_username_from_file` that has the -same functionality as in Listing 9-6, but this implementation uses the -`?` operator. +same functionality as in Listing 9-6, but this implementation uses the `?` +operator. Filename: src/main.rs ``` use std::fs::File; +``` + +``` use std::io; +``` + +``` use std::io::Read; +``` + +``` + +``` +``` fn read_username_from_file() -> Result { +``` + +``` let mut username_file = File::open("hello.txt")?; +``` + +``` let mut username = String::new(); +``` + +``` username_file.read_to_string(&mut username)?; +``` + +``` Ok(username) +``` + +``` } ``` -Listing 9-7: A function that returns errors to the calling code using the `?` -operator +A function that returns errors to the calling code using the `?` operator The `?` placed after a `Result` value is defined to work in almost the same way as the `match` expressions we defined to handle the `Result` values in Listing @@ -597,19 +976,49 @@ Filename: src/main.rs ``` use std::fs::File; +``` + +``` use std::io; +``` + +``` use std::io::Read; +``` + +``` +``` + +``` fn read_username_from_file() -> Result { +``` + +``` let mut username = String::new(); +``` + +``` + +``` +``` File::open("hello.txt")?.read_to_string(&mut username)?; +``` + +``` + +``` +``` Ok(username) +``` + +``` } ``` -Listing 9-8: Chaining method calls after the `?` operator +Chaining method calls after the `?` operator We’ve moved the creation of the new `String` in `username` to the beginning of the function; that part hasn’t changed. Instead of creating a variable @@ -626,15 +1035,29 @@ Filename: src/main.rs ``` use std::fs; +``` + +``` use std::io; +``` + +``` + +``` +``` fn read_username_from_file() -> Result { +``` + +``` fs::read_to_string("hello.txt") +``` + +``` } ``` -Listing 9-9: Using `fs::read_to_string` instead of opening and then reading the -file +Using `fs::read_to_string` instead of opening and then reading the file Reading a file into a string is a fairly common operation, so the standard library provides the convenient `fs::read_to_string` function that opens the @@ -643,7 +1066,7 @@ into that `String`, and returns it. Of course, using `fs::read_to_string` doesn’t give us the opportunity to explain all the error handling, so we did it the longer way first. -#### Where The `?` Operator Can Be Used +#### Where the ? Operator Can Be Used The `?` operator can only be used in functions whose return type is compatible with the value the `?` is used on. This is because the `?` operator is defined @@ -654,21 +1077,33 @@ as the `match` expression we defined in Listing 9-6. In Listing 9-6, the it’s compatible with this `return`. In Listing 9-10, let’s look at the error we’ll get if we use the `?` operator -in a `main` function with a return type incompatible with the type of the value -we use `?` on: +in a `main` function with a return type that is incompatible with the type of +the value we use `?` on. Filename: src/main.rs ``` use std::fs::File; +``` + +``` + +``` +``` fn main() { +``` + +``` let greeting_file = File::open("hello.txt")?; +``` + +``` } ``` -Listing 9-10: Attempting to use the `?` in the `main` function that returns -`()` won’t compile +Attempting to use the `?` in the `main` function that returns `()` won’t +compile. This code opens a file, which might fail. The `?` operator follows the `Result` value returned by `File::open`, but this `main` function has the return type of @@ -676,16 +1111,55 @@ value returned by `File::open`, but this `main` function has the return type of message: ``` -error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) +error[E0277]: the `?` operator can only be used in a function that returns +``` + +``` +`Result` or `Option` (or another type that implements `FromResidual`) +``` + +``` --> src/main.rs:4:48 +``` + +``` | +``` + +``` 3 | / fn main() { +``` + +``` 4 | | let greeting_file = File::open("hello.txt")?; - | | ^ cannot use the `?` operator in a function that returns `()` +``` + +``` + | | ^ cannot use the `?` +``` + +``` +operator in a function that returns `()` +``` + +``` 5 | | } +``` + +``` | |_- this function should return `Result` or `Option` to accept `?` +``` + +``` | - = help: the trait `FromResidual>` is not implemented for `()` +``` + +``` + = help: the trait `FromResidual>` is not +``` + +``` +implemented for `()` ``` This error points out that we’re only allowed to use the `?` operator in a @@ -694,9 +1168,9 @@ function that returns `Result`, `Option`, or another type that implements To fix the error, you have two choices. One choice is to change the return type of your function to be compatible with the value you’re using the `?` operator -on as long as you have no restrictions preventing that. The other technique is -to use a `match` or one of the `Result` methods to handle the `Result` in whatever way is appropriate. +on as long as you have no restrictions preventing that. The other choice is to +use a `match` or one of the `Result` methods to handle the `Result` +in whatever way is appropriate. The error message also mentioned that `?` can be used with `Option` values as well. As with using `?` on `Result`, you can only use `?` on `Option` in a @@ -704,17 +1178,23 @@ function that returns an `Option`. The behavior of the `?` operator when called on an `Option` is similar to its behavior when called on a `Result`: if the value is `None`, the `None` will be returned early from the function at that point. If the value is `Some`, the value inside the `Some` is the -resulting value of the expression and the function continues. Listing 9-11 has +resultant value of the expression and the function continues. Listing 9-11 has an example of a function that finds the last character of the first line in the -given text: +given text. ``` fn last_char_of_first_line(text: &str) -> Option { +``` + +``` text.lines().next()?.chars().last() +``` + +``` } ``` -Listing 9-11: Using the `?` operator on an `Option` value +Using the `?` operator on an `Option` value This function returns `Option` because it’s possible that there is a character there, but it’s also possible that there isn’t. This code takes the @@ -730,7 +1210,7 @@ The `?` extracts the string slice, and we can call `chars` on that string slice to get an iterator of its characters. We’re interested in the last character in this first line, so we call `last` to return the last item in the iterator. This is an `Option` because it’s possible that the first line is the empty -string, for example if `text` starts with a blank line but has characters on +string; for example, if `text` starts with a blank line but has characters on other lines, as in `"\nhi"`. However, if there is a last character on the first line, it will be returned in the `Some` variant. The `?` operator in the middle gives us a concise way to express this logic, allowing us to implement the @@ -745,56 +1225,77 @@ you can use methods like the `ok` method on `Result` or the `ok_or` method on `Option` to do the conversion explicitly. So far, all the `main` functions we’ve used return `()`. The `main` function is -special because it’s the entry and exit point of executable programs, and there -are restrictions on what its return type can be for the programs to behave as -expected. +special because it’s the entry and exit points of executable programs, and +there are restrictions on what its return type can be for the programs to +behave as expected. -Luckily, `main` can also return a `Result<(), E>`. Listing 9-12 has the -code from Listing 9-10 but we’ve changed the return type of `main` to be +Luckily, `main` can also return a `Result<(), E>`. Listing 9-12 has the code +from Listing 9-10, but we’ve changed the return type of `main` to be `Result<(), Box>` and added a return value `Ok(())` to the end. This -code will now compile: +code will now compile. ``` use std::error::Error; +``` + +``` use std::fs::File; +``` + +``` +``` + +``` fn main() -> Result<(), Box> { +``` + +``` let greeting_file = File::open("hello.txt")?; +``` + +``` + +``` +``` Ok(()) +``` + +``` } ``` Listing 9-12: Changing `main` to return `Result<(), E>` allows the use of the -`?` operator on `Result` values - -The `Box` type is a *trait object*, which we’ll talk about in the -“Using Trait Objects that Allow for Values of Different Types” section in -Chapter 17. For now, you can read `Box` to mean “any kind of error.” -Using `?` on a `Result` value in a `main` function with the error type `Box` is allowed, because it allows any `Err` value to be returned early. -Even though the body of this `main` function will only ever return errors of -type `std::io::Error`, by specifying `Box`, this signature will -continue to be correct even if more code that returns other errors is added to -the body of `main`. - -When a `main` function returns a `Result<(), E>`, the executable will -exit with a value of `0` if `main` returns `Ok(())` and will exit with a -nonzero value if `main` returns an `Err` value. Executables written in C return -integers when they exit: programs that exit successfully return the integer -`0`, and programs that error return some integer other than `0`. Rust also -returns integers from executables to be compatible with this convention. +`?` operator on `Result` values. + +The `Box` type is a *trait object*, which we’ll talk about in “Using +Trait Objects That Allow for Values of Different Types” on page XX. For now, +you can read `Box` to mean “any kind of error.” Using `?` on a +`Result` value in a `main` function with the error type `Box` is +allowed because it allows any `Err` value to be returned early. Even though the +body of this `main` function will only ever return errors of type +`std::io::Error`, by specifying `Box`, this signature will continue +to be correct even if more code that returns other errors is added to the body +of `main`. + +When a `main` function returns a `Result<(), E>`, the executable will exit with +a value of `0` if `main` returns `Ok(())` and will exit with a nonzero value if +`main` returns an `Err` value. Executables written in C return integers when +they exit: programs that exit successfully return the integer `0`, and programs +that error return some integer other than `0`. Rust also returns integers from +executables to be compatible with this convention. The `main` function may return any types that implement the `std::process::Termination` trait, which contains a function `report` that -returns an `ExitCode` Consult the standard library documentation for more +returns an `ExitCode`. Consult the standard library documentation for more information on implementing the `Termination` trait for your own types. Now that we’ve discussed the details of calling `panic!` or returning `Result`, let’s return to the topic of how to decide which is appropriate to use in which cases. -## To `panic!` or Not to `panic!` +## To panic! or Not to panic! So how do you decide when you should call `panic!` and when you should return `Result`? When code panics, there’s no way to recover. You could call `panic!` @@ -815,11 +1316,11 @@ some general guidelines on how to decide whether to panic in library code. ### Examples, Prototype Code, and Tests -When you’re writing an example to illustrate some concept, also including robust -error-handling code can make the example less clear. In -examples, it’s understood that a call to a method like `unwrap` that could -panic is meant as a placeholder for the way you’d want your application to -handle errors, which can differ based on what the rest of your code is doing. +When you’re writing an example to illustrate some concept, also including +robust error-handling code can make the example less clear. In examples, it’s +understood that a call to a method like `unwrap` that could panic is meant as a +placeholder for the way you’d want your application to handle errors, which can +differ based on what the rest of your code is doing. Similarly, the `unwrap` and `expect` methods are very handy when prototyping, before you’re ready to decide how to handle errors. They leave clear markers in @@ -844,9 +1345,21 @@ that you’ll never have an `Err` variant, it’s perfectly acceptable to call ``` use std::net::IpAddr; +``` + +``` + +``` +``` let home: IpAddr = "127.0.0.1" +``` + +``` .parse() +``` + +``` .expect("Hardcoded IP address should be valid"); ``` @@ -860,25 +1373,24 @@ valid IP address. If the IP address string came from a user rather than being hardcoded into the program and therefore *did* have a possibility of failure, we’d definitely want to handle the `Result` in a more robust way instead. Mentioning the assumption that this IP address is hardcoded will prompt us to -change `expect` to better error handling code if in the future, we need to get +change `expect` to better error-handling code if in the future, we need to get the IP address from some other source instead. ### Guidelines for Error Handling -It’s advisable to have your code panic when it’s possible that your code -could end up in a bad state. In this context, a *bad state* is when some -assumption, guarantee, contract, or invariant has been broken, such as when -invalid values, contradictory values, or missing values are passed to your -code—plus one or more of the following: - -* The bad state is something that is unexpected, as opposed to something that - will likely happen occasionally, like a user entering data in the wrong - format. -* Your code after this point needs to rely on not being in this bad state, - rather than checking for the problem at every step. -* There’s not a good way to encode this information in the types you use. We’ll - work through an example of what we mean in the “Encoding States and Behavior - as Types” section of Chapter 17. +It’s advisable to have your code panic when it’s possible that your code could +end up in a bad state. In this context, a *bad state* is when some assumption, +guarantee, contract, or invariant has been broken, such as when invalid values, +contradictory values, or missing values are passed to your code—plus one or +more of the following: + + +Unmatched: ListBullet0 + +Unmatched: ListBullet0 + There’s not a good way to encode this information in the types you use. +We’ll work through an example of what we mean in “Encoding States and Behavior +as Types” on page XX. If someone calls your code and passes in values that don’t make sense, it’s best to return an error if you can so the user of the library can decide what @@ -942,20 +1454,65 @@ number being in range, like so: ``` loop { - // --snip-- +``` + +``` + --snip-- +``` + +``` +``` + +``` let guess: i32 = match guess.trim().parse() { +``` + +``` Ok(num) => num, +``` + +``` Err(_) => continue, +``` + +``` }; +``` + +``` + +``` +``` if guess < 1 || guess > 100 { +``` + +``` println!("The secret number will be between 1 and 100."); +``` + +``` continue; +``` + +``` } +``` + +``` + +``` +``` match guess.cmp(&secret_number) { - // --snip-- +``` + +``` + --snip-- +``` + +``` } ``` @@ -965,7 +1522,7 @@ and ask for another guess. After the `if` expression, we can proceed with the comparisons between `guess` and the secret number knowing that `guess` is between 1 and 100. -However, this is not an ideal solution: if it was absolutely critical that the +However, this is not an ideal solution: if it were absolutely critical that the program only operated on values between 1 and 100, and it had many functions with this requirement, having a check like this in every function would be tedious (and might impact performance). @@ -979,28 +1536,75 @@ receives a value between 1 and 100. ``` pub struct Guess { +``` + +``` value: i32, +``` + +``` } +``` + +``` +``` + +``` impl Guess { +``` + +``` pub fn new(value: i32) -> Guess { +``` + +``` if value < 1 || value > 100 { +``` + +``` panic!("Guess value must be between 1 and 100, got {}.", value); +``` + +``` } +``` +``` + +``` + +``` Guess { value } +``` + +``` } +``` + +``` + +``` +``` pub fn value(&self) -> i32 { +``` + +``` self.value +``` + +``` } +``` + +``` } ``` -Listing 9-13: A `Guess` type that will only continue with values between 1 and -100 +A `Guess` type that will only continue with values between 1 and 100 -First, we define a struct named `Guess` that has a field named `value` that +First we define a struct named `Guess` that has a field named `value` that holds an `i32`. This is where the number will be stored. Then we implement an associated function named `new` on `Guess` that creates @@ -1019,7 +1623,7 @@ to the `value` parameter and return the `Guess`. Next, we implement a method named `value` that borrows `self`, doesn’t have any other parameters, and returns an `i32`. This kind of method is sometimes called -a *getter*, because its purpose is to get some data from its fields and return +a *getter* because its purpose is to get some data from its fields and return it. This public method is necessary because the `value` field of the `Guess` struct is private. It’s important that the `value` field be private so code using the `Guess` struct is not allowed to set `value` directly: code outside @@ -1033,7 +1637,7 @@ then declare in its signature that it takes or returns a `Guess` rather than an ## Summary -Rust’s error handling features are designed to help you write more robust code. +Rust’s error-handling features are designed to help you write more robust code. The `panic!` macro signals that your program is in a state it can’t handle and lets you tell the process to stop instead of trying to proceed with invalid or incorrect values. The `Result` enum uses Rust’s type system to indicate that @@ -1045,3 +1649,4 @@ situations will make your code more reliable in the face of inevitable problems. Now that you’ve seen useful ways that the standard library uses generics with the `Option` and `Result` enums, we’ll talk about how generics work and how you can use them in your code. + diff --git a/nostarch/docx/chapter09.docx b/nostarch/docx/chapter09.docx new file mode 100644 index 0000000000000000000000000000000000000000..0d12dd631c69419292317bb6d9e616161afd1aa7 GIT binary patch literal 74361 zcmeEsQuh4{tf%5`Z{nmw?`C67 zln(|%nF|E+FaQ6?f8z=?CQrx>Fd~V*NPG$((phS&69uN%?-JJm19m~RJ?AwC5!V)y zzxfgh!;q+D-Q7^B?lwJRDC)AtmO9Gn(F04f=vFQGO|jL_5}P0VySg`{=+!Y4)yb&M z^7L^-FD*U1Sl!p$Lb1ziXjehz^c)F}Kq5oi9`r2=o%^5)HyBTJM>&`veb@p2$oZWk)5~76*f#?*d`4 zcG47Lya;QT_>`>tf5-BL{YC6oK-cTYZFO|CkVv~}S?fC+SCT$`YRW*A6N+4PQa<_$ zMP7IP+;LnjN)seH`U!Yk4nRWYKp*^}F!v5Q0FDEr0&1QPfU-*EqbPVa=7&<^4p}w` zZ<*6V6#Arlz+~YzJ3URuG$lM$9Aa2^;yr#rA*xdSAROv|Bo_`(_*@x-mdbVbXG`%Y1ugA~x zEJgfN&I#m3QVVGYhp)r};y-Nu{D1-}{2v4-h{I{Q`L`qYkH4`02(IU7V(r90{~zoB zC-#41HvgBaSH|~Q4lu$A+ys0D%ylWQ_hA*tF&NEmV68zyX-UeUZme3ae1Gw-u7c>C z8Hi8JFC@%*IAw~t>?Z2m;v}oWhj&3Qzv&KWeRR43B?WaBF}W?<@55yrKbwAylS)#J z2SjL~htJ?Z#Jz^5PW7T5QHwkumB3n%P|YkF0U8Rj9aL9dQhiu*)0mc)EhV%(AsfF~SPNF`<1km2ii_oplmH@0(x3_t z^rGLs76UMjiVRaz5fN)K8nbtGrF9Aq&Dt_oD5dqbLnXwb=X(?{7Sila1}gd0(zGpR z=FzzbqD%Lv13M#$3YTXP7_Z;M9cu_Z@-}>7YJub1=@x6^q#313$(dxQoK3SuZ&WW< zJ0h9uazK#;Os+HO0FfVhku{bEJ}VEtU^03{yXm{foq3q;I4Om@GGq!o9|=b4An9Vm z5v>zvpo&$sB4vA#EP|d!4|0X~{jv)LDJvKI3|U{gR~qR7kJ*4pue-523G;5owCV=4 zIq@Rll%fyKlZX1~f)1NPvm8nbSRrzxvhPct%CJw=MvL(w24s^tBxWj#sQG}A;zVgP z6i{hNIm9G^#i>$+$-2F~01rMjQTc)swGs<)7z`8Q2_8 zfZ}CPUkB`7de5%JZm=>#tM8w?fvs1mp56UH=;CNXh{LTR)G!7g&ySv;m7Xfdg;^as ziCBB*P$GiLlV;+Hv&J~(hJO1x>X3$)} z> zjtEsWxcQeF_M3r4$jh(Ckz@G%mJiymOb20p3ZG2l8!;RG5naM!fABn4ROFm~Cb<2! zmQ9He(Ve-|DR=f!BUB&)OrPgX52{AvChj?QWAjynRnvE>YYhGj_lHoB9gqyh!Q&`) zWlA5Gj4^+u+vkBUfdtU%S*2HF&`=)GQhJLr+Ipr(=SbW?6I+bYEAdtJ4p_hS@$6vL z^NQeT<;gh&cx8(p)OEI*FaJ;+!)Q>#?sb;sWOGzuhBmJ1Dj3S_<4} zaIe081FHKt&lrD?E4Y)#^>ngM3K|?08M)RDMuu4a`|C z3jK8@{SF1!h28MeXqk+QD&Qz|Pm{gCgG?3=`Cg0K`VecmpK~pwwyV0eOC|{pnC{|) zE}%FECi>RbAAAjgVyw^zC#SiT3(p2I?U~~5o9&2Lc_M22A`T73RZ;`x48R5c8s1!& zKHi*%=6zASwTBmJ2Cas)Vt!lBkdsuv+fG{~a{uY@mN5G%{eU_NcaV?!nFbLJ_@z{_Ld0H7KJY3q5_7F02xy03r*W&`@LXD;#Z`}MbZIOq_w_K#3|)q25xAis!nQXk(W zbYm5m9cKlYXk}Zv*kKrMu=BKi*19oRs4QBI+gEtXwVP3{IcWAz&x|_h#~AsX;nB3< zZ$5+oz%*4Uk0tHg3~gpl&>Uq~^V|bC(3m*Htf{5krN?4(pw>MUxE0#hVTEf{9B;jXHHC9{IvLhrBPonmTjO$j}H4#L}Q7fXP$jSWv zLmPt&J9{>dw$(t#{2sw{ARC!PDa#Xt)nS1wjBdQa3_n2~PAZB$ zkOgs1-w9R@;iM<6*#Mm*9V2a7~Ui$4$Y#6bI! zn)ht=>+SeD9{1~=|Ls_I{VCa%`G@>U>ai%NqEXpo425z!d|qzpwXQlk_=NH*kR`!2 z=M)b0kEr*o29^UM5d^|A>beZ5EqW!X*%(*fBU}-|TPNT;!}A?ZlA=?xeTC%ASh>D2 z4{D#3;tXK9lxDQo1mX7rE#0U#Gc#2)t{Vafb)_(A;WKacQslsxVBgT zd#uh5X12zG8?Wai8eRNwZ+iptV4Uj5qr6}8FvNI7e7q4@@VJlktcz!C;`}Y4Yrbyk zYpo_((}@SaH4Xi;fw6xopl4g=XQlpv=&Ta54ikcr(*v-f?XoyPfrRSMJ1dLgp8hUV z_Nz+r2*Np$or@3oEG->IU%-o@y8tLA*m}(cH(xBZeu|df5uN}@p3*gYOW)T@&kYlU z1qrXMRh$0$)u~lf%wf1MEN!{4nehOdAzz22${^C2`AT|d`7CUZ*&=nf3Mq^wvU;-8 zqWfFM12)1p=f31_@O+GRyHg2Z_7VUBwm1FGG`QkN(=P@fYg@~zKU<|Ym;m=gjxptA z-g7FzjBErDf!%$2d9*=}yqrJO{OWJ9b4<-jat_;EzBCgqFsBmO-Th-7Stf=gGG}7}DW=H1+w(@fqQaIMB-}n!+>(%l;3j(#@y| zsShC6BW)+sZ9hfu4l5*DShN_J5qt+sK@dG$V>m5?X36SPGXm*t=Iq zs{qQ$thx+A@}d^BmitIBc0D2%K@pt4ES@@&ILMrV`p;Jw10;{oFWMi-W8Yy5Te75i zK+deKzD;y6f-&^&&kO7LQP8Kpg}~?2Yz6B{`@^X&(X-b5K@*wR9>qsqip{yZ#)`fj z&unPsqqVs=(p42_t##}FLO$4L7576F(U~>JOP^(7#;DOSbn=x|Wxh3P(q^8X$tFHx zkd1Hf=hRaozd50kbxu~4+a{BU?9VQ$s15+#n5Gw#q*5oAUWdk$l;l%lOLgXjwiZh% z3YB!qNIZU7G7&2Z7GIhzR7D#6GrkC&R`z?T%qLWvU@JBu_Y&(sc8%b9)llnCSSltxEr{#N@7YivnKc)Q$zq zK-mm&wz;5$yRK<_0dBGPrc6FPy`FA%Xn+O{6fTi(-!7y{|2uwD zWh6$t-PY2ptf$5L;?tg&zS*3!JG#05Y$43Wi48;%ur18<&PhtckXtLaOdQfxTY4!o z>W$@Y{AWVS!q6x~O^Jr#%X|*kGl#SLB-tU$D#RPju$*|acxrh@W14zr=Yx$&=cxrt zR@=#FmRh^pg=;&{bU55nkCiDJcnTZ+MH{J~yj)d5tIY%MT_UB0TqSOhXJcmuJFcbs z1qf!>u6Nyvq8Fqyly-p9KnzqhoL?2Q_vmp3JqylJSS0=wnjuJ?P3GwG>4IX{u;)w0 z$^YuICaWYhA_rpvpgpMnOZNB6q7W)03WrV+KqD_x&imx6Cqw*SBdy#J&Q%&LfyDjOK&ADa=VH{T@nt zC8LQ@wvatbX=iS<<+%^1;vsL{JomY;(q7sapJ|6j*t=B)suQQTkj9wQWBn*!O^C2h&2wx;+sUTlb`k0c*IGfZ9E&X z`T`niBMV`te)#>Lm727`F}zH#-1=1wAU?%=%{pC!!6JEgrlhSjWFh_zC)Y@cw~$v?V6E>U{qIWbk9Ax+?H zraTqSTH}f08e&fPz87T-cpM-X0Uj+xa6k@&I(h0EGuSrPpKhEXPUy31z4NX9?o-K` z!Jyh0od>t{Uki6k>dw>psqV-{b7%(6OVK|9m|W0mNJUb=73~|rc?0keiSo`Se+Sm* za%Fk^bq+75U~JMz4e%;Y$d=Wg7sDW6f?IE2!dbcggu!EiDz+Uf9&9XN{Hv#p`s=2*-9fLDFoxoy3XcL^d;!|68I~ub zny9=w)w$b$Ia%!&%iA5xhw~Aq`Ch$4cu695mL!#1%US9_0J3k{l?u^G=^fk2JC?ClaT=y+RT4dME7}t zczd%9({Nc6Z}Bb3PeAuy-_C=4+k^XS)Ca`lN&g`O%-Ji-v&nM?s$ zu#AYg2UwdEdc3o{;u@oLMGlWnN+^1ubt$K$DXZKITKY9yCcGQUQzE8OxYt)(yQFuKR zvGnKf=fZer+f#7oPF@{Gc~y_QJnrWIsLNoeCkg)5NU5Q*9E9R>-ck(&LAr0+bz4~J zoMa9zk{xh4zf=zY0}Tc~iy62QA>*xVAv#)54pXeb%mD5QI2CTd@<1Mmw={BhTGOZ8 z77QTn3M8y#$Kn^hQ!w2&hUmKnbNA#-L@Qd<{!19qY!l7#l)~A^YNRA0VCkwl+5XBo z&7I;@mgVxBEm4+dhzCyvmNwNQL|(#O#V<91v47l(I;j-1t?(M*oFv4B&DM|9pma2y zopz~WTv$*wP}{f#1Z+mv#&qS1mYqQf+q0-XCC)mG%5hn$|k16HcGGs~D`n6#Fkc<&A~{8xl)i>oDaQ*eFvC zrUG4VduYRj{Wp(OU6}AlY88m7oZsdeSWY8#2i<69Thd~s0fm=KgKRNtr`X(ypwJp(U84=Y7$R+E#IanU z3*92z?U#KN+b?s)nE@oQIXo24j0CdXC$HnZLA>3<`i6L5_C`4(oNP0_+u=S!p+OKC zwTa*Dv&*V$C=-yIF{+~V!zFPIY?7e$P)rY()+meCTZ<(Ic|Mij{a6+PqiDB$#Bg|z z3{v#FtTqqJk3p|ga!_nZJ2ULn6!=eegF}wxQv3s`0cM`dEr zo4DC=()YL1_DQEUvtZR#9sf)RT#ap8^WU`Y?27m<2u_(aVYR_@C)6CzI8!V5Jgm@P zghH3A(@u(3^VAJCWu5YO%JqvD>1{4U`unC+*8|H`iiFqNvZQ2k2zyM=??@oq?~e=@ z#6Y3zF{xl0h**asH@M9TRnwfinU7&W6?+puN@0?KzxM_5IWJIwN%I&{mykctk2p!Z zaf5rr6st%|t0kYctcT@fZ-Z}NH4e`E31F%YhH+4EH?_tZ* zvsx_&NCXZ!wJ-gg$Kfj3`^B2UlnKg$`grh9&;e@3sAK&#!KMYI;sTYap$iWbmRo)(O5optkt9vp=ao@8|tdnQqYr zA!F1q^xgE!af?W;v}s17Zlt%aVBdOl0@UNe0|b_2OkZBI?T8*tz)OUE8j!G@n&{(g zvr|Sc{7eQP3+m69ut{1Oz4;au$(rZzOWFS1*k+y_3^`pU$&+Ob%tt<;j`tjqE`+0r zPAJzLqTgRrWGM@(pbiSW;+;6y@h0K%?DSa(Z^4l`#$X0Q5Th9CCJzrIg#24y#%a$z zJKn5Ub3A)y)zsopa>mIB&Wy{j&<%!h+VC}4^~C4D$3}lUy8v*N?j$-ek>QuPkLaZx z=3Ou_ngW8ISgRM-;bNUC6B%TUo#?-KO~}WsEs$9Pk!#VwI?4>ZB{U&mFk9Uam~7zG z@;Q>C640NNK08`xa0w)x3ax!+~@8G?6%n|?Sr%_CoMB=RooKiOg)c(|EHb+(n z^jFjej*6%K&v`e$y#M}sh)(q&QxccK4z1L$(mZAdg0$+(o!cy zq*R7k#mI1HDJ^e9)W}>im<�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