From 5b3564f18ad2b66902aed7b950ce37db8f193d93 Mon Sep 17 00:00:00 2001 From: 0xOsiris Date: Wed, 30 Oct 2024 15:39:30 -0700 Subject: [PATCH 01/14] update docs --- .../docs/{PbhEnvelope.md => Envelope.md} | 0 world-chain-builder/docs/Network.md | 22 +++++++++++++++++++ world-chain-builder/docs/README.md | 20 +++++++++++++++++ 3 files changed, 42 insertions(+) rename world-chain-builder/docs/{PbhEnvelope.md => Envelope.md} (100%) create mode 100644 world-chain-builder/docs/Network.md create mode 100644 world-chain-builder/docs/README.md diff --git a/world-chain-builder/docs/PbhEnvelope.md b/world-chain-builder/docs/Envelope.md similarity index 100% rename from world-chain-builder/docs/PbhEnvelope.md rename to world-chain-builder/docs/Envelope.md diff --git a/world-chain-builder/docs/Network.md b/world-chain-builder/docs/Network.md new file mode 100644 index 0000000..2918a02 --- /dev/null +++ b/world-chain-builder/docs/Network.md @@ -0,0 +1,22 @@ +## Netowrk +World Chain is a [Optimistic Rollup](https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/) on Ethereum. World Chain functions at the Consensus layer identically to that of Optimism, and other optimistic rollups. But differs at the execution layer in a couple ways. + +In a traditional Optimistic Rollup the _Sequencer_ acts as the sole participant that proposes new blocks. + +On World Chain we have two possible block proposers: + +1. `world-chain-builder` - Custom Ordering Policy +2. _sequencer_ - An `op-geth` client constructing blocks with a canonical ordering policy. + +The `world-chain-builder` is the favored proposer in the network. Meaning if the builder produces a valid block the builders block will always be accepted by the network over the sequencers block. + +The sequencer has two jobs: + +1. Validate the Block Proposed by the Builder. +2. A fallback such that if the builder produces an invalid payload, times out, or otherwise - The chain still moves forward. + +Two proposers on the network sequencing blocks is made possible by utilizing an [engine api](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md) proxy server multiplexing engine api calls from the consensus layer to both the _sequencer_, and the builder in parallel. We currently use [rollup-boost](https://github.com/flashbots/rollup-boost/tree/main) for this purpose. + +For a deep dive into rollup-boost checkout the [design spec](https://github.com/ethereum-optimism/design-docs/blob/main/protocol/external-block-production.md). + + diff --git a/world-chain-builder/docs/README.md b/world-chain-builder/docs/README.md new file mode 100644 index 0000000..059ad8e --- /dev/null +++ b/world-chain-builder/docs/README.md @@ -0,0 +1,20 @@ +## World Chain Builder + +This document is intended to outline at a high level the lifecycle of a PBH Transaction within the `world-chain-builder` as well as the different components involved that make PBH possible within a optimistic rollup. + +### Overview + +The `world-chain-builder` is a custom block builder integrated with [world-id](https://world.org/world-id) which implements _Priority Blockspace for Humans (PBH)_. + +The builder defines a custom transaction envelope for PBH transactions while retaining backwards compatibility with standard [EIP 2718 transaction envelope](https://eips.ethereum.org/EIPS/eip-2718). This customn transaction envelope holds a [world-id](https://world.org/world-id) semaphore proof allowing the builder to verify _proof of personhood_ associated with the transaction. + +A detailed outline of the PBH transaction envelope can be found [here](PbhEnvelope.md). + +This custom transaction envelope enables a custom ordering policy during block construction that disjoins the fee markets between orb verified humans, and all other transactions on the network. This significantly mitigates the negative extranalities of Mev, and optimizes time of inclusion for verified humans on world-chain. + +### Appendix +[World Chain Network](Network.md) + +[PBH Transaction Envelope](Envelope.md) + +[Creating Human Verified Transactions](../crates/toolkit/README.md) From 741e95cc7c2b8e6b243faa7e590b0236face47dc Mon Sep 17 00:00:00 2001 From: 0xOsiris Date: Wed, 30 Oct 2024 16:01:43 -0700 Subject: [PATCH 02/14] add transaction lifecycle --- world-chain-builder/docs/README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/world-chain-builder/docs/README.md b/world-chain-builder/docs/README.md index 059ad8e..c05b635 100644 --- a/world-chain-builder/docs/README.md +++ b/world-chain-builder/docs/README.md @@ -10,11 +10,18 @@ The builder defines a custom transaction envelope for PBH transactions while ret A detailed outline of the PBH transaction envelope can be found [here](PbhEnvelope.md). -This custom transaction envelope enables a custom ordering policy during block construction that disjoins the fee markets between orb verified humans, and all other transactions on the network. This significantly mitigates the negative extranalities of Mev, and optimizes time of inclusion for verified humans on world-chain. +This custom transaction envelope enables a custom ordering policy during block construction that disjoins the fee markets between orb verified humans, and all other transactions on the network. This significantly mitigates the negative extranalities of Mev, and optimizes time to inclusion for verified humans on world-chain. -### Appendix -[World Chain Network](Network.md) +### PBH Transaction Lifecycle + +Because a PBH transaction has a custom transaction envelope this means that a PBH transaction may only be sent to the `world-chain-builder`. Further the transaction will not be peered by the builder to the _sequencer_, or any other clients on the network. + +The `world-chain-builder` implements a custom [WorldChainEthApi](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/rpc/mod.rs#L52) that allows it to recieve PBH transaction envelopes over RPC through an `eth_sendRawTransaction` request. If a semaphore proof is attached to the transaction the [WorldChainTransactionValidator](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/pool/validator.rs#L37) will first validate the integrity of the proof, and if valid insert the transaction into the transaction pool with an associated bool indicating the pooled transaction is human verified. -[PBH Transaction Envelope](Envelope.md) +For a detailed look at the custom transaction envelope, and validation rules see [PBH Transaction Envelope](Envelope.md). + + +### Additional References +[World Chain Network](Network.md) [Creating Human Verified Transactions](../crates/toolkit/README.md) From 84cc7d2d6df5768e1252f83b65901a4ee338d7a3 Mon Sep 17 00:00:00 2001 From: 0xOsiris Date: Wed, 30 Oct 2024 16:06:42 -0700 Subject: [PATCH 03/14] fix typos --- world-chain-builder/docs/Envelope.md | 8 -------- world-chain-builder/docs/Network.md | 4 ++-- world-chain-builder/docs/README.md | 6 ++---- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/world-chain-builder/docs/Envelope.md b/world-chain-builder/docs/Envelope.md index c6b3e8e..d044b90 100644 --- a/world-chain-builder/docs/Envelope.md +++ b/world-chain-builder/docs/Envelope.md @@ -72,12 +72,4 @@ PBH Nonce: `u16`: Additional Considerations: If a root has not yet been synchronized with l1. There is a window in which a valid proof will be seen as invalid in the transaction validator. A robust approach would be to read the root on l2, and assert it matches the root on l1 prior to sending the transaction to prevent a transaction validation error response. -### **Builder API** -The custom PBH transaction envelope must be sent to the builder’s public rpc through a `eth_sendRawTransaction` JSON RPC request. - -Additional References: - -[**Building a Raw PBH Transaction Envelope from ORB Sequencer Reference**](https://github.com/worldcoin/world-chain/blob/8d60a1e79dbb3be68db075d49b3d0a8a67e45b3e/world-chain-builder/crates/toolkit/README.md) - -[**Sending a Raw PBH Transaction to the Builder Reference:**](ttps://github.com/worldcoin/world-chain/blob/8d60a1e79dbb3be68db075d49b3d0a8a67e45b3e/world-chain-builder/crates/assertor/src/main.rs#L119) diff --git a/world-chain-builder/docs/Network.md b/world-chain-builder/docs/Network.md index 2918a02..fea446f 100644 --- a/world-chain-builder/docs/Network.md +++ b/world-chain-builder/docs/Network.md @@ -12,8 +12,8 @@ The `world-chain-builder` is the favored proposer in the network. Meaning if the The sequencer has two jobs: -1. Validate the Block Proposed by the Builder. -2. A fallback such that if the builder produces an invalid payload, times out, or otherwise - The chain still moves forward. +1. Attest to the integrity of the Block Proposed by the Builder. +2. Fallback such that if the builder produces an invalid payload, times out, or otherwise - The chain still moves forward. Two proposers on the network sequencing blocks is made possible by utilizing an [engine api](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md) proxy server multiplexing engine api calls from the consensus layer to both the _sequencer_, and the builder in parallel. We currently use [rollup-boost](https://github.com/flashbots/rollup-boost/tree/main) for this purpose. diff --git a/world-chain-builder/docs/README.md b/world-chain-builder/docs/README.md index c05b635..31c8783 100644 --- a/world-chain-builder/docs/README.md +++ b/world-chain-builder/docs/README.md @@ -4,9 +4,7 @@ This document is intended to outline at a high level the lifecycle of a PBH Tran ### Overview -The `world-chain-builder` is a custom block builder integrated with [world-id](https://world.org/world-id) which implements _Priority Blockspace for Humans (PBH)_. - -The builder defines a custom transaction envelope for PBH transactions while retaining backwards compatibility with standard [EIP 2718 transaction envelope](https://eips.ethereum.org/EIPS/eip-2718). This customn transaction envelope holds a [world-id](https://world.org/world-id) semaphore proof allowing the builder to verify _proof of personhood_ associated with the transaction. +The `world-chain-builder` is a custom block builder integrated with [world-id](https://world.org/world-id) which implements _Priority Blockspace for Humans (PBH)_. The builder defines a custom transaction envelope for PBH transactions while retaining backwards compatibility with standard [EIP 2718 transaction envelope](https://eips.ethereum.org/EIPS/eip-2718). This customn transaction envelope holds a [world-id](https://world.org/world-id) semaphore proof allowing the builder to verify _proof of personhood_ associated with the transaction. A detailed outline of the PBH transaction envelope can be found [here](PbhEnvelope.md). @@ -22,6 +20,6 @@ For a detailed look at the custom transaction envelope, and validation rules see ### Additional References -[World Chain Network](Network.md) +[Network Overview](Network.md) [Creating Human Verified Transactions](../crates/toolkit/README.md) From 365eda9a67541809dffe0b9e31cb83d341e2719f Mon Sep 17 00:00:00 2001 From: 0xOsiris Date: Wed, 30 Oct 2024 16:30:18 -0700 Subject: [PATCH 04/14] consolidate docs --- devnet/Dockerfile.rollup-boost | 2 +- world-chain-builder/docs/Envelope.md | 75 ------------------------ world-chain-builder/docs/Network.md | 22 ------- world-chain-builder/docs/README.md | 86 ++++++++++++++++++++++++++-- 4 files changed, 83 insertions(+), 102 deletions(-) delete mode 100644 world-chain-builder/docs/Envelope.md delete mode 100644 world-chain-builder/docs/Network.md diff --git a/devnet/Dockerfile.rollup-boost b/devnet/Dockerfile.rollup-boost index a9e6314..4f43c8f 100644 --- a/devnet/Dockerfile.rollup-boost +++ b/devnet/Dockerfile.rollup-boost @@ -1,5 +1,5 @@ # Use the official Rust image for building -FROM rust:1.81 AS builder +FROM rust:1.82 AS builder # Set the working directory inside the container WORKDIR /app diff --git a/world-chain-builder/docs/Envelope.md b/world-chain-builder/docs/Envelope.md deleted file mode 100644 index d044b90..0000000 --- a/world-chain-builder/docs/Envelope.md +++ /dev/null @@ -1,75 +0,0 @@ -# World Chain Builder API Spec - -### **Transaction Envelope** - -The PBH transaction envelope consists of an EIP 2718 RLP encoded transaction envelope concatenated with the RLP encoded `PbhPayload` - -References: -- [Pbh Payload](https://github.com/worldcoin/world-chain/blob/8d60a1e79dbb3be68db075d49b3d0a8a67e45b3e/world-chain-builder/src/pbh/payload.rs#L50) -- [Pooled Transaction](https://github.com/worldcoin/world-chain/blob/8d60a1e79dbb3be68db075d49b3d0a8a67e45b3e/world-chain-builder/src/primitives.rs#L14) - -```rust -#[derive(Clone, Debug, PartialEq, Eq)] -pub struct WorldChainPooledTransactionsElement { - pub inner: PooledTransactionsElement, - pub pbh_payload: Option, -} - -/// The payload of a PBH transaction -/// -/// Contains the semaphore proof and relevent metadata -/// required to to verify the pbh transaction. -#[derive(Clone, Debug, RlpEncodable, RlpDecodable, PartialEq, Eq, Default)] -pub struct PbhPayload { - /// A string containing a prefix, the date marker, and the pbh nonce - pub external_nullifier: String, - /// A nullifier hash used to keep track of - /// previously used pbh transactions - pub nullifier_hash: Field, - /// The root of the merkle tree for which this proof - /// was generated - pub root: Field, - /// The actual semaphore proof verifying that the sender - /// is included in the set of orb verified users - pub proof: Proof, -} - -#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)] -pub struct Proof(pub semaphore::protocol::Proof); - -// Raw Transaction Envelope encoding -impl WorldChainPooledTransactionsElement { - pub fn encode_enveloped(&self, out: &mut dyn alloy_rlp::BufMut) { - self.inner.encode_enveloped(out); - if let Some(pbh_payload) = &self.pbh_payload { - pbh_payload.encode(out); - } - } -} - -``` - -**External Nullifier** - -Schema: `vv-mmyyyy-nn` - -Version Prefix: `v1` -> Validation: Version matches current version. - -Date: `01-2025` -> Validation: Month/Year matches current Month Year - -PBH Nonce: `u16`: -> Validation: PBH Nonce must be ≤ 30 by default. It is used to rate limit the amount of PBH transactions that can be sent in any given month. This value should reset at the beginning of each month monotonically increasing from 0→ `num_pbh_txs` . Any nonce > `num_pbh_txs` set on launch of the builder will be invalidated and not be inserted into the transaction pool. - -**Nullifier Hash** - -> Validation: Must be unique at the time of transaction validation. - -**Root** - -> Validation: Must be identical to the `latestRoot` in storage of the `OpWorldId` contract on L2. - -Additional Considerations: If a root has not yet been synchronized with l1. There is a window in which a valid proof will be seen as invalid in the transaction validator. A robust approach would be to read the root on l2, and assert it matches the root on l1 prior to sending the transaction to prevent a transaction validation error response. - - diff --git a/world-chain-builder/docs/Network.md b/world-chain-builder/docs/Network.md deleted file mode 100644 index fea446f..0000000 --- a/world-chain-builder/docs/Network.md +++ /dev/null @@ -1,22 +0,0 @@ -## Netowrk -World Chain is a [Optimistic Rollup](https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/) on Ethereum. World Chain functions at the Consensus layer identically to that of Optimism, and other optimistic rollups. But differs at the execution layer in a couple ways. - -In a traditional Optimistic Rollup the _Sequencer_ acts as the sole participant that proposes new blocks. - -On World Chain we have two possible block proposers: - -1. `world-chain-builder` - Custom Ordering Policy -2. _sequencer_ - An `op-geth` client constructing blocks with a canonical ordering policy. - -The `world-chain-builder` is the favored proposer in the network. Meaning if the builder produces a valid block the builders block will always be accepted by the network over the sequencers block. - -The sequencer has two jobs: - -1. Attest to the integrity of the Block Proposed by the Builder. -2. Fallback such that if the builder produces an invalid payload, times out, or otherwise - The chain still moves forward. - -Two proposers on the network sequencing blocks is made possible by utilizing an [engine api](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md) proxy server multiplexing engine api calls from the consensus layer to both the _sequencer_, and the builder in parallel. We currently use [rollup-boost](https://github.com/flashbots/rollup-boost/tree/main) for this purpose. - -For a deep dive into rollup-boost checkout the [design spec](https://github.com/ethereum-optimism/design-docs/blob/main/protocol/external-block-production.md). - - diff --git a/world-chain-builder/docs/README.md b/world-chain-builder/docs/README.md index 31c8783..8d96e09 100644 --- a/world-chain-builder/docs/README.md +++ b/world-chain-builder/docs/README.md @@ -6,20 +6,98 @@ This document is intended to outline at a high level the lifecycle of a PBH Tran The `world-chain-builder` is a custom block builder integrated with [world-id](https://world.org/world-id) which implements _Priority Blockspace for Humans (PBH)_. The builder defines a custom transaction envelope for PBH transactions while retaining backwards compatibility with standard [EIP 2718 transaction envelope](https://eips.ethereum.org/EIPS/eip-2718). This customn transaction envelope holds a [world-id](https://world.org/world-id) semaphore proof allowing the builder to verify _proof of personhood_ associated with the transaction. -A detailed outline of the PBH transaction envelope can be found [here](PbhEnvelope.md). - This custom transaction envelope enables a custom ordering policy during block construction that disjoins the fee markets between orb verified humans, and all other transactions on the network. This significantly mitigates the negative extranalities of Mev, and optimizes time to inclusion for verified humans on world-chain. +### PBH Envelope +The PBH transaction envelope consists of an EIP 2718 RLP encoded transaction envelope concatenated with the RLP encoded `PbhPayload` + +See +- [Pbh Payload](https://github.com/worldcoin/world-chain/blob/8d60a1e79dbb3be68db075d49b3d0a8a67e45b3e/world-chain-builder/src/pbh/payload.rs#L50) + +- [Pooled Transaction](https://github.com/worldcoin/world-chain/blob/8d60a1e79dbb3be68db075d49b3d0a8a67e45b3e/world-chain-builder/src/primitives.rs#L14) + +```rust +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct WorldChainPooledTransactionsElement { + pub inner: PooledTransactionsElement, + pub pbh_payload: Option, +} + +/// The payload of a PBH transaction +/// +/// Contains the semaphore proof and relevent metadata +/// required to to verify the pbh transaction. +#[derive(Clone, Debug, RlpEncodable, RlpDecodable, PartialEq, Eq, Default)] +pub struct PbhPayload { + /// A string containing a prefix, the date marker, and the pbh nonce + pub external_nullifier: String, + /// A nullifier hash used to keep track of + /// previously used pbh transactions + pub nullifier_hash: Field, + /// The root of the merkle tree for which this proof + /// was generated + pub root: Field, + /// The actual semaphore proof verifying that the sender + /// is included in the set of orb verified users + pub proof: Proof, +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)] +pub struct Proof(pub semaphore::protocol::Proof); + +``` + +**External Nullifier** + +Schema: `vv-mmyyyy-nn` + +Version Prefix: `vv` +> Validation: Version matches current version. + +Date: `mmyyyy` +> Validation: Month/Year matches current Month Year + +PBH Nonce: `nn`: `u16` +> Validation: PBH Nonce must be ≤ 30 by default. It is used to rate limit the amount of PBH transactions that can be sent in any given month. This value should reset at the beginning of each month monotonically increasing from 0→ `num_pbh_txs` . Any nonce > `num_pbh_txs` set on launch of the builder will be invalidated and not be inserted into the transaction pool. + +**Nullifier Hash** + +> Validation: Must be unique at the time of transaction validation. + +**Root** + +> Validation: Must be identical to the `latestRoot` in storage of the `OpWorldId` contract on L2. + +Additional Considerations: If a root has not yet been synchronized with l1. There is a window in which a valid proof will be seen as invalid in the transaction validator. A robust approach would be to read the root on l2, and assert it matches the root on l1 prior to sending the transaction to prevent a transaction validation error response. + ### PBH Transaction Lifecycle Because a PBH transaction has a custom transaction envelope this means that a PBH transaction may only be sent to the `world-chain-builder`. Further the transaction will not be peered by the builder to the _sequencer_, or any other clients on the network. The `world-chain-builder` implements a custom [WorldChainEthApi](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/rpc/mod.rs#L52) that allows it to recieve PBH transaction envelopes over RPC through an `eth_sendRawTransaction` request. If a semaphore proof is attached to the transaction the [WorldChainTransactionValidator](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/pool/validator.rs#L37) will first validate the integrity of the proof, and if valid insert the transaction into the transaction pool with an associated bool indicating the pooled transaction is human verified. -For a detailed look at the custom transaction envelope, and validation rules see [PBH Transaction Envelope](Envelope.md). +### Netowrk +World Chain is a [Optimistic Rollup](https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/) on Ethereum. World Chain functions at the Consensus layer identically to that of Optimism, and other optimistic rollups. But differs at the execution layer in a couple ways. + +In a traditional Optimistic Rollup the _Sequencer_ acts as the sole participant that proposes new blocks. + +On World Chain we have two possible block proposers: + +1. `world-chain-builder` - Custom Ordering Policy +2. _sequencer_ - An `op-geth` client constructing blocks with a canonical ordering policy. + +The `world-chain-builder` is the favored proposer in the network. Meaning if the builder produces a valid block the builders block will always be accepted by the network over the sequencers block. + +The sequencer has two jobs: + +1. Attest to the integrity of the Block Proposed by the Builder. +2. Fallback such that if the builder produces an invalid payload, times out, or otherwise - The chain still moves forward. + +Two proposers on the network sequencing blocks is made possible by utilizing an [engine api](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md) proxy server multiplexing engine api calls from the consensus layer to both the _sequencer_, and the builder in parallel. We currently use [rollup-boost](https://github.com/flashbots/rollup-boost/tree/main) for this purpose. + +For a deep dive into rollup-boost checkout the [design spec](https://github.com/ethereum-optimism/design-docs/blob/main/protocol/external-block-production.md). ### Additional References -[Network Overview](Network.md) [Creating Human Verified Transactions](../crates/toolkit/README.md) From 9728b006f1b4b713adb114faf366d7e882f998ec Mon Sep 17 00:00:00 2001 From: 0xOsiris Date: Wed, 30 Oct 2024 16:56:57 -0700 Subject: [PATCH 05/14] chore: document block space partitioning --- world-chain-builder/docs/README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/world-chain-builder/docs/README.md b/world-chain-builder/docs/README.md index 8d96e09..5a689da 100644 --- a/world-chain-builder/docs/README.md +++ b/world-chain-builder/docs/README.md @@ -13,7 +13,6 @@ The PBH transaction envelope consists of an EIP 2718 RLP encoded transaction env See - [Pbh Payload](https://github.com/worldcoin/world-chain/blob/8d60a1e79dbb3be68db075d49b3d0a8a67e45b3e/world-chain-builder/src/pbh/payload.rs#L50) - - [Pooled Transaction](https://github.com/worldcoin/world-chain/blob/8d60a1e79dbb3be68db075d49b3d0a8a67e45b3e/world-chain-builder/src/primitives.rs#L14) ```rust @@ -52,21 +51,19 @@ pub struct Proof(pub semaphore::protocol::Proof); Schema: `vv-mmyyyy-nn` Version Prefix: `vv` -> Validation: Version matches current version. +- Validation: Version matches current version. Date: `mmyyyy` -> Validation: Month/Year matches current Month Year +- Validation: Month/Year matches current Month Year PBH Nonce: `nn`: `u16` -> Validation: PBH Nonce must be ≤ 30 by default. It is used to rate limit the amount of PBH transactions that can be sent in any given month. This value should reset at the beginning of each month monotonically increasing from 0→ `num_pbh_txs` . Any nonce > `num_pbh_txs` set on launch of the builder will be invalidated and not be inserted into the transaction pool. +- Validation: PBH Nonce must be ≤ 30 by default. It is used to rate limit the amount of PBH transactions that can be sent in any given month. This value should reset at the beginning of each month monotonically increasing from 0→ `num_pbh_txs` . Any nonce > `num_pbh_txs` set on launch of the builder will be invalidated and not be inserted into the transaction pool. **Nullifier Hash** - -> Validation: Must be unique at the time of transaction validation. +- Validation: Must be unique at the time of transaction validation. **Root** - -> Validation: Must be identical to the `latestRoot` in storage of the `OpWorldId` contract on L2. +- Validation: Must be identical to the `latestRoot` in storage of the `OpWorldId` contract on L2. Additional Considerations: If a root has not yet been synchronized with l1. There is a window in which a valid proof will be seen as invalid in the transaction validator. A robust approach would be to read the root on l2, and assert it matches the root on l1 prior to sending the transaction to prevent a transaction validation error response. @@ -76,6 +73,9 @@ Because a PBH transaction has a custom transaction envelope this means that a PB The `world-chain-builder` implements a custom [WorldChainEthApi](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/rpc/mod.rs#L52) that allows it to recieve PBH transaction envelopes over RPC through an `eth_sendRawTransaction` request. If a semaphore proof is attached to the transaction the [WorldChainTransactionValidator](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/pool/validator.rs#L37) will first validate the integrity of the proof, and if valid insert the transaction into the transaction pool with an associated bool indicating the pooled transaction is human verified. +The transaction pool implements a custom [ordering policy](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/pool/ordering.rs#L10) which guarantees top of block priority for verified human transactions. + +A percentage of the block space is reserved for pbh transactions as defined by `verified_blockspace_capacity`. This value represents the maximum percentage of the block gas limit that will be dedicated to human verified transactions. If the amount of pbh transactions does not meet the threshold of reserved block space then non-verified transactions will fill this reserved block space. `100 - verified_blockspace_capacity` is the percentage of the block space always dedicated to non-verified transactions. ### Netowrk World Chain is a [Optimistic Rollup](https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/) on Ethereum. World Chain functions at the Consensus layer identically to that of Optimism, and other optimistic rollups. But differs at the execution layer in a couple ways. From fb957c8e78219fdec36432d3715facaa9069f1c0 Mon Sep 17 00:00:00 2001 From: 0xKitsune <0xkitsune@protonmail.com> Date: Thu, 31 Oct 2024 13:35:02 -0400 Subject: [PATCH 06/14] update lifecycle of tx --- README.md | 2 - world-chain-builder/docs/pbh_tx_lifecycle.md | 46 ++++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 world-chain-builder/docs/pbh_tx_lifecycle.md diff --git a/README.md b/README.md index 30cddcd..3fa2cf8 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,6 @@ The WorldChain Builder is a custom block builder for the OP Stack that provides ## PBH Transaction Envelope The builder introduces a new EIP-2718 RLP encoded transaction envelope including a [Pbh Payload](https://github.com/worldcoin/world-chain/blob/8d60a1e79dbb3be68db075d49b3d0a8a67e45b3e/world-chain-builder/src/pbh/payload.rs#L50), which contains a World ID proof, proving the transaction was created by a verified human. -```rust - ```rust #[derive(Clone, Debug, PartialEq, Eq)] pub struct WorldChainPooledTransactionsElement { diff --git a/world-chain-builder/docs/pbh_tx_lifecycle.md b/world-chain-builder/docs/pbh_tx_lifecycle.md new file mode 100644 index 0000000..530657f --- /dev/null +++ b/world-chain-builder/docs/pbh_tx_lifecycle.md @@ -0,0 +1,46 @@ +# Lifecycle of a PBH Transaction + +The WorldChain Builder is a custom block builder for the OP Stack that provides Priority Blockspace for Humans (PBH). PBH enables verified World ID users to execute transactions with top of block priority, enabling a more frictionless user experience. This mechanism is designed to ensure that ordinary users aren’t unfairly disadvantaged by automated systems and greatly mitigates the impact of negative impacts of MEV. PBH also enables future flexibility, allowing for a separate EIP-1559-style fee market mechanism for verified transactions. + +The builder introduces a new EIP-2718 RLP encoded transaction envelope including the necessary data to verify the transaction was created by a valid World ID user. To get a deeper understanding of PBH, lets walk through the life cycle of a transaction. + + +## Creating a PBH transaction + +The contents of the PBH transaction envelope simply consists of an [Ethereum typed transaction ](https://eips.ethereum.org/EIPS/eip-2718) and optional semaphore proof, verifying the sender is verified World ID user. In order to create a PBH transaction envelope, first generate an [Ethereum transaction](https://ethereum.org/en/developers/docs/transactions/). + +Next, [create a World ID proof](), **setting the `signal` to the transaction hash of the tx you are verifying**, and set the `externalNullifier` to the following schema `vv-mmyyyy-nn` where: + +- **Version Prefix (vv)**: Indicates the version of the external nullifier schema This should be set to `0`. +- **Date (mmyyyy)**: Indicates the current month and year. +- **PBH Nonce (nn)**: A `u16` value used to rate-limit PBH transactions. + +Upon receiving the PBH transaction envelope, the World Chain Builder first validates the inner Ethereum transaction and then verifies the PBH payload. The builder enforces a transaction limit for each verified user that resets every month, tracked by the PBH nonce specified in the `externalNullifier`. The user creating the PBH envelope must track the nonces used, however nonces can be specified in any order. For example, a user could send a PBH transaction envelope with a PBH nonce of `16`, followed by a PBH nonce of `10` and so on. Transaction validation will be covered further in a later section. + +Below is a quick look at the `PbhTxEnvelope` in its entirety. + +``` +PbhTxEnvelope = { Tx, PbhPayload } +PbhPayload = { externalNullifier, nullifierHash, root, proof } +``` +- `Tx`: Any valid Ethereum typed transaction. +- `externalNullifier`: Unique identifier used to ensure the uniqueness and proper sequencing of PBH transactions formatted as: `vv-mmyyyy-nn`. + +- `nullifierHash`: Hash of the identity nullifier and the external nullifier; used to prevent double-signaling. You can read more [about the nullifier and external nullifier here](https://docs.world.org/world-id/further-reading/protocol-internals#external-nullifier). + +- `root`: Root of the [Merkle tree representing the identity set](https://docs.world.org/world-id/further-reading/protocol-internals#signup-sequencer). This is the root used when creating the inclusion proof necessary to create a semaphore ZK proof. + +- `proof`: The semaphore proof verifying that the sender is a member of the identity set. + + +## Sending the transaction to the Builder + + +## Transaction Validation +// NOTE: PBH transactions are not gossiped or forwarded to the sequencer. All normal transactions are forwarded though + + +## Transaction Priority and Block Production + +// NOTE: mention max gas % + From 9d87fc80d1a09eb00087be7d3b90410c87aa1ddb Mon Sep 17 00:00:00 2001 From: 0xKitsune <0xkitsune@protonmail.com> Date: Thu, 31 Oct 2024 13:45:31 -0400 Subject: [PATCH 07/14] send tx to the builder --- world-chain-builder/docs/pbh_tx_lifecycle.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/world-chain-builder/docs/pbh_tx_lifecycle.md b/world-chain-builder/docs/pbh_tx_lifecycle.md index 530657f..d978e2e 100644 --- a/world-chain-builder/docs/pbh_tx_lifecycle.md +++ b/world-chain-builder/docs/pbh_tx_lifecycle.md @@ -2,12 +2,12 @@ The WorldChain Builder is a custom block builder for the OP Stack that provides Priority Blockspace for Humans (PBH). PBH enables verified World ID users to execute transactions with top of block priority, enabling a more frictionless user experience. This mechanism is designed to ensure that ordinary users aren’t unfairly disadvantaged by automated systems and greatly mitigates the impact of negative impacts of MEV. PBH also enables future flexibility, allowing for a separate EIP-1559-style fee market mechanism for verified transactions. -The builder introduces a new EIP-2718 RLP encoded transaction envelope including the necessary data to verify the transaction was created by a valid World ID user. To get a deeper understanding of PBH, lets walk through the life cycle of a transaction. +The builder introduces a new [EIP-2718 RLP encoded transaction envelope](https://eips.ethereum.org/EIPS/eip-2718) including the necessary data to verify the transaction was created by a valid World ID user. To get a deeper understanding of PBH, lets walk through the life cycle of a transaction. ## Creating a PBH transaction -The contents of the PBH transaction envelope simply consists of an [Ethereum typed transaction ](https://eips.ethereum.org/EIPS/eip-2718) and optional semaphore proof, verifying the sender is verified World ID user. In order to create a PBH transaction envelope, first generate an [Ethereum transaction](https://ethereum.org/en/developers/docs/transactions/). +The contents of the PBH transaction envelope simply consists of an [Ethereum typed transaction ](https://eips.ethereum.org/EIPS/eip-2718) and optional semaphore proof, ensuring that the sender is verified World ID user. In order to create a PBH transaction envelope, first generate an [Ethereum transaction](https://ethereum.org/en/developers/docs/transactions/). Next, [create a World ID proof](), **setting the `signal` to the transaction hash of the tx you are verifying**, and set the `externalNullifier` to the following schema `vv-mmyyyy-nn` where: @@ -15,7 +15,7 @@ Next, [create a World ID proof](), **setting the `signal` to the transaction has - **Date (mmyyyy)**: Indicates the current month and year. - **PBH Nonce (nn)**: A `u16` value used to rate-limit PBH transactions. -Upon receiving the PBH transaction envelope, the World Chain Builder first validates the inner Ethereum transaction and then verifies the PBH payload. The builder enforces a transaction limit for each verified user that resets every month, tracked by the PBH nonce specified in the `externalNullifier`. The user creating the PBH envelope must track the nonces used, however nonces can be specified in any order. For example, a user could send a PBH transaction envelope with a PBH nonce of `16`, followed by a PBH nonce of `10` and so on. Transaction validation will be covered further in a later section. +Upon receiving the PBH transaction envelope, the World Chain Builder first validates the inner Ethereum transaction and then verifies the PBH payload. The builder enforces a transaction limit for each verified user that resets every month (eg. 50 txs per month), tracked by the PBH nonce specified in the `externalNullifier`. The user creating the PBH envelope must track which nonces they have used, however nonces can be specified in any order. For example, a user could send a PBH tx envelope with a PBH nonce of `16`, followed by a PBH nonce of `10` and so on. Additional transaction validation will be covered further in a later section. Below is a quick look at the `PbhTxEnvelope` in its entirety. @@ -24,7 +24,7 @@ PbhTxEnvelope = { Tx, PbhPayload } PbhPayload = { externalNullifier, nullifierHash, root, proof } ``` - `Tx`: Any valid Ethereum typed transaction. -- `externalNullifier`: Unique identifier used to ensure the uniqueness and proper sequencing of PBH transactions formatted as: `vv-mmyyyy-nn`. +- `externalNullifier`: String identifier used to ensure the uniqueness and proper sequencing of PBH transactions formatted as: `vv-mmyyyy-nn`. - `nullifierHash`: Hash of the identity nullifier and the external nullifier; used to prevent double-signaling. You can read more [about the nullifier and external nullifier here](https://docs.world.org/world-id/further-reading/protocol-internals#external-nullifier). @@ -35,6 +35,16 @@ PbhPayload = { externalNullifier, nullifierHash, root, proof } ## Sending the transaction to the Builder +Since the PBH tx envelope is a valid [EIP-2718 Typed Transaction Envelope](https://eips.ethereum.org/EIPS/eip-2718), it can be sent to the builder via the `eth_sendRawTransaction` endpoint, just like any other node that implements the Engine API. + +```bash +curl -X POST \ + -H "Content-Type: application/json" \ + -d "{\"jsonrpc\":\"2.0\",\"method\":\"eth_sendRawTransaction\",\"params\":[\"$PBH_TX_BYTES\"],\"id\":480}" \ + $BUILDER_ENDPOINT +``` + + ## Transaction Validation // NOTE: PBH transactions are not gossiped or forwarded to the sequencer. All normal transactions are forwarded though From 3a0e9cdc1b6f8727217d2332b557666d78af467c Mon Sep 17 00:00:00 2001 From: 0xKitsune <0xkitsune@protonmail.com> Date: Thu, 31 Oct 2024 13:52:49 -0400 Subject: [PATCH 08/14] add readme links --- README.md | 76 ++----------------------------------------------------- 1 file changed, 2 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index 3fa2cf8..a8ddefe 100644 --- a/README.md +++ b/README.md @@ -2,82 +2,10 @@ The WorldChain Builder is a custom block builder for the OP Stack that provides Priority Blockspace for Humans (PBH). PBH enables verified World ID users to execute transactions with top of block priority, enabling a more frictionless user experience. This mechanism is designed to ensure that ordinary users aren’t unfairly disadvantaged by automated systems and greatly mitigates the impact of negative impacts of MEV. PBH also enables future flexibility, allowing for a separate EIP-1559-style fee market mechanism for verified transactions. - -## PBH Transaction Envelope -The builder introduces a new EIP-2718 RLP encoded transaction envelope including a [Pbh Payload](https://github.com/worldcoin/world-chain/blob/8d60a1e79dbb3be68db075d49b3d0a8a67e45b3e/world-chain-builder/src/pbh/payload.rs#L50), which contains a World ID proof, proving the transaction was created by a verified human. - -```rust -#[derive(Clone, Debug, PartialEq, Eq)] -pub struct WorldChainPooledTransactionsElement { - pub inner: PooledTransactionsElement, - pub pbh_payload: Option, -} - -/// The payload of a PBH transaction -/// -/// Contains the semaphore proof and relevent metadata -/// required to to verify the pbh transaction. -#[derive(Clone, Debug, RlpEncodable, RlpDecodable, PartialEq, Eq, Default)] -pub struct PbhPayload { - /// A string containing a prefix, the date marker, and the pbh nonce - pub external_nullifier: String, - /// A nullifier hash used to keep track of - /// previously used pbh transactions - pub nullifier_hash: Field, - /// The root of the merkle tree for which this proof - /// was generated - pub root: Field, - /// The actual semaphore proof verifying that the sender - /// is included in the set of orb verified users - pub proof: Proof, -} - -``` - -## PBH Payload - -### External Nullifier - -The **External Nullifier** is a structured identifier used to ensure the uniqueness and proper sequencing of PBH transactions. Its format is defined as: - -### Schema -`vv-mmyyyy-nn` - -- **Version Prefix (vv)**: Represents the version of the nullifier. - - Validation: Must match the current version. - -- **Date (mmyyyy)**: Represents the month and year. - - Validation: Must match the current month and year. - -- **PBH Nonce (nn)**: A `u16` value used to rate-limit PBH transactions. - - Validation: - - The PBH Nonce must be ≤ 30 by default. - - This nonce limits the number of PBH transactions each user can submit per month. - - It resets at the beginning of each month and increments monotonically from 0 to `num_pbh_txs`. - - Any nonce greater than `num_pbh_txs` will be invalidated and excluded from the transaction pool. - -### Nullifier Hash - -The **Nullifier Hash** ensures that each PBH transaction is unique at the time of validation. - -- **Validation**: - - The nullifier hash must be unique during transaction validation to prevent duplicate transactions. - - -### Root - -The **Root** represents the root of the Merkle tree for which the proof was generated. - -- **Validation**: - - Must match the `latestRoot` stored in the `OpWorldId` contract on L2. - -- **Additional Considerations**: - - If the root has not yet synchronized with L1, there may be a window where a valid proof is perceived as invalid. - - To avoid transaction validation errors, the root should be read from L2 and asserted to match the root on L1 before submitting the transaction. - - +To learn more about how PBH works, check out the docs detailing [the PBH Transaction Lifecycle](world-chain-builder/docs/pbh_tx_lifecycle.md) as well as [World's blog post covering World Chain's builder architecture](https://world.org/blog/engineering/introducing-pbh-priority-blockspace-for-humans). + ## Running the Devnet To spin up a OP Stack devnet with `rollup-boost` and the `world-chain-builder` deployed, make sure that you have [just](https://github.com/casey/just?tab=readme-ov-file) installed, and docker daemon running. Then simply run the following command. From b6e196ea22d31abee16789fc52aa16f5391bda5a Mon Sep 17 00:00:00 2001 From: 0xKitsune <0xkitsune@protonmail.com> Date: Thu, 31 Oct 2024 13:55:45 -0400 Subject: [PATCH 09/14] typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a8ddefe..8a671d0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # World Chain Builder -The WorldChain Builder is a custom block builder for the OP Stack that provides Priority Blockspace for Humans (PBH). PBH enables verified World ID users to execute transactions with top of block priority, enabling a more frictionless user experience. This mechanism is designed to ensure that ordinary users aren’t unfairly disadvantaged by automated systems and greatly mitigates the impact of negative impacts of MEV. PBH also enables future flexibility, allowing for a separate EIP-1559-style fee market mechanism for verified transactions. +The World Vhain Builder is a custom block builder for the OP Stack that provides Priority Blockspace for Humans (PBH). PBH enables verified World ID users to execute transactions with top of block priority, enabling a more frictionless user experience. This mechanism is designed to ensure that ordinary users aren’t unfairly disadvantaged by automated systems and greatly mitigates the impact of negative impacts of MEV. PBH also enables future flexibility, allowing for a separate EIP-1559-style fee market mechanism for verified transactions. To learn more about how PBH works, check out the docs detailing [the PBH Transaction Lifecycle](world-chain-builder/docs/pbh_tx_lifecycle.md) as well as [World's blog post covering World Chain's builder architecture](https://world.org/blog/engineering/introducing-pbh-priority-blockspace-for-humans). From 134e6c0ba17f883407241db4077e6806cd7ee128 Mon Sep 17 00:00:00 2001 From: 0xKitsune <0xkitsune@protonmail.com> Date: Thu, 31 Oct 2024 13:56:45 -0400 Subject: [PATCH 10/14] fmt --- world-chain-builder/docs/pbh_tx_lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world-chain-builder/docs/pbh_tx_lifecycle.md b/world-chain-builder/docs/pbh_tx_lifecycle.md index d978e2e..6a8dc11 100644 --- a/world-chain-builder/docs/pbh_tx_lifecycle.md +++ b/world-chain-builder/docs/pbh_tx_lifecycle.md @@ -7,7 +7,7 @@ The builder introduces a new [EIP-2718 RLP encoded transaction envelope](https:/ ## Creating a PBH transaction -The contents of the PBH transaction envelope simply consists of an [Ethereum typed transaction ](https://eips.ethereum.org/EIPS/eip-2718) and optional semaphore proof, ensuring that the sender is verified World ID user. In order to create a PBH transaction envelope, first generate an [Ethereum transaction](https://ethereum.org/en/developers/docs/transactions/). +The contents of the PBH tx envelope simply consists of an [Ethereum typed transaction ](https://eips.ethereum.org/EIPS/eip-2718) and optional semaphore proof ensuring that the sender is verified World ID user. In order to create a PBH transaction envelope, first generate an [Ethereum transaction](https://ethereum.org/en/developers/docs/transactions/). Next, [create a World ID proof](), **setting the `signal` to the transaction hash of the tx you are verifying**, and set the `externalNullifier` to the following schema `vv-mmyyyy-nn` where: From 69828be51f410bb53a37e2ecc4ac355f217f82e5 Mon Sep 17 00:00:00 2001 From: 0xKitsune <0xkitsune@protonmail.com> Date: Thu, 31 Oct 2024 13:59:08 -0400 Subject: [PATCH 11/14] spacing --- world-chain-builder/docs/pbh_tx_lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world-chain-builder/docs/pbh_tx_lifecycle.md b/world-chain-builder/docs/pbh_tx_lifecycle.md index 6a8dc11..b9975ec 100644 --- a/world-chain-builder/docs/pbh_tx_lifecycle.md +++ b/world-chain-builder/docs/pbh_tx_lifecycle.md @@ -1,6 +1,6 @@ # Lifecycle of a PBH Transaction -The WorldChain Builder is a custom block builder for the OP Stack that provides Priority Blockspace for Humans (PBH). PBH enables verified World ID users to execute transactions with top of block priority, enabling a more frictionless user experience. This mechanism is designed to ensure that ordinary users aren’t unfairly disadvantaged by automated systems and greatly mitigates the impact of negative impacts of MEV. PBH also enables future flexibility, allowing for a separate EIP-1559-style fee market mechanism for verified transactions. +The World Chain Builder is a custom block builder for the OP Stack that provides Priority Blockspace for Humans (PBH). PBH enables verified World ID users to execute transactions with top of block priority, enabling a more frictionless user experience. This mechanism is designed to ensure that ordinary users aren’t unfairly disadvantaged by automated systems and greatly mitigates the impact of negative impacts of MEV. PBH also enables future flexibility, allowing for a separate EIP-1559-style fee market mechanism for verified transactions. The builder introduces a new [EIP-2718 RLP encoded transaction envelope](https://eips.ethereum.org/EIPS/eip-2718) including the necessary data to verify the transaction was created by a valid World ID user. To get a deeper understanding of PBH, lets walk through the life cycle of a transaction. From 93b85a81565497cbabb74fb1e24436845adde11e Mon Sep 17 00:00:00 2001 From: 0xKitsune <0xkitsune@protonmail.com> Date: Thu, 31 Oct 2024 14:05:58 -0400 Subject: [PATCH 12/14] add arch diagram --- README.md | 4 +++- assets/pbh-op-stack.png | Bin 0 -> 216776 bytes 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 assets/pbh-op-stack.png diff --git a/README.md b/README.md index 8a671d0..1e9e3b0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # World Chain Builder -The World Vhain Builder is a custom block builder for the OP Stack that provides Priority Blockspace for Humans (PBH). PBH enables verified World ID users to execute transactions with top of block priority, enabling a more frictionless user experience. This mechanism is designed to ensure that ordinary users aren’t unfairly disadvantaged by automated systems and greatly mitigates the impact of negative impacts of MEV. PBH also enables future flexibility, allowing for a separate EIP-1559-style fee market mechanism for verified transactions. +The World Chain Builder is a custom block builder for the OP Stack that provides Priority Blockspace for Humans (PBH). PBH enables verified World ID users to execute transactions with top of block priority, enabling a more frictionless user experience. This mechanism is designed to ensure that ordinary users aren’t unfairly disadvantaged by automated systems and greatly mitigates the impact of negative impacts of MEV. PBH also enables future flexibility, allowing for a separate EIP-1559-style fee market mechanism for verified transactions. + +![World Chain Builder Architecture](assets/pbh-op-stack.png) To learn more about how PBH works, check out the docs detailing [the PBH Transaction Lifecycle](world-chain-builder/docs/pbh_tx_lifecycle.md) as well as [World's blog post covering World Chain's builder architecture](https://world.org/blog/engineering/introducing-pbh-priority-blockspace-for-humans). diff --git a/assets/pbh-op-stack.png b/assets/pbh-op-stack.png new file mode 100644 index 0000000000000000000000000000000000000000..62cc31c95556a4ed8a37784dfd6eb8c72555e111 GIT binary patch literal 216776 zcmeGEbz7Bd_XP~&wopMp1q1{nrIBt>M7mR2knZl#ElNpBh;%n7-6%?Tv!o;z-QB!% zq5FP+$MXrEKc4H@hc^or>pIVQ&N=27V_w|;^0H!>HwkZ|p`l?)h>Iwqq21C)L%Yh1 z{ttX-?*2n`G_-5$Zptql6!n}R+SpkenOYb=ba1sXd}!!mYJ`U7@+&^tGJGxv^WC{S zuKGXX|D+)|)FX)v4qa{P1!7{{&BFt<3s;-&_w@3J?G&Hyc5k1&r6?y4iJapwlX-xL z*XO#i<2W||UG8ADkh*a3xP^9N*_~fyqM&>#8sARQH5NI%x9+}Hk7V&T;{5^MnvEdK*P(6$j%w_b}GCZ2=b+$>cZ#$Sii^ee1LQU4J_`rB~1C zh3{i}8$a{Pl+~ZI#}N;52ei}O#;~Jvq-Z}*X=PTYQJG8oFVz{p?!7a~+Rl_K6VK)* zLi&MUN;m%N5I>WjA@h7~cZ^2JgfPat?*pM%S=!j5GZrm}m{d8URz;)S>Tbp5>%FYw z)onDmWVuVsQpDW8@WpjxskUTnCFZSikdcXKl3Trw$G4lAJ64)CX|4lK{w5wg{dt;> zM)ZzL*K*gy%2$jf4pvfn->(_zGiI(vIjnGymx@<+2xt)4=e=S@%SZ5=m;M`kiG^Hp zGt%(e4 zFld2e#5sv~nXsu<)p*!2K8@5&bYI;waje-?3=M-lf#u;1S4+{)<9nRU->mG!GZ~Uh zZtv4at3IMH!k`RIFfb6xK166U3UN;n#MTt%IDUz`^8V)nPV|#Z_lWe=@1pN8b*Kvv z`&r!1u`W-(7z`b)*h)naV3<-Zbr_@;j2o>x67|e01YX4nZ+Rg@C!bI7NOh?%E3wSZ z+4aGQG>6jxVeOY1^4t}BX2Pq!dC4r>blX*FiQmZ6MqYg8O0$|^s&7sun(gy9d&w=D zTbue%)VKNj8&$vBxJDflY9)fi6%_2PEE3#Y7T$Udd}@eOTvUkShU zGTn#H!nM$aHJR)Bf^J66e*fTq|5Y#P5FYBuF+#9F*+Cu6effFtOos87d>%zr%gWTG zpB+B7R(Q9f29uVJbj7c#8!L+Ejy$2toqj1aB+KCi>TE4R; zx#~>^zHK{%M8Cu^Q!n)uo{u+$(&PdpJU{Q;V!RpRZ>V@)cQZHAH zqi^{ECC|t62UR3&_7xKczh*j0_LHy7Y;j+uC|(gbW}1miYI{N}-Z`9o&*sTb{AJ0< z$#3pw6Uf!+(G!Ib43LOmQAved;wl`xK`&vcc-oq9H8}FR#~p^puQB8)_j+*U2wrTb zX`~6_Jbik;`s)S}P90`AM~zm0v**m_q%ElI z_8(pSCdOZ&9T8AlQun0mC!g7a+Ho6@d#=|wZE1_DXZd!1^BCbR|tW@U7$ z99Uzcw-&!h&_u8sNGkL-1#U`LMx|SJKP_3Yrlu}dx^Gf3egDM`Q;{fb>x%19j~hw8 zY@j0?V=iL~MQ(kT)8$qlH9OExRU*f#bWM(INLLn=r@ze3$6&-4dW*jLa!IE{x{_(} z%VON?!hOU1u_+SKdhf!2c%x4&jYq_MRP`xhrn#%eq#C!{@qRYz^{;w_BejQDr)c&o zir46mACz6Apct+GScLh*@70RPH-~z)xL~4mg5e)`Ns3x&ViI!ao+qnRHAX(tx%SD~ z_6HkM9g|oe=ZV;0PQ~Zx1T=v+MMB72=ILi9*)wF^8{ zC0`4rrV+;>;UIsR?2i@l`sFih_p4VGKI7uhDmDr$TnW=r{?=oT{)WA8c^qk#h#x4{ zvHI@Hoqt>Rw}p+3jg8J@9|~`^f1qqHf*b$udSaNFy?|=Q|GR7`uSe62>-X-;g-~tTc{Ts%%L0KKXoMH-yr)SGkR5EGx)1sdq6>! z!A*;(?dDsGcPR6H)dHD>!gJb?XVkL-?H6`Us{39=>VP zO6+cU}C7y_Mc8SIo?pqAP)N~u4Knx@o zCZAa%_pebYhu%p%Z14MkdCT$!%X2IBE|K|_V}!?WXo^z!bcE=UGwJ!VKKXpY64T1n zOFwk-_kJG)6kNSn3EH=Mw2Q<@3NJR!psqO=>8cAVD9`&EGc@wbG}ma+oMUf!zhY7# z>)2Q8_5yHZb?vTicBx z!k<5>L~smDr?DJncR1do2|DTTMXKl?e#J*8Q&j87!`r<_6!2#mXccs~<534e$JU;G z8DED;%Vtqu;@Yw~$88d>{$lmCWk${E%AX-k^Jj&fsUp@a5~aRy@+XT&_=gKlq6*d#`6LJ)`Cg(X}y`1pEPLr>U;On z6;+qCl@ChjQ={&m!f|kf#obb!t92$;-ER0&tS=;t33+$&l`%8BWm*)Yli6We1-TX} zb()&*au7we#%d!@W)k_WmuH9FKXnuD-?XGX`}|5yu8d08Mu)nFt8HAoJ?5ESp_fvQ zqBUAjriAGW=7j7K$-fD4LjMQ<=#nF-`nN*P6)KuXzN8;^y?M?`E=zJLxilj`C~?mP zg7pr&L9hN`ZG+do3{r}(`QB}E7f#E}q5#nuL|(0N@t!dH=)3+KY|V4Tzi55FWIk$^ zS<%_5A;51x-qA}{eIgfiwf^D`> z2Y{I~LtE->- ztdoUZoiFaIn~3u!q+UHd`>Mozx7>=clppO>Du0ge{n!$Y0n?m9M2~!?|JhuyKet^m zUDba*<@}#N1=U7v*s47Bh2FATlka_frDPwG6npK{V^Zsx7Fm4ZS<>-XZ-bD{ zbrCo7&*E1XK!})p=Q8c?wU35~aYiv!jjl7s!$)TW zSKl8_u$83M-~W5k%A$Wuzmd?Hb$b|BQgfLIn|HBYvGJc0uQ!9&WyQ~?agnU%!@S1Q zl;;j5eUCZ)XpG+dD}~RfJzTLggRN>Hz_*k}; zn#Y)%^IQPwzK;#{@01~$I>9V4z5d~OOByq#W30A!*zmKmIpe%@I`{pflaI&mC{1fR z6EHPZNm&(it0hdMi<;s)UhoNdo~jj5sV&;hB9+}2Vv3ju{z60jwLf^S*gEp1hrkWp zZOb#?Ti#Ud@mOC2Vs8UWnQ-re)ZW0A^mu0r-L`O3lDbP8lS_mj69pJs37z}grXo1j zQ2()oZD0{vE(GeDN_(XbU>W{bgWr@$bHOX|CP6M@N?RbrdJ-p2EBN zr$@mZh;o+o9@*qxH_r8!YbT`LqkN11{7{UNmeLm7wu=!hG|#1Db`u*a<0v~QE}OkY z_*P+=C~5Z=Bsy{%9B%7bVr&X0yQaie5=iVXt6*6tg!u{YnJ!X4My=19h zTK{r`)n-*~F>O(_+IDcmGiS`md)?KJSnERqP%^UGoD{~B-CbS?qt+MY4_}?CWd!eE z<7bu7&E1UT(ZDj^KuYQ+3&^ghXOleTkkWZe!6&d5`3B&(Vj_G;6rmHkJ8C9jjq%_x zV@NCiAf0uHQ9Mo{*+#S(sTUkUwO$$MKl^;$&ow2UW6!0R6+`C@#pK57;g>WvEu`Up zm38Sa2Bbb@L?Ac^%)KlF4c2us*&V)@#uM4S=pwe~dzw0Ub-3@{P`~ex(pffE^>chh zF_V&E)hF35oPikbo|VXzsS@jXBTH>Y%`K+MP~^($Byt6T&Ao+L?=FU0{BP57Tk_+p z+5Yd3s60yq7&lL5&tCw%MOP6zdQ=I#%o`n}$jV^K$`}$_SlPfUJNVQQB$fBI*}QX1 zxkFLCK3_JDW5RV2=e~|-%eEl#IxeB*#FVy#ePTJ)PjoVd%yT+%-a8a4Y~WJO93W6-bDtK7F#B@D;d$PLH; zjtuATkv&@`TCmXUPNdoOP?tS&N!e}#cGcx2wSpX!4y%1e%^d1*w47ZWXHw&NdL*zm zyuJzK@UEaspVL%HU*gv(dWlS|qe=Ir{*|k0zpPRy3+@;N+Z&1e^S)k#(aa<4Ql+mG zp3Y(4u(f;na(b25QUI1=J5oAiNQir7Fum)8U&BCIG*d~!>NG)6YvD%b2=V!G(-pxp zqZ_(^JIs?vJ4Ufc6v3|Gk>IUmswnI05-2Gy=~q(o_~gCfoNigS{q$9;s$})U!i^^O^8ySUstv+h?gDN}g~iJlUk+3DNB;2smRx?|4~^Y*2V(d^xPor7RiOVa2L zUA2~>lkl3qV(WFz`wQJAkIH9dLg=CP=O?AJcl*6hru(7`=`4eyd2D7QS7|K#=i@Cs zU!1aL6`h#Yc%V?De4e5!fxHs)QKdY)2-BBrjF#?JfiH~-F-t406SYrG7l16gx&<%a z(-f8l*880IW4(t;nR=iDUfNImw4d~rg>%H9i?Z<`z1POeGR2;l^q&3JP-9}(Ku!XW z*eTss8U9NpR@r>}zG(T}oP;S)wj_&1s%N1(J6Y17RN*d4Hdzo!Nf8_EU~%aiukI zBAGo0%T1Nl4L|-Rv-pWg&9WB>l;aMm5PgPD$hR;0YdPWUYG<-)=113z`5X_g+vzx& zs{K_^@{9j1FERL(eWFfsl+c}j?@%y`t+(+*_e9y;N>*7+J%i)km7s*Ve&kuhtD8*P z6?S^eH0^d$GYz?K?-&P##M|Sq{hZ-_w}zp|diyfqOJkypCfoXSYzVKr$2wt}pmOSFmg>ybGsU}sV-D{v zC~Gs*_LYADGDe90a!wp!igUW%CGdr6Z?U@A`7BAx?TXL4+A8*qO)gJfOnJ8lJOp3w zuC)n$J#YI_+tEaA$vo__DLodrAIVP}UbIsS1%KwHnuVRx)Nju&cqS>=m4FFCE^p<^ zt8Q`Hsn7p)G%krKWIzEb0#9PXk%5I+kh}#piA|%!1IZywSw>GK|E1ddgq*#EFgk2T zBR%i&*L5ka>UXUDseYGr$TPd-GD*CmWlu3u&7Gx7Xq0|^V~so>nihyNs`#m`(v>g9 zT18X|<;Gfc{2hhsElH0ioy+Z3l$_@h4?sI07>eeO)q<_UETimS@q(1SMdrbK{>Y#Y zi6wmGoJi@(uV89k;{nz{^eSgNf?}_Pp7t(EH)ZAzz8ktL4As1S_ZUe!nmGncGx=lP zj@7VKWyh}~RI!fz6_cd#1)=h8FiT&^o=|A z6HlNH%4|*e{CoJ^Kj~bS(d+5o=tPqIVQ+UpUZeKQ#l$q_vd-yzJtTe#=YD}37u+O| zk)AokVw_?nDAG{LkXF5$Sm4|vQQryMw%KF;8)0{cV*r&-3mYMb5Cg-M&nV6hj|@23{Ih^&_3RIo#)6J+@-Y`1dzj0_$ph z@q{{ZpU=0m;J82S_!tk}3qMV(B$JBg`hi1W6-p(#EC?qg5bY~QP;eEuD2B_f4;zbo z`=Ul!`_-ntX;y7}mE&voUXeCGg%5U7T$xb`jyI8WChspLe7R7UG zli}6gfp*!s3e6)~>0cG-U;R*R(zN=Bp(BjmO}!dXgt=?wxF(aLOwaFdgDt_~kY@AQ zUkB}pO0yNpjC*28J<0&|wtb?O>3m`R>Y~J6hjM;Mz1WjaOb-V@p*YV99Bo`v)22LM zm>4m3yQz*xD6<+9dyexd3%!Vn%e*>ai z`Q=PHe^!aWBUS1kFVFJ>3T0qk7iw6pa9xt?-TRw~l5btXscEjU z@w!eSZ{vDGvfy}%*75f3)eeD;*rj_)vjXomHL|36YWRj_^dO(_6P4SpI?o!skUdZ5 zeXg4s16oNs19gwrbYfOf7R4nf1tkhr%~el= z;aRtN^&)$fQ4~knEPVDXA#Y;UCSs3_fGFDFtVaBlfHTlcnsR#>Nnk#oEBni(vDo)>S*x5gEz>v)j>x6m{BYc8p z5fcnPQ*-`W8RB)00n0gFDrPtLweOZWa<;Jtw4UNE31RvI&LWNhQ&FQFI!2MSi>=@! z=O{s|khsPiNo(pq6lhEtuaH`Qf>SZJ$DUmPn|-Z6!o~!BOr_Q^%Q?4cHj}r}j#r~> zj*m%Fvt5rC!o=Mh)j;$rqyWs$m536`cDQm>*LQl1g=$IY+!EA zP?9D3GO6U;k8u3QD}!cO!OrpF+~&f75Gsk&Kn6qc>ugr*54tvL7Kl-D;O}Il!WBiv zl#K>S+%kSW>y9uBIKMn|LV8~I3FE)65uymaCY+ZA_>NAi~Z6Lsra4@U1*<-wg}VIF{D}!rW@z)UfP1wMvvV|?{5p=9!=Q7=^twyVI@YINlxc& z0xK84R@japu6^1^Kvk>o>haMYiK;4DatX(Fk@Hy=Z{zsB6sxyR#ME5zdjFvyI69E! zax2}4>ZgtY&h30bpclS){eup!DG_x*>7{?dWX&Oz_A&R_$4!#7#?ZF<1X$PF#17RBYgM7c9(Y7 zy5HqE2j6KfG>uELs@^+@){>cY&=E~pz41ga<5vDU4t9>*e_;V_>CdZq8eD){4D3( zT}JazZ*L+I(!eUU?t|kk*77|0_-Q6NkInq%B9L^vjpuJ{-%#i{ugb-pmQ?pR?fO1a zA!Y3?6`Fd>!s9-0Ucb)tNTK7NL|>LyD4VzT)EbsraLt23IYZkq%HLE$qOUe0q`jU` z4}^bT7#BUo+L+@b1#f@wB>r37$+>F$(>|ggOyx5)3Lo@%_DQ!hAF4fyNXzGX^rq&Kl`oAI+1Dl7fl?0t`4$MYPwT#i7feKjOy!mirPyQMg>;#js4 z=*uo`x3?LOyU1y#+UTxwy#5*>m-l-vXaa$pLEVlVM+z@ z+p*9=`{zYJbbdt^m3b~(?Gw8<#eXiTTmNmmyv`?0A;{n0tcw3sEYe!_ z2AMSR(fhizqGN?Ed}iZ3%_QE&T$TL|F12jw!xQ9(-6f?l0V>|YRw_R8Zl1Q=gKneYr^#?CzD&@3}mDD6c|+2M>?u(_i(eC9)N-aeMK6?RWp+1*AMxTV%{;NjJo@iJp@1GJ9WI6Wc{ zrj&A&P*#J7E|RFbv8JwC&X7g(->bnco#&S#{|Pu;aWAjrTiHbxoWk7fQHP77V*m^< zHAtV6hRv1jJ-Rxi>!xVfhEgzj z;XE{Rv=XHCznNg{DD)Mqr18^)6(-HlN?ZSG%XuHs+=Q1SCqdPDnMb_CEuIM@o#%O{ zYXoLl`E^R~oJVzXPV1a+@5tYJdJ}biS$o5u9*?e)PL27LnM;4N4B}JI86W@mY+tA6 ze8S#YO{Mf{w<^(&MRvx)9?2Y>VRnWKr};V}&oev207G!r|4vo=VF|wR`}#F z%z#Um1~tmsSVy*WhFjtxjKcEq5TDn-Xc%bL3D)RkJKxP77g;8fZ=+40koh_CPTPp!iBW*O~v8J}p~9^%tF&i~pxW@rmtDfjF{1;<`R_1kY_wO+QGixs2g zzrRJ*JgZjDtT^_=-F9W+w8$pZ{TQFI{@=3z#f^zDUy$a&oU@W-A!TtUoi*o9&ikbM zcukNQ)0##dYLJW)zumIix)=GRsV}jJYX|km&I=ADONu*j zgD{+?4@JGSxjV&d3g2wEqvi#e!_~f+3@fV?G5Ca*kl<=x%p8B;1XuI5B;2izAy>Vej5pc126AtS_0EWtHK3d)EkoMwk-OXTskmb{fNTVzHq_* zd{$f6(?3rf(7lFn*D700N-paCXeXC}WRE-XjuDyvrcG#QG(HfGq`q*<3p4i5+rHtV))^TsO2O^$A4^9=J0QBa z9}?~iyr%!((39r+?P_dclY^U-sNWhB`NKFbJ|Qw}1zT7gm-udL zHw+h+BCyH%`Nz7u3-tq0ZQ=Dzu_)4u_n|#Od}LmyPO04t>1t~`TFgwOmiatT=jmRI z@L0|-pKybJ#_Zagf`|%TWpW3P2Gw-a)6ydJ;!(eCGxPsnr`>NGbTS`@883Ou=3rua z)x421%hB&|udh0}hgH+k(gxx&RxKA)7g%mi{qSYhsi{ya)L9-btY4EvEhwqsf8m$E z{h%$G4Oty4E-Bd-#i*H*ni|cZZnrhtO77fgWS=PL`K#R8duO4Sn9qrStA%2C@1F0E zuST7OWIo?tR!jt3e4OwF)zttGGEI&etd8W(z5GA1O==4>RQKBwaG3k{=5jo*V_R1j zQ=e|GYW_s6`#vm4EQG|Z_Uwq%0d5!<_kc{q_cn2XHwS9FSx+vGJBn(~WXL-AC%rK^EcY>L-FBD8tDWb&;)%Gdw92r4)qB_XnM~GsA_^|# zAJ=_Uk|5K2(a8+NdS|jwAA-j9S}yYvp`3M4bma*N&Ye5c7Q;Cz%gcrJdz+iIA=hbH zaN=c$s~nfNUR)fW)qR=g_yB)Ae**@{H%+-0$yiiFqCF3%EJBxm7Lyh7b90 zpJm#Y)Qe_ny6dOJXqjbu&Pz4(p}fP%^RxX?>-y}8&d$zL$nraP?nE)`>b%GD-02mQ zp;m&o!dc~t=%H?-?DprN?G`YqFP@2dqVn?b{S4_CyOoiz$LsaF=w$6%&7|I_3Lz12 zE7|yR`TFe-1Z+lUCx@rU`^-}a_G+iqJHpD4R$iw^NQFvlau$}&y5qH2E^D3hv(uTG z8SU$Ff}R?t5tg53AQ4q_9U(X51P=|KJb4n$q>ZXO&*MEF?t0YYV_7w*lBZ*qpzsMj z{DpV1M1oSYL5)f~Bvd95hZ&`hUtr+!K=wzrS7bg1XUFT2qN~431^D@u@nZzs_xjSM z;-fXot#F0eAs8oZLniD-#p>u`VPTsCN^+IAZR&(yzI;g_=-ihkap}?}$x)+X%ke75 zwg_6w(K1X7j0fB{zn2Dcp_T~*QRx4z^YsN9_6?gY^dkkI)z1Bg#P64SQ=1F4tACZ4 zQuv5VNcaZ?6d^3y@)Ny|Bur~|`lNE~_g4^XPAemT4T=1&is-g0BP>)Y3guSgTlCzI zAKUb2$VlEXgbadMF|qz0$X1f1prA;_NIY(#2%)5;jDu4icb>!*zK?M&U5JCj@o)>d zKk4lawTy~dO-&7}2Mw(8bpTaskyh_T<)UI}0fW=nA{VoGIj88uwyRgKLgx7S`^T`n zYWjgCv|{x_R8-W!VD{^)W*=-m=QWGTx?1c816Jhh>?i4rfdS=s*?C^`pME&o^WFHu z785m<5YO$o&SS`|M?Mwv3GOK=DU=dhySp5*ox1=eN|~~Vy68bO?HZTOU}C=am_%g; zt>Lq?26A$8zCXfZVh&N6RO6yRV8j~3fEP$9K}JT#VLnu|S~d!)1_^2>5R$-Y`Rk|u zU8vkmz+!ViR-x0K{v4Iu@Q)uOtAhwRG%9TLAa@J*F;NIIc4eSkSjB%m!R$!^E0GNJ$9^HK^CqhnIaZi8w7r zzFa49c|!Y4#mT9xkK1`|tkQnI%zCn**Tksvv!g)BM4e|fcEiiZSFT;VegE;xZ?7*E z8+V@}qjfW6V#{2&=VqEioELhg`sIX(1w9US`BBsXvhCvGB={07;<9gQ9G+EA(wp!O z8}0{psijROY7XfOYl=+!GvK4}?%m_|h0d@7pP=#!AWPV|7qeLk9nOn>?@-EZR z&gME}jlaGKP>07oNJ$e#g9sg$hb&`6gM1QE{`E z!X7^K7CsYujI>j=C-f~?Tt(M))Ny6mJmCH7D<-XIYaAFY6%k+#XGAqmyYH<)}ogMRZSukEx? zVPWC86&GO;6i07wFTlQTrJbR&azxSZ_4@OP92I)9pLy!V32sZY>QUD*2}=xG?+ljn zxo#Q2ds+>uAaMz~tQdSgaog&9dDZC@cDJ?lE$mq z>f4Z!?u9zFc6N6EzI}^DDyRi3D`G^Q@wcF#7w$Id>$W#P$kMiswq60C29pX2IxY>6 zU#}Zk-8(oq`1I*M6$QCOAH)QY;l)D~i_7fCB;kL7u2-tzi$&_SHpXK(v^HM7Ub8K0 zEGmMoQ0-)yjzdaX$POpTWjp;7Is)8viTY!reM8Y-b`8$28$RcK-xVw}er!8F!UvJL8%#3 zW!4X0EM|?8mLETU@GP&EPg)J-#bE0La6sftVM#77F0jJL8RdU2Uyju4dZl}EdK&ru z4m)kfj~~wvwj$^_#Kep~0E`Muu!WIKxkN~@`QN`v&E-C`FE--qI_!;DlmWHjV}=Y8 z(rfTxu0K)SH7qVF^1*)2%3_E_A@(zblE`3ch+q!;-uk3&nVfE!1)?pI9)3f&tQ|GP zuxXxIdWJe+xRN3ae6_r){kcuqKet?5cY?7nFve%(5SCK zXsGk{j$)<5qN10V7f_$DJg$W**L6>*usg7mRqY`1BT`b%}zo>;`;3e6~K_8jeO>^ zw&IN4U!SZ8wgw&e1{ph{4Df@-Nd>G-g;Y^uNHgGNMGW)=VbE8+j#tYy^2=;znuPso zYWU}0A|oCk`9G5bU__3K1Rz#t+_Wleo|^i+dzXFti$?y(M{=sa7&S_0Ml*reX`oLn zE=q`^x<&=d#lG_Yovnb8U@b+}oj;r|;GqPs=kwvDE(6wDXyMGYJBndmL88TGgE_-G z?wzhf(k3Pg;Z#y?dn=~pu&c?n4UF1*%b^-%-RBHdkR589n+eF>A*$|Ab!7~ zOP`#a6wIs7cPHxBx|K#pM*}3bwgSQ^cJ)h0NmT<9K$~dP-`w85g^6j|lk^nQ2H2bf zrW}Zr@U-RZyRiDKpMTgNQcBp#{rMklt`f$S77P#2Jy%oU)F`*A^*%oX3JUN}K~FE0 z+Iw(xw71xw*|JB{7Ipv4n>Rvd2dMxOK)ZDcAypufBVY910^GAQKteV*Kcc6nr=a-3 zGi+9RlT82BEA2!bdHE#vIQKZ3v!mrgXeb{@1b81m-f){>A|sp1d9^f@Uk%JwUzi9l zu+gfV2;*A5>avxzhsTL!`FK=9LV=qzB=~bTegOgCy78ptcR**|#=-&|P=`HAaiIQm zAdCEBV~i4r8a1cCBKftqK)&iIv>K!hf%AmNcIUTm-=J9!;>v6^cHLila0^5>B zh>4I%^Z~*F9yl3NV3PU#n3CUXz_@Y4R(r^(m=@F8dcEQF*?SBghlNmt1&NT?$!^W( z;t%?8%1zp$2K#H{K+&|zt>OpGIPPPVPkOlnkpdDkRAksrP60n&W}=v$U0gKfjP<;@ zMoUa*kVut=a+?5u|JIh4PlBGjAfG^i;a-S2$HN|iKfwK(h>VK53Tg5f^(4xgNy90Z}NOToC6H>eRE?^DO)Ng`Jb z26)mMwottvYh71qGxe`dAv1p+NN!-skj%05_1+>PKK1qIsIo)>tP9AXOkkaOcuts= zq2x?j6%QrLp5KJc$#Yz2X`OIUbg~C1T?7|bbY`L#FFSk5GvC`?3BY5$ryAa!A9j0d zU8g4sLMKx#)PeG{e*1j`ekS((`3*9tgoq}N_SRMf!n(RT&=|t#hW!z6cVhzsIAt#D zxhrT>=y1p}B}yKiN;vBaB{h(zZoklz97MzwMcF!KV*$mw-7N$FdA@~g z_w?|H>t?-=0qxP=%E}5LCn5pa9*y;YTOPd^!T^m~t2>aJikkW+nWCa%n*mA_ByII7 zI{-RF;Q#qE0kp9=N(n-C6M4{0@dAk+TPVW&nZtaJ_W+JCic$joD}ZrQ(nDZ=C{q3t zp5B}5ieFw{b{B}8MIvc2Q+r>`MimyW-<9LH1@i!3$K@${SX9&=048nu*7o-C?sBGq z2*5jV?jxuwEE0YfD0#?Gg(l$5dO#JQ53v&l!NY0T4V9P@a8#0t`9G#!Km-8d0GaI0 zPxtE~nF?&Nsi+m@<>kY#!VX^3`HjP|L`GBIATw~fKy0+Joe~X87nh2qe4sbGOM~X8 zN4pnHIK3Y*e7lPeSV>jaJnz|=X0fmD(QrVJ=nUU_jXls)NLMS+ey*;rKsms*`BiKj zg00^YN~Y_%8wol!xVxi6tIngcFG0xr45)FEftE7QGZHEu^SPbHek`Gr4M@9qfn2r1 z1dvgne9VA}t|;r1^Tw~`+=_}~Xb1cTtqnia0=#Gp#NXc9GEjHoez3T>2(jV0l#{9L3XKHGKd=5UHmJoB77^ z$89u|rm3pEAi%$y#I;%2nB9y=mfPv8Lfeu+YJiQz@G-p(x(k-z!4q^aygvKieN+eV z98O8Asb3Kr4toRPPj5-pZF_QHOC|zLFYH6h3P_xePYScPjXyp|DpWgrITTey62Tl8FGp3{d}~EStd3V>jEf ztR)hKgniY@B?@L|XRmQup&G3f#u+~fGT=&Df$3{;6G`C$oxJiCx45e6kk5^~5l;I0 z(@Jszj_r&nSCJ7ilMN+{1elnt0DMWk4)pBoim+2qgqV=y4(bdTXlWORb-e+nwSn@y z!-ir&b$->n7Z+Or%VZWbi4QitS^*qu8Nx!9aSrw@?3a|3q<`B0a_w;4`#d*d9CR;y z{`cl)F?8E*f&DAjuM6#syb|^s8F?}9l0Fa`8rl%}fX~SS)LL?K^5tt7G;`PwR0xAa zQ+sKy`n-Sdv^I7arD>H7`WGrQN3D>_r^04R7~GtE)!bf_F=(g=3t3RmU0vX$1_TBw z-OdKW(*Xk5f-`p9>JjR>k=Fr@iDIZw!4+{CLB^hb?8R^O8amwCWW9IiXO6?e!*|Db z@7xhQT1eHWhOBWK%u$hahYYJfI|9+Z+MgMcn3y2mP)gL& zpEiJ|XBC)!ec^)*Nc;QQ2!b6+FiPGk-|HOoz1T9eO4`=jzM%(OGcwKn{q~D}>8-7; z^(R~HAR4Y?k)RB0-%ryw8*VY*^EbJ2&OYMZi2%gAUeVvtZ&RgLN^{A_sR)-8Gu*Qti9 zhNZuM{|0ysA>@$s{{lM)9}6V2?~hG{aUyQLwWKMJ{UemCL~tQGBkukm(fNbyYivus zk8Gy-L=Bv5rWbo9cqC<6;DG^S!xPYr0p!4emX7z~IAe zJ1qk4A2^o*u4Ay#i1*<*H_*{XpnAdCfjK-J+=aQp4W105ZU!ngLKNDh6gL$!vo&;Y zaH2vDD=jX@D+K}dnU~P$iqk?K%@I#%_o|@Q`6P1IMqGoF?ft^9(q%DHPj;&@?qQ`@ zB;F^s={WfK<#xz6XiMA=ZUey>%vJM!|DLYA;l~d!+}3AiD15lxc1&Ot0Xx8Fco7;E zHFv}?Z$&PQ4onhQk*J6Wx4TvSsS}xqtgI|JnFMvefxq}*3knLhy{Dnt+#S|se(~ky zTt`gX5N)GU@VI|q;PFy!Atd8)wo+zKkG!|Hx13zJpPwH9rHgqyWvUOOMcSHEP;&>j(#?g!w4ll36M?xpPe&q^iD~)_rvY+#b-h%o+{mAL_ zG|LO14GQ}Khv?e95@$X)KOY?y)(de22#TAVRWRitbux+*$M?&qX~mD ze1iHs2(}Y^ zS}wPp1s0=@Pqa!IHG99z?>>@s==4J;0~pR5Ud~rFmzI`R$4!il&3&M!lrtGvQ(KGA ztTR?>t_FYu{Rp^WrgpWHb zn*vsglJScDCO#`!3#f-(&&F9X@Zy8ncdFLud!%|e!WB{}_ZA)K z>=svg%}U?##YdBnki2sTH?MDFW5cGb^xeHRHEsFQ;tg$M_s!`>)P{z7`se=_fZE3|AfV5LoikPj{>aw^^ul{AQdBF+SB?Grxe8n! zuorKTZEbAhl4g-Hl%@vPQJVDia$ljYQ1y61czAeB3;{8*<<}Q5 zWEeD4Aq=Nn+;w~V9VS|FK@FB6!VbLgzJdC@w|sBJnZ6}|`bK|ml}5T^QupU!1{H=) z)||3dwvoO;DZBL4ix1VZYLfNiR%+ASd-auNff)8@{kugQEe!&v+0szYko(C0!_?@}24j(}tv<6-AUDVpU9{J+5tI^;TG0Ka!n~Xba2mnCw*&bD z@hqZycEiTc`wT1HhZ?LgaB5aoERg#;WFmknf@ebR&LsG+&c0nb;rqDuD?*XhAv(g2 zl1kD)K+-p&fj8xWp8AkJao|dm{^l!$SCp5eaQ2I2bj#?J2yx|zfj*~MNr%_d< z;OUr*?&A<0x$eUl!jEo(+ovP~IjO1rWg#CvbmVK6$Hm3<_4lhY3_)e;>+1vU%}z?{ zQNp_5ZbyUz5bW25dh96m|Jn*9+4_SA4**=Z7kX16%WGAx<6vVa@jcv8wJw#e7*eVl zVRu;Q0mcm_-haxCmc-RNI4C0_vH1ONS*LFQ*x1R_>t~1ai2xO=%^d0_CcVIB`fP>2 zg53|~4!~_5IEzmxsH))mEaZ2cO`h+I{WfZ7}mhI z7{I<=k&4B?Kw;#HhPHsxwq&Su_5y{!J{Hrc4>LD$P0djRB4)`?I#E!7m)8wOYCfTP zc?_haq)zkJ&MaJ9ap&OmZh=?-_HG{7&FflQMf`SH`Gcq!UhE%)iafG4C za(u$%aEek8k!9fm6N)aU`lnB;dZ#620(2Zu)z!c>ieE+$H1#xs3 z@pizd%--Jq?Z5w`_%Af==Ye>o#Gj&~I1O4*v+kvS;Fm8nH32)>`T1cQIW|6i3SAc9 z;gmh(V(5N=eYsxh@7(7JzJ`Vd*odg!2oMP-UJvp0-=yG9gBpgZNE#oyjoL{(ksfPg zS;FB0n+i+eYHH=@BlX_rfH3b-*R|We6m)cSBEQGIz49P67#KXxPFz9#gAE63MNGopz;ekJZc2Lk7Mz&0^mJTY+|trgSZjP*N^nq+HVjJ@75e}cp2JLaH}d~S)td+8xP9;ck2zCHNhlOD zi=t>2k$Fg_B6EZcm69ezQN~0`nMJ6Gq(PZyipbQY&_G3lit6{;PtNE2{@s5#&N=lw z_r3SpYhCMF*IIXA;D`|;yyXB|qCN$tsjIE4d})X8V-a76PxCCx*$PtuKHx`<%eRZO z=9MKQrAx&M6|}KaPkEZEn7dr%Me;&jY-gi`17-AsAt6@KXCWbzEXP3e3s|)5(SFkT zqQb&?R#p~c9IwU3>I@%#=&-n|iZe)UG7`*ru)YYSU)hwrxel#hvQmr5BN=MMg$)m$UT8 zT3i1uH$L^@!-x3zc)YHi$^lO4=g&**wraUmm)*Hz%4&`oa~B8l=;_n8ty^E2dx;M!!36Z&majG^IQlWuR^SRmUp9|rl^ zlPB=;FKR>L;;PNBDAm*-Jbml$?xP-O&z<}FGw&famdP6B2tHszl=TQ)C&yUMnsvT~ zlT+o^X058SZq6U6GIjLmCL<1+|JiZyU`L*9(xgc3K>QM7Cpy=G+cqI<$VCl7X?OOiH{Vrd=9Nk5Hk9)RvmRxBgMWh^rjrDIoe9-&8 z4u{y+d)Ayeef#u*(2hEDW*HAa8a#aX@H0j;PwO?26RuA1(Bu!;FnfCLoCc8>lzjf; z#n-Cs#r?as|DPw}c2rSGB@b7cb6@iyIlC zchs9SDK#RxAv~L;t<`=hb+2Y>l5_0Rod$Gw{K^j-LHf96j5vEP8+wM zW?0g~g;_u_;?aZp=g@PLCi#`*h;@{tKCL*d&p%W8&g$ko+k8SZsbloAUm{h|JYM!n zwRw(BSyg!VIaXF%058-cj~qIL?aWA$+p^^kr;o6Kq6Z1vJ~=HC8q7!2IEEm$1caeHg0Aj5tAGOsMpv2<@B6B&A3T2Cc+>Z}nwpvuCOjtG z*`O())P)(%vhl7Z_cZC+h>#=|Z5pA6AzIv!QA|k_05^)<}05b z9_(n_q}nGTVT-G)tG)e@%+anlaFAA>1nuLH5|E}iq~fBYjtb(!)q_Tt*h#NNi%y(B zUma$m_4W*-O%2?6tSarzD(T(WH0vNdZax6hu5M&sbYSE;G{j~`!G zrHkdq_iDr-ns-);&CgJ7Cz}vhA{F5#bswkDBy5MXiTg2PcwAiEyLazMx$fM#1LsUg zPkZ+4(wQ^))USU2{7F%tXfOhS+s~iFh7PTcyC`G6beUfmQJIVNHgo4gjvhPa2J4Uh z$!@az>ea_z_b(It%)Baw!Xsk{4U8l)A9M+ zqu+lg@tyHwKecX*h0>*iLpgpKu6pgKxETu;WPbYe33rDpfUqk`ER%%~;Y!~K=s{D; zK_ama*uVb-k$lyw-ebm$(FmyF{KC3~pE)z#U7p~tt*t$5*s%X@XV1_=&}UhUsj;6& z-IqhLK544lp5%lxmQe%$g-IcOG7)|$?&eJ}{aO2nZFD!^4Mh z5}G!*{P*nPWc2@F2PCsA&j+8$20th(J#` zH-O%mHBRh@o})5lUBy4lw~)Z?qHMW)H_jd3tfQlYkHEnt zLk3cJY$>aF-g3uP`-(``F;+(-Hero{5I zBK+shpMT0!Y=I;tYPxvvTMrg>)Ty@rox1ma=sx^?Z7R{S;^vg6= zWW!&+9ZT#a@uE5d!9{2U^`n>wJ8(e0OBeL7lr5sy=iU)Hew$Y{ZD$l;?AT;ieY?do zx@w!)!r)2|RUc`wJMaJmZ*{c`(1gK%xFZ|~j1%VLQ{*>y-n>03qYnP(I2ZUE{Ye-u zZj>vLaMnj(UmrMaY-}uI(A~$6`x7^#qxYBeJU)#h1iugYi13o)QEq-dx=Tgej}-JT zrm&uqa{{04{480qI>>j=&~9_j@OOK1I{L(jbp4cPhw_f26YZuc68X% zaV{>^@UB#+zW?|EK{g%(jbD0ePiFPb%(9~;ie#?qdcgZBy z=w$XcI(bCXMpQMy=cIaoze$G&_1Dzw(4oWc%1Wn=8&PAP+`he8W|xF}D->D=l*pC+ zWUGO2RE&q4nsdKa%lQw>iqbD|+E%VzYsf=xYta?}8%{mYsc0699B(1@fhqbY{tvR2 zrYzIq4#57a->uQH*{cEBzX`g5%$@i+XHEw2fokmE&-eW(UqT`fg!zAG^z;7YMt7N< zKDOFBG4Zb`1-=ZMB0~w`u~?S{3A1f%Y%DEBIj~QkvxE$U9?O<5pHlacI%wg)C9(dW z+c24;clX|pg*k?QXDM8`bP3%H7n;Tc2?+^)etuzLS@7jU7AAuCsDCWPeB!k|lyObD z79s>3JxUtpy`K$4kj~-@NWxN-l$7AUDFlgdy?=l7l`AI)^l}_8?Wpkb{GYF96^0d( z<<|#oILFBwIdUY81;`rNaIpJJE=tq*4Dth!dK7<9YsiUitq|4C?F9z-?p-xnj4kC~ zr%ayw3}3%=$r5jGZxvNlFls${35Bfp@7}r9d^rLh*|cdB$<@D`C@7Zt7-6Yi&M9ZK zQ$k$-oYC$)#9BsH7VmbHx?@aCOjy`Lb8~Y?$7=}*f2dfhDk_e3PO-ncQr&$Q5tJW@ ziP2W;t*iSRU=5jthNO$JM`Chv^08yq)NYcJ4E^q3mHt=^E1<6>zRsk_4&htNV&c0k zzWnCPtEo@_!w`+Wc7m-}M#Zb6=GNBMYu0>+C4@}W!AHZf;J}8=jZVqTH0;?kB|ZI6 ziI<`8-9>FuLz}ETA$20x-D)an z{rfJ;%IO&yfByV|vAUU%FfC~4Vjhqz;h$mTOj90=9A9v6b1yqeYn%m@L6bH7?%%;m z#97Uh*Ly?SE0zXE7+1C~E0L<^AAI7!a)`gGer#l9V+nVvKXj7L1 zH*eMu^$AG<0Remb{UdFXZ*4ALA?s6K_d6T$rO~KSo5@GOHWbf+LZ|fyiFJ}B-sRpQOW=V6YMPqU zoJ}O%PZ5oOh--=r#UilB#`*I!{rW3fFFNqh(4 zL~~ZR)5y*J-C0213Z-@}w?AKz_f@5=YgoiCkRi^FFMM?8&Jqr9Y-}vl`hJ#0|pNKNJ%<0G?Q;d`@U}F$~cOZK$usm(zc8f zzi($d|3hSVz6RD9}t}?Yir-#F@n~h$;R!5}md4fyQ8L zny|)B(vjR!>)kv5^XHA9@1X|Y&7mY0pqhNFc24ZdG4cq%a$!*oY((uAp;L3 z@O;q!!-RIj<@Rn`4>$%3Uz^AP&WnUbt`Zq=$4U(BDaTKP0-)-pAeb|m2=rNnrS z?ZFj$XTFUoY~*N*@mQ1fni&*0Ow|hr3#+G-43|&kZXL2kQgBFwtgI}6E(yjX{CL8q z!FuZJRt@%?>fAhM41@)xOyohhE-F6|7#|2V(Ba6JFJHQ3pMC2xU~a{Vs=R&1My?gU zCDGzeB#FMG|1^)3{*@)kqej)cPag`XIVB}i1zJZ7`1Nr>U(%Q3B^^Pb+y}k~X!nzX zMQUmsXc5FgCdJyUwzd6TIOKV&U)DZP;w~TFU}fekm*dG|QWo;}_g}MW)dojL7^s1R z2Jx?$U3$M>uzHTRQkw#^A;S#78jRiA-bi&O{jJY zOUqDWPmcu)LZPR_J+{rB|8ktSQa8gQ&$<<{DZl2msT*J+Gon38uLzsXmI3P=|%;jtX zKscW3;iook?AW<;c;oSuwEv$dx=1TnMYa{ER5)(Knam{kYz8E@vm-dpv3-8@I<*qq z%1&=@oc0R%Q92?>E(_`{YgLM@w!3yoC9Sa&Uh~_FKHh&3KCuyGqH|`58osJy$n&c5a)%8YP6~R1T3Z-S$i}8& zgOBZs6}VPP>xYgU(FgD8=^1&}8&He5e%%rug2MjOr$pOkzXz|GU2?5Sv#)OYi>mbE zPfPyx0hS=lG%&C>F-bx2J7Ge9(6)hr8^lPuTrUFaKclG5Z!Fn}dr54z{dUg!k-}9x zA3s@7AXv75<|cBL_R2$3Zr@&vq68O(jaF4vA#_CYbnVKOnz38|DCvaAZ37F0`%6o= z8*oT39zSl~p+f^Dd8A08p`lKWj{Jo)3_<>;^Dr%~Q;oqQC48GSduzOf|8tkmw@lT; zBZiRmlWgC=fB(zZuOjh(@xq=$D5QCAZZ3kI3Q~^B$~}Ac*0&4(BP;7OMMfjENq0JF z5G?L=N0&~nOQ6|Dp=IJkAp8SJC&&!iI-&A(mp@S?aq%A@Js^KuNu!2s``{Zk;nsmx z6^5Ck#Z9^DY6Kwp6gd2KC_`6bLb!^*+zLY1otVy{bo$YX<*T1`P);anJKZ?Eu$_)3>w|DPluzb+KVU#@@R+LQ5q(Qw_5c+*+ouF;EvK^&H|x7+PZGH%x!(EPKJb!+@gI;4`T1ij z&EWJ3WE+Q|-p=imgV8E*9*P)V>hd6SsrcIk_X=_8^$tf$pOHCCub~K-m*Z_Fq zCDdtrTwK3?{ZbnvV~(oy(>)$68am;dg>+5JqJhR3n{&5MC9$ zXex2{+qv@rQf;ARCwar8(MX8(C&b4W6%;_Q`1degIAg|vqP>eddH<&c@B@aV{kwUa z_2sY|f)bOt?Im^PnPcCK4JycKx^GptDc&VLC8^GjpFWM6d*w6dmiuH8hzV?SbZl&x z;g(HiW;?E5uSB1)i3TFU-v&r6>u(FsY_RmLahZ>E8gs4G!Gb_hsJu27knggU3f#VZ zFA=Cw1i{1hz$;ak*6Ajj9_k`+BScM@DAH!_ zi-~ctvO$=?89RoFBb{e;vpxP?j*YFt>e7VfO5)YsyD_A=c|CaWfb3veu$I}laSte& z5f`jt*PPT>Aa2A-JMSyV=DB zRsogp;J$r*N`l0Frxxe_mQq?Snxeyzf(Y5)ks}$H>U=A!3zcZeDq1#^c)gTxyr=Z@ zl`i$RjP_ppa`N+0{eAlI!EWi&F?%#mUA|13^E`JwKB}U!()s&4SoBHGlf{=5TyAt4 zZ>@tY;vf2yC`yv7aP1U<(%-z{IEYCEMMZX|zN`Q+Dd6BiS-Jp=()-72H>FPDBa$xI z(6q5Gsuo@)%_T`e_&jrS8Fr?ujG!pGF^FL}VbneFT1YGlOG_K*k&a&~&Zmjy>wP8S zMvhM(vuWen?_F;0_}Ki+m%UO|C5(2pBJ#dh*JZVeUcMb zPFdB7&NIdL7qs}#H_QF{edwK}Obz$@Hp(V@(`z<&1!xd!z!8Wgm&~8;{Fzv}5N23Y zVgEtPx)D>RPYC6k-R@Ite*S#V^A#5E2hN}G$JwCa2vT_Y_bQ5(W+!@G2A& zA;Iq~4SUokOl5rDOmvp@%KF9~uXVP@fyR)MLL<2L!szx$v)jpfck@!^n^cd5D20-u zsMdn>ooQ1f2@&aqXK z0`~|0U0%l`KBxiXyA^an0qqI_fH?mCg9ouJ(n`JB0CKV`?@KE`%(S$0;wKTQj$*U{ zSDq|1BefwaJ497tGvTm-#*bmiBPC@>h`e-9_9QS^Bd4aSrYbK#!@@#z#zW2ZKno04 z4l9eG7Bc6ch_Fa+IvAF@AN+)Z1a-*T<6$E=P&(n# zFfcf_`k(WGGq$-{sej&y5%*L^=G?%HBdOkO)-UdCms-^5f?nULpGCrygEcI__|jsCfa zOP5p-Qxf;jYg-T=>i+&U9W&b-W`RW;K64y8$BB8#U^BLtt}paB6!t8pw?oE}JJZyc^6KXb*);Glv3@D9D9pqPB$gcIvEI73707 zAT`U->?%pI9hbRlJkGC8sl*8S+BP8V|zIZ!dDId^5+| z^RkqFzlG<9c-3w>qOcvAiI;sBL)QwJnT3fixuvDXh`mhBDc}SIyr#(ZQCAzI;~YT{ z?eO--Fg)sOZ1FNECO}B&J>*Tvls+7f1%W}a03^xMW3FFc01n1Dlm^ewN9V}rp=6Si zGm%+EDR}VUKHlsxQE!v~_$lfZoR9SMijx!0Piw6Pyn`1-@dP$N@4i1Uu#Y$GvIjmu zC@NaQaIM`1;5)$ax79-s;6xKV5g3ol;o`9 z;pmPgEhG!)@BAXdsXAnlvu25wA+ljD$`gA}6BD_5NZI4+VBZ(Y6WY$Xy>)w`Y}1qu zR34IRzJ^euXaRip^HVSt-3CkU?~YZa^S_>mXzIIj=QzXxENKsBzKBFrL1VhYqL84V zYd={1HE@UDzKvHkU98nmnQUSAY#-{Qh=ySlJoa7?N+si!!fvpWF#*$CD4ISZ>e9Z| zzh6IPB_)x;kjJo5<>f3}YqgBX1%CVX_4RH?*;7Mf9Dz{`t{{I@C#C4ycYOQnrjHSj z$;#5oKS2yS!C`)tmdc(54Fka4tb5bLz{O;+m=%&YrW;Y35=nf#Yj}1?FbS9|XEcpL zHFGpoPVXu^fB18_<9LaeXTO01Da`1M7*R>fJtZ0F6zap-ZsjD|FCdPw-NQo`xE8-1 z+=vfS`eyvY2m4QK+x@xL2D&X}4oL?i5f%Z?mM$%)T4h6DD3OSRLXL{T^z=r_W$0GD z9vrt$btF1=!1m0iBnvbM$&cvRdi(96+S(4AHqlLS2~G%^vzxp7h0OC;#(aqHg+NBN ze9ebzyX-d77kqSn`REDtf6J%YZM8e~m-q(h!GBqdAQB=IJ zYiU0s=-?qklyFH33ahQa{NremVzda+LP*~)Uu3CDKV0{lKcs*ElS)J!eIt-wnCY9b zSw-bdQrm)?$sYdxH9H+x*Xv%p!6L(IK$#ayZUg*dbVwORAl8l*gd{AHHYCp_kej7W`~{h3Bk;;YtbCqm(d6!{LC8=XUajeZxwV_&$y2`&+C-<^8jc|9|$W(d=YFDp~( zHQJajbN$n%UpPp*;$l}3w#XyS3ie_0lqieo(@kVHR}}DW0Lq03>Mpl~MN5A-;1F~e z7S_>}CSs4uB1?Dox+?wRf&zle#kF4haVfGkOb_e6gH)i^NsT)~LFp~G>2A09?Glr4 zDvYAa91^kxO#!Ri@b{bXAf?rCA=m`K4N(?FN2rW7r9bJZW##;^s8uF#1>G_kpuq)885aeM=RL)6lfpJhqGv>{^nKyv~G6N?* z8WF^=$Hc5IKF9X>46s9ksob?|R639XH$Cd&LqfV)>YiL;(YD8-Gw09y z&KDvy!1c#);}?Y9UgWZ6%hM-MRxDd4ly%|Z z_+BANLizN=IWj6LT#3e!H}^*oP@9n0Z9hN3cDh3D0u>!KZa~jh5*`t1C_tlbJg=2qh^^=SKY| zY}hdDdKnXOuJ=&%meT^#P)mV$S1<+P;~~0r>jrz?tXVUP{b}##?2Fe^I};nr(;U9N z2rW6+#?0WOg*)X$x#z`H8A(d7^ZGwYXQwqX52>wX)fkMR{7m_T?#T~Ts88cP>h#`p zzH;^I(V>e0Jlg{U-+**Dd0gk6rL>ZX=8o*w!oqTF#+sQy;-Gvmaj(VNKsBV4Fqa-; zw#=F}gWkx?D=2)Vc+LO3kg3?IQ)@MfGbjy96TK;$ULU$H%K)_woGck5Y&fh5y+M8- zdQ+~6O(wa+e$iNyV8P0IARLJ3g(S@x-^b6(nGzY0a~lnR%xV+8sq2(}|Ni%_2D{vH z`%mV4AsP`>GZ@-?|C1*Z5iJqgfsGU*(6A;~RxK|oQjz@zx-Cs~{dh$*c7KB?t3X&q zj0_7$fds{5oerT0-~_(IOtYbB0W)23v3`D&n3%)GLPgQ(`L+FuKymyE0;Nfp z#Oubq`SY1=#7fmvSFc>TvVyTH?C|YHyj7B6Ex|{RViP+0`dfJLwLX^?Ce1fD_m$Hk z4d6>Qxz}U5f{va1)wrRvrGrnK#D?06cjDx3Q>B>j1LS8LqhMA_n>ns zkBVHy=7Wh1!JJ1p*3R9#*JF)0bcO{#gSeuGMvn${qnp>S2g-fU$%)?dV?G|5vLV_y zN?U!9b;Uc8%v_)}!TocjVOswDE^UY#-$qjQ9!-25_=|!Y*`kmHPNMWf@bdN^JAZ!H z5hpsA9eObS!pk{U1KmBRx;hPo6A z)hKmv;o|AbB2E#(_WJpimz4#`*(mt#0*tk1sF`fW|JXU?DRigpQO#DBEwqBRzWmy(iWxGo>(23U|c zr8`atCiRukZhrkF7pRhuJaC8^sfo$_&8s5X+}riHf1 z(d4ng5gcVamhE-LFRcfxreq*73LrVLbCaj+M+O8Z%fXL`7(iVI!~+CLRh6nn>!qw| zSxmB>dXpn&m6PG9Bs~^!>;MLRy)S`_X#8+|$e#UT;vQ~-Y^~LA7cb{ovu9(1(95U6 z94QuT+n?lyI!$Dl7bWxE@^`}AqDGi^#jv*UOETko*L)Y(|1VH`Y7f&*15=*ebHn^Mxt%*+Hg zAj|}!cp?IdkJoEN*cA&J$^Fyy%luEqNL;&V1l%M^!5*0khlrSwD(K3K{JuV$C z@3n9OH3Fm^2vj5zQ({1v_qW~%9C8Z^z)K%!)&Lw-S2O+hg^Q~zC`(8^DaOJ(BP}}B z_^CY__v3nUy`6uf62Yu~%@ggHd)ccxSo1qi^IuH<` zj~Ud!whxoKS6^|X=GS$?Z`eWHnDa4HwTUt^u81^>7V$#JvHhMcN`A> z#uC$1L2O6)0BA6G0!MW8P@ND}W#vaJVhB6^diEU3s0bP?ASUR#_;UM zb~yNO!@D(1U#;%mB;_H>IeKcT!4oD)#IemGLxw;NL6QPxMSBHa z=igUY{crUEtu8)D-5Xy~_2|8r;z+dYKFZQ&jA7rO*YX#un9AJt)s&j@&N&?mWiQ*+ zYu9ql>QYZrz++wK4w}7hS;5&41pW0R34ivYE?%KRtVe)=ol}iOU&0g)6x2iJT@{k% zjEp&xCatDOLKW5Vp$K#Zs5u=~rnM&2>(|7m^ z5>?YGlm<5e?wqvNTLml+IH`LR=;h-Uwn+5t1qZXb(=9CWTzjUBKjD#@ zbJ$=<*D1?#QnvPR-wA~b1xb|@yxqA|CwWuGW|*#}b_k9u&ixHPdyWMLY*RPL8NX}eFI36Z_tyr_h0Jp(F*5S-+kVy0zJ87*S zcko;GZEeR{(@*M~zpQ2g2*DfBqi_Ft{YcU?)rRRpy;MhPVEwX+$qJqzYt;-?SddA< z#qTm9SYR`q9#(SOw-_Awu(DmtJQ`?pwY7`mRzbV*ys8-hNfL$Wr)M8e$^n9TSjoiS@^2lw>0HXIMF>Lh-e|ZC<*&Gn48dR;8iuZp=0_ad2kqFg zgH=>be$=kz-47p*7GM5Mk_cMk9sOn#E%`iP8!+06GU%~sK$Pth^gHSop4hfMLg$=JfZ z#d9vtcVhZrq|f)vgbdoNx6A%y_0yn+~G@#_ZRpPi2~I5E0p`Ve@(?r_kZ6MBgX8NOtXU6J&iz zuIVHsj!QpZ|_5S@ISMJB(ZBYH@CD#$@#rq^V$b-lc2mCr~B9~fkICjpQBgJ*qY(Ik!1B=yA zE`Gn%mpQvBmHRO`hom0Kkb{)}B7I;-Yp605#btf`m=JR+g%TA6SJs9)R66jCaos!0 z$wf1HZErDS-jGLs%+kv87(H>~?&7-**$wp>^QPT-_RN3vl-`2|U5cqijol{W=p#_7 z-WClyp&Tyna@^2~9pmQ2XyGcA7|edYLTg#ssS_sTx;`Sl-+VhZ-sP9`rl?7#rrV0u zy!XGTPr}(c7&7=cI;Qjf7u(43UTkx!T6g^MvQ0{pO-+};?64|$L9VrJ!8_IsofJ%o zn`N-nks;@%hCXp}?;N!hFK3wOKYe;C zx5J@(XLTzrsbbW7=b=09%cxCGb8cALL{cD6^3F9#X&`gPDDc77@pb@ZI^}?vG^TPT zB_^WgiQgQEV1h*b!0J5-NzNr@Mt{og$Qn8wEGf9%<9DfnWrn`ni_1N(e6=V|z5gOJ zJKgEv?@v;dvu-l>Un04 z;V`4hm+NrzU9TTf%-0+`tGf1G=fn1nwuN25U;v9AvlNA>2AT~&;t+D2b zaHNyZjvF`NG^`&+eV!t`)Z7YuEm%Q&=uj8*l~fhz0fIzjUP@~<71@XB>BAuje)LmS z4Hf#nN^|0W*3plC6wG6s87*-cKD6sRMpiwf>GFq-ir@YDP#c~Ne{4*BX)|EPkA@PhNG;Ya|4EPAzhN(Fa-CUIe@82h*zqqv8j3A zd+;C<#)!sWDmknE*o*?Ks5F9mX9(9tEktt@Aep-y~#wV8mcC+Mp;V(^A8c zqAEpaz}Z@LQ4ZMfg5twlrdBu{)Kd13O|bZJ{W2t@weE(>w{Q3QB$u}<-F&cW%ch?u zS>>i{Z5LfjnDelp&}NKl+0@y(R+`5himg^>-Ml+q<=095YYo?8zP!A-t5|D~zVnr` zFy?XBXBw2{MZT#k_e>2p+@ctDxxv@xfyHr>+!D78Bi9=*4rkX6yH{{#{Hx0FQtNDw zRz-$FQ)_$(-AM)Iz>U%JWafY_EwW*-l`TkdG?jSpG zO-t%hu#L$g*uQas9B#ftQp2#7On=S)|@O z%xABRB$dH|VqO?W;o0-&hL{P)K%wy4^N@^JuRa$P^kW=tVc{rf8}ft1hEaKWd7xeR z8QP_M?rv__*W;RY(z7O_^6rrt<)_?A8pz>T3tQIEV`*uq=#ld z-_A{DT$rgineFj2b zV4Sc@+ct~tvHbX7)Z?E%3!dh6xMjV+!^>i| z7MpeIG?y)Gdv(-?y(4b-_!X|SZQcI7Hx4q^r8etxp7$)i-(zi%gL`I*&$si&Wsxe= zy611+_$hGdQnMLg7-!g*L@jmk=E#)KD!b(l@7{H3?iF>?!bb-vbDPQ>e`)L3I=U;p z3Bf-Oxt*OD=q<+|A26pWx|zM_h-r|_{j|hkQ5$@R&tT@<#K_~rSIxv;cF2J}!cc;9 zczbO5eg&l~^=fz?<`S~Upr%+nR&BZN%G4ZY&aLG?W165S;zb6I2w33>yhcgh1>p$6 z=F4I7IR#T|iqXfZPzl>UJ$00M-((>#{3tXb*H`O8C)7L^uWFebtVIW{oabcq!v_uw zW1t^nfyG=f@(33u+oK~8=#*MEEq5tcyy<+mPLu)r}wH>l!&Hp!;tP*o#-u>jcx}kfN~#bQ&;tI zUB>HCjD$iuzHt--IbJjNFO~^<5d;-j_kDhT`p|R;rD4*A@={C{pBgT@6G?>9ABKuK z`*UpEEoC+ozUs5M-aNSKq1l?zE#Eegq-Hv0EO6!z_!2QoZB&ov%p+Iq)-8c}qc&!z z0mIXfc^5&l?YB++RnUE(N$uu)+wzI~CXZTVuNwAxxe2d?TD5zO%*htkM_Wt0uGhF3 zjaw=|U*m_y=S>OIn96$W*rljMR)LBYaz0*`F;F_Z-@1V=gQq+2eZIyT4v#VAu~d+D z$YH)|bB0*O4npya3`$RL{_AU;1ff{D2mk-^`f70sfuv%lC!GPjOdu#s=0LvVI^x^` zU6f^sh_G3z5%!4of|U}2bkeWdJ(@xr(#LnTFMz4*cMQFcI0Q$}i4~-qVjlTB6$eI+ zjO5>tg!`+E+Q{#Z%YcHK?y~z-^B&#ue`!g)&el1n2l=&aBB|nSTxxxns`H9Y65SeR z7&=l(VM;|2NB6?avsBg|GE=|W?G_Kq1e#eg8_2e3-Q~u9@G^i}qQq-L9?rk5T6d=7 z_k3vp>A_ZkMXO?78i89ASPIaPq8aaH83!ojCP~@e^IJ2|PGllG?;m=0Y*cx$ZP-uO zB$&%u-k`wypptnN#i$xTxl`ynOntctM-nPLR9mG%x|_kcwv zF}Ta>x?P`;19TftHDVh5`(ItW<$h;vSx4Ums&)p%?qjI(tS_-2?Gt#t#m2-I@5kp; z_c>X6t^LV}h?}P-NxasJ3=9NA1?|aKbr7Q9dJ*G?dDhpE5J5wWG0)7q<>k_an`jdB zTAK#_x@ajjs3!I%x{KM2{NYL_=N|?9Jg48sm?(!9C2)YHP(}0M#=NP5(SfkM!^q=r zZjFdw1+#Cgv%x7sG8faj2w<65o>+Cz}*WWLio?^!XrWy73 zb}70LzL1xd;2M#AA(>#RaV1O2Ks@V6R?3l4w^*1si^ne`S(o)$O2Yv248|*#SbZ z2s)0KJ~lk##(Ku_4#$1dNoV%QtNnwUdJ+?J5R75@Gi_3!k5`v7g#Q_y*P#1L@v5Gm zF1%=<=1B72FG;_%_@JY5+g4F-_3EE0mUVUHM$3uL1wAsO&x*G)Ouxj~&QA=KKYh{b zY|xbuUpaLRjTPiWknyjE500AP@X6kpz=U%4A}Av+(|%OnNw;u*P6!dvGmxPqu|ikx z`s6$6A;WpDo9(7uHlxqPLyWg1V>BgPRs^z0?o_t2H-8JIHbORM{O5a2{hYxNH{Zp( zI$X+fa0SfDETcb7z+GZ9Hdu!kkAmdJ#Cx1XW`T5*m;Xt~1#1;wdDvZ_LOuVTKp7Sk z6o+#J263Pqpu|`f?LRk%#P9MRHDYl8<-b3?i`>_hm*FYSg6u%-BS@(_-fmKt&xZ5H zAOvPCFT9a9-Cdq&KA+b|DM%#myifJJ{cyeFCgk};Coqo8GHe~T82m~y5 zGPLfA8a`Sa3gzE10+7MDBioP7+!UEOwC1s%pT~O3ON$)`OQxHP8Z@QwS|$!7z$oCj zg)p8$?i8$Eqc=}Tdjmt4A4vwy*N@s#wPs;AvE35w8YUADn0=|h^Ct62O@<9!rF+1Q zvom1SsP_c}yyZTR`<_!-lKF=_A-l|C7pPHM<2ZS7#wKQ#MkbVOym@J;`k^^K%HFM? zf9qtr(&#vbW0LD6*81BEQ(w=zVjJ%50x^F6b@7%P)VdV6a{%w{yAD6k-j6#%ATBdj zG;8gVxMs&_?(}=!?N&VyO6Cz1FFPNk^Uqs*RNSH@i(hOzO*h-pEI*kbP}jUweTu*K zyZSmT&9djZqujCVt?`mei+HUN%8}`cXMxoK>CL95cc@nJGCZ+VtmmUdbH3hx2)me* zylr3Z+_i4Vmsbnkd(tHB_%;&BBK_T`=JJY5T5Zua9SaIt>8RGPou%cM=p&ULT7ykr zH_uj;92PH=LUDkg>@rQU*1Vr#)21qM%F1gfHoAi)5{Y|wHJ$izoH4h(_kDNq*&0XB zby+|GD7x3hO$wVCqz;eYdGP#Y;wwfKw%hV(@gxgNHSg({s+^m7t*vps5@8YkVs%tf z6||qgeDuVzwwGB9oDzd9Gk7@uK`eat@RAi3yOEBdos^kzT{}o5ipCeK))X)&=Hn0X z{;0GaCx!+&YJ6WsRpPgdm*t}d{ZXHH{ToW`jORwA%!GPT<0lfV$%xD(sb%t0O-6D( zh5kL`I#H%tGiiq65_O4WZmW!mO(kvad@E;IOSc6r2ANf@iC(CCU}E3^2B3>ZYu$J` z#hpfl?d~WtW`FLavSGornk6zrKO&;4AZ;ljleH6*yLerq-v2L@-k*(0N~mH<)(l?! zpx{}akAI~4p<`3S)A~pxcQP5z7Pm(J#qicClFTmJ&$CX@-@vcuwr1hM^IO!~kY!Px`6IbA9(0?@qFsRO`05 z*4a_MmE_%1pc3AGgzI!QZ$-1*$p&}YH#so$o9_U&NB#7kAsJ{h0rF zWm>d`&M6A>v3uF@Lf+y7lXiO!Z}VLHxjQj%yM{XNZhXj2Q!=E%d8P< zmz3~=D&qYKIvRHmDv=(|i}?z;}LT;C(Xg1Z5Ru^{`O>O+R=8L7nb4Na&U~8InpG;xqG^YN5dmw2# zF>9Ix4f}Q~NWJ~7yprgRS7jS;OQz=+ib4D*UAZ~A#%MuJXpF~)j{ObS1RZG^X z4F-3R0s2I+(Q;vmW@-Wh>E0i$D=+cNjLR%xNVy2sEXW->u`~B4RLQsAtb4#@%F*Ej zSmzf|Y5)w;9}QvyW{4w>V}BYrFas!tPw7+=Yz4Eyzd&g)c~QmCb@;XAtWVj2(iWXm z7`{1ZNaVxRjyJMbJ9fgqT;#WnLFdQPTP<39Z|t4p-|noETGGw5%&|=~u^P;C%Cu?1 zbMd;At5iqv&R`ZX9+{fH`{!MK>%X_tnr86x9;+;10`Vq+=tWRZ7%f^2mr608bEln2 zoigM0q*;3VM?~CT|GteRWe2mH}7P6zVPul1{a*1@i%kqM#NJt;Cib0 z@!+!%`}jgUxPYht`mPEJh$9~Xmg*=Up#5|i9me~}RtaMRaWiWpl>^>w!6;szy8?X- zxkLpCA1u$fIhgL6@iP=(-0Sse<ZDjd*Xz zlZ*I7vdX*1phHKo1Dg#$ec349j{%D0Os*!yxNRHBBjxTB-goYJW!VYhi*}NmPYn;4 zV0$M>!&}bHSu)qG+EJl(`YAI%b_7wr2Q%xrz)?4O8B_`QnqoJnlia0Fyur|NM8-qX z+;Vod8cfFvEOLS2N)BI$`Ypw|;h4zC(nVwA5+=X(`Gtsyx(C*uyP&0UhrnnSq#pDR zevL*z6+Oq5^xi>wkm=a-NT7EyZx~(y(~p`Lqfs`47{p9S!q8WI;6j(&9iKJ30b5i= z{92@X>|_&(;#kU#s6w&Ils$bCb}27tvF!xzXHsiM(QmDgRcC~bAqD}Y=+1jp!MIeC z&QK{L<$VXm;$V=^R6XV4D^n>0Qdn4N{+#NTx70IUALv)FY3Pw4PR89_nTCN(JKy=| zn{mTUy1b;={focM8naCb!|q?t)HzG+zpuK=QB@+>RU=cClp`DOOPLnuC5{~c=@Zly zxIV2yHm~lorPR5d4crJwPT)OBzT7`bU3}Bp<-#yq+?Jfy+jpv{HM!@NUy%>7 zk>_bjf}lf64F0(gQ3SyRpYfx-W+9pr#`d2eB^}op*>C-D5lOy3&y^FQmJOjIBtBEd znepZCwt}+y+i_@9hd)2qumN9l4&+vYu2%RumXYr`eCSX*>?DH*Wkz5m*;nh8VfVfh0T%#ZEjuq5G5Fe$Q3bZ7!L6 z?9@nayHN3+irxlJc8;B*726({-?~}2`sv5M$LP-j+|F6J`3trG28asI#U^kZlc;zQ zUii{Lj66TelIL!=D?4k6WZ9 zaIs?FZuQw0$P17CsYa-aYm6sNfC{33g!f~-!dqURc)Bh5(dITDt-CN0-s??&**)S` zLw4cP_wLnUS>mpUqt|b$MtffugD~XuNEKnOcsannhXH|sUw*o%$c|sJ;+%g|eHB?t zyycK1PxF4R^yD>sh+&M5PqTc(spEB4da&@sgZY#QNvr)mY+kZ3q=%om`gX zGCCf`2B2)<+kb32(r<=30~&JIQ{UI1)$#T48y`bye~RfzvpW?@tzNKr?ncL7ep4_# zL>f47AWZawd-wY7W=t*pnVU~%vj~p@&aDyy^J8bnHaLtsA~*5s?F-^H9d|MrP_bu7 zli5oTbLu*|X9vx)c8QPuoV5CBcxK`+e~}oj%-<5<=MpcNDyQlNOU#=t*6W2521vXd z>eQH`TXhEkE)@2+8@F4E5P~j-JhEDs zUrbdv^Mi83K7cj{~J9IIw2de7d79Qxh7 zTeoM6?OLRP=9~D|4m0;!vf^-C+rH^UR@`*Jg?G~RgQ@G zb9+34h#hmw`qmee9nt*xFl$RrMo;G!n=i?kT3R;v zw6Z^*x3KP<%H3y9?hBKr)FzF7U|iXL;~J&>ty>2=7);MU(DLaOjqLXI=}9|W7L`ql z0(Xe>pSw`r>wfc64OmFh{>4L^N+ik*J&{5e_4LL5K+{QAKHf?t<6iwHg84PQ@;YZ3 zyBKue_wcl4!NyNtD)T%oUOH5JG9RS4vZ#q{sAu|^=X>%x>^?OzbgJ15MYFUFe(c$3 zncU=_*&byfHBUCE8%OO(RPVg?<{p){TG!;2d!+R!P97cEKOiNfR{weB-Tt4BsyKgf z($4tNELqdDXm!qwK@Xj^v$r%W9T1n}Ii$_6a=AF8N7HuHS0V$2xTuMF(=_^w+ixpr z60Nmkq!v5ePdy>D^Va^=Zbsp+S2=ci6!PG9Tgjxf;Zq(c>=|+<$l&)UhhKyJyvkos zlr*U9w0@ghYoU0*&{41H$WU;Ox%>Nui?@<)eXmfc9#F5_DfyB4!hy|hJa%&58+9|X zUH$c(ZutpD>$mrO+9G*UZgOmmA$$-Wbh;e3+&cnvO9tIF+Kz`fWsVAn$wfn2dV{-J zR}pa*PkKFEt@^DbTGstl`w#&l=rCxgjPk4r*IgEoQt(QWZ%ohEWh~(xUa&a1e=pGm5*lEWE=?F4tvk996x!&>5HU@Gc4cCZrFf`V`O%_ zAm5KaW?Kf@SV?By8vjJ#)M!1QF?0LP5sPCodi@SV)2R=}`d(DORCZ&?v%qe{bz)!l zlzz$;D_wa=iJva`H^-`vWCjrqeCo6rOo$Z2Gvk zvJIr~wrEq`17+VL=H4ynDCxNjH{A0Wzn&w7j|movKB<=+jF#eDh+zVxd$pER7`>9= zhj;d86g%Bi{y_Srkl>_%F9(1vQXg`}5A*jFvEg0Fb=jQ9zKE>*v~mdcZF16Va`VOJ z55`JeefLep8jPm%x(UyD{N?z`&Akql9?;6$DUn=sm>U6dT}kF7r6bm-Wwn8s0@j!7%kf>39(@H&FHMGukpEmZ-~& z5v$m5>eUe6K-ae|`JSPw;jbs~bwjHAEEA4bDO{S~Yaczw1Ov7l@^X+_SnueUo8^O= z3dFfPAaj#9Z#xQhY&o6{TlHvr#2V9zboBACTM;j8YP#FRL;Z%q9}qy5`HUU* ze0gJtw6s)}^>M$Wj$rKSG&M;~PmQJ~NB&FyA|1m=3%|e7{Ejpcw+E8}_AaVvY#TaO z_rOqR_q@bInZ{p_Ref!()q7>a5+vg=rP_J-Ia)Ml6QL_ z<}nV0Y-)CaM#ryLU;aJhUVC2ZpwCA{^xMt7K!P7z*YX*6DRHb>IDNF#l?nPRi?@4W zQrJ$fgkA5xCCW@5U8=FfQSFhR#>$GODW>1wChxXa_bQ|Yc;e}A^I$eWvVvFsaXpwm zvN6BfKJ<*U!j(4@^cCKnSa!zgRa zby5Fc#(Uj2`CwW>dr$RaU&R`clf1LVJ5N`9{P?kdd$ntc3#0Dl=FDnxXSZO{4rwsr z$}8~E1Y7^eQ`HDr940pjYU{H`;wZJ=1yAOz?l|Yg(D>ccH|m87{4KNE=y>U_zCz{T zowg%oCcnPeym4^?J}>$%@8yIknFPhW$?hkqQ5P8gdb(lp!B`IfncC@9U4059UO52$ z7{DzkSXkN)5jHC9)nnshKaN#7khZtrpcL6Iy|L;A_H_GJk3~adJH|`u_pj?bT+gAY zNse8unb5PAt^;7N=2cNq@)r;h)AYH@f4M)Or=ni zA~SiYj0urcDw#4CC6o+Lk@|jD-v9S~`*@F+NA11u`?{}d4d*)7I=l4z92zEqJZaC2 zgMK?gLe4#(-S)xGtMer3ep7>*OUVb{DkzVNJ4ebwV5;I06jFTL?k=&*gbDZE0}3m@ z=V?@AH6>LqSeI!MDywgN9oO>f)O8hAE;><#l|F4EhSzQDw&m6LaGSEdaoOh{HT7!K zq*8Zh{0%Kf*R_ksM|eHzzhXf_<$l#azxOU()34@M=h`uY>VB!^jGL+KZZq!7pchwn zM*KXIZ!pBtbx_HIji3}A!RrfXxq!pu*}G{%+}JV=YXs$%PFs^Y|U< za9v@e(U>u%Z&tM4I^M^38J>UD_Pu3;?k;Y0z94OL#jx(anr!b4&q=QGMk?D{FDlBL zaQbQF4c%$4bJgTGhitp@Z{80Xk*JY|rP03*O_y@R9-5>lw)Kg>x81*_=kWOUJHifp zkg5(`Zy2k%Xza+iGw_&ji zeT5qi9e2&4+^K`uJag3~e~+s01vob?SY1N4?=uh{KoG>rp^YuQckJpKc=z4Cs?#@K zn9^`^dhV9jgTIwNF>#ETZ&YXIRvn@4ZL_27qJn#?A=P&V+>H7*WT53j4c&Hj6=#ed zP2PO3{k?MUdpk#_EuVQ=H==KRY;X=q#771HtmyA~Mt3XzskKbH??0~2X7Qe?sZO1K zxsV1&Ea+MrmHVoP8p8i~m^jy8a!$Z&>9bb&hi=-0l~3EBR(fE}_X(Y$QuO zq5Hf^K1w%t(7Gcv2hRxaFNt6GOhQF=&M>=F*3;jp;}S=rp+iKHgCCmvdUE^nZtk=L2hOuc~PE7PQsUczs$ zaY)H+^(AyT*8GiGwPxm1JM{*#*)$`|JNTbr%Qmd~x~_*=iwBuAZAVDzkBBRMJn2R8#Vi+>9j7(iXV~}e=GqmL zc_H6`DZ8f?haRB9oqK4^bMWTj+;DW?OgRqni=#$o+#A=OecWzCn1JeqNhf$rntwt| zHQ;saj!WK$+7k{NK{{WyuWfKip6p@rz;O2}ovm*iFazg3C%EUs~k%jn| z4F{*Taa*=VUh`wA1y^P|?&(Lbu3S;6*BeKK8TAo3=k>0G&0#!+bzrnqc*QL%ZuLIc z-XrF=XVYxb%^yq!~?;?3)*NGgy^({QtiCNrHY0+|kML_V%i4 z&WY8OEKFSNRP#sq`DeO_-PTxSZqKar`Qu>d}(VKt7(SpYQsUTLgCY9*0`ed3qcraFy@wBXhJ_K>wm!Nz z^tDABNfmM2)(>+CO1Q)OYn2Cylx_RurcEFAw(%F3k!@EBi&M;j-`$k0N7;2Hnd;+L z(<17REY-MoXBKg$xDy+tPRRx1fp&%Gs=F{ZrlaX;5ucsSNNqLyjQ_tkDh4U&a0lW! zmI~(_{Rm)p4wxK3!b`FJ#MR9Wf7n`W%54!=t$wo1(&~_BQmmDND688gSre0!3X1W5 zJWkhipL-QYtS1zvVmVY@f>xJ3H>Oxn_PouG?cXGlnaNsajvsUnZTzEw|BP-^Y7uI- zv+U827Kh7!_#T`xz{Ek?hh?-LrS$&(&pz)ar{h_HpNP11hfg+)RDXDAj2INTXO9ol zbvG`cybSDI0*WYRGJblZ$CQ;Da<^WQS|c$|5&4K^@AX*~PL%hWZ+gu50>7~d+ok*I z?w@gN+U7*7<}G7kZ$BVPy?dx}WM1;Nd>(mb#|=JjhMr%O5WVoT2)NAdERXu~Bsn%4 zNK`n&;C2szBPg7Lfq^akduBa%q^1cUJ?hOdWd8d3af8z9Hh@8J}JgB0F^ z)$6A#RGlr38z>o9mhnntm~N{>%{?BceOgTghWZ9cic(+JCMaofOp=kB+S#sc^%P%7 zu>#AVB(#!rz2FynX?B?3g?-hUq%OM#*{8syPf%C&XQT|d5kr6uToJ0H(B1{vf(lbN zGi%!RQ0RFAv`neK6warpoL_wjs?B`4CTigwmp!Ej>;Xld8#DWzdb=7-)hrl3q$Rsd02nPwmKQ|RUOY5!hxzDBdVRCSRL@XNPJ%qPNl-9;lXrliWgYY+i~ z<;qDs z2i!c3K&vTJnCke3RGXgXdbD*J>3o$k>u*w}CE9Cn2K`LE0d z@`h5(rXXzHC~cUpB{ggnkv*c zjw6gGKO0{ll8*5fhKe_|-Ay_OLmw8RaDJS}`m3(Vg#-N!H?N4GdjW4F(ihcpvrR1) z&eMKn({IqANzwwiB(Gz|aA$}+6o%7YZus)T=&PlVxdV5{O?K=#tgOJY57et-dM!|e zr*rIj#GWCYf4L9dso_hz54n6#6zdpY;+I2><0WXJk*mSju`m78c>Ktw4|+YBDYV(| z&^NO4V#6DNJ&`|Ga>)*3hC3=6R1=Ks{X9NKUrhs zzI2+E5o^WNJP0sB3Y2_0p5LFenB6dvJ|Se^+61TOXw+7CLBTH~5bbMg8bG@REmch1LH$OQ^hmh|XenN{dbbsl> zRS{l~pXo({FC-s5T8s&x@HcLR&_4k3+~TRe;WRs?+}8{893#K!G-v)lBr1tb!_{q4|$dyaLP;IMfGQKhc@Q=7nOt2ag5 zGLdJ8R9R|SqCUrYECg!E1)yv9oYw5SVBH1~E+9W5dG@D&N4tNH&SqVL6fmisu04fg zBjz{pfM7Vyd9UvsQDTIG%ljW4*d2;yWus3_R)D@Whw<`)wfv#WLH`K?VaMEvrt796 z{hSnP#Jj5Z!P!Hu_>glWS}X3>iJXm~-tN2gB6+Sk$Ni`Itohxljk;9$nvCt~KOP>N zU2TA`iR?Iqz$6Plv5>rbJco5V^I3rEPEJ^(bZ_mF+3`=#T6S;jvM}tcre;y}m4fDa z{0#ex_J)f0GW84*q+A_;xCXAl$Z1aev))u|f->WD=t`jXrwAm{hfp`=&_y^XE zecs8rdc{aF#S{vdQ2K_?DcIRryK|zmAqc|6YCo0ORBUzsN%?(_Mu;na^Q|5y5ZE~`FIh`&_e1rQ;*yKPW(*(Fzv;8&MnBId zHWs#BjShzPKZTvZ{DG-lrm!zx7r``wuXlZn8_UAtXezl5O$CzbVEYtwj>L>IF=L2U z(TBtB*x2li;U&o^Zq`#qTc9ThLU0&&cBBk$&zVP-NS1}L_hWVzAvQ(Da}+#>Rd#Xq z^J@TEy*U4Fr!yt9`5;=as9`!>H-zUYT}dUWmG>MwU|SX><@OcBVR_9k(hF6(Xj%GbJrVxoB`|Z@Pb`_3(OmhDr?to=a2z{ zG1Wv7iInwP`M%k5j^@!gAP|h+^4M<4gGAiBU?#otts0UbuQ!;$dlun@bg=80l5+2- zpRY(WDcwZ}B(bxrQ}w!{N2QlG_l@Q7KNx{gc6}D`pI}f@4FPh=HoZl0oR+=REn&-Z zDLmozehn{Y2HP!j3<+E|K6ujUNUs58T}`$C0nt$0KzRmL6M#TnqdWhTk*;DF z5sL$+Da-`-1RoHAS}U6sMSw3@hBc$*WB2Y|;M3kP3rmYF8zIYrl;M11n@5c1g|5`5 z?yq#XR!~f-xLsRCLvy|q<0XD8jpQ~gR16ihzvAQKD`Ph};ccggv^ z$Ii&hD1*jTRf*w-Vr+)&4Y@S&C+yFn=Z_vRtQU$W;?W@rZ%xoUQ_zsf<`NoF6NYDd zg?S~+V8r32!*)zxz0^oEK4l4Ib}V92^oYsazv@Jnz=_HQL6N517PrGGz%C{|oG^mSZhkFZcJ} z9#V1Pm{cYxE}Sei)rP7$O}_9IuDYJNrb){yrWD#AlY0&gUpkX+bqulK6KAaTipw*E zS9_y(k4E>7(Azql&&Bz0riKL4{KxRGcOqQDj1aN4m+|bbH8pNX+y6-uIpu*~;&juyvunU!Cx@e8vD_SNVys_kpbJG1}sym4%> zM4~zWk}O07)^5t@V;My(nMoX$lRr;Xm2luuFJC62l9tTD|ePUW8YqL)t2UAmBqgbbGv1xw*^b5N}gQ%Q~)WxZm&N;27>t+gh25lOm+Ce21 zdWtrM%II&?yhwqPs;q%v%ddnc0rHbye8oUxmmMjn@EAZw?lC-5nxM#d!78{Rk@CYlP2RxuH~ zsqt0Q;JSqG(N=ELkO!*u9v62+Y+ovHu$*YNsh~bC*aYm@M(BZ};f04p)5Jx#qbv)3 zCG=4?{8`VIpu<-=%?}POZ9CWK??_Yb`)>5+SH03+=>*o%Ng?`A1ACZk@`J(Ma0#kX zc;1J?S3!9ncFVKceMWdjr=$?1Ho{ z^v z2yj`w_2#uUQVk4MTdrf56joSC$43``_fECHVoF@5BSFRMai218I(cSFnsOUTD)J)c z%OW~#IhLY=bODO@%P)!QYrCkNqeEMJXOvO`PkUMJo!0Un#c^dZp;G6{xU!n2eyyU) zw^f^T>3aF(fXUvir!_dV-Rj^&m|!w{_q$tBuQbzKH`V=Gd$Y;5aiH3tiN-CyI|nzo zQWI@DgZo&1NhoPzm@*2kx70Fj*L1&yqvf^S=cgktzoRD5+|KtQg_)>1L^|kI- z^C*F+>Ru3Z&bDL4OnwS-DEBnMzvOTi!`Hd-2{aDn4tUomHl&A0WrBYwxPl9MI?^?Gpo2?g$p~~0 zGn?vrb-JrG)%YARtt<;d&l7;!G!c+L{87#%6x_A4;o zRPkQ4=u;;a>+|G(CNS#)#Rjj?mImYHAN|r;A+zk<;p=sqVPz$>_)`gWe!h@E!%hk^ znwF$(=bkXO1n7dElS@ zok4`>72c8|z{5rIl)vL->CcO}8BDXD4iOAwK){YZm===J+V8^@T*52Tk00WD`6@2F<;DrIan8i8@Qa-53DKE|6d!({SXgpS} zx<7DnpaRV|IW)~Oi=nDysO=F8WM*gq6e74(8_;u*%4n@0%S_*f(jR5vkSFiWHd~&f9 zzRCMfai?8lzdF?H^`CS&PIjhU+iQJo0|G4-ezmP%Xw#4|s8O-!##wW+_2yW+>SvdE zyt{c#OYU@S^!}J`$%7Jzn*Hegn;F*bh^~T7vC(3Z*pZ*;u>r&_+OXgH;Hcr2u@M-d|CLc#3l&|r z8$`oXpH3(zx1>vkdmhCQQ!({%X^D=^0%y_3w?Zb%vYR?)IMD#xk=cu4>OaRBdi*a~ zl%k)B^C8-YoKKTsQPYJCiO~r&9X^7RsiVBm15`ps%C0UcpLG1SC=!MclpZ7VP_^ zNk`UIt{IlS=ug3_ae%y!j{R`()*I2Y%l2b`xefF(OJ*+>T`X8Ya-+vYX>?IN0o!5W3_YJrd-d}38X+b_sv`Qa`L*vM-ies< zwUv*^iH4B1SHgg9i~!-QTvhR6>g&rMe>ok4<%VO$gw` zgCZZfN{{g71;p3BAa@*bzTgoJps`i62ZMnSe~GqCeGRizwbpz+@3w+7DM+rJlc6qN=8HC1)rx4m$nw8wJS!I$NANUc>ZXw?#YU3YiP{l(8JyeFSr<; zhkX+rp-eJUTjdG8Q=*j$HgO0YM27!@-AyQ&u0|6TTdI^KP{c=ZtkR+NiXt$8cXf70sPI0g) zKI98g6rr_{pkPb_3fX_EL&L+p3Xa@n0!YrDfxG9ss+MBP1jK;f8(a5UB>jRWEg0#1 z4l%K4{U$!9b1i7Y(or^rkUwe0d`g5uc1uUWnCu0eaUS4tQy;K%!m3 z8q+tK{iFP(uk9p^uaLn_{?x*45pSdw>~Vz5Jc)q7gyy@qEvh{JfqH_bSX3l-;ef1O-$Y;J5Co>o}9J%q98pH?iV~Yb=Hx#RFOWWJtEo zP>UqNMN3KPqSQiN?s3ZkeL@n1atxJftvh|_O zfyt_G3R_8fR6VjBI^cnts7NaeYm=s1GO0`v;_?kq?T%>9qE8qh-SW4{9ewLf&EHHq zE-XYa$t2(Ik6Nw$`w|NQLw)`w^^CCFG!VIIKu9tbq@aM}7mO&tk--O7+P(XsfJ*(L zFiYp280QG5%u=aga632IFwJ>!%Qc2k3+9_yKT~Kv63IzT`bUNjFCJ^&MFz3qhPHTO zZoVoceEa6His!HQg+D+LV&5rQayD(tgFR5*AcO@sU!2t6^^AjH+}tRlZr-@J)!Cg} zoTHcaXO~-VV?$es?JlY76M6*33x()6zy$Y}mWXn{r0c$1os4#F>$wf}2QU}{`pwt) z`|CrEZop4eZ@3pN{jg8&?z^uPR(g_)O8C_q(?3C;do@%nAH_epo2Z1)8rbQJx;5uQT&VN($6B zDxgwsx{F}wsSgYHk2=3gg+rzuJ?zA zysz(|JBs##Zl~`4>EC~BSVw25VL9b*nMJJiBvBvQJ6Os5?3|L5-u=#K$qlgC4xv9_ zR(8&uy6p}lYlm41hTIdEy;1K6>fGtw!f{)e&65Gz;!*KIL$6_q(zy`Yaxu?-AL3h&={x&==sdQ0AiRih4OS;(DIcjzFF zVx66MUWFf)Uy4oSDtW;1gR`Hg3p@eZ{$Gn>CHhrO>-uU=w`kq~60?WHO4PeW7@vgC z|N5l9n_Tbk0T5at$5ZF&F||=CS#VBXmJOT`+v{H6p}fg@oNEhn>%{#3vo{0go}21u z(L0iTr7Q68`1xY92eP1b&8y|3G*IKI$}>Tbl)$Z?YHGo0xZ&(>-H-2~JVyz?$4T|5 zh_ujT)SAM&%sMmccvH!9my4$hg4DH}x79q2@kR97W7rO?2qGHn49}YBN`+ zYodR~Uh#X~$7sSvX)f0qNy4b=av3L__YQhDc1_lvVc;m!?4KR!8gfLd*|=n?=|yVz zGQ~^a8vFPH9x@| z@g{sHOMy10$9YRK6^B)Rn*Q`6>rSq)BaO|@O*K?pzZH6v;I7=f9vfV6QKB3D!ln6n zKP~_!!Y1cb46?TVzo&wQ>E>b9e7ZYj^g5jV-(*o_B*^n=vwxsyoBThz=EAta4rb6W z0|qvm1UUnnnlowvLCs51vHKw=AYo~X2ov$nl$7_QPcBK=2%SbdAizp-VCa#QL3)bn z54bAHjV?UKvt4;?3J(DcpMNIFK^Avdy0WD0ZaqcrOX9{GR(23lE1cPa=P!EQ+JE^SR}}|?>OGpb9m?F+4q*iP0nFMwr1l6Q}3l# z{Q#i=2pGs{_gPuE4$G`A~CzS+)_&% z_wAoF@w@P`OxGxhD(Kna<5w~td`aYT4T9a{Gfy?swy@P*8Il|Pe}^-Cns(vY5p(|c z0bLXo#a*@Osp?*#06C?$Yl8jGH}`^@0fw%Bfd&q#dYRb$od=62ew%UY%(g(gnRV@& z7%Mg3CddcO^35Hz`(ZqIbUXG^gCd7q%0ubMN4Jek|rjxcHNx{ zC+mr}dxC?d&0J>~S$8ZxJr;-3O_^1$kbBfJ*WR<3of{ndarNYjRZ6oig$P?BT)7;4 zDho1nMDs*XS3qff7bP{@{(Io=if+}pm-=>Hzcqv{e4+W!GjvW&*_cq$@`hWRv|l^9 zEJk4I9X%1|;s!BT^f!5@iC+Am=)G6I+%2EiT`FCgWf5Az$S2)&3_@0#VcQ8s=@)CG z|7&iNH=nY7F|k4O15ukSEP?IW=Kqw`HGL}G;A~yr)UGDay3obYWq4&u{&=~gtB;rM zs?x|z*LIp)dg`Jy=ln@$?>XMH%)V5q4BBUJJ8`_(aV?iXtx_-j>n3C8e2eW^Ic)X9 zq>^u)!^vD8tT)UUuK(f6!`~fum67IAJGFL@-Sn^qF_!3U6BZ?)>+8MBUngykW*3{f zJ3Vu>?r^Y0gmw=&*e#p4kyR{o8Z~3BF}b!eeYW3z`*j@~L;bynb>ODBxflwG#N(Lq zs+(gZsR~1q!=*uo^(DK+DKwRsi#R(GVj{0@r_Xxns)#-U(+AB4Fu>=As*%KM_dX+^ zr1<#Pq?`~K{05GfDrzg3wVq?v)7fL|hvXLOBVva*dK`+a+xaSyLnUebky!JC6(1bm z=CJu9%%8%lEndS$2C~@dH=Q2rpCR#(Eioz4*vOb|(EyJa1=02&u#7kx-J-^!F2_pD zReqkS*?BGX{p1BjwWoG(8t~`)^$izJ9bfQ|@0jO{;;17QkFhp4ObY+?X#UcZO`mMc zq{~z$H7zI}_gU4y()G=7B$paz|D&$+?dgW4oslVp0}tIYI}k)uW- zI>Q8Q&bab@0k{@)VDo#vZSr`@$#ygMb*C^{nVJ%RCz!B zWWCSP6@C_VuT%yHy&JgYN8EC|`Qz%&Wp*z6R?p%W_h~;={)}Sde-~8c_XTx#)ZX`i zEX%f@SVWm-=EzY# zTbmzy$P6c^`wK51wZ313m`(;`6$_OZkkzs9(Uwnt@rsvtII6-3)ZKdZq(tgj=-tJ@rqs5gY3ci42{V)DtdiXOvUwo9d>`VVsnPE5(U z+t=e9;F6gXsqsbW3Z{mUcZ4KCad9z8(tVLZFwJ=m0cuR-9NuM z93Ou}{JhDQoMFfpeUv>?4eZb8%X=LhxY0Yj(#&FlXYAZbtq-i;>SVm(XPCmSsHnR> zvYMt>?oO}AIY!n2GUXjG`UlA}iJS6l*ZrrSgjN#HSR~yEzzIntUukjTkHCDputz_7 z^`5n@tvS)pF6Met+t^~h>Fwq_7B%wE-HdymNl%XvZ;e0t?(|q$;iMhSpVQWIK5sYG zC^{P3%+JZ!s9A5EG+6;Pkyb$KYI{9&xwfHTG>7GxX8B-d%hu+LRCeTj$jOesXF_vv zSi;k-+^obR?VFU0L} zhfTM$HbYj}`p}@m`yaeXA_-P&DegpFv7-F^6{n$bcMhBL3BKB9iHj;aOmQ>pk{%L# zip>DQ!{F07=8iLjdWUxW$&+C^Ooo`fZsWv>LW<7W#pU;pst+GNIJmmL%e81%%M+?7b`s~k{{nBf8XUB0VfR78&!;6o1 zb92+B50{SaqIJ6%JBn#!WHY0*cl(8f&`O)Sv}DTJT*gentpD)t-74$`;XlA+Xw2p1-g6igL{ z1!ZJ#s;O~8P_&XkLV&2qGtKq%^!xK`^)pS2%X_Vu0E)yZIzI61Py|^1>e{I@XZ(R< zc+Btpdd}ALQCi&ZijTN)iN?04JDczP`QFE-o7(hzNEqGG4Z}D-on%n%7io>wbYWG%;_?7Ddp~(v1u;U~i*DD#thZrapH1^@G>PY_BO-o7|P@r`XSp3^3HHo$nyNSPo# ze(YF8WTY%`24fSds-9@bG#^<(++azq$@av}+gHfi;3D~}9&H!=5tuOl*t5HKhZ9;A z1_d~pS|=KTTq&9%4MThcMb$PwyP}fuL7l1Rx^=Onpc_xMl*sp0YBKNo={D-EM{R zz>)-91%t0LnwPODm1vNvs&2sH03UN2u>e0A9!nnel1e$J2*|FzjHT>+Y5;SU33LJ@ z803P4C~*(F^@?Bp`L)$AsT}7vI{iD+Kz)n+4;4>}ZScZx#f`=q&a`*!bp1-;Un|x^ zIJ*ex>a<^?cS&OUtMbpMJfHR&=H~Gt=-{sQ>l|)#IL?A?p2CdbD~ECyB4e)HjZyqi zs4DLRRTZ@9+`03RA*U$EopaPyDN@iiFi4a)&@_{-^!ApMO5M&mvK0LTp-9U898HZy z_G89l zG1W?YSNC>HER|fWj0~P|2%-tQB?0a_|4lo;=F$F(`zy^btp9X67`gLoHkdpIm5*_m zIg_a6h7T1~iTWgwZ%EXa0b|Z^c7EW~txE@e?U>z>k&3c@IyzIbMk>%-Wg{_rl{kq{ll9^=laAzWR@7};5a(DMc+&{9( zK;%=UR987l^DaE)U|!(2zHq|n$$6mXkAS}@21+HKQ#k|HZa)pJp@pQZCMpBhUZDqAMmIAhCvZZ zkkWbxfJ_vPt@yFoNeo#L(Z15yn~S_85gNN*+VmSal4V=}{=wsdj$lZCxd8haWKI=~ zv4oin{fgG%mL(S9oemz~sM;K&1t?n_8Tu>I0)+vNgJvMW@TlAMh0B<5x* z@G)PXrhov!4YyhJ;za}88*Ehgi4#@S4)FDv3op>Z&6GE0pVy;*z|0`W*|Rgo4sBc1 zYD~kR0!z1MLv4EB%E!7)Y&-@(K77ddcm$*uty?#;up2)&wL7dA`7Cd%=md~RhHNkE zT^Q+c@jz|&tdUMk#;X0ZDMs3mx^B&3O+VE>BKb+l-`=O+*I&EA_8F1&h7htE-@^>n&6`{Ny#S?@$^ZV{ejelc zef8Ms!@vQ1TU*6Kdp~r^p2D^x=%k#u|Kv$+cq|YsCZ>IFJXebGZzm3D{MzM982Z`wU>(CM2Zg<~jF z!)>h8!gEiCY5)8%K+;lTbtL_}SNA@QBk&%0rYlxZ{Z{Y7GFw2yb=HZh9MrGJGF!>pe{#x&qru@REZx~`>);36)w4g<+6i@=wryLuRVh#M z7Vh1*dOx;ml6>S0pGK`h`{qxx>gGFFhfN(B9zK=j$03PR)T>wS-;e9@H}4BPEA_Ry zVR<>Tx9M~@&q?#GEDSxH-+oWyA)Q62#3UvbVFZa}+O=z^@6w4M>V}A3`8oGCzrFzz z)heT@;dk8b@ii!sNeTL$5b2$hWd!nLHenh9md;;!F zQqf<`PQVDLOrA1s*=zTs53iEbX0<$hwp|3Mn8DUdm)7DjYCiCt(e^(^Y)`nop!q>6 z=9$Y8n<6xhD|^K`A;|x`-q8+G6W9MeV}%DZ_EvVW*n0Qfn=6aw2Y)_lB2f=(OnIB< z@((JUx?=vNWPN>3{>&-=T=aLmB@)#mvaRNeP`YGp5-TsnWT`quReJNArrP;R6EFIE z+}zA)E6K!K0(w%6q!SS&m*J#<@lymyA~AggqO6w{eHHURGQ^o4!*ZJh$y*jyLL?!3L)Zw z3h)_$#iXlSAM!UVQr&r^2_5u|Vp>V&&>bcgTOlFmOACq0M8EWq7Yq`@=Mz}0Shb4q zY<@a=dJ=`9tBuZwieHwbs=r-j-A=OPFCvv?ZlNkk+#c;W5owS&#QB`S1q&BKv>2Tv z#uZA=L4;&G@2Jm1&{-nMg$*g`*RmO#0*L1D*&ItubSHWs(-DPM)$b+hV=AJ$w#^8kaGscyME2CSZCiT(huKpBlLQ-$ z@=5x+ti~R=BXLe+(3tVIC18A6nGStZCF-3j&d_$+kxh05N2Bj@+hN7X14L9by9C~P zqhJP~fKI$KpuZ$osb|kdRDR?}T06>3^1MCs@2+~_x*mi>G~>}U!Pv5U&z{8`A13a% zpC zVzYK2;M}p`^4HMEMfQKcY<1g)EyEo$ivBG3(K9pFsR#6&f7}@p&xm~qp|l2Od-e?L@wZNJGbJ5Nq}AP|y(t-FsH z^~Fp>9GNR%=-akPthzJwjhfoD4<^^5bW`yylD1nPA|Sg|paQULASJ^^EAad+tYgT`C{Nmd z@YG$-2B-QcZJsc1NvN)*sC!&q)X7af<^>&J{-oo+-Mh`DwoD1&IR=WsQ*kCHNEjg^ zbMhqPQ|1B-d2SuXWq{4Z&b1U@sU8wjKYtCF1wD}B03+vt1vYrTN!;9{uj`Bj03?yl z6;P=9M1ivO({VSS&wOpo%)x|Rka@X*>tyWEbr>BuVsS^-87d%mT|%fGi{QQZn!^=$ zKP}9tON20no#PVu|J)1WXAzxN*XL_Y+}4S2RH5)(XLVlZOgoQr3K*=ham;YN^=3u1 zPGWC#!X`?AosOMzwXyk3O2TF&xY|8n>gi+0JknKI(2A%Jv{DT0+c%+d&5Z5%aP)I@ z&o31hP?z!^BFX&utEyj)nLIg%$o2ixzWlpY$N%{^g&#NV_V)UvCwx&+w;dt6#hu^r zq{2Qq%m9!52LbMj!wZ9o%zb@F$wU@dn89a|>Xp#kN~5OWXH3qUMzjucgL)qgK0#Zz zj!>UAY~@=Enn-8OdWtyD1NdauI(uD#(m0BlvX?KTc4yGUMv5^jjlv_!93~rr{onm3py0Cvy=N%!4W^erIN-m2hgud?&_k`&2;@Pvu&fNrT zfWWK$qGi^L7sl%9Vw_)Q?ALWyfVo@q6Gj!^j;_acmC-oK4nUb!9ZQz zvoLA5SPp-FPvYcH7LCagS~49rw3c`*=_%jtSo)5Fm@B*fX6l=Ud44>s?~g(^i4dCH zLW=w2$7hMZg{M6}~P7C%eETe&g2kQecFWK5^lq7$h=LqC|o%+qU!;i2b>cK>a zR<8OtU8B@%WK=Ka+^%1b6d|wf)3FrCL58Vap&GA8Adgh_DUlze*5J?F^x0MKLZRfoA-F$tbtn+g|FduX2m zcWx8j5k!m$fH1%4IpSg`JAllfgBz*?viIuNt$!4DMMT5{r)2i2zfe)u%Pg40*{)h% z62HFYe(3rIxBnW@Tm^N}F+=*vL&uJNEH5wqyCjRnAR&q5(H$XPo3oUF0|zR}4@8MJ z{O$=a!$>R(-~ugP#!RH-DU$F&3N3i_2+c}f4|8$`YimMa+cZbVIv|$UuV2GO ztE{TZ$;pY@v*(I`lk3cx|KeO(7hdQak?ATcE3;m?KkZC=kzy3OP2)p9$10k6yi)u~ z!fVj?5g`}ntK#FwE@qr!zl|Hw&~`x3d*8kZmw+;!UH3P+YN(}E@mEzEb4Np3H8^ii zW#z~4QzIf2kgR(%X6B3;`9VXkew%4;-?7iw223V);`@&ur>Z+2+P(YR>zl2R7G-^T z3lknfPXG7)dzp6{s!!NEuw(}Lz_x^{CkxbeO057`fD>6oCQ3y7G2^c0bnvUmscl37 zC@$iC^z$~7eB+qZ*le0(7)h+4tULl9Bv^z&fh)@x-~aX3b#wmY3oRiL_1Tp6R+d<7 z+1hr=;vE&BmCcO=cGISrl3>-db?zLdSUIKK0n2#Tqm|1bsD%-M8&ZMMh1d`k) z(7o@ofF?MRJz`3|ys8POc)_v6?BY%en*IZe0=*t5J&sbPXE|fqFZ(x*l?7_f_}G8Q zkldR$WkZKn7iN$v@d_+qI_{TdmyCI@ev!8O?mK2q4+IFbx4(GpcQ+#wlk14NJ%929 zeQAITeV2zHO37gPZD@J((nXOZ!qY}Y>0D|mLXQ{EodeZhe1y19Vk%F=KY!v@4xL$} zL?!I{%6Dy}a>~Ee^T2>uXhySjaQLudBtG+1`sx#*p_7usJ(n$mhyUcj5A%&S2S*j( zy=ysf;_(R+%1EU^O@+<_5RG{Wr0F0Xx}VChaU}jUN`Nnigo{`AO(#KIl9LCxbn4uB zKp+JZ(eO5WO(_W(A@+y&@0ToHI(7fB{(}cEg{{hk1S%LBULq96gw~4Au*V1X?faMZ zP%|sQUo>7UZ~o$q)lV-B7&R(JVIHS~rb<}Zj|OyAM!(`|m{ewAYg+)+kyHNBuL#Xu z-x7jRxXBl}PCO%fy;Bd}*WZSE=s&x#Xeu@oY~||JKVqV%b#y-ev{HTnv8w@7(lay7 zY9_Tb)n9!7+i|jm@P$uf=T!(*7@CjEK7DFHZ!ywDAi1dqqU?a+Qh@)`elDfRKcgm|=#cf&`OMFjBoc=e%oIS`SS88=Y$uK(*N_ zKmcByRx|r4ZHBz_R^yi1e zvz$PMTD+G~R$z=XkQrLMnR&0@yg7#nLyQnxXEbV5%CTdBZ*e$7k`8kIi&ti^_Z6@A z<>gFJ-S}hm^0v6f$y26i1|rS=>$iAOS>P(f_*#B6KRvza-h&7I%?6^Ms%t_^cK~%(*fLGl{jnZ1Xdux^DEN$g2opuy;E%_q}@DQdr zS&j4n>*n|2VJ|N)F9(Mb)|)bvrGL`%bSh2OIokMVfQ(@a~F=D=F~d-Do=I znf3%|W%kq4rxb98mvk;EV_Cq!sV00|+)iGP@)c78b$f^ZSLrf*>#1oNb8O?++S)Gt zhTtTr5lLla*ntu3J3xHe)rBS}MiegzlB;Y?knq8vPfc-w?)Q#IQd4J~O=6YVFTcOX zJme_h=MO5J2NFj^+RW;2wTi%S@fZ;8!s6n+yLS&BIB-ABBeccRm7#H8n2M ztZ_feX`-@JjApBj*LPs#Ii*SKu`g6*e`8p-4Ckge&R@TMQw7(jOA2)UrrY|!2#n&W z^Oh(`lBzmsJ??Iq-9loep}f8SvjjO(G15ui$u7YFE56a^aF}kl|2@)6t{F+%)JA4` zqV|=QrF9@+SGhzoz4}C{MQg!&Cb;?xbVvwBDN??3XJ-2!BiaJk1OTcWLERXi!V3m9 zo@A1>bt*GCFI^fCNClqCSy-pR=aht5NHlTVJxE8VQ-==xg3|No-~$I}+k{c&D)odEr=b0K{3dcMNIsc@)J=(M+2zqE~nK@0DLjBPuc-o}b7sllyEu z?&-5^pOg?_UtL6 zMBGrf@=a-RUHX)F13P|EobKf0%Z)ZP_;u{K1Jsjs8}VuV$H{hfb_(}o9o%pX#aX;?dc#gb*C|sv{ppiLyqkM=w4|={h**OhFSLxl zDb%;vk0K@xSQLK%9ys`2KksgSBI9Sr&#eH!PhIEPGxNm4bZLPgaCo%;*jwo^hwa_x z&$M5Cq~Kij@#EH@pjnQN(l7RQcB^=%&ii5glChyDByIq;1AJ~wZ0u|&rzIX9xFt

%Ks2q#XNayljDQGR{|;W6$aDk@oj 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 TzS%mr0>W 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

G%NrNu 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 Date: Thu, 31 Oct 2024 11:23:24 -0700 Subject: [PATCH 13/14] update docs --- README.md | 2 +- world-chain-builder/docs/README.md | 103 ------------------- world-chain-builder/docs/pbh_architecture.md | 20 ++++ world-chain-builder/docs/pbh_tx_lifecycle.md | 6 +- 4 files changed, 26 insertions(+), 105 deletions(-) delete mode 100644 world-chain-builder/docs/README.md create mode 100644 world-chain-builder/docs/pbh_architecture.md diff --git a/README.md b/README.md index 1e9e3b0..3858e30 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ The World Chain Builder is a custom block builder for the OP Stack that provides ![World Chain Builder Architecture](assets/pbh-op-stack.png) -To learn more about how PBH works, check out the docs detailing [the PBH Transaction Lifecycle](world-chain-builder/docs/pbh_tx_lifecycle.md) as well as [World's blog post covering World Chain's builder architecture](https://world.org/blog/engineering/introducing-pbh-priority-blockspace-for-humans). +To learn more about how PBH works, check out the docs detailing [the PBH Transaction Lifecycle](world-chain-builder/docs/pbh_tx_lifecycle.md), [World's blog post covering World Chain's builder architecture](https://world.org/blog/engineering/introducing-pbh-priority-blockspace-for-humans), and [the PBH architecture](world-chain-builder/docs/pbh_architecture.md). diff --git a/world-chain-builder/docs/README.md b/world-chain-builder/docs/README.md deleted file mode 100644 index 5a689da..0000000 --- a/world-chain-builder/docs/README.md +++ /dev/null @@ -1,103 +0,0 @@ -## World Chain Builder - -This document is intended to outline at a high level the lifecycle of a PBH Transaction within the `world-chain-builder` as well as the different components involved that make PBH possible within a optimistic rollup. - -### Overview - -The `world-chain-builder` is a custom block builder integrated with [world-id](https://world.org/world-id) which implements _Priority Blockspace for Humans (PBH)_. The builder defines a custom transaction envelope for PBH transactions while retaining backwards compatibility with standard [EIP 2718 transaction envelope](https://eips.ethereum.org/EIPS/eip-2718). This customn transaction envelope holds a [world-id](https://world.org/world-id) semaphore proof allowing the builder to verify _proof of personhood_ associated with the transaction. - -This custom transaction envelope enables a custom ordering policy during block construction that disjoins the fee markets between orb verified humans, and all other transactions on the network. This significantly mitigates the negative extranalities of Mev, and optimizes time to inclusion for verified humans on world-chain. - -### PBH Envelope -The PBH transaction envelope consists of an EIP 2718 RLP encoded transaction envelope concatenated with the RLP encoded `PbhPayload` - -See -- [Pbh Payload](https://github.com/worldcoin/world-chain/blob/8d60a1e79dbb3be68db075d49b3d0a8a67e45b3e/world-chain-builder/src/pbh/payload.rs#L50) -- [Pooled Transaction](https://github.com/worldcoin/world-chain/blob/8d60a1e79dbb3be68db075d49b3d0a8a67e45b3e/world-chain-builder/src/primitives.rs#L14) - -```rust -#[derive(Clone, Debug, PartialEq, Eq)] -pub struct WorldChainPooledTransactionsElement { - pub inner: PooledTransactionsElement, - pub pbh_payload: Option, -} - -/// The payload of a PBH transaction -/// -/// Contains the semaphore proof and relevent metadata -/// required to to verify the pbh transaction. -#[derive(Clone, Debug, RlpEncodable, RlpDecodable, PartialEq, Eq, Default)] -pub struct PbhPayload { - /// A string containing a prefix, the date marker, and the pbh nonce - pub external_nullifier: String, - /// A nullifier hash used to keep track of - /// previously used pbh transactions - pub nullifier_hash: Field, - /// The root of the merkle tree for which this proof - /// was generated - pub root: Field, - /// The actual semaphore proof verifying that the sender - /// is included in the set of orb verified users - pub proof: Proof, -} - -#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)] -pub struct Proof(pub semaphore::protocol::Proof); - -``` - -**External Nullifier** - -Schema: `vv-mmyyyy-nn` - -Version Prefix: `vv` -- Validation: Version matches current version. - -Date: `mmyyyy` -- Validation: Month/Year matches current Month Year - -PBH Nonce: `nn`: `u16` -- Validation: PBH Nonce must be ≤ 30 by default. It is used to rate limit the amount of PBH transactions that can be sent in any given month. This value should reset at the beginning of each month monotonically increasing from 0→ `num_pbh_txs` . Any nonce > `num_pbh_txs` set on launch of the builder will be invalidated and not be inserted into the transaction pool. - -**Nullifier Hash** -- Validation: Must be unique at the time of transaction validation. - -**Root** -- Validation: Must be identical to the `latestRoot` in storage of the `OpWorldId` contract on L2. - -Additional Considerations: If a root has not yet been synchronized with l1. There is a window in which a valid proof will be seen as invalid in the transaction validator. A robust approach would be to read the root on l2, and assert it matches the root on l1 prior to sending the transaction to prevent a transaction validation error response. - -### PBH Transaction Lifecycle - -Because a PBH transaction has a custom transaction envelope this means that a PBH transaction may only be sent to the `world-chain-builder`. Further the transaction will not be peered by the builder to the _sequencer_, or any other clients on the network. - -The `world-chain-builder` implements a custom [WorldChainEthApi](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/rpc/mod.rs#L52) that allows it to recieve PBH transaction envelopes over RPC through an `eth_sendRawTransaction` request. If a semaphore proof is attached to the transaction the [WorldChainTransactionValidator](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/pool/validator.rs#L37) will first validate the integrity of the proof, and if valid insert the transaction into the transaction pool with an associated bool indicating the pooled transaction is human verified. - -The transaction pool implements a custom [ordering policy](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/pool/ordering.rs#L10) which guarantees top of block priority for verified human transactions. - -A percentage of the block space is reserved for pbh transactions as defined by `verified_blockspace_capacity`. This value represents the maximum percentage of the block gas limit that will be dedicated to human verified transactions. If the amount of pbh transactions does not meet the threshold of reserved block space then non-verified transactions will fill this reserved block space. `100 - verified_blockspace_capacity` is the percentage of the block space always dedicated to non-verified transactions. - -### Netowrk -World Chain is a [Optimistic Rollup](https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/) on Ethereum. World Chain functions at the Consensus layer identically to that of Optimism, and other optimistic rollups. But differs at the execution layer in a couple ways. - -In a traditional Optimistic Rollup the _Sequencer_ acts as the sole participant that proposes new blocks. - -On World Chain we have two possible block proposers: - -1. `world-chain-builder` - Custom Ordering Policy -2. _sequencer_ - An `op-geth` client constructing blocks with a canonical ordering policy. - -The `world-chain-builder` is the favored proposer in the network. Meaning if the builder produces a valid block the builders block will always be accepted by the network over the sequencers block. - -The sequencer has two jobs: - -1. Attest to the integrity of the Block Proposed by the Builder. -2. Fallback such that if the builder produces an invalid payload, times out, or otherwise - The chain still moves forward. - -Two proposers on the network sequencing blocks is made possible by utilizing an [engine api](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md) proxy server multiplexing engine api calls from the consensus layer to both the _sequencer_, and the builder in parallel. We currently use [rollup-boost](https://github.com/flashbots/rollup-boost/tree/main) for this purpose. - -For a deep dive into rollup-boost checkout the [design spec](https://github.com/ethereum-optimism/design-docs/blob/main/protocol/external-block-production.md). - -### Additional References - -[Creating Human Verified Transactions](../crates/toolkit/README.md) diff --git a/world-chain-builder/docs/pbh_architecture.md b/world-chain-builder/docs/pbh_architecture.md new file mode 100644 index 0000000..31fc2ca --- /dev/null +++ b/world-chain-builder/docs/pbh_architecture.md @@ -0,0 +1,20 @@ +### Netowrk +World Chain is a [Optimistic Rollup](https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/) on Ethereum. World Chain functions at the Consensus layer identically to that of Optimism, and other optimistic rollups. But differs at the execution layer in a couple ways. + +In a traditional Optimistic Rollup the _Sequencer_ acts as the sole participant that proposes new blocks. + +On World Chain we have two possible block proposers: + +1. `world-chain-builder` - Custom Ordering Policy +2. _sequencer_ - An `op-geth` client constructing blocks with a canonical ordering policy. + +The `world-chain-builder` is the favored proposer in the network. Meaning if the builder produces a valid block the builders block will always be accepted by the network over the sequencers block. + +The sequencer has two jobs: + +1. Attest to the integrity of the Block Proposed by the Builder. +2. Fallback such that if the builder produces an invalid payload, times out, or otherwise - The chain still moves forward. + +Two proposers on the network sequencing blocks is made possible by utilizing an [engine api](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md) proxy server multiplexing engine api calls from the consensus layer to both the _sequencer_, and the builder in parallel. We currently use [rollup-boost](https://github.com/flashbots/rollup-boost/tree/main) for this purpose. + +For a deep dive into rollup-boost checkout the [design spec](https://github.com/ethereum-optimism/design-docs/blob/main/protocol/external-block-production.md). \ No newline at end of file diff --git a/world-chain-builder/docs/pbh_tx_lifecycle.md b/world-chain-builder/docs/pbh_tx_lifecycle.md index b9975ec..8f892dc 100644 --- a/world-chain-builder/docs/pbh_tx_lifecycle.md +++ b/world-chain-builder/docs/pbh_tx_lifecycle.md @@ -52,5 +52,9 @@ curl -X POST \ ## Transaction Priority and Block Production -// NOTE: mention max gas % +The `world-chain-builder` implements a custom [WorldChainEthApi](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/rpc/mod.rs#L52) that allows it to recieve PBH transaction envelopes over RPC through an `eth_sendRawTransaction` request. If a semaphore proof is attached to the transaction the [WorldChainTransactionValidator](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/pool/validator.rs#L37) will first validate the integrity of the proof, and if valid insert the transaction into the transaction pool with an associated bool indicating the pooled transaction is human verified. + +The transaction pool implements a custom [ordering policy](https://github.com/worldcoin/world-chain/blob/c44417727fcf510597aaf247dc1e2d8dca03a3b7/world-chain-builder/src/pool/ordering.rs#L10) which guarantees top of block priority for verified human transactions. + +A percentage of the block space is reserved for pbh transactions as defined by `verified_blockspace_capacity`. This value represents the maximum percentage of the block gas limit that will be dedicated to human verified transactions. If the amount of pbh transactions does not meet the threshold of reserved block space then non-verified transactions will fill this reserved block space. `100 - verified_blockspace_capacity` is the percentage of the block space always dedicated to non-verified transactions. From f236943a461910713fe8cafad6d9e4043ead322d Mon Sep 17 00:00:00 2001 From: 0xOsiris Date: Thu, 31 Oct 2024 11:30:43 -0700 Subject: [PATCH 14/14] fix: typo --- world-chain-builder/docs/pbh_architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world-chain-builder/docs/pbh_architecture.md b/world-chain-builder/docs/pbh_architecture.md index 31fc2ca..075bf40 100644 --- a/world-chain-builder/docs/pbh_architecture.md +++ b/world-chain-builder/docs/pbh_architecture.md @@ -1,4 +1,4 @@ -### Netowrk +### Network World Chain is a [Optimistic Rollup](https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/) on Ethereum. World Chain functions at the Consensus layer identically to that of Optimism, and other optimistic rollups. But differs at the execution layer in a couple ways. In a traditional Optimistic Rollup the _Sequencer_ acts as the sole participant that proposes new blocks.