From 126ac20cccef5930e0334e546e0e0b7756aa68b4 Mon Sep 17 00:00:00 2001 From: appflowy Date: Mon, 21 Jun 2021 22:53:31 +0800 Subject: [PATCH] add docs --- .gitignore | 3 +- README.md | 50 ++---- doc/about app flowy.md | 1 + doc/architecture.md | 244 ++--------------------------- doc/contribute.md | 12 ++ doc/domain driven design.md | 243 ++++++++++++++++++++++++++++ doc/getting_started.md | 0 doc/imgs/ddd_big_pic.png | Bin 63283 -> 0 bytes doc/imgs/domain_model_relation.png | Bin 0 -> 65797 bytes doc/roadmap.md | 1 + doc/why flutter and rust.md | 1 + 11 files changed, 292 insertions(+), 263 deletions(-) create mode 100644 doc/about app flowy.md create mode 100644 doc/contribute.md create mode 100644 doc/domain driven design.md create mode 100644 doc/getting_started.md delete mode 100644 doc/imgs/ddd_big_pic.png create mode 100644 doc/imgs/domain_model_relation.png create mode 100644 doc/roadmap.md create mode 100644 doc/why flutter and rust.md diff --git a/.gitignore b/.gitignore index 67f6890827..8260299e3f 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,4 @@ Cargo.lock # These are backup files generated by rustfmt **/*.rs.bk -/rust-lib/flowy-ast -/rust-lib/flowy-derive \ No newline at end of file +/rust-lib \ No newline at end of file diff --git a/README.md b/README.md index b0514bbabc..b425ab0c8f 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,22 @@ -# AppFlowy client - -* The Big Picture - * Introduce - * Goals - * Cross-platform - -* Getting started - * Build - * Running - -* Contributing - * First steps - * Opening issues - * Participating in discussions - * Finding something to work on - * Open your PR - * Review Process - * Getting more involved - * Organization membership - * Contributor - * Maintainer - -## The Big Picture - -### Introduce - -### Goals - -### Cross-platform +[![Version](https://img.shields.io/badge/rustc-1.46+-ab6000.svg)](https://blog.rust-lang.org/2020/03/12/Rust-1.46.html) +![Apache 2.0 licensed](https://img.shields.io/crates/l/actix-web.svg) -## Getting Started -Read the [architecture doc](doc/architecture.md) before you started. +# what is AppFlowy? + +## Features + +## Documentation + +* [**Getting Started**](doc/getting_started.md) +* [**Roadmap**](doc/roadmap.md) +* [**Deep Dive AppFlowy**](doc/architecture.md) ## Contributing -Read the [architecture doc](doc/architecture.md) before you started. +Read the [Contributing Doc](doc/contribute.md) before you want to contribute. +## Social Media +* Slack + +## License +AppFlowy is under the Apache 2.0 license. See the [LICENSE](/LICENSE) file for details. diff --git a/doc/about app flowy.md b/doc/about app flowy.md new file mode 100644 index 0000000000..0e3d959cf3 --- /dev/null +++ b/doc/about app flowy.md @@ -0,0 +1 @@ +[WIP] \ No newline at end of file diff --git a/doc/architecture.md b/doc/architecture.md index 1575f42a54..eb294c9de1 100644 --- a/doc/architecture.md +++ b/doc/architecture.md @@ -1,231 +1,19 @@ -# AppFlowy Architecture -This documentation introduces the Domain-Driven Design and the design of AppFlowy. Feel free to skip the first part -if you know what Domain-Driven Design is. -* Basic Concepts - * Layered architecture - * Domain Driven Design +# πŸ₯³ AppFlowy System Design + +* Goals of the System +* Some Design Considerations +* High Level Design +* Component Design + +## 🎯 Goals of the System + +## πŸ€” Some Design Considerations +## πŸ“œ High Level Design +## πŸ“š Component Design -* AppFlowy Design - * Overview - * Operation Flow - * Create - * Read - * Update - * Delete - -# Basic Concepts - -## Layered architecture -The most common architecture pattern is the layered architecture pattern, known as the n-tier architecture pattern. -Partition the software into `layers` to reduce the complexity. Each layer of the layered architecture pattern has a -specific role and responsibility. - -## Domain Driven Design -For many architects, the process of data modeling is driven by intuition. However, there are well-formulated methodologies -for approaching it more formally. I recommend the [Domain-Driven Design](https://en.wikipedia.org/wiki/Domain-driven_design) -and choose it as AppFlowy architecture. - -DDD consists of four layers. - -``` - β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” ─────────▢ - β”‚ Presentation Layer │──┐ Dependency - β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ - β”‚ β”‚ - β–Ό β”‚ - β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ - β”‚ Application Layer β”‚ β”‚ - β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ - β”‚ β”‚ - β–Ό β”‚ - β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ - β”‚ Domain Layer β”‚β—€β”€β”˜ - β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ - β–² - β”‚ - β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” - β”‚ Infrastructure Layer β”‚ - β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ - - β–² - β”‚ - Level of β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” - Abstraction β”‚ Presentation β”‚ - β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β” - β”‚ Application β”‚ - β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β” - β”‚ Domain β”‚ - β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β” - β”‚ Infrastructure β”‚ - └──────────────────────────────────────────────┴─────▢ - Complexity -``` - -**Presentation**: -* Responsible for presenting information to the user and interpreting user commands. -* Consists of Widgets and also the state of the Widgets. - -**Application**: -* Defines the jobs the software is supposed to do. (Shouldn't find any UI code or network code) -* Coordinates the application activity and delegates work to the next layer down. -* It doesn't contain any complex business logic but the basic validation on the user input before - passing to the other layer. - -**Domain**: -* Responsible for representing concepts of the business. -* Manages the business state or delegated to the infrastructure layer. -* Self contained and it doesn't depend on any other layers. Domain should be well isolated from the - other layers. - -**Infrastructure**: - -This layer acts as a supporting library for all the other layers. It deals with APIs, -databases and network, etc. - -DDD classifies data as referenceable objects, or entities, and non-referenceable objects, or values. - -**Entity** - -user, order, book, table. They are referenceable because they carry an identity which -allows us to reference them. - -**Value** - -email, phone number, name, age, description. They can't be referenced. They can be only included into -entities and serve as attributes. Values could be simple or could be composite. - -**Aggregate** - -entities can be grouped into aggregates. Aggregates can simplify the model by accessing th entire -aggregate. For instance, Table has lots of row. Each row using the table_id to reference to the -table. TableAggregate includes two entities: Table and the Row. - -``` - TableAggregate - β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” - β”‚ β”‚ - β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ - β”‚ β”‚struct Table { β”‚ β”‚struct Row { β”‚ β”‚ - β”‚ β”‚ id: String, β”‚ β”‚ table_id: String, β”‚ β”‚ - β”‚ β”‚ desc: String, │◀▢───────│} β”‚ β”‚ - β”‚ β”‚} β”‚ β”‚ β”‚ β”‚ - β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ - β”‚ β”‚ - β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ -``` - -DDD also introduces `Service` and `Repository`. - -**Service** - -When a significant process of transformation in the domain is not a natural responsibility of an `Entity` or `Value object`, add -an operation to the model as standalone interface declared as a Service. For instance: The `Value object`, EmailAddress, -uses the function `validateEmailAddress` to verify the email address is valid or not. `Service` exists in Application, Domain and -Infrastructure. - -``` -class EmailAddress { - final Either, String> value; - - factory EmailAddress(String? input) { - return EmailAddress._( - validateEmailAddress(input), - ); - } - - const EmailAddress._(this.value); -} +### πŸ“• Component 1 +### πŸ“— Component 2 +### πŸ“˜ Component 3 +### πŸ“™ Component 3 -Either, String> validateEmailAddress(String? input) { - ... -} -``` - -**Repository** - -Repository offer an interface to retrieve and persist aggregates. They hide the database or network details from the domain. -The Repository interfaces are declared in the Domain Layer, but the repositories themselves are implemented in the Infrastructure Layer. -You can replace the interface implementation without impacting the domain layer. For instance: - -``` -// Interface: -abstract class AuthInterface { - ... -} - -// Implementation -class AuthRepository implements AuthInterface { - ... -} -``` -More often than not, the repository interface can be divided into sub-repository in order to reduce the complexity. - -## AppFlowy Design - -The AppFlowy Client consists of lots of modules. Each of them follows the DDD design pattern and using [dependency injection](https://levelup.gitconnected.com/dependency-injection-in-swift-bc16d66b038b) -to communication with other module. - -``` - - Client - β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” - β”‚ β”‚ - β”‚ Module A Module B Module C β”‚ - β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ - β”‚ β”‚ presentation β”‚ Dependency β”‚ presentation β”‚ β”‚ presentation β”‚ β”‚ - β”‚ β”‚ β”‚ Injection β”‚ β”‚ β”‚ β”‚ β”‚ - β”‚ β”‚ application β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Άβ”‚ application β”‚ β”‚ application β”‚ β”‚ - β”‚ β”‚ │◀───────────────│ β”‚ β”‚ β”‚ β—‰ β—‰ β—‰ β”‚ - β”‚ β”‚ domain β”‚ β”‚ domain β”‚ β”‚ domain β”‚ β”‚ - β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ - β”‚ β”‚ Infrastructure β”‚ β”‚ Infrastructure β”‚ β”‚ Infrastructure β”‚ β”‚ - β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ - β”‚ β–² β”‚ β”‚ - β”‚ β”‚ Dependency Injection β”‚ β”‚ - β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ - β”‚ β”‚ - β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ -``` - -Let's dig it how can I construct each module. I take `User` module for demonstration. - -``` - - presentation Application domain Infrastructure - - β”‚ - β”‚ β”‚ - 7 Data Model - β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” - β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β–Άβ”‚ Repository implementation β”‚ - β–Ό Bloc β”‚ 2.1 β”‚ β”‚ Aggregate β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ -β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β” β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ 4 -β”‚ Widget β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β–Ό -β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ Event β”‚ β”‚ State β”‚ │───┬────▢│ β”‚ Entity β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” - β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ Unit of Work β”‚ - β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ - β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Value Object β”‚ β”‚ β”‚ β”‚ β”‚ 5 - β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β–Ό - 1 β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” - β”‚ β”‚ β—ˆ β”‚ β”‚ Persistence Service β”‚ - β”‚ β”‚ β”‚ contain β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ - β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ - β”‚ β”‚ β”‚ Service β”‚ β”‚ β”‚ - β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ - β”‚ 2.2 β”‚ β”‚ - β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ - β”‚ └───▢│ Repository interface β”‚ β”‚ β”‚ - β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ - β”‚ β”‚ β”‚ β”‚ - β”‚ β”‚ 3 β”‚ - β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”˜ -``` - - -1. Send event using the bloc. The bloc does not know about the `Widget`. It should communicate through events. -2. The bloc dispatching the event to the appropriate handler of the `Domain` - 1. Conversion between, DTO (Data Transfer Object) to domain model and Domain Model to DTO. - 2. Handling the business logic using the repository interface -3. Repository are used to store the domain model data and calls respective service to finish the jobs. -# Event-Driven \ No newline at end of file diff --git a/doc/contribute.md b/doc/contribute.md new file mode 100644 index 0000000000..e0f57bdaf8 --- /dev/null +++ b/doc/contribute.md @@ -0,0 +1,12 @@ +[WIP] +* Contributing + * First steps + * Opening issues + * Participating in discussions + * Finding something to work on + * Open your PR + * Review Process + * Getting more involved + * Organization membership + * Contributor + * Maintainer \ No newline at end of file diff --git a/doc/domain driven design.md b/doc/domain driven design.md new file mode 100644 index 0000000000..2bad671c86 --- /dev/null +++ b/doc/domain driven design.md @@ -0,0 +1,243 @@ + +# πŸ” Domain Driven Design + +For many architects, the process of data modeling is driven by intuition. However, there are well-formulated methodologies +for approaching it more formally. I recommend the [Domain-Driven Design](https://en.wikipedia.org/wiki/Domain-driven_design) +and choose it as AppFlowy architecture. + +## πŸ’₯ Layered architecture +The most common architecture pattern is the layered architecture pattern, known as the n-tier architecture pattern. +Partition the software into `layers` to reduce the complexity. Each layer of the layered architecture pattern has a +specific role and responsibility.`DDD` consists of four layers. + +``` + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” ─────────▢ + β”‚ Presentation Layer │──┐ Dependency + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ + β”‚ β”‚ + β–Ό β”‚ + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ + β”‚ Application Layer β”‚ β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ + β”‚ β”‚ + β–Ό β”‚ + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ + β”‚ Domain Layer β”‚β—€β”€β”˜ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β–² + β”‚ + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ Infrastructure Layer β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +**Presentation Layer**: +* Responsible for presenting information to the user and interpreting user commands. +* Consists of Widgets and also the state of the Widgets. + +**Application Layer**: +* Defines the jobs the software is supposed to do. (Shouldn't find any UI code or network code) +* Coordinates the application activity and delegates work to the next layer down. +* It doesn't contain any complex business logic but the basic validation on the user input before + passing to the other layer. + +**Domain Layer**: +* Responsible for representing concepts of the business. +* Manages the business state or delegated to the infrastructure layer. +* Self contained and it doesn't depend on any other layers. Domain should be well isolated from the + other layers. + +**Infrastructure Layer**: + +* Provides generic technical capabilities that support the higher layers. It deals with APIs, persistence and network, etc. +* Implements the repository interface and hiding the complexity of the Domain layer. + +As you see, the `Complexity` and `Abstraction` of these layers are depicted in this diagram. Software system are composed in layers, +where higher layers use the facilities provided by lower layers. Each layer provides a different abstraction from the layer above +and below it. As a developer, we should pull the complexity downwards. Simple interface and powerful implementation(Think about the +[open](https://man7.org/linux/man-pages/man2/open.2.html) function). Another way of expressing this idea is that it is more important +for a module to have a simple interface than a simple implementation. + + +``` + β–² + β”‚ + Level of β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + Abstraction β”‚ Presentation β”‚ + β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β” + β”‚ Application β”‚ + β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ Domain β”‚ + β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ Infrastructure β”‚ + └──────────────────────────────────────────────┴─────▢ + Complexity +``` + + +### Data Model +DDD classifies data as referenceable objects, or entities, and non-referenceable objects, or value objects. Let's introduces +some terminologies from DDD. + +**Entity** + +`Entities` are referenceable because they carry an identity which allows us to reference them. e.g. user, order, book, etc. +You can use `entities` to express your business model and encapsulate them into Factory that provides simple API interface +to create Entities. + + +**Value Object** + +`Value Object` can't be referenced. They can be only included into entities and serve as attributes. Value objects could be +simple and treat as immutable. e.g. email, phone number, name, etc. + +**Aggregate** + +`Entity` or `Value object` can be grouped into aggregates. Aggregates can simplify the model by accessing the entire aggregate. +For instance, Table has lots of row. Each row using the table_id to reference to the +table. TableAggregate includes two entities: Table and the Row. + +``` + TableAggregate + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ β”‚ + β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ + β”‚ β”‚struct Table { β”‚ β”‚struct Row { β”‚ β”‚ + β”‚ β”‚ id: String, β”‚ β”‚ table_id: String, β”‚ β”‚ + β”‚ β”‚ desc: String, │◀▢───────│} β”‚ β”‚ + β”‚ β”‚} β”‚ β”‚ β”‚ β”‚ + β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ + β”‚ β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +**Service** + +When a significant process of transformation in the domain is not a natural responsibility of an `Entity` or `Value object`, add +an operation to the model as standalone interface declared as a Service. For instance: The `Value object`, EmailAddress, +uses the function `validateEmailAddress` to verify the email address is valid or not. `Service` exists in Application, Domain and +Infrastructure. + +``` +class EmailAddress { + final Either, String> value; + + factory EmailAddress(String? input) { + return EmailAddress._( + validateEmailAddress(input), + ); + } + + const EmailAddress._(this.value); +} + + +Either, String> validateEmailAddress(String? input) { + ... +} +``` + +**Repository** + +Repository offer an interface to retrieve and persist aggregates and entities. They hide the database or network details from the domain. +The Repository interfaces are declared in the Domain Layer, but the repositories themselves are implemented in the Infrastructure Layer. +You can replace the interface implementation without impacting the domain layer. For instance: + +``` +// Interface: +abstract class AuthInterface { + ... +} + +// Implementation +class AuthRepository implements AuthInterface { + ... +} +``` +> More often than not, the repository interface can be divided into sub-repository in order to reduce the complexity. + +### Relation +The diagram below is a navigational map. It shows the patterns that form the building blocks of Domain Driven Design and how they relate to each other. +![[image from here](http://uniknow.github.io/AgileDev/site/0.1.8-SNAPSHOT/parent/ddd/core/building_blocks_ddd.html)](imgs/domain_model_relation.png) + + +## πŸ”₯ Operation Flow + +``` + + presentation β”‚ Application domain Infrastructure + β”‚ β”‚ + 7 Data Model + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ Network Service β”‚ + β–Ό Bloc β”‚ β”‚ β”‚ β”‚ Aggregate β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β” β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–² +────────▢ Widget β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ 2 β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ 6 + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ Event β”‚ β”‚ State β”‚ │────┬───▢│ β”‚ Entity β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +User β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ Persistence Service β”‚ +interaction β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Value Object β”‚ β”‚ β”‚ β–² + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ 5 + 1 β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β—ˆβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ β”‚ β”‚contain β”‚ Unit of Work β”‚ + β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”‚ β”‚ β”‚ Service β”‚ β–² + β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ + β”‚ β”‚ β”‚ 4 + β”‚ β”‚ Repository β”‚ β”‚ + β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ β”‚ β”‚ β”Œ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ 3 β”Œ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ β”‚ + β”‚ └──── Interface ────▢ Implementation β”‚ + β”‚ β”‚ β”” ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ β”˜ β”” ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ β”˜ β”‚ + β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”‚ +``` + + +1. Widget accepts user interaction and transfers the interactions into specific events. The events will be send to the Application layer, + handled by the specific `bloc`. The `bloc` send the states changed by the events back to the widget, and finally the `Widget` update + the UI according to the state. The pattern is depicted in this diagram. (More about the flutter [bloc](https://bloclibrary.dev/#/coreconcepts?id=bloc)) + ``` + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ State ────────────┐ + β”‚ β”‚ + β–Ό Bloc β”‚ + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” + ────────▢│ Widget β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”΄β”€β”€β”€β”€β”€β”€β”€β” β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ Event β”‚ β”‚ State β”‚ β”‚ + User interaction β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ + β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”‚ β–² + β”‚ β”‚ + └────────── Event β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + + ``` + +2. The `bloc` process the events using the services provided by the `Domain` layer. + 1. Convert DTO (Data Transfer Object) to domain model and Domain Model to DTO. + 2. Domain model is the place where all your business logics, business validation and business behaviors will be implemented. + The Aggregate Roots, Entities and Value Objects will help to achieve the business logic. +3. Calling repositories to perform additional operations. The repositories interfaces are declared in `Domain`, implemented in `Infrastructure`. + You can reimplement the repository interface with different languages, such as `Rust`, `C++` or `Flutter`. etc. + ``` + Domain Infrastructure + + Repository A β”‚ + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ β”Œ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ β”‚ β”Œ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ β”‚ + β”‚ Interface ──┼─▢ Implementation β”‚ + β”‚ β”” ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ β”˜ β”‚ β”” ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ β”˜ β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + Repository B β”‚ + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ β”Œ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ β”‚ β”Œ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ β”‚ + β”‚ Interface ──┼─▢ Implementation β”‚ + β”‚ β”” ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ β”˜ β”‚ β”” ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ β”˜ β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + ``` +4. Responsibility of [Unit of Work](https://martinfowler.com/eaaCatalog/unitOfWork.html) is to maintain a list of objects affected by a + business transaction and coordinates the writing out of changes and the resolution of concurrency problems((No intermediate state)). + If any one persistence service fails, the whole transaction will be failed so, roll back operation will be called to put the object + back in initial state. + +5. Handling operations (INSERT, UPDATE and DELETE) with SQLite to persis the data. +6. Saving or querying the data in the cloud to finish the operation. \ No newline at end of file diff --git a/doc/getting_started.md b/doc/getting_started.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/doc/imgs/ddd_big_pic.png b/doc/imgs/ddd_big_pic.png deleted file mode 100644 index 1f05b56df16cdedd500e69369e5d3b43520c380b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63283 zcmd42S5%W-_b)0cBA}uI(uoZb5D1`xv94+EYQNV;xu_^>vy3}W<>}BUj7W-oz9|^~N-(0g>amxh*NL~cj)!;L z2p5WY-LZVMET>QDEOK+wH=JnF_i)-d^vm2^LM^1%yYCfkWgZz_x)O9=@$~=OfB0Im zDHhdH6BaxsZWSC#0G(J}+{UjygJ(wt25A^Xst%R9fZ9wMjCx3d)avrO!32r=OIzB6 zR_V5Gij{=a<>+_#^jhER@R?*PFMJR8YQJDC{Z3EwWF*K-1$+ny;&@0Utx*+~@v<6; zcwYT%8*8P<__g?TkwO3LSdEht!ma0?XAH00Pc808CgP@=C8q`FfAMH#S|CdbKgHa^ zQEwO*cK0#*QwQh6lyAZ>ZB2H)(1)ge%Rh_0u$@+s?QgCAE;ZHq>CWyqmliZf2q@_& z^xm$N#969n7_c8}SIkK>Y`a5c#*fijGz8VqZ5RD~vm0;3Np|%r%88AvA)+rNA;4l? zf5Fn1Y~(n;M;eH|lS{Mdv-=F}eyt{crH;GV-co{Wza=7`=rSTXS7im=+g{cSkyZu^$haIj=C4Zvz_uD(hCM+La#>A6po&mCN%pGJi#X6oMczlgQVrR$=yvV0A5uOdoDJ_Ru6 zw)wa?C`V9o?|pef^STc&Os?HU3DUZ)L>I*<03@pJc5rD%rPVtm4m;^VI$to|FgkGQ z;Ebsmy=%hD1hP*b)HSjrNtx3~ND3X>d=^D%Gd^I)$ABzoX#ke{83d4Mbq;wOwzQXt zgQhw1HAN6USc7ik>w<>q7X@h`x#Qo&v33fE@J$knW{QI$raK^QvUx#Q9(ehaRYi#I>O|-4)W9j&(qp%4(vfxEz`oqu zUuy$=R*GIqQtZnK0eZ(aRe}>uQiuEJ{LMZde?8Q+e1NUU)jE4ZZ^T$4k1AO82v8R# zZ?Ihc67txqn$cme&!u5->l^LNz`L~Z`n{^OIC`fdovW3Z#M*v`9M~_6k7ñ-g* zBH$Smik>6{wKez@eI#k8VIH;G_Td@bus5eAueR|num8q3j+zx^*?ztOI(1hFJca!! z6vGVg*;jDOfJgEGFb`bVa-K|btNEov^PRfVtiTl6n2&G8y45|WK`!4f?A9%0+8Y`e z6eFZQ)V@SD=&8nS9sik1ac?{UFra$-o;w+8XJQU&ae8uy2+Q-Yh79RmiiOd4&Ng{KWi#G@IBS% z9HpD>4B?fjT}e-|PBLjk7KC~PMvJOKv7dhps>PcZ!Co+fZcWHEtlcb;9l~f#UOg9M zc#FKW9f3pm61Afe!7$Qo+-IF&W$Gro(Oc3FQjVb26vqJMa(!{$)LqZFoWo466R>9i z!TOV6{Rw<*==`&_FyCP9Jl6B+)4*BRQ%N7mH7@byW%5aPWbLYBc0QM~Qa%bEgV;#- zsAkC6Oh-&doC~l^PXte!+`+1|OTkiIMhctluGnRpCz>)3UzCUjoDMzYa}cs&+Q4!* zxt9){C2EO)fxd3@v>>N08Co(*9xJXo?pSxIuzR?m0jEA>Zs{5(S7DfMve}T5J(?%_ zuAJ=o$<`&xK5LpW(cp9>WM9y{X*vdYte~$UvQJUN^1H7G^9coZ8L($Z5@91G7o4d5 zEBnlg#|6vIvqMma@nb~C-)<^)*e>t9FH)R)49P2^WUr9aZz-ezJ^jY z;C^RQz{>9Tg%F)(H=haZJ3Z@3n<3E#V>`j_f& z)iF^xJ5%>#4192Wgo-7r{?gY={5Lk{{PO+sSTEw*T;<*O)268kMzrC=XZm-qDV97w zdL~$UYxnthLmQ_+TANrvwfM&z4jyo#fodcIkXzV!A@VmnbI29jU$`<)k86VqUv|*o zCsrp-4}&EFv~Bx{^nl}jRY4iDGxmD)VhGmq0Kb7@{5daYxf3wM`6_Xc+$DSM+SANo zkuUlwuxCnHm^vY0PO2k~qy6=s$%6Rwi{YfR`HLIymcmQjvu&{oK1Z?=QZaf)x2YlJ zIwLp}iFPh1C3sts=R6i{ikda^SjBOM#zccLIl=kSg;W>nja+QTHfqK9zwE#@>Dyj5 zd7kyk3kptC7kY^i?L4TB00B&HXb){q6}KXizj_5*4w4#oj#Ag3dY=_Vk#m%&B->y| zU~=tH%5Qqp_e!U=@pL<@KWCdhhnx#*53n0@4O`b;+D@LGVzJ8!-{v{Pgl_;Si5^>t1(gW6A6Qc*Lwg3?M>SyY1;<(66YKO z3c9`sbxQ$)$pt@`;BByCyD`<&gkGLe;X8&Lb6~Fjp|%&ekN(-CuH{pD!&y+i^^a4sAY0ogD(ZNc9`c8vh6(r)(12 z3`+6>>fTQ5|J423fcBJRPBduVR+hR!eI~P;7*wx6j-yE_>_r2|%a3@11I_yeBde2U-3GA6eozidU7N#-!z zN4XricU3BaC$VyefU(SmemR>Y^u*B|a@BD=uxt}muF37WVh_S6f>#d)sw-V{97_FW zIL`)WmKxaRfrhnIZek93a0^3?fB=s#Y@l*VHxGv6$~Nur6(f|mi!n(Xs!3?j%Yn>I zlw#`B;5m3#Q}ZU=@$$#K7`C0~A!rUNZaAqlhLXrQB6hy8PVQ^6Wg9DwL_1rM>LUMM zkZO<@Z_&4a?5iCbzJ9hM=jcy5+kf7HG`3oqrW1}#+I9xSungb4e=p=tE(Pp)!Vctj zztN7ZD(vXHG&N$4Q+f|ToYu3aCclObuU}eYZAdg&!yPQ0ZvDIMX%k@U#cuu&x+#yV zdI6oc(Sg!J?wUhs;g12?=BifNKYdm0KzwBPG{C&1bh8Vumbd> z!{$iTLB^c#9XJSiMx&~OOGNWAyDtz%wAy4#zT%Ep^*ztN450?&x`8ibhLXnvBX(?n z3G){FLBw+4d81VYfIg=b1SP8r)dDZW;@k7 zh?$aLvrmgQ4{0CB17g#$WwmKQP)#a#E}?C-u=+p%>alR6{-CDB!8cG*7}w&lg-Ss7 zcT52noqtAKXwyq|s#V+#P$rB0UsWpn1lLUFC(T9-yYpByA?eny&uo|&#P84_$Mdwn ze8{;#{N)PP++feGq;v^Am_{`E3_`PgR)L^MYCX?&K}Lt^z3>xqQ<241VpOG-E@I0%1GA5#C5UEXu~QPnP@vdM7A^iCkUlmO|PeWOiG+M?QK zSqcz*VPCzW2M!BKMHW@0PKy$KL$oC&3ij}0Rg}j9Q6A7F-P2$lrZhs~S>K-#-Z%2T zgUIuHgSGO4G{7mR!^H2vk)Bibpn6jtUS1g^kGdLLl83r@)qz+Y@<9dTYacDDE)Wx1 z%fEEsCG$&%oyIo2T`x{$0I-T+7YRxXyx4qu$^ZGJ1fuZS(V%Bc_&raR-~K`Eb-Qm^ znYTkpKma9S)r&BbvH7cOR)Z`}_2g9&*RWkF5`&(o8`c>f9|AgsYm&b;f!9;CDiWCR z#82;Iep||Q)vA?+LQ6lJof66QLDP8DLr4tsLHLjDr2$)NVq>&u_~MoW`7AkuvYtS;61@zz~x}Ozq6Qr-OGD=y+Zl>goMjZ`g`vm}>N^ z2^co@8iA0enO1SpGCi4K=v#)V8Yje2iTP0nuY^@(z)u~O=>y2!^)%7wvQJDQgtqFQ zNI>HhZ{cHqDHx0$K+?V$JhK?9U4q0f&NwC81fb_-tm3}vh%V|J(soJYY%1Tyz?qiFKML!0W&f!08)*~dN1TbWVj+WQ;x7-U*y#-s)iG_ z(K-P*X5B1@m7rP2CXTNn?_e-Z>T|i?(R}X^imJxhQJ1A$}b@s+e2C&te262FJ)BsPd#W$G&E#6ziA#+^1VJUP_{`Yeq2?XI{)np;uudsGcDlI&mBs@i6@Ldp*> zG*&Zld&O)K+CU}hUjhD0=!EV%O_oOT=9dRrRINxljwfF%x0s9vY|eHp_WipicDXVBKBl>!A$MO%Aow#x@XT((I(18Lts#2i zEsa5xvt$*bxd$h^ObZDDAPxHD6Bu(z?4UZ6F6}FVxy-G*c~c2BQyfnkp?h6?X{(Y$ z>z}8{+s1-H&6HD=Yb4|b1TS4`8@Ern4)A&zYzY9CR2Q9`CsR+;O6V}2TA7q3&4K5I zHa5Bg{4z33#Z!Zy%)6)ODM^6(9!m%(K%{Z2h>6YNVB;jG(FJj4K_jExKC{Do9mbj+ z#OHa{Es6%n!^g~7*+o7jU)I;fOI;H8;Q;vQS5*H-tUu$hDE4B0 zR5;&9yKiWN!@kCyYup{NPoXY24lF=&^jBE6W8_3|AG6C^K`UR7JpC0TBslN{wlq4D zWRbv2)%d&qpgGSz54w}dc-MDZf*F7 zfB#6S4&-v=F+ZGk8~_*gpC{LthTI;vB2NL)hIoA$GiB=>5Yy)-S$if>@N86OeUpvP z)=vwOGTGJSN2_2)tc|?nm7tdZI1GN)dY2pxZ|H8?>mX;bWJUoG-_F4aVYTWb4p1{h z0&Nt6q0)x5qzpVd@hx@7ZSpqN2>car1-vq=Doxsa0CWn z2H^g8qBbPGWM!O|D3B?9XS)p(>|&@V40oHnO!Gfnt=av6{W5yw=+mDlulg??gI`f- zm_ajfZ)MT~{+Zx*Sozo(a8SD?VD7Y~Ko-Cm%`kGJjfL*6Rwp?UjoKrb8+ZD6Sx?#xyU)#C1!xc;oq-Fs*xe{(K93DdTc+^+6~xV9?It-=du;C}tK%fz1$1TxyG4p}2q zmSk2G@FbtnRb>NSgl1Dcg_uOhCM<5g!TlcNU`VL>EDNt&@ewQF}G_2)(##2)8^1 z%lk8}i(2~wKFhU-jg2Ntje56mkTv2|;o&*|O=UxqELK*WO?_d1@YcT3VU$nj;6kg1Q_&C_oZaTVOaFH(;5bcTE#PP$?SX7@BJgT`!hAKeA`U$0|B(Nh5H%M zw*|$p8tI6UkzOzhbftUL(YMqX{UrIqj8EFtzxp;M-w^?1-V zF9Hwlp?$;fu-{kDBKYCsqD>R`kH)TqqGrlh`X|I*?uQY)<+=xlrLesx->h&KO#97K;pi- z>Z6uiUPWv0F0R+@l!Nb((VEGrHkiv0sR|Rr8yv4G_efs@=F_~cci_`0UnOJa7ZEV2 z%(EK2?(kTRVl+@MNO}k2DJtKOFek@M%+33){_4<5zrFbWYvY`kq7gUF|~Iv0$pJnQisf!ZullpWhGeRd7A8L=_o$H&n{*wk1s`7zhUEt;=^hD@K) zqx(?@4PIEY;YN+W_U2atYi*0J+kwyc@N?g|Ii2jnwAE^zjLLo1;20V|PnK88a7K!e zC5QZrZcx;GO?_kDl3$rRHjE`+ikqfCop?+Q;z|-KuR6Gg94gmd+VD#y^ggPb(k2+1 zdD*Mi%7TK_o73=~`LfpM0n6`{hD{I)Wbep8C;j$DV%)jPHB5dH<_wn$x+am)hNq5U z$S#p1q~}NVpt?27@IPh-X@t4{#3mM*4lSMHFI}+EDg;+0yF|9brR2%OteUBWC-&S* z54;+K{5U8(HG9te*>SxUGfxh8Bqe{bnN9MwK5s0K8ak>56+9@6zU4f$aK7#Z zX)&7ZNmJ#f%kYt9`$tF8;*bh^$oXx1C10)A><~dZDNJqSz2Wp}$9@KiZGnK-w|Q@@R_V7KJW{M5i3PuC+=AZ><; znWWv9^MH0!c$ju87jAh^?Z_&;6DDs9T15cKm}*cK!TQ51tH4VxHDkPbi0E2=wQLW8B@JBC6`F1Kv z4AkVoYd0QITvZ3%JxM&uD(zO1Ii#RB9;7fA{U4$&y%KPeZ0e=*KpT^6jOB z9-;@d86@lMQSMyt1w{gbVH`yVc6D@20X^@fSmC+iP zRsQnr{0dPB_`eUHScsKxF;A*X?-|df6ORII(Y$QGd}CzEY1(gXFxgFbf+%AW5YM0_ zWIQyL!#Fwq@M$D^_+y`Dviy|`3-0KJ3;de!zE}-n%ldVw+(EQ9)MhZviE%|{g<~OQ zd*d<-Ev{|UpT5P>PjPB3=O^sQ`wf%l;#iFr;%G@FZS@LMWX)87eMV&pljly$P}9=n zOp@kbc+vf6>N(w``7ZC%Y2&J#h0sCk^4s|YC9KB1-kf8&?`ytKosi~_Bw@+r?qy0g zeVw1=*F-QeB0ebv$EHVTom5gyjyP6&uHlH_DAZKMZ(?=RMp%v3;hY+PT_-WGp{s2N`$p9<3p!?B!8I9nF#8(V9R@}yAlaXbo{;7DTo2T?{pQiV6{yP+ z1)4bcCkr1k`lL-S@6`xnLnLItnACL`{ulM-@KtU1<-9I?+bvaE5JOSZlWgK((^u{$ zT5E+DfyKO5hMDFYKY!&NaMD#zcO-QKY(Dz?h<*KcB**962UpEDvjVGN{fwQ0_4i@nZLikXz{fbriWFm2cEhebLOwl4m)uI-@e zO`BC*;@79=-s#gNLt_Yj5)MCEt#DX_r~RSrepa>L|gqu6Y$XeL|Bri)LgO%%om~AjwHh!^QW+*cl%?HTRy5QO@v6U*1ov!VZ24r3}>Wz zHD(VS-SAn5@y{c>!#jXEB z&Tph;KHb>wXWBz)1ciV2;9uL;Le z*BsC&v{`Hod2H^%JH9bE7&y;sMTV<+f27`0y`30rA1c}O(|WUbFlV8BN)FfEy~~C7 zsyh?H5W0c>MmbF>X^NkEHsRsj!Z=Tf4`KrJ=0ZN8+a`Ak2~|BO@Svr;4WG(8dqW(E zJdYGi{R{3`&5N6PCsgWpSx<|e0q&{e| zzRQL?{(ISZ`7}Zh3j_6t5DbVXt}H;NNL?Z`RuRaduQ&G+bKX?#wh~8{`CEf9h->q+ zm%=Zm_~f0Z{-JNwx&*<($_bDD7<(tF3IKPATqUQ~Hn`xYL9KB5D2R#;DIv**be+f6 z=Nc4>i}1t@z_FsKwyTxE#^e8P{Qmvbs#c94 z#s_W%9CQgd=%qNBHEnnFk);1>ktN6;etQzJi`L&gvf(_Df9El*ap2i<^l7E4{_ z$nWAsT*%iyCb;89-_8#l)c%rG1LDdRQ# zYPe8>4e0@$FtIj;>0%3;JB}^(lr12D;J1JPQX(l|=y*L+0;DGfE75q8?x0H><>67! z350(iYf=O?JfnInGaOavA#+*_MH_2-yRI2eZuSw??s{`Tt^|hwG)CAdXdc(XMw``L zmd2s&a=BOIdWRKv=c4xwg^lp2hXTum2v7lR3dr2*XI%RLx06@yrVwhc+uWuJn^=?c zj+CpmD#E8LhGDcm1BH<0V}Qgyi@}oXIrx36J%cSsM+ompR#Bs!b{L<;cnp~A5JFp~ zflVzVSd>nl8A$9QR`vma_paa32fzjYO9JS`pYOjfIdxPaU2aN#e}reI6k>|mnriep zxaLo!yX*${+!KOKT0@A7&WYz-7WIi+6f-*}Ad&J2uo+L_JS3VMO6@gEWWa`KchhOt z>-!axy`b6HlFtN$PV=+MZ_+!?W& z<5-clY}$24otERZNZA&#Hs1ATGK>0}CANX&M+bWy9?>V-?U9iKlnnm+!cL|8 z{bE^Wfe%Y6Mi?ibw7n3&$dvO?HiSV_dgm7Z_|H3%6FGvXTw|uSv>t`AwIui@o6ZbR zO}2PE?sL+Te#}vr8~o`Sx0Rrk!*WkYo4(PuO|r|Mn z2zs~2i9=lQ8!L+SHswkbY)n!tCs30pynME`xf%ssK!|_!kq{5QkHfzIzz#7QTQG61 zv$!sbH7;*%B`Sk`lJnWCH0%O>&cc@Ys&7|7TMKr}_V!$QeEetKdIG+0h%EgY6kA2r z+%00IJ-zO|Dy(T#wLQnV_~w30%Z!JNt{@YTZM3S1VnnflLlUSyLVcL+Rc<-jUeaLN zDm7bUK(0vY^5n!FR|`Ig6==Dz_2HGC9EU5@v+U5VUSAbelM-Qd_EY^OHXE!q5tehrGcWb;v%&+|b`BSUtwyJU$5JBV4-iBQ~Wkb3b7e!FA zsl)g4?bIaD2fn+Fp7`kZDG6^8Xgkl7e#0@fX(D88#ci*mUc?grOpJZdZWZ(14M#} zD;dbB1Z=Y&$#_0-DZHFA{JK3yH>;oxd~8Ph3K+?!ZcQ3KQz-Lk;GY9tpMkF^pWEa` zpv(w;O|?=^_zhE^iL&B50t-tRr|2h4JQ5>f*OBz@)V${&+wcQU+pHPun5JthK$h&D zLANx2sJ?1k?!A3Um6WVDD5$Z%EIEK5Rx+#yvOY+V0h%n6wQy`Hfp8ebzuUVp@?)LXe zWbr45svq5e{3LNZ9YGp*2l!mh`_ef_PwKLLE36;)u91U2%yDz@?{RlHI{18CA=2EJ z-Tm7GzJR+JG^u4`SLq0$H{8E)WpUGj^sdb%v_}$^d7*h$v93wadzMptS~uxT=s)XF zOjxYwEv8>H{L=sPeg#}OE&d5&HxMbj>RZABeXQdqKLdG~Zgu(&z2jB(oBbaZuR>L= z&9vD1XSl^+T}ohhj7cP@ETF4m7{Ry%h9R-08y2MG_c0b-QDDRc#XYnM+yJ+nVDIfv z`tu?VE6I(Ex%BryT^k(yBevp%OMCmPI)=)b!!sO7FRI)opXS_XY$rri&e!*B>1tyj zGbu?KRloYQP~%tho?q{YA()Tk)k_a8=qxtdG1N6_2<8&v760?L!FOS$Zb?!anG)Dm zU$3ekaG=f^nc%qWt0dt={JpeY`1Md8CS-qOQj^n@V#{{Q**nN zXYvR%cFE$yTySl)<7cqTl6YGeoPN)O)IacA#GhV<5~tZSr9O52G!}_`-5V-eVNTOr zp{IpL+LC-@XhPJt>4TE3uedNV5lir#fK_P$!Szfp(Ji+Z!?Yx^*QegN*nv-gcFxL- zYkm0mZFYNNlk941eVAX*tDAUAEyi0+DY-ES$B$}riFRxf?Rw>!*&0Kzh|37du~wWk zz6>pNfBr1Hp-Tm!_pYPu`|zb={Bx!g^lhIXJfnefLV~bymspv)hT5e4=?~j=AX@vz z14Oke|M6HF7~Q9*u?S;#=%?rU&VBu6drp%lHmhK zZrd#7^k)?$-lGG*+~V-SC8@cck2FTA{^$w#EN{k^c>~#a{z7U{=mF!^@^c#rElx?9lXu6mh{Hmvl~LUCX{Gt6E7a2q%f6P z`ejaM&p^GJ+w~)!?8<)Cgt5bs42kcgt11{R zwfE0Jbd!7U5~PuMT5i0P`2LiwOEj-$=?qY?Hlu=oUZPsoy`AJoLWzB#fTgEJ#}+Y& z+oVrY4~>pY;(&6u&)=BN5M{Rma%;aU=9f$=QfYfkUi@y&FPj-sc69q=Y~D@LzZeXt zeY2b>7(^(%T4la?0l;-Y{X6{4Yh5L$hIZEOHWW2c!RmaziXNV2^Z4e; z&4&eVK1p=>GvDqCO-N$MV4|lF0tyV(EiaxNJoY)v5F6z3#F~5_fmt-}rSTUH@z2uE z($AiqeP7;^dLw0@|7J2%k-Oka`Rmugz`RMu0cO-h4*bP$lceR9YJNL>vp+Xq%hQur z4_#t`PHpKX&9coa2^!8_16{l*1(hJHST`J18k14Z_|36iPxR4zQdsuqz6SlVJui--+Kw*6x@LdX>IVvQ zN{X9`$&qN_n!MMn$|qjH!fpz(oke`|d{p!8@m|WlkTJmW<)8ijs;ZNx;|b;xxzNtI zC_fYP%i$f$5s+UF<}$g^$`thH;Qd$zMd9wypxLMjc6gFP#Ha_CJmt|=r;-lrr-S#v zuFxsHnmb$1+yDj@I-CFokwL9QnH{8DecM*&NTWLK)!Dr06U$if|8otJXWSW29A)xK zGv^N9yf&LBqQvPa0jx4%#)e{l!fM+Zc$N3xPXR2N(MJ%xI8CN3w#Uzwi)!lKhVNJ% z2B$psr0{1N`U2IIiR~V?a(6xGZQnItb02BJ{f)Ai-CqDK&q(|bun~p#F9vU>G10dR z-6nsqC7^hAfuiTv$^A@Jm4&3=WL#AFRw1dw=?zz+Kk*QfzSd!%QnhKZrlNgjpL%mv zPBgsi;3YbszsUMtFdpjAq5p=|$qcimbb6h0ZH@r|VzJ77$X+cDo-=bwem@(Jsw>2o zF%{xXfcmSUiT#JEnjFN}iP*c2)5mBy_wn!02|DC>EG-7(R!(tNUG$C)hZtdh(9IUtyj z?uwi3zXfm;GesCRHgSP6`(nDlI(Mf|=w&CtYsXl5Y5x@l4+YPlZ)3S^1qX_j9oulA z)~ru+*K-rUi_{|J3^2cj9^*z2Z98_{V;7H|KF$)&Q$K0N#3eZ>@PNx8Aiw9ZM(Lcs z?FMt3(nBrvI!bbw{%#Rm-nZ$ZzFRi{wcqy@nJ-Ww+7~gcM~h^wcl?h@sI1)1Q4JP86k`^u>NO z8mrCk;5K!_F=>K$#50jYGUsI!;`?Bzh$`CM(h&`as#uq zz6!QTRu}Z2Soir(kL6?f_UpnqX34FXMJhNSoo}N1Q}VxOJ>TsiV~RFspOXY#j5D+$ zk$1WhQWKi#%ebmkL!wh&VU2gQgye!goVjtJ_9*{%x&5u7sJ|$Hua_L#ijQ%KzkZp0 zsYeNa21>=~(q>=82<6^-53V0|dqG}_`a6{vy#bS!Y&E4q1ZV5ObTrUK)52$)Zx~vR z`UYM*yA@tt*);y=As;B5VBxwHkHvNr0!=`}g-C?&WptC2y+X%M1xasaUc{)N*|l5g z1?hYw=foa(@gC!34V=(PacL&-{MeSePmafbY!>Lez;7t**#uH*({wp{+umSoC#2|;~&TSz3vFly~BTF*MEgRku6d>z0E8jQTm!}AE(wIaBjj`B~MyweN6>#EQl=pakWc}x4-_Nd;4G~7QqK_ z1a5T9i@!uzRPe(cIh5N!RDf+=x#AOy0X6hihpTy_QWSmn(1vg5pu3w?gdD$|YdoOm zhJgTJI{p$ZD(SizgD=aP6_z%d0^lmY?-HW*H(Z1NV<{G-^YgC%$euP`INkCJZUbG^qO@#hZ0`N!M*Pn}M?DEy3) zh~Hx@AziA~X%B@(f#M#!^;QO2q)cV4-SiZek zi7&yopgP3zjm=W$r@Cq|gQ<^!o8r^txtgz0>hiC`2sn78+m%}rEn1}Yoy-!Gt@F)q z#mQXjD@EmgodJ!e!+k<+)O?>6boW1p!=Xwnz@2ye{S$Z*{(Ydwg{S*KWNnPxi4kp;j2tTy8+UKsI<0Ulw%?GFSlTB9eBi= zS$SC~vC4`3H5m1#<{S5ZSa-Ll=Va~8-Z!h9b!%6O1>yD%c()g26oao|(^z%3rLUY5 zhHvpg6Mo0uEW#n1QOChaS$|BlpEV^fa3JnNibdS#eWoCS+sf0B{o@xynlF`{d?{-H zT6mBp1Jvc0r2`SZ?euNp{3$B0-x~FN(_%k)V|j`7bi>1^nJPvw*MO?cShFdP*v|dt z9Fq@Q3aAl9E!jgm^@icN0h6si4E^IVPzaCQf$x(Pr zM!SyLTNga@;sdZ_d+5+t+m|Kb?FT@;2cuN zV*@{#jf`}&3=#2wNCs)fWSO6tJG;2c{PbZVOge#GH7;&aD zbw^kyD})tM92R_V#&2ad6ngTOn>gcx$UfXzho_8DlQb-)DF#gSwM|^<-0-wcUvbov3D#{M?>oS9(^;6=3pM86Z`l0CwVu~v?5zqSaV790O(_g zLI^4YdY=NIyZ^)zJplmPbo#5(3jFoM1?oC5MiT&ns{YkGh<-TWP{sd6aKJc2DWCiHkD7#K6D+nkU%d!CE8itmT+tk&@GDXH z$63>cAisa$j*i+1nn3)1wRL6dxi`y@?CIYpC*I_QFF1M?I>>M7FY*GQqWX>vQXvPx zDdq^GO5&-pgbqfn?W6@3UCD`^*vbq6PXh^@@~=+w{^?bFU_u(oAq zCr;3oaL_^FuX}Pra(?-ZsV@3)QQ-BRJO0F?=Tjx}(s0=RMBB*d%%Yc}b@E|Bzk0wDqy(_gkp{j0B0E5i>XDs@mR5^kdDH z1NkYoW_Wj`l-Iua;r|KSy!QpwKR$x{^n(qxXr~+@l!mVVzo{fd!dGU82iXSk6VrFzDmxfKt8 z04nVwD0}@0UZFX!@4q=2|5eEI0%W-^MN`%c8otnHZXcesdASsTthwV%XhxK4_riI# zEFn|$=DfVA_hT^m?k4JaV{dDOPfz2b`cArP;FOlxdI_VGeoN&)4guadT(D5QW8IYg z;@!P^C9A9mHkxU!j&DJqImcz?>NT#225h7`2X zHuho@u3*OIbi&}QOn2Ytd+S*H9}7Si(9m|{ix_u~bDX{T=%+L{2iwPYOAj=HeHw8l z*MmjQ9EWrdou2f+fnEo~8B+dHR)my~oKPk+QZLcsXv8eDW}H5>XbBCv9_)A*E%Wjc z3aDS3@#OFYbRc@%)`Ex8%kf{Xo9_AXx*YMi1ICut8QK-Nwh)v|*Z9ZgvR{%mCw&_2 z&mp6f*_+aR?Nu1Efnfp@o<~`XS+TFyjy4YtI|wLkdiX})G!R?P(MvFzHi(+^tJ>2b zyA$^!aI8(L5m?_W5i}@hq~$c1v}d^VuH8=9td}z55|BpZ%jZ;lAOgjFU8qf2YOn~y zGj53Zh5-K&-pSE9)5G^jkTpaR)aLt5fcEmATQqkm8g`v$E_9Amb7OO_y)oxR(@sR$ zhU5cQ-94u?udwH)*cCYW$GCOGVM6<~!)*rCSsRA>h3Pi}wx7lsrf*8Ql(M1v)$KF^ zK%d{A!=>Mxy8|ZAN%L!ny7!649wtkaIyD_aSw$qO^Yq_Zw@Qh~Q@a{Z)&zvr8ki>h z<=>kvstcWqZ@JDJa$Q)eu{ZHU`Xq{Z!rNMlHMCsI7MdyyQbncfEY5G%rv;a@b2Gqw zE+yY&cs8M7xnfL4E&)!_K?G#fJ{98w*8d-V#b7KK2``J4vqN(pU6?j2;}`g;U8|av zW}Dv6Vz)0vN6Q+W7aUanH4(J#*1r^7&Z2$Z=q75`CpY3eu2AYBP4sbQM4Lvj0iA;mW-gaS-d1Wwve=@rH^61+_`U|J7B&hBim<-JpH&e$8J+8nmr&~6SoB=o8Y%0~r#dw9nL)up&c zc#kczNIr=X)_K=H1*j6?7BTWetj}Xx47#^G|147Sq9 zX)Pk3b5V+OZl~+^s5}sMmiVp4m0|y5hA&95RsLWdm1b@Bt6eL{6NcWpmmCPY=h^F{ zcC|NBZM(ws`#b!06Au#HKg%+fF>IME4jmpAf(2$DP+NMa0+GsIWtsv6lFi6BE23Ew zChFsPnl|4(LbK#qzUR|;cVE0JCg=)F>gmp1uVF@0jmc)~TXp@|HzSux4H44PP>V<`Dt>{1TJT^{>Qv1HNn~~(rie3|E&>CS>nM?zJ%t~J zt}{HU>UTbCJGUrP0iBR;?)7bvxK<{A!h~Vs72FGO;_E`g&FgR1tWC@rU|r)M7GmH2 zDzSf>G?h6%E^eVnL@YKjHwrO34K{kjAVezp1mk9S;^>N@=D{sLpu!HMh0e4G;JIh<~ zhsBJvdGcG_OSyRcpeW7UuhhXQwY2Va$F=zAOZi`^-o}iBjSVOk*z>*{lB?` zV6N%B^Y-w_*8X~u+n=M)!8&@KRq19`g%GEwQm3cW`U`ri&6O%6K8*(eYFIRCT@Mtq za(k92f=0_2IViPh7%+cp_)@IQct*Hso{at*m!6aL?0nAu@q<}nq_9NL!0&z#>?tZLK#g1Uof51&IJDf6F=_iZ! zkJxV&3;rZk^`&9xNHu9qhkrJ7Am4TY#kJrH4#*gY%Bt+M^uLcQ%=4px0%M&Z2&g1{y?|T4UE#%Y0eFXK=aC zZFoJCFmH7jwL|C0nqyQG%NENYD|w&^v-TLCJ}a91ztw7=chKXoNa{HLi1Xk_%z!jg zDLi*<1A`J#;`)*@oM%)(-CoYAO>r)ORTrf0->^w$dg1{MrBS!?wttcZRcNqgwD>rej7eYqRy=F$UoC$Jke^V`}=T zeKcfu57iY5<8mmE+qVK?P!VO^b=XCqEf2S9Kj|ya= z(W_}MfN6viz{Et*Y?#%b$p-4T39+)zzw8zmv*H>c0A&VXUIn21x@s4?Sy>u>Ee_hT zLg0WJ(SFp0B*pqGQa8L-V3c>95B$DCJ3*w)RWSN;pq2&9h$yPQ*${^*GMuGSU^w}^ zuLK;%a{70317Jzu{Ga9+@bS~-KOG?YE4lZ9)&l#V-G3S~zyZgBB0tc~1U{9Z1sVgu zoWTEY391IA+&P@?7@n7Xv0z*qFPOhaYF0 zRu#<@GE?LZ-@8gc-v9G^rlt8M$!&fY=IrT#6n0yXJD4LW2Yx9X1NXr8jtXuTKf8jw zjJ>?xRkXIVzp^~Jm$n~ql8!pOa}9%t5?hE^URD|HDO=m>>F|0O@W~$AxeN0 zQ(IOvfEW8j$m-{|)OeRu?%eO88sM9R<&d_q;h(!lukgEJhh4|hvyHOL%r(ak4;oY; z1r-m1HyuW4M*8EjHT`f6F?wUq__amyIL1B3efFQQg; z_5IbS`iOzQS;-B#)7&nV7Wbv0k*-HU4`$ilCM0YpyWy0 zInOXcNrg7t9(pnh@=Ord;N`X9fv)7ifiTGCk1xB?$Q$+LPs0D3R7#}z$t~q1NWbha zoG!oYY1|a*h|e&&yZ}+xUDxJ@omvWK+ws{J4AO$(EZ8Tk9`ciF|aQIW$DZ*BgZ z^-^=obU<&Lbx1K3gGl=(w6#-}U4lk0EFU?9(i8tNLDipcLxi(f=ZzlOAqG zdUI$ckbe_&=k|`5 zDe@k)9g$AK%zP_O1EED>lJrT|@3NZ@cp|UfCch4|d!uS;@RX5<6YkhyX@Hjh#MCiJ z1o;wO6EB&P=0_=}erBGiWn|-;mY{~@+F6i14rS(s+WE5evo3kxN%QoB;Q1hCm>o7{ ztkc6x@BiTra1staYFeMMblP+ptP&QwT~0KK0^x|NhhGDeYG*EYf$qzGSe_;(F3F|i zErQ>qG~J8x-F&#x1h1x#B{l!RMkNl9mz}O6v!< z6^S0AC_fKs{z7I6q4Q*YSp1qxtAYh)GJ8gh`!z0cJ<_!tz1aN?7aHKy?vV?$MYL=!r`QJp^P zJ7frPPkE|EqHUnwYoWLG8%9au&Khx*A&2i{sgDEP2KB1Y4S`1qZUrU6;=yG}%)Ebih9gY)p)RXFczYb)GN|gv^|HeV((@c1CEm7p%ZCb9q z>$D<%k{zOFCpE>$xTqI25Bxx%@mh1wvY-2WiGBa?zW)63;GuT+6A1sIagf9&g~!YzLifKrKZVm!@#si?HZ{NQNciYBI_U~my?@pHjLuFT z{G50wu+Gb3u8I7Mcz;1FYBh>lU6}70RW(iUeJq31>0oo|ooS3^AJaOobL58$08;^j z_g>%@K3R=;e=;Q^L2RjRi-(CGr3r_qc%M_IHeXiLY?TT+>>TrXmjB5qU+<1Rp+!p; zQr|0)BX;_yZhd0rv@nEW>pfNBr$vl63enhtmWk65KG4+(I#drMpNnU zqckZ1HhN=n{comE^eIF0TuRl8z55Vnj`v!se9+Uc0GYSUJ{nqh1wN6>p&1T+H?36i z;#cE{kdzd0;Zwh-%GOfTX$MSU9jLy`GWg0_HuU`$IZcnYuWS3}*H7YU%_nh~YM$-6 zU@DOSj!TUBf~v?8Af1{yDn7U-jL-PA_6ong-t@E&thBTRlgCahLzvcHEA~BoE~e7` zRGoPQM=3B*@iKSjrnFD6>Y(@LtxT`9<@7g=6y5A z3x_5JYnQXFfUHnJgM&J$#5Xho&6Wo~vu!G#N(&B*Amo3f23|2^Ge67RQH@WjuR;WpuZaU?xo%*q{}Y=YRvkqP{=nBzfe4Y)H#m5k?y)9d9?Z**o*f zIhcx1GN%|&rq(t|3-+E~j->^g4lnF;wL$om&BfnQP@_Wk6rMlj+?%7H=*M~RnQCC( zhwsMC#5{FN$vecZjpbLN;dENcg++ascmwKIl`kXe7%F4cJz880DpdekvGVf4iu|9~ z;jYiGCIo6zo7J7lR22NmNiB0)IS$)x-;?ddtVoNN3!CNZIRi-=jJ^Zvyy{|{zLWh& z@qzPx&vbhjW_8{*)bNs+fK7 zgyOP-@=!3V_oEv;mnHWVM&5=_m-<&rK=kbo{E{=LAB(*=fACAXeM&y|{-BNcmF$`a zs1oDYKZ+YRxDwtFEmP-hyDOxX6=K9R?+4pR*`Ga0d)gUFo@q7}n966|RQlbzY^eKD znEn;EWpR~>gAYqmcJ-fLq7ePIe^in>`TS+zi8~q+ub)16cT%8uwXU!)99*Lrn@`=c z=3_SO-FUChpeWVUc-hqC^TwuG=7vMpw=IP=8$zux=Uw$u%`$M*wpiJ(ccvzo*(9e2 zz>?OXN(j%=uHN3%8O7=S6v)-nPs)&~EZGL=<%!RwGRB|U-K`tINMp6UF5WoWU@aVN zqI@*X-F>}o-bfbWrBN-7hRb=R$-Wg|#6{78+!?5C@AlBPjsl17hA2V;xb5d1qOBt9 zd%q7z@V^++Fzn1>?Vw;5Y%5R&BBna1>auNg7R{05U?r}rNyZchx zY1!0`eZ>tUa?SV2cum!x`qvAB7WTwJVw>7-y|}|c1@FV)(y;fbi|4(#@k7RT70k<2 z(hhiLxe9#{)xYzG7)m`H_UlR`dx|&+E|zlZYqU7#Ng2zj0_4hOKRwAR z*vt1us#aenGdU~DdvljjqS);=ox?L9H=C~FH&8ckWPgAa!Q5;sss61EpKFK#ES
20OTN_c`;v;BWYp;b4a%bS4 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