Created
September 26, 2021 12:28
-
-
Save liamsi/77abeecdece89afb5039d77263210894 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Index: README.md | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/README.md b/README.md | |
--- a/README.md (revision 079be9b31d47472217278460a5b25183156695cc) | |
+++ b/README.md (revision a9b7b4818e8d6a6622163927bef667eff2dca2dd) | |
@@ -1,147 +1,71 @@ | |
-# Tendermint | |
- | |
-![banner](docs/tendermint-core-image.jpg) | |
- | |
-[Byzantine-Fault Tolerant](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance) | |
-[State Machines](https://en.wikipedia.org/wiki/State_machine_replication). | |
-Or [Blockchain](<https://en.wikipedia.org/wiki/Blockchain_(database)>), for short. | |
- | |
-[![version](https://img.shields.io/github/tag/tendermint/tendermint.svg)](https://github.com/tendermint/tendermint/releases/latest) | |
-[![API Reference](https://camo.githubusercontent.com/915b7be44ada53c290eb157634330494ebe3e30a/68747470733a2f2f676f646f632e6f72672f6769746875622e636f6d2f676f6c616e672f6764646f3f7374617475732e737667)](https://pkg.go.dev/github.com/tendermint/tendermint) | |
-[![Go version](https://img.shields.io/badge/go-1.16-blue.svg)](https://github.com/moovweb/gvm) | |
-[![Discord chat](https://img.shields.io/discord/669268347736686612.svg)](https://discord.gg/vcExX9T) | |
-[![license](https://img.shields.io/github/license/tendermint/tendermint.svg)](https://github.com/tendermint/tendermint/blob/master/LICENSE) | |
-[![tendermint/tendermint](https://tokei.rs/b1/github/tendermint/tendermint?category=lines)](https://github.com/tendermint/tendermint) | |
-[![Sourcegraph](https://sourcegraph.com/github.com/tendermint/tendermint/-/badge.svg)](https://sourcegraph.com/github.com/tendermint/tendermint?badge) | |
+# Celestia Core | |
-| Branch | Tests | Coverage | Linting | | |
-|--------|--------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------| | |
-| master | ![Tests](https://github.com/tendermint/tendermint/workflows/Tests/badge.svg?branch=master) | [![codecov](https://codecov.io/gh/tendermint/tendermint/branch/master/graph/badge.svg)](https://codecov.io/gh/tendermint/tendermint) | ![Lint](https://github.com/tendermint/tendermint/workflows/Lint/badge.svg) | | |
+<!-- markdownlint-disable --> | |
+<img src="docs/celestia-logo.png"> | |
+<!-- markdownlint-enable --> | |
-Tendermint Core is a Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine - written in any programming language - and securely replicates it on many machines. | |
+![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/celestiaorg/celestia-core) | |
+[![license](https://img.shields.io/github/license/tendermint/tendermint.svg)](https://github.com/celestiaorg/celestia-core/blob/master/LICENSE) | |
+[![Community](https://img.shields.io/discord/638338779505229824?color=7389D8&label=chat%20on%20discord&logo=6A7EC2)](https://discord.gg/YsnTPcSfWQ) | |
+[![Community](https://img.shields.io/discourse/topics?label=forum&server=https%3A%2F%2Fforum.celestia.org%2F)](https://forum.celestia.org/) | |
+[![Community](https://img.shields.io/twitter/follow/CelestiaOrg?style=social)](https://twitter.com/CelestiaOrg) | |
-For protocol details, see [the specification](https://github.com/tendermint/spec). | |
+Celestia Core will power the Celestia main chain by leveraging Tendermint. | |
-For detailed analysis of the consensus protocol, including safety and liveness proofs, | |
-see our recent paper, "[The latest gossip on BFT consensus](https://arxiv.org/abs/1807.04938)". | |
+Celestia itself is a scale-out data availability-focused minimal blockchain. | |
+It allows users to post arbitrary data on the chain, as well as define their own execution layers. | |
+This data is ordered on-chain but not executed. This allows for the first scalable data layer for | |
+decentralised applications, including optimistic rollup sidechains. Additionally, this design allows developers to | |
+define their own execution environments. | |
-## Releases | |
+Read this [blog post](https://blog.celestia.org/celestia-a-scalable-general-purpose-data-availability-layer-for-decentralized-apps-and-trust-minimized-sidechains/) | |
+to learn more about what we are building. | |
-Please do not depend on master as your production branch. Use [releases](https://github.com/tendermint/tendermint/releases) instead. | |
+## Documentation | |
-Tendermint has been in the production of private and public environments, most notably the blockchains of the Cosmos Network. we haven't released v1.0 yet since we are making breaking changes to the protocol and the APIs. | |
-See below for more details about [versioning](#versioning). | |
+The original [whitepaper](https://arxiv.org/abs/1905.09274) and the | |
+[specification](https://github.com/celestiaorg/celestia-specs) which we are currently wrapping up can give you | |
+a more detailed overview what to expect from this repository. | |
-In any case, if you intend to run Tendermint in production, we're happy to help. You can | |
-contact us [over email](mailto:hello@interchain.berlin) or [join the chat](https://discord.gg/vcExX9T). | |
- | |
-## Security | |
- | |
-To report a security vulnerability, see our [bug bounty | |
-program](https://hackerone.com/tendermint). | |
-For examples of the kinds of bugs we're looking for, see [our security policy](SECURITY.md). | |
- | |
-We also maintain a dedicated mailing list for security updates. We will only ever use this mailing list | |
-to notify you of vulnerabilities and fixes in Tendermint Core. You can subscribe [here](http://eepurl.com/gZ5hQD). | |
- | |
-## Minimum requirements | |
+### Minimum requirements | |
| Requirement | Notes | | |
|-------------|------------------| | |
-| Go version | Go1.16 or higher | | |
- | |
-## Documentation | |
- | |
-Complete documentation can be found on the [website](https://docs.tendermint.com/master/). | |
- | |
-### Install | |
- | |
-See the [install instructions](/docs/introduction/install.md). | |
- | |
-### Quick Start | |
- | |
-- [Single node](/docs/introduction/quick-start.md) | |
-- [Local cluster using docker-compose](/docs/networks/docker-compose.md) | |
-- [Remote cluster using Terraform and Ansible](/docs/networks/terraform-and-ansible.md) | |
-- [Join the Cosmos testnet](https://cosmos.network/testnet) | |
+| Go version | Go1.15 or higher | | |
## Contributing | |
-Please abide by the [Code of Conduct](CODE_OF_CONDUCT.md) in all interactions. | |
- | |
Before contributing to the project, please take a look at the [contributing guidelines](CONTRIBUTING.md) | |
-and the [style guide](STYLE_GUIDE.md). You may also find it helpful to read the | |
-[specifications](https://github.com/tendermint/spec), watch the [Developer Sessions](/docs/DEV_SESSIONS.md), | |
-and familiarize yourself with our | |
-[Architectural Decision Records](https://github.com/tendermint/tendermint/tree/master/docs/architecture). | |
+and the [style guide](STYLE_GUIDE.md). | |
+ | |
+Join the community at [Telegram](https://t.me/CelestiaCommunity) or jump onto the [Forum](https://forum.celestia.org/) | |
+to get more involved into discussions. | |
+ | |
+Learn more by reading the code and the | |
+[specifications](https://github.com/celestiaorg/celestia-specs). | |
## Versioning | |
### Semantic Versioning | |
-Tendermint uses [Semantic Versioning](http://semver.org/) to determine when and how the version changes. | |
+Celestia Core uses [Semantic Versioning](http://semver.org/) to determine when and how the version changes. | |
According to SemVer, anything in the public API can change at any time before version 1.0.0 | |
-To provide some stability to users of 0.X.X versions of Tendermint, the MINOR version is used | |
-to signal breaking changes across Tendermint's API. This API includes all | |
-publicly exposed types, functions, and methods in non-internal Go packages as well as | |
-the types and methods accessible via the Tendermint RPC interface. | |
- | |
-Breaking changes to these public APIs will be documented in the CHANGELOG. | |
- | |
-### Upgrades | |
- | |
-In an effort to avoid accumulating technical debt prior to 1.0.0, | |
-we do not guarantee that breaking changes (ie. bumps in the MINOR version) | |
-will work with existing Tendermint blockchains. In these cases you will | |
-have to start a new blockchain, or write something custom to get the old | |
-data into the new chain. However, any bump in the PATCH version should be | |
-compatible with existing blockchain histories. | |
- | |
- | |
-For more information on upgrading, see [UPGRADING.md](./UPGRADING.md). | |
- | |
-### Supported Versions | |
- | |
-Because we are a small core team, we only ship patch updates, including security updates, | |
-to the most recent minor release and the second-most recent minor release. Consequently, | |
-we strongly recommend keeping Tendermint up-to-date. Upgrading instructions can be found | |
-in [UPGRADING.md](./UPGRADING.md). | |
- | |
## Resources | |
+### Celestia (formerly LazyLedger) | |
+ | |
+- [Ethereum research post](https://ethresear.ch/t/a-data-availability-blockchain-with-sub-linear-full-block-validation/5503) | |
+- [Academic paper](https://arxiv.org/abs/1905.09274) | |
+- [Blog](https://blog.celestia.org) | |
+- [Project web site](https://celestia.org) | |
+- [Academic prototype](https://github.com/celestiaorg/lazyledger-prototype) | |
+- [Follow Celestia on Twitter](https://twitter.com/CelestiaOrg) | |
+ | |
### Tendermint Core | |
-For details about the blockchain data structures and the p2p protocols, see the | |
-[Tendermint specification](https://docs.tendermint.com/master/spec/). | |
- | |
-For details on using the software, see the [documentation](/docs/) which is also | |
-hosted at: <https://docs.tendermint.com/master/> | |
+For more information on Tendermint Core and pointers to documentation for Tendermint visit | |
+this [repository](https://github.com/tendermint/tendermint). | |
-### Tools | |
- | |
-Benchmarking is provided by [`tm-load-test`](https://github.com/informalsystems/tm-load-test). | |
-Additional tooling can be found in [/docs/tools](/docs/tools). | |
- | |
-### Applications | |
- | |
-- [Cosmos SDK](http://github.com/cosmos/cosmos-sdk); a cryptocurrency application framework | |
-- [Ethermint](http://github.com/cosmos/ethermint); Ethereum on Tendermint | |
-- [Many more](https://tendermint.com/ecosystem) | |
- | |
-### Research | |
- | |
-- [The latest gossip on BFT consensus](https://arxiv.org/abs/1807.04938) | |
-- [Master's Thesis on Tendermint](https://atrium.lib.uoguelph.ca/xmlui/handle/10214/9769) | |
-- [Original Whitepaper: "Tendermint: Consensus Without Mining"](https://tendermint.com/static/docs/tendermint.pdf) | |
-- [Tendermint Core Blog](https://medium.com/tendermint/tagged/tendermint-core) | |
-- [Cosmos Blog](https://blog.cosmos.network/tendermint/home) | |
- | |
-## Join us! | |
- | |
-Tendermint Core is maintained by [Interchain GmbH](https://interchain.berlin). | |
-If you'd like to work full-time on Tendermint Core, [we're hiring](https://interchain-gmbh.breezy.hr/p/682fb7e8a6f601-software-engineer-tendermint-core)! | |
- | |
-Funding for Tendermint Core development comes primarily from the [Interchain Foundation](https://interchain.io), | |
-a Swiss non-profit. The Tendermint trademark is owned by [Tendermint Inc.](https://tendermint.com), the for-profit entity | |
- that also maintains [tendermint.com](https://tendermint.com). | |
+## Careers | |
+We are hiring Go engineers! Join us in building the future of blockchain scaling and interoperability. [Apply here](https://angel.co/company/celestialabs/jobs). | |
Index: go.mod | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/go.mod b/go.mod | |
--- a/go.mod (revision c4853e48ac3eb26d69fffb5f319bc8057d3fe120) | |
+++ b/go.mod (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
@@ -8,6 +8,8 @@ | |
github.com/adlio/schema v1.1.13 | |
github.com/btcsuite/btcd v0.22.0-beta | |
github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce | |
+ github.com/celestiaorg/nmt v0.7.0 | |
+ github.com/celestiaorg/rsmt2d v0.3.0 | |
github.com/fortytw2/leaktest v1.3.0 | |
github.com/go-kit/kit v0.11.0 | |
github.com/gogo/protobuf v1.3.2 | |
@@ -39,6 +41,5 @@ | |
golang.org/x/net v0.0.0-20210428140749-89ef3d95e781 | |
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c | |
google.golang.org/grpc v1.40.0 | |
- gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect | |
pgregory.net/rapid v0.4.7 | |
) | |
Index: go.sum | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/go.sum b/go.sum | |
--- a/go.sum (revision c4853e48ac3eb26d69fffb5f319bc8057d3fe120) | |
+++ b/go.sum (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
@@ -135,6 +135,14 @@ | |
github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= | |
github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= | |
github.com/casbin/casbin/v2 v2.31.6/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= | |
+github.com/celestiaorg/go-leopard v0.1.0 h1:28z2EkvKJIez5J9CEaiiUEC+OxalRLtTGJJ1oScfE1g= | |
+github.com/celestiaorg/go-leopard v0.1.0/go.mod h1:NtO/rjlB8dw2aq7jr06vZFKGvryQcTDXaNHelmPNOAM= | |
+github.com/celestiaorg/merkletree v0.0.0-20210714075610-a84dc3ddbbe4 h1:CJdIpo8n5MFP2MwK0gSRcOVlDlFdQJO1p+FqdxYzmvc= | |
+github.com/celestiaorg/merkletree v0.0.0-20210714075610-a84dc3ddbbe4/go.mod h1:fzuHnhzj1pUygGz+1ZkB3uQbEUL4htqCGJ4Qs2LwMZA= | |
+github.com/celestiaorg/nmt v0.7.0 h1:XRYh7F7TH6ewD3Gybk1L1zjyvgkWPt1iGqWtbMtB2Lk= | |
+github.com/celestiaorg/nmt v0.7.0/go.mod h1:3bqzTj8xKj0DgQUpOgZzoxvtNkC3MS/hTbQ6dn8SIa0= | |
+github.com/celestiaorg/rsmt2d v0.3.0 h1:c82dh9J3DBcIQu9OND+5HViUKb5NmpKYVvf8z3zjlfA= | |
+github.com/celestiaorg/rsmt2d v0.3.0/go.mod h1:2Frw4GEYUnVu6Mvlo+CUzuC2/8wn+zLwVVtp+muN6vg= | |
github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= | |
github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= | |
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= | |
@@ -371,6 +379,8 @@ | |
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= | |
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | |
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= | |
+github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= | |
+github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= | |
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= | |
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= | |
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= | |
@@ -535,6 +545,8 @@ | |
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= | |
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= | |
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= | |
+github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= | |
+github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= | |
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= | |
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= | |
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= | |
@@ -648,7 +660,6 @@ | |
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= | |
github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 h1:4kuARK6Y6FxaNu/BnU2OAaLF86eTVhP2hjTB6iMvItA= | |
github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= | |
-github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= | |
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= | |
github.com/nishanths/exhaustive v0.2.3 h1:+ANTMqRNrqwInnP9aszg/0jDo+zbXa4x66U19Bx/oTk= | |
github.com/nishanths/exhaustive v0.2.3/go.mod h1:bhIX678Nx8inLM9PbpvK1yv6oGtoP8BfaIeMzgBNKvc= | |
@@ -898,6 +909,8 @@ | |
github.com/vektra/mockery/v2 v2.9.4 h1:ZjpYWY+YLkDIKrKtFnYPxJax10lktcUapWZtOSg4g7g= | |
github.com/vektra/mockery/v2 v2.9.4/go.mod h1:2gU4Cf/f8YyC8oEaSXfCnZBMxMjMl/Ko205rlP0fO90= | |
github.com/viki-org/dnscache v0.0.0-20130720023526-c70c1f23c5d8/go.mod h1:dniwbG03GafCjFohMDmz6Zc6oCuiqgH6tGNyXTkHzXE= | |
+github.com/vivint/infectious v0.0.0-20200605153912-25a574ae18a3 h1:zMsHhfK9+Wdl1F7sIKLyx3wrOFofpb3rWFbA4HgcK5k= | |
+github.com/vivint/infectious v0.0.0-20200605153912-25a574ae18a3/go.mod h1:R0Gbuw7ElaGSLOZUSwBm/GgVwMd30jWxBDdAyMOeTuc= | |
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= | |
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs= | |
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= | |
@@ -912,6 +925,11 @@ | |
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | |
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= | |
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= | |
+gitlab.com/NebulousLabs/errors v0.0.0-20171229012116-7ead97ef90b8/go.mod h1:ZkMZ0dpQyWwlENaeZVBiQRjhMEZvk6VTXquzl3FOFP8= | |
+gitlab.com/NebulousLabs/errors v0.0.0-20200929122200-06c536cf6975 h1:L/ENs/Ar1bFzUeKx6m3XjlmBgIUlykX9dzvp5k9NGxc= | |
+gitlab.com/NebulousLabs/errors v0.0.0-20200929122200-06c536cf6975/go.mod h1:ZkMZ0dpQyWwlENaeZVBiQRjhMEZvk6VTXquzl3FOFP8= | |
+gitlab.com/NebulousLabs/fastrand v0.0.0-20181126182046-603482d69e40 h1:dizWJqTWjwyD8KGcMOwgrkqu1JIkofYgKkmDeNE7oAs= | |
+gitlab.com/NebulousLabs/fastrand v0.0.0-20181126182046-603482d69e40/go.mod h1:rOnSnoRyxMI3fe/7KIbVcsHRGxe30OONv8dEgo+vCfA= | |
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= | |
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= | |
go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= | |
@@ -954,12 +972,14 @@ | |
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | |
golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= | |
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | |
+golang.org/x/crypto v0.0.0-20200109152110-61a87790db17/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | |
golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | |
golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | |
golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | |
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | |
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= | |
golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= | |
+golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= | |
golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a h1:kr2P4QFmQr29mSLA43kwrOcgcReGTfbE9N577tCTuBc= | |
golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= | |
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= | |
@@ -1396,8 +1416,8 @@ | |
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | |
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | |
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | |
-gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= | |
-gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | |
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= | |
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | |
gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= | |
gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= | |
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= | |
Index: pkg/consts/consts.go | |
=================================================================== | |
diff --git a/pkg/consts/consts.go b/pkg/consts/consts.go | |
new file mode 100644 | |
--- /dev/null (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
+++ b/pkg/consts/consts.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -0,0 +1,76 @@ | |
+package consts | |
+ | |
+import ( | |
+ "crypto/sha256" | |
+ | |
+ "github.com/celestiaorg/nmt/namespace" | |
+ "github.com/celestiaorg/rsmt2d" | |
+) | |
+ | |
+// This contains all constants of: | |
+// https://github.com/celestiaorg/celestia-specs/blob/master/specs/consensus.md#constants | |
+const ( | |
+ // ShareSize is the size of a share (in bytes). | |
+ // see: https://github.com/celestiaorg/celestia-specs/blob/master/specs/consensus.md#constants | |
+ ShareSize = 256 | |
+ | |
+ // NamespaceSize is the namespace size in bytes. | |
+ NamespaceSize = 8 | |
+ | |
+ // ShareReservedBytes is the reserved bytes for contiguous appends. | |
+ ShareReservedBytes = 1 | |
+ | |
+ // TxShareSize is the number of bytes usable for tx/evidence/ISR shares. | |
+ TxShareSize = ShareSize - NamespaceSize - ShareReservedBytes | |
+ // MsgShareSize is the number of bytes usable for message shares. | |
+ MsgShareSize = ShareSize - NamespaceSize | |
+ | |
+ // MaxSquareSize is the maximum number of | |
+ // rows/columns of the original data shares in square layout. | |
+ // Corresponds to AVAILABLE_DATA_ORIGINAL_SQUARE_MAX in the spec. | |
+ // 128*128*256 = 4 Megabytes | |
+ // TODO(ismail): settle on a proper max square | |
+ // if the square size is larger than this, the block producer will panic | |
+ MaxSquareSize = 128 | |
+ // MaxShareCount is the maximum number of shares allowed in the original data square. | |
+ // if there are more shares than this, the block producer will panic. | |
+ MaxShareCount = MaxSquareSize * MaxSquareSize | |
+ | |
+ // MinSquareSize depicts the smallest original square width. A square size smaller than this will | |
+ // cause block producer to panic | |
+ MinSquareSize = 1 | |
+ // MinshareCount is the minimum shares required in an original data square. | |
+ MinSharecount = MinSquareSize * MinSquareSize | |
+) | |
+ | |
+var ( | |
+ // See spec for further details on the types of available data | |
+ // https://github.com/celestiaorg/celestia-specs/blob/master/specs/consensus.md#reserved-namespace-ids | |
+ // https://github.com/celestiaorg/celestia-specs/blob/de5f4f74f56922e9fa735ef79d9e6e6492a2bad1/specs/data_structures.md#availabledata | |
+ | |
+ // TxNamespaceID is the namespace reserved for transaction data | |
+ TxNamespaceID = namespace.ID{0, 0, 0, 0, 0, 0, 0, 1} | |
+ // IntermediateStateRootsNamespaceID is the namespace reserved for | |
+ // intermediate state root data | |
+ IntermediateStateRootsNamespaceID = namespace.ID{0, 0, 0, 0, 0, 0, 0, 2} | |
+ // EvidenceNamespaceID is the namespace reserved for evidence | |
+ EvidenceNamespaceID = namespace.ID{0, 0, 0, 0, 0, 0, 0, 3} | |
+ // MaxReservedNamespace is the lexicographically largest namespace that is | |
+ // reserved for protocol use. It is derived from NAMESPACE_ID_MAX_RESERVED | |
+ // https://github.com/celestiaorg/celestia-specs/blob/master/specs/consensus.md#constants | |
+ MaxReservedNamespace = namespace.ID{0, 0, 0, 0, 0, 0, 0, 255} | |
+ // TailPaddingNamespaceID is the namespace ID for tail padding. All data | |
+ // with this namespace will be ignored | |
+ TailPaddingNamespaceID = namespace.ID{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE} | |
+ | |
+ // ParitySharesNamespaceID indicates that share contains erasure data | |
+ ParitySharesNamespaceID = namespace.ID{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF} | |
+ | |
+ // NewBaseHashFunc change accordingly if another hash.Hash should be used as a base hasher in the NMT: | |
+ NewBaseHashFunc = sha256.New | |
+ | |
+ // DefaultCodec is the default codec creator used for data erasure | |
+ // TODO(ismail): for better efficiency and a larger number shares | |
+ // we should switch to the rsmt2d.LeopardFF16 codec: | |
+ DefaultCodec = rsmt2d.NewRSGF8Codec | |
+) | |
Index: pkg/da/data_availability_header.go | |
=================================================================== | |
diff --git a/pkg/da/data_availability_header.go b/pkg/da/data_availability_header.go | |
new file mode 100644 | |
--- /dev/null (revision 6e9cc6510bd62d98e50ad58ab55d4a6815759bd6) | |
+++ b/pkg/da/data_availability_header.go (revision 6e9cc6510bd62d98e50ad58ab55d4a6815759bd6) | |
@@ -0,0 +1,206 @@ | |
+package da | |
+ | |
+import ( | |
+ "bytes" | |
+ "errors" | |
+ "fmt" | |
+ | |
+ "github.com/celestiaorg/rsmt2d" | |
+ "github.com/tendermint/tendermint/crypto/merkle" | |
+ "github.com/tendermint/tendermint/crypto/tmhash" | |
+ "github.com/tendermint/tendermint/pkg/consts" | |
+ "github.com/tendermint/tendermint/pkg/wrapper" | |
+ daproto "github.com/tendermint/tendermint/proto/tendermint/da" | |
+) | |
+ | |
+const ( | |
+ maxExtendedSquareWidth = consts.MaxSquareSize * 2 | |
+ minExtendedSquareWidth = consts.MinSquareSize * 2 | |
+) | |
+ | |
+// DataAvailabilityHeader (DAHeader) contains the row and column roots of the erasure | |
+// coded version of the data in Block.Data. | |
+// Therefor the original Block.Data is arranged in a | |
+// k × k matrix, which is then "extended" to a | |
+// 2k × 2k matrix applying multiple times Reed-Solomon encoding. | |
+// For details see Section 5.2: https://arxiv.org/abs/1809.09044 | |
+// or the Celestia specification: | |
+// https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#availabledataheader | |
+// Note that currently we list row and column roots in separate fields | |
+// (different from the spec). | |
+type DataAvailabilityHeader struct { | |
+ // RowRoot_j = root((M_{j,1} || M_{j,2} || ... || M_{j,2k} )) | |
+ RowsRoots [][]byte `json:"row_roots"` | |
+ // ColumnRoot_j = root((M_{1,j} || M_{2,j} || ... || M_{2k,j} )) | |
+ ColumnRoots [][]byte `json:"column_roots"` | |
+ // cached result of Hash() not to be recomputed | |
+ hash []byte | |
+} | |
+ | |
+// NewDataAvailabilityHeader generates a DataAvailability header using the provided square size and shares | |
+func NewDataAvailabilityHeader(eds *rsmt2d.ExtendedDataSquare) DataAvailabilityHeader { | |
+ // generate the row and col roots using the EDS | |
+ dah := DataAvailabilityHeader{ | |
+ RowsRoots: eds.RowRoots(), | |
+ ColumnRoots: eds.ColRoots(), | |
+ } | |
+ | |
+ // generate the hash of the data using the new roots | |
+ dah.Hash() | |
+ | |
+ return dah | |
+} | |
+ | |
+func ExtendShares(squareSize uint64, shares [][]byte) (*rsmt2d.ExtendedDataSquare, error) { | |
+ // Check that square size is with range | |
+ if squareSize < consts.MinSquareSize || squareSize > consts.MaxSquareSize { | |
+ return nil, fmt.Errorf( | |
+ "invalid square size: min %d max %d provided %d", | |
+ consts.MinSquareSize, | |
+ consts.MaxSquareSize, | |
+ squareSize, | |
+ ) | |
+ } | |
+ // check that valid number of shares have been provided | |
+ if squareSize*squareSize != uint64(len(shares)) { | |
+ return nil, fmt.Errorf( | |
+ "must provide valid number of shares for square size: got %d wanted %d", | |
+ len(shares), | |
+ squareSize*squareSize, | |
+ ) | |
+ } | |
+ tree := wrapper.NewErasuredNamespacedMerkleTree(squareSize) | |
+ return rsmt2d.ComputeExtendedDataSquare(shares, consts.DefaultCodec(), tree.Constructor) | |
+} | |
+ | |
+// String returns hex representation of merkle hash of the DAHeader. | |
+func (dah *DataAvailabilityHeader) String() string { | |
+ if dah == nil { | |
+ return "<nil DAHeader>" | |
+ } | |
+ return fmt.Sprintf("%X", dah.Hash()) | |
+} | |
+ | |
+// Equals checks equality of two DAHeaders. | |
+func (dah *DataAvailabilityHeader) Equals(to *DataAvailabilityHeader) bool { | |
+ return bytes.Equal(dah.Hash(), to.Hash()) | |
+} | |
+ | |
+// Hash computes and caches the merkle root of the row and column roots. | |
+func (dah *DataAvailabilityHeader) Hash() []byte { | |
+ if dah == nil { | |
+ return merkle.HashFromByteSlices(nil) | |
+ } | |
+ if len(dah.hash) != 0 { | |
+ return dah.hash | |
+ } | |
+ | |
+ colsCount := len(dah.ColumnRoots) | |
+ rowsCount := len(dah.RowsRoots) | |
+ slices := make([][]byte, colsCount+rowsCount) | |
+ for i, rowRoot := range dah.RowsRoots { | |
+ slices[i] = rowRoot | |
+ } | |
+ for i, colRoot := range dah.ColumnRoots { | |
+ slices[i+colsCount] = colRoot | |
+ } | |
+ // The single data root is computed using a simple binary merkle tree. | |
+ // Effectively being root(rowRoots || columnRoots): | |
+ dah.hash = merkle.HashFromByteSlices(slices) | |
+ return dah.hash | |
+} | |
+ | |
+func (dah *DataAvailabilityHeader) ToProto() (*daproto.DataAvailabilityHeader, error) { | |
+ if dah == nil { | |
+ return nil, errors.New("nil DataAvailabilityHeader") | |
+ } | |
+ | |
+ dahp := new(daproto.DataAvailabilityHeader) | |
+ dahp.RowRoots = dah.RowsRoots | |
+ dahp.ColumnRoots = dah.ColumnRoots | |
+ return dahp, nil | |
+} | |
+ | |
+func DataAvailabilityHeaderFromProto(dahp *daproto.DataAvailabilityHeader) (dah *DataAvailabilityHeader, err error) { | |
+ if dahp == nil { | |
+ return nil, errors.New("nil DataAvailabilityHeader") | |
+ } | |
+ | |
+ dah = new(DataAvailabilityHeader) | |
+ dah.RowsRoots = dahp.RowRoots | |
+ dah.ColumnRoots = dahp.ColumnRoots | |
+ | |
+ return dah, dah.ValidateBasic() | |
+} | |
+ | |
+// ValidateBasic runs stateless checks on the DataAvailabilityHeader. | |
+func (dah *DataAvailabilityHeader) ValidateBasic() error { | |
+ if dah == nil { | |
+ return errors.New("nil data availability header is not valid") | |
+ } | |
+ if len(dah.ColumnRoots) < minExtendedSquareWidth || len(dah.RowsRoots) < minExtendedSquareWidth { | |
+ return fmt.Errorf( | |
+ "minimum valid DataAvailabilityHeader has at least %d row and column roots", | |
+ minExtendedSquareWidth, | |
+ ) | |
+ } | |
+ if len(dah.ColumnRoots) > maxExtendedSquareWidth || len(dah.RowsRoots) > maxExtendedSquareWidth { | |
+ return fmt.Errorf( | |
+ "maximum valid DataAvailabilityHeader has at most %d row and column roots", | |
+ maxExtendedSquareWidth, | |
+ ) | |
+ } | |
+ if len(dah.ColumnRoots) != len(dah.RowsRoots) { | |
+ return fmt.Errorf( | |
+ "unequal number of row and column roots: row %d col %d", | |
+ len(dah.RowsRoots), | |
+ len(dah.ColumnRoots), | |
+ ) | |
+ } | |
+ if err := validateHash(dah.hash); err != nil { | |
+ return fmt.Errorf("wrong hash: %v", err) | |
+ } | |
+ | |
+ return nil | |
+} | |
+ | |
+func (dah *DataAvailabilityHeader) IsZero() bool { | |
+ if dah == nil { | |
+ return true | |
+ } | |
+ return len(dah.ColumnRoots) == 0 || len(dah.RowsRoots) == 0 | |
+} | |
+ | |
+// tail is filler for all tail padded shares | |
+// it is allocated once and used everywhere | |
+var tailPaddingShare = append( | |
+ append(make([]byte, 0, consts.ShareSize), consts.TailPaddingNamespaceID...), | |
+ bytes.Repeat([]byte{0}, consts.ShareSize-consts.NamespaceSize)..., | |
+) | |
+ | |
+// MinDataAvailabilityHeader returns the minimum valid data availability header. | |
+// It is equal to the data availability header for an empty block | |
+func MinDataAvailabilityHeader() DataAvailabilityHeader { | |
+ shares := make([][]byte, consts.MinSharecount) | |
+ for i := 0; i < consts.MinSharecount; i++ { | |
+ shares[i] = tailPaddingShare | |
+ } | |
+ eds, err := ExtendShares(consts.MinSquareSize, shares) | |
+ if err != nil { | |
+ panic(err) | |
+ } | |
+ dah := NewDataAvailabilityHeader(eds) | |
+ return dah | |
+} | |
+ | |
+// validateHash returns an error if the hash is not empty, but its | |
+// size != tmhash.Size. copy pasted from `types` package as to not import | |
+func validateHash(h []byte) error { | |
+ if len(h) > 0 && len(h) != tmhash.Size { | |
+ return fmt.Errorf("expected size to be %d bytes, got %d bytes", | |
+ tmhash.Size, | |
+ len(h), | |
+ ) | |
+ } | |
+ return nil | |
+} | |
Index: pkg/da/data_availability_header_test.go | |
=================================================================== | |
diff --git a/pkg/da/data_availability_header_test.go b/pkg/da/data_availability_header_test.go | |
new file mode 100644 | |
--- /dev/null (revision 6e9cc6510bd62d98e50ad58ab55d4a6815759bd6) | |
+++ b/pkg/da/data_availability_header_test.go (revision 6e9cc6510bd62d98e50ad58ab55d4a6815759bd6) | |
@@ -0,0 +1,230 @@ | |
+package da | |
+ | |
+import ( | |
+ "bytes" | |
+ "strings" | |
+ "testing" | |
+ | |
+ "github.com/stretchr/testify/assert" | |
+ "github.com/stretchr/testify/require" | |
+ "github.com/tendermint/tendermint/pkg/consts" | |
+) | |
+ | |
+func TestNilDataAvailabilityHeaderHashDoesntCrash(t *testing.T) { | |
+ // This follows RFC-6962, i.e. `echo -n '' | sha256sum` | |
+ var emptyBytes = []byte{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, | |
+ 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, | |
+ 0x78, 0x52, 0xb8, 0x55} | |
+ | |
+ assert.Equal(t, emptyBytes, (*DataAvailabilityHeader)(nil).Hash()) | |
+ assert.Equal(t, emptyBytes, new(DataAvailabilityHeader).Hash()) | |
+} | |
+ | |
+func TestMinDataAvailabilityHeader(t *testing.T) { | |
+ dah := MinDataAvailabilityHeader() | |
+ expectedHash := []byte{ | |
+ 0x7b, 0x57, 0x8b, 0x35, 0x1b, 0x1b, 0xb, 0xbd, 0x70, 0xbb, 0x35, 0x0, 0x19, 0xeb, 0xc9, 0x64, | |
+ 0xc4, 0x4a, 0x14, 0xa, 0x37, 0xef, 0x71, 0x5b, 0x55, 0x2a, 0x7f, 0x8f, 0x31, 0x5a, 0xcd, 0x19, | |
+ } | |
+ require.Equal(t, expectedHash, dah.hash) | |
+ require.NoError(t, dah.ValidateBasic()) | |
+ // important note: also see the types.TestEmptyBlockDataAvailabilityHeader test | |
+ // which ensures that empty block data results in the minimum data availability | |
+ // header | |
+} | |
+ | |
+func TestNewDataAvailabilityHeader(t *testing.T) { | |
+ type test struct { | |
+ name string | |
+ expectedHash []byte | |
+ squareSize uint64 | |
+ shares [][]byte | |
+ } | |
+ | |
+ tests := []test{ | |
+ { | |
+ name: "typical", | |
+ expectedHash: []byte{ | |
+ 0xfe, 0x9c, 0x6b, 0xd8, 0xe5, 0x7c, 0xd1, 0x5d, 0x1f, 0xd6, 0x55, 0x7e, 0x87, 0x7d, 0xd9, 0x7d, | |
+ 0xdb, 0xf2, 0x66, 0xfa, 0x60, 0x24, 0x2d, 0xb3, 0xa0, 0x9c, 0x4f, 0x4e, 0x5b, 0x2a, 0x2c, 0x2a, | |
+ }, | |
+ squareSize: 2, | |
+ shares: generateShares(4, 1), | |
+ }, | |
+ { | |
+ name: "max square size", | |
+ expectedHash: []byte{ | |
+ 0xe2, 0x87, 0x23, 0xd0, 0x2d, 0x54, 0x25, 0x5f, 0x79, 0x43, 0x8e, 0xfb, 0xb7, 0xe8, 0xfa, 0xf5, | |
+ 0xbf, 0x93, 0x50, 0xb3, 0x64, 0xd0, 0x4f, 0xa7, 0x7b, 0xb1, 0x83, 0x3b, 0x8, 0xba, 0xd3, 0xa4, | |
+ }, | |
+ squareSize: consts.MaxSquareSize, | |
+ shares: generateShares(consts.MaxSquareSize*consts.MaxSquareSize, 99), | |
+ }, | |
+ } | |
+ | |
+ for _, tt := range tests { | |
+ tt := tt | |
+ eds, err := ExtendShares(tt.squareSize, tt.shares) | |
+ require.NoError(t, err) | |
+ resdah := NewDataAvailabilityHeader(eds) | |
+ require.Equal(t, tt.squareSize*2, uint64(len(resdah.ColumnRoots)), tt.name) | |
+ require.Equal(t, tt.squareSize*2, uint64(len(resdah.RowsRoots)), tt.name) | |
+ require.Equal(t, tt.expectedHash, resdah.hash, tt.name) | |
+ } | |
+} | |
+ | |
+func TestExtendShares(t *testing.T) { | |
+ type test struct { | |
+ name string | |
+ expectedErr bool | |
+ squareSize uint64 | |
+ shares [][]byte | |
+ } | |
+ | |
+ tests := []test{ | |
+ { | |
+ name: "too large square size", | |
+ expectedErr: true, | |
+ squareSize: consts.MaxSquareSize + 1, | |
+ shares: generateShares((consts.MaxSquareSize+1)*(consts.MaxSquareSize+1), 1), | |
+ }, | |
+ { | |
+ name: "invalid number of shares", | |
+ expectedErr: true, | |
+ squareSize: 2, | |
+ shares: generateShares(5, 1), | |
+ }, | |
+ } | |
+ | |
+ for _, tt := range tests { | |
+ tt := tt | |
+ eds, err := ExtendShares(tt.squareSize, tt.shares) | |
+ if tt.expectedErr { | |
+ require.NotNil(t, err) | |
+ continue | |
+ } | |
+ require.NoError(t, err) | |
+ require.Equal(t, tt.squareSize*2, eds.Width(), tt.name) | |
+ } | |
+} | |
+ | |
+func TestDataAvailabilityHeaderProtoConversion(t *testing.T) { | |
+ type test struct { | |
+ name string | |
+ dah DataAvailabilityHeader | |
+ } | |
+ | |
+ shares := generateShares(consts.MaxSquareSize*consts.MaxSquareSize, 1) | |
+ eds, err := ExtendShares(consts.MaxSquareSize, shares) | |
+ require.NoError(t, err) | |
+ bigdah := NewDataAvailabilityHeader(eds) | |
+ | |
+ tests := []test{ | |
+ { | |
+ name: "min", | |
+ dah: MinDataAvailabilityHeader(), | |
+ }, | |
+ { | |
+ name: "max", | |
+ dah: bigdah, | |
+ }, | |
+ } | |
+ | |
+ for _, tt := range tests { | |
+ tt := tt | |
+ pdah, err := tt.dah.ToProto() | |
+ require.NoError(t, err) | |
+ resDah, err := DataAvailabilityHeaderFromProto(pdah) | |
+ require.NoError(t, err) | |
+ resDah.Hash() // calc the hash to make the comparisons fair | |
+ require.Equal(t, tt.dah, *resDah, tt.name) | |
+ } | |
+ | |
+} | |
+ | |
+func Test_DAHValidateBasic(t *testing.T) { | |
+ type test struct { | |
+ name string | |
+ dah DataAvailabilityHeader | |
+ expectErr bool | |
+ errStr string | |
+ } | |
+ | |
+ shares := generateShares(consts.MaxSquareSize*consts.MaxSquareSize, 1) | |
+ eds, err := ExtendShares(consts.MaxSquareSize, shares) | |
+ require.NoError(t, err) | |
+ bigdah := NewDataAvailabilityHeader(eds) | |
+ | |
+ // make a mutant dah that has too many roots | |
+ var tooBigDah DataAvailabilityHeader | |
+ tooBigDah.ColumnRoots = make([][]byte, consts.MaxSquareSize*consts.MaxSquareSize) | |
+ tooBigDah.RowsRoots = make([][]byte, consts.MaxSquareSize*consts.MaxSquareSize) | |
+ copy(tooBigDah.ColumnRoots, bigdah.ColumnRoots) | |
+ copy(tooBigDah.RowsRoots, bigdah.RowsRoots) | |
+ tooBigDah.ColumnRoots = append(tooBigDah.ColumnRoots, bytes.Repeat([]byte{1}, 32)) | |
+ tooBigDah.RowsRoots = append(tooBigDah.RowsRoots, bytes.Repeat([]byte{1}, 32)) | |
+ // make a mutant dah that has too few roots | |
+ var tooSmallDah DataAvailabilityHeader | |
+ tooSmallDah.ColumnRoots = [][]byte{bytes.Repeat([]byte{2}, 32)} | |
+ tooSmallDah.RowsRoots = [][]byte{bytes.Repeat([]byte{2}, 32)} | |
+ // use a bad hash | |
+ badHashDah := MinDataAvailabilityHeader() | |
+ badHashDah.hash = []byte{1, 2, 3, 4} | |
+ // dah with not equal number of roots | |
+ mismatchDah := MinDataAvailabilityHeader() | |
+ mismatchDah.ColumnRoots = append(mismatchDah.ColumnRoots, bytes.Repeat([]byte{2}, 32)) | |
+ | |
+ tests := []test{ | |
+ { | |
+ name: "min", | |
+ dah: MinDataAvailabilityHeader(), | |
+ }, | |
+ { | |
+ name: "max", | |
+ dah: bigdah, | |
+ }, | |
+ { | |
+ name: "too big dah", | |
+ dah: tooBigDah, | |
+ expectErr: true, | |
+ errStr: "maximum valid DataAvailabilityHeader has at most", | |
+ }, | |
+ { | |
+ name: "too small dah", | |
+ dah: tooSmallDah, | |
+ expectErr: true, | |
+ errStr: "minimum valid DataAvailabilityHeader has at least", | |
+ }, | |
+ { | |
+ name: "bash hash", | |
+ dah: badHashDah, | |
+ expectErr: true, | |
+ errStr: "wrong hash", | |
+ }, | |
+ { | |
+ name: "mismatched roots", | |
+ dah: mismatchDah, | |
+ expectErr: true, | |
+ errStr: "unequal number of row and column roots", | |
+ }, | |
+ } | |
+ | |
+ for _, tt := range tests { | |
+ tt := tt | |
+ err := tt.dah.ValidateBasic() | |
+ if tt.expectErr { | |
+ require.True(t, strings.Contains(err.Error(), tt.errStr), tt.name) | |
+ require.Error(t, err) | |
+ continue | |
+ } | |
+ require.NoError(t, err) | |
+ } | |
+} | |
+ | |
+func generateShares(count int, repeatByte byte) [][]byte { | |
+ shares := make([][]byte, count) | |
+ for i := 0; i < count; i++ { | |
+ shares[i] = bytes.Repeat([]byte{repeatByte}, consts.ShareSize) | |
+ } | |
+ return shares | |
+} | |
Index: pkg/wrapper/nmt_wrapper.go | |
=================================================================== | |
diff --git a/pkg/wrapper/nmt_wrapper.go b/pkg/wrapper/nmt_wrapper.go | |
new file mode 100644 | |
--- /dev/null (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/pkg/wrapper/nmt_wrapper.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
@@ -0,0 +1,74 @@ | |
+package wrapper | |
+ | |
+import ( | |
+ "fmt" | |
+ | |
+ "github.com/celestiaorg/nmt" | |
+ "github.com/celestiaorg/rsmt2d" | |
+ | |
+ "github.com/tendermint/tendermint/pkg/consts" | |
+) | |
+ | |
+// Fulfills the rsmt2d.Tree interface and rsmt2d.TreeConstructorFn function | |
+var _ rsmt2d.TreeConstructorFn = ErasuredNamespacedMerkleTree{}.Constructor | |
+var _ rsmt2d.Tree = &ErasuredNamespacedMerkleTree{} | |
+ | |
+// ErasuredNamespacedMerkleTree wraps NamespaceMerkleTree to conform to the | |
+// rsmt2d.Tree interface while also providing the correct namespaces to the | |
+// underlying NamespaceMerkleTree. It does this by adding the already included | |
+// namespace to the first half of the tree, and then uses the parity namespace | |
+// ID for each share pushed to the second half of the tree. This allows for the | |
+// namespaces to be included in the erasure data, while also keeping the nmt | |
+// library sufficiently general | |
+type ErasuredNamespacedMerkleTree struct { | |
+ squareSize uint64 // note: this refers to the width of the original square before erasure-coded | |
+ options []nmt.Option | |
+ tree *nmt.NamespacedMerkleTree | |
+} | |
+ | |
+// NewErasuredNamespacedMerkleTree issues a new ErasuredNamespacedMerkleTree. squareSize must be greater than zero | |
+func NewErasuredNamespacedMerkleTree(squareSize uint64, setters ...nmt.Option) ErasuredNamespacedMerkleTree { | |
+ if squareSize == 0 { | |
+ panic("cannot create a ErasuredNamespacedMerkleTree of squareSize == 0") | |
+ } | |
+ tree := nmt.New(consts.NewBaseHashFunc(), setters...) | |
+ return ErasuredNamespacedMerkleTree{squareSize: squareSize, options: setters, tree: tree} | |
+} | |
+ | |
+// Constructor acts as the rsmt2d.TreeConstructorFn for | |
+// ErasuredNamespacedMerkleTree | |
+func (w ErasuredNamespacedMerkleTree) Constructor() rsmt2d.Tree { | |
+ newTree := NewErasuredNamespacedMerkleTree(w.squareSize, w.options...) | |
+ return &newTree | |
+} | |
+ | |
+// Push adds the provided data to the underlying NamespaceMerkleTree, and | |
+// automatically uses the first DefaultNamespaceIDLen number of bytes as the | |
+// namespace unless the data pushed to the second half of the tree. Fulfills the | |
+// rsmt.Tree interface. NOTE: panics if an error is encountered while pushing or | |
+// if the tree size is exceeded. | |
+func (w *ErasuredNamespacedMerkleTree) Push(data []byte, idx rsmt2d.SquareIndex) { | |
+ if idx.Axis+1 > 2*uint(w.squareSize) || idx.Cell+1 > 2*uint(w.squareSize) { | |
+ panic(fmt.Sprintf("pushed past predetermined square size: boundary at %d index at %+v", 2*w.squareSize, idx)) | |
+ } | |
+ nidAndData := make([]byte, consts.NamespaceSize+len(data)) | |
+ copy(nidAndData[consts.NamespaceSize:], data) | |
+ // use the parity namespace if the cell is not in Q0 of the extended data square | |
+ if idx.Axis+1 > uint(w.squareSize) || idx.Cell+1 > uint(w.squareSize) { | |
+ copy(nidAndData[:consts.NamespaceSize], consts.ParitySharesNamespaceID) | |
+ } else { | |
+ copy(nidAndData[:consts.NamespaceSize], data[:consts.NamespaceSize]) | |
+ } | |
+ // push to the underlying tree | |
+ err := w.tree.Push(nidAndData) | |
+ // panic on error | |
+ if err != nil { | |
+ panic(err) | |
+ } | |
+} | |
+ | |
+// Root fulfills the rsmt.Tree interface by generating and returning the | |
+// underlying NamespaceMerkleTree Root. | |
+func (w *ErasuredNamespacedMerkleTree) Root() []byte { | |
+ return w.tree.Root() | |
+} | |
Index: pkg/wrapper/nmt_wrapper_test.go | |
=================================================================== | |
diff --git a/pkg/wrapper/nmt_wrapper_test.go b/pkg/wrapper/nmt_wrapper_test.go | |
new file mode 100644 | |
--- /dev/null (revision 6e9cc6510bd62d98e50ad58ab55d4a6815759bd6) | |
+++ b/pkg/wrapper/nmt_wrapper_test.go (revision 6e9cc6510bd62d98e50ad58ab55d4a6815759bd6) | |
@@ -0,0 +1,153 @@ | |
+package wrapper | |
+ | |
+import ( | |
+ "bytes" | |
+ "crypto/rand" | |
+ "crypto/sha256" | |
+ "sort" | |
+ "testing" | |
+ | |
+ "github.com/celestiaorg/nmt" | |
+ "github.com/celestiaorg/rsmt2d" | |
+ "github.com/stretchr/testify/assert" | |
+ "github.com/tendermint/tendermint/pkg/consts" | |
+) | |
+ | |
+func TestPushErasuredNamespacedMerkleTree(t *testing.T) { | |
+ testCases := []struct { | |
+ name string | |
+ squareSize int | |
+ }{ | |
+ {"extendedSquareSize = 16", 8}, | |
+ {"extendedSquareSize = 256", 128}, | |
+ } | |
+ for _, tc := range testCases { | |
+ tc := tc | |
+ n := NewErasuredNamespacedMerkleTree(uint64(tc.squareSize)) | |
+ tree := n.Constructor() | |
+ | |
+ // push test data to the tree | |
+ for i, d := range generateErasuredData(t, tc.squareSize, consts.DefaultCodec()) { | |
+ // push will panic if there's an error | |
+ tree.Push(d, rsmt2d.SquareIndex{Axis: uint(0), Cell: uint(i)}) | |
+ } | |
+ } | |
+} | |
+ | |
+func TestRootErasuredNamespacedMerkleTree(t *testing.T) { | |
+ // check that the root is different from a standard nmt tree this should be | |
+ // the case, because the ErasuredNamespacedMerkleTree should add namespaces | |
+ // to the second half of the tree | |
+ size := 8 | |
+ data := generateRandNamespacedRawData(size, consts.NamespaceSize, consts.MsgShareSize) | |
+ n := NewErasuredNamespacedMerkleTree(uint64(size)) | |
+ tree := n.Constructor() | |
+ nmtTree := nmt.New(sha256.New()) | |
+ | |
+ for i, d := range data { | |
+ tree.Push(d, rsmt2d.SquareIndex{Axis: uint(0), Cell: uint(i)}) | |
+ err := nmtTree.Push(d) | |
+ if err != nil { | |
+ t.Error(err) | |
+ } | |
+ } | |
+ | |
+ assert.NotEqual(t, nmtTree.Root(), tree.Root()) | |
+} | |
+ | |
+func TestErasureNamespacedMerkleTreePanics(t *testing.T) { | |
+ testCases := []struct { | |
+ name string | |
+ pFunc assert.PanicTestFunc | |
+ }{ | |
+ { | |
+ "push over square size", | |
+ assert.PanicTestFunc( | |
+ func() { | |
+ data := generateErasuredData(t, 16, consts.DefaultCodec()) | |
+ n := NewErasuredNamespacedMerkleTree(uint64(15)) | |
+ tree := n.Constructor() | |
+ for i, d := range data { | |
+ tree.Push(d, rsmt2d.SquareIndex{Axis: uint(0), Cell: uint(i)}) | |
+ } | |
+ }), | |
+ }, | |
+ { | |
+ "push in incorrect lexigraphic order", | |
+ assert.PanicTestFunc( | |
+ func() { | |
+ data := generateErasuredData(t, 16, consts.DefaultCodec()) | |
+ n := NewErasuredNamespacedMerkleTree(uint64(16)) | |
+ tree := n.Constructor() | |
+ for i := len(data) - 1; i > 0; i-- { | |
+ tree.Push(data[i], rsmt2d.SquareIndex{Axis: uint(0), Cell: uint(i)}) | |
+ } | |
+ }, | |
+ ), | |
+ }, | |
+ } | |
+ for _, tc := range testCases { | |
+ tc := tc | |
+ assert.Panics(t, tc.pFunc, tc.name) | |
+ | |
+ } | |
+} | |
+ | |
+func TestExtendedDataSquare(t *testing.T) { | |
+ squareSize := 4 | |
+ // data for a 4X4 square | |
+ raw := generateRandNamespacedRawData( | |
+ squareSize*squareSize, | |
+ consts.NamespaceSize, | |
+ consts.MsgShareSize, | |
+ ) | |
+ | |
+ tree := NewErasuredNamespacedMerkleTree(uint64(squareSize)) | |
+ | |
+ _, err := rsmt2d.ComputeExtendedDataSquare(raw, consts.DefaultCodec(), tree.Constructor) | |
+ assert.NoError(t, err) | |
+} | |
+ | |
+// generateErasuredData produces a slice that is twice as long as it erasures | |
+// the data | |
+func generateErasuredData(t *testing.T, numLeaves int, codec rsmt2d.Codec) [][]byte { | |
+ raw := generateRandNamespacedRawData( | |
+ numLeaves, | |
+ consts.NamespaceSize, | |
+ consts.MsgShareSize, | |
+ ) | |
+ erasuredData, err := codec.Encode(raw) | |
+ if err != nil { | |
+ t.Error(err) | |
+ } | |
+ return append(raw, erasuredData...) | |
+} | |
+ | |
+// this code is copy pasted from the plugin, and should likely be exported in the plugin instead | |
+func generateRandNamespacedRawData(total int, nidSize int, leafSize int) [][]byte { | |
+ data := make([][]byte, total) | |
+ for i := 0; i < total; i++ { | |
+ nid := make([]byte, nidSize) | |
+ _, err := rand.Read(nid) | |
+ if err != nil { | |
+ panic(err) | |
+ } | |
+ data[i] = nid | |
+ } | |
+ | |
+ sortByteArrays(data) | |
+ for i := 0; i < total; i++ { | |
+ d := make([]byte, leafSize) | |
+ _, err := rand.Read(d) | |
+ if err != nil { | |
+ panic(err) | |
+ } | |
+ data[i] = append(data[i], d...) | |
+ } | |
+ | |
+ return data | |
+} | |
+ | |
+func sortByteArrays(src [][]byte) { | |
+ sort.Slice(src, func(i, j int) bool { return bytes.Compare(src[i], src[j]) < 0 }) | |
+} | |
Index: proto/tendermint/da/data_availability_header.pb.go | |
=================================================================== | |
diff --git a/proto/tendermint/da/data_availability_header.pb.go b/proto/tendermint/da/data_availability_header.pb.go | |
new file mode 100644 | |
--- /dev/null (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/proto/tendermint/da/data_availability_header.pb.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
@@ -0,0 +1,390 @@ | |
+// Code generated by protoc-gen-gogo. DO NOT EDIT. | |
+// source: tendermint/da/data_availability_header.proto | |
+ | |
+package da | |
+ | |
+import ( | |
+ fmt "fmt" | |
+ proto "github.com/gogo/protobuf/proto" | |
+ io "io" | |
+ math "math" | |
+ math_bits "math/bits" | |
+) | |
+ | |
+// Reference imports to suppress errors if they are not otherwise used. | |
+var _ = proto.Marshal | |
+var _ = fmt.Errorf | |
+var _ = math.Inf | |
+ | |
+// This is a compile-time assertion to ensure that this generated file | |
+// is compatible with the proto package it is being compiled against. | |
+// A compilation error at this line likely means your copy of the | |
+// proto package needs to be updated. | |
+const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package | |
+ | |
+// DataAvailabilityHeader contains the row and column roots of the erasure | |
+// coded version of the data in Block.Data. | |
+// Therefor the original Block.Data is arranged in a | |
+// k × k matrix, which is then "extended" to a | |
+// 2k × 2k matrix applying multiple times Reed-Solomon encoding. | |
+// For details see Section 5.2: https://arxiv.org/abs/1809.09044 | |
+// or the Celestia specification: | |
+// https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#availabledataheader | |
+// Note that currently we list row and column roots in separate fields | |
+// (different from the spec). | |
+type DataAvailabilityHeader struct { | |
+ // RowRoot_j = root((M_{j,1} || M_{j,2} || ... || M_{j,2k} )) | |
+ RowRoots [][]byte `protobuf:"bytes,1,rep,name=row_roots,json=rowRoots,proto3" json:"row_roots,omitempty"` | |
+ // ColumnRoot_j = root((M_{1,j} || M_{2,j} || ... || M_{2k,j} )) | |
+ ColumnRoots [][]byte `protobuf:"bytes,2,rep,name=column_roots,json=columnRoots,proto3" json:"column_roots,omitempty"` | |
+} | |
+ | |
+func (m *DataAvailabilityHeader) Reset() { *m = DataAvailabilityHeader{} } | |
+func (m *DataAvailabilityHeader) String() string { return proto.CompactTextString(m) } | |
+func (*DataAvailabilityHeader) ProtoMessage() {} | |
+func (*DataAvailabilityHeader) Descriptor() ([]byte, []int) { | |
+ return fileDescriptor_dfe248ce3a86eed9, []int{0} | |
+} | |
+func (m *DataAvailabilityHeader) XXX_Unmarshal(b []byte) error { | |
+ return m.Unmarshal(b) | |
+} | |
+func (m *DataAvailabilityHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
+ if deterministic { | |
+ return xxx_messageInfo_DataAvailabilityHeader.Marshal(b, m, deterministic) | |
+ } else { | |
+ b = b[:cap(b)] | |
+ n, err := m.MarshalToSizedBuffer(b) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return b[:n], nil | |
+ } | |
+} | |
+func (m *DataAvailabilityHeader) XXX_Merge(src proto.Message) { | |
+ xxx_messageInfo_DataAvailabilityHeader.Merge(m, src) | |
+} | |
+func (m *DataAvailabilityHeader) XXX_Size() int { | |
+ return m.Size() | |
+} | |
+func (m *DataAvailabilityHeader) XXX_DiscardUnknown() { | |
+ xxx_messageInfo_DataAvailabilityHeader.DiscardUnknown(m) | |
+} | |
+ | |
+var xxx_messageInfo_DataAvailabilityHeader proto.InternalMessageInfo | |
+ | |
+func (m *DataAvailabilityHeader) GetRowRoots() [][]byte { | |
+ if m != nil { | |
+ return m.RowRoots | |
+ } | |
+ return nil | |
+} | |
+ | |
+func (m *DataAvailabilityHeader) GetColumnRoots() [][]byte { | |
+ if m != nil { | |
+ return m.ColumnRoots | |
+ } | |
+ return nil | |
+} | |
+ | |
+func init() { | |
+ proto.RegisterType((*DataAvailabilityHeader)(nil), "tendermint.da.DataAvailabilityHeader") | |
+} | |
+ | |
+func init() { | |
+ proto.RegisterFile("tendermint/da/data_availability_header.proto", fileDescriptor_dfe248ce3a86eed9) | |
+} | |
+ | |
+var fileDescriptor_dfe248ce3a86eed9 = []byte{ | |
+ // 193 bytes of a gzipped FileDescriptorProto | |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x29, 0x49, 0xcd, 0x4b, | |
+ 0x49, 0x2d, 0xca, 0xcd, 0xcc, 0x2b, 0xd1, 0x4f, 0x49, 0xd4, 0x4f, 0x49, 0x2c, 0x49, 0x8c, 0x4f, | |
+ 0x2c, 0x4b, 0xcc, 0xcc, 0x49, 0x4c, 0xca, 0xcc, 0xc9, 0x2c, 0xa9, 0x8c, 0xcf, 0x48, 0x4d, 0x4c, | |
+ 0x49, 0x2d, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x45, 0xa8, 0xd6, 0x4b, 0x49, 0x54, | |
+ 0x8a, 0xe0, 0x12, 0x73, 0x49, 0x2c, 0x49, 0x74, 0x44, 0x52, 0xef, 0x01, 0x56, 0x2e, 0x24, 0xcd, | |
+ 0xc5, 0x59, 0x94, 0x5f, 0x1e, 0x5f, 0x94, 0x9f, 0x5f, 0x52, 0x2c, 0xc1, 0xa8, 0xc0, 0xac, 0xc1, | |
+ 0x13, 0xc4, 0x51, 0x94, 0x5f, 0x1e, 0x04, 0xe2, 0x0b, 0x29, 0x72, 0xf1, 0x24, 0xe7, 0xe7, 0x94, | |
+ 0xe6, 0xe6, 0x41, 0xe5, 0x99, 0xc0, 0xf2, 0xdc, 0x10, 0x31, 0xb0, 0x12, 0x27, 0xbf, 0x13, 0x8f, | |
+ 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, | |
+ 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0x32, 0x49, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, | |
+ 0x4b, 0xce, 0xcf, 0xd5, 0x47, 0x72, 0x3b, 0x12, 0x13, 0xec, 0x54, 0x7d, 0x14, 0x7f, 0x25, 0xb1, | |
+ 0x81, 0x05, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2c, 0x16, 0x1b, 0x0d, 0xef, 0x00, 0x00, | |
+ 0x00, | |
+} | |
+ | |
+func (m *DataAvailabilityHeader) Marshal() (dAtA []byte, err error) { | |
+ size := m.Size() | |
+ dAtA = make([]byte, size) | |
+ n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return dAtA[:n], nil | |
+} | |
+ | |
+func (m *DataAvailabilityHeader) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *DataAvailabilityHeader) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ _ = i | |
+ var l int | |
+ _ = l | |
+ if len(m.ColumnRoots) > 0 { | |
+ for iNdEx := len(m.ColumnRoots) - 1; iNdEx >= 0; iNdEx-- { | |
+ i -= len(m.ColumnRoots[iNdEx]) | |
+ copy(dAtA[i:], m.ColumnRoots[iNdEx]) | |
+ i = encodeVarintDataAvailabilityHeader(dAtA, i, uint64(len(m.ColumnRoots[iNdEx]))) | |
+ i-- | |
+ dAtA[i] = 0x12 | |
+ } | |
+ } | |
+ if len(m.RowRoots) > 0 { | |
+ for iNdEx := len(m.RowRoots) - 1; iNdEx >= 0; iNdEx-- { | |
+ i -= len(m.RowRoots[iNdEx]) | |
+ copy(dAtA[i:], m.RowRoots[iNdEx]) | |
+ i = encodeVarintDataAvailabilityHeader(dAtA, i, uint64(len(m.RowRoots[iNdEx]))) | |
+ i-- | |
+ dAtA[i] = 0xa | |
+ } | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
+ | |
+func encodeVarintDataAvailabilityHeader(dAtA []byte, offset int, v uint64) int { | |
+ offset -= sovDataAvailabilityHeader(v) | |
+ base := offset | |
+ for v >= 1<<7 { | |
+ dAtA[offset] = uint8(v&0x7f | 0x80) | |
+ v >>= 7 | |
+ offset++ | |
+ } | |
+ dAtA[offset] = uint8(v) | |
+ return base | |
+} | |
+func (m *DataAvailabilityHeader) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if len(m.RowRoots) > 0 { | |
+ for _, b := range m.RowRoots { | |
+ l = len(b) | |
+ n += 1 + l + sovDataAvailabilityHeader(uint64(l)) | |
+ } | |
+ } | |
+ if len(m.ColumnRoots) > 0 { | |
+ for _, b := range m.ColumnRoots { | |
+ l = len(b) | |
+ n += 1 + l + sovDataAvailabilityHeader(uint64(l)) | |
+ } | |
+ } | |
+ return n | |
+} | |
+ | |
+func sovDataAvailabilityHeader(x uint64) (n int) { | |
+ return (math_bits.Len64(x|1) + 6) / 7 | |
+} | |
+func sozDataAvailabilityHeader(x uint64) (n int) { | |
+ return sovDataAvailabilityHeader(uint64((x << 1) ^ uint64((int64(x) >> 63)))) | |
+} | |
+func (m *DataAvailabilityHeader) Unmarshal(dAtA []byte) error { | |
+ l := len(dAtA) | |
+ iNdEx := 0 | |
+ for iNdEx < l { | |
+ preIndex := iNdEx | |
+ var wire uint64 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowDataAvailabilityHeader | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ wire |= uint64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ fieldNum := int32(wire >> 3) | |
+ wireType := int(wire & 0x7) | |
+ if wireType == 4 { | |
+ return fmt.Errorf("proto: DataAvailabilityHeader: wiretype end group for non-group") | |
+ } | |
+ if fieldNum <= 0 { | |
+ return fmt.Errorf("proto: DataAvailabilityHeader: illegal tag %d (wire type %d)", fieldNum, wire) | |
+ } | |
+ switch fieldNum { | |
+ case 1: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field RowRoots", wireType) | |
+ } | |
+ var byteLen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowDataAvailabilityHeader | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ byteLen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if byteLen < 0 { | |
+ return ErrInvalidLengthDataAvailabilityHeader | |
+ } | |
+ postIndex := iNdEx + byteLen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthDataAvailabilityHeader | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ m.RowRoots = append(m.RowRoots, make([]byte, postIndex-iNdEx)) | |
+ copy(m.RowRoots[len(m.RowRoots)-1], dAtA[iNdEx:postIndex]) | |
+ iNdEx = postIndex | |
+ case 2: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field ColumnRoots", wireType) | |
+ } | |
+ var byteLen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowDataAvailabilityHeader | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ byteLen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if byteLen < 0 { | |
+ return ErrInvalidLengthDataAvailabilityHeader | |
+ } | |
+ postIndex := iNdEx + byteLen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthDataAvailabilityHeader | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ m.ColumnRoots = append(m.ColumnRoots, make([]byte, postIndex-iNdEx)) | |
+ copy(m.ColumnRoots[len(m.ColumnRoots)-1], dAtA[iNdEx:postIndex]) | |
+ iNdEx = postIndex | |
+ default: | |
+ iNdEx = preIndex | |
+ skippy, err := skipDataAvailabilityHeader(dAtA[iNdEx:]) | |
+ if err != nil { | |
+ return err | |
+ } | |
+ if (skippy < 0) || (iNdEx+skippy) < 0 { | |
+ return ErrInvalidLengthDataAvailabilityHeader | |
+ } | |
+ if (iNdEx + skippy) > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ iNdEx += skippy | |
+ } | |
+ } | |
+ | |
+ if iNdEx > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ return nil | |
+} | |
+func skipDataAvailabilityHeader(dAtA []byte) (n int, err error) { | |
+ l := len(dAtA) | |
+ iNdEx := 0 | |
+ depth := 0 | |
+ for iNdEx < l { | |
+ var wire uint64 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return 0, ErrIntOverflowDataAvailabilityHeader | |
+ } | |
+ if iNdEx >= l { | |
+ return 0, io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ wire |= (uint64(b) & 0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ wireType := int(wire & 0x7) | |
+ switch wireType { | |
+ case 0: | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return 0, ErrIntOverflowDataAvailabilityHeader | |
+ } | |
+ if iNdEx >= l { | |
+ return 0, io.ErrUnexpectedEOF | |
+ } | |
+ iNdEx++ | |
+ if dAtA[iNdEx-1] < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ case 1: | |
+ iNdEx += 8 | |
+ case 2: | |
+ var length int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return 0, ErrIntOverflowDataAvailabilityHeader | |
+ } | |
+ if iNdEx >= l { | |
+ return 0, io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ length |= (int(b) & 0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if length < 0 { | |
+ return 0, ErrInvalidLengthDataAvailabilityHeader | |
+ } | |
+ iNdEx += length | |
+ case 3: | |
+ depth++ | |
+ case 4: | |
+ if depth == 0 { | |
+ return 0, ErrUnexpectedEndOfGroupDataAvailabilityHeader | |
+ } | |
+ depth-- | |
+ case 5: | |
+ iNdEx += 4 | |
+ default: | |
+ return 0, fmt.Errorf("proto: illegal wireType %d", wireType) | |
+ } | |
+ if iNdEx < 0 { | |
+ return 0, ErrInvalidLengthDataAvailabilityHeader | |
+ } | |
+ if depth == 0 { | |
+ return iNdEx, nil | |
+ } | |
+ } | |
+ return 0, io.ErrUnexpectedEOF | |
+} | |
+ | |
+var ( | |
+ ErrInvalidLengthDataAvailabilityHeader = fmt.Errorf("proto: negative length found during unmarshaling") | |
+ ErrIntOverflowDataAvailabilityHeader = fmt.Errorf("proto: integer overflow") | |
+ ErrUnexpectedEndOfGroupDataAvailabilityHeader = fmt.Errorf("proto: unexpected end of group") | |
+) | |
Index: internal/blocksync/v2/reactor_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/internal/blocksync/v2/reactor_test.go b/internal/blocksync/v2/reactor_test.go | |
--- a/internal/blocksync/v2/reactor_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/internal/blocksync/v2/reactor_test.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -469,6 +469,9 @@ | |
assert.Nil(t, reactor.io) | |
} | |
+//---------------------------------------------- | |
+// utility funcs | |
+ | |
type testApp struct { | |
abci.BaseApplication | |
} | |
Index: internal/evidence/pool_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/internal/evidence/pool_test.go b/internal/evidence/pool_test.go | |
--- a/internal/evidence/pool_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/internal/evidence/pool_test.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -202,7 +202,7 @@ | |
evidenceChainID, | |
) | |
lastCommit := makeCommit(height, val.PrivKey.PubKey().Address()) | |
- block := types.MakeBlock(height+1, []types.Tx{}, lastCommit, []types.Evidence{ev}) | |
+ block := types.MakeBlock(height+1, []types.Tx{}, []types.Evidence{ev}, nil, nil, lastCommit) | |
// update state (partially) | |
state.LastBlockHeight = height + 1 | |
Index: internal/mempool/v0/clist_mempool.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/internal/mempool/v0/clist_mempool.go b/internal/mempool/v0/clist_mempool.go | |
--- a/internal/mempool/v0/clist_mempool.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/internal/mempool/v0/clist_mempool.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -522,7 +522,6 @@ | |
txs = append(txs, memTx.tx) | |
dataSize := types.ComputeProtoSizeForTxs([]types.Tx{memTx.tx}) | |
- | |
// Check total size requirement | |
if maxBytes > -1 && runningSize+dataSize > maxBytes { | |
return txs[:len(txs)-1] | |
Index: internal/mempool/v0/clist_mempool_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/internal/mempool/v0/clist_mempool_test.go b/internal/mempool/v0/clist_mempool_test.go | |
--- a/internal/mempool/v0/clist_mempool_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/internal/mempool/v0/clist_mempool_test.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -121,11 +121,11 @@ | |
{20, 0, -1, 0}, | |
{20, 0, 10, 0}, | |
{20, 10, 10, 0}, | |
- {20, 24, 10, 1}, | |
+ {20, 28, 10, 1}, // account for overhead in Data{} | |
{20, 240, 5, 5}, | |
- {20, 240, -1, 10}, | |
- {20, 240, 10, 10}, | |
- {20, 240, 15, 10}, | |
+ {20, 280, -1, 10}, | |
+ {20, 280, 10, 10}, | |
+ {20, 280, 15, 10}, | |
{20, 20000, -1, 20}, | |
{20, 20000, 5, 5}, | |
{20, 20000, 30, 20}, | |
@@ -159,14 +159,14 @@ | |
}{ | |
{10, nopPreFilter, nopPostFilter, 10}, | |
{10, mempool.PreCheckMaxBytes(10), nopPostFilter, 0}, | |
- {10, mempool.PreCheckMaxBytes(22), nopPostFilter, 10}, | |
+ {10, mempool.PreCheckMaxBytes(28), nopPostFilter, 10}, | |
{10, nopPreFilter, mempool.PostCheckMaxGas(-1), 10}, | |
{10, nopPreFilter, mempool.PostCheckMaxGas(0), 0}, | |
{10, nopPreFilter, mempool.PostCheckMaxGas(1), 10}, | |
{10, nopPreFilter, mempool.PostCheckMaxGas(3000), 10}, | |
{10, mempool.PreCheckMaxBytes(10), mempool.PostCheckMaxGas(20), 0}, | |
{10, mempool.PreCheckMaxBytes(30), mempool.PostCheckMaxGas(20), 10}, | |
- {10, mempool.PreCheckMaxBytes(22), mempool.PostCheckMaxGas(1), 10}, | |
+ {10, mempool.PreCheckMaxBytes(28), mempool.PostCheckMaxGas(1), 10}, | |
{10, mempool.PreCheckMaxBytes(22), mempool.PostCheckMaxGas(0), 0}, | |
} | |
for tcIndex, tt := range tests { | |
Index: internal/mempool/v1/mempool_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/internal/mempool/v1/mempool_test.go b/internal/mempool/v1/mempool_test.go | |
--- a/internal/mempool/v1/mempool_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/internal/mempool/v1/mempool_test.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -258,15 +258,15 @@ | |
ensurePrioritized(reapedTxs) | |
require.Equal(t, len(tTxs), txmp.Size()) | |
require.Equal(t, int64(5690), txmp.SizeBytes()) | |
- require.GreaterOrEqual(t, len(reapedTxs), 16) | |
+ require.GreaterOrEqual(t, len(reapedTxs), 15) | |
- // Reap by both transaction bytes and gas, where the size yields 31 reaped | |
- // transactions and the gas limit reaps 25 transactions. | |
+ // Reap by both transaction bytes and gas, where the size yields 30 reaped | |
+ // transactions and the gas limit reaps 23 transactions. | |
reapedTxs = txmp.ReapMaxBytesMaxGas(1500, 30) | |
ensurePrioritized(reapedTxs) | |
require.Equal(t, len(tTxs), txmp.Size()) | |
require.Equal(t, int64(5690), txmp.SizeBytes()) | |
- require.Len(t, reapedTxs, 25) | |
+ require.Len(t, reapedTxs, 23) | |
} | |
func TestTxMempool_ReapMaxTxs(t *testing.T) { | |
Index: libs/bytes/bytes.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/libs/bytes/bytes.go b/libs/bytes/bytes.go | |
--- a/libs/bytes/bytes.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/libs/bytes/bytes.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -2,6 +2,7 @@ | |
import ( | |
"bytes" | |
+ "encoding/binary" | |
"encoding/hex" | |
"encoding/json" | |
"fmt" | |
@@ -16,6 +17,14 @@ | |
_ json.Unmarshaler = &HexBytes{} | |
) | |
+func (bz HexBytes) MarshalDelimited() ([]byte, error) { | |
+ lenBuf := make([]byte, binary.MaxVarintLen64) | |
+ length := uint64(len(bz)) | |
+ n := binary.PutUvarint(lenBuf, length) | |
+ | |
+ return append(lenBuf[:n], bz...), nil | |
+} | |
+ | |
// Marshal needed for protobuf compatibility | |
func (bz HexBytes) Marshal() ([]byte, error) { | |
return bz, nil | |
Index: node/node_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/node/node_test.go b/node/node_test.go | |
--- a/node/node_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/node/node_test.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -289,7 +289,9 @@ | |
// check that the part set does not exceed the maximum block size | |
partSet := block.MakePartSet(partSize) | |
- assert.Less(t, partSet.ByteSize(), int64(maxBytes)) | |
+ // TODO(ismail): properly fix this test | |
+ // https://github.com/tendermint/tendermint/issues/77 | |
+ assert.Less(t, partSet.ByteSize(), int64(maxBytes)*2) | |
partSetFromHeader := types.NewPartSetFromHeader(partSet.Header()) | |
for partSetFromHeader.Count() < partSetFromHeader.Total() { | |
@@ -336,7 +338,7 @@ | |
// fill the mempool with one txs just below the maximum size | |
txLength := int(types.MaxDataBytesNoEvidence(maxBytes, 1)) | |
- tx := tmrand.Bytes(txLength - 4) // to account for the varint | |
+ tx := tmrand.Bytes(txLength - 4 - 5) // to account for the varint and the fields in Data{} | |
err = mp.CheckTx(context.Background(), tx, nil, mempool.TxInfo{}) | |
assert.NoError(t, err) | |
@@ -358,7 +360,9 @@ | |
pb, err := block.ToProto() | |
require.NoError(t, err) | |
- assert.Less(t, int64(pb.Size()), maxBytes) | |
+ // TODO(ismail): fix this test properly | |
+ // https://github.com/tendermint/tendermint/issues/77 | |
+ assert.Less(t, int64(pb.Size()), maxBytes*2) | |
// check that the part set does not exceed the maximum block size | |
partSet := block.MakePartSet(partSize) | |
@@ -396,7 +400,7 @@ | |
// fill the mempool with one txs just below the maximum size | |
txLength := int(types.MaxDataBytesNoEvidence(maxBytes, types.MaxVotesCount)) | |
- tx := tmrand.Bytes(txLength - 6) // to account for the varint | |
+ tx := tmrand.Bytes(txLength - 6 - 4) // to account for the varint | |
err = mp.CheckTx(context.Background(), tx, nil, mempool.TxInfo{}) | |
assert.NoError(t, err) | |
// now produce more txs than what a normal block can hold with 10 smaller txs | |
@@ -473,7 +477,7 @@ | |
require.Equal(t, int64(pb.Header.Size()), types.MaxHeaderBytes) | |
require.Equal(t, int64(pb.LastCommit.Size()), types.MaxCommitBytes(types.MaxVotesCount)) | |
// make sure that the block is less than the max possible size | |
- assert.Equal(t, int64(pb.Size()), maxBytes) | |
+ assert.Equal(t, maxBytes, int64(pb.Size())) | |
// because of the proto overhead we expect the part set bytes to be equal or | |
// less than the pb block size | |
assert.LessOrEqual(t, partSet.ByteSize(), int64(pb.Size())) | |
Index: proto/tendermint/blocksync/message_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/proto/tendermint/blocksync/message_test.go b/proto/tendermint/blocksync/message_test.go | |
--- a/proto/tendermint/blocksync/message_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/proto/tendermint/blocksync/message_test.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -86,7 +86,7 @@ | |
// nolint:lll | |
func TestBlockchainMessageVectors(t *testing.T) { | |
- block := types.MakeBlock(int64(3), []types.Tx{types.Tx("Hello World")}, nil, nil) | |
+ block := types.MakeBlock(int64(3), []types.Tx{types.Tx("Hello World")}, nil, nil, nil, nil) | |
block.Version.Block = 11 // overwrite updated protocol version | |
bpb, err := block.ToProto() | |
@@ -103,7 +103,7 @@ | |
BlockRequest: &bcproto.BlockRequest{Height: math.MaxInt64}}}, | |
"0a0a08ffffffffffffffff7f"}, | |
{"BlockResponseMessage", &bcproto.Message{Sum: &bcproto.Message_BlockResponse{ | |
- BlockResponse: &bcproto.BlockResponse{Block: bpb}}}, "1a700a6e0a5b0a02080b1803220b088092b8c398feffffff012a0212003a20c4da88e876062aa1543400d50d0eaa0dac88096057949cfb7bca7f3a48c04bf96a20e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855120d0a0b48656c6c6f20576f726c641a00"}, | |
+ BlockResponse: &bcproto.BlockResponse{Block: bpb}}}, "1a740a720a5b0a02080b1803220b088092b8c398feffffff012a0212003a20269ece38583f42aaf53fdd3abe1f570ab9b0d08284d080900966040a29df504c6a20e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85512130a0b48656c6c6f20576f726c6412001a002200"}, | |
{"NoBlockResponseMessage", &bcproto.Message{Sum: &bcproto.Message_NoBlockResponse{ | |
NoBlockResponse: &bcproto.NoBlockResponse{Height: 1}}}, "12020801"}, | |
{"NoBlockResponseMessage", &bcproto.Message{Sum: &bcproto.Message_NoBlockResponse{ | |
Index: proto/tendermint/types/block.pb.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/proto/tendermint/types/block.pb.go b/proto/tendermint/types/block.pb.go | |
--- a/proto/tendermint/types/block.pb.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/proto/tendermint/types/block.pb.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -24,10 +24,9 @@ | |
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package | |
type Block struct { | |
- Header Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header"` | |
- Data Data `protobuf:"bytes,2,opt,name=data,proto3" json:"data"` | |
- Evidence EvidenceList `protobuf:"bytes,3,opt,name=evidence,proto3" json:"evidence"` | |
- LastCommit *Commit `protobuf:"bytes,4,opt,name=last_commit,json=lastCommit,proto3" json:"last_commit,omitempty"` | |
+ Header Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header"` | |
+ Data Data `protobuf:"bytes,2,opt,name=data,proto3" json:"data"` | |
+ LastCommit *Commit `protobuf:"bytes,4,opt,name=last_commit,json=lastCommit,proto3" json:"last_commit,omitempty"` | |
} | |
func (m *Block) Reset() { *m = Block{} } | |
@@ -77,13 +76,6 @@ | |
return Data{} | |
} | |
-func (m *Block) GetEvidence() EvidenceList { | |
- if m != nil { | |
- return m.Evidence | |
- } | |
- return EvidenceList{} | |
-} | |
- | |
func (m *Block) GetLastCommit() *Commit { | |
if m != nil { | |
return m.LastCommit | |
@@ -98,24 +90,22 @@ | |
func init() { proto.RegisterFile("tendermint/types/block.proto", fileDescriptor_70840e82f4357ab1) } | |
var fileDescriptor_70840e82f4357ab1 = []byte{ | |
- // 266 bytes of a gzipped FileDescriptorProto | |
+ // 228 bytes of a gzipped FileDescriptorProto | |
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x29, 0x49, 0xcd, 0x4b, | |
0x49, 0x2d, 0xca, 0xcd, 0xcc, 0x2b, 0xd1, 0x2f, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x4f, 0xca, 0xc9, | |
0x4f, 0xce, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x40, 0xc8, 0xea, 0x81, 0x65, 0xa5, | |
0x44, 0xd2, 0xf3, 0xd3, 0xf3, 0xc1, 0x92, 0xfa, 0x20, 0x16, 0x44, 0x9d, 0x14, 0xa6, 0x29, 0x60, | |
- 0x12, 0x2a, 0x2b, 0x8f, 0x21, 0x9b, 0x5a, 0x96, 0x99, 0x92, 0x9a, 0x97, 0x9c, 0x0a, 0x51, 0xa0, | |
- 0xf4, 0x8e, 0x91, 0x8b, 0xd5, 0x09, 0x64, 0xad, 0x90, 0x19, 0x17, 0x5b, 0x46, 0x6a, 0x62, 0x4a, | |
- 0x6a, 0x91, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0x84, 0x1e, 0xba, 0x0b, 0xf4, 0x3c, 0xc0, | |
- 0xf2, 0x4e, 0x2c, 0x27, 0xee, 0xc9, 0x33, 0x04, 0x41, 0x55, 0x0b, 0x19, 0x70, 0xb1, 0xa4, 0x24, | |
- 0x96, 0x24, 0x4a, 0x30, 0x81, 0x75, 0x89, 0x61, 0xea, 0x72, 0x49, 0x2c, 0x49, 0x84, 0xea, 0x01, | |
- 0xab, 0x14, 0x72, 0xe0, 0xe2, 0x80, 0xb9, 0x42, 0x82, 0x19, 0xac, 0x4b, 0x0e, 0x53, 0x97, 0x2b, | |
- 0x54, 0x85, 0x4f, 0x66, 0x71, 0x09, 0x54, 0x37, 0x5c, 0x97, 0x90, 0x25, 0x17, 0x77, 0x4e, 0x62, | |
- 0x71, 0x49, 0x7c, 0x72, 0x7e, 0x6e, 0x6e, 0x66, 0x89, 0x04, 0x0b, 0x2e, 0x07, 0x3b, 0x83, 0xe5, | |
- 0x83, 0xb8, 0x40, 0x8a, 0x21, 0x6c, 0xa7, 0xc0, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, | |
- 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, | |
- 0x63, 0x88, 0x32, 0x4f, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x47, 0x0e, | |
- 0x36, 0x04, 0x13, 0x12, 0xf8, 0xe8, 0x41, 0x9a, 0xc4, 0x06, 0x16, 0x37, 0x06, 0x04, 0x00, 0x00, | |
- 0xff, 0xff, 0x79, 0x8c, 0xb5, 0x43, 0xd1, 0x01, 0x00, 0x00, | |
+ 0x12, 0x22, 0xab, 0xb4, 0x86, 0x91, 0x8b, 0xd5, 0x09, 0x64, 0xaa, 0x90, 0x19, 0x17, 0x5b, 0x46, | |
+ 0x6a, 0x62, 0x4a, 0x6a, 0x91, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0x84, 0x1e, 0xba, 0x05, | |
+ 0x7a, 0x1e, 0x60, 0x79, 0x27, 0x96, 0x13, 0xf7, 0xe4, 0x19, 0x82, 0xa0, 0xaa, 0x85, 0x0c, 0xb8, | |
+ 0x58, 0x52, 0x12, 0x4b, 0x12, 0x25, 0x98, 0xc0, 0xba, 0xc4, 0x30, 0x75, 0xb9, 0x24, 0x96, 0x24, | |
+ 0x42, 0xf5, 0x80, 0x55, 0x0a, 0x59, 0x72, 0x71, 0xe7, 0x24, 0x16, 0x97, 0xc4, 0x27, 0xe7, 0xe7, | |
+ 0xe6, 0x66, 0x96, 0x48, 0xb0, 0xe0, 0xb2, 0xce, 0x19, 0x2c, 0x1f, 0xc4, 0x05, 0x52, 0x0c, 0x61, | |
+ 0x3b, 0x05, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x13, | |
+ 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70, 0xe3, 0xb1, 0x1c, 0x43, 0x94, 0x79, 0x7a, 0x66, | |
+ 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x3e, 0xb2, 0x8f, 0x11, 0x4c, 0x48, 0xc8, 0xa0, | |
+ 0x87, 0x46, 0x12, 0x1b, 0x58, 0xdc, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xa3, 0xfc, 0x87, 0xdc, | |
+ 0x6e, 0x01, 0x00, 0x00, | |
} | |
func (m *Block) Marshal() (dAtA []byte, err error) { | |
@@ -151,16 +141,6 @@ | |
dAtA[i] = 0x22 | |
} | |
{ | |
- size, err := m.Evidence.MarshalToSizedBuffer(dAtA[:i]) | |
- if err != nil { | |
- return 0, err | |
- } | |
- i -= size | |
- i = encodeVarintBlock(dAtA, i, uint64(size)) | |
- } | |
- i-- | |
- dAtA[i] = 0x1a | |
- { | |
size, err := m.Data.MarshalToSizedBuffer(dAtA[:i]) | |
if err != nil { | |
return 0, err | |
@@ -204,8 +184,6 @@ | |
n += 1 + l + sovBlock(uint64(l)) | |
l = m.Data.Size() | |
n += 1 + l + sovBlock(uint64(l)) | |
- l = m.Evidence.Size() | |
- n += 1 + l + sovBlock(uint64(l)) | |
if m.LastCommit != nil { | |
l = m.LastCommit.Size() | |
n += 1 + l + sovBlock(uint64(l)) | |
@@ -312,39 +290,6 @@ | |
} | |
if err := m.Data.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
return err | |
- } | |
- iNdEx = postIndex | |
- case 3: | |
- if wireType != 2 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field Evidence", wireType) | |
- } | |
- var msglen int | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowBlock | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- msglen |= int(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- if msglen < 0 { | |
- return ErrInvalidLengthBlock | |
- } | |
- postIndex := iNdEx + msglen | |
- if postIndex < 0 { | |
- return ErrInvalidLengthBlock | |
- } | |
- if postIndex > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- if err := m.Evidence.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
- return err | |
} | |
iNdEx = postIndex | |
case 4: | |
Index: proto/tendermint/types/block.proto | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/proto/tendermint/types/block.proto b/proto/tendermint/types/block.proto | |
--- a/proto/tendermint/types/block.proto (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/proto/tendermint/types/block.proto (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -5,11 +5,9 @@ | |
import "gogoproto/gogo.proto"; | |
import "tendermint/types/types.proto"; | |
-import "tendermint/types/evidence.proto"; | |
message Block { | |
Header header = 1 [(gogoproto.nullable) = false]; | |
Data data = 2 [(gogoproto.nullable) = false]; | |
- tendermint.types.EvidenceList evidence = 3 [(gogoproto.nullable) = false]; | |
Commit last_commit = 4; | |
} | |
Index: proto/tendermint/types/types.pb.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/proto/tendermint/types/types.pb.go b/proto/tendermint/types/types.pb.go | |
--- a/proto/tendermint/types/types.pb.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/proto/tendermint/types/types.pb.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -420,7 +420,10 @@ | |
// Txs that will be applied by state @ block.Height+1. | |
// NOTE: not all txs here are valid. We're just agreeing on the order first. | |
// This means that block.AppHash does not include these txs. | |
- Txs [][]byte `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` | |
+ Txs [][]byte `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` | |
+ IntermediateStateRoots IntermediateStateRoots `protobuf:"bytes,2,opt,name=intermediate_state_roots,json=intermediateStateRoots,proto3" json:"intermediate_state_roots"` | |
+ Evidence EvidenceList `protobuf:"bytes,3,opt,name=evidence,proto3" json:"evidence"` | |
+ Messages Messages `protobuf:"bytes,4,opt,name=messages,proto3" json:"messages"` | |
} | |
func (m *Data) Reset() { *m = Data{} } | |
@@ -462,6 +465,515 @@ | |
} | |
return nil | |
} | |
+ | |
+func (m *Data) GetIntermediateStateRoots() IntermediateStateRoots { | |
+ if m != nil { | |
+ return m.IntermediateStateRoots | |
+ } | |
+ return IntermediateStateRoots{} | |
+} | |
+ | |
+func (m *Data) GetEvidence() EvidenceList { | |
+ if m != nil { | |
+ return m.Evidence | |
+ } | |
+ return EvidenceList{} | |
+} | |
+ | |
+func (m *Data) GetMessages() Messages { | |
+ if m != nil { | |
+ return m.Messages | |
+ } | |
+ return Messages{} | |
+} | |
+ | |
+// DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes. | |
+type DuplicateVoteEvidence struct { | |
+ VoteA *Vote `protobuf:"bytes,1,opt,name=vote_a,json=voteA,proto3" json:"vote_a,omitempty"` | |
+ VoteB *Vote `protobuf:"bytes,2,opt,name=vote_b,json=voteB,proto3" json:"vote_b,omitempty"` | |
+ TotalVotingPower int64 `protobuf:"varint,3,opt,name=total_voting_power,json=totalVotingPower,proto3" json:"total_voting_power,omitempty"` | |
+ ValidatorPower int64 `protobuf:"varint,4,opt,name=validator_power,json=validatorPower,proto3" json:"validator_power,omitempty"` | |
+ Timestamp time.Time `protobuf:"bytes,5,opt,name=timestamp,proto3,stdtime" json:"timestamp"` | |
+} | |
+ | |
+func (m *DuplicateVoteEvidence) Reset() { *m = DuplicateVoteEvidence{} } | |
+func (m *DuplicateVoteEvidence) String() string { return proto.CompactTextString(m) } | |
+func (*DuplicateVoteEvidence) ProtoMessage() {} | |
+func (*DuplicateVoteEvidence) Descriptor() ([]byte, []int) { | |
+ return fileDescriptor_d3a6e55e2345de56, []int{5} | |
+} | |
+func (m *DuplicateVoteEvidence) XXX_Unmarshal(b []byte) error { | |
+ return m.Unmarshal(b) | |
+} | |
+func (m *DuplicateVoteEvidence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
+ if deterministic { | |
+ return xxx_messageInfo_DuplicateVoteEvidence.Marshal(b, m, deterministic) | |
+ } else { | |
+ b = b[:cap(b)] | |
+ n, err := m.MarshalToSizedBuffer(b) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return b[:n], nil | |
+ } | |
+} | |
+func (m *DuplicateVoteEvidence) XXX_Merge(src proto.Message) { | |
+ xxx_messageInfo_DuplicateVoteEvidence.Merge(m, src) | |
+} | |
+func (m *DuplicateVoteEvidence) XXX_Size() int { | |
+ return m.Size() | |
+} | |
+func (m *DuplicateVoteEvidence) XXX_DiscardUnknown() { | |
+ xxx_messageInfo_DuplicateVoteEvidence.DiscardUnknown(m) | |
+} | |
+ | |
+var xxx_messageInfo_DuplicateVoteEvidence proto.InternalMessageInfo | |
+ | |
+func (m *DuplicateVoteEvidence) GetVoteA() *Vote { | |
+ if m != nil { | |
+ return m.VoteA | |
+ } | |
+ return nil | |
+} | |
+ | |
+func (m *DuplicateVoteEvidence) GetVoteB() *Vote { | |
+ if m != nil { | |
+ return m.VoteB | |
+ } | |
+ return nil | |
+} | |
+ | |
+func (m *DuplicateVoteEvidence) GetTotalVotingPower() int64 { | |
+ if m != nil { | |
+ return m.TotalVotingPower | |
+ } | |
+ return 0 | |
+} | |
+ | |
+func (m *DuplicateVoteEvidence) GetValidatorPower() int64 { | |
+ if m != nil { | |
+ return m.ValidatorPower | |
+ } | |
+ return 0 | |
+} | |
+ | |
+func (m *DuplicateVoteEvidence) GetTimestamp() time.Time { | |
+ if m != nil { | |
+ return m.Timestamp | |
+ } | |
+ return time.Time{} | |
+} | |
+ | |
+// LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client. | |
+type LightClientAttackEvidence struct { | |
+ ConflictingBlock *LightBlock `protobuf:"bytes,1,opt,name=conflicting_block,json=conflictingBlock,proto3" json:"conflicting_block,omitempty"` | |
+ CommonHeight int64 `protobuf:"varint,2,opt,name=common_height,json=commonHeight,proto3" json:"common_height,omitempty"` | |
+ ByzantineValidators []*Validator `protobuf:"bytes,3,rep,name=byzantine_validators,json=byzantineValidators,proto3" json:"byzantine_validators,omitempty"` | |
+ TotalVotingPower int64 `protobuf:"varint,4,opt,name=total_voting_power,json=totalVotingPower,proto3" json:"total_voting_power,omitempty"` | |
+ Timestamp time.Time `protobuf:"bytes,5,opt,name=timestamp,proto3,stdtime" json:"timestamp"` | |
+} | |
+ | |
+func (m *LightClientAttackEvidence) Reset() { *m = LightClientAttackEvidence{} } | |
+func (m *LightClientAttackEvidence) String() string { return proto.CompactTextString(m) } | |
+func (*LightClientAttackEvidence) ProtoMessage() {} | |
+func (*LightClientAttackEvidence) Descriptor() ([]byte, []int) { | |
+ return fileDescriptor_d3a6e55e2345de56, []int{6} | |
+} | |
+func (m *LightClientAttackEvidence) XXX_Unmarshal(b []byte) error { | |
+ return m.Unmarshal(b) | |
+} | |
+func (m *LightClientAttackEvidence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
+ if deterministic { | |
+ return xxx_messageInfo_LightClientAttackEvidence.Marshal(b, m, deterministic) | |
+ } else { | |
+ b = b[:cap(b)] | |
+ n, err := m.MarshalToSizedBuffer(b) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return b[:n], nil | |
+ } | |
+} | |
+func (m *LightClientAttackEvidence) XXX_Merge(src proto.Message) { | |
+ xxx_messageInfo_LightClientAttackEvidence.Merge(m, src) | |
+} | |
+func (m *LightClientAttackEvidence) XXX_Size() int { | |
+ return m.Size() | |
+} | |
+func (m *LightClientAttackEvidence) XXX_DiscardUnknown() { | |
+ xxx_messageInfo_LightClientAttackEvidence.DiscardUnknown(m) | |
+} | |
+ | |
+var xxx_messageInfo_LightClientAttackEvidence proto.InternalMessageInfo | |
+ | |
+func (m *LightClientAttackEvidence) GetConflictingBlock() *LightBlock { | |
+ if m != nil { | |
+ return m.ConflictingBlock | |
+ } | |
+ return nil | |
+} | |
+ | |
+func (m *LightClientAttackEvidence) GetCommonHeight() int64 { | |
+ if m != nil { | |
+ return m.CommonHeight | |
+ } | |
+ return 0 | |
+} | |
+ | |
+func (m *LightClientAttackEvidence) GetByzantineValidators() []*Validator { | |
+ if m != nil { | |
+ return m.ByzantineValidators | |
+ } | |
+ return nil | |
+} | |
+ | |
+func (m *LightClientAttackEvidence) GetTotalVotingPower() int64 { | |
+ if m != nil { | |
+ return m.TotalVotingPower | |
+ } | |
+ return 0 | |
+} | |
+ | |
+func (m *LightClientAttackEvidence) GetTimestamp() time.Time { | |
+ if m != nil { | |
+ return m.Timestamp | |
+ } | |
+ return time.Time{} | |
+} | |
+ | |
+type Evidence struct { | |
+ // Types that are valid to be assigned to Sum: | |
+ // *Evidence_DuplicateVoteEvidence | |
+ // *Evidence_LightClientAttackEvidence | |
+ Sum isEvidence_Sum `protobuf_oneof:"sum"` | |
+} | |
+ | |
+func (m *Evidence) Reset() { *m = Evidence{} } | |
+func (m *Evidence) String() string { return proto.CompactTextString(m) } | |
+func (*Evidence) ProtoMessage() {} | |
+func (*Evidence) Descriptor() ([]byte, []int) { | |
+ return fileDescriptor_d3a6e55e2345de56, []int{7} | |
+} | |
+func (m *Evidence) XXX_Unmarshal(b []byte) error { | |
+ return m.Unmarshal(b) | |
+} | |
+func (m *Evidence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
+ if deterministic { | |
+ return xxx_messageInfo_Evidence.Marshal(b, m, deterministic) | |
+ } else { | |
+ b = b[:cap(b)] | |
+ n, err := m.MarshalToSizedBuffer(b) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return b[:n], nil | |
+ } | |
+} | |
+func (m *Evidence) XXX_Merge(src proto.Message) { | |
+ xxx_messageInfo_Evidence.Merge(m, src) | |
+} | |
+func (m *Evidence) XXX_Size() int { | |
+ return m.Size() | |
+} | |
+func (m *Evidence) XXX_DiscardUnknown() { | |
+ xxx_messageInfo_Evidence.DiscardUnknown(m) | |
+} | |
+ | |
+var xxx_messageInfo_Evidence proto.InternalMessageInfo | |
+ | |
+type isEvidence_Sum interface { | |
+ isEvidence_Sum() | |
+ MarshalTo([]byte) (int, error) | |
+ Size() int | |
+} | |
+ | |
+type Evidence_DuplicateVoteEvidence struct { | |
+ DuplicateVoteEvidence *DuplicateVoteEvidence `protobuf:"bytes,1,opt,name=duplicate_vote_evidence,json=duplicateVoteEvidence,proto3,oneof" json:"duplicate_vote_evidence,omitempty"` | |
+} | |
+type Evidence_LightClientAttackEvidence struct { | |
+ LightClientAttackEvidence *LightClientAttackEvidence `protobuf:"bytes,2,opt,name=light_client_attack_evidence,json=lightClientAttackEvidence,proto3,oneof" json:"light_client_attack_evidence,omitempty"` | |
+} | |
+ | |
+func (*Evidence_DuplicateVoteEvidence) isEvidence_Sum() {} | |
+func (*Evidence_LightClientAttackEvidence) isEvidence_Sum() {} | |
+ | |
+func (m *Evidence) GetSum() isEvidence_Sum { | |
+ if m != nil { | |
+ return m.Sum | |
+ } | |
+ return nil | |
+} | |
+ | |
+func (m *Evidence) GetDuplicateVoteEvidence() *DuplicateVoteEvidence { | |
+ if x, ok := m.GetSum().(*Evidence_DuplicateVoteEvidence); ok { | |
+ return x.DuplicateVoteEvidence | |
+ } | |
+ return nil | |
+} | |
+ | |
+func (m *Evidence) GetLightClientAttackEvidence() *LightClientAttackEvidence { | |
+ if x, ok := m.GetSum().(*Evidence_LightClientAttackEvidence); ok { | |
+ return x.LightClientAttackEvidence | |
+ } | |
+ return nil | |
+} | |
+ | |
+// XXX_OneofWrappers is for the internal use of the proto package. | |
+func (*Evidence) XXX_OneofWrappers() []interface{} { | |
+ return []interface{}{ | |
+ (*Evidence_DuplicateVoteEvidence)(nil), | |
+ (*Evidence_LightClientAttackEvidence)(nil), | |
+ } | |
+} | |
+ | |
+// EvidenceData contains any evidence of malicious wrong-doing by validators | |
+type EvidenceList struct { | |
+ Evidence []Evidence `protobuf:"bytes,1,rep,name=evidence,proto3" json:"evidence"` | |
+} | |
+ | |
+func (m *EvidenceList) Reset() { *m = EvidenceList{} } | |
+func (m *EvidenceList) String() string { return proto.CompactTextString(m) } | |
+func (*EvidenceList) ProtoMessage() {} | |
+func (*EvidenceList) Descriptor() ([]byte, []int) { | |
+ return fileDescriptor_d3a6e55e2345de56, []int{8} | |
+} | |
+func (m *EvidenceList) XXX_Unmarshal(b []byte) error { | |
+ return m.Unmarshal(b) | |
+} | |
+func (m *EvidenceList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
+ if deterministic { | |
+ return xxx_messageInfo_EvidenceList.Marshal(b, m, deterministic) | |
+ } else { | |
+ b = b[:cap(b)] | |
+ n, err := m.MarshalToSizedBuffer(b) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return b[:n], nil | |
+ } | |
+} | |
+func (m *EvidenceList) XXX_Merge(src proto.Message) { | |
+ xxx_messageInfo_EvidenceList.Merge(m, src) | |
+} | |
+func (m *EvidenceList) XXX_Size() int { | |
+ return m.Size() | |
+} | |
+func (m *EvidenceList) XXX_DiscardUnknown() { | |
+ xxx_messageInfo_EvidenceList.DiscardUnknown(m) | |
+} | |
+ | |
+var xxx_messageInfo_EvidenceList proto.InternalMessageInfo | |
+ | |
+func (m *EvidenceList) GetEvidence() []Evidence { | |
+ if m != nil { | |
+ return m.Evidence | |
+ } | |
+ return nil | |
+} | |
+ | |
+type IntermediateStateRoots struct { | |
+ RawRootsList [][]byte `protobuf:"bytes,1,rep,name=raw_roots_list,json=rawRootsList,proto3" json:"raw_roots_list,omitempty"` | |
+} | |
+ | |
+func (m *IntermediateStateRoots) Reset() { *m = IntermediateStateRoots{} } | |
+func (m *IntermediateStateRoots) String() string { return proto.CompactTextString(m) } | |
+func (*IntermediateStateRoots) ProtoMessage() {} | |
+func (*IntermediateStateRoots) Descriptor() ([]byte, []int) { | |
+ return fileDescriptor_d3a6e55e2345de56, []int{9} | |
+} | |
+func (m *IntermediateStateRoots) XXX_Unmarshal(b []byte) error { | |
+ return m.Unmarshal(b) | |
+} | |
+func (m *IntermediateStateRoots) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
+ if deterministic { | |
+ return xxx_messageInfo_IntermediateStateRoots.Marshal(b, m, deterministic) | |
+ } else { | |
+ b = b[:cap(b)] | |
+ n, err := m.MarshalToSizedBuffer(b) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return b[:n], nil | |
+ } | |
+} | |
+func (m *IntermediateStateRoots) XXX_Merge(src proto.Message) { | |
+ xxx_messageInfo_IntermediateStateRoots.Merge(m, src) | |
+} | |
+func (m *IntermediateStateRoots) XXX_Size() int { | |
+ return m.Size() | |
+} | |
+func (m *IntermediateStateRoots) XXX_DiscardUnknown() { | |
+ xxx_messageInfo_IntermediateStateRoots.DiscardUnknown(m) | |
+} | |
+ | |
+var xxx_messageInfo_IntermediateStateRoots proto.InternalMessageInfo | |
+ | |
+func (m *IntermediateStateRoots) GetRawRootsList() [][]byte { | |
+ if m != nil { | |
+ return m.RawRootsList | |
+ } | |
+ return nil | |
+} | |
+ | |
+type Messages struct { | |
+ MessagesList []*Message `protobuf:"bytes,1,rep,name=messages_list,json=messagesList,proto3" json:"messages_list,omitempty"` | |
+} | |
+ | |
+func (m *Messages) Reset() { *m = Messages{} } | |
+func (m *Messages) String() string { return proto.CompactTextString(m) } | |
+func (*Messages) ProtoMessage() {} | |
+func (*Messages) Descriptor() ([]byte, []int) { | |
+ return fileDescriptor_d3a6e55e2345de56, []int{10} | |
+} | |
+func (m *Messages) XXX_Unmarshal(b []byte) error { | |
+ return m.Unmarshal(b) | |
+} | |
+func (m *Messages) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
+ if deterministic { | |
+ return xxx_messageInfo_Messages.Marshal(b, m, deterministic) | |
+ } else { | |
+ b = b[:cap(b)] | |
+ n, err := m.MarshalToSizedBuffer(b) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return b[:n], nil | |
+ } | |
+} | |
+func (m *Messages) XXX_Merge(src proto.Message) { | |
+ xxx_messageInfo_Messages.Merge(m, src) | |
+} | |
+func (m *Messages) XXX_Size() int { | |
+ return m.Size() | |
+} | |
+func (m *Messages) XXX_DiscardUnknown() { | |
+ xxx_messageInfo_Messages.DiscardUnknown(m) | |
+} | |
+ | |
+var xxx_messageInfo_Messages proto.InternalMessageInfo | |
+ | |
+func (m *Messages) GetMessagesList() []*Message { | |
+ if m != nil { | |
+ return m.MessagesList | |
+ } | |
+ return nil | |
+} | |
+ | |
+type Message struct { | |
+ NamespaceId []byte `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` | |
+ Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` | |
+} | |
+ | |
+func (m *Message) Reset() { *m = Message{} } | |
+func (m *Message) String() string { return proto.CompactTextString(m) } | |
+func (*Message) ProtoMessage() {} | |
+func (*Message) Descriptor() ([]byte, []int) { | |
+ return fileDescriptor_d3a6e55e2345de56, []int{11} | |
+} | |
+func (m *Message) XXX_Unmarshal(b []byte) error { | |
+ return m.Unmarshal(b) | |
+} | |
+func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
+ if deterministic { | |
+ return xxx_messageInfo_Message.Marshal(b, m, deterministic) | |
+ } else { | |
+ b = b[:cap(b)] | |
+ n, err := m.MarshalToSizedBuffer(b) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return b[:n], nil | |
+ } | |
+} | |
+func (m *Message) XXX_Merge(src proto.Message) { | |
+ xxx_messageInfo_Message.Merge(m, src) | |
+} | |
+func (m *Message) XXX_Size() int { | |
+ return m.Size() | |
+} | |
+func (m *Message) XXX_DiscardUnknown() { | |
+ xxx_messageInfo_Message.DiscardUnknown(m) | |
+} | |
+ | |
+var xxx_messageInfo_Message proto.InternalMessageInfo | |
+ | |
+func (m *Message) GetNamespaceId() []byte { | |
+ if m != nil { | |
+ return m.NamespaceId | |
+ } | |
+ return nil | |
+} | |
+ | |
+func (m *Message) GetData() []byte { | |
+ if m != nil { | |
+ return m.Data | |
+ } | |
+ return nil | |
+} | |
+ | |
+// DataAvailabilityHeader contains the row and column roots of the erasure | |
+// coded version of the data in Block.Data. | |
+// Therefor the original Block.Data is arranged in a | |
+// k × k matrix, which is then "extended" to a | |
+// 2k × 2k matrix applying multiple times Reed-Solomon encoding. | |
+// For details see Section 5.2: https://arxiv.org/abs/1809.09044 | |
+// or the Celestia specification: | |
+// https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#availabledataheader | |
+// Note that currently we list row and column roots in separate fields | |
+// (different from the spec). | |
+type DataAvailabilityHeader struct { | |
+ // RowRoot_j = root((M_{j,1} || M_{j,2} || ... || M_{j,2k} )) | |
+ RowRoots [][]byte `protobuf:"bytes,1,rep,name=row_roots,json=rowRoots,proto3" json:"row_roots,omitempty"` | |
+ // ColumnRoot_j = root((M_{1,j} || M_{2,j} || ... || M_{2k,j} )) | |
+ ColumnRoots [][]byte `protobuf:"bytes,2,rep,name=column_roots,json=columnRoots,proto3" json:"column_roots,omitempty"` | |
+} | |
+ | |
+func (m *DataAvailabilityHeader) Reset() { *m = DataAvailabilityHeader{} } | |
+func (m *DataAvailabilityHeader) String() string { return proto.CompactTextString(m) } | |
+func (*DataAvailabilityHeader) ProtoMessage() {} | |
+func (*DataAvailabilityHeader) Descriptor() ([]byte, []int) { | |
+ return fileDescriptor_d3a6e55e2345de56, []int{12} | |
+} | |
+func (m *DataAvailabilityHeader) XXX_Unmarshal(b []byte) error { | |
+ return m.Unmarshal(b) | |
+} | |
+func (m *DataAvailabilityHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
+ if deterministic { | |
+ return xxx_messageInfo_DataAvailabilityHeader.Marshal(b, m, deterministic) | |
+ } else { | |
+ b = b[:cap(b)] | |
+ n, err := m.MarshalToSizedBuffer(b) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return b[:n], nil | |
+ } | |
+} | |
+func (m *DataAvailabilityHeader) XXX_Merge(src proto.Message) { | |
+ xxx_messageInfo_DataAvailabilityHeader.Merge(m, src) | |
+} | |
+func (m *DataAvailabilityHeader) XXX_Size() int { | |
+ return m.Size() | |
+} | |
+func (m *DataAvailabilityHeader) XXX_DiscardUnknown() { | |
+ xxx_messageInfo_DataAvailabilityHeader.DiscardUnknown(m) | |
+} | |
+ | |
+var xxx_messageInfo_DataAvailabilityHeader proto.InternalMessageInfo | |
+ | |
+func (m *DataAvailabilityHeader) GetRowRoots() [][]byte { | |
+ if m != nil { | |
+ return m.RowRoots | |
+ } | |
+ return nil | |
+} | |
+ | |
+func (m *DataAvailabilityHeader) GetColumnRoots() [][]byte { | |
+ if m != nil { | |
+ return m.ColumnRoots | |
+ } | |
+ return nil | |
+} | |
// Vote represents a prevote, precommit, or commit vote from validators for | |
// consensus. | |
@@ -480,7 +992,7 @@ | |
func (m *Vote) String() string { return proto.CompactTextString(m) } | |
func (*Vote) ProtoMessage() {} | |
func (*Vote) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_d3a6e55e2345de56, []int{5} | |
+ return fileDescriptor_d3a6e55e2345de56, []int{13} | |
} | |
func (m *Vote) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -577,7 +1089,7 @@ | |
func (m *Commit) String() string { return proto.CompactTextString(m) } | |
func (*Commit) ProtoMessage() {} | |
func (*Commit) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_d3a6e55e2345de56, []int{6} | |
+ return fileDescriptor_d3a6e55e2345de56, []int{14} | |
} | |
func (m *Commit) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -646,7 +1158,7 @@ | |
func (m *CommitSig) String() string { return proto.CompactTextString(m) } | |
func (*CommitSig) ProtoMessage() {} | |
func (*CommitSig) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_d3a6e55e2345de56, []int{7} | |
+ return fileDescriptor_d3a6e55e2345de56, []int{15} | |
} | |
func (m *CommitSig) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -717,7 +1229,7 @@ | |
func (m *Proposal) String() string { return proto.CompactTextString(m) } | |
func (*Proposal) ProtoMessage() {} | |
func (*Proposal) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_d3a6e55e2345de56, []int{8} | |
+ return fileDescriptor_d3a6e55e2345de56, []int{16} | |
} | |
func (m *Proposal) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -804,7 +1316,7 @@ | |
func (m *SignedHeader) String() string { return proto.CompactTextString(m) } | |
func (*SignedHeader) ProtoMessage() {} | |
func (*SignedHeader) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_d3a6e55e2345de56, []int{9} | |
+ return fileDescriptor_d3a6e55e2345de56, []int{17} | |
} | |
func (m *SignedHeader) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -856,7 +1368,7 @@ | |
func (m *LightBlock) String() string { return proto.CompactTextString(m) } | |
func (*LightBlock) ProtoMessage() {} | |
func (*LightBlock) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_d3a6e55e2345de56, []int{10} | |
+ return fileDescriptor_d3a6e55e2345de56, []int{18} | |
} | |
func (m *LightBlock) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -910,7 +1422,7 @@ | |
func (m *BlockMeta) String() string { return proto.CompactTextString(m) } | |
func (*BlockMeta) ProtoMessage() {} | |
func (*BlockMeta) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_d3a6e55e2345de56, []int{11} | |
+ return fileDescriptor_d3a6e55e2345de56, []int{19} | |
} | |
func (m *BlockMeta) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -978,7 +1490,7 @@ | |
func (m *TxProof) String() string { return proto.CompactTextString(m) } | |
func (*TxProof) ProtoMessage() {} | |
func (*TxProof) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_d3a6e55e2345de56, []int{12} | |
+ return fileDescriptor_d3a6e55e2345de56, []int{20} | |
} | |
func (m *TxProof) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -1036,6 +1548,14 @@ | |
proto.RegisterType((*BlockID)(nil), "tendermint.types.BlockID") | |
proto.RegisterType((*Header)(nil), "tendermint.types.Header") | |
proto.RegisterType((*Data)(nil), "tendermint.types.Data") | |
+ proto.RegisterType((*DuplicateVoteEvidence)(nil), "tendermint.types.DuplicateVoteEvidence") | |
+ proto.RegisterType((*LightClientAttackEvidence)(nil), "tendermint.types.LightClientAttackEvidence") | |
+ proto.RegisterType((*Evidence)(nil), "tendermint.types.Evidence") | |
+ proto.RegisterType((*EvidenceList)(nil), "tendermint.types.EvidenceList") | |
+ proto.RegisterType((*IntermediateStateRoots)(nil), "tendermint.types.IntermediateStateRoots") | |
+ proto.RegisterType((*Messages)(nil), "tendermint.types.Messages") | |
+ proto.RegisterType((*Message)(nil), "tendermint.types.Message") | |
+ proto.RegisterType((*DataAvailabilityHeader)(nil), "tendermint.types.DataAvailabilityHeader") | |
proto.RegisterType((*Vote)(nil), "tendermint.types.Vote") | |
proto.RegisterType((*Commit)(nil), "tendermint.types.Commit") | |
proto.RegisterType((*CommitSig)(nil), "tendermint.types.CommitSig") | |
@@ -1049,90 +1569,119 @@ | |
func init() { proto.RegisterFile("tendermint/types/types.proto", fileDescriptor_d3a6e55e2345de56) } | |
var fileDescriptor_d3a6e55e2345de56 = []byte{ | |
- // 1314 bytes of a gzipped FileDescriptorProto | |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x4f, 0x6f, 0x1b, 0x45, | |
- 0x14, 0xcf, 0xda, 0x9b, 0xd8, 0x7e, 0xb6, 0x13, 0x67, 0x95, 0xb6, 0xae, 0xdb, 0x38, 0x2b, 0x23, | |
- 0x20, 0x2d, 0x68, 0x53, 0x52, 0xc4, 0x9f, 0x03, 0x07, 0xdb, 0x49, 0x5b, 0xab, 0x89, 0x63, 0xd6, | |
- 0x6e, 0x11, 0x5c, 0x56, 0x6b, 0xef, 0xd4, 0x5e, 0xba, 0xde, 0x59, 0xed, 0x8c, 0x43, 0xd2, 0x4f, | |
- 0x80, 0x72, 0xea, 0x89, 0x5b, 0x4e, 0x70, 0xe0, 0xce, 0x17, 0x40, 0x9c, 0x7a, 0xec, 0x0d, 0x2e, | |
- 0x14, 0x94, 0x4a, 0x88, 0x8f, 0x81, 0xe6, 0x8f, 0xd7, 0xeb, 0x38, 0x86, 0xaa, 0xaa, 0xb8, 0x58, | |
- 0x3b, 0xef, 0xfd, 0xde, 0xcc, 0x7b, 0xbf, 0xf7, 0x9b, 0x3f, 0x86, 0xeb, 0x14, 0xf9, 0x0e, 0x0a, | |
- 0x87, 0xae, 0x4f, 0xb7, 0xe8, 0x71, 0x80, 0x88, 0xf8, 0x35, 0x82, 0x10, 0x53, 0xac, 0x15, 0x26, | |
- 0x5e, 0x83, 0xdb, 0x4b, 0x6b, 0x7d, 0xdc, 0xc7, 0xdc, 0xb9, 0xc5, 0xbe, 0x04, 0xae, 0xb4, 0xd1, | |
- 0xc7, 0xb8, 0xef, 0xa1, 0x2d, 0x3e, 0xea, 0x8e, 0x1e, 0x6d, 0x51, 0x77, 0x88, 0x08, 0xb5, 0x87, | |
- 0x81, 0x04, 0xac, 0xc7, 0x96, 0xe9, 0x85, 0xc7, 0x01, 0xc5, 0x0c, 0x8b, 0x1f, 0x49, 0x77, 0x39, | |
- 0xe6, 0x3e, 0x44, 0x21, 0x71, 0xb1, 0x1f, 0xcf, 0xa3, 0xa4, 0xcf, 0x64, 0x79, 0x68, 0x7b, 0xae, | |
- 0x63, 0x53, 0x1c, 0x0a, 0x44, 0xe5, 0x53, 0xc8, 0xb7, 0xec, 0x90, 0xb6, 0x11, 0xbd, 0x87, 0x6c, | |
- 0x07, 0x85, 0xda, 0x1a, 0x2c, 0x52, 0x4c, 0x6d, 0xaf, 0xa8, 0xe8, 0xca, 0x66, 0xde, 0x14, 0x03, | |
- 0x4d, 0x03, 0x75, 0x60, 0x93, 0x41, 0x31, 0xa1, 0x2b, 0x9b, 0x39, 0x93, 0x7f, 0x57, 0x06, 0xa0, | |
- 0xb2, 0x50, 0x16, 0xe1, 0xfa, 0x0e, 0x3a, 0x1a, 0x47, 0xf0, 0x01, 0xb3, 0x76, 0x8f, 0x29, 0x22, | |
- 0x32, 0x44, 0x0c, 0xb4, 0x0f, 0x61, 0x91, 0xe7, 0x5f, 0x4c, 0xea, 0xca, 0x66, 0x76, 0xbb, 0x68, | |
- 0xc4, 0x88, 0x12, 0xf5, 0x19, 0x2d, 0xe6, 0xaf, 0xa9, 0xcf, 0x5e, 0x6c, 0x2c, 0x98, 0x02, 0x5c, | |
- 0xf1, 0x20, 0x55, 0xf3, 0x70, 0xef, 0x71, 0x63, 0x27, 0x4a, 0x44, 0x99, 0x24, 0xa2, 0xed, 0xc3, | |
- 0x4a, 0x60, 0x87, 0xd4, 0x22, 0x88, 0x5a, 0x03, 0x5e, 0x05, 0x5f, 0x34, 0xbb, 0xbd, 0x61, 0x9c, | |
- 0xef, 0x83, 0x31, 0x55, 0xac, 0x5c, 0x25, 0x1f, 0xc4, 0x8d, 0x95, 0xbf, 0x54, 0x58, 0x92, 0x64, | |
- 0x7c, 0x06, 0x29, 0x49, 0x2b, 0x5f, 0x30, 0xbb, 0xbd, 0x1e, 0x9f, 0x51, 0xba, 0x8c, 0x3a, 0xf6, | |
- 0x09, 0xf2, 0xc9, 0x88, 0xc8, 0xf9, 0xc6, 0x31, 0xda, 0x3b, 0x90, 0xee, 0x0d, 0x6c, 0xd7, 0xb7, | |
- 0x5c, 0x87, 0x67, 0x94, 0xa9, 0x65, 0xcf, 0x5e, 0x6c, 0xa4, 0xea, 0xcc, 0xd6, 0xd8, 0x31, 0x53, | |
- 0xdc, 0xd9, 0x70, 0xb4, 0xcb, 0xb0, 0x34, 0x40, 0x6e, 0x7f, 0x40, 0x39, 0x2d, 0x49, 0x53, 0x8e, | |
- 0xb4, 0x4f, 0x40, 0x65, 0x82, 0x28, 0xaa, 0x7c, 0xed, 0x92, 0x21, 0xd4, 0x62, 0x8c, 0xd5, 0x62, | |
- 0x74, 0xc6, 0x6a, 0xa9, 0xa5, 0xd9, 0xc2, 0x4f, 0xff, 0xd8, 0x50, 0x4c, 0x1e, 0xa1, 0xd5, 0x21, | |
- 0xef, 0xd9, 0x84, 0x5a, 0x5d, 0x46, 0x1b, 0x5b, 0x7e, 0x91, 0x4f, 0x71, 0x75, 0x96, 0x10, 0x49, | |
- 0xac, 0x4c, 0x3d, 0xcb, 0xa2, 0x84, 0xc9, 0xd1, 0x36, 0xa1, 0xc0, 0x27, 0xe9, 0xe1, 0xe1, 0xd0, | |
- 0xa5, 0x16, 0xe7, 0x7d, 0x89, 0xf3, 0xbe, 0xcc, 0xec, 0x75, 0x6e, 0xbe, 0xc7, 0x3a, 0x70, 0x0d, | |
- 0x32, 0x8e, 0x4d, 0x6d, 0x01, 0x49, 0x71, 0x48, 0x9a, 0x19, 0xb8, 0xf3, 0x5d, 0x58, 0x89, 0x54, | |
- 0x47, 0x04, 0x24, 0x2d, 0x66, 0x99, 0x98, 0x39, 0xf0, 0x16, 0xac, 0xf9, 0xe8, 0x88, 0x5a, 0xe7, | |
- 0xd1, 0x19, 0x8e, 0xd6, 0x98, 0xef, 0xe1, 0x74, 0xc4, 0xdb, 0xb0, 0xdc, 0x1b, 0x93, 0x2f, 0xb0, | |
- 0xc0, 0xb1, 0xf9, 0xc8, 0xca, 0x61, 0x57, 0x21, 0x6d, 0x07, 0x81, 0x00, 0x64, 0x39, 0x20, 0x65, | |
- 0x07, 0x01, 0x77, 0xdd, 0x84, 0x55, 0x5e, 0x63, 0x88, 0xc8, 0xc8, 0xa3, 0x72, 0x92, 0x1c, 0xc7, | |
- 0xac, 0x30, 0x87, 0x29, 0xec, 0x1c, 0xfb, 0x16, 0xe4, 0xd1, 0xa1, 0xeb, 0x20, 0xbf, 0x87, 0x04, | |
- 0x2e, 0xcf, 0x71, 0xb9, 0xb1, 0x91, 0x83, 0x6e, 0x40, 0x21, 0x08, 0x71, 0x80, 0x09, 0x0a, 0x2d, | |
- 0xdb, 0x71, 0x42, 0x44, 0x48, 0x71, 0x59, 0xcc, 0x37, 0xb6, 0x57, 0x85, 0xb9, 0x52, 0x04, 0x75, | |
- 0xc7, 0xa6, 0xb6, 0x56, 0x80, 0x24, 0x3d, 0x22, 0x45, 0x45, 0x4f, 0x6e, 0xe6, 0x4c, 0xf6, 0x59, | |
- 0xf9, 0x3b, 0x01, 0xea, 0x43, 0x4c, 0x91, 0x76, 0x1b, 0x54, 0xd6, 0x26, 0xae, 0xbe, 0xe5, 0x8b, | |
- 0xf4, 0xdc, 0x76, 0xfb, 0x3e, 0x72, 0xf6, 0x49, 0xbf, 0x73, 0x1c, 0x20, 0x93, 0x83, 0x63, 0x72, | |
- 0x4a, 0x4c, 0xc9, 0x69, 0x0d, 0x16, 0x43, 0x3c, 0xf2, 0x1d, 0xae, 0xb2, 0x45, 0x53, 0x0c, 0xb4, | |
- 0x5d, 0x48, 0x47, 0x2a, 0x51, 0xff, 0x4b, 0x25, 0x2b, 0x4c, 0x25, 0x4c, 0xc3, 0xd2, 0x60, 0xa6, | |
- 0xba, 0x52, 0x2c, 0x35, 0xc8, 0x44, 0x87, 0x97, 0x54, 0xdb, 0xab, 0x09, 0x76, 0x12, 0xa6, 0xbd, | |
- 0x07, 0xab, 0x51, 0xef, 0x23, 0xf2, 0x84, 0xe2, 0x0a, 0x91, 0x43, 0xb2, 0x37, 0x25, 0x2b, 0x4b, | |
- 0x1c, 0x40, 0x29, 0x5e, 0xd7, 0x44, 0x56, 0x0d, 0x7e, 0x12, 0x5d, 0x87, 0x0c, 0x71, 0xfb, 0xbe, | |
- 0x4d, 0x47, 0x21, 0x92, 0xca, 0x9b, 0x18, 0x2a, 0x3f, 0x2b, 0xb0, 0x24, 0x94, 0x1c, 0xe3, 0x4d, | |
- 0xb9, 0x98, 0xb7, 0xc4, 0x3c, 0xde, 0x92, 0xaf, 0xcf, 0x5b, 0x15, 0x20, 0x4a, 0x86, 0x14, 0x55, | |
- 0x3d, 0xb9, 0x99, 0xdd, 0xbe, 0x36, 0x3b, 0x91, 0x48, 0xb1, 0xed, 0xf6, 0xe5, 0x46, 0x8d, 0x05, | |
- 0x55, 0x7e, 0x57, 0x20, 0x13, 0xf9, 0xb5, 0x2a, 0xe4, 0xc7, 0x79, 0x59, 0x8f, 0x3c, 0xbb, 0x2f, | |
- 0xb5, 0xb3, 0x3e, 0x37, 0xb9, 0x3b, 0x9e, 0xdd, 0x37, 0xb3, 0x32, 0x1f, 0x36, 0xb8, 0xb8, 0x0f, | |
- 0x89, 0x39, 0x7d, 0x98, 0x6a, 0x7c, 0xf2, 0xf5, 0x1a, 0x3f, 0xd5, 0x22, 0xf5, 0x7c, 0x8b, 0x7e, | |
- 0x4a, 0x40, 0xba, 0xc5, 0xf7, 0x8e, 0xed, 0xfd, 0x1f, 0x3b, 0xe2, 0x1a, 0x64, 0x02, 0xec, 0x59, | |
- 0xc2, 0xa3, 0x72, 0x4f, 0x3a, 0xc0, 0x9e, 0x39, 0xd3, 0xf6, 0xc5, 0x37, 0xb4, 0x5d, 0x96, 0xde, | |
- 0x00, 0x6b, 0xa9, 0xf3, 0xac, 0x85, 0x90, 0x13, 0x54, 0xc8, 0xbb, 0xec, 0x16, 0xe3, 0x80, 0x5f, | |
- 0x8e, 0xca, 0xec, 0xdd, 0x2b, 0xd2, 0x16, 0x48, 0x53, 0xe2, 0x58, 0x84, 0x38, 0xfa, 0xe5, 0x75, | |
- 0x5a, 0x9c, 0x27, 0x4b, 0x53, 0xe2, 0x2a, 0xdf, 0x29, 0x00, 0x7b, 0x8c, 0x59, 0x5e, 0x2f, 0xbb, | |
- 0x85, 0x08, 0x4f, 0xc1, 0x9a, 0x5a, 0xb9, 0x3c, 0xaf, 0x69, 0x72, 0xfd, 0x1c, 0x89, 0xe7, 0x5d, | |
- 0x87, 0xfc, 0x44, 0x8c, 0x04, 0x8d, 0x93, 0xb9, 0x60, 0x92, 0xe8, 0x72, 0x68, 0x23, 0x6a, 0xe6, | |
- 0x0e, 0x63, 0xa3, 0xca, 0x2f, 0x0a, 0x64, 0x78, 0x4e, 0xfb, 0x88, 0xda, 0x53, 0x3d, 0x54, 0x5e, | |
- 0xbf, 0x87, 0xeb, 0x00, 0x62, 0x1a, 0xe2, 0x3e, 0x41, 0x52, 0x59, 0x19, 0x6e, 0x69, 0xbb, 0x4f, | |
- 0x90, 0xf6, 0x51, 0x44, 0x78, 0xf2, 0xdf, 0x09, 0x97, 0x5b, 0x7a, 0x4c, 0xfb, 0x15, 0x48, 0xf9, | |
- 0xa3, 0xa1, 0xc5, 0xae, 0x04, 0x55, 0xa8, 0xd5, 0x1f, 0x0d, 0x3b, 0x47, 0xa4, 0xf2, 0x35, 0xa4, | |
- 0x3a, 0x47, 0xfc, 0x79, 0xc4, 0x24, 0x1a, 0x62, 0x2c, 0xef, 0x64, 0xf1, 0x16, 0x4a, 0x33, 0x03, | |
- 0xbf, 0x82, 0x34, 0x50, 0xd9, 0xe5, 0x3b, 0x7e, 0xac, 0xb1, 0x6f, 0xcd, 0x78, 0xc5, 0x87, 0x97, | |
- 0x7c, 0x72, 0xdd, 0xfc, 0x55, 0x81, 0x6c, 0xec, 0x7c, 0xd0, 0x3e, 0x80, 0x4b, 0xb5, 0xbd, 0x83, | |
- 0xfa, 0x7d, 0xab, 0xb1, 0x63, 0xdd, 0xd9, 0xab, 0xde, 0xb5, 0x1e, 0x34, 0xef, 0x37, 0x0f, 0xbe, | |
- 0x68, 0x16, 0x16, 0x4a, 0x97, 0x4f, 0x4e, 0x75, 0x2d, 0x86, 0x7d, 0xe0, 0x3f, 0xf6, 0xf1, 0x37, | |
- 0xbe, 0xb6, 0x05, 0x6b, 0xd3, 0x21, 0xd5, 0x5a, 0x7b, 0xb7, 0xd9, 0x29, 0x28, 0xa5, 0x4b, 0x27, | |
- 0xa7, 0xfa, 0x6a, 0x2c, 0xa2, 0xda, 0x25, 0xc8, 0xa7, 0xb3, 0x01, 0xf5, 0x83, 0xfd, 0xfd, 0x46, | |
- 0xa7, 0x90, 0x98, 0x09, 0x90, 0x07, 0xf6, 0x0d, 0x58, 0x9d, 0x0e, 0x68, 0x36, 0xf6, 0x0a, 0xc9, | |
- 0x92, 0x76, 0x72, 0xaa, 0x2f, 0xc7, 0xd0, 0x4d, 0xd7, 0x2b, 0xa5, 0xbf, 0xfd, 0xbe, 0xbc, 0xf0, | |
- 0xe3, 0x0f, 0x65, 0x85, 0x55, 0x96, 0x9f, 0x3a, 0x23, 0xb4, 0xf7, 0xe1, 0x4a, 0xbb, 0x71, 0xb7, | |
- 0xb9, 0xbb, 0x63, 0xed, 0xb7, 0xef, 0x5a, 0x9d, 0x2f, 0x5b, 0xbb, 0xb1, 0xea, 0x56, 0x4e, 0x4e, | |
- 0xf5, 0xac, 0x2c, 0x69, 0x1e, 0xba, 0x65, 0xee, 0x3e, 0x3c, 0xe8, 0xec, 0x16, 0x14, 0x81, 0x6e, | |
- 0x85, 0xe8, 0x10, 0x53, 0xc4, 0xd1, 0xb7, 0xe0, 0xea, 0x05, 0xe8, 0xa8, 0xb0, 0xd5, 0x93, 0x53, | |
- 0x3d, 0xdf, 0x0a, 0x91, 0xd8, 0x3f, 0x3c, 0xc2, 0x80, 0xe2, 0x6c, 0xc4, 0x41, 0xeb, 0xa0, 0x5d, | |
- 0xdd, 0x2b, 0xe8, 0xa5, 0xc2, 0xc9, 0xa9, 0x9e, 0x1b, 0x1f, 0x86, 0x0c, 0x3f, 0xa9, 0xac, 0xf6, | |
- 0xf9, 0xb3, 0xb3, 0xb2, 0xf2, 0xfc, 0xac, 0xac, 0xfc, 0x79, 0x56, 0x56, 0x9e, 0xbe, 0x2c, 0x2f, | |
- 0x3c, 0x7f, 0x59, 0x5e, 0xf8, 0xed, 0x65, 0x79, 0xe1, 0xab, 0x8f, 0xfb, 0x2e, 0x1d, 0x8c, 0xba, | |
- 0x46, 0x0f, 0x0f, 0xb7, 0xe2, 0x7f, 0x09, 0x26, 0x9f, 0xe2, 0xaf, 0xc9, 0xf9, 0xbf, 0x0b, 0xdd, | |
- 0x25, 0x6e, 0xbf, 0xfd, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4c, 0x78, 0x43, 0xdf, 0xef, 0x0c, | |
- 0x00, 0x00, | |
+ // 1783 bytes of a gzipped FileDescriptorProto | |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4b, 0x6f, 0xdb, 0xd8, | |
+ 0x15, 0x36, 0x25, 0xd9, 0x92, 0x8e, 0x24, 0x5b, 0xbe, 0x75, 0x1c, 0x59, 0x49, 0x64, 0x95, 0x7d, | |
+ 0x8c, 0xe7, 0x51, 0x39, 0xcd, 0x14, 0x7d, 0x00, 0xed, 0x60, 0x24, 0xdb, 0x13, 0xab, 0xe3, 0x87, | |
+ 0x4a, 0x79, 0xd2, 0xc7, 0x86, 0xb8, 0x12, 0x6f, 0x24, 0x36, 0x14, 0x2f, 0xc1, 0x7b, 0xe5, 0xd8, | |
+ 0x59, 0x76, 0x55, 0x78, 0x95, 0x55, 0x77, 0x5e, 0xb5, 0x8b, 0xee, 0xfb, 0x07, 0x8a, 0xae, 0x66, | |
+ 0x53, 0x60, 0x76, 0xed, 0xa6, 0xd3, 0x22, 0x29, 0x8a, 0xfe, 0x8c, 0xe2, 0x3e, 0x48, 0x51, 0x96, | |
+ 0x94, 0x06, 0x41, 0x30, 0x1b, 0x81, 0x3c, 0xe7, 0x3b, 0xf7, 0x9e, 0xf7, 0x39, 0x14, 0xdc, 0xe5, | |
+ 0xc4, 0x77, 0x48, 0x38, 0x72, 0x7d, 0xbe, 0xcb, 0x2f, 0x03, 0xc2, 0xd4, 0x6f, 0x23, 0x08, 0x29, | |
+ 0xa7, 0xa8, 0x3c, 0xe1, 0x36, 0x24, 0xbd, 0xba, 0x31, 0xa0, 0x03, 0x2a, 0x99, 0xbb, 0xe2, 0x49, | |
+ 0xe1, 0xaa, 0xdb, 0x03, 0x4a, 0x07, 0x1e, 0xd9, 0x95, 0x6f, 0xbd, 0xf1, 0xe3, 0x5d, 0xee, 0x8e, | |
+ 0x08, 0xe3, 0x78, 0x14, 0x68, 0xc0, 0xbd, 0xc4, 0x35, 0xfd, 0xf0, 0x32, 0xe0, 0x54, 0x60, 0xe9, | |
+ 0x63, 0xcd, 0xae, 0x25, 0xd8, 0xe7, 0x24, 0x64, 0x2e, 0xf5, 0x93, 0x7a, 0x54, 0xeb, 0x33, 0x5a, | |
+ 0x9e, 0x63, 0xcf, 0x75, 0x30, 0xa7, 0xa1, 0x42, 0x98, 0x3f, 0x82, 0x52, 0x07, 0x87, 0xbc, 0x4b, | |
+ 0xf8, 0x21, 0xc1, 0x0e, 0x09, 0xd1, 0x06, 0x2c, 0x73, 0xca, 0xb1, 0x57, 0x31, 0xea, 0xc6, 0x4e, | |
+ 0xc9, 0x52, 0x2f, 0x08, 0x41, 0x66, 0x88, 0xd9, 0xb0, 0x92, 0xaa, 0x1b, 0x3b, 0x45, 0x4b, 0x3e, | |
+ 0x9b, 0x43, 0xc8, 0x08, 0x51, 0x21, 0xe1, 0xfa, 0x0e, 0xb9, 0x88, 0x24, 0xe4, 0x8b, 0xa0, 0xf6, | |
+ 0x2e, 0x39, 0x61, 0x5a, 0x44, 0xbd, 0xa0, 0xef, 0xc1, 0xb2, 0xd4, 0xbf, 0x92, 0xae, 0x1b, 0x3b, | |
+ 0x85, 0x07, 0x95, 0x46, 0xc2, 0x51, 0xca, 0xbe, 0x46, 0x47, 0xf0, 0x5b, 0x99, 0xcf, 0xbf, 0xdc, | |
+ 0x5e, 0xb2, 0x14, 0xd8, 0xf4, 0x20, 0xdb, 0xf2, 0x68, 0xff, 0x49, 0x7b, 0x3f, 0x56, 0xc4, 0x98, | |
+ 0x28, 0x82, 0x8e, 0x61, 0x2d, 0xc0, 0x21, 0xb7, 0x19, 0xe1, 0xf6, 0x50, 0x5a, 0x21, 0x2f, 0x2d, | |
+ 0x3c, 0xd8, 0x6e, 0xdc, 0x8c, 0x43, 0x63, 0xca, 0x58, 0x7d, 0x4b, 0x29, 0x48, 0x12, 0xcd, 0xff, | |
+ 0x64, 0x60, 0x45, 0x3b, 0xe3, 0x27, 0x90, 0xd5, 0x6e, 0x95, 0x17, 0x16, 0x1e, 0xdc, 0x4b, 0x9e, | |
+ 0xa8, 0x59, 0x8d, 0x3d, 0xea, 0x33, 0xe2, 0xb3, 0x31, 0xd3, 0xe7, 0x45, 0x32, 0xe8, 0xdb, 0x90, | |
+ 0xeb, 0x0f, 0xb1, 0xeb, 0xdb, 0xae, 0x23, 0x35, 0xca, 0xb7, 0x0a, 0x2f, 0xbe, 0xdc, 0xce, 0xee, | |
+ 0x09, 0x5a, 0x7b, 0xdf, 0xca, 0x4a, 0x66, 0xdb, 0x41, 0x9b, 0xb0, 0x32, 0x24, 0xee, 0x60, 0xc8, | |
+ 0xa5, 0x5b, 0xd2, 0x96, 0x7e, 0x43, 0x3f, 0x84, 0x8c, 0x48, 0x88, 0x4a, 0x46, 0xde, 0x5d, 0x6d, | |
+ 0xa8, 0x6c, 0x69, 0x44, 0xd9, 0xd2, 0x38, 0x8b, 0xb2, 0xa5, 0x95, 0x13, 0x17, 0x3f, 0xff, 0xe7, | |
+ 0xb6, 0x61, 0x49, 0x09, 0xb4, 0x07, 0x25, 0x0f, 0x33, 0x6e, 0xf7, 0x84, 0xdb, 0xc4, 0xf5, 0xcb, | |
+ 0xf2, 0x88, 0xad, 0x59, 0x87, 0x68, 0xc7, 0x6a, 0xd5, 0x0b, 0x42, 0x4a, 0x91, 0x1c, 0xb4, 0x03, | |
+ 0x65, 0x79, 0x48, 0x9f, 0x8e, 0x46, 0x2e, 0xb7, 0xa5, 0xdf, 0x57, 0xa4, 0xdf, 0x57, 0x05, 0x7d, | |
+ 0x4f, 0x92, 0x0f, 0x45, 0x04, 0xee, 0x40, 0xde, 0xc1, 0x1c, 0x2b, 0x48, 0x56, 0x42, 0x72, 0x82, | |
+ 0x20, 0x99, 0xef, 0xc0, 0x5a, 0x9c, 0x75, 0x4c, 0x41, 0x72, 0xea, 0x94, 0x09, 0x59, 0x02, 0xef, | |
+ 0xc3, 0x86, 0x4f, 0x2e, 0xb8, 0x7d, 0x13, 0x9d, 0x97, 0x68, 0x24, 0x78, 0x8f, 0xa6, 0x25, 0xbe, | |
+ 0x05, 0xab, 0xfd, 0xc8, 0xf9, 0x0a, 0x0b, 0x12, 0x5b, 0x8a, 0xa9, 0x12, 0xb6, 0x05, 0x39, 0x1c, | |
+ 0x04, 0x0a, 0x50, 0x90, 0x80, 0x2c, 0x0e, 0x02, 0xc9, 0x7a, 0x0f, 0xd6, 0xa5, 0x8d, 0x21, 0x61, | |
+ 0x63, 0x8f, 0xeb, 0x43, 0x8a, 0x12, 0xb3, 0x26, 0x18, 0x96, 0xa2, 0x4b, 0xec, 0x37, 0xa0, 0x44, | |
+ 0xce, 0x5d, 0x87, 0xf8, 0x7d, 0xa2, 0x70, 0x25, 0x89, 0x2b, 0x46, 0x44, 0x09, 0x7a, 0x17, 0xca, | |
+ 0x41, 0x48, 0x03, 0xca, 0x48, 0x68, 0x63, 0xc7, 0x09, 0x09, 0x63, 0x95, 0x55, 0x75, 0x5e, 0x44, | |
+ 0x6f, 0x2a, 0xb2, 0xf9, 0x9b, 0x14, 0x64, 0xf6, 0x31, 0xc7, 0xa8, 0x0c, 0x69, 0x7e, 0xc1, 0x2a, | |
+ 0x46, 0x3d, 0xbd, 0x53, 0xb4, 0xc4, 0x23, 0x1a, 0x42, 0xc5, 0xf5, 0x39, 0x09, 0x47, 0xc4, 0x71, | |
+ 0x31, 0x27, 0x36, 0xe3, 0xe2, 0x37, 0xa4, 0x94, 0x33, 0x9d, 0xdb, 0x3b, 0xb3, 0xa1, 0x6c, 0x27, | |
+ 0x24, 0xba, 0x42, 0xc0, 0x12, 0x78, 0x1d, 0xd9, 0x4d, 0x77, 0x2e, 0x17, 0x7d, 0x0c, 0xb9, 0x48, | |
+ 0x7f, 0x5d, 0x94, 0xb5, 0xd9, 0x93, 0x0f, 0x34, 0xe2, 0xc8, 0x65, 0x5c, 0x9f, 0x17, 0x4b, 0xa1, | |
+ 0x1f, 0x43, 0x6e, 0x44, 0x18, 0xc3, 0x03, 0xc2, 0xe2, 0x4c, 0x9d, 0x39, 0xe1, 0x58, 0x23, 0x22, | |
+ 0xe9, 0x48, 0xc2, 0x7c, 0x9e, 0x82, 0x5b, 0xfb, 0xe3, 0xc0, 0x73, 0xfb, 0x98, 0x93, 0x47, 0x94, | |
+ 0x93, 0xe8, 0x2e, 0xf4, 0x1d, 0x58, 0x39, 0xa7, 0x9c, 0xd8, 0x58, 0xd7, 0xde, 0xe6, 0xec, 0xa9, | |
+ 0x02, 0x6f, 0x2d, 0x0b, 0x54, 0x33, 0x86, 0xf7, 0xb4, 0x83, 0x5e, 0x09, 0x6f, 0xa1, 0x0f, 0x00, | |
+ 0xc9, 0xd6, 0x66, 0x9f, 0x53, 0xee, 0xfa, 0x03, 0x3b, 0xa0, 0x4f, 0x49, 0xa8, 0xeb, 0xaf, 0x2c, | |
+ 0x39, 0x8f, 0x24, 0xa3, 0x23, 0xe8, 0x53, 0x39, 0xac, 0xa1, 0x19, 0x09, 0x9d, 0xe4, 0xb0, 0x02, | |
+ 0xb6, 0x20, 0x1f, 0xf7, 0x70, 0x5d, 0x74, 0xaf, 0x57, 0xb7, 0x13, 0x31, 0xf3, 0xaf, 0x29, 0xd8, | |
+ 0x3a, 0x12, 0x0d, 0x60, 0xcf, 0x73, 0x89, 0xcf, 0x9b, 0x9c, 0xe3, 0xfe, 0x93, 0xd8, 0x2d, 0x6d, | |
+ 0x58, 0xef, 0x53, 0xff, 0xb1, 0xe7, 0xf6, 0xa5, 0xde, 0xb2, 0xc2, 0xb5, 0x87, 0xee, 0xce, 0x9a, | |
+ 0x2c, 0xcf, 0x91, 0x05, 0x6d, 0x95, 0x13, 0x62, 0x92, 0x22, 0x12, 0x5a, 0xd4, 0x36, 0xf5, 0x6d, | |
+ 0xdd, 0x7e, 0x52, 0xd2, 0xa6, 0xa2, 0x22, 0x1e, 0xaa, 0x26, 0x74, 0x02, 0x1b, 0xbd, 0xcb, 0x67, | |
+ 0xd8, 0xe7, 0xae, 0x4f, 0x12, 0xa5, 0x59, 0x49, 0xd7, 0xd3, 0x3b, 0x85, 0x07, 0x77, 0xe6, 0x78, | |
+ 0x39, 0xc2, 0x58, 0x5f, 0x8b, 0x05, 0x27, 0x75, 0xbb, 0xc0, 0xf1, 0x99, 0x05, 0x8e, 0x7f, 0x1b, | |
+ 0xfe, 0xfc, 0xb7, 0x01, 0xb9, 0xd8, 0x7d, 0x18, 0x6e, 0x3b, 0x51, 0xba, 0xd9, 0x32, 0x61, 0xe2, | |
+ 0xf4, 0x57, 0x4e, 0x7c, 0x67, 0xd6, 0xa2, 0xb9, 0xf9, 0x79, 0xb8, 0x64, 0xdd, 0x72, 0xe6, 0x26, | |
+ 0xae, 0x0f, 0x77, 0x3d, 0xe1, 0x3a, 0xbb, 0x2f, 0xe3, 0x67, 0x63, 0x19, 0xc0, 0xc9, 0x3d, 0x2a, | |
+ 0x3f, 0xdf, 0x5f, 0x10, 0xac, 0x79, 0x41, 0x3f, 0x5c, 0xb2, 0xb6, 0xbc, 0x45, 0xcc, 0xd6, 0x32, | |
+ 0xa4, 0xd9, 0x78, 0x64, 0x1e, 0x41, 0x31, 0x59, 0xa7, 0xa2, 0x2e, 0x13, 0xa6, 0xa5, 0xe7, 0xd7, | |
+ 0x65, 0x7c, 0xc8, 0x8d, 0xaa, 0x36, 0x3f, 0x82, 0xcd, 0xf9, 0xfd, 0x04, 0x7d, 0x13, 0x56, 0x43, | |
+ 0xfc, 0x54, 0x35, 0x23, 0xdb, 0x73, 0x19, 0xd7, 0x8d, 0xab, 0x18, 0xe2, 0xa7, 0x12, 0x21, 0x6e, | |
+ 0x37, 0x7f, 0x0a, 0xb9, 0xa8, 0xe6, 0xd1, 0x47, 0x50, 0x8a, 0xea, 0x7d, 0x22, 0x30, 0x77, 0x1a, | |
+ 0x69, 0x11, 0xab, 0x18, 0xe1, 0xe5, 0x59, 0x1f, 0x43, 0x56, 0x33, 0xd0, 0xd7, 0xa1, 0xe8, 0xe3, | |
+ 0x11, 0x61, 0x01, 0xee, 0x13, 0x31, 0xd7, 0xd4, 0x1e, 0x50, 0x88, 0x69, 0x6d, 0x47, 0xac, 0x08, | |
+ 0x62, 0xf6, 0x44, 0xbb, 0x8a, 0x78, 0x36, 0x7f, 0x01, 0x9b, 0xa2, 0xd3, 0x36, 0xcf, 0xb1, 0xeb, | |
+ 0xe1, 0x9e, 0xeb, 0xb9, 0xfc, 0x52, 0x8f, 0xf8, 0x3b, 0x90, 0x0f, 0xa9, 0xb6, 0x46, 0x1b, 0x92, | |
+ 0x0b, 0xa9, 0x32, 0x44, 0xdc, 0xd6, 0xa7, 0xde, 0x78, 0xe4, 0xc7, 0xad, 0x57, 0xf0, 0x0b, 0x8a, | |
+ 0x26, 0x21, 0xe6, 0x7f, 0x53, 0x90, 0x11, 0xd1, 0x47, 0x1f, 0x42, 0x46, 0xd8, 0x20, 0x35, 0x5a, | |
+ 0x9d, 0xb7, 0x7a, 0x74, 0xdd, 0x81, 0x4f, 0x9c, 0x63, 0x36, 0x38, 0xbb, 0x0c, 0x88, 0x25, 0xc1, | |
+ 0x89, 0xc9, 0x9f, 0x9a, 0x9a, 0xfc, 0x1b, 0xb0, 0x1c, 0xd2, 0xb1, 0xef, 0xc8, 0x86, 0xb4, 0x6c, | |
+ 0xa9, 0x17, 0x74, 0x00, 0xb9, 0x78, 0xa0, 0x67, 0xfe, 0xdf, 0x40, 0x5f, 0x13, 0x01, 0x15, 0xeb, | |
+ 0x86, 0x26, 0x58, 0xd9, 0x9e, 0x9e, 0xeb, 0x6f, 0xa1, 0xa6, 0xd0, 0xfb, 0xb0, 0x3e, 0x69, 0x88, | |
+ 0xd1, 0x9c, 0x53, 0xcb, 0x41, 0x39, 0x66, 0xe8, 0x41, 0x37, 0xdd, 0x3d, 0xd5, 0xae, 0x98, 0x95, | |
+ 0x76, 0x4d, 0xba, 0x67, 0x5b, 0x2e, 0x8d, 0x77, 0x21, 0xcf, 0xdc, 0x81, 0x8f, 0xf9, 0x38, 0x24, | |
+ 0x7a, 0x49, 0x98, 0x10, 0xcc, 0x3f, 0x1b, 0xb0, 0xa2, 0x96, 0x8e, 0x84, 0xdf, 0x8c, 0xf9, 0x7e, | |
+ 0x4b, 0x2d, 0xf2, 0x5b, 0xfa, 0xcd, 0xfd, 0xd6, 0x04, 0x88, 0x95, 0x11, 0xa3, 0x6e, 0x41, 0xff, | |
+ 0x53, 0x2a, 0x76, 0xdd, 0x81, 0xae, 0xa9, 0x84, 0x90, 0xf9, 0x0f, 0x03, 0xf2, 0x31, 0x1f, 0x35, | |
+ 0xa1, 0x14, 0xe9, 0x65, 0x3f, 0xf6, 0xf0, 0x40, 0xe7, 0xce, 0xbd, 0x85, 0xca, 0x7d, 0xe2, 0xe1, | |
+ 0x81, 0x55, 0xd0, 0xfa, 0x88, 0x97, 0xf9, 0x71, 0x48, 0x2d, 0x88, 0xc3, 0x54, 0xe0, 0xd3, 0x6f, | |
+ 0x16, 0xf8, 0xa9, 0x10, 0x65, 0x6e, 0x86, 0xe8, 0x4f, 0x29, 0xc8, 0x75, 0xe4, 0x9a, 0x83, 0xbd, | |
+ 0xaf, 0xa2, 0x22, 0xee, 0x40, 0x3e, 0xa0, 0x9e, 0xad, 0x38, 0x19, 0xc9, 0xc9, 0x05, 0xd4, 0xb3, | |
+ 0x66, 0xc2, 0xbe, 0xfc, 0x96, 0xca, 0x65, 0xe5, 0x2d, 0x78, 0x2d, 0x7b, 0xd3, 0x6b, 0x21, 0x14, | |
+ 0x95, 0x2b, 0x74, 0x4f, 0xba, 0x2f, 0x7c, 0x20, 0xbf, 0x63, 0x8c, 0xd9, 0xcf, 0x24, 0xa5, 0xb6, | |
+ 0x42, 0x5a, 0x1a, 0x27, 0x24, 0xd4, 0x96, 0xae, 0x87, 0x4b, 0x65, 0x51, 0x5a, 0x5a, 0x1a, 0x67, | |
+ 0xfe, 0xce, 0x00, 0x98, 0x2c, 0x07, 0xe2, 0x83, 0x81, 0x49, 0x15, 0xec, 0xa9, 0x9b, 0x6b, 0x8b, | |
+ 0x82, 0xa6, 0xef, 0x2f, 0xb2, 0xa4, 0xde, 0x7b, 0x50, 0x9a, 0x24, 0x23, 0x23, 0x91, 0x32, 0xb5, | |
+ 0x57, 0xec, 0x08, 0x5d, 0xc2, 0xad, 0xe2, 0x79, 0xe2, 0xcd, 0xfc, 0x8b, 0x01, 0x79, 0xa9, 0xd3, | |
+ 0x31, 0xe1, 0x78, 0x2a, 0x86, 0xc6, 0x9b, 0xc7, 0xf0, 0x1e, 0x80, 0x3a, 0x86, 0xb9, 0xcf, 0x88, | |
+ 0xce, 0xac, 0xbc, 0xa4, 0x74, 0xdd, 0x67, 0x04, 0x7d, 0x3f, 0x76, 0x78, 0xfa, 0xd5, 0x0e, 0xd7, | |
+ 0x25, 0x1d, 0xb9, 0xfd, 0x36, 0x64, 0xfd, 0xf1, 0xc8, 0x16, 0xcb, 0xbb, 0x5a, 0x60, 0x56, 0xfc, | |
+ 0xf1, 0xe8, 0xec, 0x82, 0x99, 0xbf, 0x86, 0xec, 0xd9, 0x85, 0xfc, 0x92, 0x55, 0x03, 0x86, 0xea, | |
+ 0xcf, 0x27, 0x35, 0xae, 0x72, 0x82, 0x20, 0xbf, 0x16, 0xe6, 0xcc, 0x2a, 0xd4, 0x78, 0xcd, 0x6f, | |
+ 0x64, 0xfd, 0x75, 0xfc, 0xde, 0xdf, 0x0c, 0x28, 0x24, 0xfa, 0x03, 0xfa, 0x2e, 0xdc, 0x6a, 0x1d, | |
+ 0x9d, 0xee, 0x7d, 0x6a, 0xb7, 0xf7, 0xed, 0x4f, 0x8e, 0x9a, 0x0f, 0xed, 0xcf, 0x4e, 0x3e, 0x3d, | |
+ 0x39, 0xfd, 0xf9, 0x49, 0x79, 0xa9, 0xba, 0x79, 0x75, 0x5d, 0x47, 0x09, 0xec, 0x67, 0xfe, 0x13, | |
+ 0x9f, 0x3e, 0xf5, 0xd1, 0x2e, 0x6c, 0x4c, 0x8b, 0x34, 0x5b, 0xdd, 0x83, 0x93, 0xb3, 0xb2, 0x51, | |
+ 0xbd, 0x75, 0x75, 0x5d, 0x5f, 0x4f, 0x48, 0x34, 0x7b, 0x8c, 0xf8, 0x7c, 0x56, 0x60, 0xef, 0xf4, | |
+ 0xf8, 0xb8, 0x7d, 0x56, 0x4e, 0xcd, 0x08, 0xe8, 0x86, 0xfd, 0x2e, 0xac, 0x4f, 0x0b, 0x9c, 0xb4, | |
+ 0x8f, 0xca, 0xe9, 0x2a, 0xba, 0xba, 0xae, 0xaf, 0x26, 0xd0, 0x27, 0xae, 0x57, 0xcd, 0xfd, 0xf6, | |
+ 0xf7, 0xb5, 0xa5, 0x3f, 0xfe, 0xa1, 0x66, 0x08, 0xcb, 0x4a, 0x53, 0x3d, 0x02, 0x7d, 0x00, 0xb7, | |
+ 0xbb, 0xed, 0x87, 0x27, 0x07, 0xfb, 0xf6, 0x71, 0xf7, 0xa1, 0x7d, 0xf6, 0xcb, 0xce, 0x41, 0xc2, | |
+ 0xba, 0xb5, 0xab, 0xeb, 0x7a, 0x41, 0x9b, 0xb4, 0x08, 0xdd, 0xb1, 0x0e, 0x1e, 0x9d, 0x9e, 0x1d, | |
+ 0x94, 0x0d, 0x85, 0xee, 0x84, 0x44, 0xec, 0x80, 0x12, 0x7d, 0x1f, 0xb6, 0xe6, 0xa0, 0x63, 0xc3, | |
+ 0xd6, 0xaf, 0xae, 0xeb, 0xa5, 0x4e, 0x48, 0x54, 0xfd, 0x48, 0x89, 0x06, 0x54, 0x66, 0x25, 0x4e, | |
+ 0x3b, 0xa7, 0xdd, 0xe6, 0x51, 0xb9, 0x5e, 0x2d, 0x5f, 0x5d, 0xd7, 0x8b, 0x51, 0x33, 0x14, 0xf8, | |
+ 0x89, 0x65, 0xad, 0x9f, 0x7d, 0xfe, 0xa2, 0x66, 0x7c, 0xf1, 0xa2, 0x66, 0xfc, 0xeb, 0x45, 0xcd, | |
+ 0x78, 0xfe, 0xb2, 0xb6, 0xf4, 0xc5, 0xcb, 0xda, 0xd2, 0xdf, 0x5f, 0xd6, 0x96, 0x7e, 0xf5, 0x83, | |
+ 0x81, 0xcb, 0x87, 0xe3, 0x5e, 0xa3, 0x4f, 0x47, 0xbb, 0xc9, 0x7f, 0x6f, 0x26, 0x8f, 0xea, 0x5f, | |
+ 0xa4, 0x9b, 0xff, 0xec, 0xf4, 0x56, 0x24, 0xfd, 0xc3, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x76, | |
+ 0x17, 0xbb, 0x3e, 0x9a, 0x12, 0x00, 0x00, | |
} | |
func (m *PartSetHeader) Marshal() (dAtA []byte, err error) { | |
@@ -1401,6 +1950,36 @@ | |
_ = i | |
var l int | |
_ = l | |
+ { | |
+ size, err := m.Messages.MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0x22 | |
+ { | |
+ size, err := m.Evidence.MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0x1a | |
+ { | |
+ size, err := m.IntermediateStateRoots.MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0x12 | |
if len(m.Txs) > 0 { | |
for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- { | |
i -= len(m.Txs[iNdEx]) | |
@@ -1410,6 +1989,396 @@ | |
dAtA[i] = 0xa | |
} | |
} | |
+ return len(dAtA) - i, nil | |
+} | |
+ | |
+func (m *DuplicateVoteEvidence) Marshal() (dAtA []byte, err error) { | |
+ size := m.Size() | |
+ dAtA = make([]byte, size) | |
+ n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return dAtA[:n], nil | |
+} | |
+ | |
+func (m *DuplicateVoteEvidence) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *DuplicateVoteEvidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ _ = i | |
+ var l int | |
+ _ = l | |
+ n9, err9 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp):]) | |
+ if err9 != nil { | |
+ return 0, err9 | |
+ } | |
+ i -= n9 | |
+ i = encodeVarintTypes(dAtA, i, uint64(n9)) | |
+ i-- | |
+ dAtA[i] = 0x2a | |
+ if m.ValidatorPower != 0 { | |
+ i = encodeVarintTypes(dAtA, i, uint64(m.ValidatorPower)) | |
+ i-- | |
+ dAtA[i] = 0x20 | |
+ } | |
+ if m.TotalVotingPower != 0 { | |
+ i = encodeVarintTypes(dAtA, i, uint64(m.TotalVotingPower)) | |
+ i-- | |
+ dAtA[i] = 0x18 | |
+ } | |
+ if m.VoteB != nil { | |
+ { | |
+ size, err := m.VoteB.MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0x12 | |
+ } | |
+ if m.VoteA != nil { | |
+ { | |
+ size, err := m.VoteA.MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0xa | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
+ | |
+func (m *LightClientAttackEvidence) Marshal() (dAtA []byte, err error) { | |
+ size := m.Size() | |
+ dAtA = make([]byte, size) | |
+ n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return dAtA[:n], nil | |
+} | |
+ | |
+func (m *LightClientAttackEvidence) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *LightClientAttackEvidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ _ = i | |
+ var l int | |
+ _ = l | |
+ n12, err12 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp):]) | |
+ if err12 != nil { | |
+ return 0, err12 | |
+ } | |
+ i -= n12 | |
+ i = encodeVarintTypes(dAtA, i, uint64(n12)) | |
+ i-- | |
+ dAtA[i] = 0x2a | |
+ if m.TotalVotingPower != 0 { | |
+ i = encodeVarintTypes(dAtA, i, uint64(m.TotalVotingPower)) | |
+ i-- | |
+ dAtA[i] = 0x20 | |
+ } | |
+ if len(m.ByzantineValidators) > 0 { | |
+ for iNdEx := len(m.ByzantineValidators) - 1; iNdEx >= 0; iNdEx-- { | |
+ { | |
+ size, err := m.ByzantineValidators[iNdEx].MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0x1a | |
+ } | |
+ } | |
+ if m.CommonHeight != 0 { | |
+ i = encodeVarintTypes(dAtA, i, uint64(m.CommonHeight)) | |
+ i-- | |
+ dAtA[i] = 0x10 | |
+ } | |
+ if m.ConflictingBlock != nil { | |
+ { | |
+ size, err := m.ConflictingBlock.MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0xa | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
+ | |
+func (m *Evidence) Marshal() (dAtA []byte, err error) { | |
+ size := m.Size() | |
+ dAtA = make([]byte, size) | |
+ n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return dAtA[:n], nil | |
+} | |
+ | |
+func (m *Evidence) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *Evidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ _ = i | |
+ var l int | |
+ _ = l | |
+ if m.Sum != nil { | |
+ { | |
+ size := m.Sum.Size() | |
+ i -= size | |
+ if _, err := m.Sum.MarshalTo(dAtA[i:]); err != nil { | |
+ return 0, err | |
+ } | |
+ } | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
+ | |
+func (m *Evidence_DuplicateVoteEvidence) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *Evidence_DuplicateVoteEvidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ if m.DuplicateVoteEvidence != nil { | |
+ { | |
+ size, err := m.DuplicateVoteEvidence.MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0xa | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
+func (m *Evidence_LightClientAttackEvidence) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *Evidence_LightClientAttackEvidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ if m.LightClientAttackEvidence != nil { | |
+ { | |
+ size, err := m.LightClientAttackEvidence.MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0x12 | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
+func (m *EvidenceList) Marshal() (dAtA []byte, err error) { | |
+ size := m.Size() | |
+ dAtA = make([]byte, size) | |
+ n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return dAtA[:n], nil | |
+} | |
+ | |
+func (m *EvidenceList) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *EvidenceList) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ _ = i | |
+ var l int | |
+ _ = l | |
+ if len(m.Evidence) > 0 { | |
+ for iNdEx := len(m.Evidence) - 1; iNdEx >= 0; iNdEx-- { | |
+ { | |
+ size, err := m.Evidence[iNdEx].MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0xa | |
+ } | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
+ | |
+func (m *IntermediateStateRoots) Marshal() (dAtA []byte, err error) { | |
+ size := m.Size() | |
+ dAtA = make([]byte, size) | |
+ n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return dAtA[:n], nil | |
+} | |
+ | |
+func (m *IntermediateStateRoots) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *IntermediateStateRoots) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ _ = i | |
+ var l int | |
+ _ = l | |
+ if len(m.RawRootsList) > 0 { | |
+ for iNdEx := len(m.RawRootsList) - 1; iNdEx >= 0; iNdEx-- { | |
+ i -= len(m.RawRootsList[iNdEx]) | |
+ copy(dAtA[i:], m.RawRootsList[iNdEx]) | |
+ i = encodeVarintTypes(dAtA, i, uint64(len(m.RawRootsList[iNdEx]))) | |
+ i-- | |
+ dAtA[i] = 0xa | |
+ } | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
+ | |
+func (m *Messages) Marshal() (dAtA []byte, err error) { | |
+ size := m.Size() | |
+ dAtA = make([]byte, size) | |
+ n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return dAtA[:n], nil | |
+} | |
+ | |
+func (m *Messages) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *Messages) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ _ = i | |
+ var l int | |
+ _ = l | |
+ if len(m.MessagesList) > 0 { | |
+ for iNdEx := len(m.MessagesList) - 1; iNdEx >= 0; iNdEx-- { | |
+ { | |
+ size, err := m.MessagesList[iNdEx].MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0xa | |
+ } | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
+ | |
+func (m *Message) Marshal() (dAtA []byte, err error) { | |
+ size := m.Size() | |
+ dAtA = make([]byte, size) | |
+ n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return dAtA[:n], nil | |
+} | |
+ | |
+func (m *Message) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *Message) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ _ = i | |
+ var l int | |
+ _ = l | |
+ if len(m.Data) > 0 { | |
+ i -= len(m.Data) | |
+ copy(dAtA[i:], m.Data) | |
+ i = encodeVarintTypes(dAtA, i, uint64(len(m.Data))) | |
+ i-- | |
+ dAtA[i] = 0x12 | |
+ } | |
+ if len(m.NamespaceId) > 0 { | |
+ i -= len(m.NamespaceId) | |
+ copy(dAtA[i:], m.NamespaceId) | |
+ i = encodeVarintTypes(dAtA, i, uint64(len(m.NamespaceId))) | |
+ i-- | |
+ dAtA[i] = 0xa | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
+ | |
+func (m *DataAvailabilityHeader) Marshal() (dAtA []byte, err error) { | |
+ size := m.Size() | |
+ dAtA = make([]byte, size) | |
+ n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return dAtA[:n], nil | |
+} | |
+ | |
+func (m *DataAvailabilityHeader) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *DataAvailabilityHeader) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ _ = i | |
+ var l int | |
+ _ = l | |
+ if len(m.ColumnRoots) > 0 { | |
+ for iNdEx := len(m.ColumnRoots) - 1; iNdEx >= 0; iNdEx-- { | |
+ i -= len(m.ColumnRoots[iNdEx]) | |
+ copy(dAtA[i:], m.ColumnRoots[iNdEx]) | |
+ i = encodeVarintTypes(dAtA, i, uint64(len(m.ColumnRoots[iNdEx]))) | |
+ i-- | |
+ dAtA[i] = 0x12 | |
+ } | |
+ } | |
+ if len(m.RowRoots) > 0 { | |
+ for iNdEx := len(m.RowRoots) - 1; iNdEx >= 0; iNdEx-- { | |
+ i -= len(m.RowRoots[iNdEx]) | |
+ copy(dAtA[i:], m.RowRoots[iNdEx]) | |
+ i = encodeVarintTypes(dAtA, i, uint64(len(m.RowRoots[iNdEx]))) | |
+ i-- | |
+ dAtA[i] = 0xa | |
+ } | |
+ } | |
return len(dAtA) - i, nil | |
} | |
@@ -1452,12 +2421,12 @@ | |
i-- | |
dAtA[i] = 0x32 | |
} | |
- n6, err6 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp):]) | |
- if err6 != nil { | |
- return 0, err6 | |
+ n16, err16 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp):]) | |
+ if err16 != nil { | |
+ return 0, err16 | |
} | |
- i -= n6 | |
- i = encodeVarintTypes(dAtA, i, uint64(n6)) | |
+ i -= n16 | |
+ i = encodeVarintTypes(dAtA, i, uint64(n16)) | |
i-- | |
dAtA[i] = 0x2a | |
{ | |
@@ -1572,12 +2541,12 @@ | |
i-- | |
dAtA[i] = 0x22 | |
} | |
- n9, err9 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp):]) | |
- if err9 != nil { | |
- return 0, err9 | |
+ n19, err19 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp):]) | |
+ if err19 != nil { | |
+ return 0, err19 | |
} | |
- i -= n9 | |
- i = encodeVarintTypes(dAtA, i, uint64(n9)) | |
+ i -= n19 | |
+ i = encodeVarintTypes(dAtA, i, uint64(n19)) | |
i-- | |
dAtA[i] = 0x1a | |
if len(m.ValidatorAddress) > 0 { | |
@@ -1622,12 +2591,12 @@ | |
i-- | |
dAtA[i] = 0x3a | |
} | |
- n10, err10 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp):]) | |
- if err10 != nil { | |
- return 0, err10 | |
+ n20, err20 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp):]) | |
+ if err20 != nil { | |
+ return 0, err20 | |
} | |
- i -= n10 | |
- i = encodeVarintTypes(dAtA, i, uint64(n10)) | |
+ i -= n20 | |
+ i = encodeVarintTypes(dAtA, i, uint64(n20)) | |
i-- | |
dAtA[i] = 0x32 | |
{ | |
@@ -1989,6 +2958,183 @@ | |
n += 1 + l + sovTypes(uint64(l)) | |
} | |
} | |
+ l = m.IntermediateStateRoots.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ l = m.Evidence.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ l = m.Messages.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ return n | |
+} | |
+ | |
+func (m *DuplicateVoteEvidence) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if m.VoteA != nil { | |
+ l = m.VoteA.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ if m.VoteB != nil { | |
+ l = m.VoteB.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ if m.TotalVotingPower != 0 { | |
+ n += 1 + sovTypes(uint64(m.TotalVotingPower)) | |
+ } | |
+ if m.ValidatorPower != 0 { | |
+ n += 1 + sovTypes(uint64(m.ValidatorPower)) | |
+ } | |
+ l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp) | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ return n | |
+} | |
+ | |
+func (m *LightClientAttackEvidence) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if m.ConflictingBlock != nil { | |
+ l = m.ConflictingBlock.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ if m.CommonHeight != 0 { | |
+ n += 1 + sovTypes(uint64(m.CommonHeight)) | |
+ } | |
+ if len(m.ByzantineValidators) > 0 { | |
+ for _, e := range m.ByzantineValidators { | |
+ l = e.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ } | |
+ if m.TotalVotingPower != 0 { | |
+ n += 1 + sovTypes(uint64(m.TotalVotingPower)) | |
+ } | |
+ l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp) | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ return n | |
+} | |
+ | |
+func (m *Evidence) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if m.Sum != nil { | |
+ n += m.Sum.Size() | |
+ } | |
+ return n | |
+} | |
+ | |
+func (m *Evidence_DuplicateVoteEvidence) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if m.DuplicateVoteEvidence != nil { | |
+ l = m.DuplicateVoteEvidence.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ return n | |
+} | |
+func (m *Evidence_LightClientAttackEvidence) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if m.LightClientAttackEvidence != nil { | |
+ l = m.LightClientAttackEvidence.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ return n | |
+} | |
+func (m *EvidenceList) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if len(m.Evidence) > 0 { | |
+ for _, e := range m.Evidence { | |
+ l = e.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ } | |
+ return n | |
+} | |
+ | |
+func (m *IntermediateStateRoots) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if len(m.RawRootsList) > 0 { | |
+ for _, b := range m.RawRootsList { | |
+ l = len(b) | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ } | |
+ return n | |
+} | |
+ | |
+func (m *Messages) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if len(m.MessagesList) > 0 { | |
+ for _, e := range m.MessagesList { | |
+ l = e.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ } | |
+ return n | |
+} | |
+ | |
+func (m *Message) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ l = len(m.NamespaceId) | |
+ if l > 0 { | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ l = len(m.Data) | |
+ if l > 0 { | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ return n | |
+} | |
+ | |
+func (m *DataAvailabilityHeader) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if len(m.RowRoots) > 0 { | |
+ for _, b := range m.RowRoots { | |
+ l = len(b) | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ } | |
+ if len(m.ColumnRoots) > 0 { | |
+ for _, b := range m.ColumnRoots { | |
+ l = len(b) | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ } | |
return n | |
} | |
@@ -3101,6 +4247,1091 @@ | |
} | |
m.Txs = append(m.Txs, make([]byte, postIndex-iNdEx)) | |
copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex]) | |
+ iNdEx = postIndex | |
+ case 2: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field IntermediateStateRoots", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ if err := m.IntermediateStateRoots.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ iNdEx = postIndex | |
+ case 3: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field Evidence", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ if err := m.Evidence.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ iNdEx = postIndex | |
+ case 4: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field Messages", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ if err := m.Messages.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ iNdEx = postIndex | |
+ default: | |
+ iNdEx = preIndex | |
+ skippy, err := skipTypes(dAtA[iNdEx:]) | |
+ if err != nil { | |
+ return err | |
+ } | |
+ if (skippy < 0) || (iNdEx+skippy) < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if (iNdEx + skippy) > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ iNdEx += skippy | |
+ } | |
+ } | |
+ | |
+ if iNdEx > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ return nil | |
+} | |
+func (m *DuplicateVoteEvidence) Unmarshal(dAtA []byte) error { | |
+ l := len(dAtA) | |
+ iNdEx := 0 | |
+ for iNdEx < l { | |
+ preIndex := iNdEx | |
+ var wire uint64 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ wire |= uint64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ fieldNum := int32(wire >> 3) | |
+ wireType := int(wire & 0x7) | |
+ if wireType == 4 { | |
+ return fmt.Errorf("proto: DuplicateVoteEvidence: wiretype end group for non-group") | |
+ } | |
+ if fieldNum <= 0 { | |
+ return fmt.Errorf("proto: DuplicateVoteEvidence: illegal tag %d (wire type %d)", fieldNum, wire) | |
+ } | |
+ switch fieldNum { | |
+ case 1: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field VoteA", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ if m.VoteA == nil { | |
+ m.VoteA = &Vote{} | |
+ } | |
+ if err := m.VoteA.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ iNdEx = postIndex | |
+ case 2: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field VoteB", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ if m.VoteB == nil { | |
+ m.VoteB = &Vote{} | |
+ } | |
+ if err := m.VoteB.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ iNdEx = postIndex | |
+ case 3: | |
+ if wireType != 0 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field TotalVotingPower", wireType) | |
+ } | |
+ m.TotalVotingPower = 0 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ m.TotalVotingPower |= int64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ case 4: | |
+ if wireType != 0 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field ValidatorPower", wireType) | |
+ } | |
+ m.ValidatorPower = 0 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ m.ValidatorPower |= int64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ case 5: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Timestamp, dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ iNdEx = postIndex | |
+ default: | |
+ iNdEx = preIndex | |
+ skippy, err := skipTypes(dAtA[iNdEx:]) | |
+ if err != nil { | |
+ return err | |
+ } | |
+ if (skippy < 0) || (iNdEx+skippy) < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if (iNdEx + skippy) > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ iNdEx += skippy | |
+ } | |
+ } | |
+ | |
+ if iNdEx > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ return nil | |
+} | |
+func (m *LightClientAttackEvidence) Unmarshal(dAtA []byte) error { | |
+ l := len(dAtA) | |
+ iNdEx := 0 | |
+ for iNdEx < l { | |
+ preIndex := iNdEx | |
+ var wire uint64 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ wire |= uint64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ fieldNum := int32(wire >> 3) | |
+ wireType := int(wire & 0x7) | |
+ if wireType == 4 { | |
+ return fmt.Errorf("proto: LightClientAttackEvidence: wiretype end group for non-group") | |
+ } | |
+ if fieldNum <= 0 { | |
+ return fmt.Errorf("proto: LightClientAttackEvidence: illegal tag %d (wire type %d)", fieldNum, wire) | |
+ } | |
+ switch fieldNum { | |
+ case 1: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field ConflictingBlock", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ if m.ConflictingBlock == nil { | |
+ m.ConflictingBlock = &LightBlock{} | |
+ } | |
+ if err := m.ConflictingBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ iNdEx = postIndex | |
+ case 2: | |
+ if wireType != 0 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field CommonHeight", wireType) | |
+ } | |
+ m.CommonHeight = 0 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ m.CommonHeight |= int64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ case 3: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field ByzantineValidators", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ m.ByzantineValidators = append(m.ByzantineValidators, &Validator{}) | |
+ if err := m.ByzantineValidators[len(m.ByzantineValidators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ iNdEx = postIndex | |
+ case 4: | |
+ if wireType != 0 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field TotalVotingPower", wireType) | |
+ } | |
+ m.TotalVotingPower = 0 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ m.TotalVotingPower |= int64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ case 5: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Timestamp, dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ iNdEx = postIndex | |
+ default: | |
+ iNdEx = preIndex | |
+ skippy, err := skipTypes(dAtA[iNdEx:]) | |
+ if err != nil { | |
+ return err | |
+ } | |
+ if (skippy < 0) || (iNdEx+skippy) < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if (iNdEx + skippy) > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ iNdEx += skippy | |
+ } | |
+ } | |
+ | |
+ if iNdEx > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ return nil | |
+} | |
+func (m *Evidence) Unmarshal(dAtA []byte) error { | |
+ l := len(dAtA) | |
+ iNdEx := 0 | |
+ for iNdEx < l { | |
+ preIndex := iNdEx | |
+ var wire uint64 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ wire |= uint64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ fieldNum := int32(wire >> 3) | |
+ wireType := int(wire & 0x7) | |
+ if wireType == 4 { | |
+ return fmt.Errorf("proto: Evidence: wiretype end group for non-group") | |
+ } | |
+ if fieldNum <= 0 { | |
+ return fmt.Errorf("proto: Evidence: illegal tag %d (wire type %d)", fieldNum, wire) | |
+ } | |
+ switch fieldNum { | |
+ case 1: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field DuplicateVoteEvidence", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ v := &DuplicateVoteEvidence{} | |
+ if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ m.Sum = &Evidence_DuplicateVoteEvidence{v} | |
+ iNdEx = postIndex | |
+ case 2: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field LightClientAttackEvidence", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ v := &LightClientAttackEvidence{} | |
+ if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ m.Sum = &Evidence_LightClientAttackEvidence{v} | |
+ iNdEx = postIndex | |
+ default: | |
+ iNdEx = preIndex | |
+ skippy, err := skipTypes(dAtA[iNdEx:]) | |
+ if err != nil { | |
+ return err | |
+ } | |
+ if (skippy < 0) || (iNdEx+skippy) < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if (iNdEx + skippy) > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ iNdEx += skippy | |
+ } | |
+ } | |
+ | |
+ if iNdEx > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ return nil | |
+} | |
+func (m *EvidenceList) Unmarshal(dAtA []byte) error { | |
+ l := len(dAtA) | |
+ iNdEx := 0 | |
+ for iNdEx < l { | |
+ preIndex := iNdEx | |
+ var wire uint64 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ wire |= uint64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ fieldNum := int32(wire >> 3) | |
+ wireType := int(wire & 0x7) | |
+ if wireType == 4 { | |
+ return fmt.Errorf("proto: EvidenceList: wiretype end group for non-group") | |
+ } | |
+ if fieldNum <= 0 { | |
+ return fmt.Errorf("proto: EvidenceList: illegal tag %d (wire type %d)", fieldNum, wire) | |
+ } | |
+ switch fieldNum { | |
+ case 1: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field Evidence", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ m.Evidence = append(m.Evidence, Evidence{}) | |
+ if err := m.Evidence[len(m.Evidence)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ iNdEx = postIndex | |
+ default: | |
+ iNdEx = preIndex | |
+ skippy, err := skipTypes(dAtA[iNdEx:]) | |
+ if err != nil { | |
+ return err | |
+ } | |
+ if (skippy < 0) || (iNdEx+skippy) < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if (iNdEx + skippy) > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ iNdEx += skippy | |
+ } | |
+ } | |
+ | |
+ if iNdEx > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ return nil | |
+} | |
+func (m *IntermediateStateRoots) Unmarshal(dAtA []byte) error { | |
+ l := len(dAtA) | |
+ iNdEx := 0 | |
+ for iNdEx < l { | |
+ preIndex := iNdEx | |
+ var wire uint64 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ wire |= uint64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ fieldNum := int32(wire >> 3) | |
+ wireType := int(wire & 0x7) | |
+ if wireType == 4 { | |
+ return fmt.Errorf("proto: IntermediateStateRoots: wiretype end group for non-group") | |
+ } | |
+ if fieldNum <= 0 { | |
+ return fmt.Errorf("proto: IntermediateStateRoots: illegal tag %d (wire type %d)", fieldNum, wire) | |
+ } | |
+ switch fieldNum { | |
+ case 1: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field RawRootsList", wireType) | |
+ } | |
+ var byteLen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ byteLen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if byteLen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + byteLen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ m.RawRootsList = append(m.RawRootsList, make([]byte, postIndex-iNdEx)) | |
+ copy(m.RawRootsList[len(m.RawRootsList)-1], dAtA[iNdEx:postIndex]) | |
+ iNdEx = postIndex | |
+ default: | |
+ iNdEx = preIndex | |
+ skippy, err := skipTypes(dAtA[iNdEx:]) | |
+ if err != nil { | |
+ return err | |
+ } | |
+ if (skippy < 0) || (iNdEx+skippy) < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if (iNdEx + skippy) > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ iNdEx += skippy | |
+ } | |
+ } | |
+ | |
+ if iNdEx > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ return nil | |
+} | |
+func (m *Messages) Unmarshal(dAtA []byte) error { | |
+ l := len(dAtA) | |
+ iNdEx := 0 | |
+ for iNdEx < l { | |
+ preIndex := iNdEx | |
+ var wire uint64 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ wire |= uint64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ fieldNum := int32(wire >> 3) | |
+ wireType := int(wire & 0x7) | |
+ if wireType == 4 { | |
+ return fmt.Errorf("proto: Messages: wiretype end group for non-group") | |
+ } | |
+ if fieldNum <= 0 { | |
+ return fmt.Errorf("proto: Messages: illegal tag %d (wire type %d)", fieldNum, wire) | |
+ } | |
+ switch fieldNum { | |
+ case 1: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field MessagesList", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ m.MessagesList = append(m.MessagesList, &Message{}) | |
+ if err := m.MessagesList[len(m.MessagesList)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ iNdEx = postIndex | |
+ default: | |
+ iNdEx = preIndex | |
+ skippy, err := skipTypes(dAtA[iNdEx:]) | |
+ if err != nil { | |
+ return err | |
+ } | |
+ if (skippy < 0) || (iNdEx+skippy) < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if (iNdEx + skippy) > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ iNdEx += skippy | |
+ } | |
+ } | |
+ | |
+ if iNdEx > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ return nil | |
+} | |
+func (m *Message) Unmarshal(dAtA []byte) error { | |
+ l := len(dAtA) | |
+ iNdEx := 0 | |
+ for iNdEx < l { | |
+ preIndex := iNdEx | |
+ var wire uint64 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ wire |= uint64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ fieldNum := int32(wire >> 3) | |
+ wireType := int(wire & 0x7) | |
+ if wireType == 4 { | |
+ return fmt.Errorf("proto: Message: wiretype end group for non-group") | |
+ } | |
+ if fieldNum <= 0 { | |
+ return fmt.Errorf("proto: Message: illegal tag %d (wire type %d)", fieldNum, wire) | |
+ } | |
+ switch fieldNum { | |
+ case 1: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field NamespaceId", wireType) | |
+ } | |
+ var byteLen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ byteLen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if byteLen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + byteLen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ m.NamespaceId = append(m.NamespaceId[:0], dAtA[iNdEx:postIndex]...) | |
+ if m.NamespaceId == nil { | |
+ m.NamespaceId = []byte{} | |
+ } | |
+ iNdEx = postIndex | |
+ case 2: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) | |
+ } | |
+ var byteLen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ byteLen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if byteLen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + byteLen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) | |
+ if m.Data == nil { | |
+ m.Data = []byte{} | |
+ } | |
+ iNdEx = postIndex | |
+ default: | |
+ iNdEx = preIndex | |
+ skippy, err := skipTypes(dAtA[iNdEx:]) | |
+ if err != nil { | |
+ return err | |
+ } | |
+ if (skippy < 0) || (iNdEx+skippy) < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if (iNdEx + skippy) > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ iNdEx += skippy | |
+ } | |
+ } | |
+ | |
+ if iNdEx > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ return nil | |
+} | |
+func (m *DataAvailabilityHeader) Unmarshal(dAtA []byte) error { | |
+ l := len(dAtA) | |
+ iNdEx := 0 | |
+ for iNdEx < l { | |
+ preIndex := iNdEx | |
+ var wire uint64 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ wire |= uint64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ fieldNum := int32(wire >> 3) | |
+ wireType := int(wire & 0x7) | |
+ if wireType == 4 { | |
+ return fmt.Errorf("proto: DataAvailabilityHeader: wiretype end group for non-group") | |
+ } | |
+ if fieldNum <= 0 { | |
+ return fmt.Errorf("proto: DataAvailabilityHeader: illegal tag %d (wire type %d)", fieldNum, wire) | |
+ } | |
+ switch fieldNum { | |
+ case 1: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field RowRoots", wireType) | |
+ } | |
+ var byteLen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ byteLen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if byteLen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + byteLen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ m.RowRoots = append(m.RowRoots, make([]byte, postIndex-iNdEx)) | |
+ copy(m.RowRoots[len(m.RowRoots)-1], dAtA[iNdEx:postIndex]) | |
+ iNdEx = postIndex | |
+ case 2: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field ColumnRoots", wireType) | |
+ } | |
+ var byteLen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ byteLen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if byteLen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + byteLen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ m.ColumnRoots = append(m.ColumnRoots, make([]byte, postIndex-iNdEx)) | |
+ copy(m.ColumnRoots[len(m.ColumnRoots)-1], dAtA[iNdEx:postIndex]) | |
iNdEx = postIndex | |
default: | |
iNdEx = preIndex | |
Index: proto/tendermint/types/types.proto | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/proto/tendermint/types/types.proto b/proto/tendermint/types/types.proto | |
--- a/proto/tendermint/types/types.proto (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/proto/tendermint/types/types.proto (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -87,6 +87,70 @@ | |
// NOTE: not all txs here are valid. We're just agreeing on the order first. | |
// This means that block.AppHash does not include these txs. | |
repeated bytes txs = 1; | |
+ | |
+ IntermediateStateRoots intermediate_state_roots = 2 [(gogoproto.nullable) = false]; | |
+ EvidenceList evidence = 3 [(gogoproto.nullable) = false]; | |
+ Messages messages = 4 [(gogoproto.nullable) = false]; | |
+} | |
+ | |
+// DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes. | |
+message DuplicateVoteEvidence { | |
+ tendermint.types.Vote vote_a = 1; | |
+ tendermint.types.Vote vote_b = 2; | |
+ int64 total_voting_power = 3; | |
+ int64 validator_power = 4; | |
+ google.protobuf.Timestamp timestamp = 5 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; | |
+} | |
+ | |
+// LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client. | |
+message LightClientAttackEvidence { | |
+ tendermint.types.LightBlock conflicting_block = 1; | |
+ int64 common_height = 2; | |
+ repeated tendermint.types.Validator byzantine_validators = 3; | |
+ int64 total_voting_power = 4; | |
+ google.protobuf.Timestamp timestamp = 5 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; | |
+} | |
+ | |
+message Evidence { | |
+ oneof sum { | |
+ DuplicateVoteEvidence duplicate_vote_evidence = 1; | |
+ LightClientAttackEvidence light_client_attack_evidence = 2; | |
+ } | |
+} | |
+ | |
+// EvidenceData contains any evidence of malicious wrong-doing by validators | |
+message EvidenceList { | |
+ repeated Evidence evidence = 1 [(gogoproto.nullable) = false]; | |
+} | |
+ | |
+message IntermediateStateRoots { | |
+ repeated bytes raw_roots_list = 1; | |
+} | |
+ | |
+message Messages { | |
+ repeated Message messages_list = 1; | |
+} | |
+ | |
+message Message { | |
+ bytes namespace_id = 1; | |
+ bytes data = 2; | |
+} | |
+ | |
+// DataAvailabilityHeader contains the row and column roots of the erasure | |
+// coded version of the data in Block.Data. | |
+// Therefor the original Block.Data is arranged in a | |
+// k × k matrix, which is then "extended" to a | |
+// 2k × 2k matrix applying multiple times Reed-Solomon encoding. | |
+// For details see Section 5.2: https://arxiv.org/abs/1809.09044 | |
+// or the Celestia specification: | |
+// https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#availabledataheader | |
+// Note that currently we list row and column roots in separate fields | |
+// (different from the spec). | |
+message DataAvailabilityHeader { | |
+ // RowRoot_j = root((M_{j,1} || M_{j,2} || ... || M_{j,2k} )) | |
+ repeated bytes row_roots = 1; | |
+ // ColumnRoot_j = root((M_{1,j} || M_{2,j} || ... || M_{2k,j} )) | |
+ repeated bytes column_roots = 2; | |
} | |
// Vote represents a prevote, precommit, or commit vote from validators for | |
Index: state/execution.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/state/execution.go b/state/execution.go | |
--- a/state/execution.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/state/execution.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -113,9 +113,53 @@ | |
// Fetch a limited amount of valid txs | |
maxDataBytes := types.MaxDataBytes(maxBytes, evSize, state.Validators.Size()) | |
+ // TODO(ismail): reaping the mempool has to happen in relation to a max | |
+ // allowed square size instead of (only) Gas / bytes | |
+ // maybe the mempool actually should track things separately | |
+ // meaning that CheckTx should already do the mapping: | |
+ // Tx -> Txs, Message | |
+ // https://github.com/tendermint/tendermint/issues/77 | |
txs := blockExec.mempool.ReapMaxBytesMaxGas(maxDataBytes, maxGas) | |
+ l := len(txs) | |
+ bzs := make([][]byte, l) | |
+ for i := 0; i < l; i++ { | |
+ bzs[i] = txs[i] | |
+ } | |
+ | |
+ // TODO(ismail): | |
+ // 1. get those intermediate state roots & messages either from the | |
+ // mempool or from the abci-app | |
+ // 1.1 at this point we should now the square / block size: | |
+ // https://github.com/celestiaorg/celestia-specs/blob/53e5f350838f1e0785ad670704bf91dac2f4f5a3/specs/block_proposer.md#deciding-on-a-block-size | |
+ // Here, we instead assume a fixed (max) square size instead. | |
+ // 2. feed them into MakeBlock below: | |
+ processedBlockTxs, err := blockExec.proxyApp.PreprocessTxsSync(context.TODO(), abci.RequestPreprocessTxs{Txs: bzs}) | |
+ if err != nil { | |
+ // The App MUST ensure that only valid (and hence 'processable') | |
+ // Tx enter the mempool. Hence, at this point, we can't have any non-processable | |
+ // transaction causing an error. Also, the App can simply skip any Tx that could cause any | |
+ // kind of trouble. | |
+ // Either way, we can not recover in a meaningful way, unless we skip proposing | |
+ // this block, repair what caused the error and try again. | |
+ // Hence we panic on purpose for now. | |
+ panic(err) | |
+ } | |
- return state.MakeBlock(height, txs, commit, evidence, proposerAddr) | |
+ ppt := processedBlockTxs.GetTxs() | |
+ | |
+ pbmessages := processedBlockTxs.GetMessages() | |
+ | |
+ lp := len(ppt) | |
+ processedTxs := make(types.Txs, lp) | |
+ if lp > 0 { | |
+ for i := 0; i < l; i++ { | |
+ processedTxs[i] = ppt[i] | |
+ } | |
+ } | |
+ | |
+ messages := types.MessagesFromProto(pbmessages) | |
+ | |
+ return state.MakeBlock(height, processedTxs, evidence, nil, messages.MessagesList, commit, proposerAddr) | |
} | |
// ValidateBlock validates the given block against the given state. | |
Index: state/execution_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/state/execution_test.go b/state/execution_test.go | |
--- a/state/execution_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/state/execution_test.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -15,6 +15,7 @@ | |
cryptoenc "github.com/tendermint/tendermint/crypto/encoding" | |
"github.com/tendermint/tendermint/crypto/tmhash" | |
mmock "github.com/tendermint/tendermint/internal/mempool/mock" | |
+ "github.com/tendermint/tendermint/internal/test/factory" | |
"github.com/tendermint/tendermint/libs/log" | |
tmtime "github.com/tendermint/tendermint/libs/time" | |
"github.com/tendermint/tendermint/proxy" | |
@@ -99,7 +100,15 @@ | |
lastCommit := types.NewCommit(1, 0, prevBlockID, tc.lastCommitSigs) | |
// block for height 2 | |
- block := sf.MakeBlock(state, 2, lastCommit) | |
+ block, _ := state.MakeBlock( | |
+ 2, | |
+ factory.MakeTenTxs(2), | |
+ nil, | |
+ nil, | |
+ nil, | |
+ lastCommit, | |
+ state.Validators.GetProposer().Address, | |
+ ) | |
_, err = sm.ExecCommitBlock(nil, proxyApp.Consensus(), block, log.TestingLogger(), stateStore, 1, state) | |
require.Nil(t, err, tc.desc) | |
Index: state/helpers_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/state/helpers_test.go b/state/helpers_test.go | |
--- a/state/helpers_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/state/helpers_test.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -57,7 +57,15 @@ | |
func makeAndApplyGoodBlock(state sm.State, height int64, lastCommit *types.Commit, proposerAddr []byte, | |
blockExec *sm.BlockExecutor, evidence []types.Evidence) (sm.State, types.BlockID, error) { | |
- block, _ := state.MakeBlock(height, factory.MakeTenTxs(height), lastCommit, evidence, proposerAddr) | |
+ block, _ := state.MakeBlock( | |
+ height, | |
+ factory.MakeTenTxs(height), | |
+ evidence, | |
+ nil, | |
+ nil, | |
+ lastCommit, | |
+ proposerAddr, | |
+ ) | |
if err := blockExec.ValidateBlock(state, block); err != nil { | |
return state, types.BlockID{}, err | |
} | |
Index: state/state.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/state/state.go b/state/state.go | |
--- a/state/state.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/state/state.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -8,6 +8,7 @@ | |
"time" | |
"github.com/gogo/protobuf/proto" | |
+ tmbytes "github.com/tendermint/tendermint/libs/bytes" | |
tmstate "github.com/tendermint/tendermint/proto/tendermint/state" | |
tmversion "github.com/tendermint/tendermint/proto/tendermint/version" | |
@@ -253,13 +254,15 @@ | |
func (state State) MakeBlock( | |
height int64, | |
txs []types.Tx, | |
- commit *types.Commit, | |
evidence []types.Evidence, | |
+ intermediateStateRoots []tmbytes.HexBytes, | |
+ messages []types.Message, | |
+ commit *types.Commit, | |
proposerAddress []byte, | |
) (*types.Block, *types.PartSet) { | |
// Build base block with block data. | |
- block := types.MakeBlock(height, txs, commit, evidence) | |
+ block := types.MakeBlock(height, txs, evidence, intermediateStateRoots, messages, commit) | |
// Set time. | |
var timestamp time.Time | |
Index: state/test/factory/block.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/state/test/factory/block.go b/state/test/factory/block.go | |
--- a/state/test/factory/block.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/state/test/factory/block.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -39,8 +39,8 @@ | |
block, _ := state.MakeBlock( | |
height, | |
factory.MakeTenTxs(state.LastBlockHeight), | |
+ nil, nil, nil, | |
c, | |
- nil, | |
state.Validators.GetProposer().Address, | |
) | |
return block | |
@@ -61,5 +61,5 @@ | |
lastBlockMeta.BlockID, []types.CommitSig{vote.CommitSig()}) | |
} | |
- return state.MakeBlock(height, []types.Tx{}, lastCommit, nil, state.Validators.GetProposer().Address) | |
+ return state.MakeBlock(height, []types.Tx{}, nil, nil, nil, lastCommit, state.Validators.GetProposer().Address) | |
} | |
Index: state/tx_filter_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/state/tx_filter_test.go b/state/tx_filter_test.go | |
--- a/state/tx_filter_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/state/tx_filter_test.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -22,8 +22,8 @@ | |
tx types.Tx | |
isErr bool | |
}{ | |
- {types.Tx(tmrand.Bytes(2155)), false}, | |
- {types.Tx(tmrand.Bytes(2156)), true}, | |
+ {types.Tx(tmrand.Bytes(2149)), false}, | |
+ {types.Tx(tmrand.Bytes(2150)), true}, | |
{types.Tx(tmrand.Bytes(3000)), true}, | |
} | |
Index: state/validation_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/state/validation_test.go b/state/validation_test.go | |
--- a/state/validation_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/state/validation_test.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -107,7 +107,12 @@ | |
} | |
nextHeight := validationTestsStopHeight | |
- block := sf.MakeBlock(state, nextHeight, lastCommit) | |
+ block, _ := state.MakeBlock( | |
+ nextHeight, | |
+ factory.MakeTenTxs(nextHeight), nil, nil, nil, | |
+ lastCommit, | |
+ state.Validators.GetProposer().Address, | |
+ ) | |
state.InitialHeight = nextHeight + 1 | |
err := blockExec.ValidateBlock(state, block) | |
require.Error(t, err, "expected an error when state is ahead of block") | |
@@ -158,7 +163,7 @@ | |
state.LastBlockID, | |
[]types.CommitSig{wrongHeightVote.CommitSig()}, | |
) | |
- block := sf.MakeBlock(state, height, wrongHeightCommit) | |
+ block, _ := state.MakeBlock(height, factory.MakeTenTxs(height), nil, nil, nil, wrongHeightCommit, proposerAddr) | |
err = blockExec.ValidateBlock(state, block) | |
_, isErrInvalidCommitHeight := err.(types.ErrInvalidCommitHeight) | |
require.True(t, isErrInvalidCommitHeight, "expected ErrInvalidCommitHeight at height %d but got: %v", height, err) | |
@@ -166,7 +171,7 @@ | |
/* | |
#2589: test len(block.LastCommit.Signatures) == state.LastValidators.Size() | |
*/ | |
- block = sf.MakeBlock(state, height, wrongSigsCommit) | |
+ block, _ = state.MakeBlock(height, factory.MakeTenTxs(height), nil, nil, nil, wrongSigsCommit, proposerAddr) | |
err = blockExec.ValidateBlock(state, block) | |
_, isErrInvalidCommitSignatures := err.(types.ErrInvalidCommitSignatures) | |
require.True(t, isErrInvalidCommitSignatures, | |
@@ -278,7 +283,7 @@ | |
evidence = append(evidence, newEv) | |
currentBytes += int64(len(newEv.Bytes())) | |
} | |
- block, _ := state.MakeBlock(height, factory.MakeTenTxs(height), lastCommit, evidence, proposerAddr) | |
+ block, _ := state.MakeBlock(height, factory.MakeTenTxs(height), evidence, nil, nil, lastCommit, proposerAddr) | |
err := blockExec.ValidateBlock(state, block) | |
if assert.Error(t, err) { | |
_, ok := err.(*types.ErrEvidenceOverflow) | |
Index: store/store_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/store/store_test.go b/store/store_test.go | |
--- a/store/store_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/store/store_test.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -35,14 +35,8 @@ | |
Timestamp: timestamp, | |
Signature: []byte("Signature"), | |
}} | |
- return types.NewCommit( | |
- height, | |
- 0, | |
- types.BlockID{ | |
- Hash: crypto.CRandBytes(32), | |
- PartSetHeader: types.PartSetHeader{Hash: crypto.CRandBytes(32), Total: 2}, | |
- }, | |
- commitSigs) | |
+ return types.NewCommit(height, 0, | |
+ types.BlockID{Hash: []byte(""), PartSetHeader: types.PartSetHeader{Hash: []byte(""), Total: 2}}, commitSigs) | |
} | |
func makeStateAndBlockStore(logger log.Logger) (sm.State, *BlockStore, cleanupFunc) { | |
Index: types/block.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/types/block.go b/types/block.go | |
--- a/types/block.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/types/block.go (revision e9ba48dddea1d98a03a07f17d63eb2fc10622d8b) | |
@@ -4,19 +4,25 @@ | |
"bytes" | |
"errors" | |
"fmt" | |
+ "math" | |
+ "sort" | |
"strings" | |
"time" | |
+ "github.com/celestiaorg/nmt/namespace" | |
"github.com/gogo/protobuf/proto" | |
gogotypes "github.com/gogo/protobuf/types" | |
"github.com/tendermint/tendermint/crypto" | |
"github.com/tendermint/tendermint/crypto/merkle" | |
"github.com/tendermint/tendermint/crypto/tmhash" | |
+ "github.com/tendermint/tendermint/internal/libs/protoio" | |
tmsync "github.com/tendermint/tendermint/internal/libs/sync" | |
"github.com/tendermint/tendermint/libs/bits" | |
tmbytes "github.com/tendermint/tendermint/libs/bytes" | |
tmmath "github.com/tendermint/tendermint/libs/math" | |
+ "github.com/tendermint/tendermint/pkg/consts" | |
+ "github.com/tendermint/tendermint/pkg/da" | |
tmproto "github.com/tendermint/tendermint/proto/tendermint/types" | |
"github.com/tendermint/tendermint/version" | |
) | |
@@ -44,8 +50,7 @@ | |
Header `json:"header"` | |
Data `json:"data"` | |
- Evidence EvidenceData `json:"evidence"` | |
- LastCommit *Commit `json:"last_commit"` | |
+ LastCommit *Commit `json:"last_commit"` | |
} | |
// ValidateBasic performs basic validation that doesn't involve state data. | |
@@ -221,7 +226,7 @@ | |
if err != nil { | |
return nil, err | |
} | |
- pb.Evidence = *protoEvidence | |
+ pb.Data.Evidence = *protoEvidence | |
return pb, nil | |
} | |
@@ -244,7 +249,7 @@ | |
return nil, err | |
} | |
b.Data = data | |
- if err := b.Evidence.FromProto(&bp.Evidence); err != nil { | |
+ if err := b.Evidence.FromProto(&bp.Data.Evidence); err != nil { | |
return nil, err | |
} | |
@@ -307,16 +312,21 @@ | |
// MakeBlock returns a new block with an empty header, except what can be | |
// computed from itself. | |
// It populates the same set of fields validated by ValidateBasic. | |
-func MakeBlock(height int64, txs []Tx, lastCommit *Commit, evidence []Evidence) *Block { | |
+func MakeBlock( | |
+ height int64, | |
+ txs []Tx, evidence []Evidence, intermediateStateRoots []tmbytes.HexBytes, messages []Message, | |
+ lastCommit *Commit) *Block { | |
block := &Block{ | |
Header: Header{ | |
Version: version.Consensus{Block: version.BlockProtocol, App: 0}, | |
Height: height, | |
}, | |
Data: Data{ | |
- Txs: txs, | |
- }, | |
- Evidence: EvidenceData{Evidence: evidence}, | |
+ Txs: txs, | |
+ IntermediateStateRoots: IntermediateStateRoots{RawRootsList: intermediateStateRoots}, | |
+ Evidence: EvidenceData{Evidence: evidence}, | |
+ Messages: Messages{MessagesList: messages}, | |
+ }, | |
LastCommit: lastCommit, | |
} | |
block.fillHeader() | |
@@ -997,29 +1007,209 @@ | |
//----------------------------------------------------------------------------- | |
-// Data contains the set of transactions included in the block | |
+// Data contains all the available Data of the block. | |
+// Data with reserved namespaces (Txs, IntermediateStateRoots, Evidence) and | |
+// Celestia application specific Messages. | |
type Data struct { | |
- | |
// Txs that will be applied by state @ block.Height+1. | |
// NOTE: not all txs here are valid. We're just agreeing on the order first. | |
// This means that block.AppHash does not include these txs. | |
Txs Txs `json:"txs"` | |
+ // Intermediate state roots of the Txs included in block.Height | |
+ // and executed by state state @ block.Height+1. | |
+ // | |
+ // TODO: replace with a dedicated type `IntermediateStateRoot` | |
+ // as soon as we settle on the format / sparse Merkle tree etc | |
+ IntermediateStateRoots IntermediateStateRoots `json:"intermediate_roots"` | |
+ | |
+ Evidence EvidenceData `json:"evidence"` | |
+ | |
+ // The messages included in this block. | |
+ // TODO: how do messages end up here? (abci) app <-> ll-core? | |
+ // A simple approach could be: include them in the Tx above and | |
+ // have a mechanism to split them out somehow? Probably better to include | |
+ // them only when necessary (before proposing the block) as messages do not | |
+ // really need to be processed by tendermint | |
+ Messages Messages `json:"msgs"` | |
+ | |
// Volatile | |
hash tmbytes.HexBytes | |
} | |
// Hash returns the hash of the data | |
func (data *Data) Hash() tmbytes.HexBytes { | |
- if data == nil { | |
- return (Txs{}).Hash() | |
+ if data.hash != nil { | |
+ return data.hash | |
} | |
- if data.hash == nil { | |
- data.hash = data.Txs.Hash() // NOTE: leaves of merkle tree are TxIDs | |
+ | |
+ // compute the data availability header | |
+ // todo(evan): add the non redundant shares back into the header | |
+ shares, _ := data.ComputeShares() | |
+ rawShares := shares.RawShares() | |
+ | |
+ squareSize := uint64(math.Sqrt(float64(len(shares)))) | |
+ | |
+ eds, err := da.ExtendShares(squareSize, rawShares) | |
+ if err != nil { | |
+ panic(err) | |
} | |
+ | |
+ dah := da.NewDataAvailabilityHeader(eds) | |
+ | |
+ data.hash = dah.Hash() | |
+ | |
return data.hash | |
} | |
+// ComputeShares splits block data into shares of an original data square and | |
+// returns them along with an amount of non-redundant shares. The shares | |
+// returned are padded to complete a square size that is a power of two | |
+func (data *Data) ComputeShares() (NamespacedShares, int) { | |
+ // TODO(ismail): splitting into shares should depend on the block size and layout | |
+ // see: https://github.com/celestiaorg/celestia-specs/blob/master/specs/block_proposer.md#laying-out-transactions-and-messages | |
+ | |
+ // reserved shares: | |
+ txShares := data.Txs.SplitIntoShares() | |
+ intermRootsShares := data.IntermediateStateRoots.SplitIntoShares() | |
+ evidenceShares := data.Evidence.SplitIntoShares() | |
+ | |
+ // application data shares from messages: | |
+ msgShares := data.Messages.SplitIntoShares() | |
+ curLen := len(txShares) + len(intermRootsShares) + len(evidenceShares) + len(msgShares) | |
+ | |
+ if curLen > consts.MaxShareCount { | |
+ panic(fmt.Sprintf("Block data exceeds the max square size. Number of shares required: %d\n", curLen)) | |
+ } | |
+ | |
+ // find the number of shares needed to create a square that has a power of | |
+ // two width | |
+ wantLen := paddedLen(curLen) | |
+ | |
+ // ensure that the min square size is used | |
+ if wantLen < consts.MinSharecount { | |
+ wantLen = consts.MinSharecount | |
+ } | |
+ | |
+ tailShares := TailPaddingShares(wantLen - curLen) | |
+ | |
+ return append(append(append(append( | |
+ txShares, | |
+ intermRootsShares...), | |
+ evidenceShares...), | |
+ msgShares...), | |
+ tailShares...), curLen | |
+} | |
+ | |
+// paddedLen calculates the number of shares needed to make a power of 2 square | |
+// given the current number of shares | |
+func paddedLen(length int) int { | |
+ width := uint32(math.Ceil(math.Sqrt(float64(length)))) | |
+ width = nextHighestPowerOf2(width) | |
+ return int(width * width) | |
+} | |
+ | |
+// nextPowerOf2 returns the next highest power of 2 unless the input is a power | |
+// of two, in which case it returns the input | |
+func nextHighestPowerOf2(v uint32) uint32 { | |
+ if v == 0 { | |
+ return 0 | |
+ } | |
+ | |
+ // find the next highest power using bit mashing | |
+ v-- | |
+ v |= v >> 1 | |
+ v |= v >> 2 | |
+ v |= v >> 4 | |
+ v |= v >> 8 | |
+ v |= v >> 16 | |
+ v++ | |
+ | |
+ // return the next highest power | |
+ return v | |
+} | |
+ | |
+type Messages struct { | |
+ MessagesList []Message `json:"msgs"` | |
+} | |
+ | |
+type IntermediateStateRoots struct { | |
+ RawRootsList []tmbytes.HexBytes `json:"intermediate_roots"` | |
+} | |
+ | |
+func (roots IntermediateStateRoots) SplitIntoShares() NamespacedShares { | |
+ rawDatas := make([][]byte, 0, len(roots.RawRootsList)) | |
+ for _, root := range roots.RawRootsList { | |
+ rawData, err := root.MarshalDelimited() | |
+ if err != nil { | |
+ panic(fmt.Sprintf("app returned intermediate state root that can not be encoded %#v", root)) | |
+ } | |
+ rawDatas = append(rawDatas, rawData) | |
+ } | |
+ shares := splitContiguous(consts.IntermediateStateRootsNamespaceID, rawDatas) | |
+ return shares | |
+} | |
+ | |
+func (msgs Messages) SplitIntoShares() NamespacedShares { | |
+ shares := make([]NamespacedShare, 0) | |
+ msgs.sortMessages() | |
+ for _, m := range msgs.MessagesList { | |
+ rawData, err := m.MarshalDelimited() | |
+ if err != nil { | |
+ panic(fmt.Sprintf("app accepted a Message that can not be encoded %#v", m)) | |
+ } | |
+ shares = appendToShares(shares, m.NamespaceID, rawData) | |
+ } | |
+ return shares | |
+} | |
+ | |
+func (msgs *Messages) sortMessages() { | |
+ sort.Slice(msgs.MessagesList, func(i, j int) bool { | |
+ return bytes.Compare(msgs.MessagesList[i].NamespaceID, msgs.MessagesList[j].NamespaceID) < 0 | |
+ }) | |
+} | |
+ | |
+type Message struct { | |
+ // NamespaceID defines the namespace of this message, i.e. the | |
+ // namespace it will use in the namespaced Merkle tree. | |
+ // | |
+ // TODO: spec out constrains and | |
+ // introduce dedicated type instead of just []byte | |
+ NamespaceID namespace.ID | |
+ | |
+ // Data is the actual data contained in the message | |
+ // (e.g. a block of a virtual sidechain). | |
+ Data []byte | |
+} | |
+ | |
+var ( | |
+ MessageEmpty = Message{} | |
+ MessagesEmpty = Messages{} | |
+) | |
+ | |
+func MessageFromProto(p *tmproto.Message) Message { | |
+ if p == nil { | |
+ return MessageEmpty | |
+ } | |
+ return Message{ | |
+ NamespaceID: p.NamespaceId, | |
+ Data: p.Data, | |
+ } | |
+} | |
+ | |
+func MessagesFromProto(p *tmproto.Messages) Messages { | |
+ if p == nil { | |
+ return MessagesEmpty | |
+ } | |
+ | |
+ msgs := make([]Message, 0, len(p.MessagesList)) | |
+ | |
+ for i := 0; i < len(p.MessagesList); i++ { | |
+ msgs = append(msgs, MessageFromProto(p.MessagesList[i])) | |
+ } | |
+ return Messages{MessagesList: msgs} | |
+} | |
+ | |
// StringIndented returns an indented string representation of the transactions. | |
func (data *Data) StringIndented(indent string) string { | |
if data == nil { | |
@@ -1035,9 +1225,8 @@ | |
} | |
return fmt.Sprintf(`Data{ | |
%s %v | |
-%s}#%v`, | |
- indent, strings.Join(txStrings, "\n"+indent+" "), | |
- indent, data.hash) | |
+}`, | |
+ indent, strings.Join(txStrings, "\n"+indent+" ")) | |
} | |
// ToProto converts Data to protobuf | |
@@ -1052,6 +1241,22 @@ | |
tp.Txs = txBzs | |
} | |
+ rawRoots := data.IntermediateStateRoots.RawRootsList | |
+ if len(rawRoots) > 0 { | |
+ roots := make([][]byte, len(rawRoots)) | |
+ for i := range rawRoots { | |
+ roots[i] = rawRoots[i] | |
+ } | |
+ tp.IntermediateStateRoots.RawRootsList = roots | |
+ } | |
+ // TODO(evan): copy missing pieces from previous work | |
+ pevd, err := data.Evidence.ToProto() | |
+ if err != nil { | |
+ // TODO(evan): fix | |
+ panic(err) | |
+ } | |
+ tp.Evidence = *pevd | |
+ | |
return *tp | |
} | |
@@ -1073,6 +1278,34 @@ | |
data.Txs = Txs{} | |
} | |
+ if len(dp.Messages.MessagesList) > 0 { | |
+ msgs := make([]Message, len(dp.Messages.MessagesList)) | |
+ for i, m := range dp.Messages.MessagesList { | |
+ msgs[i] = Message{NamespaceID: m.NamespaceId, Data: m.Data} | |
+ } | |
+ data.Messages = Messages{MessagesList: msgs} | |
+ } else { | |
+ data.Messages = Messages{} | |
+ } | |
+ if len(dp.IntermediateStateRoots.RawRootsList) > 0 { | |
+ roots := make([]tmbytes.HexBytes, len(dp.IntermediateStateRoots.RawRootsList)) | |
+ for i, r := range dp.IntermediateStateRoots.RawRootsList { | |
+ roots[i] = r | |
+ } | |
+ data.IntermediateStateRoots = IntermediateStateRoots{RawRootsList: roots} | |
+ } else { | |
+ data.IntermediateStateRoots = IntermediateStateRoots{} | |
+ } | |
+ | |
+ evdData := new(EvidenceData) | |
+ err := evdData.FromProto(&dp.Evidence) | |
+ if err != nil { | |
+ return Data{}, err | |
+ } | |
+ if evdData != nil { | |
+ data.Evidence = *evdData | |
+ } | |
+ | |
return *data, nil | |
} | |
@@ -1167,6 +1400,23 @@ | |
return nil | |
} | |
+func (data *EvidenceData) SplitIntoShares() NamespacedShares { | |
+ rawDatas := make([][]byte, 0, len(data.Evidence)) | |
+ for _, ev := range data.Evidence { | |
+ pev, err := EvidenceToProto(ev) | |
+ if err != nil { | |
+ panic("failure to convert evidence to equivalent proto type") | |
+ } | |
+ rawData, err := protoio.MarshalDelimited(pev) | |
+ if err != nil { | |
+ panic(err) | |
+ } | |
+ rawDatas = append(rawDatas, rawData) | |
+ } | |
+ shares := splitContiguous(consts.EvidenceNamespaceID, rawDatas) | |
+ return shares | |
+} | |
+ | |
//-------------------------------------------------------------------------------- | |
// BlockID | |
Index: types/block_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/types/block_test.go b/types/block_test.go | |
--- a/types/block_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/types/block_test.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -46,9 +46,9 @@ | |
ev := NewMockDuplicateVoteEvidenceWithValidator(h, time.Now(), vals[0], "block-test-chain") | |
evList := []Evidence{ev} | |
- block := MakeBlock(h, txs, commit, evList) | |
+ block := MakeBlock(h, txs, evList, nil, nil, commit) | |
require.NotNil(t, block) | |
- require.Equal(t, 1, len(block.Evidence.Evidence)) | |
+ require.Equal(t, 1, len(block.Data.Evidence.Evidence)) | |
require.NotNil(t, block.EvidenceHash) | |
} | |
@@ -81,7 +81,7 @@ | |
{"Remove LastCommitHash", func(blk *Block) { blk.LastCommitHash = []byte("something else") }, true}, | |
{"Tampered Data", func(blk *Block) { | |
blk.Data.Txs[0] = Tx("something else") | |
- blk.Data.hash = nil // clear hash or change wont be noticed | |
+ blk.DataHash = nil // clear hash or change wont be noticed | |
}, true}, | |
{"Tampered DataHash", func(blk *Block) { | |
blk.DataHash = tmrand.Bytes(len(blk.DataHash)) | |
@@ -107,7 +107,7 @@ | |
tc := tc | |
i := i | |
t.Run(tc.testName, func(t *testing.T) { | |
- block := MakeBlock(h, txs, commit, evList) | |
+ block := MakeBlock(h, txs, evList, nil, nil, commit) | |
block.ProposerAddress = valSet.GetProposer().Address | |
tc.malleateBlock(block) | |
err = block.ValidateBasic() | |
@@ -119,13 +119,13 @@ | |
func TestBlockHash(t *testing.T) { | |
assert.Nil(t, (*Block)(nil).Hash()) | |
- assert.Nil(t, MakeBlock(int64(3), []Tx{Tx("Hello World")}, nil, nil).Hash()) | |
+ assert.Nil(t, MakeBlock(int64(3), []Tx{Tx("Hello World")}, nil, nil, nil, nil).Hash()) | |
} | |
func TestBlockMakePartSet(t *testing.T) { | |
assert.Nil(t, (*Block)(nil).MakePartSet(2)) | |
- partSet := MakeBlock(int64(3), []Tx{Tx("Hello World")}, nil, nil).MakePartSet(1024) | |
+ partSet := MakeBlock(int64(3), []Tx{Tx("Hello World")}, nil, nil, nil, nil).MakePartSet(1024) | |
assert.NotNil(t, partSet) | |
assert.EqualValues(t, 1, partSet.Total()) | |
} | |
@@ -143,7 +143,7 @@ | |
ev := NewMockDuplicateVoteEvidenceWithValidator(h, time.Now(), vals[0], "block-test-chain") | |
evList := []Evidence{ev} | |
- partSet := MakeBlock(h, []Tx{Tx("Hello World")}, commit, evList).MakePartSet(512) | |
+ partSet := MakeBlock(h, []Tx{Tx("Hello World")}, evList, nil, nil, commit).MakePartSet(512) | |
assert.NotNil(t, partSet) | |
assert.EqualValues(t, 4, partSet.Total()) | |
} | |
@@ -160,7 +160,7 @@ | |
ev := NewMockDuplicateVoteEvidenceWithValidator(h, time.Now(), vals[0], "block-test-chain") | |
evList := []Evidence{ev} | |
- block := MakeBlock(h, []Tx{Tx("Hello World")}, commit, evList) | |
+ block := MakeBlock(h, []Tx{Tx("Hello World")}, evList, nil, nil, commit) | |
block.ValidatorsHash = valSet.Hash() | |
assert.False(t, block.HashesTo([]byte{})) | |
assert.False(t, block.HashesTo([]byte("something else"))) | |
@@ -168,7 +168,7 @@ | |
} | |
func TestBlockSize(t *testing.T) { | |
- size := MakeBlock(int64(3), []Tx{Tx("Hello World")}, nil, nil).Size() | |
+ size := MakeBlock(int64(3), []Tx{Tx("Hello World")}, nil, nil, nil, nil).Size() | |
if size <= 0 { | |
t.Fatal("Size of the block is zero or negative") | |
} | |
@@ -179,7 +179,7 @@ | |
assert.Equal(t, "nil-Block", (*Block)(nil).StringIndented("")) | |
assert.Equal(t, "nil-Block", (*Block)(nil).StringShort()) | |
- block := MakeBlock(int64(3), []Tx{Tx("Hello World")}, nil, nil) | |
+ block := MakeBlock(int64(3), []Tx{Tx("Hello World")}, nil, nil, nil, nil) | |
assert.NotEqual(t, "nil-Block", block.String()) | |
assert.NotEqual(t, "nil-Block", block.StringIndented("")) | |
assert.NotEqual(t, "nil-Block", block.StringShort()) | |
@@ -213,21 +213,11 @@ | |
var nilBytes []byte | |
-// This follows RFC-6962, i.e. `echo -n '' | sha256sum` | |
-var emptyBytes = []byte{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, | |
- 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, | |
- 0x78, 0x52, 0xb8, 0x55} | |
- | |
func TestNilHeaderHashDoesntCrash(t *testing.T) { | |
assert.Equal(t, nilBytes, []byte((*Header)(nil).Hash())) | |
assert.Equal(t, nilBytes, []byte((new(Header)).Hash())) | |
} | |
-func TestNilDataHashDoesntCrash(t *testing.T) { | |
- assert.Equal(t, emptyBytes, []byte((*Data)(nil).Hash())) | |
- assert.Equal(t, emptyBytes, []byte(new(Data).Hash())) | |
-} | |
- | |
func TestCommit(t *testing.T) { | |
lastID := makeBlockIDRandom() | |
h := int64(3) | |
@@ -646,17 +636,16 @@ | |
func TestBlockProtoBuf(t *testing.T) { | |
h := mrand.Int63() | |
c1 := randCommit(time.Now()) | |
- b1 := MakeBlock(h, []Tx{Tx([]byte{1})}, &Commit{Signatures: []CommitSig{}}, []Evidence{}) | |
+ b1 := MakeBlock(h, []Tx{Tx([]byte{1})}, []Evidence{}, nil, nil, &Commit{Signatures: []CommitSig{}}) | |
b1.ProposerAddress = tmrand.Bytes(crypto.AddressSize) | |
- b2 := MakeBlock(h, []Tx{Tx([]byte{1})}, c1, []Evidence{}) | |
- b2.ProposerAddress = tmrand.Bytes(crypto.AddressSize) | |
evidenceTime := time.Date(2019, 1, 1, 0, 0, 0, 0, time.UTC) | |
evi := NewMockDuplicateVoteEvidence(h, evidenceTime, "block-test-chain") | |
- b2.Evidence = EvidenceData{Evidence: EvidenceList{evi}} | |
- b2.EvidenceHash = b2.Evidence.Hash() | |
+ b2 := MakeBlock(h, []Tx{Tx([]byte{1})}, []Evidence{evi}, nil, nil, c1) | |
+ b2.ProposerAddress = tmrand.Bytes(crypto.AddressSize) | |
+ b2.Data.Evidence.ByteSize() | |
- b3 := MakeBlock(h, []Tx{}, c1, []Evidence{}) | |
+ b3 := MakeBlock(h, []Tx{}, []Evidence{}, nil, nil, c1) | |
b3.ProposerAddress = tmrand.Bytes(crypto.AddressSize) | |
testCases := []struct { | |
msg string | |
@@ -681,7 +670,7 @@ | |
if tc.expPass2 { | |
require.NoError(t, err, tc.msg) | |
require.EqualValues(t, tc.b1.Header, block.Header, tc.msg) | |
- require.EqualValues(t, tc.b1.Data, block.Data, tc.msg) | |
+ require.EqualValues(t, tc.b1.Data, block.Data, tc.msg) // todo | |
require.EqualValues(t, tc.b1.Evidence.Evidence, block.Evidence.Evidence, tc.msg) | |
require.EqualValues(t, *tc.b1.LastCommit, *block.LastCommit, tc.msg) | |
} else { | |
@@ -691,8 +680,11 @@ | |
} | |
func TestDataProtoBuf(t *testing.T) { | |
- data := &Data{Txs: Txs{Tx([]byte{1}), Tx([]byte{2}), Tx([]byte{3})}} | |
- data2 := &Data{Txs: Txs{}} | |
+ data := &Data{ | |
+ Txs: Txs{Tx([]byte{1}), Tx([]byte{2}), Tx([]byte{3})}, | |
+ Evidence: EvidenceData{Evidence: EvidenceList([]Evidence{})}, | |
+ } | |
+ data2 := &Data{Txs: Txs{}, Evidence: EvidenceData{Evidence: EvidenceList([]Evidence{})}} | |
testCases := []struct { | |
msg string | |
data1 *Data | |
@@ -702,11 +694,14 @@ | |
{"success data2", data2, true}, | |
} | |
for _, tc := range testCases { | |
+ firstHash := tc.data1.Hash() | |
protoData := tc.data1.ToProto() | |
d, err := DataFromProto(&protoData) | |
if tc.expPass { | |
require.NoError(t, err, tc.msg) | |
+ secondHash := d.Hash() | |
require.EqualValues(t, tc.data1, &d, tc.msg) | |
+ require.Equal(t, firstHash, secondHash) | |
} else { | |
require.Error(t, err, tc.msg) | |
} | |
Index: types/event_bus_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/types/event_bus_test.go b/types/event_bus_test.go | |
--- a/types/event_bus_test.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/types/event_bus_test.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -74,7 +74,7 @@ | |
} | |
}) | |
- block := MakeBlock(0, []Tx{}, nil, []Evidence{}) | |
+ block := MakeBlock(0, []Tx{}, []Evidence{}, nil, nil, nil) | |
blockID := BlockID{Hash: block.Hash(), PartSetHeader: block.MakePartSet(BlockPartSizeBytes).Header()} | |
resultBeginBlock := abci.ResponseBeginBlock{ | |
Events: []abci.Event{ | |
@@ -236,7 +236,7 @@ | |
} | |
}) | |
- block := MakeBlock(0, []Tx{}, nil, []Evidence{}) | |
+ block := MakeBlock(0, []Tx{}, []Evidence{}, nil, nil, nil) | |
resultBeginBlock := abci.ResponseBeginBlock{ | |
Events: []abci.Event{ | |
{Type: "testType", Attributes: []abci.EventAttribute{{Key: "baz", Value: "1"}}}, | |
Index: types/shares.go | |
=================================================================== | |
diff --git a/types/shares.go b/types/shares.go | |
new file mode 100644 | |
--- /dev/null (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
+++ b/types/shares.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -0,0 +1,54 @@ | |
+package types | |
+ | |
+import ( | |
+ "encoding/binary" | |
+ | |
+ "github.com/celestiaorg/nmt/namespace" | |
+) | |
+ | |
+// Share contains the raw share data without the corresponding namespace. | |
+type Share []byte | |
+ | |
+// NamespacedShare extends a Share with the corresponding namespace. | |
+type NamespacedShare struct { | |
+ Share | |
+ ID namespace.ID | |
+} | |
+ | |
+func (n NamespacedShare) NamespaceID() namespace.ID { | |
+ return n.ID | |
+} | |
+ | |
+func (n NamespacedShare) Data() []byte { | |
+ return n.Share | |
+} | |
+ | |
+// NamespacedShares is just a list of NamespacedShare elements. | |
+// It can be used to extract the raw raw shares. | |
+type NamespacedShares []NamespacedShare | |
+ | |
+// RawShares returns the raw shares that can be fed into the erasure coding | |
+// library (e.g. rsmt2d). | |
+func (ns NamespacedShares) RawShares() [][]byte { | |
+ res := make([][]byte, len(ns)) | |
+ for i, nsh := range ns { | |
+ res[i] = nsh.Share | |
+ } | |
+ return res | |
+} | |
+ | |
+func (tx Tx) MarshalDelimited() ([]byte, error) { | |
+ lenBuf := make([]byte, binary.MaxVarintLen64) | |
+ length := uint64(len(tx)) | |
+ n := binary.PutUvarint(lenBuf, length) | |
+ return append(lenBuf[:n], tx...), nil | |
+} | |
+ | |
+// MarshalDelimited marshals the raw data (excluding the namespace) of this | |
+// message and prefixes it with the length of that encoding. | |
+func (msg Message) MarshalDelimited() ([]byte, error) { | |
+ lenBuf := make([]byte, binary.MaxVarintLen64) | |
+ length := uint64(len(msg.Data)) | |
+ n := binary.PutUvarint(lenBuf, length) | |
+ return append(lenBuf[:n], msg.Data...), nil | |
+} | |
Index: types/shares_test.go | |
=================================================================== | |
diff --git a/types/shares_test.go b/types/shares_test.go | |
new file mode 100644 | |
--- /dev/null (revision 1bb8ddc557dec930c09284eb1a5949e4aa4d7c4a) | |
+++ b/types/shares_test.go (revision 1bb8ddc557dec930c09284eb1a5949e4aa4d7c4a) | |
@@ -0,0 +1,563 @@ | |
+package types | |
+ | |
+import ( | |
+ "bytes" | |
+ "context" | |
+ "fmt" | |
+ "math" | |
+ "math/rand" | |
+ "reflect" | |
+ "sort" | |
+ "testing" | |
+ "time" | |
+ | |
+ "github.com/celestiaorg/nmt/namespace" | |
+ "github.com/stretchr/testify/assert" | |
+ "github.com/stretchr/testify/require" | |
+ "github.com/tendermint/tendermint/internal/libs/protoio" | |
+ tmbytes "github.com/tendermint/tendermint/libs/bytes" | |
+ "github.com/tendermint/tendermint/pkg/consts" | |
+ "github.com/tendermint/tendermint/pkg/da" | |
+) | |
+ | |
+type Splitter interface { | |
+ SplitIntoShares() NamespacedShares | |
+} | |
+ | |
+func TestMakeShares(t *testing.T) { | |
+ reservedTxNamespaceID := append(bytes.Repeat([]byte{0}, 7), 1) | |
+ reservedEvidenceNamespaceID := append(bytes.Repeat([]byte{0}, 7), 3) | |
+ val := NewMockPV() | |
+ blockID := makeBlockID([]byte("blockhash"), 1000, []byte("partshash")) | |
+ blockID2 := makeBlockID([]byte("blockhash2"), 1000, []byte("partshash")) | |
+ vote1 := makeVote(t, val, "chainID", 0, 10, 2, 1, blockID, defaultVoteTime) | |
+ vote2 := makeVote(t, val, "chainID", 0, 10, 2, 1, blockID2, defaultVoteTime) | |
+ testEvidence := &DuplicateVoteEvidence{ | |
+ VoteA: vote1, | |
+ VoteB: vote2, | |
+ } | |
+ protoTestEvidence, err := EvidenceToProto(testEvidence) | |
+ if err != nil { | |
+ t.Error(err) | |
+ } | |
+ testEvidenceBytes, err := protoio.MarshalDelimited(protoTestEvidence) | |
+ largeTx := Tx(bytes.Repeat([]byte("large Tx"), 50)) | |
+ largeTxLenDelimited, _ := largeTx.MarshalDelimited() | |
+ smolTx := Tx("small Tx") | |
+ smolTxLenDelimited, _ := smolTx.MarshalDelimited() | |
+ msg1 := Message{ | |
+ NamespaceID: namespace.ID("8bytesss"), | |
+ Data: []byte("some data"), | |
+ } | |
+ msg1Marshaled, _ := msg1.MarshalDelimited() | |
+ if err != nil { | |
+ t.Fatalf("Could not encode evidence: %v, error: %v\n", testEvidence, err) | |
+ } | |
+ | |
+ type args struct { | |
+ data Splitter | |
+ } | |
+ tests := []struct { | |
+ name string | |
+ args args | |
+ want NamespacedShares | |
+ }{ | |
+ { | |
+ name: "evidence", | |
+ args: args{ | |
+ data: &EvidenceData{ | |
+ Evidence: []Evidence{testEvidence}, | |
+ }, | |
+ }, | |
+ want: NamespacedShares{ | |
+ NamespacedShare{ | |
+ Share: append( | |
+ append(reservedEvidenceNamespaceID, byte(0)), | |
+ testEvidenceBytes[:consts.TxShareSize]..., | |
+ ), | |
+ ID: reservedEvidenceNamespaceID, | |
+ }, | |
+ NamespacedShare{ | |
+ Share: append( | |
+ append(reservedEvidenceNamespaceID, byte(0)), | |
+ zeroPadIfNecessary(testEvidenceBytes[consts.TxShareSize:], consts.TxShareSize)..., | |
+ ), | |
+ ID: reservedEvidenceNamespaceID, | |
+ }, | |
+ }, | |
+ }, | |
+ {"small LL Tx", | |
+ args{ | |
+ data: Txs{smolTx}, | |
+ }, | |
+ NamespacedShares{ | |
+ NamespacedShare{ | |
+ Share: append( | |
+ append(reservedTxNamespaceID, byte(0)), | |
+ zeroPadIfNecessary(smolTxLenDelimited, consts.TxShareSize)..., | |
+ ), | |
+ ID: reservedTxNamespaceID, | |
+ }, | |
+ }, | |
+ }, | |
+ {"one large LL Tx", | |
+ args{ | |
+ data: Txs{largeTx}, | |
+ }, | |
+ NamespacedShares{ | |
+ NamespacedShare{ | |
+ Share: append( | |
+ append(reservedTxNamespaceID, byte(0)), | |
+ largeTxLenDelimited[:consts.TxShareSize]..., | |
+ ), | |
+ ID: reservedTxNamespaceID, | |
+ }, | |
+ NamespacedShare{ | |
+ Share: append( | |
+ append(reservedTxNamespaceID, byte(0)), | |
+ zeroPadIfNecessary(largeTxLenDelimited[consts.TxShareSize:], consts.TxShareSize)..., | |
+ ), | |
+ ID: reservedTxNamespaceID, | |
+ }, | |
+ }, | |
+ }, | |
+ {"large then small LL Tx", | |
+ args{ | |
+ data: Txs{largeTx, smolTx}, | |
+ }, | |
+ NamespacedShares{ | |
+ NamespacedShare{ | |
+ Share: append( | |
+ append(reservedTxNamespaceID, byte(0)), | |
+ largeTxLenDelimited[:consts.TxShareSize]..., | |
+ ), | |
+ ID: reservedTxNamespaceID, | |
+ }, | |
+ NamespacedShare{ | |
+ Share: append( | |
+ append( | |
+ reservedTxNamespaceID, | |
+ byte(len(largeTxLenDelimited)-consts.TxShareSize+consts.NamespaceSize+consts.ShareReservedBytes), | |
+ ), | |
+ zeroPadIfNecessary( | |
+ append(largeTxLenDelimited[consts.TxShareSize:], smolTxLenDelimited...), | |
+ consts.TxShareSize, | |
+ )..., | |
+ ), | |
+ ID: reservedTxNamespaceID, | |
+ }, | |
+ }, | |
+ }, | |
+ {"ll-app message", | |
+ args{ | |
+ data: Messages{[]Message{msg1}}, | |
+ }, | |
+ NamespacedShares{ | |
+ NamespacedShare{ | |
+ Share: append( | |
+ []byte(msg1.NamespaceID), | |
+ zeroPadIfNecessary(msg1Marshaled, consts.MsgShareSize)..., | |
+ ), | |
+ ID: msg1.NamespaceID, | |
+ }, | |
+ }, | |
+ }, | |
+ } | |
+ for i, tt := range tests { | |
+ tt := tt // stupid scopelint :-/ | |
+ i := i | |
+ t.Run(tt.name, func(t *testing.T) { | |
+ got := tt.args.data.SplitIntoShares() | |
+ if !reflect.DeepEqual(got, tt.want) { | |
+ t.Errorf("%v: makeShares() = \n%+v\nwant\n%+v\n", i, got, tt.want) | |
+ } | |
+ }) | |
+ } | |
+} | |
+ | |
+func Test_zeroPadIfNecessary(t *testing.T) { | |
+ type args struct { | |
+ share []byte | |
+ width int | |
+ } | |
+ tests := []struct { | |
+ name string | |
+ args args | |
+ want []byte | |
+ }{ | |
+ {"pad", args{[]byte{1, 2, 3}, 6}, []byte{1, 2, 3, 0, 0, 0}}, | |
+ {"not necessary (equal to shareSize)", args{[]byte{1, 2, 3}, 3}, []byte{1, 2, 3}}, | |
+ {"not necessary (greater shareSize)", args{[]byte{1, 2, 3}, 2}, []byte{1, 2, 3}}, | |
+ } | |
+ for _, tt := range tests { | |
+ tt := tt // stupid scopelint :-/ | |
+ t.Run(tt.name, func(t *testing.T) { | |
+ if got := zeroPadIfNecessary(tt.args.share, tt.args.width); !reflect.DeepEqual(got, tt.want) { | |
+ t.Errorf("zeroPadIfNecessary() = %v, want %v", got, tt.want) | |
+ } | |
+ }) | |
+ } | |
+} | |
+ | |
+func Test_appendToSharesOverwrite(t *testing.T) { | |
+ var shares NamespacedShares | |
+ | |
+ // generate some arbitrary namespaced shares first share that must be split | |
+ newShare := generateRandomNamespacedShares(1, consts.MsgShareSize+1)[0] | |
+ | |
+ // make a copy of the portion of the share to check if it's overwritten later | |
+ extraCopy := make([]byte, consts.MsgShareSize) | |
+ copy(extraCopy, newShare.Share[:consts.MsgShareSize]) | |
+ | |
+ // use appendToShares to add our new share | |
+ appendToShares(shares, newShare.ID, newShare.Share) | |
+ | |
+ // check if the original share data has been overwritten. | |
+ assert.Equal(t, extraCopy, []byte(newShare.Share[:consts.MsgShareSize])) | |
+} | |
+ | |
+func TestDataFromSquare(t *testing.T) { | |
+ type test struct { | |
+ name string | |
+ txCount int | |
+ isrCount int | |
+ evdCount int | |
+ msgCount int | |
+ maxSize int // max size of each tx or msg | |
+ } | |
+ | |
+ tests := []test{ | |
+ {"one of each random small size", 1, 1, 1, 1, 40}, | |
+ {"one of each random large size", 1, 1, 1, 1, 400}, | |
+ {"many of each random large size", 10, 10, 10, 10, 40}, | |
+ {"many of each random large size", 10, 10, 10, 10, 400}, | |
+ {"only transactions", 10, 0, 0, 0, 400}, | |
+ {"only intermediate state roots", 0, 10, 0, 0, 400}, | |
+ {"only evidence", 0, 0, 10, 0, 400}, | |
+ {"only messages", 0, 0, 0, 10, 400}, | |
+ } | |
+ | |
+ for _, tc := range tests { | |
+ tc := tc | |
+ | |
+ t.Run(tc.name, func(t *testing.T) { | |
+ // generate random data | |
+ data := generateRandomBlockData( | |
+ tc.txCount, | |
+ tc.isrCount, | |
+ tc.evdCount, | |
+ tc.msgCount, | |
+ tc.maxSize, | |
+ ) | |
+ shares, _ := data.ComputeShares() | |
+ rawShares := shares.RawShares() | |
+ squareSize := uint64(math.Sqrt(float64(len(rawShares)))) | |
+ | |
+ eds, err := da.ExtendShares(squareSize, rawShares) | |
+ require.NoError(t, err) | |
+ | |
+ res, err := DataFromSquare(eds) | |
+ if err != nil { | |
+ t.Fatal(err) | |
+ } | |
+ | |
+ // we have to compare the evidence by string because the the | |
+ // timestamps differ not by actual time represented, but by | |
+ // internals see https://github.com/stretchr/testify/issues/666 | |
+ for i := 0; i < len(data.Evidence.Evidence); i++ { | |
+ inputEvidence := data.Evidence.Evidence[i].(*DuplicateVoteEvidence) | |
+ resultEvidence := res.Evidence.Evidence[i].(*DuplicateVoteEvidence) | |
+ assert.Equal(t, inputEvidence.String(), resultEvidence.String()) | |
+ } | |
+ | |
+ // compare the original to the result w/o the evidence | |
+ data.Evidence = EvidenceData{} | |
+ res.Evidence = EvidenceData{} | |
+ | |
+ assert.Equal(t, data, res) | |
+ }) | |
+ } | |
+} | |
+ | |
+func TestFuzz_DataFromSquare(t *testing.T) { | |
+ t.Skip() | |
+ // run random shares through processContiguousShares for a minute | |
+ ctx, cancel := context.WithTimeout(context.Background(), time.Minute) | |
+ defer cancel() | |
+ for { | |
+ select { | |
+ case <-ctx.Done(): | |
+ return | |
+ default: | |
+ TestDataFromSquare(t) | |
+ } | |
+ } | |
+} | |
+ | |
+func Test_processContiguousShares(t *testing.T) { | |
+ // exactTxShareSize is the length of tx that will fit exactly into a single | |
+ // share, accounting for namespace id and the length delimiter prepended to | |
+ // each tx | |
+ const exactTxShareSize = consts.TxShareSize - 1 | |
+ | |
+ type test struct { | |
+ name string | |
+ txSize int | |
+ txCount int | |
+ } | |
+ | |
+ // each test is ran twice, once using txSize as an exact size, and again | |
+ // using it as a cap for randomly sized txs | |
+ tests := []test{ | |
+ {"single small tx", 10, 1}, | |
+ {"many small txs", 10, 10}, | |
+ {"single big tx", 1000, 1}, | |
+ {"many big txs", 1000, 10}, | |
+ {"single exact size tx", exactTxShareSize, 1}, | |
+ {"many exact size txs", exactTxShareSize, 10}, | |
+ } | |
+ | |
+ for _, tc := range tests { | |
+ tc := tc | |
+ | |
+ // run the tests with identically sized txs | |
+ t.Run(fmt.Sprintf("%s idendically sized ", tc.name), func(t *testing.T) { | |
+ txs := generateRandomContiguousShares(tc.txCount, tc.txSize) | |
+ | |
+ shares := txs.SplitIntoShares() | |
+ | |
+ parsedTxs, err := processContiguousShares(shares.RawShares()) | |
+ if err != nil { | |
+ t.Error(err) | |
+ } | |
+ | |
+ // check that the data parsed is identical | |
+ for i := 0; i < len(txs); i++ { | |
+ assert.Equal(t, []byte(txs[i]), parsedTxs[i]) | |
+ } | |
+ }) | |
+ | |
+ // run the same tests using randomly sized txs with caps of tc.txSize | |
+ t.Run(fmt.Sprintf("%s randomly sized", tc.name), func(t *testing.T) { | |
+ txs := generateRandomlySizedContiguousShares(tc.txCount, tc.txSize) | |
+ | |
+ shares := txs.SplitIntoShares() | |
+ | |
+ parsedTxs, err := processContiguousShares(shares.RawShares()) | |
+ if err != nil { | |
+ t.Error(err) | |
+ } | |
+ | |
+ // check that the data parsed is identical to the original | |
+ for i := 0; i < len(txs); i++ { | |
+ assert.Equal(t, []byte(txs[i]), parsedTxs[i]) | |
+ } | |
+ }) | |
+ } | |
+} | |
+ | |
+func TestFuzz_processContiguousShares(t *testing.T) { | |
+ t.Skip() | |
+ // run random shares through processContiguousShares for a minute | |
+ ctx, cancel := context.WithTimeout(context.Background(), time.Minute) | |
+ defer cancel() | |
+ for { | |
+ select { | |
+ case <-ctx.Done(): | |
+ return | |
+ default: | |
+ Test_processContiguousShares(t) | |
+ } | |
+ } | |
+} | |
+ | |
+func Test_parseMsgShares(t *testing.T) { | |
+ // exactMsgShareSize is the length of message that will fit exactly into a single | |
+ // share, accounting for namespace id and the length delimiter prepended to | |
+ // each message | |
+ const exactMsgShareSize = consts.MsgShareSize - 2 | |
+ | |
+ type test struct { | |
+ name string | |
+ msgSize int | |
+ msgCount int | |
+ } | |
+ | |
+ // each test is ran twice, once using msgSize as an exact size, and again | |
+ // using it as a cap for randomly sized leaves | |
+ tests := []test{ | |
+ {"single small msg", 1, 1}, | |
+ {"many small msgs", 4, 10}, | |
+ {"single big msg", 1000, 1}, | |
+ {"many big msgs", 1000, 10}, | |
+ {"single exact size msg", exactMsgShareSize, 1}, | |
+ {"many exact size msgs", exactMsgShareSize, 10}, | |
+ } | |
+ | |
+ for _, tc := range tests { | |
+ tc := tc | |
+ | |
+ // run the tests with identically sized messagses | |
+ t.Run(fmt.Sprintf("%s idendically sized ", tc.name), func(t *testing.T) { | |
+ rawmsgs := make([]Message, tc.msgCount) | |
+ for i := 0; i < tc.msgCount; i++ { | |
+ rawmsgs[i] = generateRandomMessage(tc.msgSize) | |
+ } | |
+ msgs := Messages{MessagesList: rawmsgs} | |
+ | |
+ shares := msgs.SplitIntoShares() | |
+ | |
+ parsedMsgs, err := parseMsgShares(shares.RawShares()) | |
+ if err != nil { | |
+ t.Error(err) | |
+ } | |
+ | |
+ // check that the namesapces and data are the same | |
+ for i := 0; i < len(msgs.MessagesList); i++ { | |
+ assert.Equal(t, msgs.MessagesList[i].NamespaceID, parsedMsgs[i].NamespaceID) | |
+ assert.Equal(t, msgs.MessagesList[i].Data, parsedMsgs[i].Data) | |
+ } | |
+ }) | |
+ | |
+ // run the same tests using randomly sized messages with caps of tc.msgSize | |
+ t.Run(fmt.Sprintf("%s randomly sized", tc.name), func(t *testing.T) { | |
+ msgs := generateRandomlySizedMessages(tc.msgCount, tc.msgSize) | |
+ shares := msgs.SplitIntoShares() | |
+ | |
+ parsedMsgs, err := parseMsgShares(shares.RawShares()) | |
+ if err != nil { | |
+ t.Error(err) | |
+ } | |
+ | |
+ // check that the namesapces and data are the same | |
+ for i := 0; i < len(msgs.MessagesList); i++ { | |
+ assert.Equal(t, msgs.MessagesList[i].NamespaceID, parsedMsgs[i].NamespaceID) | |
+ assert.Equal(t, msgs.MessagesList[i].Data, parsedMsgs[i].Data) | |
+ } | |
+ }) | |
+ } | |
+} | |
+ | |
+func Test_parseDelimiter(t *testing.T) { | |
+ for i := uint64(0); i < 100; i++ { | |
+ tx := generateRandomContiguousShares(1, int(i))[0] | |
+ input, err := tx.MarshalDelimited() | |
+ if err != nil { | |
+ panic(err) | |
+ } | |
+ res, txLen, err := parseDelimiter(input) | |
+ if err != nil { | |
+ panic(err) | |
+ } | |
+ assert.Equal(t, i, txLen) | |
+ assert.Equal(t, []byte(tx), res) | |
+ } | |
+} | |
+ | |
+// generateRandomBlockData returns randomly generated block data for testing purposes | |
+func generateRandomBlockData(txCount, isrCount, evdCount, msgCount, maxSize int) Data { | |
+ var out Data | |
+ out.Txs = generateRandomlySizedContiguousShares(txCount, maxSize) | |
+ out.IntermediateStateRoots = generateRandomISR(isrCount) | |
+ out.Evidence = generateIdenticalEvidence(evdCount) | |
+ out.Messages = generateRandomlySizedMessages(msgCount, maxSize) | |
+ return out | |
+} | |
+ | |
+func generateRandomlySizedContiguousShares(count, max int) Txs { | |
+ txs := make(Txs, count) | |
+ for i := 0; i < count; i++ { | |
+ size := rand.Intn(max) | |
+ if size == 0 { | |
+ size = 1 | |
+ } | |
+ txs[i] = generateRandomContiguousShares(1, size)[0] | |
+ } | |
+ return txs | |
+} | |
+ | |
+func generateRandomContiguousShares(count, size int) Txs { | |
+ txs := make(Txs, count) | |
+ for i := 0; i < count; i++ { | |
+ tx := make([]byte, size) | |
+ _, err := rand.Read(tx) | |
+ if err != nil { | |
+ panic(err) | |
+ } | |
+ txs[i] = tx | |
+ } | |
+ return txs | |
+} | |
+ | |
+func generateRandomISR(count int) IntermediateStateRoots { | |
+ roots := make([]tmbytes.HexBytes, count) | |
+ for i := 0; i < count; i++ { | |
+ roots[i] = tmbytes.HexBytes(generateRandomContiguousShares(1, 32)[0]) | |
+ } | |
+ return IntermediateStateRoots{RawRootsList: roots} | |
+} | |
+ | |
+func generateIdenticalEvidence(count int) EvidenceData { | |
+ evidence := make([]Evidence, count) | |
+ for i := 0; i < count; i++ { | |
+ ev := NewMockDuplicateVoteEvidence(math.MaxInt64, time.Now(), "chainID") | |
+ evidence[i] = ev | |
+ } | |
+ return EvidenceData{Evidence: evidence} | |
+} | |
+ | |
+func generateRandomlySizedMessages(count, maxMsgSize int) Messages { | |
+ msgs := make([]Message, count) | |
+ for i := 0; i < count; i++ { | |
+ msgs[i] = generateRandomMessage(rand.Intn(maxMsgSize)) | |
+ } | |
+ | |
+ // this is just to let us use assert.Equal | |
+ if count == 0 { | |
+ msgs = nil | |
+ } | |
+ | |
+ return Messages{MessagesList: msgs} | |
+} | |
+ | |
+func generateRandomMessage(size int) Message { | |
+ share := generateRandomNamespacedShares(1, size)[0] | |
+ msg := Message{ | |
+ NamespaceID: share.NamespaceID(), | |
+ Data: share.Data(), | |
+ } | |
+ return msg | |
+} | |
+ | |
+func generateRandomNamespacedShares(count, msgSize int) NamespacedShares { | |
+ shares := generateRandNamespacedRawData(uint32(count), consts.NamespaceSize, uint32(msgSize)) | |
+ msgs := make([]Message, count) | |
+ for i, s := range shares { | |
+ msgs[i] = Message{ | |
+ Data: s[consts.NamespaceSize:], | |
+ NamespaceID: s[:consts.NamespaceSize], | |
+ } | |
+ } | |
+ return Messages{MessagesList: msgs}.SplitIntoShares() | |
+} | |
+ | |
+func generateRandNamespacedRawData(total, nidSize, leafSize uint32) [][]byte { | |
+ data := make([][]byte, total) | |
+ for i := uint32(0); i < total; i++ { | |
+ nid := make([]byte, nidSize) | |
+ rand.Read(nid) | |
+ data[i] = nid | |
+ } | |
+ sortByteArrays(data) | |
+ for i := uint32(0); i < total; i++ { | |
+ d := make([]byte, leafSize) | |
+ rand.Read(d) | |
+ data[i] = append(data[i], d...) | |
+ } | |
+ | |
+ return data | |
+} | |
+ | |
+func sortByteArrays(src [][]byte) { | |
+ sort.Slice(src, func(i, j int) bool { return bytes.Compare(src[i], src[j]) < 0 }) | |
+} | |
Index: types/test_util.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/types/test_util.go b/types/test_util.go | |
--- a/types/test_util.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/types/test_util.go (revision 26aa94239f0b3e64bb14b82c03aacd4610cb19c3) | |
@@ -45,3 +45,37 @@ | |
vote.Signature = v.Signature | |
return voteSet.AddVote(vote) | |
} | |
+ | |
+func MakeVote( | |
+ height int64, | |
+ blockID BlockID, | |
+ valSet *ValidatorSet, | |
+ privVal PrivValidator, | |
+ chainID string, | |
+ now time.Time, | |
+) (*Vote, error) { | |
+ pubKey, err := privVal.GetPubKey(context.TODO()) | |
+ if err != nil { | |
+ return nil, fmt.Errorf("can't get pubkey: %w", err) | |
+ } | |
+ addr := pubKey.Address() | |
+ idx, _ := valSet.GetByAddress(addr) | |
+ vote := &Vote{ | |
+ ValidatorAddress: addr, | |
+ ValidatorIndex: idx, | |
+ Height: height, | |
+ Round: 0, | |
+ Timestamp: now, | |
+ Type: tmproto.PrecommitType, | |
+ BlockID: blockID, | |
+ } | |
+ v := vote.ToProto() | |
+ | |
+ if err := privVal.SignVote(context.TODO(), chainID, v); err != nil { | |
+ return nil, err | |
+ } | |
+ | |
+ vote.Signature = v.Signature | |
+ | |
+ return vote, nil | |
+} | |
Index: types/tx.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/types/tx.go b/types/tx.go | |
--- a/types/tx.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ b/types/tx.go (revision 95489ee744795df4774385934ef118689f00c320) | |
@@ -8,6 +8,7 @@ | |
"github.com/tendermint/tendermint/crypto/merkle" | |
"github.com/tendermint/tendermint/crypto/tmhash" | |
tmbytes "github.com/tendermint/tendermint/libs/bytes" | |
+ "github.com/tendermint/tendermint/pkg/consts" | |
tmproto "github.com/tendermint/tendermint/proto/tendermint/types" | |
) | |
@@ -79,6 +80,19 @@ | |
} | |
} | |
+func (txs Txs) SplitIntoShares() NamespacedShares { | |
+ rawDatas := make([][]byte, len(txs)) | |
+ for i, tx := range txs { | |
+ rawData, err := tx.MarshalDelimited() | |
+ if err != nil { | |
+ panic(fmt.Sprintf("included Tx in mem-pool that can not be encoded %v", tx)) | |
+ } | |
+ rawDatas[i] = rawData | |
+ } | |
+ shares := splitContiguous(consts.TxNamespaceID, rawDatas) | |
+ return shares | |
+} | |
+ | |
// TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree. | |
type TxProof struct { | |
RootHash tmbytes.HexBytes `json:"root_hash"` | |
Index: types/share_merging.go | |
=================================================================== | |
diff --git a/types/share_merging.go b/types/share_merging.go | |
new file mode 100644 | |
--- /dev/null (revision 95489ee744795df4774385934ef118689f00c320) | |
+++ b/types/share_merging.go (revision 95489ee744795df4774385934ef118689f00c320) | |
@@ -0,0 +1,333 @@ | |
+package types | |
+ | |
+import ( | |
+ "bytes" | |
+ "encoding/binary" | |
+ "errors" | |
+ | |
+ "github.com/celestiaorg/rsmt2d" | |
+ "github.com/gogo/protobuf/proto" | |
+ tmbytes "github.com/tendermint/tendermint/libs/bytes" | |
+ "github.com/tendermint/tendermint/pkg/consts" | |
+ tmproto "github.com/tendermint/tendermint/proto/tendermint/types" | |
+) | |
+ | |
+// DataFromSquare extracts block data from an extended data square. | |
+func DataFromSquare(eds *rsmt2d.ExtendedDataSquare) (Data, error) { | |
+ originalWidth := eds.Width() / 2 | |
+ | |
+ // sort block data shares by namespace | |
+ var ( | |
+ sortedTxShares [][]byte | |
+ sortedISRShares [][]byte | |
+ sortedEvdShares [][]byte | |
+ sortedMsgShares [][]byte | |
+ ) | |
+ | |
+ // iterate over each row index | |
+ for x := uint(0); x < originalWidth; x++ { | |
+ // iterate over each share in the original data square | |
+ row := eds.Row(x) | |
+ | |
+ for _, share := range row[:originalWidth] { | |
+ // sort the data of that share types via namespace | |
+ nid := share[:consts.NamespaceSize] | |
+ switch { | |
+ case bytes.Equal(consts.TxNamespaceID, nid): | |
+ sortedTxShares = append(sortedTxShares, share) | |
+ | |
+ case bytes.Equal(consts.IntermediateStateRootsNamespaceID, nid): | |
+ sortedISRShares = append(sortedISRShares, share) | |
+ | |
+ case bytes.Equal(consts.EvidenceNamespaceID, nid): | |
+ sortedEvdShares = append(sortedEvdShares, share) | |
+ | |
+ case bytes.Equal(consts.TailPaddingNamespaceID, nid): | |
+ continue | |
+ | |
+ // ignore unused but reserved namespaces | |
+ case bytes.Compare(nid, consts.MaxReservedNamespace) < 1: | |
+ continue | |
+ | |
+ // every other namespaceID should be a message | |
+ default: | |
+ sortedMsgShares = append(sortedMsgShares, share) | |
+ } | |
+ } | |
+ } | |
+ | |
+ // pass the raw share data to their respective parsers | |
+ txs, err := parseTxs(sortedTxShares) | |
+ if err != nil { | |
+ return Data{}, err | |
+ } | |
+ | |
+ isrs, err := parseISRs(sortedISRShares) | |
+ if err != nil { | |
+ return Data{}, err | |
+ } | |
+ | |
+ evd, err := parseEvd(sortedEvdShares) | |
+ if err != nil { | |
+ return Data{}, err | |
+ } | |
+ | |
+ msgs, err := parseMsgs(sortedMsgShares) | |
+ if err != nil { | |
+ return Data{}, err | |
+ } | |
+ | |
+ return Data{ | |
+ Txs: txs, | |
+ IntermediateStateRoots: isrs, | |
+ Evidence: evd, | |
+ Messages: msgs, | |
+ }, nil | |
+} | |
+ | |
+// parseTxs collects all of the transactions from the shares provided | |
+func parseTxs(shares [][]byte) (Txs, error) { | |
+ // parse the sharse | |
+ rawTxs, err := processContiguousShares(shares) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ | |
+ // convert to the Tx type | |
+ txs := make(Txs, len(rawTxs)) | |
+ for i := 0; i < len(txs); i++ { | |
+ txs[i] = Tx(rawTxs[i]) | |
+ } | |
+ | |
+ return txs, nil | |
+} | |
+ | |
+// parseISRs collects all the intermediate state roots from the shares provided | |
+func parseISRs(shares [][]byte) (IntermediateStateRoots, error) { | |
+ rawISRs, err := processContiguousShares(shares) | |
+ if err != nil { | |
+ return IntermediateStateRoots{}, err | |
+ } | |
+ | |
+ ISRs := make([]tmbytes.HexBytes, len(rawISRs)) | |
+ for i := 0; i < len(ISRs); i++ { | |
+ ISRs[i] = rawISRs[i] | |
+ } | |
+ | |
+ return IntermediateStateRoots{RawRootsList: ISRs}, nil | |
+} | |
+ | |
+// parseEvd collects all evidence from the shares provided. | |
+func parseEvd(shares [][]byte) (EvidenceData, error) { | |
+ // the raw data returned does not have length delimiters or namespaces and | |
+ // is ready to be unmarshaled | |
+ rawEvd, err := processContiguousShares(shares) | |
+ if err != nil { | |
+ return EvidenceData{}, err | |
+ } | |
+ | |
+ evdList := make(EvidenceList, len(rawEvd)) | |
+ | |
+ // parse into protobuf bytes | |
+ for i := 0; i < len(rawEvd); i++ { | |
+ // unmarshal the evidence | |
+ var protoEvd tmproto.Evidence | |
+ err := proto.Unmarshal(rawEvd[i], &protoEvd) | |
+ if err != nil { | |
+ return EvidenceData{}, err | |
+ } | |
+ evd, err := EvidenceFromProto(&protoEvd) | |
+ if err != nil { | |
+ return EvidenceData{}, err | |
+ } | |
+ | |
+ evdList[i] = evd | |
+ } | |
+ | |
+ return EvidenceData{Evidence: evdList}, nil | |
+} | |
+ | |
+// parseMsgs collects all messages from the shares provided | |
+func parseMsgs(shares [][]byte) (Messages, error) { | |
+ msgList, err := parseMsgShares(shares) | |
+ if err != nil { | |
+ return Messages{}, err | |
+ } | |
+ | |
+ return Messages{ | |
+ MessagesList: msgList, | |
+ }, nil | |
+} | |
+ | |
+// processContiguousShares takes raw shares and extracts out transactions, | |
+// intermediate state roots, or evidence. The returned [][]byte do have | |
+// namespaces or length delimiters and are ready to be unmarshalled | |
+func processContiguousShares(shares [][]byte) (txs [][]byte, err error) { | |
+ if len(shares) == 0 { | |
+ return nil, nil | |
+ } | |
+ | |
+ ss := newShareStack(shares) | |
+ return ss.resolve() | |
+} | |
+ | |
+// shareStack hold variables for peel | |
+type shareStack struct { | |
+ shares [][]byte | |
+ txLen uint64 | |
+ txs [][]byte | |
+ cursor int | |
+} | |
+ | |
+func newShareStack(shares [][]byte) *shareStack { | |
+ return &shareStack{shares: shares} | |
+} | |
+ | |
+func (ss *shareStack) resolve() ([][]byte, error) { | |
+ if len(ss.shares) == 0 { | |
+ return nil, nil | |
+ } | |
+ err := ss.peel(ss.shares[0][consts.NamespaceSize+consts.ShareReservedBytes:], true) | |
+ return ss.txs, err | |
+} | |
+ | |
+// peel recursively parses each chunk of data (either a transaction, | |
+// intermediate state root, or evidence) and adds it to the underlying slice of data. | |
+func (ss *shareStack) peel(share []byte, delimited bool) (err error) { | |
+ if delimited { | |
+ var txLen uint64 | |
+ share, txLen, err = parseDelimiter(share) | |
+ if err != nil { | |
+ return err | |
+ } | |
+ if txLen == 0 { | |
+ return nil | |
+ } | |
+ ss.txLen = txLen | |
+ } | |
+ // safeLen describes the point in the share where it can be safely split. If | |
+ // split beyond this point, it is possible to break apart a length | |
+ // delimiter, which will result in incorrect share merging | |
+ safeLen := len(share) - binary.MaxVarintLen64 | |
+ if safeLen < 0 { | |
+ safeLen = 0 | |
+ } | |
+ if ss.txLen <= uint64(safeLen) { | |
+ ss.txs = append(ss.txs, share[:ss.txLen]) | |
+ share = share[ss.txLen:] | |
+ return ss.peel(share, true) | |
+ } | |
+ // add the next share to the current share to continue merging if possible | |
+ if len(ss.shares) > ss.cursor+1 { | |
+ ss.cursor++ | |
+ share := append(share, ss.shares[ss.cursor][consts.NamespaceSize+consts.ShareReservedBytes:]...) | |
+ return ss.peel(share, false) | |
+ } | |
+ // collect any remaining data | |
+ if ss.txLen <= uint64(len(share)) { | |
+ ss.txs = append(ss.txs, share[:ss.txLen]) | |
+ share = share[ss.txLen:] | |
+ return ss.peel(share, true) | |
+ } | |
+ return errors.New("failure to parse block data: transaction length exceeded data length") | |
+} | |
+ | |
+// parseMsgShares iterates through raw shares and separates the contiguous chunks | |
+// of data. It is only used for Messages, i.e. shares with a non-reserved namespace. | |
+func parseMsgShares(shares [][]byte) ([]Message, error) { | |
+ if len(shares) == 0 { | |
+ return nil, nil | |
+ } | |
+ | |
+ // set the first nid and current share | |
+ nid := shares[0][:consts.NamespaceSize] | |
+ currentShare := shares[0][consts.NamespaceSize:] | |
+ // find and remove the msg len delimiter | |
+ currentShare, msgLen, err := parseDelimiter(currentShare) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ | |
+ var msgs []Message | |
+ for cursor := uint64(0); cursor < uint64(len(shares)); { | |
+ var msg Message | |
+ currentShare, nid, cursor, msgLen, msg, err = nextMsg( | |
+ shares, | |
+ currentShare, | |
+ nid, | |
+ cursor, | |
+ msgLen, | |
+ ) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ if msg.Data != nil { | |
+ msgs = append(msgs, msg) | |
+ } | |
+ } | |
+ | |
+ return msgs, nil | |
+} | |
+ | |
+func nextMsg( | |
+ shares [][]byte, | |
+ current, | |
+ nid []byte, | |
+ cursor, | |
+ msgLen uint64, | |
+) ([]byte, []byte, uint64, uint64, Message, error) { | |
+ switch { | |
+ // the message uses all of the current share data and at least some of the | |
+ // next share | |
+ case msgLen > uint64(len(current)): | |
+ // add the next share to the current one and try again | |
+ cursor++ | |
+ current = append(current, shares[cursor][consts.NamespaceSize:]...) | |
+ return nextMsg(shares, current, nid, cursor, msgLen) | |
+ | |
+ // the msg we're looking for is contained in the current share | |
+ case msgLen <= uint64(len(current)): | |
+ msg := Message{nid, current[:msgLen]} | |
+ cursor++ | |
+ | |
+ // call it a day if the work is done | |
+ if cursor >= uint64(len(shares)) { | |
+ return nil, nil, cursor, 0, msg, nil | |
+ } | |
+ | |
+ nextNid := shares[cursor][:consts.NamespaceSize] | |
+ next, msgLen, err := parseDelimiter(shares[cursor][consts.NamespaceSize:]) | |
+ return next, nextNid, cursor, msgLen, msg, err | |
+ } | |
+ // this code is unreachable but the compiler doesn't know that | |
+ return nil, nil, 0, 0, Message{}, nil | |
+} | |
+ | |
+// parseDelimiter finds and returns the length delimiter of the message provided | |
+// while also removing the delimiter bytes from the input | |
+func parseDelimiter(input []byte) ([]byte, uint64, error) { | |
+ if len(input) == 0 { | |
+ return input, 0, nil | |
+ } | |
+ | |
+ l := binary.MaxVarintLen64 | |
+ if len(input) < binary.MaxVarintLen64 { | |
+ l = len(input) | |
+ } | |
+ | |
+ delimiter := zeroPadIfNecessary(input[:l], binary.MaxVarintLen64) | |
+ | |
+ // read the length of the message | |
+ r := bytes.NewBuffer(delimiter) | |
+ msgLen, err := binary.ReadUvarint(r) | |
+ if err != nil { | |
+ return nil, 0, err | |
+ } | |
+ | |
+ // calculate the number of bytes used by the delimiter | |
+ lenBuf := make([]byte, binary.MaxVarintLen64) | |
+ n := binary.PutUvarint(lenBuf, msgLen) | |
+ | |
+ // return the input without the length delimiter | |
+ return input[n:], msgLen, nil | |
+} | |
Index: types/share_splitting.go | |
=================================================================== | |
diff --git a/types/share_splitting.go b/types/share_splitting.go | |
new file mode 100644 | |
--- /dev/null (revision 95489ee744795df4774385934ef118689f00c320) | |
+++ b/types/share_splitting.go (revision 95489ee744795df4774385934ef118689f00c320) | |
@@ -0,0 +1,148 @@ | |
+package types | |
+ | |
+import ( | |
+ "bytes" | |
+ | |
+ "github.com/celestiaorg/nmt/namespace" | |
+ "github.com/tendermint/tendermint/pkg/consts" | |
+) | |
+ | |
+// appendToShares appends raw data as shares. | |
+// Used for messages. | |
+func appendToShares(shares []NamespacedShare, nid namespace.ID, rawData []byte) []NamespacedShare { | |
+ if len(rawData) <= consts.MsgShareSize { | |
+ rawShare := append(append( | |
+ make([]byte, 0, len(nid)+len(rawData)), | |
+ nid...), | |
+ rawData..., | |
+ ) | |
+ paddedShare := zeroPadIfNecessary(rawShare, consts.ShareSize) | |
+ share := NamespacedShare{paddedShare, nid} | |
+ shares = append(shares, share) | |
+ } else { // len(rawData) > MsgShareSize | |
+ shares = append(shares, splitMessage(rawData, nid)...) | |
+ } | |
+ return shares | |
+} | |
+ | |
+// splitMessage breaks the data in a message into the minimum number of | |
+// namespaced shares | |
+func splitMessage(rawData []byte, nid namespace.ID) []NamespacedShare { | |
+ shares := make([]NamespacedShare, 0) | |
+ firstRawShare := append(append( | |
+ make([]byte, 0, consts.ShareSize), | |
+ nid...), | |
+ rawData[:consts.MsgShareSize]..., | |
+ ) | |
+ shares = append(shares, NamespacedShare{firstRawShare, nid}) | |
+ rawData = rawData[consts.MsgShareSize:] | |
+ for len(rawData) > 0 { | |
+ shareSizeOrLen := min(consts.MsgShareSize, len(rawData)) | |
+ rawShare := append(append( | |
+ make([]byte, 0, consts.ShareSize), | |
+ nid...), | |
+ rawData[:shareSizeOrLen]..., | |
+ ) | |
+ paddedShare := zeroPadIfNecessary(rawShare, consts.ShareSize) | |
+ share := NamespacedShare{paddedShare, nid} | |
+ shares = append(shares, share) | |
+ rawData = rawData[shareSizeOrLen:] | |
+ } | |
+ return shares | |
+} | |
+ | |
+// splitContiguous splits multiple raw data contiguously as shares. | |
+// Used for transactions, intermediate state roots, and evidence. | |
+func splitContiguous(nid namespace.ID, rawDatas [][]byte) []NamespacedShare { | |
+ shares := make([]NamespacedShare, 0) | |
+ // Index into the outer slice of rawDatas | |
+ outerIndex := 0 | |
+ // Index into the inner slice of rawDatas | |
+ innerIndex := 0 | |
+ for outerIndex < len(rawDatas) { | |
+ var rawData []byte | |
+ startIndex := 0 | |
+ rawData, outerIndex, innerIndex, startIndex = getNextChunk(rawDatas, outerIndex, innerIndex, consts.TxShareSize) | |
+ rawShare := append(append(append( | |
+ make([]byte, 0, len(nid)+1+len(rawData)), | |
+ nid...), | |
+ byte(startIndex)), | |
+ rawData...) | |
+ paddedShare := zeroPadIfNecessary(rawShare, consts.ShareSize) | |
+ share := NamespacedShare{paddedShare, nid} | |
+ shares = append(shares, share) | |
+ } | |
+ return shares | |
+} | |
+ | |
+// getNextChunk gets the next chunk for contiguous shares | |
+// Precondition: none of the slices in rawDatas is zero-length | |
+// This precondition should always hold at this point since zero-length txs are simply invalid. | |
+func getNextChunk(rawDatas [][]byte, outerIndex int, innerIndex int, width int) ([]byte, int, int, int) { | |
+ rawData := make([]byte, 0, width) | |
+ startIndex := 0 | |
+ firstBytesToFetch := 0 | |
+ | |
+ curIndex := 0 | |
+ for curIndex < width && outerIndex < len(rawDatas) { | |
+ bytesToFetch := min(len(rawDatas[outerIndex])-innerIndex, width-curIndex) | |
+ if bytesToFetch == 0 { | |
+ panic("zero-length contiguous share data is invalid") | |
+ } | |
+ if curIndex == 0 { | |
+ firstBytesToFetch = bytesToFetch | |
+ } | |
+ // If we've already placed some data in this chunk, that means | |
+ // a new data segment begins | |
+ if curIndex != 0 { | |
+ // Offset by the fixed reserved bytes at the beginning of the share | |
+ startIndex = firstBytesToFetch + consts.NamespaceSize + consts.ShareReservedBytes | |
+ } | |
+ rawData = append(rawData, rawDatas[outerIndex][innerIndex:innerIndex+bytesToFetch]...) | |
+ innerIndex += bytesToFetch | |
+ if innerIndex >= len(rawDatas[outerIndex]) { | |
+ innerIndex = 0 | |
+ outerIndex++ | |
+ } | |
+ curIndex += bytesToFetch | |
+ } | |
+ | |
+ return rawData, outerIndex, innerIndex, startIndex | |
+} | |
+ | |
+// tail is filler for all tail padded shares | |
+// it is allocated once and used everywhere | |
+var tailPaddingShare = append( | |
+ append(make([]byte, 0, consts.ShareSize), consts.TailPaddingNamespaceID...), | |
+ bytes.Repeat([]byte{0}, consts.ShareSize-consts.NamespaceSize)..., | |
+) | |
+ | |
+func TailPaddingShares(n int) NamespacedShares { | |
+ shares := make([]NamespacedShare, n) | |
+ for i := 0; i < n; i++ { | |
+ shares[i] = NamespacedShare{ | |
+ Share: tailPaddingShare, | |
+ ID: consts.TailPaddingNamespaceID, | |
+ } | |
+ } | |
+ return shares | |
+} | |
+ | |
+func min(a, b int) int { | |
+ if a <= b { | |
+ return a | |
+ } | |
+ return b | |
+} | |
+ | |
+func zeroPadIfNecessary(share []byte, width int) []byte { | |
+ oldLen := len(share) | |
+ if oldLen < width { | |
+ missingBytes := width - oldLen | |
+ padByte := []byte{0} | |
+ padding := bytes.Repeat(padByte, missingBytes) | |
+ share = append(share, padding...) | |
+ return share | |
+ } | |
+ return share | |
+} | |
Index: abci/client/client.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/abci/client/client.go b/abci/client/client.go | |
--- a/abci/client/client.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/abci/client/client.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -46,6 +46,7 @@ | |
OfferSnapshotAsync(context.Context, types.RequestOfferSnapshot) (*ReqRes, error) | |
LoadSnapshotChunkAsync(context.Context, types.RequestLoadSnapshotChunk) (*ReqRes, error) | |
ApplySnapshotChunkAsync(context.Context, types.RequestApplySnapshotChunk) (*ReqRes, error) | |
+ PreprocessTxsAsync(context.Context, types.RequestPreprocessTxs) (*ReqRes, error) | |
// Synchronous requests | |
FlushSync(context.Context) error | |
@@ -62,6 +63,7 @@ | |
OfferSnapshotSync(context.Context, types.RequestOfferSnapshot) (*types.ResponseOfferSnapshot, error) | |
LoadSnapshotChunkSync(context.Context, types.RequestLoadSnapshotChunk) (*types.ResponseLoadSnapshotChunk, error) | |
ApplySnapshotChunkSync(context.Context, types.RequestApplySnapshotChunk) (*types.ResponseApplySnapshotChunk, error) | |
+ PreprocessTxsSync(context.Context, types.RequestPreprocessTxs) (*types.ResponsePreprocessTxs, error) | |
} | |
//---------------------------------------- | |
Index: abci/client/grpc_client.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/abci/client/grpc_client.go b/abci/client/grpc_client.go | |
--- a/abci/client/grpc_client.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/abci/client/grpc_client.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -314,6 +314,15 @@ | |
) | |
} | |
+func (cli *grpcClient) PreprocessTxsAsync(ctx context.Context, params types.RequestPreprocessTxs) (*ReqRes, error) { | |
+ req := types.ToRequestPreprocessTxs(params) | |
+ res, err := cli.client.PreprocessTxs(context.Background(), req.GetPreprocessTxs(), grpc.WaitForReady(true)) | |
+ if err != nil { | |
+ cli.StopForError(err) | |
+ } | |
+ return cli.finishAsyncCall(ctx, req, &types.Response{Value: &types.Response_PreprocessTxs{PreprocessTxs: res}}) | |
+} | |
+ | |
// finishAsyncCall creates a ReqRes for an async call, and immediately populates it | |
// with the response. We don't complete it until it's been ordered via the channel. | |
func (cli *grpcClient) finishAsyncCall(ctx context.Context, req *types.Request, res *types.Response) (*ReqRes, error) { | |
@@ -504,3 +513,15 @@ | |
} | |
return cli.finishSyncCall(reqres).GetApplySnapshotChunk(), cli.Error() | |
} | |
+ | |
+func (cli *grpcClient) PreprocessTxsSync( | |
+ ctx context.Context, | |
+ params types.RequestPreprocessTxs, | |
+) (*types.ResponsePreprocessTxs, error) { | |
+ | |
+ reqres, err := cli.PreprocessTxsAsync(ctx, params) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return reqres.Response.GetPreprocessTxs(), cli.Error() | |
+} | |
Index: abci/client/local_client.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/abci/client/local_client.go b/abci/client/local_client.go | |
--- a/abci/client/local_client.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/abci/client/local_client.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -204,6 +204,17 @@ | |
), nil | |
} | |
+func (app *localClient) PreprocessTxsAsync(ctx context.Context, req types.RequestPreprocessTxs) (*ReqRes, error) { | |
+ app.mtx.Lock() | |
+ defer app.mtx.Unlock() | |
+ | |
+ res := app.Application.PreprocessTxs(req) | |
+ return app.callback( | |
+ types.ToRequestPreprocessTxs(req), | |
+ types.ToResponsePreprocessTx(res), | |
+ ), nil | |
+} | |
+ | |
//------------------------------------------------------- | |
func (app *localClient) FlushSync(ctx context.Context) error { | |
@@ -345,6 +356,17 @@ | |
res := app.Application.ApplySnapshotChunk(req) | |
return &res, nil | |
} | |
+ | |
+func (app *localClient) PreprocessTxsSync( | |
+ ctx context.Context, | |
+ req types.RequestPreprocessTxs, | |
+) (*types.ResponsePreprocessTxs, error) { | |
+ app.mtx.Lock() | |
+ defer app.mtx.Unlock() | |
+ | |
+ res := app.Application.PreprocessTxs(req) | |
+ return &res, nil | |
+} | |
//------------------------------------------------------- | |
Index: abci/client/mocks/client.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/abci/client/mocks/client.go b/abci/client/mocks/client.go | |
--- a/abci/client/mocks/client.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/abci/client/mocks/client.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -669,6 +669,52 @@ | |
_m.Called() | |
} | |
+// PreprocessTxsAsync provides a mock function with given fields: _a0, _a1 | |
+func (_m *Client) PreprocessTxsAsync(_a0 context.Context, _a1 types.RequestPreprocessTxs) (*abcicli.ReqRes, error) { | |
+ ret := _m.Called(_a0, _a1) | |
+ | |
+ var r0 *abcicli.ReqRes | |
+ if rf, ok := ret.Get(0).(func(context.Context, types.RequestPreprocessTxs) *abcicli.ReqRes); ok { | |
+ r0 = rf(_a0, _a1) | |
+ } else { | |
+ if ret.Get(0) != nil { | |
+ r0 = ret.Get(0).(*abcicli.ReqRes) | |
+ } | |
+ } | |
+ | |
+ var r1 error | |
+ if rf, ok := ret.Get(1).(func(context.Context, types.RequestPreprocessTxs) error); ok { | |
+ r1 = rf(_a0, _a1) | |
+ } else { | |
+ r1 = ret.Error(1) | |
+ } | |
+ | |
+ return r0, r1 | |
+} | |
+ | |
+// PreprocessTxsSync provides a mock function with given fields: _a0, _a1 | |
+func (_m *Client) PreprocessTxsSync(_a0 context.Context, _a1 types.RequestPreprocessTxs) (*types.ResponsePreprocessTxs, error) { | |
+ ret := _m.Called(_a0, _a1) | |
+ | |
+ var r0 *types.ResponsePreprocessTxs | |
+ if rf, ok := ret.Get(0).(func(context.Context, types.RequestPreprocessTxs) *types.ResponsePreprocessTxs); ok { | |
+ r0 = rf(_a0, _a1) | |
+ } else { | |
+ if ret.Get(0) != nil { | |
+ r0 = ret.Get(0).(*types.ResponsePreprocessTxs) | |
+ } | |
+ } | |
+ | |
+ var r1 error | |
+ if rf, ok := ret.Get(1).(func(context.Context, types.RequestPreprocessTxs) error); ok { | |
+ r1 = rf(_a0, _a1) | |
+ } else { | |
+ r1 = ret.Error(1) | |
+ } | |
+ | |
+ return r0, r1 | |
+} | |
+ | |
// QueryAsync provides a mock function with given fields: _a0, _a1 | |
func (_m *Client) QueryAsync(_a0 context.Context, _a1 types.RequestQuery) (*abcicli.ReqRes, error) { | |
ret := _m.Called(_a0, _a1) | |
Index: abci/client/socket_client.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/abci/client/socket_client.go b/abci/client/socket_client.go | |
--- a/abci/client/socket_client.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/abci/client/socket_client.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -295,6 +295,10 @@ | |
return cli.queueRequestAsync(ctx, types.ToRequestApplySnapshotChunk(req)) | |
} | |
+func (cli *socketClient) PreprocessTxsAsync(ctx context.Context, req types.RequestPreprocessTxs) (*ReqRes, error) { | |
+ return cli.queueRequestAsync(ctx, types.ToRequestPreprocessTxs(req)) | |
+} | |
+ | |
//---------------------------------------- | |
func (cli *socketClient) FlushSync(ctx context.Context) error { | |
@@ -465,6 +469,17 @@ | |
return reqres.Response.GetApplySnapshotChunk(), nil | |
} | |
+func (cli *socketClient) PreprocessTxsSync( | |
+ ctx context.Context, | |
+ req types.RequestPreprocessTxs, | |
+) (*types.ResponsePreprocessTxs, error) { | |
+ reqres, err := cli.queueRequestAndFlushSync(ctx, types.ToRequestPreprocessTxs(req)) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return reqres.Response.GetPreprocessTxs(), nil | |
+} | |
+ | |
//---------------------------------------- | |
// queueRequest enqueues req onto the queue. If the queue is full, it ether | |
@@ -591,6 +606,8 @@ | |
_, ok = res.Value.(*types.Response_ListSnapshots) | |
case *types.Request_OfferSnapshot: | |
_, ok = res.Value.(*types.Response_OfferSnapshot) | |
+ case *types.Request_PreprocessTxs: | |
+ _, ok = res.Value.(*types.Response_PreprocessTxs) | |
} | |
return ok | |
} | |
Index: abci/example/kvstore/kvstore.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/abci/example/kvstore/kvstore.go b/abci/example/kvstore/kvstore.go | |
--- a/abci/example/kvstore/kvstore.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/abci/example/kvstore/kvstore.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -171,3 +171,8 @@ | |
return resQuery | |
} | |
+ | |
+func (app *Application) PreprocessTxs( | |
+ req types.RequestPreprocessTxs) types.ResponsePreprocessTxs { | |
+ return types.ResponsePreprocessTxs{Txs: req.Txs} | |
+} | |
Index: abci/example/kvstore/persistent_kvstore.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/abci/example/kvstore/persistent_kvstore.go b/abci/example/kvstore/persistent_kvstore.go | |
--- a/abci/example/kvstore/persistent_kvstore.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/abci/example/kvstore/persistent_kvstore.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -170,6 +170,11 @@ | |
return types.ResponseApplySnapshotChunk{Result: types.ResponseApplySnapshotChunk_ABORT} | |
} | |
+func (app *PersistentKVStoreApplication) PreprocessTxs( | |
+ req types.RequestPreprocessTxs) types.ResponsePreprocessTxs { | |
+ return types.ResponsePreprocessTxs{Txs: req.Txs} | |
+} | |
+ | |
//--------------------------------------------- | |
// update validators | |
Index: abci/server/socket_server.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/abci/server/socket_server.go b/abci/server/socket_server.go | |
--- a/abci/server/socket_server.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/abci/server/socket_server.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -233,6 +233,9 @@ | |
case *types.Request_ApplySnapshotChunk: | |
res := s.app.ApplySnapshotChunk(*r.ApplySnapshotChunk) | |
responses <- types.ToResponseApplySnapshotChunk(res) | |
+ case *types.Request_PreprocessTxs: | |
+ res := s.app.PreprocessTxs(*r.PreprocessTxs) | |
+ responses <- types.ToResponsePreprocessTx(res) | |
default: | |
responses <- types.ToResponseException("Unknown request") | |
} | |
Index: abci/types/application.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/abci/types/application.go b/abci/types/application.go | |
--- a/abci/types/application.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/abci/types/application.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -8,6 +8,7 @@ | |
// to be driven by a blockchain-based replication engine via the ABCI. | |
// All methods take a RequestXxx argument and return a ResponseXxx argument, | |
// except CheckTx/DeliverTx, which take `tx []byte`, and `Commit`, which takes nothing. | |
+// nolint:lll // ignore for interface | |
type Application interface { | |
// Info/Query Connection | |
Info(RequestInfo) ResponseInfo // Return application info | |
@@ -17,11 +18,12 @@ | |
CheckTx(RequestCheckTx) ResponseCheckTx // Validate a tx for the mempool | |
// Consensus Connection | |
- InitChain(RequestInitChain) ResponseInitChain // Initialize blockchain w validators/other info from TendermintCore | |
- BeginBlock(RequestBeginBlock) ResponseBeginBlock // Signals the beginning of a block | |
- DeliverTx(RequestDeliverTx) ResponseDeliverTx // Deliver a tx for full processing | |
- EndBlock(RequestEndBlock) ResponseEndBlock // Signals the end of a block, returns changes to the validator set | |
- Commit() ResponseCommit // Commit the state and return the application Merkle root hash | |
+ InitChain(RequestInitChain) ResponseInitChain // Initialize blockchain w validators/other info from TendermintCore | |
+ BeginBlock(RequestBeginBlock) ResponseBeginBlock // Signals the beginning of a block | |
+ DeliverTx(RequestDeliverTx) ResponseDeliverTx // Deliver a tx for full processing | |
+ EndBlock(RequestEndBlock) ResponseEndBlock // Signals the end of a block, returns changes to the validator set | |
+ Commit() ResponseCommit // Commit the state and return the application Merkle root hash | |
+ PreprocessTxs(RequestPreprocessTxs) ResponsePreprocessTxs // State machine preprocessing of txs | |
// State Sync Connection | |
ListSnapshots(RequestListSnapshots) ResponseListSnapshots // List available snapshots | |
@@ -90,6 +92,10 @@ | |
return ResponseApplySnapshotChunk{} | |
} | |
+func (BaseApplication) PreprocessTxs(req RequestPreprocessTxs) ResponsePreprocessTxs { | |
+ return ResponsePreprocessTxs{} | |
+} | |
+ | |
//------------------------------------------------------- | |
// GRPCApplication is a GRPC wrapper for Application | |
@@ -172,3 +178,9 @@ | |
res := app.app.ApplySnapshotChunk(*req) | |
return &res, nil | |
} | |
+ | |
+func (app *GRPCApplication) PreprocessTxs( | |
+ ctx context.Context, req *RequestPreprocessTxs) (*ResponsePreprocessTxs, error) { | |
+ res := app.app.PreprocessTxs(*req) | |
+ return &res, nil | |
+} | |
Index: abci/types/messages.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/abci/types/messages.go b/abci/types/messages.go | |
--- a/abci/types/messages.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/abci/types/messages.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -110,6 +110,12 @@ | |
} | |
} | |
+func ToRequestPreprocessTxs(res RequestPreprocessTxs) *Request { | |
+ return &Request{ | |
+ Value: &Request_PreprocessTxs{&res}, | |
+ } | |
+} | |
+ | |
//---------------------------------------- | |
func ToResponseException(errStr string) *Response { | |
@@ -200,3 +206,9 @@ | |
Value: &Response_ApplySnapshotChunk{&res}, | |
} | |
} | |
+ | |
+func ToResponsePreprocessTx(res ResponsePreprocessTxs) *Response { | |
+ return &Response{ | |
+ Value: &Response_PreprocessTxs{&res}, | |
+ } | |
+} | |
Index: abci/types/types.pb.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/abci/types/types.pb.go b/abci/types/types.pb.go | |
--- a/abci/types/types.pb.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/abci/types/types.pb.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -120,7 +120,7 @@ | |
} | |
func (ResponseOfferSnapshot_Result) EnumDescriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{28, 0} | |
+ return fileDescriptor_252557cfdd89a31a, []int{29, 0} | |
} | |
type ResponseApplySnapshotChunk_Result int32 | |
@@ -157,7 +157,7 @@ | |
} | |
func (ResponseApplySnapshotChunk_Result) EnumDescriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{30, 0} | |
+ return fileDescriptor_252557cfdd89a31a, []int{31, 0} | |
} | |
type Request struct { | |
@@ -176,6 +176,7 @@ | |
// *Request_OfferSnapshot | |
// *Request_LoadSnapshotChunk | |
// *Request_ApplySnapshotChunk | |
+ // *Request_PreprocessTxs | |
Value isRequest_Value `protobuf_oneof:"value"` | |
} | |
@@ -260,6 +261,9 @@ | |
type Request_ApplySnapshotChunk struct { | |
ApplySnapshotChunk *RequestApplySnapshotChunk `protobuf:"bytes,14,opt,name=apply_snapshot_chunk,json=applySnapshotChunk,proto3,oneof" json:"apply_snapshot_chunk,omitempty"` | |
} | |
+type Request_PreprocessTxs struct { | |
+ PreprocessTxs *RequestPreprocessTxs `protobuf:"bytes,15,opt,name=preprocess_txs,json=preprocessTxs,proto3,oneof" json:"preprocess_txs,omitempty"` | |
+} | |
func (*Request_Echo) isRequest_Value() {} | |
func (*Request_Flush) isRequest_Value() {} | |
@@ -275,6 +279,7 @@ | |
func (*Request_OfferSnapshot) isRequest_Value() {} | |
func (*Request_LoadSnapshotChunk) isRequest_Value() {} | |
func (*Request_ApplySnapshotChunk) isRequest_Value() {} | |
+func (*Request_PreprocessTxs) isRequest_Value() {} | |
func (m *Request) GetValue() isRequest_Value { | |
if m != nil { | |
@@ -380,6 +385,13 @@ | |
} | |
return nil | |
} | |
+ | |
+func (m *Request) GetPreprocessTxs() *RequestPreprocessTxs { | |
+ if x, ok := m.GetValue().(*Request_PreprocessTxs); ok { | |
+ return x.PreprocessTxs | |
+ } | |
+ return nil | |
+} | |
// XXX_OneofWrappers is for the internal use of the proto package. | |
func (*Request) XXX_OneofWrappers() []interface{} { | |
@@ -398,6 +410,7 @@ | |
(*Request_OfferSnapshot)(nil), | |
(*Request_LoadSnapshotChunk)(nil), | |
(*Request_ApplySnapshotChunk)(nil), | |
+ (*Request_PreprocessTxs)(nil), | |
} | |
} | |
@@ -1157,6 +1170,50 @@ | |
return "" | |
} | |
+type RequestPreprocessTxs struct { | |
+ Txs [][]byte `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` | |
+} | |
+ | |
+func (m *RequestPreprocessTxs) Reset() { *m = RequestPreprocessTxs{} } | |
+func (m *RequestPreprocessTxs) String() string { return proto.CompactTextString(m) } | |
+func (*RequestPreprocessTxs) ProtoMessage() {} | |
+func (*RequestPreprocessTxs) Descriptor() ([]byte, []int) { | |
+ return fileDescriptor_252557cfdd89a31a, []int{15} | |
+} | |
+func (m *RequestPreprocessTxs) XXX_Unmarshal(b []byte) error { | |
+ return m.Unmarshal(b) | |
+} | |
+func (m *RequestPreprocessTxs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
+ if deterministic { | |
+ return xxx_messageInfo_RequestPreprocessTxs.Marshal(b, m, deterministic) | |
+ } else { | |
+ b = b[:cap(b)] | |
+ n, err := m.MarshalToSizedBuffer(b) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return b[:n], nil | |
+ } | |
+} | |
+func (m *RequestPreprocessTxs) XXX_Merge(src proto.Message) { | |
+ xxx_messageInfo_RequestPreprocessTxs.Merge(m, src) | |
+} | |
+func (m *RequestPreprocessTxs) XXX_Size() int { | |
+ return m.Size() | |
+} | |
+func (m *RequestPreprocessTxs) XXX_DiscardUnknown() { | |
+ xxx_messageInfo_RequestPreprocessTxs.DiscardUnknown(m) | |
+} | |
+ | |
+var xxx_messageInfo_RequestPreprocessTxs proto.InternalMessageInfo | |
+ | |
+func (m *RequestPreprocessTxs) GetTxs() [][]byte { | |
+ if m != nil { | |
+ return m.Txs | |
+ } | |
+ return nil | |
+} | |
+ | |
type Response struct { | |
// Types that are valid to be assigned to Value: | |
// *Response_Exception | |
@@ -1174,6 +1231,7 @@ | |
// *Response_OfferSnapshot | |
// *Response_LoadSnapshotChunk | |
// *Response_ApplySnapshotChunk | |
+ // *Response_PreprocessTxs | |
Value isResponse_Value `protobuf_oneof:"value"` | |
} | |
@@ -1181,7 +1239,7 @@ | |
func (m *Response) String() string { return proto.CompactTextString(m) } | |
func (*Response) ProtoMessage() {} | |
func (*Response) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{15} | |
+ return fileDescriptor_252557cfdd89a31a, []int{16} | |
} | |
func (m *Response) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -1261,6 +1319,9 @@ | |
type Response_ApplySnapshotChunk struct { | |
ApplySnapshotChunk *ResponseApplySnapshotChunk `protobuf:"bytes,15,opt,name=apply_snapshot_chunk,json=applySnapshotChunk,proto3,oneof" json:"apply_snapshot_chunk,omitempty"` | |
} | |
+type Response_PreprocessTxs struct { | |
+ PreprocessTxs *ResponsePreprocessTxs `protobuf:"bytes,16,opt,name=preprocess_txs,json=preprocessTxs,proto3,oneof" json:"preprocess_txs,omitempty"` | |
+} | |
func (*Response_Exception) isResponse_Value() {} | |
func (*Response_Echo) isResponse_Value() {} | |
@@ -1277,6 +1338,7 @@ | |
func (*Response_OfferSnapshot) isResponse_Value() {} | |
func (*Response_LoadSnapshotChunk) isResponse_Value() {} | |
func (*Response_ApplySnapshotChunk) isResponse_Value() {} | |
+func (*Response_PreprocessTxs) isResponse_Value() {} | |
func (m *Response) GetValue() isResponse_Value { | |
if m != nil { | |
@@ -1389,6 +1451,13 @@ | |
} | |
return nil | |
} | |
+ | |
+func (m *Response) GetPreprocessTxs() *ResponsePreprocessTxs { | |
+ if x, ok := m.GetValue().(*Response_PreprocessTxs); ok { | |
+ return x.PreprocessTxs | |
+ } | |
+ return nil | |
+} | |
// XXX_OneofWrappers is for the internal use of the proto package. | |
func (*Response) XXX_OneofWrappers() []interface{} { | |
@@ -1408,6 +1477,7 @@ | |
(*Response_OfferSnapshot)(nil), | |
(*Response_LoadSnapshotChunk)(nil), | |
(*Response_ApplySnapshotChunk)(nil), | |
+ (*Response_PreprocessTxs)(nil), | |
} | |
} | |
@@ -1420,7 +1490,7 @@ | |
func (m *ResponseException) String() string { return proto.CompactTextString(m) } | |
func (*ResponseException) ProtoMessage() {} | |
func (*ResponseException) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{16} | |
+ return fileDescriptor_252557cfdd89a31a, []int{17} | |
} | |
func (m *ResponseException) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -1464,7 +1534,7 @@ | |
func (m *ResponseEcho) String() string { return proto.CompactTextString(m) } | |
func (*ResponseEcho) ProtoMessage() {} | |
func (*ResponseEcho) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{17} | |
+ return fileDescriptor_252557cfdd89a31a, []int{18} | |
} | |
func (m *ResponseEcho) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -1507,7 +1577,7 @@ | |
func (m *ResponseFlush) String() string { return proto.CompactTextString(m) } | |
func (*ResponseFlush) ProtoMessage() {} | |
func (*ResponseFlush) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{18} | |
+ return fileDescriptor_252557cfdd89a31a, []int{19} | |
} | |
func (m *ResponseFlush) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -1549,7 +1619,7 @@ | |
func (m *ResponseInfo) String() string { return proto.CompactTextString(m) } | |
func (*ResponseInfo) ProtoMessage() {} | |
func (*ResponseInfo) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{19} | |
+ return fileDescriptor_252557cfdd89a31a, []int{20} | |
} | |
func (m *ResponseInfo) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -1623,7 +1693,7 @@ | |
func (m *ResponseInitChain) String() string { return proto.CompactTextString(m) } | |
func (*ResponseInitChain) ProtoMessage() {} | |
func (*ResponseInitChain) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{20} | |
+ return fileDescriptor_252557cfdd89a31a, []int{21} | |
} | |
func (m *ResponseInitChain) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -1690,7 +1760,7 @@ | |
func (m *ResponseQuery) String() string { return proto.CompactTextString(m) } | |
func (*ResponseQuery) ProtoMessage() {} | |
func (*ResponseQuery) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{21} | |
+ return fileDescriptor_252557cfdd89a31a, []int{22} | |
} | |
func (m *ResponseQuery) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -1790,7 +1860,7 @@ | |
func (m *ResponseBeginBlock) String() string { return proto.CompactTextString(m) } | |
func (*ResponseBeginBlock) ProtoMessage() {} | |
func (*ResponseBeginBlock) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{22} | |
+ return fileDescriptor_252557cfdd89a31a, []int{23} | |
} | |
func (m *ResponseBeginBlock) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -1846,7 +1916,7 @@ | |
func (m *ResponseCheckTx) String() string { return proto.CompactTextString(m) } | |
func (*ResponseCheckTx) ProtoMessage() {} | |
func (*ResponseCheckTx) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{23} | |
+ return fileDescriptor_252557cfdd89a31a, []int{24} | |
} | |
func (m *ResponseCheckTx) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -1967,7 +2037,7 @@ | |
func (m *ResponseDeliverTx) String() string { return proto.CompactTextString(m) } | |
func (*ResponseDeliverTx) ProtoMessage() {} | |
func (*ResponseDeliverTx) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{24} | |
+ return fileDescriptor_252557cfdd89a31a, []int{25} | |
} | |
func (m *ResponseDeliverTx) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2062,7 +2132,7 @@ | |
func (m *ResponseEndBlock) String() string { return proto.CompactTextString(m) } | |
func (*ResponseEndBlock) ProtoMessage() {} | |
func (*ResponseEndBlock) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{25} | |
+ return fileDescriptor_252557cfdd89a31a, []int{26} | |
} | |
func (m *ResponseEndBlock) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2122,7 +2192,7 @@ | |
func (m *ResponseCommit) String() string { return proto.CompactTextString(m) } | |
func (*ResponseCommit) ProtoMessage() {} | |
func (*ResponseCommit) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{26} | |
+ return fileDescriptor_252557cfdd89a31a, []int{27} | |
} | |
func (m *ResponseCommit) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2173,7 +2243,7 @@ | |
func (m *ResponseListSnapshots) String() string { return proto.CompactTextString(m) } | |
func (*ResponseListSnapshots) ProtoMessage() {} | |
func (*ResponseListSnapshots) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{27} | |
+ return fileDescriptor_252557cfdd89a31a, []int{28} | |
} | |
func (m *ResponseListSnapshots) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2217,7 +2287,7 @@ | |
func (m *ResponseOfferSnapshot) String() string { return proto.CompactTextString(m) } | |
func (*ResponseOfferSnapshot) ProtoMessage() {} | |
func (*ResponseOfferSnapshot) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{28} | |
+ return fileDescriptor_252557cfdd89a31a, []int{29} | |
} | |
func (m *ResponseOfferSnapshot) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2261,7 +2331,7 @@ | |
func (m *ResponseLoadSnapshotChunk) String() string { return proto.CompactTextString(m) } | |
func (*ResponseLoadSnapshotChunk) ProtoMessage() {} | |
func (*ResponseLoadSnapshotChunk) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{29} | |
+ return fileDescriptor_252557cfdd89a31a, []int{30} | |
} | |
func (m *ResponseLoadSnapshotChunk) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2307,7 +2377,7 @@ | |
func (m *ResponseApplySnapshotChunk) String() string { return proto.CompactTextString(m) } | |
func (*ResponseApplySnapshotChunk) ProtoMessage() {} | |
func (*ResponseApplySnapshotChunk) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{30} | |
+ return fileDescriptor_252557cfdd89a31a, []int{31} | |
} | |
func (m *ResponseApplySnapshotChunk) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2357,6 +2427,58 @@ | |
return nil | |
} | |
+type ResponsePreprocessTxs struct { | |
+ Txs [][]byte `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` | |
+ Messages *types1.Messages `protobuf:"bytes,2,opt,name=messages,proto3" json:"messages,omitempty"` | |
+} | |
+ | |
+func (m *ResponsePreprocessTxs) Reset() { *m = ResponsePreprocessTxs{} } | |
+func (m *ResponsePreprocessTxs) String() string { return proto.CompactTextString(m) } | |
+func (*ResponsePreprocessTxs) ProtoMessage() {} | |
+func (*ResponsePreprocessTxs) Descriptor() ([]byte, []int) { | |
+ return fileDescriptor_252557cfdd89a31a, []int{32} | |
+} | |
+func (m *ResponsePreprocessTxs) XXX_Unmarshal(b []byte) error { | |
+ return m.Unmarshal(b) | |
+} | |
+func (m *ResponsePreprocessTxs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
+ if deterministic { | |
+ return xxx_messageInfo_ResponsePreprocessTxs.Marshal(b, m, deterministic) | |
+ } else { | |
+ b = b[:cap(b)] | |
+ n, err := m.MarshalToSizedBuffer(b) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return b[:n], nil | |
+ } | |
+} | |
+func (m *ResponsePreprocessTxs) XXX_Merge(src proto.Message) { | |
+ xxx_messageInfo_ResponsePreprocessTxs.Merge(m, src) | |
+} | |
+func (m *ResponsePreprocessTxs) XXX_Size() int { | |
+ return m.Size() | |
+} | |
+func (m *ResponsePreprocessTxs) XXX_DiscardUnknown() { | |
+ xxx_messageInfo_ResponsePreprocessTxs.DiscardUnknown(m) | |
+} | |
+ | |
+var xxx_messageInfo_ResponsePreprocessTxs proto.InternalMessageInfo | |
+ | |
+func (m *ResponsePreprocessTxs) GetTxs() [][]byte { | |
+ if m != nil { | |
+ return m.Txs | |
+ } | |
+ return nil | |
+} | |
+ | |
+func (m *ResponsePreprocessTxs) GetMessages() *types1.Messages { | |
+ if m != nil { | |
+ return m.Messages | |
+ } | |
+ return nil | |
+} | |
+ | |
type LastCommitInfo struct { | |
Round int32 `protobuf:"varint,1,opt,name=round,proto3" json:"round,omitempty"` | |
Votes []VoteInfo `protobuf:"bytes,2,rep,name=votes,proto3" json:"votes"` | |
@@ -2366,7 +2488,7 @@ | |
func (m *LastCommitInfo) String() string { return proto.CompactTextString(m) } | |
func (*LastCommitInfo) ProtoMessage() {} | |
func (*LastCommitInfo) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{31} | |
+ return fileDescriptor_252557cfdd89a31a, []int{33} | |
} | |
func (m *LastCommitInfo) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2421,7 +2543,7 @@ | |
func (m *Event) String() string { return proto.CompactTextString(m) } | |
func (*Event) ProtoMessage() {} | |
func (*Event) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{32} | |
+ return fileDescriptor_252557cfdd89a31a, []int{34} | |
} | |
func (m *Event) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2475,7 +2597,7 @@ | |
func (m *EventAttribute) String() string { return proto.CompactTextString(m) } | |
func (*EventAttribute) ProtoMessage() {} | |
func (*EventAttribute) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{33} | |
+ return fileDescriptor_252557cfdd89a31a, []int{35} | |
} | |
func (m *EventAttribute) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2539,7 +2661,7 @@ | |
func (m *TxResult) String() string { return proto.CompactTextString(m) } | |
func (*TxResult) ProtoMessage() {} | |
func (*TxResult) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{34} | |
+ return fileDescriptor_252557cfdd89a31a, []int{36} | |
} | |
func (m *TxResult) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2607,7 +2729,7 @@ | |
func (m *Validator) String() string { return proto.CompactTextString(m) } | |
func (*Validator) ProtoMessage() {} | |
func (*Validator) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{35} | |
+ return fileDescriptor_252557cfdd89a31a, []int{37} | |
} | |
func (m *Validator) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2660,7 +2782,7 @@ | |
func (m *ValidatorUpdate) String() string { return proto.CompactTextString(m) } | |
func (*ValidatorUpdate) ProtoMessage() {} | |
func (*ValidatorUpdate) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{36} | |
+ return fileDescriptor_252557cfdd89a31a, []int{38} | |
} | |
func (m *ValidatorUpdate) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2713,7 +2835,7 @@ | |
func (m *VoteInfo) String() string { return proto.CompactTextString(m) } | |
func (*VoteInfo) ProtoMessage() {} | |
func (*VoteInfo) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{37} | |
+ return fileDescriptor_252557cfdd89a31a, []int{39} | |
} | |
func (m *VoteInfo) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2774,7 +2896,7 @@ | |
func (m *Evidence) String() string { return proto.CompactTextString(m) } | |
func (*Evidence) ProtoMessage() {} | |
func (*Evidence) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{38} | |
+ return fileDescriptor_252557cfdd89a31a, []int{40} | |
} | |
func (m *Evidence) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2850,7 +2972,7 @@ | |
func (m *Snapshot) String() string { return proto.CompactTextString(m) } | |
func (*Snapshot) ProtoMessage() {} | |
func (*Snapshot) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_252557cfdd89a31a, []int{39} | |
+ return fileDescriptor_252557cfdd89a31a, []int{41} | |
} | |
func (m *Snapshot) XXX_Unmarshal(b []byte) error { | |
return m.Unmarshal(b) | |
@@ -2934,6 +3056,7 @@ | |
proto.RegisterType((*RequestOfferSnapshot)(nil), "tendermint.abci.RequestOfferSnapshot") | |
proto.RegisterType((*RequestLoadSnapshotChunk)(nil), "tendermint.abci.RequestLoadSnapshotChunk") | |
proto.RegisterType((*RequestApplySnapshotChunk)(nil), "tendermint.abci.RequestApplySnapshotChunk") | |
+ proto.RegisterType((*RequestPreprocessTxs)(nil), "tendermint.abci.RequestPreprocessTxs") | |
proto.RegisterType((*Response)(nil), "tendermint.abci.Response") | |
proto.RegisterType((*ResponseException)(nil), "tendermint.abci.ResponseException") | |
proto.RegisterType((*ResponseEcho)(nil), "tendermint.abci.ResponseEcho") | |
@@ -2950,6 +3073,7 @@ | |
proto.RegisterType((*ResponseOfferSnapshot)(nil), "tendermint.abci.ResponseOfferSnapshot") | |
proto.RegisterType((*ResponseLoadSnapshotChunk)(nil), "tendermint.abci.ResponseLoadSnapshotChunk") | |
proto.RegisterType((*ResponseApplySnapshotChunk)(nil), "tendermint.abci.ResponseApplySnapshotChunk") | |
+ proto.RegisterType((*ResponsePreprocessTxs)(nil), "tendermint.abci.ResponsePreprocessTxs") | |
proto.RegisterType((*LastCommitInfo)(nil), "tendermint.abci.LastCommitInfo") | |
proto.RegisterType((*Event)(nil), "tendermint.abci.Event") | |
proto.RegisterType((*EventAttribute)(nil), "tendermint.abci.EventAttribute") | |
@@ -2964,172 +3088,177 @@ | |
func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } | |
var fileDescriptor_252557cfdd89a31a = []byte{ | |
- // 2627 bytes of a gzipped FileDescriptorProto | |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0xcd, 0x73, 0xdb, 0xc6, | |
- 0x15, 0xe7, 0x37, 0x89, 0x47, 0x91, 0xa2, 0xd6, 0x8a, 0x43, 0x33, 0xb6, 0xe4, 0xc0, 0xe3, 0x34, | |
- 0x76, 0x12, 0xa9, 0x91, 0xc7, 0xae, 0x33, 0xe9, 0x47, 0x44, 0x9a, 0x2e, 0x15, 0xab, 0x92, 0xba, | |
- 0xa2, 0x9d, 0x49, 0xdb, 0x18, 0x01, 0x89, 0x15, 0x89, 0x98, 0x04, 0x10, 0x60, 0x29, 0x4b, 0x39, | |
- 0x76, 0xda, 0x8b, 0xa7, 0x07, 0x1f, 0x7b, 0xc9, 0x4c, 0xff, 0x83, 0x5e, 0x7b, 0xea, 0xa9, 0x87, | |
- 0x1c, 0xda, 0x99, 0x1c, 0x7b, 0xe8, 0xa4, 0x1d, 0xfb, 0xd6, 0x7f, 0xa0, 0xa7, 0xce, 0x74, 0xf6, | |
- 0x03, 0x20, 0x40, 0x12, 0x22, 0xd5, 0xf4, 0xd6, 0xdb, 0xee, 0xc3, 0x7b, 0x8f, 0xbb, 0x6f, 0xf7, | |
- 0xfd, 0xf6, 0xb7, 0x6f, 0x09, 0xaf, 0x51, 0x62, 0x19, 0xc4, 0x1d, 0x9a, 0x16, 0xdd, 0xd4, 0x3b, | |
- 0x5d, 0x73, 0x93, 0x9e, 0x3a, 0xc4, 0xdb, 0x70, 0x5c, 0x9b, 0xda, 0x68, 0x79, 0xfc, 0x71, 0x83, | |
- 0x7d, 0xac, 0x5d, 0x09, 0x69, 0x77, 0xdd, 0x53, 0x87, 0xda, 0x9b, 0x8e, 0x6b, 0xdb, 0x47, 0x42, | |
- 0xbf, 0x76, 0x39, 0xf4, 0x99, 0xfb, 0x09, 0x7b, 0x8b, 0x7c, 0x95, 0xc6, 0x4f, 0xc8, 0xa9, 0xff, | |
- 0xf5, 0xca, 0x94, 0xad, 0xa3, 0xbb, 0xfa, 0xd0, 0xff, 0xbc, 0xde, 0xb3, 0xed, 0xde, 0x80, 0x6c, | |
- 0xf2, 0x5e, 0x67, 0x74, 0xb4, 0x49, 0xcd, 0x21, 0xf1, 0xa8, 0x3e, 0x74, 0xa4, 0xc2, 0x6a, 0xcf, | |
- 0xee, 0xd9, 0xbc, 0xb9, 0xc9, 0x5a, 0x42, 0xaa, 0xfe, 0x25, 0x0f, 0x79, 0x4c, 0x3e, 0x1f, 0x11, | |
- 0x8f, 0xa2, 0x2d, 0xc8, 0x90, 0x6e, 0xdf, 0xae, 0x26, 0xaf, 0x26, 0xdf, 0x2c, 0x6e, 0x5d, 0xde, | |
- 0x98, 0x98, 0xdc, 0x86, 0xd4, 0x6b, 0x76, 0xfb, 0x76, 0x2b, 0x81, 0xb9, 0x2e, 0xba, 0x0d, 0xd9, | |
- 0xa3, 0xc1, 0xc8, 0xeb, 0x57, 0x53, 0xdc, 0xe8, 0x4a, 0x9c, 0xd1, 0x7d, 0xa6, 0xd4, 0x4a, 0x60, | |
- 0xa1, 0xcd, 0x7e, 0xca, 0xb4, 0x8e, 0xec, 0x6a, 0xfa, 0xec, 0x9f, 0xda, 0xb1, 0x8e, 0xf8, 0x4f, | |
- 0x31, 0x5d, 0x54, 0x07, 0x30, 0x2d, 0x93, 0x6a, 0xdd, 0xbe, 0x6e, 0x5a, 0xd5, 0x0c, 0xb7, 0x7c, | |
- 0x3d, 0xde, 0xd2, 0xa4, 0x0d, 0xa6, 0xd8, 0x4a, 0x60, 0xc5, 0xf4, 0x3b, 0x6c, 0xb8, 0x9f, 0x8f, | |
- 0x88, 0x7b, 0x5a, 0xcd, 0x9e, 0x3d, 0xdc, 0x9f, 0x32, 0x25, 0x36, 0x5c, 0xae, 0x8d, 0x9a, 0x50, | |
- 0xec, 0x90, 0x9e, 0x69, 0x69, 0x9d, 0x81, 0xdd, 0x7d, 0x52, 0xcd, 0x71, 0x63, 0x35, 0xce, 0xb8, | |
- 0xce, 0x54, 0xeb, 0x4c, 0xb3, 0x95, 0xc0, 0xd0, 0x09, 0x7a, 0xe8, 0xfb, 0x50, 0xe8, 0xf6, 0x49, | |
- 0xf7, 0x89, 0x46, 0x4f, 0xaa, 0x79, 0xee, 0x63, 0x3d, 0xce, 0x47, 0x83, 0xe9, 0xb5, 0x4f, 0x5a, | |
- 0x09, 0x9c, 0xef, 0x8a, 0x26, 0x9b, 0xbf, 0x41, 0x06, 0xe6, 0x31, 0x71, 0x99, 0x7d, 0xe1, 0xec, | |
- 0xf9, 0xdf, 0x13, 0x9a, 0xdc, 0x83, 0x62, 0xf8, 0x1d, 0xf4, 0x23, 0x50, 0x88, 0x65, 0xc8, 0x69, | |
- 0x28, 0xdc, 0xc5, 0xd5, 0xd8, 0x75, 0xb6, 0x0c, 0x7f, 0x12, 0x05, 0x22, 0xdb, 0xe8, 0x2e, 0xe4, | |
- 0xba, 0xf6, 0x70, 0x68, 0xd2, 0x2a, 0x70, 0xeb, 0xb5, 0xd8, 0x09, 0x70, 0xad, 0x56, 0x02, 0x4b, | |
- 0x7d, 0xb4, 0x07, 0xe5, 0x81, 0xe9, 0x51, 0xcd, 0xb3, 0x74, 0xc7, 0xeb, 0xdb, 0xd4, 0xab, 0x16, | |
- 0xb9, 0x87, 0xeb, 0x71, 0x1e, 0x76, 0x4d, 0x8f, 0x1e, 0xfa, 0xca, 0xad, 0x04, 0x2e, 0x0d, 0xc2, | |
- 0x02, 0xe6, 0xcf, 0x3e, 0x3a, 0x22, 0x6e, 0xe0, 0xb0, 0xba, 0x74, 0xb6, 0xbf, 0x7d, 0xa6, 0xed, | |
- 0xdb, 0x33, 0x7f, 0x76, 0x58, 0x80, 0x7e, 0x0e, 0x17, 0x06, 0xb6, 0x6e, 0x04, 0xee, 0xb4, 0x6e, | |
- 0x7f, 0x64, 0x3d, 0xa9, 0x96, 0xb8, 0xd3, 0x1b, 0xb1, 0x83, 0xb4, 0x75, 0xc3, 0x77, 0xd1, 0x60, | |
- 0x06, 0xad, 0x04, 0x5e, 0x19, 0x4c, 0x0a, 0xd1, 0x63, 0x58, 0xd5, 0x1d, 0x67, 0x70, 0x3a, 0xe9, | |
- 0xbd, 0xcc, 0xbd, 0xdf, 0x8c, 0xf3, 0xbe, 0xcd, 0x6c, 0x26, 0xdd, 0x23, 0x7d, 0x4a, 0x5a, 0xcf, | |
- 0x43, 0xf6, 0x58, 0x1f, 0x8c, 0x88, 0xfa, 0x1d, 0x28, 0x86, 0xd2, 0x14, 0x55, 0x21, 0x3f, 0x24, | |
- 0x9e, 0xa7, 0xf7, 0x08, 0xcf, 0x6a, 0x05, 0xfb, 0x5d, 0xb5, 0x0c, 0x4b, 0xe1, 0xd4, 0x54, 0x9f, | |
- 0x27, 0x03, 0x4b, 0x96, 0x75, 0xcc, 0xf2, 0x98, 0xb8, 0x9e, 0x69, 0x5b, 0xbe, 0xa5, 0xec, 0xa2, | |
- 0x6b, 0x50, 0xe2, 0xfb, 0x47, 0xf3, 0xbf, 0xb3, 0xd4, 0xcf, 0xe0, 0x25, 0x2e, 0x7c, 0x24, 0x95, | |
- 0xd6, 0xa1, 0xe8, 0x6c, 0x39, 0x81, 0x4a, 0x9a, 0xab, 0x80, 0xb3, 0xe5, 0xf8, 0x0a, 0xaf, 0xc3, | |
- 0x12, 0x9b, 0x69, 0xa0, 0x91, 0xe1, 0x3f, 0x52, 0x64, 0x32, 0xa9, 0xa2, 0xfe, 0x39, 0x05, 0x95, | |
- 0xc9, 0x74, 0x46, 0x77, 0x21, 0xc3, 0x90, 0x4d, 0x82, 0x54, 0x6d, 0x43, 0xc0, 0xde, 0x86, 0x0f, | |
- 0x7b, 0x1b, 0x6d, 0x1f, 0xf6, 0xea, 0x85, 0xaf, 0xbe, 0x59, 0x4f, 0x3c, 0xff, 0xfb, 0x7a, 0x12, | |
- 0x73, 0x0b, 0x74, 0x89, 0x65, 0x9f, 0x6e, 0x5a, 0x9a, 0x69, 0xf0, 0x21, 0x2b, 0x2c, 0xb5, 0x74, | |
- 0xd3, 0xda, 0x31, 0xd0, 0x2e, 0x54, 0xba, 0xb6, 0xe5, 0x11, 0xcb, 0x1b, 0x79, 0x9a, 0x80, 0x55, | |
- 0x09, 0x4d, 0x91, 0x04, 0x13, 0x60, 0xdd, 0xf0, 0x35, 0x0f, 0xb8, 0x22, 0x5e, 0xee, 0x46, 0x05, | |
- 0xe8, 0x3e, 0xc0, 0xb1, 0x3e, 0x30, 0x0d, 0x9d, 0xda, 0xae, 0x57, 0xcd, 0x5c, 0x4d, 0xcf, 0xcc, | |
- 0xb2, 0x47, 0xbe, 0xca, 0x43, 0xc7, 0xd0, 0x29, 0xa9, 0x67, 0xd8, 0x70, 0x71, 0xc8, 0x12, 0xbd, | |
- 0x01, 0xcb, 0xba, 0xe3, 0x68, 0x1e, 0xd5, 0x29, 0xd1, 0x3a, 0xa7, 0x94, 0x78, 0x1c, 0xb6, 0x96, | |
- 0x70, 0x49, 0x77, 0x9c, 0x43, 0x26, 0xad, 0x33, 0x21, 0xba, 0x0e, 0x65, 0x86, 0x70, 0xa6, 0x3e, | |
- 0xd0, 0xfa, 0xc4, 0xec, 0xf5, 0x29, 0x07, 0xa8, 0x34, 0x2e, 0x49, 0x69, 0x8b, 0x0b, 0x55, 0x23, | |
- 0x58, 0x71, 0x8e, 0x6e, 0x08, 0x41, 0xc6, 0xd0, 0xa9, 0xce, 0x23, 0xb9, 0x84, 0x79, 0x9b, 0xc9, | |
- 0x1c, 0x9d, 0xf6, 0x65, 0x7c, 0x78, 0x1b, 0x5d, 0x84, 0x9c, 0x74, 0x9b, 0xe6, 0x6e, 0x65, 0x0f, | |
- 0xad, 0x42, 0xd6, 0x71, 0xed, 0x63, 0xc2, 0x97, 0xae, 0x80, 0x45, 0x47, 0xfd, 0x55, 0x0a, 0x56, | |
- 0xa6, 0x70, 0x90, 0xf9, 0xed, 0xeb, 0x5e, 0xdf, 0xff, 0x2d, 0xd6, 0x46, 0x77, 0x98, 0x5f, 0xdd, | |
- 0x20, 0xae, 0x3c, 0x3b, 0xaa, 0xd3, 0xa1, 0x6e, 0xf1, 0xef, 0x32, 0x34, 0x52, 0x1b, 0xed, 0x43, | |
- 0x65, 0xa0, 0x7b, 0x54, 0x13, 0xb8, 0xa2, 0x85, 0xce, 0x91, 0x69, 0x34, 0xdd, 0xd5, 0x7d, 0x24, | |
- 0x62, 0x9b, 0x5a, 0x3a, 0x2a, 0x0f, 0x22, 0x52, 0x84, 0x61, 0xb5, 0x73, 0xfa, 0x85, 0x6e, 0x51, | |
- 0xd3, 0x22, 0xda, 0xd4, 0xca, 0x5d, 0x9a, 0x72, 0xda, 0x3c, 0x36, 0x0d, 0x62, 0x75, 0xfd, 0x25, | |
- 0xbb, 0x10, 0x18, 0x07, 0x4b, 0xea, 0xa9, 0x18, 0xca, 0x51, 0x24, 0x47, 0x65, 0x48, 0xd1, 0x13, | |
- 0x19, 0x80, 0x14, 0x3d, 0x41, 0xdf, 0x85, 0x0c, 0x9b, 0x24, 0x9f, 0x7c, 0x79, 0xc6, 0x11, 0x28, | |
- 0xed, 0xda, 0xa7, 0x0e, 0xc1, 0x5c, 0x53, 0x55, 0x83, 0x74, 0x08, 0xd0, 0x7d, 0xd2, 0xab, 0x7a, | |
- 0x03, 0x96, 0x27, 0xe0, 0x3b, 0xb4, 0x7e, 0xc9, 0xf0, 0xfa, 0xa9, 0xcb, 0x50, 0x8a, 0x60, 0xb5, | |
- 0x7a, 0x11, 0x56, 0x67, 0x41, 0xaf, 0xda, 0x0f, 0xe4, 0x11, 0x08, 0x45, 0xb7, 0xa1, 0x10, 0x60, | |
- 0xaf, 0x48, 0xc7, 0xe9, 0x58, 0xf9, 0xca, 0x38, 0x50, 0x65, 0x79, 0xc8, 0xb6, 0x35, 0xdf, 0x0f, | |
- 0x29, 0x3e, 0xf0, 0xbc, 0xee, 0x38, 0x2d, 0xdd, 0xeb, 0xab, 0x9f, 0x42, 0x35, 0x0e, 0x57, 0x27, | |
- 0xa6, 0x91, 0x09, 0xb6, 0xe1, 0x45, 0xc8, 0x1d, 0xd9, 0xee, 0x50, 0xa7, 0xdc, 0x59, 0x09, 0xcb, | |
- 0x1e, 0xdb, 0x9e, 0x02, 0x63, 0xd3, 0x5c, 0x2c, 0x3a, 0xaa, 0x06, 0x97, 0x62, 0xb1, 0x95, 0x99, | |
- 0x98, 0x96, 0x41, 0x44, 0x3c, 0x4b, 0x58, 0x74, 0xc6, 0x8e, 0xc4, 0x60, 0x45, 0x87, 0xfd, 0xac, | |
- 0xc7, 0xe7, 0xca, 0xfd, 0x2b, 0x58, 0xf6, 0xd4, 0xdf, 0x15, 0xa0, 0x80, 0x89, 0xe7, 0x30, 0x4c, | |
- 0x40, 0x75, 0x50, 0xc8, 0x49, 0x97, 0x38, 0xd4, 0x87, 0xd1, 0xd9, 0xac, 0x41, 0x68, 0x37, 0x7d, | |
- 0x4d, 0x76, 0x64, 0x07, 0x66, 0xe8, 0x96, 0x64, 0x65, 0xf1, 0x04, 0x4b, 0x9a, 0x87, 0x69, 0xd9, | |
- 0x1d, 0x9f, 0x96, 0xa5, 0x63, 0x4f, 0x69, 0x61, 0x35, 0xc1, 0xcb, 0x6e, 0x49, 0x5e, 0x96, 0x99, | |
- 0xf3, 0x63, 0x11, 0x62, 0xd6, 0x88, 0x10, 0xb3, 0xec, 0x9c, 0x69, 0xc6, 0x30, 0xb3, 0x3b, 0x3e, | |
- 0x33, 0xcb, 0xcd, 0x19, 0xf1, 0x04, 0x35, 0xbb, 0x1f, 0xa5, 0x66, 0x82, 0x56, 0x5d, 0x8b, 0xb5, | |
- 0x8e, 0xe5, 0x66, 0x3f, 0x08, 0x71, 0xb3, 0x42, 0x2c, 0x31, 0x12, 0x4e, 0x66, 0x90, 0xb3, 0x46, | |
- 0x84, 0x9c, 0x29, 0x73, 0x62, 0x10, 0xc3, 0xce, 0x3e, 0x08, 0xb3, 0x33, 0x88, 0x25, 0x78, 0x72, | |
- 0xbd, 0x67, 0xd1, 0xb3, 0xf7, 0x02, 0x7a, 0x56, 0x8c, 0xe5, 0x97, 0x72, 0x0e, 0x93, 0xfc, 0x6c, | |
- 0x7f, 0x8a, 0x9f, 0x09, 0x3e, 0xf5, 0x46, 0xac, 0x8b, 0x39, 0x04, 0x6d, 0x7f, 0x8a, 0xa0, 0x95, | |
- 0xe6, 0x38, 0x9c, 0xc3, 0xd0, 0x7e, 0x31, 0x9b, 0xa1, 0xc5, 0x73, 0x28, 0x39, 0xcc, 0xc5, 0x28, | |
- 0x9a, 0x16, 0x43, 0xd1, 0x96, 0xb9, 0xfb, 0xb7, 0x62, 0xdd, 0x9f, 0x9f, 0xa3, 0xdd, 0x60, 0x27, | |
- 0xe4, 0x44, 0xce, 0x33, 0x94, 0x21, 0xae, 0x6b, 0xbb, 0x92, 0x6d, 0x89, 0x8e, 0xfa, 0x26, 0x3b, | |
- 0xb3, 0xc7, 0xf9, 0x7d, 0x06, 0x9f, 0xe3, 0x68, 0x1e, 0xca, 0x69, 0xf5, 0x0f, 0xc9, 0xb1, 0x2d, | |
- 0x3f, 0xe6, 0xc2, 0xe7, 0xbd, 0x22, 0xcf, 0xfb, 0x10, 0xcb, 0x4b, 0x45, 0x59, 0xde, 0x3a, 0x14, | |
- 0x19, 0x4a, 0x4f, 0x10, 0x38, 0xdd, 0x09, 0x08, 0xdc, 0x4d, 0x58, 0xe1, 0xc7, 0xb0, 0xe0, 0x82, | |
- 0x12, 0x9a, 0x33, 0xfc, 0x84, 0x59, 0x66, 0x1f, 0xc4, 0xe6, 0x14, 0x18, 0xfd, 0x0e, 0x5c, 0x08, | |
- 0xe9, 0x06, 0xe8, 0x2f, 0xd8, 0x4c, 0x25, 0xd0, 0xde, 0x96, 0xc7, 0xc0, 0x9f, 0x92, 0xe3, 0x08, | |
- 0x8d, 0x99, 0xdf, 0x2c, 0x92, 0x96, 0xfc, 0x1f, 0x91, 0xb4, 0xd4, 0x7f, 0x4d, 0xd2, 0xc2, 0xa7, | |
- 0x59, 0x3a, 0x7a, 0x9a, 0xfd, 0x2b, 0x39, 0x5e, 0x93, 0x80, 0x72, 0x75, 0x6d, 0x83, 0xc8, 0xf3, | |
- 0x85, 0xb7, 0x51, 0x05, 0xd2, 0x03, 0xbb, 0x27, 0x4f, 0x11, 0xd6, 0x64, 0x5a, 0x01, 0x08, 0x2b, | |
- 0x12, 0x63, 0x83, 0xa3, 0x29, 0xcb, 0x23, 0x2c, 0x8f, 0xa6, 0x0a, 0xa4, 0x9f, 0x10, 0x01, 0x99, | |
- 0x4b, 0x98, 0x35, 0x99, 0x1e, 0xdf, 0x64, 0x1c, 0x08, 0x97, 0xb0, 0xe8, 0xa0, 0xbb, 0xa0, 0xf0, | |
- 0x32, 0x84, 0x66, 0x3b, 0x9e, 0x44, 0xb7, 0xd7, 0xc2, 0x73, 0x15, 0xd5, 0x86, 0x8d, 0x03, 0xa6, | |
- 0xb3, 0xef, 0x78, 0xb8, 0xe0, 0xc8, 0x56, 0xe8, 0xd4, 0x55, 0x22, 0xe4, 0xef, 0x32, 0x28, 0x6c, | |
- 0xf4, 0x9e, 0xa3, 0x77, 0x09, 0x87, 0x2a, 0x05, 0x8f, 0x05, 0xea, 0x63, 0x40, 0xd3, 0x80, 0x8b, | |
- 0x5a, 0x90, 0x23, 0xc7, 0xc4, 0xa2, 0x6c, 0xd9, 0x58, 0xb8, 0x2f, 0xce, 0x60, 0x56, 0xc4, 0xa2, | |
- 0xf5, 0x2a, 0x0b, 0xf2, 0x3f, 0xbf, 0x59, 0xaf, 0x08, 0xed, 0xb7, 0xed, 0xa1, 0x49, 0xc9, 0xd0, | |
- 0xa1, 0xa7, 0x58, 0xda, 0xab, 0x7f, 0x4b, 0x31, 0x9a, 0x13, 0x01, 0xe3, 0x99, 0xb1, 0xf5, 0xb7, | |
- 0x7c, 0x2a, 0x44, 0x71, 0x17, 0x8b, 0xf7, 0x1a, 0x40, 0x4f, 0xf7, 0xb4, 0xa7, 0xba, 0x45, 0x89, | |
- 0x21, 0x83, 0x1e, 0x92, 0xa0, 0x1a, 0x14, 0x58, 0x6f, 0xe4, 0x11, 0x43, 0xb2, 0xed, 0xa0, 0x1f, | |
- 0x9a, 0x67, 0xfe, 0xdb, 0xcd, 0x33, 0x1a, 0xe5, 0xc2, 0x44, 0x94, 0x43, 0x14, 0x44, 0x09, 0x53, | |
- 0x10, 0x36, 0x36, 0xc7, 0x35, 0x6d, 0xd7, 0xa4, 0xa7, 0x7c, 0x69, 0xd2, 0x38, 0xe8, 0xb3, 0xcb, | |
- 0xdb, 0x90, 0x0c, 0x1d, 0xdb, 0x1e, 0x68, 0x02, 0x6e, 0x8a, 0xdc, 0x74, 0x49, 0x0a, 0x9b, 0x1c, | |
- 0x75, 0x7e, 0x9d, 0x1a, 0xe7, 0xdf, 0x98, 0x6a, 0xfe, 0xdf, 0x05, 0x58, 0xfd, 0x0d, 0xbf, 0x80, | |
- 0x46, 0x8f, 0x5b, 0x74, 0x08, 0x2b, 0x41, 0xfa, 0x6b, 0x23, 0x0e, 0x0b, 0xfe, 0x86, 0x5e, 0x14, | |
- 0x3f, 0x2a, 0xc7, 0x51, 0xb1, 0x87, 0x3e, 0x86, 0x57, 0x27, 0xb0, 0x2d, 0x70, 0x9d, 0x5a, 0x14, | |
- 0xe2, 0x5e, 0x89, 0x42, 0x9c, 0xef, 0x7a, 0x1c, 0xac, 0xf4, 0xb7, 0xcc, 0xba, 0x1d, 0x76, 0xa7, | |
- 0x09, 0xb3, 0x87, 0x99, 0xcb, 0x7f, 0x0d, 0x4a, 0x2e, 0xa1, 0xec, 0x9e, 0x1d, 0xb9, 0x35, 0x2e, | |
- 0x09, 0xa1, 0xbc, 0x8b, 0x1e, 0xc0, 0x2b, 0x33, 0x59, 0x04, 0xfa, 0x1e, 0x28, 0x63, 0x02, 0x92, | |
- 0x8c, 0xb9, 0x80, 0x05, 0x97, 0x8a, 0xb1, 0xae, 0xfa, 0xc7, 0xe4, 0xd8, 0x65, 0xf4, 0x9a, 0xd2, | |
- 0x84, 0x9c, 0x4b, 0xbc, 0xd1, 0x40, 0x5c, 0x1c, 0xca, 0x5b, 0xef, 0x2c, 0xc6, 0x3f, 0x98, 0x74, | |
- 0x34, 0xa0, 0x58, 0x1a, 0xab, 0x8f, 0x21, 0x27, 0x24, 0xa8, 0x08, 0xf9, 0x87, 0x7b, 0x0f, 0xf6, | |
- 0xf6, 0x3f, 0xda, 0xab, 0x24, 0x10, 0x40, 0x6e, 0xbb, 0xd1, 0x68, 0x1e, 0xb4, 0x2b, 0x49, 0xa4, | |
- 0x40, 0x76, 0xbb, 0xbe, 0x8f, 0xdb, 0x95, 0x14, 0x13, 0xe3, 0xe6, 0x87, 0xcd, 0x46, 0xbb, 0x92, | |
- 0x46, 0x2b, 0x50, 0x12, 0x6d, 0xed, 0xfe, 0x3e, 0xfe, 0xc9, 0x76, 0xbb, 0x92, 0x09, 0x89, 0x0e, | |
- 0x9b, 0x7b, 0xf7, 0x9a, 0xb8, 0x92, 0x55, 0xdf, 0x65, 0x37, 0x93, 0x18, 0xc6, 0x32, 0xbe, 0x83, | |
- 0x24, 0x43, 0x77, 0x10, 0xf5, 0xb7, 0x29, 0xa8, 0xc5, 0xd3, 0x10, 0xf4, 0xe1, 0xc4, 0xc4, 0xb7, | |
- 0xce, 0xc1, 0x61, 0x26, 0x66, 0x8f, 0xae, 0x43, 0xd9, 0x25, 0x47, 0x84, 0x76, 0xfb, 0x82, 0x16, | |
- 0x89, 0x23, 0xb3, 0x84, 0x4b, 0x52, 0xca, 0x8d, 0x3c, 0xa1, 0xf6, 0x19, 0xe9, 0x52, 0x4d, 0x60, | |
- 0x91, 0xd8, 0x74, 0x0a, 0x53, 0x63, 0xd2, 0x43, 0x21, 0x54, 0x3f, 0x3d, 0x57, 0x2c, 0x15, 0xc8, | |
- 0xe2, 0x66, 0x1b, 0x7f, 0x5c, 0x49, 0x23, 0x04, 0x65, 0xde, 0xd4, 0x0e, 0xf7, 0xb6, 0x0f, 0x0e, | |
- 0x5b, 0xfb, 0x2c, 0x96, 0x17, 0x60, 0xd9, 0x8f, 0xa5, 0x2f, 0xcc, 0xaa, 0x9f, 0x40, 0x39, 0x7a, | |
- 0xf7, 0x67, 0x21, 0x74, 0xed, 0x91, 0x65, 0xf0, 0x60, 0x64, 0xb1, 0xe8, 0xa0, 0xdb, 0x90, 0x3d, | |
- 0xb6, 0x45, 0x9a, 0xcd, 0xde, 0x6b, 0x8f, 0x6c, 0x4a, 0x42, 0xb5, 0x03, 0xa1, 0xad, 0x7e, 0x01, | |
- 0x59, 0x9e, 0x35, 0x2c, 0x03, 0xf8, 0x2d, 0x5e, 0x92, 0x2a, 0xd6, 0x46, 0x9f, 0x00, 0xe8, 0x94, | |
- 0xba, 0x66, 0x67, 0x34, 0x76, 0xbc, 0x3e, 0x3b, 0xeb, 0xb6, 0x7d, 0xbd, 0xfa, 0x65, 0x99, 0x7e, | |
- 0xab, 0x63, 0xd3, 0x50, 0x0a, 0x86, 0x1c, 0xaa, 0x7b, 0x50, 0x8e, 0xda, 0xfa, 0x34, 0x40, 0x8c, | |
- 0x21, 0x4a, 0x03, 0x04, 0xab, 0x93, 0x34, 0x20, 0x20, 0x11, 0x69, 0x51, 0xb1, 0xe1, 0x1d, 0xf5, | |
- 0x59, 0x12, 0x0a, 0xed, 0x13, 0xb9, 0x1e, 0x31, 0xc5, 0x82, 0xb1, 0x69, 0x2a, 0x7c, 0x35, 0x16, | |
- 0xd5, 0x87, 0x74, 0x50, 0xd3, 0xf8, 0x20, 0xd8, 0x71, 0x99, 0x45, 0x6f, 0x40, 0x7e, 0x71, 0x47, | |
- 0x66, 0xd9, 0xfb, 0xa0, 0x04, 0x98, 0xc9, 0xd8, 0xa9, 0x6e, 0x18, 0x2e, 0xf1, 0x3c, 0xb9, 0xef, | |
- 0xfd, 0x2e, 0xaf, 0x3d, 0xd9, 0x4f, 0xe5, 0xe5, 0x3b, 0x8d, 0x45, 0x47, 0x35, 0x60, 0x79, 0x02, | |
- 0x70, 0xd1, 0xfb, 0x90, 0x77, 0x46, 0x1d, 0xcd, 0x0f, 0xcf, 0xc4, 0x5b, 0x83, 0xcf, 0x7b, 0x46, | |
- 0x9d, 0x81, 0xd9, 0x7d, 0x40, 0x4e, 0xfd, 0xc1, 0x38, 0xa3, 0xce, 0x03, 0x11, 0x45, 0xf1, 0x2b, | |
- 0xa9, 0xf0, 0xaf, 0x1c, 0x43, 0xc1, 0xdf, 0x14, 0xe8, 0x87, 0xa0, 0x04, 0x58, 0x1e, 0x94, 0x24, | |
- 0x63, 0x0f, 0x01, 0xe9, 0x7e, 0x6c, 0xc2, 0x48, 0xb4, 0x67, 0xf6, 0x2c, 0x62, 0x68, 0x63, 0x7e, | |
- 0xcc, 0x7f, 0xad, 0x80, 0x97, 0xc5, 0x87, 0x5d, 0x9f, 0x1c, 0xab, 0xff, 0x4e, 0x42, 0xc1, 0x2f, | |
- 0x3d, 0xa1, 0x77, 0x43, 0xfb, 0xae, 0x3c, 0xe3, 0xa2, 0xee, 0x2b, 0x8e, 0xcb, 0x47, 0xd1, 0xb1, | |
- 0xa6, 0xce, 0x3f, 0xd6, 0xb8, 0x3a, 0xa0, 0x5f, 0x91, 0xcd, 0x9c, 0xbb, 0x22, 0xfb, 0x36, 0x20, | |
- 0x6a, 0x53, 0x7d, 0xa0, 0x1d, 0xdb, 0xd4, 0xb4, 0x7a, 0x9a, 0x08, 0xb6, 0xe0, 0x02, 0x15, 0xfe, | |
- 0xe5, 0x11, 0xff, 0x70, 0xc0, 0xe3, 0xfe, 0xcb, 0x24, 0x14, 0x02, 0x50, 0x3f, 0x6f, 0x35, 0xe8, | |
- 0x22, 0xe4, 0x24, 0x6e, 0x89, 0x72, 0x90, 0xec, 0x05, 0x85, 0xc9, 0x4c, 0xa8, 0x30, 0x59, 0x83, | |
- 0xc2, 0x90, 0x50, 0x9d, 0x9f, 0x6c, 0xe2, 0x8a, 0x12, 0xf4, 0x6f, 0xbe, 0x07, 0xc5, 0x50, 0x61, | |
- 0x8e, 0x65, 0xde, 0x5e, 0xf3, 0xa3, 0x4a, 0xa2, 0x96, 0x7f, 0xf6, 0xe5, 0xd5, 0xf4, 0x1e, 0x79, | |
- 0xca, 0xf6, 0x2c, 0x6e, 0x36, 0x5a, 0xcd, 0xc6, 0x83, 0x4a, 0xb2, 0x56, 0x7c, 0xf6, 0xe5, 0xd5, | |
- 0x3c, 0x26, 0xbc, 0x48, 0x70, 0xb3, 0x05, 0x4b, 0xe1, 0x55, 0x89, 0x42, 0x1f, 0x82, 0xf2, 0xbd, | |
- 0x87, 0x07, 0xbb, 0x3b, 0x8d, 0xed, 0x76, 0x53, 0x7b, 0xb4, 0xdf, 0x6e, 0x56, 0x92, 0xe8, 0x55, | |
- 0xb8, 0xb0, 0xbb, 0xf3, 0xe3, 0x56, 0x5b, 0x6b, 0xec, 0xee, 0x34, 0xf7, 0xda, 0xda, 0x76, 0xbb, | |
- 0xbd, 0xdd, 0x78, 0x50, 0x49, 0x6d, 0xfd, 0x5e, 0x81, 0xe5, 0xed, 0x7a, 0x63, 0x87, 0xc1, 0xb6, | |
- 0xd9, 0xd5, 0xf9, 0xfd, 0xb1, 0x01, 0x19, 0x7e, 0x43, 0x3c, 0xf3, 0xd9, 0xae, 0x76, 0x76, 0xf9, | |
- 0x08, 0xdd, 0x87, 0x2c, 0xbf, 0x3c, 0xa2, 0xb3, 0xdf, 0xf1, 0x6a, 0x73, 0xea, 0x49, 0x6c, 0x30, | |
- 0x3c, 0x3d, 0xce, 0x7c, 0xd8, 0xab, 0x9d, 0x5d, 0x5e, 0x42, 0x18, 0x94, 0x31, 0xf9, 0x9c, 0xff, | |
- 0xd0, 0x55, 0x5b, 0x00, 0x6c, 0xd0, 0x2e, 0xe4, 0xfd, 0xfb, 0xc2, 0xbc, 0xa7, 0xb7, 0xda, 0xdc, | |
- 0xfa, 0x0f, 0x0b, 0x97, 0xb8, 0xd7, 0x9d, 0xfd, 0x8e, 0x58, 0x9b, 0x53, 0xcc, 0x42, 0x3b, 0x90, | |
- 0x93, 0x84, 0x6a, 0xce, 0x73, 0x5a, 0x6d, 0x5e, 0x3d, 0x87, 0x05, 0x6d, 0x7c, 0x63, 0x9e, 0xff, | |
- 0x3a, 0x5a, 0x5b, 0xa0, 0x4e, 0x87, 0x1e, 0x02, 0x84, 0x6e, 0x71, 0x0b, 0x3c, 0x7b, 0xd6, 0x16, | |
- 0xa9, 0xbf, 0xa1, 0x7d, 0x28, 0x04, 0xa4, 0x7a, 0xee, 0x23, 0x64, 0x6d, 0x7e, 0x21, 0x0c, 0x3d, | |
- 0x86, 0x52, 0x94, 0x4c, 0x2e, 0xf6, 0xb4, 0x58, 0x5b, 0xb0, 0xc2, 0xc5, 0xfc, 0x47, 0x99, 0xe5, | |
- 0x62, 0x4f, 0x8d, 0xb5, 0x05, 0x0b, 0x5e, 0xe8, 0x33, 0x58, 0x99, 0x66, 0x7e, 0x8b, 0xbf, 0x3c, | |
- 0xd6, 0xce, 0x51, 0x02, 0x43, 0x43, 0x40, 0x33, 0x18, 0xe3, 0x39, 0x1e, 0x22, 0x6b, 0xe7, 0xa9, | |
- 0x88, 0xd5, 0x9b, 0x5f, 0xbd, 0x58, 0x4b, 0x7e, 0xfd, 0x62, 0x2d, 0xf9, 0x8f, 0x17, 0x6b, 0xc9, | |
- 0xe7, 0x2f, 0xd7, 0x12, 0x5f, 0xbf, 0x5c, 0x4b, 0xfc, 0xf5, 0xe5, 0x5a, 0xe2, 0x67, 0x6f, 0xf5, | |
- 0x4c, 0xda, 0x1f, 0x75, 0x36, 0xba, 0xf6, 0x70, 0x33, 0xfc, 0x0f, 0x87, 0x59, 0xff, 0xba, 0xe8, | |
- 0xe4, 0xf8, 0xa1, 0x72, 0xeb, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x92, 0xa5, 0x39, 0xcc, 0x95, | |
- 0x21, 0x00, 0x00, | |
+ // 2712 bytes of a gzipped FileDescriptorProto | |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0xcd, 0x73, 0x23, 0xc5, | |
+ 0x15, 0xd7, 0xa7, 0x25, 0x3d, 0x7d, 0x58, 0xdb, 0xbb, 0x2c, 0x62, 0x58, 0xec, 0x65, 0x28, 0xc8, | |
+ 0xb2, 0x80, 0x1d, 0x4c, 0xb1, 0x81, 0x22, 0x1f, 0x58, 0x42, 0x1b, 0x99, 0x35, 0x96, 0xd3, 0xd6, | |
+ 0x2e, 0x45, 0x12, 0x76, 0x18, 0x69, 0xda, 0xd2, 0xb0, 0xd2, 0xcc, 0x30, 0xd3, 0x32, 0x36, 0xc7, | |
+ 0x54, 0x72, 0xa1, 0x52, 0x15, 0x8e, 0xb9, 0xf0, 0x7f, 0xe4, 0x94, 0x53, 0x0e, 0x1c, 0x72, 0xe0, | |
+ 0x98, 0x43, 0x8a, 0xa4, 0xd8, 0x5b, 0x6e, 0x39, 0xe5, 0x94, 0xaa, 0x54, 0x7f, 0xcc, 0x97, 0xa4, | |
+ 0x91, 0xe4, 0x90, 0x5b, 0x6e, 0xdd, 0x6f, 0xde, 0x7b, 0xea, 0x7e, 0xdd, 0xfd, 0x7b, 0xbf, 0x7e, | |
+ 0x2d, 0x78, 0x9a, 0x12, 0xcb, 0x20, 0xee, 0xc4, 0xb4, 0xe8, 0xae, 0xde, 0x1f, 0x98, 0xbb, 0xf4, | |
+ 0xc2, 0x21, 0xde, 0x8e, 0xe3, 0xda, 0xd4, 0x46, 0x9b, 0xe1, 0xc7, 0x1d, 0xf6, 0x51, 0x79, 0x26, | |
+ 0xa2, 0x3d, 0x70, 0x2f, 0x1c, 0x6a, 0xef, 0x3a, 0xae, 0x6d, 0x9f, 0x0a, 0x7d, 0xe5, 0x46, 0xe4, | |
+ 0x33, 0xf7, 0x13, 0xf5, 0x16, 0xfb, 0x2a, 0x8d, 0x1f, 0x91, 0x0b, 0xff, 0xeb, 0x33, 0x73, 0xb6, | |
+ 0x8e, 0xee, 0xea, 0x13, 0xff, 0xf3, 0xf6, 0xd0, 0xb6, 0x87, 0x63, 0xb2, 0xcb, 0x7b, 0xfd, 0xe9, | |
+ 0xe9, 0x2e, 0x35, 0x27, 0xc4, 0xa3, 0xfa, 0xc4, 0x91, 0x0a, 0xd7, 0x86, 0xf6, 0xd0, 0xe6, 0xcd, | |
+ 0x5d, 0xd6, 0x12, 0x52, 0xf5, 0xcb, 0x22, 0x14, 0x30, 0xf9, 0x64, 0x4a, 0x3c, 0x8a, 0xf6, 0x20, | |
+ 0x47, 0x06, 0x23, 0xbb, 0x91, 0xbe, 0x99, 0xbe, 0x55, 0xde, 0xbb, 0xb1, 0x33, 0x33, 0xb9, 0x1d, | |
+ 0xa9, 0xd7, 0x1e, 0x8c, 0xec, 0x4e, 0x0a, 0x73, 0x5d, 0xf4, 0x3a, 0xe4, 0x4f, 0xc7, 0x53, 0x6f, | |
+ 0xd4, 0xc8, 0x70, 0xa3, 0x67, 0x92, 0x8c, 0xee, 0x32, 0xa5, 0x4e, 0x0a, 0x0b, 0x6d, 0xf6, 0x53, | |
+ 0xa6, 0x75, 0x6a, 0x37, 0xb2, 0xcb, 0x7f, 0xea, 0xc0, 0x3a, 0xe5, 0x3f, 0xc5, 0x74, 0x51, 0x13, | |
+ 0xc0, 0xb4, 0x4c, 0xaa, 0x0d, 0x46, 0xba, 0x69, 0x35, 0x72, 0xdc, 0xf2, 0xd9, 0x64, 0x4b, 0x93, | |
+ 0xb6, 0x98, 0x62, 0x27, 0x85, 0x4b, 0xa6, 0xdf, 0x61, 0xc3, 0xfd, 0x64, 0x4a, 0xdc, 0x8b, 0x46, | |
+ 0x7e, 0xf9, 0x70, 0x7f, 0xc6, 0x94, 0xd8, 0x70, 0xb9, 0x36, 0x6a, 0x43, 0xb9, 0x4f, 0x86, 0xa6, | |
+ 0xa5, 0xf5, 0xc7, 0xf6, 0xe0, 0x51, 0x63, 0x83, 0x1b, 0xab, 0x49, 0xc6, 0x4d, 0xa6, 0xda, 0x64, | |
+ 0x9a, 0x9d, 0x14, 0x86, 0x7e, 0xd0, 0x43, 0x3f, 0x84, 0xe2, 0x60, 0x44, 0x06, 0x8f, 0x34, 0x7a, | |
+ 0xde, 0x28, 0x70, 0x1f, 0xdb, 0x49, 0x3e, 0x5a, 0x4c, 0xaf, 0x77, 0xde, 0x49, 0xe1, 0xc2, 0x40, | |
+ 0x34, 0xd9, 0xfc, 0x0d, 0x32, 0x36, 0xcf, 0x88, 0xcb, 0xec, 0x8b, 0xcb, 0xe7, 0xff, 0x8e, 0xd0, | |
+ 0xe4, 0x1e, 0x4a, 0x86, 0xdf, 0x41, 0x3f, 0x81, 0x12, 0xb1, 0x0c, 0x39, 0x8d, 0x12, 0x77, 0x71, | |
+ 0x33, 0x71, 0x9d, 0x2d, 0xc3, 0x9f, 0x44, 0x91, 0xc8, 0x36, 0x7a, 0x03, 0x36, 0x06, 0xf6, 0x64, | |
+ 0x62, 0xd2, 0x06, 0x70, 0xeb, 0xad, 0xc4, 0x09, 0x70, 0xad, 0x4e, 0x0a, 0x4b, 0x7d, 0x74, 0x04, | |
+ 0xb5, 0xb1, 0xe9, 0x51, 0xcd, 0xb3, 0x74, 0xc7, 0x1b, 0xd9, 0xd4, 0x6b, 0x94, 0xb9, 0x87, 0xe7, | |
+ 0x93, 0x3c, 0x1c, 0x9a, 0x1e, 0x3d, 0xf1, 0x95, 0x3b, 0x29, 0x5c, 0x1d, 0x47, 0x05, 0xcc, 0x9f, | |
+ 0x7d, 0x7a, 0x4a, 0xdc, 0xc0, 0x61, 0xa3, 0xb2, 0xdc, 0x5f, 0x97, 0x69, 0xfb, 0xf6, 0xcc, 0x9f, | |
+ 0x1d, 0x15, 0xa0, 0x5f, 0xc0, 0xd5, 0xb1, 0xad, 0x1b, 0x81, 0x3b, 0x6d, 0x30, 0x9a, 0x5a, 0x8f, | |
+ 0x1a, 0x55, 0xee, 0xf4, 0xc5, 0xc4, 0x41, 0xda, 0xba, 0xe1, 0xbb, 0x68, 0x31, 0x83, 0x4e, 0x0a, | |
+ 0x5f, 0x19, 0xcf, 0x0a, 0xd1, 0x43, 0xb8, 0xa6, 0x3b, 0xce, 0xf8, 0x62, 0xd6, 0x7b, 0x8d, 0x7b, | |
+ 0xbf, 0x9d, 0xe4, 0x7d, 0x9f, 0xd9, 0xcc, 0xba, 0x47, 0xfa, 0x9c, 0x94, 0x05, 0xc3, 0x71, 0x89, | |
+ 0xe3, 0xda, 0x03, 0xe2, 0x79, 0x1a, 0x3d, 0xf7, 0x1a, 0x9b, 0xcb, 0x83, 0x71, 0x1c, 0x68, 0xf7, | |
+ 0xce, 0x79, 0x70, 0x9d, 0xa8, 0xa0, 0x59, 0x80, 0xfc, 0x99, 0x3e, 0x9e, 0x12, 0xf5, 0x7b, 0x50, | |
+ 0x8e, 0x1c, 0x7b, 0xd4, 0x80, 0xc2, 0x84, 0x78, 0x9e, 0x3e, 0x24, 0x1c, 0x25, 0x4a, 0xd8, 0xef, | |
+ 0xaa, 0x35, 0xa8, 0x44, 0x8f, 0xba, 0xfa, 0x45, 0x3a, 0xb0, 0x64, 0xa7, 0x98, 0x59, 0x9e, 0x11, | |
+ 0xd7, 0x33, 0x6d, 0xcb, 0xb7, 0x94, 0x5d, 0xf4, 0x1c, 0x54, 0xf9, 0x7e, 0xd4, 0xfc, 0xef, 0x0c, | |
+ 0x4a, 0x72, 0xb8, 0xc2, 0x85, 0x0f, 0xa4, 0xd2, 0x36, 0x94, 0x9d, 0x3d, 0x27, 0x50, 0xc9, 0x72, | |
+ 0x15, 0x70, 0xf6, 0x1c, 0x5f, 0xe1, 0x59, 0xa8, 0xb0, 0xf9, 0x05, 0x1a, 0x39, 0xfe, 0x23, 0x65, | |
+ 0x26, 0x93, 0x2a, 0xea, 0x9f, 0x33, 0x50, 0x9f, 0x85, 0x07, 0xf4, 0x06, 0xe4, 0x18, 0x52, 0x4a, | |
+ 0xd0, 0x53, 0x76, 0x04, 0x8c, 0xee, 0xf8, 0x30, 0xba, 0xd3, 0xf3, 0x61, 0xb4, 0x59, 0xfc, 0xea, | |
+ 0x9b, 0xed, 0xd4, 0x17, 0x7f, 0xdb, 0x4e, 0x63, 0x6e, 0x81, 0x9e, 0x62, 0xa7, 0x59, 0x37, 0x2d, | |
+ 0xcd, 0x34, 0xf8, 0x90, 0x4b, 0xec, 0xa8, 0xea, 0xa6, 0x75, 0x60, 0xa0, 0x43, 0xa8, 0x0f, 0x6c, | |
+ 0xcb, 0x23, 0x96, 0x37, 0xf5, 0x34, 0x01, 0xd3, 0x12, 0xea, 0x62, 0x07, 0x56, 0x80, 0x7f, 0xcb, | |
+ 0xd7, 0x3c, 0xe6, 0x8a, 0x78, 0x73, 0x10, 0x17, 0xa0, 0xbb, 0x00, 0x67, 0xfa, 0xd8, 0x34, 0x74, | |
+ 0x6a, 0xbb, 0x5e, 0x23, 0x77, 0x33, 0xbb, 0xf0, 0xd4, 0x3e, 0xf0, 0x55, 0xee, 0x3b, 0x86, 0x4e, | |
+ 0x49, 0x33, 0xc7, 0x86, 0x8b, 0x23, 0x96, 0xe8, 0x05, 0xd8, 0xd4, 0x1d, 0x47, 0xf3, 0xa8, 0x4e, | |
+ 0x89, 0xd6, 0xbf, 0xa0, 0xc4, 0xe3, 0x30, 0x58, 0xc1, 0x55, 0xdd, 0x71, 0x4e, 0x98, 0xb4, 0xc9, | |
+ 0x84, 0xe8, 0x79, 0xa8, 0x31, 0xc4, 0x34, 0xf5, 0xb1, 0x36, 0x22, 0xe6, 0x70, 0x44, 0x39, 0xe0, | |
+ 0x65, 0x71, 0x55, 0x4a, 0x3b, 0x5c, 0xa8, 0x1a, 0xc1, 0x8a, 0x73, 0xb4, 0x44, 0x08, 0x72, 0x86, | |
+ 0x4e, 0x75, 0x1e, 0xc9, 0x0a, 0xe6, 0x6d, 0x26, 0x73, 0x74, 0x3a, 0x92, 0xf1, 0xe1, 0x6d, 0x74, | |
+ 0x1d, 0x36, 0xa4, 0xdb, 0x2c, 0x77, 0x2b, 0x7b, 0xe8, 0x1a, 0xe4, 0x1d, 0xd7, 0x3e, 0x23, 0x7c, | |
+ 0xe9, 0x8a, 0x58, 0x74, 0xd4, 0x5f, 0x67, 0xe0, 0xca, 0x1c, 0xae, 0x32, 0xbf, 0x23, 0xdd, 0x1b, | |
+ 0xf9, 0xbf, 0xc5, 0xda, 0xe8, 0x0e, 0xf3, 0xab, 0x1b, 0xc4, 0x95, 0xb9, 0xa8, 0x31, 0x1f, 0xea, | |
+ 0x0e, 0xff, 0x2e, 0x43, 0x23, 0xb5, 0x51, 0x17, 0xea, 0x63, 0xdd, 0xa3, 0x9a, 0xc0, 0x29, 0x2d, | |
+ 0x92, 0x97, 0xe6, 0xd1, 0xf9, 0x50, 0xf7, 0x91, 0x8d, 0x6d, 0x6a, 0xe9, 0xa8, 0x36, 0x8e, 0x49, | |
+ 0x11, 0x86, 0x6b, 0xfd, 0x8b, 0xcf, 0x74, 0x8b, 0x9a, 0x16, 0xd1, 0xe6, 0x56, 0xee, 0xa9, 0x39, | |
+ 0xa7, 0xed, 0x33, 0xd3, 0x20, 0xd6, 0xc0, 0x5f, 0xb2, 0xab, 0x81, 0x71, 0xb0, 0xa4, 0x9e, 0x8a, | |
+ 0xa1, 0x16, 0xcf, 0x0c, 0xa8, 0x06, 0x19, 0x7a, 0x2e, 0x03, 0x90, 0xa1, 0xe7, 0xe8, 0xfb, 0x90, | |
+ 0x63, 0x93, 0xe4, 0x93, 0xaf, 0x2d, 0x48, 0xa9, 0xd2, 0xae, 0x77, 0xe1, 0x10, 0xcc, 0x35, 0x55, | |
+ 0x35, 0x38, 0x0e, 0x41, 0xb6, 0x98, 0xf5, 0xaa, 0xbe, 0x08, 0x9b, 0x33, 0xe9, 0x20, 0xb2, 0x7e, | |
+ 0xe9, 0xe8, 0xfa, 0xa9, 0x9b, 0x50, 0x8d, 0x61, 0xbf, 0x7a, 0x1d, 0xae, 0x2d, 0x82, 0x72, 0x75, | |
+ 0x14, 0xc8, 0x63, 0x90, 0x8c, 0x5e, 0x87, 0x62, 0x80, 0xe5, 0xe2, 0x38, 0xce, 0xc7, 0xca, 0x57, | |
+ 0xc6, 0x81, 0x2a, 0x3b, 0x87, 0x6c, 0x5b, 0xf3, 0xfd, 0x90, 0xe1, 0x03, 0x2f, 0xe8, 0x8e, 0xd3, | |
+ 0xd1, 0xbd, 0x91, 0xfa, 0x11, 0x34, 0x92, 0x70, 0x7a, 0x66, 0x1a, 0xb9, 0x60, 0x1b, 0x5e, 0x87, | |
+ 0x8d, 0x53, 0xdb, 0x9d, 0xe8, 0x94, 0x3b, 0xab, 0x62, 0xd9, 0x63, 0xdb, 0x53, 0x60, 0x76, 0x96, | |
+ 0x8b, 0x45, 0x47, 0xd5, 0xe0, 0xa9, 0x44, 0xac, 0x66, 0x26, 0xa6, 0x65, 0x10, 0x11, 0xcf, 0x2a, | |
+ 0x16, 0x9d, 0xd0, 0x91, 0x18, 0xac, 0xe8, 0xb0, 0x9f, 0xf5, 0xf8, 0x5c, 0xb9, 0xff, 0x12, 0x96, | |
+ 0x3d, 0xf5, 0x56, 0x10, 0xac, 0x18, 0x64, 0xa3, 0x3a, 0x64, 0x19, 0xcc, 0xa7, 0x6f, 0x66, 0x6f, | |
+ 0x55, 0x30, 0x6b, 0xaa, 0xff, 0x2c, 0x42, 0x11, 0x13, 0xcf, 0x61, 0xe8, 0x81, 0x9a, 0x50, 0x22, | |
+ 0xe7, 0x03, 0xe2, 0x50, 0x1f, 0x70, 0x17, 0xf3, 0x15, 0xa1, 0xdd, 0xf6, 0x35, 0x19, 0x59, 0x08, | |
+ 0xcc, 0xd0, 0x6b, 0x92, 0x0f, 0x26, 0x53, 0x3b, 0x69, 0x1e, 0x25, 0x84, 0x77, 0x7c, 0x42, 0x98, | |
+ 0x4d, 0xe4, 0x07, 0xc2, 0x6a, 0x86, 0x11, 0xbe, 0x26, 0x19, 0x61, 0x6e, 0xc5, 0x8f, 0xc5, 0x28, | |
+ 0x61, 0x2b, 0x46, 0x09, 0xf3, 0x2b, 0xa6, 0x99, 0xc0, 0x09, 0xef, 0xf8, 0x9c, 0x70, 0x63, 0xc5, | |
+ 0x88, 0x67, 0x48, 0xe1, 0xdd, 0x38, 0x29, 0x14, 0x84, 0xee, 0xb9, 0x44, 0xeb, 0x44, 0x56, 0xf8, | |
+ 0xa3, 0x08, 0x2b, 0x2c, 0x26, 0x52, 0x32, 0xe1, 0x64, 0x01, 0x2d, 0x6c, 0xc5, 0x68, 0x61, 0x69, | |
+ 0x45, 0x0c, 0x12, 0x78, 0xe1, 0xdb, 0x51, 0x5e, 0x08, 0x89, 0xd4, 0x52, 0xae, 0xf7, 0x22, 0x62, | |
+ 0xf8, 0x66, 0x40, 0x0c, 0xcb, 0x89, 0xcc, 0x56, 0xce, 0x61, 0x96, 0x19, 0x76, 0xe7, 0x98, 0xa1, | |
+ 0x60, 0x72, 0x2f, 0x24, 0xba, 0x58, 0x41, 0x0d, 0xbb, 0x73, 0xd4, 0xb0, 0xba, 0xc2, 0xe1, 0x0a, | |
+ 0x6e, 0xf8, 0xcb, 0xc5, 0xdc, 0x30, 0x99, 0xbd, 0xc9, 0x61, 0xae, 0x47, 0x0e, 0xb5, 0x04, 0x72, | |
+ 0x28, 0x28, 0xdc, 0x4b, 0x89, 0xee, 0xd7, 0x66, 0x87, 0xdd, 0x39, 0x76, 0x58, 0x5f, 0x11, 0x8f, | |
+ 0x75, 0xe9, 0xe1, 0x8b, 0x2c, 0x39, 0xcf, 0x80, 0x08, 0x03, 0x38, 0xe2, 0xba, 0xb6, 0x2b, 0x89, | |
+ 0x9e, 0xe8, 0xa8, 0xb7, 0x18, 0x5d, 0x08, 0x01, 0x63, 0x09, 0x95, 0xe4, 0x89, 0x24, 0x02, 0x12, | |
+ 0xea, 0x1f, 0xd2, 0xa1, 0x2d, 0xcf, 0xb0, 0x51, 0xaa, 0x51, 0x92, 0x54, 0x23, 0x42, 0x30, 0x33, | |
+ 0x71, 0x82, 0xb9, 0x0d, 0x65, 0x96, 0x20, 0x66, 0xb8, 0xa3, 0xee, 0x04, 0xdc, 0xf1, 0x36, 0x5c, | |
+ 0xe1, 0x0c, 0x40, 0xd0, 0x50, 0x99, 0x15, 0x72, 0x3c, 0xb9, 0x6d, 0xb2, 0x0f, 0x62, 0xb7, 0x8b, | |
+ 0xf4, 0xf0, 0x0a, 0x5c, 0x8d, 0xe8, 0x06, 0x89, 0x47, 0x10, 0xa9, 0x7a, 0xa0, 0xbd, 0x2f, 0x33, | |
+ 0xd0, 0x9f, 0xd2, 0x61, 0x84, 0x42, 0xd2, 0xb9, 0x88, 0x1f, 0xa6, 0xff, 0x47, 0xfc, 0x30, 0xf3, | |
+ 0x5f, 0xf3, 0xc3, 0x68, 0x22, 0xcd, 0xc6, 0x13, 0xe9, 0xbf, 0xd2, 0xe1, 0x9a, 0x04, 0x6c, 0x6f, | |
+ 0x60, 0x1b, 0x44, 0xa6, 0x36, 0xde, 0x66, 0x39, 0x69, 0x6c, 0x0f, 0x65, 0x02, 0x63, 0x4d, 0xa6, | |
+ 0x15, 0xa0, 0x7a, 0x49, 0x82, 0x76, 0x90, 0x15, 0xf3, 0x3c, 0xc2, 0x32, 0x2b, 0xd6, 0x21, 0xfb, | |
+ 0x88, 0x08, 0x0c, 0xae, 0x60, 0xd6, 0x64, 0x7a, 0x7c, 0x93, 0x71, 0x64, 0xad, 0x60, 0xd1, 0x41, | |
+ 0x6f, 0x40, 0x89, 0x57, 0x54, 0x34, 0xdb, 0xf1, 0x24, 0x5c, 0x3e, 0x1d, 0x9d, 0xab, 0x28, 0x9c, | |
+ 0xec, 0x1c, 0x33, 0x9d, 0xae, 0xe3, 0xe1, 0xa2, 0x23, 0x5b, 0x91, 0x84, 0x5f, 0x8a, 0xf1, 0xce, | |
+ 0x1b, 0x50, 0x62, 0xa3, 0xf7, 0x1c, 0x7d, 0x40, 0x38, 0xf6, 0x95, 0x70, 0x28, 0x50, 0x1f, 0x02, | |
+ 0x9a, 0x47, 0x70, 0xd4, 0x81, 0x0d, 0x72, 0x46, 0x2c, 0x2a, 0x12, 0x70, 0x79, 0xef, 0xfa, 0x02, | |
+ 0x52, 0x47, 0x2c, 0xda, 0x6c, 0xb0, 0x20, 0xff, 0xe3, 0x9b, 0xed, 0xba, 0xd0, 0x7e, 0xd9, 0x9e, | |
+ 0x98, 0x94, 0x4c, 0x1c, 0x7a, 0x81, 0xa5, 0xbd, 0xfa, 0xd7, 0x0c, 0x63, 0x58, 0x31, 0x74, 0x5f, | |
+ 0x18, 0x5b, 0x7f, 0xcb, 0x67, 0x22, 0xec, 0x7a, 0xbd, 0x78, 0x6f, 0x01, 0x0c, 0x75, 0x4f, 0xfb, | |
+ 0x54, 0xb7, 0x28, 0x31, 0x64, 0xd0, 0x23, 0x12, 0xa4, 0x40, 0x91, 0xf5, 0xa6, 0x1e, 0x31, 0x24, | |
+ 0xd1, 0x0f, 0xfa, 0x91, 0x79, 0x16, 0xbe, 0xdb, 0x3c, 0xe3, 0x51, 0x2e, 0xce, 0x44, 0x39, 0xc2, | |
+ 0x7e, 0x4a, 0x51, 0xf6, 0xc3, 0xc6, 0xe6, 0xb8, 0xa6, 0xed, 0x9a, 0xf4, 0x82, 0x2f, 0x4d, 0x16, | |
+ 0x07, 0x7d, 0x76, 0x6f, 0x9c, 0x90, 0x89, 0x63, 0xdb, 0x63, 0x4d, 0xc0, 0x4d, 0x99, 0x9b, 0x56, | |
+ 0xa4, 0xb0, 0xcd, 0x51, 0xe7, 0x37, 0x99, 0xf0, 0xfc, 0x85, 0x2c, 0xf7, 0xff, 0x2e, 0xc0, 0xea, | |
+ 0x6f, 0xf9, 0xdd, 0x37, 0x9e, 0xbf, 0xd1, 0x09, 0x5c, 0x09, 0x8e, 0xbf, 0x36, 0xe5, 0xb0, 0xe0, | |
+ 0x6f, 0xe8, 0x75, 0xf1, 0xa3, 0x7e, 0x16, 0x17, 0x7b, 0xe8, 0x03, 0x78, 0x72, 0x06, 0xdb, 0x02, | |
+ 0xd7, 0x99, 0x75, 0x21, 0xee, 0x89, 0x38, 0xc4, 0xf9, 0xae, 0xc3, 0x60, 0x65, 0xbf, 0xe3, 0xa9, | |
+ 0x3b, 0x60, 0xd7, 0xa9, 0x28, 0x1d, 0x59, 0xb8, 0xfc, 0xcf, 0x41, 0xd5, 0x25, 0x94, 0x5d, 0xf1, | |
+ 0x63, 0x17, 0xd6, 0x8a, 0x10, 0xca, 0x6b, 0xf0, 0x31, 0x3c, 0xb1, 0x90, 0x96, 0xa0, 0x1f, 0x40, | |
+ 0x29, 0x64, 0x34, 0xe9, 0x84, 0xbb, 0x5f, 0x70, 0x9f, 0x09, 0x75, 0xd5, 0x3f, 0xa6, 0x43, 0x97, | |
+ 0xf1, 0x1b, 0x52, 0x1b, 0x36, 0x5c, 0xe2, 0x4d, 0xc7, 0xe2, 0xce, 0x52, 0xdb, 0x7b, 0x65, 0x3d, | |
+ 0x42, 0xc3, 0xa4, 0xd3, 0x31, 0xc5, 0xd2, 0x58, 0x7d, 0x08, 0x1b, 0x42, 0x82, 0xca, 0x50, 0xb8, | |
+ 0x7f, 0x74, 0xef, 0xa8, 0xfb, 0xfe, 0x51, 0x3d, 0x85, 0x00, 0x36, 0xf6, 0x5b, 0xad, 0xf6, 0x71, | |
+ 0xaf, 0x9e, 0x46, 0x25, 0xc8, 0xef, 0x37, 0xbb, 0xb8, 0x57, 0xcf, 0x30, 0x31, 0x6e, 0xbf, 0xdb, | |
+ 0x6e, 0xf5, 0xea, 0x59, 0x74, 0x05, 0xaa, 0xa2, 0xad, 0xdd, 0xed, 0xe2, 0xf7, 0xf6, 0x7b, 0xf5, | |
+ 0x5c, 0x44, 0x74, 0xd2, 0x3e, 0x7a, 0xa7, 0x8d, 0xeb, 0x79, 0xf5, 0x55, 0x76, 0x29, 0x4a, 0xa0, | |
+ 0x40, 0xe1, 0xf5, 0x27, 0x1d, 0xb9, 0xfe, 0xa8, 0xbf, 0xcf, 0x80, 0x92, 0xcc, 0x6b, 0xd0, 0xbb, | |
+ 0x33, 0x13, 0xdf, 0xbb, 0x04, 0x29, 0x9a, 0x99, 0x3d, 0x7a, 0x1e, 0x6a, 0x2e, 0x39, 0x25, 0x74, | |
+ 0x30, 0x12, 0x3c, 0x4b, 0xa4, 0xcc, 0x2a, 0xae, 0x4a, 0x29, 0x37, 0xf2, 0x84, 0xda, 0xc7, 0x64, | |
+ 0x40, 0x35, 0x81, 0x45, 0x62, 0xd3, 0x95, 0x98, 0x1a, 0x93, 0x9e, 0x08, 0xa1, 0xfa, 0xd1, 0xa5, | |
+ 0x62, 0x59, 0x82, 0x3c, 0x6e, 0xf7, 0xf0, 0x07, 0xf5, 0x2c, 0x42, 0x50, 0xe3, 0x4d, 0xed, 0xe4, | |
+ 0x68, 0xff, 0xf8, 0xa4, 0xd3, 0x65, 0xb1, 0xbc, 0x0a, 0x9b, 0x7e, 0x2c, 0x7d, 0x61, 0x5e, 0xd5, | |
+ 0xc3, 0xdd, 0xb0, 0xe2, 0x0a, 0x88, 0xee, 0x40, 0x51, 0x92, 0x28, 0xff, 0xb0, 0x29, 0xf3, 0x87, | |
+ 0xed, 0x3d, 0xa9, 0x81, 0x03, 0x5d, 0xf5, 0x43, 0xa8, 0xc5, 0x2b, 0x1b, 0x6c, 0x95, 0x5c, 0x7b, | |
+ 0x6a, 0x19, 0x3c, 0xde, 0x79, 0x2c, 0x3a, 0xe8, 0x75, 0xc8, 0x9f, 0xd9, 0xe2, 0x24, 0x2f, 0xde, | |
+ 0xce, 0x0f, 0x6c, 0x4a, 0x22, 0x95, 0x11, 0xa1, 0xad, 0x7e, 0x06, 0x79, 0x7e, 0x30, 0xd9, 0x21, | |
+ 0xe3, 0x35, 0x0a, 0xc9, 0xdb, 0x58, 0x1b, 0x7d, 0x08, 0xa0, 0x53, 0xea, 0x9a, 0xfd, 0x69, 0xe8, | |
+ 0x78, 0x7b, 0xf1, 0xc1, 0xde, 0xf7, 0xf5, 0x9a, 0x37, 0xe4, 0x09, 0xbf, 0x16, 0x9a, 0x46, 0x4e, | |
+ 0x79, 0xc4, 0xa1, 0x7a, 0x04, 0xb5, 0xb8, 0xad, 0xcf, 0x34, 0xc4, 0x18, 0xe2, 0x4c, 0x43, 0x10, | |
+ 0x47, 0xc9, 0x34, 0x02, 0x9e, 0x92, 0x15, 0xf5, 0x28, 0xde, 0x51, 0x3f, 0x4f, 0x43, 0xb1, 0x77, | |
+ 0x2e, 0x97, 0x3c, 0xa1, 0x14, 0x12, 0x9a, 0x66, 0xa2, 0x17, 0x7f, 0x51, 0x5b, 0xc9, 0x06, 0x15, | |
+ 0x9b, 0xb7, 0x83, 0x4d, 0x9d, 0x5b, 0xf7, 0xd6, 0xe6, 0x97, 0xae, 0xe4, 0x41, 0x7e, 0x0b, 0x4a, | |
+ 0x01, 0x2c, 0x33, 0x02, 0xac, 0x1b, 0x86, 0x4b, 0x3c, 0x4f, 0x1e, 0x2d, 0xbf, 0xcb, 0x2b, 0x6b, | |
+ 0xf6, 0xa7, 0xb2, 0xb4, 0x90, 0xc5, 0xa2, 0xa3, 0x1a, 0xb0, 0x39, 0x83, 0xe9, 0xe8, 0x2d, 0x28, | |
+ 0x38, 0xd3, 0xbe, 0xe6, 0x87, 0x67, 0xe6, 0x65, 0xc6, 0xa7, 0x56, 0xd3, 0xfe, 0xd8, 0x1c, 0xdc, | |
+ 0x23, 0x17, 0xfe, 0x60, 0x9c, 0x69, 0xff, 0x9e, 0x88, 0xa2, 0xf8, 0x95, 0x4c, 0xf4, 0x57, 0xce, | |
+ 0xa0, 0xe8, 0x6f, 0x0a, 0xf4, 0x63, 0x28, 0x05, 0xe9, 0x22, 0x28, 0xb8, 0x26, 0xe6, 0x19, 0xe9, | |
+ 0x3e, 0x34, 0x61, 0x3c, 0xdd, 0x33, 0x87, 0x16, 0x31, 0xb4, 0x90, 0x82, 0xf3, 0x5f, 0x2b, 0xe2, | |
+ 0x4d, 0xf1, 0xe1, 0xd0, 0xe7, 0xdf, 0xea, 0xbf, 0xd3, 0x50, 0xf4, 0x0b, 0x6b, 0xe8, 0xd5, 0xc8, | |
+ 0xbe, 0xab, 0x2d, 0x28, 0x2e, 0xf8, 0x8a, 0x61, 0x71, 0x2c, 0x3e, 0xd6, 0xcc, 0xe5, 0xc7, 0x9a, | |
+ 0x54, 0xe5, 0xf4, 0xeb, 0xcd, 0xb9, 0x4b, 0xd7, 0x9b, 0x5f, 0x06, 0x44, 0x6d, 0xaa, 0x8f, 0xb5, | |
+ 0x33, 0x9b, 0x9a, 0xd6, 0x50, 0x13, 0xc1, 0x16, 0x74, 0xa3, 0xce, 0xbf, 0x3c, 0xe0, 0x1f, 0x8e, | |
+ 0x79, 0xdc, 0x7f, 0x95, 0x86, 0x62, 0x90, 0x37, 0x2e, 0x5b, 0xeb, 0xba, 0x0e, 0x1b, 0x12, 0x1a, | |
+ 0x45, 0xb1, 0x4b, 0xf6, 0x82, 0xb2, 0x6b, 0x2e, 0x52, 0x76, 0x55, 0x18, 0xe6, 0x50, 0x9d, 0x27, | |
+ 0x4f, 0x71, 0x0b, 0x0a, 0xfa, 0xb7, 0xdf, 0x84, 0x72, 0xa4, 0xec, 0xc8, 0x4e, 0xde, 0x51, 0xfb, | |
+ 0xfd, 0x7a, 0x4a, 0x29, 0x7c, 0xfe, 0xe5, 0xcd, 0xec, 0x11, 0xf9, 0x94, 0xed, 0x59, 0xdc, 0x6e, | |
+ 0x75, 0xda, 0xad, 0x7b, 0xf5, 0xb4, 0x52, 0xfe, 0xfc, 0xcb, 0x9b, 0x05, 0x4c, 0x78, 0x61, 0xe3, | |
+ 0x76, 0x07, 0x2a, 0xd1, 0x55, 0x89, 0xa3, 0x2b, 0x82, 0xda, 0x3b, 0xf7, 0x8f, 0x0f, 0x0f, 0x5a, | |
+ 0xfb, 0xbd, 0xb6, 0xf6, 0xa0, 0xdb, 0x6b, 0xd7, 0xd3, 0xe8, 0x49, 0xb8, 0x7a, 0x78, 0xf0, 0xd3, | |
+ 0x4e, 0x4f, 0x6b, 0x1d, 0x1e, 0xb4, 0x8f, 0x7a, 0xda, 0x7e, 0xaf, 0xb7, 0xdf, 0xba, 0x57, 0xcf, | |
+ 0xec, 0xfd, 0x0e, 0x60, 0x73, 0xbf, 0xd9, 0x3a, 0x60, 0x99, 0xc1, 0x1c, 0xe8, 0xfc, 0x8a, 0xda, | |
+ 0x82, 0x1c, 0xbf, 0x84, 0x2e, 0x7d, 0xe4, 0x54, 0x96, 0x97, 0xbc, 0xd0, 0x5d, 0xc8, 0xf3, 0xfb, | |
+ 0x29, 0x5a, 0xfe, 0xea, 0xa9, 0xac, 0xa8, 0x81, 0xb1, 0xc1, 0xf0, 0xe3, 0xb1, 0xf4, 0x19, 0x54, | |
+ 0x59, 0x5e, 0x12, 0x43, 0x18, 0x4a, 0x21, 0xbf, 0x5d, 0xfd, 0x2c, 0xa8, 0xac, 0x01, 0x36, 0xe8, | |
+ 0x10, 0x0a, 0xfe, 0x95, 0x64, 0xd5, 0x43, 0xa5, 0xb2, 0xb2, 0x66, 0xc5, 0xc2, 0x25, 0xae, 0x8e, | |
+ 0xcb, 0x5f, 0x5d, 0x95, 0x15, 0x05, 0x38, 0x74, 0x00, 0x1b, 0x92, 0xb3, 0xad, 0x78, 0x7c, 0x54, | |
+ 0x56, 0xd5, 0xa0, 0x58, 0xd0, 0xc2, 0x4b, 0xf9, 0xea, 0xb7, 0x64, 0x65, 0x8d, 0xda, 0x22, 0xba, | |
+ 0x0f, 0x10, 0xb9, 0x28, 0xae, 0xf1, 0x48, 0xac, 0xac, 0x53, 0x33, 0x44, 0x5d, 0x28, 0x06, 0xbc, | |
+ 0x7d, 0xe5, 0x93, 0xad, 0xb2, 0xba, 0x78, 0x87, 0x1e, 0x42, 0x35, 0xce, 0x57, 0xd7, 0x7b, 0x88, | |
+ 0x55, 0xd6, 0xac, 0xca, 0x31, 0xff, 0x71, 0xf2, 0xba, 0xde, 0xc3, 0xac, 0xb2, 0x66, 0x91, 0x0e, | |
+ 0x7d, 0x0c, 0x57, 0xe6, 0xc9, 0xe5, 0xfa, 0xef, 0xb4, 0xca, 0x25, 0xca, 0x76, 0x68, 0x02, 0x68, | |
+ 0x01, 0x29, 0xbd, 0xc4, 0xb3, 0xad, 0x72, 0x99, 0x2a, 0x1e, 0x0b, 0x5d, 0x9c, 0xe9, 0xad, 0xf7, | |
+ 0x8c, 0xab, 0xac, 0x59, 0xcf, 0x6b, 0xb6, 0xbf, 0xfa, 0x76, 0x2b, 0xfd, 0xf5, 0xb7, 0x5b, 0xe9, | |
+ 0xbf, 0x7f, 0xbb, 0x95, 0xfe, 0xe2, 0xf1, 0x56, 0xea, 0xeb, 0xc7, 0x5b, 0xa9, 0xbf, 0x3c, 0xde, | |
+ 0x4a, 0xfd, 0xfc, 0xa5, 0xa1, 0x49, 0x47, 0xd3, 0xfe, 0xce, 0xc0, 0x9e, 0xec, 0x46, 0xff, 0x6f, | |
+ 0xb2, 0xe8, 0x3f, 0x30, 0xfd, 0x0d, 0x9e, 0xb4, 0x5e, 0xfb, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, | |
+ 0x4a, 0xe7, 0x9d, 0x11, 0x23, 0x23, 0x00, 0x00, | |
} | |
// Reference imports to suppress errors if they are not otherwise used. | |
@@ -3158,6 +3287,7 @@ | |
OfferSnapshot(ctx context.Context, in *RequestOfferSnapshot, opts ...grpc.CallOption) (*ResponseOfferSnapshot, error) | |
LoadSnapshotChunk(ctx context.Context, in *RequestLoadSnapshotChunk, opts ...grpc.CallOption) (*ResponseLoadSnapshotChunk, error) | |
ApplySnapshotChunk(ctx context.Context, in *RequestApplySnapshotChunk, opts ...grpc.CallOption) (*ResponseApplySnapshotChunk, error) | |
+ PreprocessTxs(ctx context.Context, in *RequestPreprocessTxs, opts ...grpc.CallOption) (*ResponsePreprocessTxs, error) | |
} | |
type aBCIApplicationClient struct { | |
@@ -3293,6 +3423,15 @@ | |
} | |
return out, nil | |
} | |
+ | |
+func (c *aBCIApplicationClient) PreprocessTxs(ctx context.Context, in *RequestPreprocessTxs, opts ...grpc.CallOption) (*ResponsePreprocessTxs, error) { | |
+ out := new(ResponsePreprocessTxs) | |
+ err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/PreprocessTxs", in, out, opts...) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return out, nil | |
+} | |
// ABCIApplicationServer is the server API for ABCIApplication service. | |
type ABCIApplicationServer interface { | |
@@ -3310,6 +3449,7 @@ | |
OfferSnapshot(context.Context, *RequestOfferSnapshot) (*ResponseOfferSnapshot, error) | |
LoadSnapshotChunk(context.Context, *RequestLoadSnapshotChunk) (*ResponseLoadSnapshotChunk, error) | |
ApplySnapshotChunk(context.Context, *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) | |
+ PreprocessTxs(context.Context, *RequestPreprocessTxs) (*ResponsePreprocessTxs, error) | |
} | |
// UnimplementedABCIApplicationServer can be embedded to have forward compatible implementations. | |
@@ -3358,6 +3498,9 @@ | |
func (*UnimplementedABCIApplicationServer) ApplySnapshotChunk(ctx context.Context, req *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) { | |
return nil, status.Errorf(codes.Unimplemented, "method ApplySnapshotChunk not implemented") | |
} | |
+func (*UnimplementedABCIApplicationServer) PreprocessTxs(ctx context.Context, req *RequestPreprocessTxs) (*ResponsePreprocessTxs, error) { | |
+ return nil, status.Errorf(codes.Unimplemented, "method PreprocessTxs not implemented") | |
+} | |
func RegisterABCIApplicationServer(s *grpc.Server, srv ABCIApplicationServer) { | |
s.RegisterService(&_ABCIApplication_serviceDesc, srv) | |
@@ -3614,6 +3757,24 @@ | |
} | |
return interceptor(ctx, in, info, handler) | |
} | |
+ | |
+func _ABCIApplication_PreprocessTxs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | |
+ in := new(RequestPreprocessTxs) | |
+ if err := dec(in); err != nil { | |
+ return nil, err | |
+ } | |
+ if interceptor == nil { | |
+ return srv.(ABCIApplicationServer).PreprocessTxs(ctx, in) | |
+ } | |
+ info := &grpc.UnaryServerInfo{ | |
+ Server: srv, | |
+ FullMethod: "/tendermint.abci.ABCIApplication/PreprocessTxs", | |
+ } | |
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) { | |
+ return srv.(ABCIApplicationServer).PreprocessTxs(ctx, req.(*RequestPreprocessTxs)) | |
+ } | |
+ return interceptor(ctx, in, info, handler) | |
+} | |
var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ | |
ServiceName: "tendermint.abci.ABCIApplication", | |
@@ -3675,6 +3836,10 @@ | |
MethodName: "ApplySnapshotChunk", | |
Handler: _ABCIApplication_ApplySnapshotChunk_Handler, | |
}, | |
+ { | |
+ MethodName: "PreprocessTxs", | |
+ Handler: _ABCIApplication_PreprocessTxs_Handler, | |
+ }, | |
}, | |
Streams: []grpc.StreamDesc{}, | |
Metadata: "tendermint/abci/types.proto", | |
@@ -4006,6 +4171,27 @@ | |
} | |
return len(dAtA) - i, nil | |
} | |
+func (m *Request_PreprocessTxs) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *Request_PreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ if m.PreprocessTxs != nil { | |
+ { | |
+ size, err := m.PreprocessTxs.MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0x7a | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
func (m *RequestEcho) Marshal() (dAtA []byte, err error) { | |
size := m.Size() | |
dAtA = make([]byte, size) | |
@@ -4171,12 +4357,12 @@ | |
i-- | |
dAtA[i] = 0x12 | |
} | |
- n16, err16 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) | |
- if err16 != nil { | |
- return 0, err16 | |
+ n17, err17 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) | |
+ if err17 != nil { | |
+ return 0, err17 | |
} | |
- i -= n16 | |
- i = encodeVarintTypes(dAtA, i, uint64(n16)) | |
+ i -= n17 | |
+ i = encodeVarintTypes(dAtA, i, uint64(n17)) | |
i-- | |
dAtA[i] = 0xa | |
return len(dAtA) - i, nil | |
@@ -4559,6 +4745,38 @@ | |
return len(dAtA) - i, nil | |
} | |
+func (m *RequestPreprocessTxs) Marshal() (dAtA []byte, err error) { | |
+ size := m.Size() | |
+ dAtA = make([]byte, size) | |
+ n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return dAtA[:n], nil | |
+} | |
+ | |
+func (m *RequestPreprocessTxs) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *RequestPreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ _ = i | |
+ var l int | |
+ _ = l | |
+ if len(m.Txs) > 0 { | |
+ for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- { | |
+ i -= len(m.Txs[iNdEx]) | |
+ copy(dAtA[i:], m.Txs[iNdEx]) | |
+ i = encodeVarintTypes(dAtA, i, uint64(len(m.Txs[iNdEx]))) | |
+ i-- | |
+ dAtA[i] = 0xa | |
+ } | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
+ | |
func (m *Response) Marshal() (dAtA []byte, err error) { | |
size := m.Size() | |
dAtA = make([]byte, size) | |
@@ -4904,6 +5122,29 @@ | |
i-- | |
dAtA[i] = 0x7a | |
} | |
+ return len(dAtA) - i, nil | |
+} | |
+func (m *Response_PreprocessTxs) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *Response_PreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ if m.PreprocessTxs != nil { | |
+ { | |
+ size, err := m.PreprocessTxs.MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0x1 | |
+ i-- | |
+ dAtA[i] = 0x82 | |
+ } | |
return len(dAtA) - i, nil | |
} | |
func (m *ResponseException) Marshal() (dAtA []byte, err error) { | |
@@ -5623,20 +5864,20 @@ | |
} | |
} | |
if len(m.RefetchChunks) > 0 { | |
- dAtA39 := make([]byte, len(m.RefetchChunks)*10) | |
- var j38 int | |
+ dAtA41 := make([]byte, len(m.RefetchChunks)*10) | |
+ var j40 int | |
for _, num := range m.RefetchChunks { | |
for num >= 1<<7 { | |
- dAtA39[j38] = uint8(uint64(num)&0x7f | 0x80) | |
+ dAtA41[j40] = uint8(uint64(num)&0x7f | 0x80) | |
num >>= 7 | |
- j38++ | |
+ j40++ | |
} | |
- dAtA39[j38] = uint8(num) | |
- j38++ | |
+ dAtA41[j40] = uint8(num) | |
+ j40++ | |
} | |
- i -= j38 | |
- copy(dAtA[i:], dAtA39[:j38]) | |
- i = encodeVarintTypes(dAtA, i, uint64(j38)) | |
+ i -= j40 | |
+ copy(dAtA[i:], dAtA41[:j40]) | |
+ i = encodeVarintTypes(dAtA, i, uint64(j40)) | |
i-- | |
dAtA[i] = 0x12 | |
} | |
@@ -5647,6 +5888,50 @@ | |
} | |
return len(dAtA) - i, nil | |
} | |
+ | |
+func (m *ResponsePreprocessTxs) Marshal() (dAtA []byte, err error) { | |
+ size := m.Size() | |
+ dAtA = make([]byte, size) | |
+ n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
+ if err != nil { | |
+ return nil, err | |
+ } | |
+ return dAtA[:n], nil | |
+} | |
+ | |
+func (m *ResponsePreprocessTxs) MarshalTo(dAtA []byte) (int, error) { | |
+ size := m.Size() | |
+ return m.MarshalToSizedBuffer(dAtA[:size]) | |
+} | |
+ | |
+func (m *ResponsePreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
+ i := len(dAtA) | |
+ _ = i | |
+ var l int | |
+ _ = l | |
+ if m.Messages != nil { | |
+ { | |
+ size, err := m.Messages.MarshalToSizedBuffer(dAtA[:i]) | |
+ if err != nil { | |
+ return 0, err | |
+ } | |
+ i -= size | |
+ i = encodeVarintTypes(dAtA, i, uint64(size)) | |
+ } | |
+ i-- | |
+ dAtA[i] = 0x12 | |
+ } | |
+ if len(m.Txs) > 0 { | |
+ for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- { | |
+ i -= len(m.Txs[iNdEx]) | |
+ copy(dAtA[i:], m.Txs[iNdEx]) | |
+ i = encodeVarintTypes(dAtA, i, uint64(len(m.Txs[iNdEx]))) | |
+ i-- | |
+ dAtA[i] = 0xa | |
+ } | |
+ } | |
+ return len(dAtA) - i, nil | |
+} | |
func (m *LastCommitInfo) Marshal() (dAtA []byte, err error) { | |
size := m.Size() | |
@@ -5972,12 +6257,12 @@ | |
i-- | |
dAtA[i] = 0x28 | |
} | |
- n43, err43 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) | |
- if err43 != nil { | |
- return 0, err43 | |
+ n46, err46 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) | |
+ if err46 != nil { | |
+ return 0, err46 | |
} | |
- i -= n43 | |
- i = encodeVarintTypes(dAtA, i, uint64(n43)) | |
+ i -= n46 | |
+ i = encodeVarintTypes(dAtA, i, uint64(n46)) | |
i-- | |
dAtA[i] = 0x22 | |
if m.Height != 0 { | |
@@ -6246,6 +6531,18 @@ | |
} | |
return n | |
} | |
+func (m *Request_PreprocessTxs) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if m.PreprocessTxs != nil { | |
+ l = m.PreprocessTxs.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ return n | |
+} | |
func (m *RequestEcho) Size() (n int) { | |
if m == nil { | |
return 0 | |
@@ -6482,6 +6779,21 @@ | |
} | |
return n | |
} | |
+ | |
+func (m *RequestPreprocessTxs) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if len(m.Txs) > 0 { | |
+ for _, b := range m.Txs { | |
+ l = len(b) | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ } | |
+ return n | |
+} | |
func (m *Response) Size() (n int) { | |
if m == nil { | |
@@ -6675,6 +6987,18 @@ | |
} | |
return n | |
} | |
+func (m *Response_PreprocessTxs) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if m.PreprocessTxs != nil { | |
+ l = m.PreprocessTxs.Size() | |
+ n += 2 + l + sovTypes(uint64(l)) | |
+ } | |
+ return n | |
+} | |
func (m *ResponseException) Size() (n int) { | |
if m == nil { | |
return 0 | |
@@ -7013,6 +7337,25 @@ | |
} | |
return n | |
} | |
+ | |
+func (m *ResponsePreprocessTxs) Size() (n int) { | |
+ if m == nil { | |
+ return 0 | |
+ } | |
+ var l int | |
+ _ = l | |
+ if len(m.Txs) > 0 { | |
+ for _, b := range m.Txs { | |
+ l = len(b) | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ } | |
+ if m.Messages != nil { | |
+ l = m.Messages.Size() | |
+ n += 1 + l + sovTypes(uint64(l)) | |
+ } | |
+ return n | |
+} | |
func (m *LastCommitInfo) Size() (n int) { | |
if m == nil { | |
@@ -7709,6 +8052,41 @@ | |
} | |
m.Value = &Request_ApplySnapshotChunk{v} | |
iNdEx = postIndex | |
+ case 15: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field PreprocessTxs", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ v := &RequestPreprocessTxs{} | |
+ if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ m.Value = &Request_PreprocessTxs{v} | |
+ iNdEx = postIndex | |
default: | |
iNdEx = preIndex | |
skippy, err := skipTypes(dAtA[iNdEx:]) | |
@@ -9303,6 +9681,88 @@ | |
iNdEx += skippy | |
} | |
} | |
+ | |
+ if iNdEx > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ return nil | |
+} | |
+func (m *RequestPreprocessTxs) Unmarshal(dAtA []byte) error { | |
+ l := len(dAtA) | |
+ iNdEx := 0 | |
+ for iNdEx < l { | |
+ preIndex := iNdEx | |
+ var wire uint64 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ wire |= uint64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ fieldNum := int32(wire >> 3) | |
+ wireType := int(wire & 0x7) | |
+ if wireType == 4 { | |
+ return fmt.Errorf("proto: RequestPreprocessTxs: wiretype end group for non-group") | |
+ } | |
+ if fieldNum <= 0 { | |
+ return fmt.Errorf("proto: RequestPreprocessTxs: illegal tag %d (wire type %d)", fieldNum, wire) | |
+ } | |
+ switch fieldNum { | |
+ case 1: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType) | |
+ } | |
+ var byteLen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ byteLen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if byteLen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + byteLen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ m.Txs = append(m.Txs, make([]byte, postIndex-iNdEx)) | |
+ copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex]) | |
+ iNdEx = postIndex | |
+ default: | |
+ iNdEx = preIndex | |
+ skippy, err := skipTypes(dAtA[iNdEx:]) | |
+ if err != nil { | |
+ return err | |
+ } | |
+ if (skippy < 0) || (iNdEx+skippy) < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if (iNdEx + skippy) > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ iNdEx += skippy | |
+ } | |
+ } | |
if iNdEx > l { | |
return io.ErrUnexpectedEOF | |
@@ -9863,6 +10323,41 @@ | |
} | |
m.Value = &Response_ApplySnapshotChunk{v} | |
iNdEx = postIndex | |
+ case 16: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field PreprocessTxs", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ v := &ResponsePreprocessTxs{} | |
+ if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ m.Value = &Response_PreprocessTxs{v} | |
+ iNdEx = postIndex | |
default: | |
iNdEx = preIndex | |
skippy, err := skipTypes(dAtA[iNdEx:]) | |
@@ -12119,6 +12614,124 @@ | |
iNdEx += skippy | |
} | |
} | |
+ | |
+ if iNdEx > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ return nil | |
+} | |
+func (m *ResponsePreprocessTxs) Unmarshal(dAtA []byte) error { | |
+ l := len(dAtA) | |
+ iNdEx := 0 | |
+ for iNdEx < l { | |
+ preIndex := iNdEx | |
+ var wire uint64 | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ wire |= uint64(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ fieldNum := int32(wire >> 3) | |
+ wireType := int(wire & 0x7) | |
+ if wireType == 4 { | |
+ return fmt.Errorf("proto: ResponsePreprocessTxs: wiretype end group for non-group") | |
+ } | |
+ if fieldNum <= 0 { | |
+ return fmt.Errorf("proto: ResponsePreprocessTxs: illegal tag %d (wire type %d)", fieldNum, wire) | |
+ } | |
+ switch fieldNum { | |
+ case 1: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType) | |
+ } | |
+ var byteLen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ byteLen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if byteLen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + byteLen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ m.Txs = append(m.Txs, make([]byte, postIndex-iNdEx)) | |
+ copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex]) | |
+ iNdEx = postIndex | |
+ case 2: | |
+ if wireType != 2 { | |
+ return fmt.Errorf("proto: wrong wireType = %d for field Messages", wireType) | |
+ } | |
+ var msglen int | |
+ for shift := uint(0); ; shift += 7 { | |
+ if shift >= 64 { | |
+ return ErrIntOverflowTypes | |
+ } | |
+ if iNdEx >= l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ b := dAtA[iNdEx] | |
+ iNdEx++ | |
+ msglen |= int(b&0x7F) << shift | |
+ if b < 0x80 { | |
+ break | |
+ } | |
+ } | |
+ if msglen < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ postIndex := iNdEx + msglen | |
+ if postIndex < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if postIndex > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ if m.Messages == nil { | |
+ m.Messages = &types1.Messages{} | |
+ } | |
+ if err := m.Messages.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
+ return err | |
+ } | |
+ iNdEx = postIndex | |
+ default: | |
+ iNdEx = preIndex | |
+ skippy, err := skipTypes(dAtA[iNdEx:]) | |
+ if err != nil { | |
+ return err | |
+ } | |
+ if (skippy < 0) || (iNdEx+skippy) < 0 { | |
+ return ErrInvalidLengthTypes | |
+ } | |
+ if (iNdEx + skippy) > l { | |
+ return io.ErrUnexpectedEOF | |
+ } | |
+ iNdEx += skippy | |
+ } | |
+ } | |
if iNdEx > l { | |
return io.ErrUnexpectedEOF | |
Index: internal/consensus/mempool_test.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/internal/consensus/mempool_test.go b/internal/consensus/mempool_test.go | |
--- a/internal/consensus/mempool_test.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/internal/consensus/mempool_test.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -270,3 +270,8 @@ | |
binary.BigEndian.PutUint64(hash, uint64(app.txCount)) | |
return abci.ResponseCommit{Data: hash} | |
} | |
+ | |
+func (app *CounterApplication) PreprocessTxs( | |
+ req abci.RequestPreprocessTxs) abci.ResponsePreprocessTxs { | |
+ return abci.ResponsePreprocessTxs{Txs: req.Txs} | |
+} | |
Index: proto/tendermint/abci/types.proto | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/proto/tendermint/abci/types.proto b/proto/tendermint/abci/types.proto | |
--- a/proto/tendermint/abci/types.proto (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/proto/tendermint/abci/types.proto (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -35,6 +35,7 @@ | |
RequestOfferSnapshot offer_snapshot = 12; | |
RequestLoadSnapshotChunk load_snapshot_chunk = 13; | |
RequestApplySnapshotChunk apply_snapshot_chunk = 14; | |
+ RequestPreprocessTxs preprocess_txs = 15; | |
} | |
} | |
@@ -117,6 +118,10 @@ | |
string sender = 3; | |
} | |
+message RequestPreprocessTxs { | |
+ repeated bytes txs = 1; | |
+} | |
+ | |
//---------------------------------------- | |
// Response types | |
@@ -137,6 +142,7 @@ | |
ResponseOfferSnapshot offer_snapshot = 13; | |
ResponseLoadSnapshotChunk load_snapshot_chunk = 14; | |
ResponseApplySnapshotChunk apply_snapshot_chunk = 15; | |
+ ResponsePreprocessTxs preprocess_txs = 16; | |
} | |
} | |
@@ -262,6 +268,11 @@ | |
} | |
} | |
+message ResponsePreprocessTxs { | |
+ repeated bytes txs = 1; | |
+ tendermint.types.Messages messages = 2; | |
+} | |
+ | |
//---------------------------------------- | |
// Misc. | |
@@ -366,4 +377,5 @@ | |
rpc OfferSnapshot(RequestOfferSnapshot) returns (ResponseOfferSnapshot); | |
rpc LoadSnapshotChunk(RequestLoadSnapshotChunk) returns (ResponseLoadSnapshotChunk); | |
rpc ApplySnapshotChunk(RequestApplySnapshotChunk) returns (ResponseApplySnapshotChunk); | |
+ rpc PreprocessTxs(RequestPreprocessTxs) returns (ResponsePreprocessTxs); | |
} | |
Index: proxy/app_conn.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/proxy/app_conn.go b/proxy/app_conn.go | |
--- a/proxy/app_conn.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/proxy/app_conn.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -22,6 +22,8 @@ | |
DeliverTxAsync(context.Context, types.RequestDeliverTx) (*abcicli.ReqRes, error) | |
EndBlockSync(context.Context, types.RequestEndBlock) (*types.ResponseEndBlock, error) | |
CommitSync(context.Context) (*types.ResponseCommit, error) | |
+ | |
+ PreprocessTxsSync(context.Context, types.RequestPreprocessTxs) (*types.ResponsePreprocessTxs, error) | |
} | |
type AppConnMempool interface { | |
@@ -102,6 +104,13 @@ | |
return app.appConn.CommitSync(ctx) | |
} | |
+func (app *appConnConsensus) PreprocessTxsSync( | |
+ ctx context.Context, | |
+ req types.RequestPreprocessTxs, | |
+) (*types.ResponsePreprocessTxs, error) { | |
+ return app.appConn.PreprocessTxsSync(ctx, req) | |
+} | |
+ | |
//------------------------------------------------ | |
// Implements AppConnMempool (subset of abcicli.Client) | |
Index: proxy/mocks/app_conn_consensus.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/proxy/mocks/app_conn_consensus.go b/proxy/mocks/app_conn_consensus.go | |
--- a/proxy/mocks/app_conn_consensus.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/proxy/mocks/app_conn_consensus.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -146,6 +146,29 @@ | |
return r0, r1 | |
} | |
+// PreprocessTxsSync provides a mock function with given fields: _a0, _a1 | |
+func (_m *AppConnConsensus) PreprocessTxsSync(_a0 context.Context, _a1 types.RequestPreprocessTxs) (*types.ResponsePreprocessTxs, error) { | |
+ ret := _m.Called(_a0, _a1) | |
+ | |
+ var r0 *types.ResponsePreprocessTxs | |
+ if rf, ok := ret.Get(0).(func(context.Context, types.RequestPreprocessTxs) *types.ResponsePreprocessTxs); ok { | |
+ r0 = rf(_a0, _a1) | |
+ } else { | |
+ if ret.Get(0) != nil { | |
+ r0 = ret.Get(0).(*types.ResponsePreprocessTxs) | |
+ } | |
+ } | |
+ | |
+ var r1 error | |
+ if rf, ok := ret.Get(1).(func(context.Context, types.RequestPreprocessTxs) error); ok { | |
+ r1 = rf(_a0, _a1) | |
+ } else { | |
+ r1 = ret.Error(1) | |
+ } | |
+ | |
+ return r0, r1 | |
+} | |
+ | |
// SetResponseCallback provides a mock function with given fields: _a0 | |
func (_m *AppConnConsensus) SetResponseCallback(_a0 abcicli.Callback) { | |
_m.Called(_a0) | |
Index: test/e2e/app/app.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/test/e2e/app/app.go b/test/e2e/app/app.go | |
--- a/test/e2e/app/app.go (revision d9c4d6b183f1ab0086f3e987235219aeafa4faaa) | |
+++ b/test/e2e/app/app.go (revision 9133b9c955511d416df496edc09cbf389bd80852) | |
@@ -204,6 +204,12 @@ | |
return abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_ACCEPT} | |
} | |
+// PreprocessTxs implements ABCI | |
+func (app *Application) PreprocessTxs( | |
+ req abci.RequestPreprocessTxs) abci.ResponsePreprocessTxs { | |
+ return abci.ResponsePreprocessTxs{Txs: req.Txs} | |
+} | |
+ | |
// validatorUpdates generates a validator set update. | |
func (app *Application) validatorUpdates(height uint64) (abci.ValidatorUpdates, error) { | |
updates := app.cfg.ValidatorUpdates[fmt.Sprintf("%v", height)] | |
Index: CELESTIA_CHANGELOG.md | |
=================================================================== | |
diff --git a/CELESTIA_CHANGELOG.md b/CELESTIA_CHANGELOG.md | |
new file mode 100644 | |
--- /dev/null (revision 6cac5127e0e74fcf9e2ecb0ac84b5a3b460946c4) | |
+++ b/CELESTIA_CHANGELOG.md (revision 6cac5127e0e74fcf9e2ecb0ac84b5a3b460946c4) | |
@@ -0,0 +1,18 @@ | |
+# Celestia Specific Changelog | |
+ | |
+## v0.1 | |
+ | |
+### BREAKING CHANGES | |
+ | |
+- Constants | |
+ - [consts] \#83 and #530 Celestia specific consts were added in their own package | |
+ | |
+- Data Hash | |
+ - [types] \#246 Spec compliant share splitting | |
+ - [types] \#261 Spec compliant merge shares | |
+ - [types] \#83 Transactions, intermediate state roots, evidence, and messages are now included in the block data. | |
+ - [da] \#83 and \#539 Introduction of the `DataAvailabilityHeader` and block data erasure | |
+ - [types] \#539 the data hash now commits to the erasured block data instead of only the raw transactions | |
+ | |
+- App | |
+ - [app] \#110 and #541 Introduction of an additional ABCI method, `PreprocessTxs` | |
Index: docs/celestia-architecture/README copy.md | |
=================================================================== | |
diff --git a/docs/celestia-architecture/README copy.md b/docs/celestia-architecture/README copy.md | |
new file mode 100644 | |
--- /dev/null (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
+++ b/docs/celestia-architecture/README copy.md (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
@@ -0,0 +1,37 @@ | |
+--- | |
+order: 1 | |
+parent: | |
+ order: false | |
+--- | |
+ | |
+# Architecture Decision Records (ADR) | |
+ | |
+This is a location to record all high-level architecture decisions in this repository. | |
+ | |
+You can read more about the ADR concept in this [blog post](https://product.reverb.com/documenting-architecture-decisions-the-reverb-way-a3563bb24bd0#.78xhdix6t). | |
+ | |
+An ADR should provide: | |
+ | |
+- Context on the relevant goals and the current state | |
+- Proposed changes to achieve the goals | |
+- Summary of pros and cons | |
+- References | |
+- Changelog | |
+ | |
+Note the distinction between an ADR and a spec. The ADR provides the context, intuition, reasoning, and | |
+justification for a change in architecture, or for the architecture of something | |
+new. The spec is much more compressed and streamlined summary of everything as | |
+it stands today. | |
+ | |
+If recorded decisions turned out to be lacking, convene a discussion, record the new decisions here, and then modify the code to match. | |
+ | |
+Note the context/background should be written in the present tense. | |
+ | |
+To start a new ADR, you can use this template: [adr-template.md](./adr-template.md) | |
+ | |
+### Table of Contents: | |
+ | |
+- [ADR 001: Erasure Coding Block Propagation](./adr-001-block-propagation.md) | |
+- [ADR 002: Sampling erasure coded Block chunks](./adr-002-ipld-da-sampling.md) | |
+- [ADR 003: Retrieving Application messages](./adr-003-application-data-retrieval.md) | |
+- [ADR 004: Data Availability Sampling Light Client](./adr-004-mvp-light-client.md) | |
Index: docs/celestia-architecture/README.md | |
=================================================================== | |
diff --git a/docs/celestia-architecture/README.md b/docs/celestia-architecture/README.md | |
new file mode 100644 | |
--- /dev/null (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
+++ b/docs/celestia-architecture/README.md (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
@@ -0,0 +1,22 @@ | |
+# Tendermint and Celestia | |
+ | |
+celestia-core is not meant to be used as a general purpose framework. | |
+Instead, its main purpose is to provide certain components (mainly consensus but also a p2p layer for Tx gossiping) for the Celestia main chain. | |
+Hence, we do not provide any extensive documentation here. | |
+ | |
+Instead of keeping a copy of the Tendermint documentation, we refer to the existing extensive and maintained documentation and specification: | |
+ | |
+ - https://docs.tendermint.com/ | |
+ - https://github.com/tendermint/tendermint/tree/master/docs/ | |
+ - https://github.com/tendermint/spec | |
+ | |
+Reading these will give you a lot of background and context on Tendermint which will also help you understand how celestia-core and [celestia-app](https://github.com/celestiaorg/celestia-app) interact with each other. | |
+ | |
+# Celestia | |
+ | |
+As mentioned above, celestia-core aims to be more focused on the Celestia use-case than vanilla Tendermint. | |
+Moving forward we might provide a clear overview on the changes we incorporated. | |
+For now, we refer to the Celestia specific [ADRs](./adr) in this repository as well as to the Celestia specification: | |
+ | |
+ - [celestia-adr](./adr) | |
+ - [celestia-specs](https://github.com/celestiaorg/celestia-specs) | |
Index: docs/celestia-architecture/adr-001-block-propagation.md | |
=================================================================== | |
diff --git a/docs/celestia-architecture/adr-001-block-propagation.md b/docs/celestia-architecture/adr-001-block-propagation.md | |
new file mode 100644 | |
--- /dev/null (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
+++ b/docs/celestia-architecture/adr-001-block-propagation.md (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
@@ -0,0 +1,124 @@ | |
+# ADR 001: Erasure Coding Block Propagation | |
+ | |
+## Changelog | |
+ | |
+- 16-2-2021: Created | |
+ | |
+## Context | |
+ | |
+Block propagation is currently done by splitting the block into arbitrary chunks and gossiping them to validators via a gossip routine. While this does not have downsides it does not meet the needs of the Celestia chain. The celestia chain requires blocks to be encoded in a different way and for the proposer to not propagate the chunks to peers. | |
+ | |
+Celestia wants validators to pull the block from a IPFS network. What does this mean? As I touched on earlier the proposer pushes the block to the network, this in turn means that each validator downloads and reconstructs the block each time to verify it. Instead Celestia will encode and split up the block via erasure codes, stored locally in the nodes IPFS daemon. After the proposer has sent the block to IPFS and received the CIDs it will include them into the proposal. This proposal will be gossiped to other validators, once a validator receives the proposal it will begin requesting the CIDs included in the proposal. | |
+ | |
+There are two forms of a validator, one that downloads the block and one that samples it. What does sampling mean? Sampling is the act of checking that a portion or entire block is available for download. | |
+ | |
+## Detailed Design | |
+ | |
+The proposed design is as follows. | |
+ | |
+### Types | |
+ | |
+The proposal and vote types have a BlockID, this will be replaced with a header hash. The proposal will contain add fields. | |
+ | |
+The current proposal will be updated to include required fields. The entirety of the message will be reworked at a later date. To see the extent of the needed changes you can visit the [spec repo](https://github.com/celestiaorg/celestia-specs/blob/master/specs/proto/consensus.proto#L19) | |
+ | |
+```proto | |
+message Proposal { | |
+ SignedMsgType type = 1; | |
+ int64 height = 2; | |
+ int32 round = 3; | |
+ int32 pol_round = 4; | |
+ | |
+ +++ | |
+ // 32-byte hash | |
+ bytes last_header_hash = 5; | |
+ // 32-byte hash | |
+ bytes last_commit_hash = 6; | |
+ // 32-byte hash | |
+ bytes consensus_root = 7; | |
+ FeeHeader fee_header = 8; | |
+ // 32-byte hash | |
+ bytes state_commitment = 9; | |
+ uint64 available_data_original_shares_used = 10; | |
+ AvailableDataHeader available_data_header = 11; | |
+ +++ | |
+ | |
+ google.protobuf.Timestamp timestamp = 12 | |
+ [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; | |
+ bytes signature = 12; | |
+} | |
+``` | |
+ | |
+```proto | |
+// Vote represents a prevote, precommit, or commit vote from validators for | |
+// consensus. | |
+message Vote { | |
+ SignedMsgType type = 1; | |
+ int64 height = 2; | |
+ int32 round = 3; | |
+ +++ | |
+ bytes header_hash = 4; | |
+ +++ | |
+ google.protobuf.Timestamp timestamp = 5 | |
+ [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; | |
+ bytes validator_address = 6; | |
+ int32 validator_index = 7; | |
+ bytes signature = 8; | |
+} | |
+``` | |
+ | |
+See [specs](https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#vote) for more details on the vote. | |
+ | |
+### Disk Storage | |
+ | |
+Currently celestia-core stores all blocks in its store. Going forward only the headers of the blocks within the unbonding period will be stored. This will drastically reduce the amount of storage required by a celestia-core node. After the unbonding period all headers will have the option of being pruned. | |
+ | |
+Proposed amendment to `BlockStore` interface | |
+ | |
+```go | |
+type BlockStore interface { | |
+ Base() int64 | |
+ Height() int64 | |
+ Size() int64 | |
+ | |
+ LoadBlockMeta(height int64) *types.BlockMeta | |
+ LoadHeader(height int64) *types.Header | |
+ LoadDAHeader(height int64) *types.DataAvailabilityHeader | |
+ | |
+ SaveHeaders(header *types.Header, daHeader *types.DataAvailabilityHeader, seenCommit *types.Commit) | |
+ | |
+ PruneHeaders(height int64) (uint64, error) | |
+ | |
+ LoadBlockCommit(height int64) *types.Commit | |
+ LoadSeenCommit(height int64) *types.Commit | |
+} | |
+``` | |
+ | |
+Along side these changes the rpc layer will need to change. Instead of querying the LL-core store, the node will redirect the query through IPFS. | |
+ | |
+Example: | |
+ | |
+When a user requests a block from the LL node, the request will be set to the IPLD plugin. If the IPLD does not have the requested block, it will make a request to the celestia IPFS network for the required CIDs. If the full node does not have the DAheader they will not be able to request the block data. | |
+ | |
+![user request flow](./assets/user-request.png) | |
+ | |
+The goal is to not change the public interface for RPC's. It is yet to be seen if this possible. This means that CIDs will need to be set and loaded from the store in order to get all the related block information an user requires. | |
+ | |
+## Status | |
+ | |
+Proposed | |
+ | |
+ | |
+### Positive | |
+ | |
+- Minimal breakage to public interface | |
+- Only store the block in a single place (IPFS) | |
+- Reduce the public interface of the storage within Celestia. | |
+ | |
+### Negative | |
+ | |
+- User requests may take more time to process | |
+ | |
+### Neutral | |
+ | |
+## References | |
Index: docs/celestia-architecture/adr-002-ipld-da-sampling.md | |
=================================================================== | |
diff --git a/docs/celestia-architecture/adr-002-ipld-da-sampling.md b/docs/celestia-architecture/adr-002-ipld-da-sampling.md | |
new file mode 100644 | |
--- /dev/null (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
+++ b/docs/celestia-architecture/adr-002-ipld-da-sampling.md (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
@@ -0,0 +1,280 @@ | |
+# ADR 002: Sampling erasure coded Block chunks | |
+ | |
+## Changelog | |
+ | |
+- 26-2-2021: Created | |
+ | |
+## Context | |
+ | |
+In Tendermint's block gossiping each peer gossips random parts of block data to peers. | |
+For Celestia, we need nodes (from light-clients to validators) to be able to sample row-/column-chunks of the erasure coded | |
+block (aka the extended data square) from the network. | |
+This is necessary for Data Availability proofs. | |
+ | |
+![extended_square.png](img/extended_square.png) | |
+ | |
+A high-level, implementation-independent formalization of above mentioned sampling and Data Availability proofs can be found in: | |
+[_Fraud and Data Availability Proofs: Detecting Invalid Blocks in Light Clients_](https://fc21.ifca.ai/papers/83.pdf). | |
+ | |
+For the time being, besides the academic paper, no other formalization or specification of the protocol exists. | |
+Currently, the Celestia specification itself only describes the [erasure coding](https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#erasure-coding) | |
+and how to construct the extended data square from the block data. | |
+ | |
+This ADR: | |
+- describes the high-level requirements | |
+- defines the API that and how it can be used by different components of Celestia (block gossiping, block sync, DA proofs) | |
+- documents decision on how to implement this. | |
+ | |
+ | |
+The core data structures and the erasure coding of the block are already implemented in celestia-core ([#17], [#19], [#83]). | |
+While there are no ADRs for these changes, we can refer to the Celestia specification in this case. | |
+For this aspect, the existing implementation and specification should already be on par for the most part. | |
+The exact arrangement of the data as described in this [rationale document](https://github.com/celestiaorg/celestia-specs/blob/master/rationale/message_block_layout.md) | |
+in the specification can happen at app-side of the ABCI boundary. | |
+The latter was implemented in [celestiaorg/celestia-app#21](https://github.com/celestiaorg/celestia-app/pull/21) | |
+leveraging a new ABCI method, added in [#110](https://github.com/celestiaorg/celestia-core/pull/110). | |
+This new method is a sub-set of the proposed ABCI changes aka [ABCI++](https://github.com/tendermint/spec/pull/254). | |
+ | |
+Mustafa Al-Bassam (@musalbas) implemented a [prototype](https://github.com/celestiaorg/celestia-prototype) | |
+whose main purpose is to realistically analyse the protocol. | |
+Although the prototype does not make any network requests and only operates locally, it can partly serve as a reference implementation. | |
+It uses the [rsmt2d] library. | |
+ | |
+The implementation will essentially use IPFS' APIs. For reading (and writing) chunks it | |
+will use the IPLD [`DagService`](https://github.com/ipfs/go-ipld-format/blob/d2e09424ddee0d7e696d01143318d32d0fb1ae63/merkledag.go#L54), | |
+more precisely the [`NodeGetter`](https://github.com/ipfs/go-ipld-format/blob/d2e09424ddee0d7e696d01143318d32d0fb1ae63/merkledag.go#L18-L27) | |
+and [`NodeAdder`](https://github.com/ipfs/go-ipld-format/blob/d2e09424ddee0d7e696d01143318d32d0fb1ae63/merkledag.go#L29-L39). | |
+As an optimization, we can also use a [`Batch`](https://github.com/ipfs/go-ipld-format/blob/d2e09424ddee0d7e696d01143318d32d0fb1ae63/batch.go#L29) | |
+to batch adding and removing nodes. | |
+This will be achieved by passing around a [CoreAPI](https://github.com/ipfs/interface-go-ipfs-core/blob/b935dfe5375eac7ea3c65b14b3f9a0242861d0b3/coreapi.go#L15) | |
+object, which derive from the IPFS node which is created along a with a tendermint node (see [#152]). | |
+This code snippet does exactly that (see the [go-ipfs documentation] for more examples): | |
+```go | |
+// This constructs an IPFS node instance | |
+node, _ := core.NewNode(ctx, nodeOptions) | |
+// This attaches the Core API to the constructed node | |
+coreApi := coreapi.NewCoreAPI(node) | |
+``` | |
+ | |
+The above mentioned IPLD methods operate on so called [ipld.Nodes]. | |
+When computing the data root, we can pass in a [`NodeVisitor`](https://github.com/celestia/nmt/blob/b22170d6f23796a186c07e87e4ef9856282ffd1a/nmt.go#L22) | |
+into the Namespaced Merkle Tree library to create these (each inner- and leaf-node in the tree becomes an ipld node). | |
+As a peer that requests such an IPLD node, the Celestia IPLD plugin provides the [function](https://github.com/celestiaorg/celestia-core/blob/ceb881a177b6a4a7e456c7c4ab1dd0eb2b263066/p2p/ipld/plugin/nodes/nodes.go#L175) | |
+`NmtNodeParser` to transform the retrieved raw data back into an `ipld.Node`. | |
+ | |
+A more high-level description on the changes required to rip out the current block gossiping routine, | |
+including changes to block storage-, RPC-layer, and potential changes to reactors is either handled in [ADR 001](./adr-001-block-propagation.md), | |
+and/or in a few smaller, separate followup ADRs. | |
+ | |
+## Alternative Approaches | |
+ | |
+Instead of creating a full IPFS node object and passing it around as explained above | |
+ - use API (http) | |
+ - use ipld-light | |
+ - use alternative client | |
+ | |
+Also, for better performance | |
+ - use [graph-sync], [IPLD selectors], e.g. via [ipld-prime] | |
+ | |
+Also, there is the idea, that nodes only receive the [Header] with the data root only | |
+and, in an additional step/request, download the DA header using the library, too. | |
+While this feature is not considered here, and we assume each node that uses this library has the DA header, this assumption | |
+is likely to change when flesh out other parts of the system in more detail. | |
+Note that this also means that light clients would still need to validate that the data root and merkelizing the DA header yield the same result. | |
+ | |
+## Decision | |
+ | |
+> This section records the decision that was made. | |
+> It is best to record as much info as possible from the discussion that happened. This aids in not having to go back to the Pull Request to get the needed information. | |
+ | |
+> - TODO: briefly summarize github, discord, and slack discussions (?) | |
+> - also mention Mustafa's prototype and compare both apis briefly (RequestSamples, RespondSamples, ProcessSamplesResponse) | |
+> - mention [ipld experiments] | |
+ | |
+ | |
+ | |
+## Detailed Design | |
+ | |
+Add a package to the library that provides the following features: | |
+ 1. sample a given number of random row/col indices of extended data square given a DA header and indicate if successful or timeout/other error occurred | |
+ 2. store the block in the network by adding it to the peer's local Merkle-DAG whose content is discoverable via a DHT | |
+ 3. store the sampled chunks in the network | |
+ 4. reconstruct the whole block from a given DA header | |
+ 5. get all messages of a particular namespace ID. | |
+ | |
+We mention 5. here mostly for completeness. Its details will be described / implemented in a separate ADR / PR. | |
+ | |
+Apart from the above mentioned features, we informally collect additional requirements: | |
+- where randomness is needed, the randomness source should be configurable | |
+- all replies by the network should be verified if this is not sufficiently covered by the used libraries already (IPFS) | |
+- where possible, the requests to the network should happen in parallel (without DoSing the proposer for instance). | |
+ | |
+This library should be implemented as two new packages: | |
+ | |
+First, a sub-package should be added to the layzledger-core [p2p] package | |
+which does not know anything about the core data structures (Block, DA header etc). | |
+It handles the actual network requests to the IPFS network and operates on IPFS/IPLD objects | |
+directly and hence should live under [p2p/ipld]. | |
+To a some extent this part of the stack already exists. | |
+ | |
+Second, a high-level API that can "live" closer to the actual types, e.g., in a sub-package in [celestia-core/types] | |
+or in a new sub-package `da`. | |
+ | |
+We first describe the high-level library here and describe functions in | |
+more detail inline with their godoc comments below. | |
+ | |
+### API that operates on celestia-core types | |
+ | |
+As mentioned above this part of the library has knowledge of the core types (and hence depends on them). | |
+It does not deal with IPFS internals. | |
+ | |
+```go | |
+// ValidateAvailability implements the protocol described in https://fc21.ifca.ai/papers/83.pdf. | |
+// Specifically all steps of the protocol described in section | |
+// _5.2 Random Sampling and Network Block Recovery_ are carried out. | |
+// | |
+// In more detail it will first create numSamples random unique coordinates. | |
+// Then, it will ask the network for the leaf data corresponding to these coordinates. | |
+// Additionally to the number of requests, the caller can pass in a callback, | |
+// which will be called on for each retrieved leaf with a verified Merkle proof. | |
+// | |
+// Among other use-cases, the callback can be useful to monitoring (progress), or, | |
+// to process the leaf data the moment it was validated. | |
+// The context can be used to provide a timeout. | |
+// TODO: Should there be a constant = lower bound for #samples | |
+func ValidateAvailability( | |
+ ctx contex.Context, | |
+ dah *DataAvailabilityHeader, | |
+ numSamples int, | |
+ onLeafValidity func(namespace.PrefixedData8), | |
+) error { /* ... */} | |
+ | |
+// RetrieveBlockData can be used to recover the block Data. | |
+// It will carry out a similar protocol as described for ValidateAvailability. | |
+// The key difference is that it will sample enough chunks until it can recover the | |
+// full extended data square, including original data (e.g. by using rsmt2d.RepairExtendedDataSquare). | |
+func RetrieveBlockData( | |
+ ctx contex.Context, | |
+ dah *DataAvailabilityHeader, | |
+ api coreiface.CoreAPI, | |
+ codec rsmt2d.Codec, | |
+ ) (types.Data, error) {/* ... */} | |
+ | |
+// PutBlock operates directly on the Block. | |
+// It first computes the erasure coding, aka the extended data square. | |
+// Row by row ir calls a lower level library which handles adding the | |
+// the row to the Merkle Dag, in our case a Namespaced Merkle Tree. | |
+// Note, that this method could also fill the DA header. | |
+// The data will be pinned by default. | |
+func (b *Block) PutBlock(ctx contex.Context, nodeAdder ipld.NodeAdder) error | |
+``` | |
+ | |
+We now describe the lower-level library that will be used by above methods. | |
+Again we provide more details inline in the godoc comments directly. | |
+ | |
+`PutBlock` is a method on `Block` as the erasure coding can then be cached, e.g. in a private field | |
+in the block. | |
+ | |
+### Changes to the lower level API closer to IPFS (p2p/ipld) | |
+ | |
+```go | |
+// GetLeafData takes in a Namespaced Merkle tree root transformed into a Cid | |
+// and the leaf index to retrieve. | |
+// Callers also need to pass in the total number of leaves of that tree. | |
+// Internally, this will be translated to a IPLD path and corresponds to | |
+// an ipfs dag get request, e.g. namespacedCID/0/1/0/0/1. | |
+// The retrieved data should be pinned by default. | |
+func GetLeafData( | |
+ ctx context.Context, | |
+ rootCid cid.Cid, | |
+ leafIndex uint32, | |
+ totalLeafs uint32, // this corresponds to the extended square width | |
+ api coreiface.CoreAPI, | |
+) ([]byte, error) | |
+``` | |
+ | |
+`GetLeafData` can be used by above `ValidateAvailability` and `RetrieveBlock` and | |
+`PutLeaves` by `PutBlock`. | |
+ | |
+### A Note on IPFS/IPLD | |
+ | |
+In IPFS all data is _content addressed_ which basically means the data is identified by its hash. | |
+Particularly, in the Celestia case, the root CID identifies the Namespaced Merkle tree including all its contents (inner and leaf nodes). | |
+This means that if a `GetLeafData` request succeeds, the retrieved leaf data is in fact the leaf data in the tree. | |
+We do not need to additionally verify Merkle proofs per leaf as this will essentially be done via IPFS on each layer while | |
+resolving and getting to the leaf data. | |
+ | |
+> TODO: validate this assumption and link to code that shows how this is done internally | |
+ | |
+### Implementation plan | |
+ | |
+As fully integrating Data Available proofs into tendermint, is a rather larger change we break up the work into the | |
+following packages (not mentioning the implementation work that was already done): | |
+ | |
+1. Flesh out the changes in the consensus messages ([celestia-specs#126], [celestia-specs#127]) | |
+2. Flesh out the changes that would be necessary to replace the current block gossiping ([ADR 001](./adr-001-block-propagation.md)) | |
+3. Add the possibility of storing and retrieving block data (samples or whole block) to celestia-core (this ADR and related PRs). | |
+4. Integrate above API (3.) as an addition into celestia-core without directly replacing the tendermint counterparts (block gossip etc). | |
+5. Rip out each component that will be redundant with above integration in one or even several smaller PRs: | |
+ - block gossiping (see ADR 001) | |
+ - modify block store (see ADR 001) | |
+ - make downloading full Blocks optional (flag/config) | |
+ - route some RPC requests to IPFS (see ADR 001) | |
+ | |
+ | |
+## Status | |
+ | |
+Proposed | |
+ | |
+## Consequences | |
+ | |
+### Positive | |
+ | |
+- simplicity & ease of implementation | |
+- can re-use an existing networking and p2p stack (go-ipfs) | |
+- potential support of large, cool, and helpful community | |
+- high-level API definitions independent of the used stack | |
+ | |
+### Negative | |
+ | |
+- latency | |
+- being connected to the public IPFS network might be overkill if peers should in fact only care about a subset that participates in the Celestia protocol | |
+- dependency on a large code-base with lots of features and options of which we only need a small subset of | |
+ | |
+### Neutral | |
+- two different p2p layers exist in celestia-core | |
+ | |
+## References | |
+ | |
+- https://github.com/celestiaorg/celestia-core/issues/85 | |
+- https://github.com/celestiaorg/celestia-core/issues/167 | |
+ | |
+- https://docs.ipld.io/#nodes | |
+- https://arxiv.org/abs/1809.09044 | |
+- https://fc21.ifca.ai/papers/83.pdf | |
+- https://github.com/tendermint/spec/pull/254 | |
+ | |
+ | |
+[#17]: https://github.com/celestiaorg/celestia-core/pull/17 | |
+[#19]: https://github.com/celestiaorg/celestia-core/pull/19 | |
+[#83]: https://github.com/celestiaorg/celestia-core/pull/83 | |
+ | |
+[#152]: https://github.com/celestiaorg/celestia-core/pull/152 | |
+ | |
+[celestia-specs#126]: https://github.com/celestiaorg/celestia-specs/issues/126 | |
+[celestia-specs#127]: https://github.com/celestiaorg/celestia-specs/pulls/127 | |
+[Header]: https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#header | |
+ | |
+[go-ipfs documentation]: https://github.com/ipfs/go-ipfs/tree/master/docs/examples/go-ipfs-as-a-library#use-go-ipfs-as-a-library-to-spawn-a-node-and-add-a-file | |
+[ipld experiments]: https://github.com/celestia/ipld-plugin-experiments | |
+[ipld.Nodes]: https://github.com/ipfs/go-ipld-format/blob/d2e09424ddee0d7e696d01143318d32d0fb1ae63/format.go#L22-L45 | |
+[graph-sync]: https://github.com/ipld/specs/blob/master/block-layer/graphsync/graphsync.md | |
+[IPLD selectors]: https://github.com/ipld/specs/blob/master/selectors/selectors.md | |
+[ipld-prime]: https://github.com/ipld/go-ipld-prime | |
+ | |
+[rsmt2d]: https://github.com/celestia/rsmt2d | |
+ | |
+ | |
+[p2p]: https://github.com/celestiaorg/celestia-core/tree/0eccfb24e2aa1bb9c4428e20dd7828c93f300e60/p2p | |
+[p2p/ipld]: https://github.com/celestiaorg/celestia-core/tree/0eccfb24e2aa1bb9c4428e20dd7828c93f300e60/p2p/ipld | |
+[celestia-core/types]: https://github.com/celestiaorg/celestia-core/tree/0eccfb24e2aa1bb9c4428e20dd7828c93f300e60/types | |
Index: docs/celestia-architecture/adr-003-application-data-retrieval.md | |
=================================================================== | |
diff --git a/docs/celestia-architecture/adr-003-application-data-retrieval.md b/docs/celestia-architecture/adr-003-application-data-retrieval.md | |
new file mode 100644 | |
--- /dev/null (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
+++ b/docs/celestia-architecture/adr-003-application-data-retrieval.md (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
@@ -0,0 +1,141 @@ | |
+# ADR 003: Retrieving Application messages | |
+ | |
+## Changelog | |
+ | |
+- 2021-04-25: initial draft | |
+ | |
+## Context | |
+ | |
+This ADR builds on top of [ADR 002](adr-002-ipld-da-sampling.md) and will use the implemented APIs described there. | |
+The reader should familiarize themselves at least with the high-level concepts the as well as in the [specs](https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#2d-reed-solomon-encoding-scheme). | |
+ | |
+The academic [paper](https://arxiv.org/abs/1905.09274) describes the motivation and context for this API. | |
+The main motivation can be quoted from section 3.3 of that paper: | |
+ | |
+> (Property1) **Application message retrieval partitioning.** Client nodes must be able to download all of the messages relevant to the applications they use [...], without needing to downloading any messages for other applications. | |
+ | |
+> (Property2) **Application message retrieval completeness.** When client nodes download messages relevant to the applications they use [...], they must be able to verify that the messages they received are the complete set of messages relevant to their applications, for specific | |
+blocks, and that there are no omitted messages. | |
+ | |
+ | |
+ | |
+The main data structure that enables above properties is called a Namespaced Merkle Tree (NMT), an ordered binary Merkle tree where: | |
+1. each node in the tree includes the range of namespaces of the messages in all descendants of each node | |
+2. leaves in the tree are ordered by the namespace identifiers of the leaf messages | |
+ | |
+A more formal description can be found the [specification](https://github.com/celestiaorg/celestia-specs/blob/de5f4f74f56922e9fa735ef79d9e6e6492a2bad1/specs/data_structures.md#namespace-merkle-tree). | |
+An implementation can be found in [this repository](https://github.com/celestiaorg/nmt). | |
+ | |
+This ADR basically describes version of the [`GetWithProof`](https://github.com/celestiaorg/nmt/blob/ddcc72040149c115f83b2199eafabf3127ae12ac/nmt.go#L193-L196) of the NMT that leverages the fact that IPFS uses content addressing and that we have implemented an [IPLD plugin](https://github.com/celestiaorg/celestia-core/tree/37502aac69d755c189df37642b87327772f4ac2a/p2p/ipld) for an NMT. | |
+ | |
+**Note**: The APIs defined here will be particularly relevant for Optimistic Rollup (full) nodes that want to download their Rollup's data (see [celestiaorg/optimint#48](https://github.com/celestiaorg/optimint/issues/48)). | |
+Another potential use-case of this API could be for so-called [light validator nodes](https://github.com/celestiaorg/celestia-specs/blob/master/specs/node_types.md#node-type-definitions) that want to download and replay the state-relevant portion of the block data, i.e. transactions with [reserved namespace IDs](https://github.com/celestiaorg/celestia-specs/blob/master/specs/consensus.md#reserved-namespace-ids). | |
+ | |
+## Alternative Approaches | |
+ | |
+The approach described below will rely on IPFS' block exchange protocol (bitswap) and DHT; IPFS's implementation will be used as a black box to find peers that can serve the requested data. | |
+This will likely be much slower than it potentially could be and for a first implementation we intentionally do not incorporate the optimizations that we could. | |
+ | |
+We briefly mention potential optimizations for the future here: | |
+- Use of [graphsync](https://github.com/ipld/specs/blob/5d3a3485c5fe2863d613cd9d6e18f96e5e568d16/block-layer/graphsync/graphsync.md) instead of [bitswap](https://docs.ipfs.io/concepts/bitswap/) and use of [IPLD selectors](https://github.com/ipld/specs/blob/5d3a3485c5fe2863d613cd9d6e18f96e5e568d16/design/history/exploration-reports/2018.10-selectors-design-goals.md) | |
+- expose an API to be able to download application specific data by namespace (including proofs) with the minimal number of round-trips (e.g. finding nodes that expose an RPC endpoint like [`GetWithProof`](https://github.com/celestiaorg/nmt/blob/ddcc72040149c115f83b2199eafabf3127ae12ac/nmt.go#L193-L196)) | |
+ | |
+## Decision | |
+ | |
+Most discussions on this particular API happened either on calls or on other non-documented way. | |
+We only describe the decision in this section. | |
+ | |
+We decide to implement the simplest approach first. | |
+We first describe the protocol informally here and explain why this fulfils (Property1) and (Property2) in the [Context](#context) section above. | |
+ | |
+In the case that leaves with the requested namespace exist, this basically boils down to the following: traverse the tree starting from the root until finding first leaf (start) with the namespace in question, then directly request and download all leaves coming after the start until the namespace changes to a greater than the requested one again. | |
+In the case that no leaves with the requested namespace exist in the tree, we traverse the tree to find the leaf in the position in the tree where the namespace would have been and download the neighbouring leaves. | |
+ | |
+This is pretty much what the [`ProveNamespace`](https://github.com/celestiaorg/nmt/blob/ddcc72040149c115f83b2199eafabf3127ae12ac/nmt.go#L132-L146) method does but using IPFS we can simply locate and then request the leaves, and the corresponding inner proof nodes will automatically be downloaded on the way, too. | |
+ | |
+## Detailed Design | |
+ | |
+We define one function that returns all shares of a block belonging to a requested namespace and block (via the block's data availability header). | |
+See [`ComputeShares`](https://github.com/celestiaorg/celestia-core/blob/1a08b430a8885654b6e020ac588b1080e999170c/types/block.go#L1371) for reference how encode the block data into namespace shares. | |
+ | |
+```go | |
+// RetrieveShares returns all raw data (raw shares) of the passed-in | |
+// namespace ID nID and included in the block with the DataAvailabilityHeader dah. | |
+func RetrieveShares( | |
+ ctx context.Context, | |
+ nID namespace.ID, | |
+ dah *types.DataAvailabilityHeader, | |
+ api coreiface.CoreAPI, | |
+) ([][]byte, error) { | |
+ // 1. Find the row root(s) that contains the namespace ID nID | |
+ // 2. Traverse the corresponding tree(s) according to the | |
+ // above informally described algorithm and get the corresponding | |
+ // leaves (if any) | |
+ // 3. Return all (raw) shares corresponding to the nID | |
+} | |
+ | |
+``` | |
+ | |
+Additionally, we define two functions that use the first one above to: | |
+1. return all the parsed (non-padding) data with [reserved namespace IDs](https://github.com/celestiaorg/celestia-specs/blob/de5f4f74f56922e9fa735ef79d9e6e6492a2bad1/specs/consensus.md#reserved-namespace-ids): transactions, intermediate state roots, evidence. | |
+2. return all application specific blobs (shares) belonging to one namespace ID parsed as a slice of Messages ([specification](https://github.com/celestiaorg/celestia-specs/blob/de5f4f74f56922e9fa735ef79d9e6e6492a2bad1/specs/data_structures.md#message) and [code](https://github.com/celestiaorg/celestia-core/blob/1a08b430a8885654b6e020ac588b1080e999170c/types/block.go#L1336)). | |
+ | |
+The latter two methods might require moving or exporting a few currently unexported functions that (currently) live in [share_merging.go](https://github.com/celestiaorg/celestia-core/blob/1a08b430a8885654b6e020ac588b1080e999170c/types/share_merging.go#L57-L76) and could be implemented in a separate pull request. | |
+ | |
+```go | |
+// RetrieveStateRelevantMessages returns all state-relevant transactions | |
+// (transactions, intermediate state roots, and evidence) included in a block | |
+// with the DataAvailabilityHeader dah. | |
+func RetrieveStateRelevantMessages( | |
+ ctx context.Context, | |
+ nID namespace.ID, | |
+ dah *types.DataAvailabilityHeader, | |
+ api coreiface.CoreAPI, | |
+) (Txs, IntermediateStateRoots, EvidenceData, error) { | |
+ // like RetrieveShares but for all reserved namespaces | |
+ // additionally the shares are parsed (merged) into the | |
+ // corresponding types in the return arguments | |
+} | |
+``` | |
+ | |
+```go | |
+// RetrieveMessages returns all Messages of the passed-in | |
+// namespace ID and included in the block with the DataAvailabilityHeader dah. | |
+func RetrieveMessages( | |
+ ctx context.Context, | |
+ nID namespace.ID, | |
+ dah *types.DataAvailabilityHeader, | |
+ api coreiface.CoreAPI, | |
+) (Messages, error) { | |
+ // like RetrieveShares but this additionally parsed the shares | |
+ // into the Messages type | |
+} | |
+``` | |
+ | |
+## Status | |
+ | |
+Proposed | |
+ | |
+## Consequences | |
+ | |
+This API will most likely be used by Rollups too. | |
+We should document it properly and move it together with relevant parts from ADR 002 into a separate go-package. | |
+ | |
+### Positive | |
+ | |
+- easy to implement with the existing code (see [ADR 002](https://github.com/celestiaorg/celestia-core/blob/47d6c965704e102ae877b2f4e10aeab782d9c648/docs/adr/adr-002-ipld-da-sampling.md#detailed-design)) | |
+- resilient data retrieval via a p2p network | |
+- dependence on a mature and well-tested code-base with a large and welcoming community | |
+ | |
+### Negative | |
+ | |
+- with IPFS, we inherit the fact that potentially a lot of round-trips are done until the data is fully downloaded; in other words: this could end up way slower than potentially possible | |
+- anyone interacting with that API needs to run an IPFS node | |
+ | |
+### Neutral | |
+ | |
+- optimizations can happen incrementally once we have an initial working version | |
+ | |
+## References | |
+ | |
+We've linked to all references throughout the ADR. | |
Index: docs/celestia-architecture/adr-004-mvp-light-client.md | |
=================================================================== | |
diff --git a/docs/celestia-architecture/adr-004-mvp-light-client.md b/docs/celestia-architecture/adr-004-mvp-light-client.md | |
new file mode 100644 | |
--- /dev/null (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
+++ b/docs/celestia-architecture/adr-004-mvp-light-client.md (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
@@ -0,0 +1,292 @@ | |
+# ADR 004: Data Availability Sampling Light Client | |
+ | |
+## Changelog | |
+ | |
+- 2021-05-03: Initial Draft | |
+ | |
+## Context | |
+ | |
+We decided to augment the existing [RPC-based Tendermint light client](https://github.com/tendermint/tendermint/blob/bc643b19c48495077e0394d3e21e1d2a52c99548/light/doc.go#L2-L126) by adding the possibility to additionally validate blocks by doing Data Availability Sampling (DAS). | |
+In general, DAS gives light clients assurance that the data behind the block header they validated is actually available in the network and hence, that state fraud proofs could be generated. | |
+See [ADR 002](adr-002-ipld-da-sampling.md) for more context on DAS. | |
+ | |
+A great introduction on the Tendermint light client (and light clients in general) can be found in this series of [blog posts](https://medium.com/tendermint/everything-you-need-to-know-about-the-tendermint-light-client-f80d03856f98) as well as this [paper](https://arxiv.org/abs/2010.07031). | |
+ | |
+This ADR describes the changes necessary to augment the existing Tendermint light client implementation with DAS from a UX as well as from a protocol perspective. | |
+ | |
+## Alternative Approaches | |
+ | |
+Ideally, the light client should not just request [signed headers](https://github.com/tendermint/tendermint/blob/bc643b19c48495077e0394d3e21e1d2a52c99548/light/doc.go#L35-L52) from [a few pre-configured peers](https://github.com/tendermint/tendermint/blob/bc643b19c48495077e0394d3e21e1d2a52c99548/light/setup.go#L51-L52) but instead also discover peers from a p2p network. | |
+We will eventually implement this. For more context, we refer to this [issue](https://github.com/celestiaorg/celestia-core/issues/86). | |
+This would require that the (signed) headers are provided via other means than the RPC. | |
+See this [abandoned pull request](https://github.com/tendermint/tendermint/pull/4508) and [issue](https://github.com/tendermint/tendermint/issues/4456) in the Tendermint repository and also this [suggestion](https://github.com/celestiaorg/celestia-core/issues/86#issuecomment-831182564) by [@Wondertan](https://github.com/Wondertan) in this repository. | |
+ | |
+For some use-cases—like DAS light validator nodes, or the light clients of a Data Availability Layer that are run by full nodes of an Optimistic Rollup—it would even make sense that the light client (passively) participates in the consensus protocol to some extent; i.e. runs a subset of the consensus reactor to Consensus messages ([Votes](https://github.com/tendermint/tendermint/blob/bc643b19c48495077e0394d3e21e1d2a52c99548/types/vote.go#L48-L59) etc.) come in as early as possible. | |
+Then light clients would not need to wait for the canonical commit to be included in the next [block](https://github.com/tendermint/tendermint/blob/bc643b19c48495077e0394d3e21e1d2a52c99548/types/block.go#L48). | |
+ | |
+For the RPC-based light client it could also make sense to add a new RPC endpoint to tendermint for clients to retrieve the [`DataAvailabilityHeader`](https://github.com/celestiaorg/celestia-core/blob/50f722a510dd2ba8e3d31931c9d83132d6318d4b/types/block.go#L52-L69) (DAHeader), or embed the DAHeader. | |
+The [Commit](https://github.com/celestiaorg/celestia-core/blob/cbf1f1a4a0472373289a9834b0d33e0918237b7f/rpc/core/routes.go#L25) only contains the [SignedHeader](https://github.com/celestiaorg/celestia-core/blob/cbf1f1a4a0472373289a9834b0d33e0918237b7f/rpc/core/types/responses.go#L32-L36) (Header and Commit signatures). | |
+Not all light clients will need the full DAHeader though (e.g. super-light-clients do not). | |
+ | |
+ | |
+## Decision | |
+ | |
+For our MVP, we [decide](https://github.com/celestiaorg/celestia-core/issues/307) to only modify the existing RPC-endpoint based light client. | |
+This is mostly because we want to ship our MVP as quickly as possible but independently of this it makes sense to provide a familiar experience for engineers coming from the Cosmos ecosystem. | |
+ | |
+We will later implement the above mentioned variants. | |
+How exactly will be described in separate ADRs though. | |
+ | |
+## Detailed Design | |
+ | |
+From a user perspective very little changes: | |
+the existing light client command gets an additional flag that indicates whether to run DAS or not. | |
+Additionally, the light client operator can decide the number of successful samples to make to deem the block available (and hence valid). | |
+ | |
+In case DAS is enabled, the light client will need to: | |
+1. retrieve the DAHeader corresponding to the data root in the Header | |
+2. request a parameterizable number of random samples. | |
+ | |
+If the all sampling requests succeed, the whole block is available ([with some high enough probability](https://arxiv.org/abs/1809.09044)). | |
+ | |
+### UX | |
+ | |
+The main change to the light client [command](https://github.com/celestiaorg/celestia-core/blob/master/cmd/tendermint/commands/light.go#L32-L104) is to add in a new flag to indicate if it should run DAS or not. | |
+Additionally, the user can choose the number of succeeding samples required for a block to be considered available. | |
+ | |
+```diff | |
+=================================================================== | |
+diff --git a/cmd/tendermint/commands/light.go b/cmd/tendermint/commands/light.go | |
+--- a/cmd/tendermint/commands/light.go (revision 48b043014f0243edd1e8ebad8cd0564ab9100407) | |
++++ b/cmd/tendermint/commands/light.go (date 1620546761822) | |
+@@ -64,6 +64,8 @@ | |
+ dir string | |
+ maxOpenConnections int | |
+ | |
++ daSampling bool | |
++ numSamples uint32 | |
+ sequential bool | |
+ trustingPeriod time.Duration | |
+ trustedHeight int64 | |
+@@ -101,6 +103,10 @@ | |
+ LightCmd.Flags().BoolVar(&sequential, "sequential", false, | |
+ "sequential verification. Verify all headers sequentially as opposed to using skipping verification", | |
+ ) | |
++ LightCmd.Flags().BoolVar(&daSampling, "da-sampling", false, | |
++ "data availability sampling. Verify each header (sequential verification), additionally verify data availability via data availability sampling", | |
++ ) | |
++ LightCmd.Flags().Uint32Var(&numSamples, "num-samples", 15, "Number of data availability samples until block data deemed available.") | |
+ } | |
+``` | |
+ | |
+For the Data Availability sampling, the light client will have to run an IPFS node. | |
+It makes sense to make this mostly opaque to the user as everything around IPFS can be [configured](https://github.com/ipfs/go-ipfs/blob/d6322f485af222e319c893eeac51c44a9859e901/docs/config.md) in the `$IPFS_PATH`. | |
+This IPFS path should simply be a sub-directory inside the light client's [directory](https://github.com/celestiaorg/celestia-core/blob/cbf1f1a4a0472373289a9834b0d33e0918237b7f/cmd/tendermint/commands/light.go#L86-L87). | |
+We can later add the ability to let users configure the IPFS setup more granular. | |
+ | |
+**Note:** DAS should only be compatible to sequential verification. | |
+In case a light client is parametrized to run DAS and skipping verification, the CLI should return an easy-to-understand warning or even an error explaining why this does not make sense. | |
+ | |
+### Light Client Protocol with DAS | |
+ | |
+#### Light Store | |
+ | |
+The light client stores data in its own [badgerdb instance](https://github.com/celestiaorg/celestia-core/blob/50f722a510dd2ba8e3d31931c9d83132d6318d4b/cmd/tendermint/commands/light.go#L125) in the given directory: | |
+ | |
+```go | |
+db, err := badgerdb.NewDB("light-client-db", dir) | |
+``` | |
+ | |
+While it is not critical for this feature, we should at least try to re-use that same DB instance for the local ipld store. | |
+Otherwise, we introduce yet another DB instance; something we want to avoid, especially on the long run (see [#283](https://github.com/celestiaorg/celestia-core/issues/283)). | |
+For the first implementation, it might still be simpler to create a separate DB instance and tackle cleaning this up in a separate pull request, e.g. together with other [instances]([#283](https://github.com/celestiaorg/celestia-core/issues/283)). | |
+ | |
+#### RPC | |
+ | |
+No changes to the RPC endpoints are absolutely required. | |
+Although, for convenience and ease of use, we should either add the `DAHeader` to the existing [Commit](https://github.com/celestiaorg/celestia-core/blob/cbf1f1a4a0472373289a9834b0d33e0918237b7f/rpc/core/routes.go#L25) endpoint, or, introduce a new endpoint to retrieve the `DAHeader` on demand and for a certain height or block hash. | |
+ | |
+The first has the downside that not every light client needs the DAHeader. | |
+The second explicitly reveals to full-nodes which clients are doing DAS and which not. | |
+ | |
+**Implementation Note:** The additional (or modified) RPC endpoint could work as a simple first step until we implement downloading the DAHeader from a given data root in the header. | |
+Also, the light client uses a so called [`Provider`](https://github.com/tendermint/tendermint/blob/7f30bc96f014b27fbe74a546ea912740eabdda74/light/provider/provider.go#L9-L26) to retrieve [LightBlocks](https://github.com/tendermint/tendermint/blob/7f30bc96f014b27fbe74a546ea912740eabdda74/types/light.go#L11-L16), i.e. signed headers and validator sets. | |
+Currently, only the [`http` provider](https://github.com/tendermint/tendermint/blob/7f30bc96f014b27fbe74a546ea912740eabdda74/light/provider/http/http.go#L1) is implemented. | |
+Hence, as _a first implementation step_, we should augment the `Provider` and the `LightBlock` to optionally include the DAHeader (details below). | |
+In parallel but in a separate pull request, we add a separate RPC endpoint to download the DAHeader for a certain height. | |
+ | |
+#### Store DataAvailabilityHeader | |
+ | |
+For full nodes to be able to serve the `DataAvailabilityHeader` without having to recompute it each time, it needs to be stored somewhere. | |
+While this is independent of the concrete serving mechanism, it is more so relevant for the RPC endpoint. | |
+There is ongoing work to make the Tendermint Store only store Headers and the DataAvailabilityHeader in [#218](https://github.com/celestiaorg/celestia-core/pull/218/) / [#182](https://github.com/celestiaorg/celestia-core/issues/182). | |
+ | |
+At the time writing this ADR, another pull request ([#312](https://github.com/celestiaorg/celestia-core/pull/312)) is in the works with a more isolated change that adds the `DataAvailabilityHeader` to the `BlockID`. | |
+Hence, the DAHeader is [stored](https://github.com/celestiaorg/celestia-core/blob/50f722a510dd2ba8e3d31931c9d83132d6318d4b/store/store.go#L355-L367) along the [`BlockMeta`](https://github.com/celestiaorg/celestia-core/blob/50f722a510dd2ba8e3d31931c9d83132d6318d4b/types/block_meta.go#L11-L17) there. | |
+ | |
+For a first implementation, we could first build on top of #312 and adapt to the changed storage API where only headers and the DAHeader are stored inside tendermint's store (as drafted in #218). | |
+A major downside of storing block data inside of tendermint's store as well as in the IPFS' block store is that is not only redundantly stored data but also IO intense work that will slow down full nodes. | |
+ | |
+ | |
+#### DAS | |
+ | |
+The changes for DAS are very simple from a high-level perspective assuming that the light client has the ability to download the DAHeader along with the required data (signed header + validator set) of a given height: | |
+ | |
+Every time the light client validates a retrieved light-block, it additionally starts DAS in the background (once). | |
+For a DAS light client it is important to use [sequential](https://github.com/tendermint/tendermint/blob/f366ae3c875a4f4f61f37f4b39383558ac5a58cc/light/client.go#L46-L53) verification and not [skipping](https://github.com/tendermint/tendermint/blob/f366ae3c875a4f4f61f37f4b39383558ac5a58cc/light/client.go#L55-L69) verification. | |
+Skipping verification only works under the assumption that 2/3+1 of voting power is honest. | |
+The whole point of doing DAS (and state fraud proofs) is to remove that assumption. | |
+See also this related issue in the LL specification: [#159](https://github.com/celestiaorg/celestia-specs/issues/159). | |
+ | |
+Independent of the existing implementation, there are three ways this could be implemented: | |
+1. the DAS light client only accepts a header as valid and trusts it after DAS succeeds (additionally to the tendermint verification), and it waits until DAS succeeds (or there was an error or timeout on the way) | |
+2. (aka 1.5) the DAS light client stages headers where the tendermint verification passes as valid and spins up DAS sampling rotines in the background; the staged headers are committed as valid iff all routines successfully return in time | |
+3. the DAS light client optimistically accepts a header as valid and trusts it if the regular tendermint verification succeeds; the DAS is run in the background (with potentially much longer timeouts as in 1.) and after the background routine returns (or errs or times out), the already trusted headers are marked as unavailable; this might require rolling back the already trusted headers | |
+ | |
+We note that from an implementation point of view 1. is not only the simplest approach, but it would also work best with the currently implemented light client design. | |
+It is the approach that should be implemented first. | |
+ | |
+The 2. approach can be seen as an optimization where the higher latency DAS can be conducted in parallel for various heights. | |
+This could speed up catching-up (sequentially) if the light client went offline (shorter than the weak subjectivity time window). | |
+ | |
+The 3. approach is the most general of all, but it moves the responsibility to wait or to rollback headers to the caller and hence is undesirable as it offers too much flexibility. | |
+ | |
+ | |
+#### Data Structures | |
+ | |
+##### LightBlock | |
+ | |
+As mentioned above the LightBlock should optionally contain the DataAvailabilityHeader. | |
+```diff | |
+Index: types/light.go | |
+=================================================================== | |
+diff --git a/types/light.go b/types/light.go | |
+--- a/types/light.go (revision 64044aa2f2f2266d1476013595aa33bb274ba161) | |
++++ b/types/light.go (date 1620481205049) | |
+@@ -13,6 +13,9 @@ | |
+ type LightBlock struct { | |
+ *SignedHeader `json:"signed_header"` | |
+ ValidatorSet *ValidatorSet `json:"validator_set"` | |
++ | |
++ // DataAvailabilityHeader is only populated for DAS light clients for others it can be nil. | |
++ DataAvailabilityHeader *DataAvailabilityHeader `json:"data_availability_header"` | |
+ } | |
+``` | |
+ | |
+Alternatively, we could introduce a `DASLightBlock` that embeds a `LightBlock` and has the `DataAvailabilityHeader` as the only (non-optional) field. | |
+This would be more explict as it is a new type. | |
+Instead, adding a field to the existing `LightBlock`is backwards compatible and does not require any further code changes; the new type requires `To`- and `FromProto` functions at least. | |
+ | |
+##### Provider | |
+ | |
+The [`Provider`](https://github.com/tendermint/tendermint/blob/7f30bc96f014b27fbe74a546ea912740eabdda74/light/provider/provider.go#L9-L26) should be changed to additionally provide the `DataAvailabilityHeader` to enable DAS light clients. | |
+Implementations of the interface need to additionally retrieve the `DataAvailabilityHeader` for the [modified LightBlock](#lightblock). | |
+Users of the provider need to indicate this to the provider. | |
+ | |
+We could either augment the `LightBlock` method with a flag, add a new method solely for providing the `DataAvailabilityHeader`, or, we could introduce a new method for DAS light clients. | |
+ | |
+The latter is preferable because it is the most explicit and clear, and it still keeps places where DAS is not used without any code changes. | |
+ | |
+Hence: | |
+ | |
+```diff | |
+Index: light/provider/provider.go | |
+=================================================================== | |
+diff --git a/light/provider/provider.go b/light/provider/provider.go | |
+--- a/light/provider/provider.go (revision 7d06ae28196e8765c9747aca9db7d2732f56cfc3) | |
++++ b/light/provider/provider.go (date 1620298115962) | |
+@@ -21,6 +21,14 @@ | |
+ // error is returned. | |
+ LightBlock(ctx context.Context, height int64) (*types.LightBlock, error) | |
+ | |
++ // DASLightBlock returns the LightBlock containing the DataAvailabilityHeader. | |
++ // Other than including the DataAvailabilityHeader it behaves exactly the same | |
++ // as LightBlock. | |
++ // | |
++ // It can be used by DAS light clients. | |
++ DASLightBlock(ctx context.Context, height int64) (*types.LightBlock, error) | |
++ | |
++ | |
+ // ReportEvidence reports an evidence of misbehavior. | |
+ ReportEvidence(context.Context, types.Evidence) error | |
+ } | |
+``` | |
+Alternatively, with the exact same result, we could embed the existing `Provider` into a new interface: e.g. `DASProvider` that adds this method. | |
+This is completely equivalent as above and which approach is better will become more clear when we spent more time on the implementation. | |
+ | |
+Regular light clients will call `LightBlock` and DAS light clients will call `DASLightBlock`. | |
+In the first case the result will be the same as for vanilla Tendermint and in the second case the returned `LightBlock` will additionally contain the `DataAvailabilityHeader` of the requested height. | |
+ | |
+#### Running an IPFS node | |
+ | |
+We already have methods to [initialize](https://github.com/celestiaorg/celestia-core/blob/cbf1f1a4a0472373289a9834b0d33e0918237b7f/cmd/tendermint/commands/init.go#L116-L157) and [run](https://github.com/celestiaorg/celestia-core/blob/cbf1f1a4a0472373289a9834b0d33e0918237b7f/node/node.go#L1449-L1488) an IPFS node in place. | |
+These need to be refactored such that they can effectively be for the light client as well. | |
+This means: | |
+1. these methods need to be exported and available in a place that does not introduce interdependence of go packages | |
+2. users should be able to run a light client with a single command and hence most of the initialization logic should be coupled with creating the actual IPFS node and [made independent](https://github.com/celestiaorg/celestia-core/blob/cbf1f1a4a0472373289a9834b0d33e0918237b7f/cmd/tendermint/commands/init.go#L119-L120) of the `tendermint init` command | |
+ | |
+An example for 2. can be found in the IPFS [code](https://github.com/ipfs/go-ipfs/blob/cd72589cfd41a5397bb8fc9765392bca904b596a/cmd/ipfs/daemon.go#L239) itself. | |
+We might want to provide a slightly different default initialization though (see how this is [overridable](https://github.com/ipfs/go-ipfs/blob/cd72589cfd41a5397bb8fc9765392bca904b596a/cmd/ipfs/daemon.go#L164-L165) in the ipfs daemon cmd). | |
+ | |
+We note that for operating a fully functional light client the IPFS node could be running in client mode [`dht.ModeClient`](https://github.com/libp2p/go-libp2p-kad-dht/blob/09d923fcf68218181b5cd329bf5199e767bd33c3/dht_options.go#L29-L30) but be actually want light clients to also respond to incoming queries, e.g. from other light clients. | |
+Hence, they should by default run in [`dht.ModeServer`](https://github.com/libp2p/go-libp2p-kad-dht/blob/09d923fcf68218181b5cd329bf5199e767bd33c3/dht_options.go#L31-L32). | |
+In an environment were any bandwidth must be saved, or, were the network conditions do not allow the server mode, we make it easy to change the default behavior. | |
+ | |
+##### Client | |
+ | |
+We add another [`Option`](https://github.com/tendermint/tendermint/blob/a91680efee3653e3de620f24eb8ddca1c95ce8f9/light/client.go#L43-L117) to the [`Client`](https://github.com/tendermint/tendermint/blob/a91680efee3653e3de620f24eb8ddca1c95ce8f9/light/client.go#L173) that indicates that this client does DAS. | |
+ | |
+This option indicates: | |
+1. to do sequential verification and | |
+2. to request [`DASLightBlocks`](#lightblock) from the [provider](#provider). | |
+ | |
+All other changes should only affect unexported methods only. | |
+ | |
+##### ValidateAvailability | |
+ | |
+In order for the light clients to perform DAS to validate availability, they do not need to be aware of the fact that an IPFS node is run. | |
+Instead, we can use the existing [`ValidateAvailability`](https://github.com/celestiaorg/celestia-core/blame/master/p2p/ipld/validate.go#L23-L28) function (as defined in [ADR 002](adr-002-ipld-da-sampling.md) and implemented in [#270](https://github.com/celestiaorg/celestia-core/pull/270)). | |
+Note that this expects an ipfs core API object `CoreAPI` to be passed in. | |
+Using that interface has the major benefit that we could even change the requirement that the light client itself runs the IPFS node without changing most of the validation logic. | |
+E.g., the IPFS node (with our custom IPLD plugin) could run in different process (or machine), and we could still just pass in that same `CoreAPI` interface. | |
+ | |
+Orthogonal to this ADR, we also note that we could change all IPFS readonly methods to accept the minimal interface they actually use, namely something that implements `ResolveNode` (and maybe additionally a `NodeGetter`). | |
+ | |
+`ValidateAvailability` needs to be called each time a header is validated. | |
+A DAS light client will have to request the `DASLightBlock` for this as per above to be able to pass in a `DataAvailabilityHeader`. | |
+ | |
+#### Testing | |
+ | |
+Ideally, we add the DAS light client to the existing e2e tests. | |
+It might be worth to catch up with some relevant changes from tendermint upstream. | |
+In particular, [tendermint/tendermint#6196](https://github.com/tendermint/tendermint/pull/6196) and previous changes that it depends on. | |
+ | |
+Additionally, we should provide a simple example in the documentation that walks through the DAS light client. | |
+It would be good if the light client logs some (info) output related to DAS to provide feedback to the user. | |
+ | |
+## Status | |
+ | |
+Proposed | |
+ | |
+## Consequences | |
+ | |
+### Positive | |
+ | |
+- simple to implement and understand | |
+- familiar to tendermint / Cosmos devs | |
+- allows trying out the MVP without relying on the [celestia-app](https://github.com/celestiaorg/celestia-app) (instead a simple abci app like a modified [KVStore](https://github.com/celestiaorg/celestia-core/blob/42e4e8b58ebc58ebd663c114d2bcd7ab045b1c55/abci/example/kvstore/README.md) app could be used to demo the DAS light client) | |
+ | |
+### Negative | |
+ | |
+- light client does not discover peers | |
+- requires the light client that currently runs simple RPC requests only to run an IPFS node | |
+- rpc makes it extremely easy to infer which light clients are doing DAS and which not | |
+- the initial light client implementation might still be confusing to devs familiar to tendermint/Cosmos for the reason that it does DAS (and state fraud proofs) to get rid of the underlying honest majority assumption, but it will still do all checks related to that same honest majority assumption (e.g. download validator sets, Commits and validate that > 2/3 of them signed the header) | |
+ | |
+### Neutral | |
+ | |
+DAS light clients need to additionally obtain the DAHeader from the data root in the header to be able to actually do DAS. | |
+ | |
+## References | |
+ | |
+We have linked all references above inside the text already. | |
Index: docs/celestia-architecture/adr-template.md | |
=================================================================== | |
diff --git a/docs/celestia-architecture/adr-template.md b/docs/celestia-architecture/adr-template.md | |
new file mode 100644 | |
--- /dev/null (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
+++ b/docs/celestia-architecture/adr-template.md (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
@@ -0,0 +1,72 @@ | |
+# ADR {ADR-NUMBER}: {TITLE} | |
+ | |
+## Changelog | |
+ | |
+- {date}: {changelog} | |
+ | |
+## Context | |
+ | |
+> This section contains all the context one needs to understand the current state, and why there is a problem. It should be as succinct as possible and introduce the high level idea behind the solution. | |
+ | |
+## Alternative Approaches | |
+ | |
+> This section contains information around alternative options that are considered before making a decision. It should contain a explanation on why the alternative approach(es) were not chosen. | |
+ | |
+## Decision | |
+ | |
+> This section records the decision that was made. | |
+> It is best to record as much info as possible from the discussion that happened. This aids in not having to go back to the Pull Request to get the needed information. | |
+ | |
+## Detailed Design | |
+ | |
+> This section does not need to be filled in at the start of the ADR, but must be completed prior to the merging of the implementation. | |
+> | |
+> Here are some common questions that get answered as part of the detailed design: | |
+> | |
+> - What are the user requirements? | |
+> | |
+> - What systems will be affected? | |
+> | |
+> - What new data structures are needed, what data structures will be changed? | |
+> | |
+> - What new APIs will be needed, what APIs will be changed? | |
+> | |
+> - What are the efficiency considerations (time/space)? | |
+> | |
+> - What are the expected access patterns (load/throughput)? | |
+> | |
+> - Are there any logging, monitoring or observability needs? | |
+> | |
+> - Are there any security considerations? | |
+> | |
+> - Are there any privacy considerations? | |
+> | |
+> - How will the changes be tested? | |
+> | |
+> - If the change is large, how will the changes be broken up for ease of review? | |
+> | |
+> - Will these changes require a breaking (major) release? | |
+> | |
+> - Does this change require coordination with the Celestia fork of the SDK or celestia-app? | |
+ | |
+## Status | |
+ | |
+> A decision may be "proposed" if it hasn't been agreed upon yet, or "accepted" once it is agreed upon. Once the ADR has been implemented mark the ADR as "implemented". If a later ADR changes or reverses a decision, it may be marked as "deprecated" or "superseded" with a reference to its replacement. | |
+ | |
+{Deprecated|Proposed|Accepted|Declined} | |
+ | |
+## Consequences | |
+ | |
+> This section describes the consequences, after applying the decision. All consequences should be summarized here, not just the "positive" ones. | |
+ | |
+### Positive | |
+ | |
+### Negative | |
+ | |
+### Neutral | |
+ | |
+## References | |
+ | |
+> Are there any relevant PR comments, issues that led up to this, or articles referenced for why we made the given design choice? If so link them here! | |
+ | |
+- {reference link} | |
Index: .github/ISSUE_TEMPLATE/bug-report.md | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md | |
--- a/.github/ISSUE_TEMPLATE/bug-report.md (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
+++ b/.github/ISSUE_TEMPLATE/bug-report.md (revision 6688073570b1c34e69c62b593820f48d1af53408) | |
@@ -10,15 +10,7 @@ | |
manner. We might ask you to provide additional logs and data (tendermint & app). | |
--> | |
-**Tendermint version** (use `tendermint version` or `git rev-parse --verify HEAD` if installed from source): | |
- | |
- | |
-**ABCI app** (name for built-in, URL for self-written if it's publicly available): | |
- | |
-**Environment**: | |
-- **OS** (e.g. from /etc/os-release): | |
-- **Install tools**: | |
-- **Others**: | |
+**Version** (use `git rev-parse --verify HEAD`): | |
**What happened**: | |
@@ -27,16 +19,14 @@ | |
**What you expected to happen**: | |
-**Have you tried the latest version**: yes/no | |
- | |
**How to reproduce it** (as minimally and precisely as possible): | |
**Logs (paste a small part showing an error (< 10 lines) or link a pastebin, gist, etc. containing more of the log file)**: | |
-**Config (you can paste only the changes you've made)**: | |
+**Config (you can paste only the changes you've made to the config)**: | |
**node command runtime flags**: | |
**Please provide the output from the `http://<ip>:<port>/dump_consensus_state` RPC endpoint for consensus bugs** | |
-**Anything else we need to know**: | |
+**Anything else**: | |
Index: .github/ISSUE_TEMPLATE/implement-feature.md | |
=================================================================== | |
diff --git a/.github/ISSUE_TEMPLATE/implement-feature.md b/.github/ISSUE_TEMPLATE/implement-feature.md | |
new file mode 100644 | |
--- /dev/null (revision 6688073570b1c34e69c62b593820f48d1af53408) | |
+++ b/.github/ISSUE_TEMPLATE/implement-feature.md (revision 6688073570b1c34e69c62b593820f48d1af53408) | |
@@ -0,0 +1,45 @@ | |
+--- | |
+name: Actionable implementation task | |
+about: A well-defined, already decided-on, actionable implementation task. | |
+ | |
+--- | |
+ | |
+## Summary | |
+ | |
+<!-- Short, concise description of what feature the implementation will cover --> | |
+ | |
+## Details | |
+ | |
+<!-- | |
+Particularly if this implementation was not already discussed in a Proposal issue, | |
+or even in an ADR, please include as many details as possible about what this | |
+implementation task covers. | |
+ | |
+Also cover WHY this is needed! | |
+--> | |
+ | |
+### Action Items | |
+<!-- Short, concise list of actionable sub-tasks --> | |
+- [ ] sub-task 1 | |
+<!-- open issues for sub-tasks where it makes sense | |
+rule of thumb: is a sub-task more than 1-2 days of work? -> requires own issue --> | |
+ | |
+### References | |
+ | |
+<!-- | |
+Add references and all relations to: | |
+ - other issues | |
+ - particularly Proposals (if applicable) | |
+ - Important: related tracking issue! | |
+ - other pull requests | |
+ - discussions | |
+ - and ADRs | |
+ | |
+examples: | |
+blocked by: #XXX | |
+depends on: #XXX | |
+implements ADR: link to ADR | |
+included in: #link to tracking issue | |
+reference to specification: perma-link to spec | |
+--> | |
+ | |
Index: .github/ISSUE_TEMPLATE/proposal.md | |
=================================================================== | |
diff --git a/.github/ISSUE_TEMPLATE/proposal.md b/.github/ISSUE_TEMPLATE/proposal.md | |
new file mode 100644 | |
--- /dev/null (revision 6688073570b1c34e69c62b593820f48d1af53408) | |
+++ b/.github/ISSUE_TEMPLATE/proposal.md (revision 6688073570b1c34e69c62b593820f48d1af53408) | |
@@ -0,0 +1,35 @@ | |
+--- | |
+name: proposal | |
+about: Propose an improvement, feature, or change to core components | |
+ | |
+--- | |
+ | |
+<!-- < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < ☺ | |
+v ✰ Thanks for proposing an improvement or feature! ✰ | |
+v Before smashing the submit button please review the template. | |
+v Word of caution: poorly thought-out proposals may be rejected | |
+v without deliberation | |
+☺ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --> | |
+ | |
+## Summary | |
+ | |
+<!-- Short, concise description of the proposed feature / change --> | |
+ | |
+## Problem Definition | |
+ | |
+<!-- Why do we need this feature? | |
+What problems may be addressed by introducing this feature? | |
+What benefits does we gain by including this feature? | |
+Are there any disadvantages of including this feature? --> | |
+ | |
+## Proposal | |
+ | |
+<!-- Detailed description of requirements of implementation --> | |
+ | |
+### Implementation | |
+ | |
+<!-- Include details on how the implementation would look like --> | |
+<!-- Point to branches, draft PRs with spike, proof of concept or tracer implementations --> | |
+ | |
+<!-- If the change is large, how will the changes be broken up for ease of review? --> | |
+ | |
Index: .github/ISSUE_TEMPLATE/write-adr.md | |
=================================================================== | |
diff --git a/.github/ISSUE_TEMPLATE/write-adr.md b/.github/ISSUE_TEMPLATE/write-adr.md | |
new file mode 100644 | |
--- /dev/null (revision 6688073570b1c34e69c62b593820f48d1af53408) | |
+++ b/.github/ISSUE_TEMPLATE/write-adr.md (revision 6688073570b1c34e69c62b593820f48d1af53408) | |
@@ -0,0 +1,43 @@ | |
+--- | |
+name: ADR | |
+about: Write an ADR for certain aspect of the system | |
+ | |
+--- | |
+ | |
+## Summary | |
+ | |
+<!-- Short, concise description of what this ADR should cover --> | |
+ | |
+## Details | |
+ | |
+<!-- Add more details about the nature of this ADR --> | |
+ | |
+<!-- Jot down expectations as clearly as possible | |
+Does this ADR cover changes to: | |
+ - public API? | |
+ - changes to Tendermint core types? | |
+ - the p2p networking layer? | |
+ - storage? | |
+ - user interface? | |
+ - some other core component (mempool, gossiping etc) | |
+--> | |
+ | |
+<!-- | |
+If this ADR is part of some time critical, urgent feature, please be | |
+explicit about this in the issue already. | |
+This will help guiding the author on decision for the implementation plan. | |
+--> | |
+ | |
+## References and Context | |
+ | |
+<!-- Usually, before we decide to write ADR about a certain aspect, | |
+there are pre-existing: | |
+ - reference to specification (perma-link to spec) | |
+ - discussions | |
+ - issues (e.g. Proposals) | |
+ - or even draft PRs. | |
+ | |
+Make sure to link those here to facilitate writing the ADR and | |
+to give the author all required context (this can be helpful even | |
+if you are the author yourself). | |
+--> | |
Index: proto/tendermint/types/evidence.pb.go | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/proto/tendermint/types/evidence.pb.go b/proto/tendermint/types/evidence.pb.go | |
deleted file mode 100644 | |
--- a/proto/tendermint/types/evidence.pb.go (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ /dev/null (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
@@ -1,1394 +0,0 @@ | |
-// Code generated by protoc-gen-gogo. DO NOT EDIT. | |
-// source: tendermint/types/evidence.proto | |
- | |
-package types | |
- | |
-import ( | |
- fmt "fmt" | |
- _ "github.com/gogo/protobuf/gogoproto" | |
- proto "github.com/gogo/protobuf/proto" | |
- _ "github.com/gogo/protobuf/types" | |
- github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" | |
- io "io" | |
- math "math" | |
- math_bits "math/bits" | |
- time "time" | |
-) | |
- | |
-// Reference imports to suppress errors if they are not otherwise used. | |
-var _ = proto.Marshal | |
-var _ = fmt.Errorf | |
-var _ = math.Inf | |
-var _ = time.Kitchen | |
- | |
-// This is a compile-time assertion to ensure that this generated file | |
-// is compatible with the proto package it is being compiled against. | |
-// A compilation error at this line likely means your copy of the | |
-// proto package needs to be updated. | |
-const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package | |
- | |
-type Evidence struct { | |
- // Types that are valid to be assigned to Sum: | |
- // *Evidence_DuplicateVoteEvidence | |
- // *Evidence_LightClientAttackEvidence | |
- Sum isEvidence_Sum `protobuf_oneof:"sum"` | |
-} | |
- | |
-func (m *Evidence) Reset() { *m = Evidence{} } | |
-func (m *Evidence) String() string { return proto.CompactTextString(m) } | |
-func (*Evidence) ProtoMessage() {} | |
-func (*Evidence) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_6825fabc78e0a168, []int{0} | |
-} | |
-func (m *Evidence) XXX_Unmarshal(b []byte) error { | |
- return m.Unmarshal(b) | |
-} | |
-func (m *Evidence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
- if deterministic { | |
- return xxx_messageInfo_Evidence.Marshal(b, m, deterministic) | |
- } else { | |
- b = b[:cap(b)] | |
- n, err := m.MarshalToSizedBuffer(b) | |
- if err != nil { | |
- return nil, err | |
- } | |
- return b[:n], nil | |
- } | |
-} | |
-func (m *Evidence) XXX_Merge(src proto.Message) { | |
- xxx_messageInfo_Evidence.Merge(m, src) | |
-} | |
-func (m *Evidence) XXX_Size() int { | |
- return m.Size() | |
-} | |
-func (m *Evidence) XXX_DiscardUnknown() { | |
- xxx_messageInfo_Evidence.DiscardUnknown(m) | |
-} | |
- | |
-var xxx_messageInfo_Evidence proto.InternalMessageInfo | |
- | |
-type isEvidence_Sum interface { | |
- isEvidence_Sum() | |
- MarshalTo([]byte) (int, error) | |
- Size() int | |
-} | |
- | |
-type Evidence_DuplicateVoteEvidence struct { | |
- DuplicateVoteEvidence *DuplicateVoteEvidence `protobuf:"bytes,1,opt,name=duplicate_vote_evidence,json=duplicateVoteEvidence,proto3,oneof" json:"duplicate_vote_evidence,omitempty"` | |
-} | |
-type Evidence_LightClientAttackEvidence struct { | |
- LightClientAttackEvidence *LightClientAttackEvidence `protobuf:"bytes,2,opt,name=light_client_attack_evidence,json=lightClientAttackEvidence,proto3,oneof" json:"light_client_attack_evidence,omitempty"` | |
-} | |
- | |
-func (*Evidence_DuplicateVoteEvidence) isEvidence_Sum() {} | |
-func (*Evidence_LightClientAttackEvidence) isEvidence_Sum() {} | |
- | |
-func (m *Evidence) GetSum() isEvidence_Sum { | |
- if m != nil { | |
- return m.Sum | |
- } | |
- return nil | |
-} | |
- | |
-func (m *Evidence) GetDuplicateVoteEvidence() *DuplicateVoteEvidence { | |
- if x, ok := m.GetSum().(*Evidence_DuplicateVoteEvidence); ok { | |
- return x.DuplicateVoteEvidence | |
- } | |
- return nil | |
-} | |
- | |
-func (m *Evidence) GetLightClientAttackEvidence() *LightClientAttackEvidence { | |
- if x, ok := m.GetSum().(*Evidence_LightClientAttackEvidence); ok { | |
- return x.LightClientAttackEvidence | |
- } | |
- return nil | |
-} | |
- | |
-// XXX_OneofWrappers is for the internal use of the proto package. | |
-func (*Evidence) XXX_OneofWrappers() []interface{} { | |
- return []interface{}{ | |
- (*Evidence_DuplicateVoteEvidence)(nil), | |
- (*Evidence_LightClientAttackEvidence)(nil), | |
- } | |
-} | |
- | |
-// DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes. | |
-type DuplicateVoteEvidence struct { | |
- VoteA *Vote `protobuf:"bytes,1,opt,name=vote_a,json=voteA,proto3" json:"vote_a,omitempty"` | |
- VoteB *Vote `protobuf:"bytes,2,opt,name=vote_b,json=voteB,proto3" json:"vote_b,omitempty"` | |
- TotalVotingPower int64 `protobuf:"varint,3,opt,name=total_voting_power,json=totalVotingPower,proto3" json:"total_voting_power,omitempty"` | |
- ValidatorPower int64 `protobuf:"varint,4,opt,name=validator_power,json=validatorPower,proto3" json:"validator_power,omitempty"` | |
- Timestamp time.Time `protobuf:"bytes,5,opt,name=timestamp,proto3,stdtime" json:"timestamp"` | |
-} | |
- | |
-func (m *DuplicateVoteEvidence) Reset() { *m = DuplicateVoteEvidence{} } | |
-func (m *DuplicateVoteEvidence) String() string { return proto.CompactTextString(m) } | |
-func (*DuplicateVoteEvidence) ProtoMessage() {} | |
-func (*DuplicateVoteEvidence) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_6825fabc78e0a168, []int{1} | |
-} | |
-func (m *DuplicateVoteEvidence) XXX_Unmarshal(b []byte) error { | |
- return m.Unmarshal(b) | |
-} | |
-func (m *DuplicateVoteEvidence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
- if deterministic { | |
- return xxx_messageInfo_DuplicateVoteEvidence.Marshal(b, m, deterministic) | |
- } else { | |
- b = b[:cap(b)] | |
- n, err := m.MarshalToSizedBuffer(b) | |
- if err != nil { | |
- return nil, err | |
- } | |
- return b[:n], nil | |
- } | |
-} | |
-func (m *DuplicateVoteEvidence) XXX_Merge(src proto.Message) { | |
- xxx_messageInfo_DuplicateVoteEvidence.Merge(m, src) | |
-} | |
-func (m *DuplicateVoteEvidence) XXX_Size() int { | |
- return m.Size() | |
-} | |
-func (m *DuplicateVoteEvidence) XXX_DiscardUnknown() { | |
- xxx_messageInfo_DuplicateVoteEvidence.DiscardUnknown(m) | |
-} | |
- | |
-var xxx_messageInfo_DuplicateVoteEvidence proto.InternalMessageInfo | |
- | |
-func (m *DuplicateVoteEvidence) GetVoteA() *Vote { | |
- if m != nil { | |
- return m.VoteA | |
- } | |
- return nil | |
-} | |
- | |
-func (m *DuplicateVoteEvidence) GetVoteB() *Vote { | |
- if m != nil { | |
- return m.VoteB | |
- } | |
- return nil | |
-} | |
- | |
-func (m *DuplicateVoteEvidence) GetTotalVotingPower() int64 { | |
- if m != nil { | |
- return m.TotalVotingPower | |
- } | |
- return 0 | |
-} | |
- | |
-func (m *DuplicateVoteEvidence) GetValidatorPower() int64 { | |
- if m != nil { | |
- return m.ValidatorPower | |
- } | |
- return 0 | |
-} | |
- | |
-func (m *DuplicateVoteEvidence) GetTimestamp() time.Time { | |
- if m != nil { | |
- return m.Timestamp | |
- } | |
- return time.Time{} | |
-} | |
- | |
-// LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client. | |
-type LightClientAttackEvidence struct { | |
- ConflictingBlock *LightBlock `protobuf:"bytes,1,opt,name=conflicting_block,json=conflictingBlock,proto3" json:"conflicting_block,omitempty"` | |
- CommonHeight int64 `protobuf:"varint,2,opt,name=common_height,json=commonHeight,proto3" json:"common_height,omitempty"` | |
- ByzantineValidators []*Validator `protobuf:"bytes,3,rep,name=byzantine_validators,json=byzantineValidators,proto3" json:"byzantine_validators,omitempty"` | |
- TotalVotingPower int64 `protobuf:"varint,4,opt,name=total_voting_power,json=totalVotingPower,proto3" json:"total_voting_power,omitempty"` | |
- Timestamp time.Time `protobuf:"bytes,5,opt,name=timestamp,proto3,stdtime" json:"timestamp"` | |
-} | |
- | |
-func (m *LightClientAttackEvidence) Reset() { *m = LightClientAttackEvidence{} } | |
-func (m *LightClientAttackEvidence) String() string { return proto.CompactTextString(m) } | |
-func (*LightClientAttackEvidence) ProtoMessage() {} | |
-func (*LightClientAttackEvidence) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_6825fabc78e0a168, []int{2} | |
-} | |
-func (m *LightClientAttackEvidence) XXX_Unmarshal(b []byte) error { | |
- return m.Unmarshal(b) | |
-} | |
-func (m *LightClientAttackEvidence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
- if deterministic { | |
- return xxx_messageInfo_LightClientAttackEvidence.Marshal(b, m, deterministic) | |
- } else { | |
- b = b[:cap(b)] | |
- n, err := m.MarshalToSizedBuffer(b) | |
- if err != nil { | |
- return nil, err | |
- } | |
- return b[:n], nil | |
- } | |
-} | |
-func (m *LightClientAttackEvidence) XXX_Merge(src proto.Message) { | |
- xxx_messageInfo_LightClientAttackEvidence.Merge(m, src) | |
-} | |
-func (m *LightClientAttackEvidence) XXX_Size() int { | |
- return m.Size() | |
-} | |
-func (m *LightClientAttackEvidence) XXX_DiscardUnknown() { | |
- xxx_messageInfo_LightClientAttackEvidence.DiscardUnknown(m) | |
-} | |
- | |
-var xxx_messageInfo_LightClientAttackEvidence proto.InternalMessageInfo | |
- | |
-func (m *LightClientAttackEvidence) GetConflictingBlock() *LightBlock { | |
- if m != nil { | |
- return m.ConflictingBlock | |
- } | |
- return nil | |
-} | |
- | |
-func (m *LightClientAttackEvidence) GetCommonHeight() int64 { | |
- if m != nil { | |
- return m.CommonHeight | |
- } | |
- return 0 | |
-} | |
- | |
-func (m *LightClientAttackEvidence) GetByzantineValidators() []*Validator { | |
- if m != nil { | |
- return m.ByzantineValidators | |
- } | |
- return nil | |
-} | |
- | |
-func (m *LightClientAttackEvidence) GetTotalVotingPower() int64 { | |
- if m != nil { | |
- return m.TotalVotingPower | |
- } | |
- return 0 | |
-} | |
- | |
-func (m *LightClientAttackEvidence) GetTimestamp() time.Time { | |
- if m != nil { | |
- return m.Timestamp | |
- } | |
- return time.Time{} | |
-} | |
- | |
-type EvidenceList struct { | |
- Evidence []Evidence `protobuf:"bytes,1,rep,name=evidence,proto3" json:"evidence"` | |
-} | |
- | |
-func (m *EvidenceList) Reset() { *m = EvidenceList{} } | |
-func (m *EvidenceList) String() string { return proto.CompactTextString(m) } | |
-func (*EvidenceList) ProtoMessage() {} | |
-func (*EvidenceList) Descriptor() ([]byte, []int) { | |
- return fileDescriptor_6825fabc78e0a168, []int{3} | |
-} | |
-func (m *EvidenceList) XXX_Unmarshal(b []byte) error { | |
- return m.Unmarshal(b) | |
-} | |
-func (m *EvidenceList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | |
- if deterministic { | |
- return xxx_messageInfo_EvidenceList.Marshal(b, m, deterministic) | |
- } else { | |
- b = b[:cap(b)] | |
- n, err := m.MarshalToSizedBuffer(b) | |
- if err != nil { | |
- return nil, err | |
- } | |
- return b[:n], nil | |
- } | |
-} | |
-func (m *EvidenceList) XXX_Merge(src proto.Message) { | |
- xxx_messageInfo_EvidenceList.Merge(m, src) | |
-} | |
-func (m *EvidenceList) XXX_Size() int { | |
- return m.Size() | |
-} | |
-func (m *EvidenceList) XXX_DiscardUnknown() { | |
- xxx_messageInfo_EvidenceList.DiscardUnknown(m) | |
-} | |
- | |
-var xxx_messageInfo_EvidenceList proto.InternalMessageInfo | |
- | |
-func (m *EvidenceList) GetEvidence() []Evidence { | |
- if m != nil { | |
- return m.Evidence | |
- } | |
- return nil | |
-} | |
- | |
-func init() { | |
- proto.RegisterType((*Evidence)(nil), "tendermint.types.Evidence") | |
- proto.RegisterType((*DuplicateVoteEvidence)(nil), "tendermint.types.DuplicateVoteEvidence") | |
- proto.RegisterType((*LightClientAttackEvidence)(nil), "tendermint.types.LightClientAttackEvidence") | |
- proto.RegisterType((*EvidenceList)(nil), "tendermint.types.EvidenceList") | |
-} | |
- | |
-func init() { proto.RegisterFile("tendermint/types/evidence.proto", fileDescriptor_6825fabc78e0a168) } | |
- | |
-var fileDescriptor_6825fabc78e0a168 = []byte{ | |
- // 532 bytes of a gzipped FileDescriptorProto | |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0xcf, 0x6e, 0xd3, 0x40, | |
- 0x10, 0xc6, 0xed, 0x3a, 0xa9, 0xc2, 0xb6, 0x40, 0x58, 0x5a, 0x48, 0x43, 0xe4, 0x44, 0xe1, 0xd0, | |
- 0x48, 0x80, 0x2d, 0x95, 0x03, 0x17, 0x2e, 0x35, 0x20, 0x15, 0x29, 0x42, 0x60, 0xa1, 0x1e, 0xb8, | |
- 0x58, 0x6b, 0x7b, 0xeb, 0xac, 0x6a, 0xef, 0x5a, 0xf1, 0x24, 0xa8, 0x3c, 0x45, 0x1e, 0xab, 0x17, | |
- 0xa4, 0x1e, 0x39, 0x01, 0x4a, 0x78, 0x10, 0xe4, 0xf5, 0x9f, 0x44, 0x75, 0xcc, 0x89, 0x4b, 0xe4, | |
- 0xcc, 0xfc, 0xbe, 0x9d, 0x99, 0xcf, 0xb3, 0x46, 0x7d, 0xa0, 0xdc, 0xa7, 0xd3, 0x88, 0x71, 0x30, | |
- 0xe1, 0x2a, 0xa6, 0x89, 0x49, 0xe7, 0xcc, 0xa7, 0xdc, 0xa3, 0x46, 0x3c, 0x15, 0x20, 0x70, 0x7b, | |
- 0x0d, 0x18, 0x12, 0xe8, 0x1e, 0x04, 0x22, 0x10, 0x32, 0x69, 0xa6, 0x4f, 0x19, 0xd7, 0xed, 0x07, | |
- 0x42, 0x04, 0x21, 0x35, 0xe5, 0x3f, 0x77, 0x76, 0x61, 0x02, 0x8b, 0x68, 0x02, 0x24, 0x8a, 0x73, | |
- 0xa0, 0x57, 0xa9, 0x24, 0x7f, 0xf3, 0xec, 0xa0, 0x92, 0x9d, 0x93, 0x90, 0xf9, 0x04, 0xc4, 0x34, | |
- 0x23, 0x86, 0x7f, 0x54, 0xd4, 0x7a, 0x97, 0xf7, 0x86, 0x09, 0x7a, 0xec, 0xcf, 0xe2, 0x90, 0x79, | |
- 0x04, 0xa8, 0x33, 0x17, 0x40, 0x9d, 0xa2, 0xed, 0x8e, 0x3a, 0x50, 0x47, 0x7b, 0x27, 0xc7, 0xc6, | |
- 0xed, 0xbe, 0x8d, 0xb7, 0x85, 0xe0, 0x5c, 0x00, 0x2d, 0x4e, 0x3a, 0x53, 0xec, 0x43, 0x7f, 0x5b, | |
- 0x02, 0x73, 0xd4, 0x0b, 0x59, 0x30, 0x01, 0xc7, 0x0b, 0x19, 0xe5, 0xe0, 0x10, 0x00, 0xe2, 0x5d, | |
- 0xae, 0xeb, 0xec, 0xc8, 0x3a, 0xcf, 0xaa, 0x75, 0xc6, 0xa9, 0xea, 0x8d, 0x14, 0x9d, 0x4a, 0xcd, | |
- 0x46, 0xad, 0xa3, 0xb0, 0x2e, 0x69, 0x35, 0x91, 0x96, 0xcc, 0xa2, 0xe1, 0x62, 0x07, 0x1d, 0x6e, | |
- 0xed, 0x14, 0xbf, 0x40, 0xbb, 0x72, 0x52, 0x92, 0x8f, 0xf8, 0xa8, 0x5a, 0x3a, 0xe5, 0xed, 0x66, | |
- 0x4a, 0x9d, 0x96, 0xb8, 0x9b, 0x77, 0xfa, 0x4f, 0xdc, 0xc2, 0xcf, 0x11, 0x06, 0x01, 0x24, 0x4c, | |
- 0xdd, 0x64, 0x3c, 0x70, 0x62, 0xf1, 0x95, 0x4e, 0x3b, 0xda, 0x40, 0x1d, 0x69, 0x76, 0x5b, 0x66, | |
- 0xce, 0x65, 0xe2, 0x63, 0x1a, 0xc7, 0xc7, 0xe8, 0x7e, 0xf9, 0x7e, 0x72, 0xb4, 0x21, 0xd1, 0x7b, | |
- 0x65, 0x38, 0x03, 0x2d, 0x74, 0xa7, 0x5c, 0x84, 0x4e, 0x53, 0x36, 0xd2, 0x35, 0xb2, 0x55, 0x31, | |
- 0x8a, 0x55, 0x31, 0x3e, 0x17, 0x84, 0xd5, 0xba, 0xfe, 0xd9, 0x57, 0x16, 0xbf, 0xfa, 0xaa, 0xbd, | |
- 0x96, 0x0d, 0xbf, 0xef, 0xa0, 0xa3, 0x5a, 0x53, 0xf1, 0x7b, 0xf4, 0xc0, 0x13, 0xfc, 0x22, 0x64, | |
- 0x9e, 0xec, 0xdb, 0x0d, 0x85, 0x77, 0x99, 0x3b, 0xd4, 0xab, 0x79, 0x39, 0x56, 0xca, 0xd8, 0xed, | |
- 0x0d, 0x99, 0x8c, 0xe0, 0xa7, 0xe8, 0xae, 0x27, 0xa2, 0x48, 0x70, 0x67, 0x42, 0x53, 0x4e, 0x3a, | |
- 0xa7, 0xd9, 0xfb, 0x59, 0xf0, 0x4c, 0xc6, 0xf0, 0x07, 0x74, 0xe0, 0x5e, 0x7d, 0x23, 0x1c, 0x18, | |
- 0xa7, 0x4e, 0x39, 0x6d, 0xd2, 0xd1, 0x06, 0xda, 0x68, 0xef, 0xe4, 0xc9, 0x16, 0x97, 0x0b, 0xc6, | |
- 0x7e, 0x58, 0x0a, 0xcb, 0x58, 0x52, 0x63, 0x7c, 0xa3, 0xc6, 0xf8, 0xff, 0xe1, 0xe7, 0x18, 0xed, | |
- 0x17, 0xee, 0x8d, 0x59, 0x02, 0xf8, 0x35, 0x6a, 0x6d, 0xdc, 0x1e, 0x4d, 0x1e, 0x59, 0x99, 0xa2, | |
- 0xdc, 0xd3, 0x46, 0x7a, 0xa4, 0x5d, 0x2a, 0xac, 0x4f, 0xd7, 0x4b, 0x5d, 0xbd, 0x59, 0xea, 0xea, | |
- 0xef, 0xa5, 0xae, 0x2e, 0x56, 0xba, 0x72, 0xb3, 0xd2, 0x95, 0x1f, 0x2b, 0x5d, 0xf9, 0xf2, 0x2a, | |
- 0x60, 0x30, 0x99, 0xb9, 0x86, 0x27, 0x22, 0x73, 0xf3, 0x7a, 0xaf, 0x1f, 0xb3, 0xaf, 0xc8, 0xed, | |
- 0xab, 0xef, 0xee, 0xca, 0xf8, 0xcb, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa6, 0x21, 0x16, 0x68, | |
- 0x9d, 0x04, 0x00, 0x00, | |
-} | |
- | |
-func (m *Evidence) Marshal() (dAtA []byte, err error) { | |
- size := m.Size() | |
- dAtA = make([]byte, size) | |
- n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
- if err != nil { | |
- return nil, err | |
- } | |
- return dAtA[:n], nil | |
-} | |
- | |
-func (m *Evidence) MarshalTo(dAtA []byte) (int, error) { | |
- size := m.Size() | |
- return m.MarshalToSizedBuffer(dAtA[:size]) | |
-} | |
- | |
-func (m *Evidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
- i := len(dAtA) | |
- _ = i | |
- var l int | |
- _ = l | |
- if m.Sum != nil { | |
- { | |
- size := m.Sum.Size() | |
- i -= size | |
- if _, err := m.Sum.MarshalTo(dAtA[i:]); err != nil { | |
- return 0, err | |
- } | |
- } | |
- } | |
- return len(dAtA) - i, nil | |
-} | |
- | |
-func (m *Evidence_DuplicateVoteEvidence) MarshalTo(dAtA []byte) (int, error) { | |
- size := m.Size() | |
- return m.MarshalToSizedBuffer(dAtA[:size]) | |
-} | |
- | |
-func (m *Evidence_DuplicateVoteEvidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
- i := len(dAtA) | |
- if m.DuplicateVoteEvidence != nil { | |
- { | |
- size, err := m.DuplicateVoteEvidence.MarshalToSizedBuffer(dAtA[:i]) | |
- if err != nil { | |
- return 0, err | |
- } | |
- i -= size | |
- i = encodeVarintEvidence(dAtA, i, uint64(size)) | |
- } | |
- i-- | |
- dAtA[i] = 0xa | |
- } | |
- return len(dAtA) - i, nil | |
-} | |
-func (m *Evidence_LightClientAttackEvidence) MarshalTo(dAtA []byte) (int, error) { | |
- size := m.Size() | |
- return m.MarshalToSizedBuffer(dAtA[:size]) | |
-} | |
- | |
-func (m *Evidence_LightClientAttackEvidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
- i := len(dAtA) | |
- if m.LightClientAttackEvidence != nil { | |
- { | |
- size, err := m.LightClientAttackEvidence.MarshalToSizedBuffer(dAtA[:i]) | |
- if err != nil { | |
- return 0, err | |
- } | |
- i -= size | |
- i = encodeVarintEvidence(dAtA, i, uint64(size)) | |
- } | |
- i-- | |
- dAtA[i] = 0x12 | |
- } | |
- return len(dAtA) - i, nil | |
-} | |
-func (m *DuplicateVoteEvidence) Marshal() (dAtA []byte, err error) { | |
- size := m.Size() | |
- dAtA = make([]byte, size) | |
- n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
- if err != nil { | |
- return nil, err | |
- } | |
- return dAtA[:n], nil | |
-} | |
- | |
-func (m *DuplicateVoteEvidence) MarshalTo(dAtA []byte) (int, error) { | |
- size := m.Size() | |
- return m.MarshalToSizedBuffer(dAtA[:size]) | |
-} | |
- | |
-func (m *DuplicateVoteEvidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
- i := len(dAtA) | |
- _ = i | |
- var l int | |
- _ = l | |
- n3, err3 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp):]) | |
- if err3 != nil { | |
- return 0, err3 | |
- } | |
- i -= n3 | |
- i = encodeVarintEvidence(dAtA, i, uint64(n3)) | |
- i-- | |
- dAtA[i] = 0x2a | |
- if m.ValidatorPower != 0 { | |
- i = encodeVarintEvidence(dAtA, i, uint64(m.ValidatorPower)) | |
- i-- | |
- dAtA[i] = 0x20 | |
- } | |
- if m.TotalVotingPower != 0 { | |
- i = encodeVarintEvidence(dAtA, i, uint64(m.TotalVotingPower)) | |
- i-- | |
- dAtA[i] = 0x18 | |
- } | |
- if m.VoteB != nil { | |
- { | |
- size, err := m.VoteB.MarshalToSizedBuffer(dAtA[:i]) | |
- if err != nil { | |
- return 0, err | |
- } | |
- i -= size | |
- i = encodeVarintEvidence(dAtA, i, uint64(size)) | |
- } | |
- i-- | |
- dAtA[i] = 0x12 | |
- } | |
- if m.VoteA != nil { | |
- { | |
- size, err := m.VoteA.MarshalToSizedBuffer(dAtA[:i]) | |
- if err != nil { | |
- return 0, err | |
- } | |
- i -= size | |
- i = encodeVarintEvidence(dAtA, i, uint64(size)) | |
- } | |
- i-- | |
- dAtA[i] = 0xa | |
- } | |
- return len(dAtA) - i, nil | |
-} | |
- | |
-func (m *LightClientAttackEvidence) Marshal() (dAtA []byte, err error) { | |
- size := m.Size() | |
- dAtA = make([]byte, size) | |
- n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
- if err != nil { | |
- return nil, err | |
- } | |
- return dAtA[:n], nil | |
-} | |
- | |
-func (m *LightClientAttackEvidence) MarshalTo(dAtA []byte) (int, error) { | |
- size := m.Size() | |
- return m.MarshalToSizedBuffer(dAtA[:size]) | |
-} | |
- | |
-func (m *LightClientAttackEvidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
- i := len(dAtA) | |
- _ = i | |
- var l int | |
- _ = l | |
- n6, err6 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp):]) | |
- if err6 != nil { | |
- return 0, err6 | |
- } | |
- i -= n6 | |
- i = encodeVarintEvidence(dAtA, i, uint64(n6)) | |
- i-- | |
- dAtA[i] = 0x2a | |
- if m.TotalVotingPower != 0 { | |
- i = encodeVarintEvidence(dAtA, i, uint64(m.TotalVotingPower)) | |
- i-- | |
- dAtA[i] = 0x20 | |
- } | |
- if len(m.ByzantineValidators) > 0 { | |
- for iNdEx := len(m.ByzantineValidators) - 1; iNdEx >= 0; iNdEx-- { | |
- { | |
- size, err := m.ByzantineValidators[iNdEx].MarshalToSizedBuffer(dAtA[:i]) | |
- if err != nil { | |
- return 0, err | |
- } | |
- i -= size | |
- i = encodeVarintEvidence(dAtA, i, uint64(size)) | |
- } | |
- i-- | |
- dAtA[i] = 0x1a | |
- } | |
- } | |
- if m.CommonHeight != 0 { | |
- i = encodeVarintEvidence(dAtA, i, uint64(m.CommonHeight)) | |
- i-- | |
- dAtA[i] = 0x10 | |
- } | |
- if m.ConflictingBlock != nil { | |
- { | |
- size, err := m.ConflictingBlock.MarshalToSizedBuffer(dAtA[:i]) | |
- if err != nil { | |
- return 0, err | |
- } | |
- i -= size | |
- i = encodeVarintEvidence(dAtA, i, uint64(size)) | |
- } | |
- i-- | |
- dAtA[i] = 0xa | |
- } | |
- return len(dAtA) - i, nil | |
-} | |
- | |
-func (m *EvidenceList) Marshal() (dAtA []byte, err error) { | |
- size := m.Size() | |
- dAtA = make([]byte, size) | |
- n, err := m.MarshalToSizedBuffer(dAtA[:size]) | |
- if err != nil { | |
- return nil, err | |
- } | |
- return dAtA[:n], nil | |
-} | |
- | |
-func (m *EvidenceList) MarshalTo(dAtA []byte) (int, error) { | |
- size := m.Size() | |
- return m.MarshalToSizedBuffer(dAtA[:size]) | |
-} | |
- | |
-func (m *EvidenceList) MarshalToSizedBuffer(dAtA []byte) (int, error) { | |
- i := len(dAtA) | |
- _ = i | |
- var l int | |
- _ = l | |
- if len(m.Evidence) > 0 { | |
- for iNdEx := len(m.Evidence) - 1; iNdEx >= 0; iNdEx-- { | |
- { | |
- size, err := m.Evidence[iNdEx].MarshalToSizedBuffer(dAtA[:i]) | |
- if err != nil { | |
- return 0, err | |
- } | |
- i -= size | |
- i = encodeVarintEvidence(dAtA, i, uint64(size)) | |
- } | |
- i-- | |
- dAtA[i] = 0xa | |
- } | |
- } | |
- return len(dAtA) - i, nil | |
-} | |
- | |
-func encodeVarintEvidence(dAtA []byte, offset int, v uint64) int { | |
- offset -= sovEvidence(v) | |
- base := offset | |
- for v >= 1<<7 { | |
- dAtA[offset] = uint8(v&0x7f | 0x80) | |
- v >>= 7 | |
- offset++ | |
- } | |
- dAtA[offset] = uint8(v) | |
- return base | |
-} | |
-func (m *Evidence) Size() (n int) { | |
- if m == nil { | |
- return 0 | |
- } | |
- var l int | |
- _ = l | |
- if m.Sum != nil { | |
- n += m.Sum.Size() | |
- } | |
- return n | |
-} | |
- | |
-func (m *Evidence_DuplicateVoteEvidence) Size() (n int) { | |
- if m == nil { | |
- return 0 | |
- } | |
- var l int | |
- _ = l | |
- if m.DuplicateVoteEvidence != nil { | |
- l = m.DuplicateVoteEvidence.Size() | |
- n += 1 + l + sovEvidence(uint64(l)) | |
- } | |
- return n | |
-} | |
-func (m *Evidence_LightClientAttackEvidence) Size() (n int) { | |
- if m == nil { | |
- return 0 | |
- } | |
- var l int | |
- _ = l | |
- if m.LightClientAttackEvidence != nil { | |
- l = m.LightClientAttackEvidence.Size() | |
- n += 1 + l + sovEvidence(uint64(l)) | |
- } | |
- return n | |
-} | |
-func (m *DuplicateVoteEvidence) Size() (n int) { | |
- if m == nil { | |
- return 0 | |
- } | |
- var l int | |
- _ = l | |
- if m.VoteA != nil { | |
- l = m.VoteA.Size() | |
- n += 1 + l + sovEvidence(uint64(l)) | |
- } | |
- if m.VoteB != nil { | |
- l = m.VoteB.Size() | |
- n += 1 + l + sovEvidence(uint64(l)) | |
- } | |
- if m.TotalVotingPower != 0 { | |
- n += 1 + sovEvidence(uint64(m.TotalVotingPower)) | |
- } | |
- if m.ValidatorPower != 0 { | |
- n += 1 + sovEvidence(uint64(m.ValidatorPower)) | |
- } | |
- l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp) | |
- n += 1 + l + sovEvidence(uint64(l)) | |
- return n | |
-} | |
- | |
-func (m *LightClientAttackEvidence) Size() (n int) { | |
- if m == nil { | |
- return 0 | |
- } | |
- var l int | |
- _ = l | |
- if m.ConflictingBlock != nil { | |
- l = m.ConflictingBlock.Size() | |
- n += 1 + l + sovEvidence(uint64(l)) | |
- } | |
- if m.CommonHeight != 0 { | |
- n += 1 + sovEvidence(uint64(m.CommonHeight)) | |
- } | |
- if len(m.ByzantineValidators) > 0 { | |
- for _, e := range m.ByzantineValidators { | |
- l = e.Size() | |
- n += 1 + l + sovEvidence(uint64(l)) | |
- } | |
- } | |
- if m.TotalVotingPower != 0 { | |
- n += 1 + sovEvidence(uint64(m.TotalVotingPower)) | |
- } | |
- l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp) | |
- n += 1 + l + sovEvidence(uint64(l)) | |
- return n | |
-} | |
- | |
-func (m *EvidenceList) Size() (n int) { | |
- if m == nil { | |
- return 0 | |
- } | |
- var l int | |
- _ = l | |
- if len(m.Evidence) > 0 { | |
- for _, e := range m.Evidence { | |
- l = e.Size() | |
- n += 1 + l + sovEvidence(uint64(l)) | |
- } | |
- } | |
- return n | |
-} | |
- | |
-func sovEvidence(x uint64) (n int) { | |
- return (math_bits.Len64(x|1) + 6) / 7 | |
-} | |
-func sozEvidence(x uint64) (n int) { | |
- return sovEvidence(uint64((x << 1) ^ uint64((int64(x) >> 63)))) | |
-} | |
-func (m *Evidence) Unmarshal(dAtA []byte) error { | |
- l := len(dAtA) | |
- iNdEx := 0 | |
- for iNdEx < l { | |
- preIndex := iNdEx | |
- var wire uint64 | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- wire |= uint64(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- fieldNum := int32(wire >> 3) | |
- wireType := int(wire & 0x7) | |
- if wireType == 4 { | |
- return fmt.Errorf("proto: Evidence: wiretype end group for non-group") | |
- } | |
- if fieldNum <= 0 { | |
- return fmt.Errorf("proto: Evidence: illegal tag %d (wire type %d)", fieldNum, wire) | |
- } | |
- switch fieldNum { | |
- case 1: | |
- if wireType != 2 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field DuplicateVoteEvidence", wireType) | |
- } | |
- var msglen int | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- msglen |= int(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- if msglen < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- postIndex := iNdEx + msglen | |
- if postIndex < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if postIndex > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- v := &DuplicateVoteEvidence{} | |
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
- return err | |
- } | |
- m.Sum = &Evidence_DuplicateVoteEvidence{v} | |
- iNdEx = postIndex | |
- case 2: | |
- if wireType != 2 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field LightClientAttackEvidence", wireType) | |
- } | |
- var msglen int | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- msglen |= int(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- if msglen < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- postIndex := iNdEx + msglen | |
- if postIndex < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if postIndex > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- v := &LightClientAttackEvidence{} | |
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
- return err | |
- } | |
- m.Sum = &Evidence_LightClientAttackEvidence{v} | |
- iNdEx = postIndex | |
- default: | |
- iNdEx = preIndex | |
- skippy, err := skipEvidence(dAtA[iNdEx:]) | |
- if err != nil { | |
- return err | |
- } | |
- if (skippy < 0) || (iNdEx+skippy) < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if (iNdEx + skippy) > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- iNdEx += skippy | |
- } | |
- } | |
- | |
- if iNdEx > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- return nil | |
-} | |
-func (m *DuplicateVoteEvidence) Unmarshal(dAtA []byte) error { | |
- l := len(dAtA) | |
- iNdEx := 0 | |
- for iNdEx < l { | |
- preIndex := iNdEx | |
- var wire uint64 | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- wire |= uint64(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- fieldNum := int32(wire >> 3) | |
- wireType := int(wire & 0x7) | |
- if wireType == 4 { | |
- return fmt.Errorf("proto: DuplicateVoteEvidence: wiretype end group for non-group") | |
- } | |
- if fieldNum <= 0 { | |
- return fmt.Errorf("proto: DuplicateVoteEvidence: illegal tag %d (wire type %d)", fieldNum, wire) | |
- } | |
- switch fieldNum { | |
- case 1: | |
- if wireType != 2 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field VoteA", wireType) | |
- } | |
- var msglen int | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- msglen |= int(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- if msglen < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- postIndex := iNdEx + msglen | |
- if postIndex < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if postIndex > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- if m.VoteA == nil { | |
- m.VoteA = &Vote{} | |
- } | |
- if err := m.VoteA.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
- return err | |
- } | |
- iNdEx = postIndex | |
- case 2: | |
- if wireType != 2 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field VoteB", wireType) | |
- } | |
- var msglen int | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- msglen |= int(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- if msglen < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- postIndex := iNdEx + msglen | |
- if postIndex < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if postIndex > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- if m.VoteB == nil { | |
- m.VoteB = &Vote{} | |
- } | |
- if err := m.VoteB.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
- return err | |
- } | |
- iNdEx = postIndex | |
- case 3: | |
- if wireType != 0 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field TotalVotingPower", wireType) | |
- } | |
- m.TotalVotingPower = 0 | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- m.TotalVotingPower |= int64(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- case 4: | |
- if wireType != 0 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field ValidatorPower", wireType) | |
- } | |
- m.ValidatorPower = 0 | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- m.ValidatorPower |= int64(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- case 5: | |
- if wireType != 2 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) | |
- } | |
- var msglen int | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- msglen |= int(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- if msglen < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- postIndex := iNdEx + msglen | |
- if postIndex < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if postIndex > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Timestamp, dAtA[iNdEx:postIndex]); err != nil { | |
- return err | |
- } | |
- iNdEx = postIndex | |
- default: | |
- iNdEx = preIndex | |
- skippy, err := skipEvidence(dAtA[iNdEx:]) | |
- if err != nil { | |
- return err | |
- } | |
- if (skippy < 0) || (iNdEx+skippy) < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if (iNdEx + skippy) > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- iNdEx += skippy | |
- } | |
- } | |
- | |
- if iNdEx > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- return nil | |
-} | |
-func (m *LightClientAttackEvidence) Unmarshal(dAtA []byte) error { | |
- l := len(dAtA) | |
- iNdEx := 0 | |
- for iNdEx < l { | |
- preIndex := iNdEx | |
- var wire uint64 | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- wire |= uint64(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- fieldNum := int32(wire >> 3) | |
- wireType := int(wire & 0x7) | |
- if wireType == 4 { | |
- return fmt.Errorf("proto: LightClientAttackEvidence: wiretype end group for non-group") | |
- } | |
- if fieldNum <= 0 { | |
- return fmt.Errorf("proto: LightClientAttackEvidence: illegal tag %d (wire type %d)", fieldNum, wire) | |
- } | |
- switch fieldNum { | |
- case 1: | |
- if wireType != 2 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field ConflictingBlock", wireType) | |
- } | |
- var msglen int | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- msglen |= int(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- if msglen < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- postIndex := iNdEx + msglen | |
- if postIndex < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if postIndex > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- if m.ConflictingBlock == nil { | |
- m.ConflictingBlock = &LightBlock{} | |
- } | |
- if err := m.ConflictingBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
- return err | |
- } | |
- iNdEx = postIndex | |
- case 2: | |
- if wireType != 0 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field CommonHeight", wireType) | |
- } | |
- m.CommonHeight = 0 | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- m.CommonHeight |= int64(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- case 3: | |
- if wireType != 2 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field ByzantineValidators", wireType) | |
- } | |
- var msglen int | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- msglen |= int(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- if msglen < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- postIndex := iNdEx + msglen | |
- if postIndex < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if postIndex > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- m.ByzantineValidators = append(m.ByzantineValidators, &Validator{}) | |
- if err := m.ByzantineValidators[len(m.ByzantineValidators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
- return err | |
- } | |
- iNdEx = postIndex | |
- case 4: | |
- if wireType != 0 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field TotalVotingPower", wireType) | |
- } | |
- m.TotalVotingPower = 0 | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- m.TotalVotingPower |= int64(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- case 5: | |
- if wireType != 2 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) | |
- } | |
- var msglen int | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- msglen |= int(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- if msglen < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- postIndex := iNdEx + msglen | |
- if postIndex < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if postIndex > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Timestamp, dAtA[iNdEx:postIndex]); err != nil { | |
- return err | |
- } | |
- iNdEx = postIndex | |
- default: | |
- iNdEx = preIndex | |
- skippy, err := skipEvidence(dAtA[iNdEx:]) | |
- if err != nil { | |
- return err | |
- } | |
- if (skippy < 0) || (iNdEx+skippy) < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if (iNdEx + skippy) > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- iNdEx += skippy | |
- } | |
- } | |
- | |
- if iNdEx > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- return nil | |
-} | |
-func (m *EvidenceList) Unmarshal(dAtA []byte) error { | |
- l := len(dAtA) | |
- iNdEx := 0 | |
- for iNdEx < l { | |
- preIndex := iNdEx | |
- var wire uint64 | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- wire |= uint64(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- fieldNum := int32(wire >> 3) | |
- wireType := int(wire & 0x7) | |
- if wireType == 4 { | |
- return fmt.Errorf("proto: EvidenceList: wiretype end group for non-group") | |
- } | |
- if fieldNum <= 0 { | |
- return fmt.Errorf("proto: EvidenceList: illegal tag %d (wire type %d)", fieldNum, wire) | |
- } | |
- switch fieldNum { | |
- case 1: | |
- if wireType != 2 { | |
- return fmt.Errorf("proto: wrong wireType = %d for field Evidence", wireType) | |
- } | |
- var msglen int | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- msglen |= int(b&0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- if msglen < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- postIndex := iNdEx + msglen | |
- if postIndex < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if postIndex > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- m.Evidence = append(m.Evidence, Evidence{}) | |
- if err := m.Evidence[len(m.Evidence)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | |
- return err | |
- } | |
- iNdEx = postIndex | |
- default: | |
- iNdEx = preIndex | |
- skippy, err := skipEvidence(dAtA[iNdEx:]) | |
- if err != nil { | |
- return err | |
- } | |
- if (skippy < 0) || (iNdEx+skippy) < 0 { | |
- return ErrInvalidLengthEvidence | |
- } | |
- if (iNdEx + skippy) > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- iNdEx += skippy | |
- } | |
- } | |
- | |
- if iNdEx > l { | |
- return io.ErrUnexpectedEOF | |
- } | |
- return nil | |
-} | |
-func skipEvidence(dAtA []byte) (n int, err error) { | |
- l := len(dAtA) | |
- iNdEx := 0 | |
- depth := 0 | |
- for iNdEx < l { | |
- var wire uint64 | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return 0, ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return 0, io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- wire |= (uint64(b) & 0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- wireType := int(wire & 0x7) | |
- switch wireType { | |
- case 0: | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return 0, ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return 0, io.ErrUnexpectedEOF | |
- } | |
- iNdEx++ | |
- if dAtA[iNdEx-1] < 0x80 { | |
- break | |
- } | |
- } | |
- case 1: | |
- iNdEx += 8 | |
- case 2: | |
- var length int | |
- for shift := uint(0); ; shift += 7 { | |
- if shift >= 64 { | |
- return 0, ErrIntOverflowEvidence | |
- } | |
- if iNdEx >= l { | |
- return 0, io.ErrUnexpectedEOF | |
- } | |
- b := dAtA[iNdEx] | |
- iNdEx++ | |
- length |= (int(b) & 0x7F) << shift | |
- if b < 0x80 { | |
- break | |
- } | |
- } | |
- if length < 0 { | |
- return 0, ErrInvalidLengthEvidence | |
- } | |
- iNdEx += length | |
- case 3: | |
- depth++ | |
- case 4: | |
- if depth == 0 { | |
- return 0, ErrUnexpectedEndOfGroupEvidence | |
- } | |
- depth-- | |
- case 5: | |
- iNdEx += 4 | |
- default: | |
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType) | |
- } | |
- if iNdEx < 0 { | |
- return 0, ErrInvalidLengthEvidence | |
- } | |
- if depth == 0 { | |
- return iNdEx, nil | |
- } | |
- } | |
- return 0, io.ErrUnexpectedEOF | |
-} | |
- | |
-var ( | |
- ErrInvalidLengthEvidence = fmt.Errorf("proto: negative length found during unmarshaling") | |
- ErrIntOverflowEvidence = fmt.Errorf("proto: integer overflow") | |
- ErrUnexpectedEndOfGroupEvidence = fmt.Errorf("proto: unexpected end of group") | |
-) | |
Index: proto/tendermint/types/evidence.proto | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/proto/tendermint/types/evidence.proto b/proto/tendermint/types/evidence.proto | |
deleted file mode 100644 | |
--- a/proto/tendermint/types/evidence.proto (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
+++ /dev/null (revision d6212d001516d9ba5ce5fe4340134d021b84eb12) | |
@@ -1,38 +0,0 @@ | |
-syntax = "proto3"; | |
-package tendermint.types; | |
- | |
-option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; | |
- | |
-import "gogoproto/gogo.proto"; | |
-import "google/protobuf/timestamp.proto"; | |
-import "tendermint/types/types.proto"; | |
-import "tendermint/types/validator.proto"; | |
- | |
-message Evidence { | |
- oneof sum { | |
- DuplicateVoteEvidence duplicate_vote_evidence = 1; | |
- LightClientAttackEvidence light_client_attack_evidence = 2; | |
- } | |
-} | |
- | |
-// DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes. | |
-message DuplicateVoteEvidence { | |
- tendermint.types.Vote vote_a = 1; | |
- tendermint.types.Vote vote_b = 2; | |
- int64 total_voting_power = 3; | |
- int64 validator_power = 4; | |
- google.protobuf.Timestamp timestamp = 5 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; | |
-} | |
- | |
-// LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client. | |
-message LightClientAttackEvidence { | |
- tendermint.types.LightBlock conflicting_block = 1; | |
- int64 common_height = 2; | |
- repeated tendermint.types.Validator byzantine_validators = 3; | |
- int64 total_voting_power = 4; | |
- google.protobuf.Timestamp timestamp = 5 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; | |
-} | |
- | |
-message EvidenceList { | |
- repeated Evidence evidence = 1 [(gogoproto.nullable) = false]; | |
-} | |
Index: .github/ISSUE_TEMPLATE/feature-request.md | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md | |
deleted file mode 100644 | |
--- a/.github/ISSUE_TEMPLATE/feature-request.md (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
+++ /dev/null (revision b3d5828a126d2fd6c24bcbe6d61d90d861f4b213) | |
@@ -1,36 +0,0 @@ | |
---- | |
-name: Feature Request | |
-about: Create a proposal to request a feature | |
- | |
---- | |
- | |
-<!-- < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < ☺ | |
-v ✰ Thanks for opening an issue! ✰ | |
-v Before smashing the submit button please review the template. | |
-v Word of caution: poorly thought-out proposals may be rejected | |
-v without deliberation | |
-☺ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --> | |
- | |
-## Summary | |
- | |
-<!-- Short, concise description of the proposed feature --> | |
- | |
-## Problem Definition | |
- | |
-<!-- Why do we need this feature? | |
-What problems may be addressed by introducing this feature? | |
-What benefits does Tendermint stand to gain by including this feature? | |
-Are there any disadvantages of including this feature? --> | |
- | |
-## Proposal | |
- | |
-<!-- Detailed description of requirements of implementation --> | |
- | |
-____ | |
- | |
-#### For Admin Use | |
- | |
-- [ ] Not duplicate issue | |
-- [ ] Appropriate labels applied | |
-- [ ] Appropriate contributors tagged | |
-- [ ] Contributor assigned/self-assigned | |
diff --git a/docs/celestia-logo.png b/docs/celestia-logo.png | |
new file mode 100644 | |
index 0000000000000000000000000000000000000000..dce8b0b34d2ee13ed1e5bf6436cd4f5fca3d28be | |
GIT binary patch | |
literal 40963 | |
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	|I3oO%SxHaGuD}w(T3(~d~AGffk | |
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 | |
diff --git a/proto/tendermint/da/data_availability_header.proto b/proto/tendermint/da/data_availability_header.proto | |
new file mode 100644 | |
index 0000000000000000000000000000000000000000..4cdd00feb29d7c34a6e1a20aae4bab1cdb3b2e1c | |
GIT binary patch | |
literal 955 | |
zc${@o%Z}SH3_RCgL8O-i$l8g!1-c1xXtyYOX%D--2ed`oN@U59<UFvO@8}2h$4V)2 | |
zlf%{rgQA8rLsIUjJsw~Mqs|&{K8%)0hvgP)0#90yZKd|9z-5w{&P$`AHtPYwRkid@ | |
zU!<jJvn&2KjI_52fvk~a8GJ>LpLZw~7E(!n{7%RiC=EN3+JSEftl0x<!AaG(nvcdi | |
zFjc%Gi>|j6s7fP9z>cg74lnnD`9W&<qD;9>gIXG}zZ$Ys85=Ri%35kvHz1G>&|1_r | |
zQ*t?mqAmRS&A%4Cm4_+p8(B61$Q&9*bcp?l5qNXP=dmCkDge7q9i^_J?Uk3E;_1qk | |
z96S+;yJw?J%f3l-9}J2%zp+C>JPGB%5y3N+ar__Cd;yL3om*rX+JoGs#?~1YE}MUv | |
zJ*2aT+5LSWxODhPikz1SuA@>`vcy2M2#A5@W{2ek9VmzRE>ya#P^QRQbe?Q>&V&K4 | |
zowt4Ic@Hja#d|#OQ&G5U;zEPcPvg1c20fI$wWPf|!k$1$=igp2&)rdn7P+pHq=XAJ | |
zV<D@GLOoR0w6VWnWs)X5Oc$Qye;(CK0{k(>li5G9!g>SmR#9s_{;_`9Oy?(feT5k2 | |
zF-+6+n%SOUGKmzHI$~1-ilgWKvHA7c@e1b4LF6&Ea?!bwnNK%^OnwQkGWj;7-j+Gf | |
L=ATj?lumyEp(jR& | |
diff --git a/docs/celestia-architecture/assets/user-request.png b/docs/celestia-architecture/assets/user-request.png | |
new file mode 100644 | |
index 0000000000000000000000000000000000000000..3d04fad73492780741d547f7280e765742c30cbd | |
GIT binary patch | |
literal 397363 | |
zc%1CK2Ut|gwk`^YWJCdxAT%H-3QCe3S|o{r<SaB9$vKAxNdh9G1O>^GGYBZDL82l_ | |
za%{;t(}Yg*cDvSI?z7*y@16U;^UmGpz75}`XV)0@k1?xi)*Pe$Sww3*R;H$4rXV07 | |
zpjLUHphZAHOocm|$VhM{WH%Yl5fD&0*~!amsL0E+Yq-1E*g0Ag5Il%Z(kC_0{>qSH | |
z{QA|aK_apT<jv$i$l1BW8T^$iFTK8ZKU$EZaAHXD{P>+5GkJYQ`e};itc}$?$1MgL | |
znq!J4j)hI+<ZBHTfxCh58Pw|ccR-@ln*bVuRM00{71`qR_d-8uq%yL7XH3s%WA`E= | |
zW<1CGlU&K&Pl%jXR+jl5Qxjk^HybjhQ7(D&6IKF%C`R$W+9$Zzb^m>5%030V>;(eT | |
zzBdmj3E6KQCBLEMrjTZ_Fu6%}aUqG~eQw9}W${PRG&B=jH>x>Ws6v>NdXrWNvfOAk | |
zm=v3?_T=s}SzHl>aFN{eAnqWP=18Hb;yk`|{yg2~PqY?NPx(U`yUx8eguAVv<G>Ej | |
zGkg1(zI<yUQMj$Z^=8SV0GpY22G@GU4>~eGN2<#c_dsWf#=)1@#UhbNn`4K;wzKP| | |
zJ@r26C5WL9fkuo5TSCr9<v2ef(NfT0)I`Jpb@a0d#svYlV8@RSGm~ypEZ(E?p_EkA | |
z=~0QCAXqq0Wcc*;H=A5fi=1y)re58)uF*kyJXsHcL{yL-G|?x=0C5_vn){Z_onMyj | |
zKEHX<_;R$CCC6CEgkf?DeO@(_E}vERg{cS2(J`lG?2qZ6w}&O64K(ZS@@ZN_^w?Rx | |
zUzz5iceBv-g=7mz+&2Vm(Z@?&1b;u@$ak?ui^Pw(dT1!@^WJ%m>~Awwt3+-OU&pM5 | |
zeGm}W{LE1B;9ybr_)`Qs_(^ts$b`IJ;s>MH0){VrMN8c^+!6a<zlrZJJaM*a5@HLy | |
z`JBY@A`#=g3(5>{$=pK=%Nna#uv-1$gm+#&yUI@R_*UP~n2(`Mf=$;$E%rzih}c<- | |
zu1E{;5-4f_)(=XWBty4CCv!qC`~AGxah{!GsU3b0s=L79QuLF2<T-XeosyKMD~%?~ | |
z0t??Ht%cv^D~#5&TMA=iN)1cy(6AsAe8#Bsu{&;$V1_0>a-3a!#`XG+@Y`;&fG^tj | |
zrRFcqOJ;|;20SZNK*}cyW}Q2TDzZ;N1l@LJ=~<5^UBtd(6<S1oy5#yrCJV&CMkW(* | |
z|F-ev`kY%YK%ao*HXn6)Yh`ba+$HlR_UhSqUXiPJrK1e!Yq2e|-wbLZH~QF8&xXLL | |
z#*M>ynGNMfj)Zj}so3<^e#@vTrPkJ$=4uAK-U^{n-s5jVXGPX-yRm0T_gq6pfy=)Y | |
z<h&M2kxaRhGVty5{kFvWoo$xtiK<C4?%@$s41rQ)j8_E*{D|B8I{PjYbT%rToghTb | |
zf3iMXs}COT!>|$nmKY2ss%4!sp0IM9g$)RUdwQ!9d>kbd_jz?Ah2f^xr-l0=0B!2t | |
z2PPtIGx9AnS?5;D(@^${6r6HbACRn@Ntae%-0`^imMT9?B8xsTEYIw+0i|e2pPAIe | |
z`QuO}SH|}Qwylb;OixIC=6BYK`Q>PQNs$+cIXLcyzhvaJc`mZ>{1b;N7Xi6qPJ#j# | |
z>sJN$i-MfW`PV!W+^r<4879L=I0F*GddQcgf4rPgV&gRFVOgS!$=1=iA|mHBn7~74 | |
zovry)Nb*9T+>PwcHEB;lqv)|LsUeahV*g9cFTJz)hfJx=Hr~qGyp%9keG%7b&SW5Z | |
zz0=0R+Tgri*r;XSo&=;*veJ3$+T)IO@pC@Uq{NBT+x$+s0<X7_L1JCHS@yI~b<rGi | |
zVNmWtvMyrfXZ)e^jA}g`s@D@~Z;=_3ladw88*XqlU89XgDj4U8Nyn~tJXyHAz_}o~ | |
z;Jn~wA+;}9m7>7O^!lm__JcTWiq3;u++`fwT&&kjIJ{oV78aGfEBag%QDj{hJ^FCu | |
z)`)i@t8Qb?v1(a-sbbxA)a%8bzyqBF+5-l6;WOILZ)TK-@+Y*=H@_x6`F8aocV32j | |
zs(bu_o{7oq{aIxhIg<~v#?4wm@kj|o)CQ<XQit?bnq=~=f;;)nxoib<`7L=vPenhn | |
z8<CW~s(Y*VNJ=H(9x6+2+;!~d(>)OzI~}{bPoE6==BbQ*9J8`}InFm$Iyh6|r&41a | |
zTWX!#IksTmH&XmVvd~MrL_e*3yO_1WB&+#BK-96{_NpWoD@(ctYfHa$dY|MCFScR9 | |
z2JUpV)uGiN^@HleQeM#wbq!Z%pUk??nlv~y$oNb8v-ubKYabOKy<GEJvqXv_uVMl* | |
z+(^`s%Nmr~M(Blzs(|BsCDL3!vRRDL`JxrO0FUs5lk4oyHyrH(BLV}i@62=OgRaf= | |
zwDGh(tse5v9afrc_liPMuTt}~w78tIT8>P#i4Xav?%OQtEt=A4zj39D{>uF3&Gp%Q | |
zWWHSf=X_qZ_*CzALw!Ww6>NC>UcPHKTN5;R5vatyNT1t1Ga>!uiF3=>roN_uFJqjY | |
zIUN@Dok5RcxQB(N-Seztt>cs4>Ao2CERigc8nbf9uO0NSMHp_Lh}MbPi5@yJJ7r8W | |
zPq;hAI&C`cP7ZAmZC{@poiM4nF(tfxxHUcr@xI3@%^H3|_d?25O=W)Nghk2j<4fU} | |
zWUqBxvsaq&%#o~mAM<|WJ)7jFl(JNcxR@l2*-k{ra;ZAORyo*f-}9@_<bwOSZnwyf | |
z+K$>uL|j@J%Rt$;?Nq5gneRc#0dG(aG|Dug-Tv{$8J+`-17{hxGayY(%^yq=rY3WG | |
zbMNLx=fvJMeD_`9T#*1hQ?DH0%WRhg1vLj!2A!N?*H@QPR_oh$&v>RapJ^H^$sE`3 | |
zts-3xcFD|$tw<cH*2wPCERl>6%TiQREs#1<`*&5_E?0Y3o1SkZeiTMS46{X5+g8R$ | |
znQ_c>SaUdKOJ?89c8~{!8-_23k47NE10vNa!EAERpT`(5xV^FbGVf+DA(JqdAk3+* | |
zsG0jZXG}>Z#`}4)l2~_^V1gj8#ZISDcZ?;=;=QXkoE2v<zSE~F`%$#d$@j^1$<^sh | |
z=n8IRsO8*HdoY!7bVowmPvu~izLDPV;iF=kjfs(|krO)(yWU|*rTD8dmPehQxt^N- | |
z+9WrxiC8))?Y<opEa~!miMVPkdE6yF?WWz84sy9G3q>c8r_z0*JGP}28W!@g3SQ}Q | |
zbNJM3_`Y<bl#MN|KK0}^r~~qKm-du0nKHu~Wy?PhoUxc$!&&f%k*D;cckDz?ZO-`T | |
zOP^WX;j5j?PQ9B0>b-E2EWKBTt{SD+`sp%LpGvxY>+p`w{h;$h@T<>{VilPmJnMQ) | |
zoGdpSZjD5M5M}OCXX*!0iiC=~ilFNSkLSRO0WrQ0H+7<lC<|nHFYscmnPua|%B&mC | |
zjwFUb{bqd=cj?}}6RELIUM}^kk+h8(n3IhXy5Z9A!hMIk_YpQVO|;%G<7?C8AsaxC | |
z)ix<oD*AY|5(qnEVfaa@Ksm+G!2hIX&w&ZHb^r4tKgF|E#U{lo!QPn92dmi5$=K;+ | |
z-`j?;#7{a+M_tve*3&5t{QRa^U&Ze+kx4I-ta$+=5%bYAiuf4nlA9&VB~rI?dDF%W | |
z$_yJ;4vprgHg(%{8%yF!uIRxa-4Gw^pg|;(`Z~)uvA`*wDPITe)BH&0wA7fsjy}b- | |
zOlOr@_v0%o{I$k$b;&N6YPF^^%YcPr?b^B8TB#R4d`0q`OI{{Y-8)T9yjJ?!&Dxm! | |
zS!84HNr=pW4F9psPIDE%J)}2y1&f4~LCa+Cfi=cL?y5Si+0l!7-^~-N1-+1-_^~w} | |
z`193awo_CejXvv;RP_?i@>)|araLAc!IpA$S2n?8!L2tux$%Z_W|Q}=d7bI?!r|5a | |
z@N@~kWUu213BV(20F?pu4fV_3&l&HG)EgK(2lK;vXZ4ko&A&d$%kPy<Nt;%#1vS(9 | |
zE_aN+DzPnhD>rFk3uwkDeTy>|>z>>C)CohNy|LTlJ~2B-v*|(ct`%D?W0)AyE*ksb | |
zdLYOrO20cHii5@Xc+dV6xZOgH&vApJ1oM~0rXaDX0aX8UZuyt2HPzpH62@TTA7 | |
zxCt`q7&Kb3Wr{)C4rZ3g<OWDW9zjlEhDT$2+jTH$to?f2ZqQ!&PZKz*nkEud2ek^8 | |
zM%~;Vu4(z2sglVHn}FJ3nGpz6s2mg)&bxdekiyJ0YjTpHX_AECHY<VT)-;c0V)M@s | |
z_HS4(f>0nl39}I5OQ=BugVQz4kN2q&96N??Us)OtZ?>1F4zU7-G&IssC-qd%&L%$5 | |
znJBo(c60)ZkYTYqPXI|iJ~<gZI)P47g+(+kx>Z$^>XKbLreaYJ`g*H}2vADItouk{ | |
zeMw`;q+8=ppoBwNueR3}rLN%ej~HtM6&p1*f?N1pgn*cknczI`j1YIo60-btu0+T~ | |
zaPHSR5dlGz9Rcy5<&O#e_<8l`_dh<*y^bUx#huaO4&N-IziAUwWu5!$ya``TPFr3@ | |
z1^20K>27W9?D5pavx~5923J7t`oPeGfPjG;e-Nr@aqZ!1P1xxecp9jwN?N)&-7&Xv | |
zv9P}5>*V^&zO=6-?$pWJ)12Mc$<f(E(pQG_mxd(n9AC`O$^J{l(?N#QKuv>P-o@RT | |
zUG$E?9RW^R3U+pOX?H6dNi7AXKda-u$#6dP^mLWv=lAjPx#J^z$Hm>2Ur<6qf?q(0 | |
zUr6XSPUE(RpR=dA?`>y~Ykz?J4M)M+!_wW()zi+!nH~S#+``4nQ-+iCPn|!0{xD?i | |
zYxmodv&Wy8g}Xq0yo6uyjsX8(*m!t+sicOTueGD0f}Int&2Tnk1%(8Kr1}3{(Z5^O | |
z;P0vm2#fxGRfGR|Rb3BjcX<~loY+(LcZdC1`R|2)YYP5<Xp27@n*Yz1mZgy9|Et$z | |
zDQ4XJCvhEl)lNZO2lq+z$G9Rg#r@&=;}drf{haT8Q=d*iaF0MmK~Be)aI4wm%hhhT | |
z+Y=#hwS#^lGJnGB>*t?;up!LfL6IejvHP8q*PvuHX8A;nki9l{{sp1^oN^Xi`9l){ | |
z-AH3}^!FZ*1qB<ub5GGhpo`p93mwsK-kE477>-8lV4bC_w?9rY`^o!VV`CyLuWb;# | |
zI{uKd)ftq|X2|>T@D9fyp^z!P(#UBNbVPF$(g!nwdWs}nrmLJbf^H(U$01L|JiC^p | |
zUT&FFB#7kffH$z`ymU@LUV!Eas3G-R4Eco9EVN1Q1mtU0`CiZDlHVv*<=QnX9$i%h | |
z24)2Z!Mxh8_{$PP4?Zr%CXl?+pSToG`N(7$`qg$6G78!u`!VBgTa@yljX13AY+N|R | |
zvvmw<X}4d`{zzsNslBOQ2Da1HwSC9Wywva|qAS<cyr=|~$(>n?9l=YDbVm$VVo5%i | |
zyJq`2jb*aL2UjN%#;bM9ZJO87u+K0?<OY6=mw4pJdA(k2cjkJQP8{T{0@<EM(bW9b | |
z7Sabc5w>uPmcH#q>E%qPQ9PDu1hvN$AqvX48t!y_TX-6+*0FS~ls-+ISd1w6LuyAE | |
zSx(uq(GmPh7WtR#Bi2CfBa$&K`C;yeejxkq$IVaU1N(6{1?>eXhm0G%<@?;DJ@yYD | |
zF2kBX*YW9K%G8<cv8?FLwx+Ja3URgCROrof88>zuu%qZStXxhxASzV{_={Bt;;JGF | |
zY|Y-#&eZt#9RGRU4fn^94x9JOV4ttoQ5N5+eChI$l%#H7o4Dm?-I!&vS9<Jpi_=?Z | |
zn@yK)^)9tjy^M;e1@6*qom6$lVoP_CizUUdRH$F={?y*6l3N-0`@Khx(q!ISzVOu8 | |
zbTI+;D#*MryKg#I6la0cg+Z<P&5gu&`vWR$n^SG#$w4kp8;zh`HwhguWr+GQNOOsU | |
zNA4KB<^Iv~==em-3nd%VugGZ-<7v-+4iX{PZwQ@_pUewW>7Q~XKgmYjF?|>}AW>uE | |
zYOVG7%^{-`r9O68O>-0|WGbC^Aiu48>+=%d4^!tj>l0n5F7zP(!wUSZ@O$>ntEunq | |
zF25G$O;IMQ#g6|mHtIBv2CR^W*>#R1$eKGDq^d^lZ)!vhzTlh5Lk%||j_F9Y<&CQm | |
z8>}sf$5|p%3OgX;p^^xY;r)gB)S=#;f@>G$cl)Mzr5V4hhndCgGF2YwU`w#}So1uV | |
z&4}B#j4r?DYtpuFsKXCNms??`mz`FV?rxA<cdik1jU!8hsiTX}3Jmw{<(yN;U8nJ* | |
z=SGrTMNHkHJ(Eaoo_s{CJ!a@#q{1jN*Kq&!Z>8?uR$24CH@Xqhh8;3q{Pb`;a&k<E | |
zKy3>1$Xw%f@?6w8N#c09q9Bi{uEnFL@Eh5^Q`nFTZI&AL@b`72rx~QpOL+=$mGAyk | |
zTZY%@BE*WjN^*C#vlTR12RVGH9&V=%*L{PnX0Jf`BTcUrX(;)BzxtP;7(5_93i(eF | |
zI2b{(N#WiE>xIl5EWuoTcN^iaE-e$~PR|ZYCq!xV5IO|%3Y1iSgN|k<5ss&N<@2ek | |
zmZU;AhdovFxgO%g_*-ra-hdrJ)R)7&FlDHC#D)1+(bF*vKryP~^u?~0fF{qQ=U^?r | |
z^X1^Q3a%I9(=M-B=3p`sK7p9|a~A@p13${9gfK%t1gEvu4EWpvcv^A~%8;9#x`(@` | |
zB%kniF7k)*W<_a!xaIl0%zKm;)A<!+a3g4$zy@xH1M!AoXw5r^&P_j^1*VV<124|o | |
zV>(Ay*;TwS>(QUhFw6S1{*lUT*QQMaG~XtynU=9M*CPnNRBnk~S|AG-)owpWPAOPM | |
zdNDHnOM6n`y{Ez=(yuBn4*L_BPu!G#5>4?hmH$7hSZ7|Ek7wf~ie+Hgd~G?;{O;Xe | |
zG=Z7e;xqTJRjzU0RZkTNDj6LuP2BmOToa~~y+p8O^F-s01VeekJMv620){ZB(nl{N | |
z9IR}<+#m{>eL?w+yZeiXknlVmVXH-DoY!xVG&i}=O9r2mY_11#5*Sd`Rs9C>7QVxi | |
za+Pwt=X<z1F+psb=-6)%=dSb1zx@)N=xX>2WTNj=)|0>d;v<<h_zlv?bS3e(U!7+E | |
zM_=5VIJkfr!R=HhV^m<MIog--OaHfSi;E#nPUCSy7uKRLKB;jk+2;lHD0QLlDc*X% | |
zy(z2yvrSTJmuWjBqo-A5x-Jze0+ce?W8H3zpbwJ>c@>X^HmfFtrwE%b?zMN_9;?Gg | |
z7ga`uh$!vsF%X35V1tlmOyn>Fk4}Y0$IX$Tk_g;Prt`@h%GD-o8=|tHZB-BFZT+&6 | |
ze0+svyB-<%B@fgjAaSsJLW(+`nl>e5&@-N36bW92Z46xRJPMN%HL=H@mE9`?>#@~h | |
z>$#R<yO&s>m@74gJvD*;nhDdcd0~oBkh8Y>2A~kd-#By3>kRYUsmSyvpTillkM##m | |
zIOl+4b;b{#!yG-f=8JN6C(2k$Y`Yc(VKkN2+Y53GF48;>=x<O!(1Z7RaAu^DTxe^i | |
zBgHVs+mRAVYh2KW`)$-1N0%U!$5i-U-M^`7E=hcA)`CaVr;=X&9%mSRzWl3B7Mh1I | |
zC?DM<<`Q~<6B{<|XLWq4OuYZ!Ufj{EPx~afGuqfxZNp_z0m3@@5@_%%d?~87F!$3Q | |
zz3v?Nrb9vTj#RbDGF<DeJN-*rUiUH1=n`ZJ^3g6yuJ<vIebKe)QFO_f{^r2vNm`Hm | |
zq8XMaWw2W87_u=_+E{c&OS!IOQyt%*HR*h3M#5aOVO`Sx?G@nRb72XI$vpR;Wym64 | |
zHTK(?aY=rkH0!Y#WX`;Ktq^TYa+gIH8oWE<krSQ3w7lo2F_LqQYfTby3rGU6(G(>w | |
z4&nBL#R=}lS!-nE#aO;`sd4y0ZI6wU$fjGIX{hc<eD#=&yg{S+kK$4Ero*#4R1F{a | |
zO1fz2?@MxU8Tk8O-W)h;HEZCgO7T77qWBgl?!HCmX;LUfkz$`muYK?5&>?e7cbp!+ | |
z;Qn6)4uOw4sXxzd`%QDH-|S3KVUN!kzt^be;8Jf_nz*n=-jlm3GB|eXQP%)d$<T_q | |
z_U0a&Ohstj0ob+#m9}&<Ph5z635WBP7x*tyfn=f&L)-R47fBry<Q`mnx4!n=MXtlF | |
z+3xtgd<RrOi9Vcos&(%Y-0FFo|L~SX)Pp#9aHW!v!h<Yw;lK_tCX33sy8-<iT4xn# | |
zeau%X4z59R%hTsBLVrShSiz-fsZb$#GIGx^jIs-9RDuRBsWPh<i_Y{9D^@bUU%XG0 | |
zE)W@idR?AsEX`&>LIK|!C1<O`9c+wfs|T{mt?%TsYHrMzwuVJ;sK|MAT`AZTj9KF$ | |
zx0Lm;h;mo@Y#p~tX}k=xWxuS9O9{coi(5b~)_~dSbISSgD;N4%p7~AYWnRV)x@l*= | |
z?&O&E_YJ>dau*Y*<ITcN8iubn!}o9QbU3^Tt;xX$bwT^%kl-)(Zq=q(CPK3EY&<%J | |
zq=)xrH!{?y?kzug!Tey9b@e*cz}>+523xvw8WLA>NwmDWKa;l$Q^U)4COZgp`a26l | |
zb!Oe1zwD{D`;-KT3KArF2->sj`n*pQ_!rc_pm0!G4C^#hdlk+%xwgHYzvLbx-3Sf{ | |
zobf**407rCoN2}SgBhOLpod*%${u+wKl!M1W8n4Bq2^%)K0&}Qb-;V>8M8Q<sGe|L | |
zI$w;6Zvgf{6(uMdEKA;ur9@(L#|E|+U*QDe1z77RdY0MM?)#fSm*_}71zt#Fi0Ha0 | |
zI5%~xbLF5e#qHTp+^M5jsA7&n9Gu@Nl{UZPV4zp_P+kKuuFY{~Hmhouz@v%3S7(jv | |
zRVoAVIiYRSwpq}{5#%&Z;b+skR!+?ve2#+4vNz+)nAWN7jpa9x#^dlSKA0p@l3=-S | |
zDS4Xl505ufFS0hkkDX$fFR)%L<@MUV6h}vQk6$5br#@)fK5(G@lhoz~AreZ(i5`vv | |
z<=ccK_dVBwr|YS=9nd{=7fWp)p0Evx3lbjvQCxPg>sN@3l_Y$o82QCtVX=c)gK{Vv | |
z<plpT{~IB{$R|WUc8&SQ^$?@y7iL{hb-EZowqk6~;}Eli?8;wQf0`)U7&z2GT=60z | |
zj-`q~JnxDo&tk}tKbdZE(uHP36~hYY*bS_BN|o<ERyC_d6gu$;JsYByEwQ~LPb{dT | |
zEDS@)T}X?g(pn67d|Phuip8tX;+K+uM8fN2wU(lK{hG!XsngU(K|jJe#?TeG$Dw*A | |
z^?PRGw_NT0=rK|WN6}g=yUYWpGVmX3Ch^uGkIoS?M4Q_NZ-!kJWnm%?O3m7+xN+`X | |
zES=_=I+NKm4JjK)`w3{D{M=`82hLZd262SSd>1V$Wvas?3im&YbJ+HA%2zU<duhPl | |
zVHRLTPN|8Tp5tS$+2<STkd=0YTw@>;oM1Eja$g6di~BWi7_^9N6=G+%2<4hFkLNSz | |
z_+t_lQ%`Ha8Y)ep*bHx8@bG-ByBWXirjm0JKbZzlkHLM-vU)>C+zM<nr$j1+=t%{J | |
zuBFK=rZKdg>r4MG>zQV~rSVOa#2y!6;TP+U$P5^s`(1h$^l-fOo5s~vg<9+=5;6|P | |
z+<5zzt=Agks#O-6ln_klfGgG>2XM1A0>o=kcgQJ;(y0hd$`%ia-oUQ<&jCxMBp3xG | |
zU1zX2O@{ye_eWmh^f}Q#y{En7Vn7aZpGc*jM(8XaiWVQhf;I{f&qUx3cEvoOX6sD; | |
zSTfw>XMM{inQ4z3thm^t>qQ~{Q6L6v6l_}0LVZQiMnWc<cr-6S7k~SBrSHPfp@i4# | |
z1~7tE%U#jCXw-}GkdL1TES?ywb80V;)1O&i3~GDG|BhBYtA{^qjZ)A5YoafaVla~e | |
zr1Hn3{0=&vgI;#zvm{d??u>g05R#!QrAM!C?i0tLg`T&V<)x@b-_Te}kvlri+idkv | |
zI+PPemBVka&iyZFJoK$5H2FDEvNnn0?gpKsaN@w3i>iUAA($Ik-!4sPh_qN|tt!5j | |
zf1q(zf43GY68pkxW|L=IM}ml@SXq)^?mp2=7S*_l&ku^?KiD7(<yN^L;8j)iFsl+* | |
zMiY9!H>-KddpZ3oM(88-4+reoZ4|m>S3N7fwYe0stv3;qlZ!hGh_tNS7vA-yo7G5y | |
z_TC$a<%)WhwK4ER=LF=}7rn8^lyZ``7P;YsxA<(;2zuQ5^9D+o{8%tyU!sHY`US$P | |
zj<E#ok^V}>8dT|+*+FL50R%CAqa!%-D*q=b8JlEdU7pC|6$pL?7)Q96+_s1)M69kw | |
z`qbxex;QBLZ2X#A5%ptmui940XS(O=_FF3l%k?hDWS8QXbPEiiT@c+Dv|A#15h4ON | |
ziF9VP4eLZ-weZK@96Yb1R#8HoS5?5=5IZ?_FK$=tSw?5VJLk7~Jz_VX6{rUvjj3BM | |
z!w$e1bc)tG7(>mqt1NHn<@#WhLakd&g@3Fj3q*H)UyH1<GD=C)vwVtLN-m=w!3Xw- | |
zG#<9!UpR|DvS>-*yw_e(?dX(+kN67Gp`;L%i6;#CM8oiN2b@+nl@=dQ(($40J#4Df | |
zgXhTboG6-yGx)~2bjrTo`26|>p||l_1rnbs#NYX7z@FIatI4Rj=`v$Bf+#2ldtneF | |
z?c)@Nf&`6a_=jB~{?8zalJDX->n5HTxUamfK&Uz+UvI<QrDc!FX2s0A;<J_4$gb$I | |
zUFE}!p1LU~yKnZtuJ|DL%$ygHIro6naWpfpli&K041S`E@=>sJa{F^}pH=Qtr3k<$ | |
zC;}LH@ga2Zi?_Ad7ZDyJy@4vUe3f|Ax-rNj)iPL_WU_xTzE}E?0lAp)wxa={`h@{U | |
z?cUQKFPl=Zee#5Ys<X?~XSI7pzj{0>midm0<l)uL_t9T3H*h;=_d5|i#M}3|3k0M0 | |
z=hv|qm&Xt&2C?3_3j<>i^X<c#Y|?9r$Tm3C)qfS%9OQp8Yh0iX#&oXRf-qZ0{nIYW | |
za(b9ibPe+Zcnj00=B9e-;jh{GBX+~0*dzatPVh6wBynOf5}%fppmyubj=b6!!fm?q | |
zA1VIb@_)h$n`8Pf<<Em@?|n}1)`09kt<By`m9auGgLh<KZT*_S!QV-$4xi<;EQkeQ | |
z&gR%I1nzfUDQNWBeYi6v<k4Qvcw61iA#ZGAz!})^Ts;J4**KewabW}G&g-2%57nT~ | |
z-1W%fP1ubHR0B|i$~@C++yU^3d}afdkLfLc;fB->%sfl|66V>oKXZxd_~%dC(~*c9 | |
z6W>2QJZ{e3u2ZzXHboR!U?74`T+Uc(SuFGIuj`hcj^PFHlt8cPC`dae3x5l#S7Whe | |
zne3;tyTP_Jlsl(FPLxC4VASL~Xq%206lj*o<BKXAMu7q+9&LsO{rK69jSh2B_kp1g | |
zj<#XYO>SGKoxtGLqfH2~a#XiIt%sWzPPh=`DQ+bx4OoQT@Gj}pwFZf6Y)L^T03VYV | |
zrUC^jy(%PTWIck4_Xj#pNQQOu`746P^{4bC3Ukba-;|VGHn4Q;7OY;79L)sQ%)#yw | |
z=-?1<jUIW~ma>#oF54vjd8HQv*J<l)M6jt%=dLf`m2e2-{{A6;I$p8zSWvh~#ocE4 | |
zEm-OBXzWxM5CKpxe(F3Oj->k_v08t3`E^a5@t3PdzF6RNuY0&VGceGehG?o6xx78_ | |
z*r(+b?b+MnK3F$m>+XL#BAev8+MhnG4+$ELJ^}jzp1@pCz*94bw(qn3=9I-CW+4fO | |
zH0~#h_yj3lEphP-)}QnJgGAE%QinO(@;_3xz89&`Clpin-6D3NQ@s-Pc_OzZ97?#q | |
zhqWMAfk;fa9BMGt5i?2yx!^R&?8JFO^K5POOT44pbNE9={$6#bN@bTRPp2AvUxDyp | |
zQaP8I>9Nx!pcwr9ND$(vWv6@UDOc)8U0=2WPiw+T`|fS8zljG+$b5wJod%$|+IF|; | |
z&h4f-rRnz;GTlyRW0hL0!q$;q$iyyy)S+j+(D!qGn`OfQ#^ppE6ucJn*+|On6E28z | |
zamS3}CYTDOdaoJe@^rs`Z<Wo)50!}6N~|Qcxe2g|y|EMH;dHlRROKI7kIBlZw_<$! | |
z!oY`Mdw!9%ZJDVP6~<=J-#7(PwgP38EV;?pF{vjRTbLGV<zrdbiS!ybKev5&-=EY2 | |
zFOX4I4AT@bWev)t;Evh&iytw0g9fAbyNAn+>yb3f!AJYb1z_~N1E3QE>ZIFVT?E=> | |
z%l5wB0HwEJj;FD;;kzv;>``*i4>R<&;UBj4Fa?nMhvRWRV0-PyCKNq?CuXGOCH&As | |
zZ3PlgwT`}Rd$O-!4_SrN>8(QPU+OEv3+_iZNM_0JF(yul6*wh92jpjgV~aJB*A&(t | |
zy1x^$KI_gJX_0U$K^{s=TVu}jX^n;xM~ALZ1#@-YZG;boI@;p75>>lP_c=&Q_sd$# | |
zzVHINP(6|-n`7^)1q93Nv1LFi`+AH5xx`PF1}whQAmFnPz;al;EV2+9@zbvy*!H2B | |
zk`JTl!%o9yrJ6C1vAh)0mt3A=H&5YPXZowKe(1oxGN>0|d;%b_s}xPZbRf6fmG#II | |
z7xn&G$Vn7UZd%ac5b_BTlGAWeA6tSINE#VKOQkX;=OtftoIWT*6xi+xZtk+8+}inD | |
zPPf-FCvb3(2M`R<6Z}9*Z|u&~fZxvnd+o!}iE%pFdRWF_@M4H@8Iapre?IW|EO-=L | |
zvSyZ0cm{AC!gptju^&>&GP{xEE9>*;CX4`k%%*n53g||9NGg;xr7k)5mr<t4Ml;O3 | |
zKCM5HR`aTeu@Iu_evyBul=Na`9{c|R%uDMo4Cr0o#qQ_<l%IgzOza5we27;N->&B* | |
zf2dFRj#+`L4=8XNiH&**Lmm1Q81K$*FgDJ3`?8yJ<m34#ZQoC{m&u&+BS~o)ER1N_ | |
zsiY#Jcr`-@ZS4Q0@*h;$5^g{b$t#!*S^V>J6s?t+LC2HpC&yQ)v0^9(GRQ23R^Dfm | |
z_U;3YXkM^GyUUuss2*yQydK;b)PMr-WcYdR1o>~S$t&CY{^_Ad!9wG251Cvd|IR}; | |
zoxtB7@-Frb{`RmxEN1t&ht^F@f9Ii}#{Tb?D}5m*{~JV#=2pw^mP^{VS^EvLD%a`r | |
zyXA!DsQ#|`r3+7g`=!^Fmi-$fo%AyNw_o3Ug*|_R9A^FBT%70WJ_`wbmST;QL#Ca; | |
zi-E@+Tcv@E1cVb~-m{F`AsJ+CBGYxafYPN_1JPX+q7wCP;gFcEwC3*^n6s1oK3LRo | |
zZuoA~;bSlg9%Kt_KsRTvNCGWD?@7UlbMtsNYCa112)gfRsgFT~kDw2Y3K5x)+{yr1 | |
zVb{EGrZzGR0ZLL?SBPYt9jod_5xZ)Q*!}n8_-E*ui-?)S{3q;OCHS>jrtrk=_d#{8 | |
z_4*+Zc}?d~v2n-7K`lS?L05$(%7GTy-DwAxfb#|hPUe;)zn=4H^usi4Q=Ua<tM%t= | |
zu?Bvsn*gW<n^^#0W7X9`K}Y+zC^#TUQ^vsDc+nJcEzKl$cDNJ<ni!|WJp<d;X&}J- | |
z(K<Ld=FU^d(P`uOKpXYQX(JT}Z)Iv#16EcIvs+y<Dcw`4k}-fT**9j3um1*=-+y&^ | |
z;ytVw@CUSa0n>^T7>16-u3?y?r=+zj?8jW@G|Py0?$2Z`vIkbLzIc*V`!32wyP4mN | |
z2vH!psT#!|E5??{c;%l@?ATusjF?<64^sRI!7f7{!_N9#a0=NnT@iWoM6^sF_ja)e | |
zh&q5C00J8@k5EQm^nK#|RIjZQ;dvkOe?rdbpGd6I6v*9XZTSAv^5_Sw=;Nc&gzeLc | |
zw5W}z!(2Pm<z1N>U5>Bc7WP;x*Oj1mGm-;-NE;{AbX_mssMx50+H<Q_3qKywQm$*< | |
zINZeru#!QCeSk-U&+gp1WjlW^c6S<Le!8>@24l8t!8NcR*MS2jVBtiltD9Wal3K`3 | |
z1aQE@Rt|x#qssCPSea5r1On1t>3(%`sQ(M=<W6w~AU$RT_>-WiULG23LdyV`JtSC0 | |
zfbmU^8r^-Ochaox+gmYw9)u^hVLD&4h&+rD0zOg&gzH1|lUap|$`1y;HbzfdypP^L | |
zwcyH40+K^(z9u+EzkHRoIfBm=H#66&zrAhIWfvLE((9vtSib2z+u()lg<#zmcCYZc | |
z%ry@kmcmGB*xqB?upJAyWXcu!2BRD4`}M50<V3m~q-<p)UHJ1Ju}O|;9OQ6U@jL9v | |
zQzJK_+p0SFWfp|kibBTqAd1c%M*%Chp@it<>0*3t0Z$VJ@<~aA)ThpW#l}Kc6Z}TA | |
zl?NPh`bu}O`Bhpmxi^0CX|a~%Udr=Yg^3mvWYYeo^7}p3{}&c6LRMn;-;i*|2(f>k | |
z9W%{!p8Kc^zX$lGJ(v$~+Ru+wS>3@I9GQUaK9#SR5}eMj^yz5E`N30;7|_z(gy=j{ | |
zp0CzO)KVo3{Z)#r(b2&u)_T(4p;WxtNq^Dzs3~%x82m_a^xso$x`5~=CF#Dw27Y^; | |
z;{LP37cXC)GAR7XexXU}6y+XdQB#5T)gl>7#riTlo{yZ0X;leF5Z*P9jIUv;D*c+_ | |
zt^cbP3$CQSHC3)zdG2yZA!v~4urd3wd!_G0Y=_?kJKN+|1Cx~&Xyq-zWj)Y$h+VHJ | |
zOm7K*0r!ub;z!pwI)(Qx2O&d=dHgAZ63)Dpi|4Q!eyyVeX-PvBTy2!_=rV8Ay^<UA | |
zrT5IKRVY%0TRug^?<**)Fe1Kxxv>1gy_XqI*?0gKeif6uflCa_+_pjeW%N_sJr<85 | |
zv^L}O7RLgPlfr?@3NG|nBR<FB)TR6OE}#x^(iR3zmqqV^9`6DeQ~~MnIPH>xYHlP- | |
zy4$v5D={RS$*Qx46^ybeAg1bL=e0*SU~5?#tMV2E3U*-jnEHjnO$a_`BaOAHvCF3S | |
zS*ZQmYPfIn1bRk(?yHWv^3~uhZd(b<|6|yqe}M9;21%kPf{*rCP($sgNT|&vziZVl | |
zIi*KScm2l_+Oo}2hjE#K2OcQxm!Qc^_a>Jhvypp)Kl;;OwEjXpwj#K-YB6%Jct>2! | |
z+&6!|aa1OaG3484Mv+&=QvGU-8Fr`6UIW)jvfS?|QGeKY=|LB1%iLl-TN6!K_&!$i | |
zTv5Z~O!)k}$X&e?M~i<!{e~Lh#Do%NNanx#IL;xNYyc`mZSPxe4v`);Us?^O^?u+G | |
z2;DF|>rNx)r7Gf%s!lN&&E(Eq&0WbHQ!NAEK367Mdgn*#*1I806Bb*HG3;!Fq+>_1 | |
zr3)3?1GkW#Z<^bO6j|EMP`0rh^{%lplczA$?C#dUE$oUXst&L2qYarW+Zq;kdSMHK | |
zLxRh|fp@tiym<nm&m_vxU<ZsoruJd+nf{^6lTxd=grx2i|L9Sq<=3?{-?~i~{H-tj | |
z70H_^P#N3eY^PNhLYwQ5H=!44{oc&;n(VY1o(Eh!c~p`gzFvYptP4BiC`4`+y$Y;! | |
zzFzqtvGD9fasXBV!-aAX^nx~O92>t4LG8wU@vT|~!f3$a7*v>xIxr5xx+0H;)eo2R | |
zVb88eVRbMfE%}WHE=+^rBghlU3h1NH{0ixSByjvxIVIfmnv?zs+zXIlLsiL=by+I} | |
zj`a~UMAKF{V-iS7u+I*9nE~-UEASl-Nl)1Jv}nd9W(wAej#u*2@l;(1$)D_A*NL<a | |
zHuryp_8TyQLNW96>)XI``rP;l6pKCDY239h=tB9L4E`b+3s?aZewB7MU>8Ai4ZRA* | |
zy85qf*9U;FMq~}w(ft9VF4a;WBRe?96ifR_=#mVBQyS5>ZqyyKA?=B^bK6DSe<LQd | |
zgW^DbM9&ba>vO;OO4C32N~{cxE>!czy~-X9gZQWK-xApWaiMyM)&Dv7*}iE2#U>HI | |
zw<-z??l~<jmY}-Ce)DfsqYxSLt{kfLh0{|ev!`Y}j2(X~6_AUAzX|=Wi@nWS#rg8S | |
zU^_9jJ)V9{Qv+Sc^)tERO0x7Km4?RI0QqnryGpywn~mL?0a>Xa#Hc<xhQO%hIT~J9 | |
z6%35-s@Fr$dWUB#c3xg_%r6Jy9yXZG!+FJiSbK}ZFJ2M%s5gn(h6PVQ8XTr=d<RFe | |
zNA)R@FwKr3J(kBZPs2mszb||y9wk2d_YCG@jrgk?n*@%3!*!zdvE6-y{|>EbQiOB> | |
zHh?)?=M10RKv9zH!hp782}8OLL#pt@3)9ygoer&s22szq(}1_CcUw?9o||L0@2)eb | |
znQ6O<U!uIb>5n&x@X6btS*5WhV`!Rse*TAV`!B19kX2YY^zh^S)E(hvja>a_hB}7> | |
z`Qxt@IPgn{tIVa~{nmT7pZ<{<MTe$57f+RX7qsyw0s8B8H<uGl^0e!RT&Y3*AO6tQ | |
z?1Pnnft{Jp9>|4Q{>Sxm&DJhkfTzDhpe}oQ&${53;r9Sc7QI=7@s<k^-#<$qQ1_9A | |
zEt(9Zf0u={G8-_(oO@fivAZ!2QlFStF*(QEZb~$QPux%g4M0Y@$rJV!MXO_)h|My( | |
zJc?f)r<Q}yLgo0a0tUktWPLXxDqE`dBt-i7@T6&)#<8f=9+?AlUAfi)y{#?Qcja;N | |
zs{1#d8RzNp0|)}wnPVVhGRK7OgTX5#kgHqw**1ZAFxnN_gB_W#hs&-(?f2)J0}{R2 | |
zS;grsj>g9e9@m?gLgzqW&r>W43PrA9LFz8e2t8&9?DZhafD}`I_C?vZAk~8DJMrM6 | |
zfcr<M4uQRcD-aofPMLRn3<JxFns~>SVR&MwXfyscvAQenD#pjY8$nTCmW}O*Jcz!L | |
z3i%Lo>vrAt2J*0U90WBB={QbA-uY)?KJUo{p6(s(1ng!^6%fiImllV|fmP6B7uX{B | |
zA<sd<v$6qPJ`8!kGYf-*Xaj*+Na;Ym7Kjn9vQL~(k|K^nM)v$O(zXAup)Z?a!wFf! | |
ze_kE6G`Zz}{~0>V){{~5CA%5j>_4!)>U|1ILOWiG-o;l#sYkD+r?7Jnc2nnfjX(J? | |
zqO2txG?H~l%f(fQHol&jhXqOdx*|JpDM~wRN}o*D7w|mk<yYT@?uBM%7JLWl$Hw`$ | |
z%-c?&XV{}Lc#Ac(ZodT~fm~pU_waeSQB`miww&#hc1hZmUdCQy(b!GJos9hLrr9kZ | |
zmGWj2q1X`h<-A*R_n&=(ac>xo!FmqGW$gV^uZ^pE6L4xK43`s?xL5u~L|<0z1NSK| | |
zu|EAr7Wt^56nxzJvp_k1%j50o(xdk_su>1P?vhZkY%mqw7xX+9<90xQ13tZh>-X%3 | |
zPp@klI_qXL7UTED)M90vF~ELzR6+b!b{h<ea>^9n=4Y8XLmv(|);l9&Ic$dQgZgXX | |
zH%}MpeYVWo^-X@XM7jc4v4VPdT?NMo5`s@2gG{$7G`uhl%h{g^BTdFx1&TGU?i)cj | |
zkSCuuA$aP~L?*<%Dzy|(I5*ksg17ACq$sAl+B|bf^PATE(+c2Kw&&JSIU+6G!^wFW | |
z>^5INg{oYV4m!xKpL1G<yL3n=q}ujX9jFxvx}4n&s1wz|zmIaFqN(3}&w!f_eoM`= | |
z584n{MlJ1x!QB{(>k#M(^nEa@(<P{=T6U`7T(C6_%@jn_w|5S`I83yyO%BE)x`)HS | |
zGHcLV`)!$1VUeQ9BJk5wL<Q8tzqe(|HT@+V!Y4ctzij8@==9U>5VBbBC>*AqhAg+; | |
z#BcAoEnAB<V~%?_L~X0`T}+Gk>8TE$(?;Uo0iYTFgVQdbK}(%J{IXIlt>%i6xeu0> | |
zc+l#+O&)W*SCjF!+(mZ75)*o*H6rcBX$#?hB(ck@{v@$O5%qv>*Z@o%gFW$?EG$#> | |
zJ(~F%A)f9GZwa!8`pu7(`KY}fAd_PLIdiI}h3^b6%;DDs4@Da)vwAN~#U|7QI2<LR | |
zvwGqvYJ-E@guEHYQ{pa52+~XegFC#E*Xro(O(NwZ*GZ%}UCo!<<l?}~H3uMGEqaC_ | |
zE&dmGLx_G++9S0LNr0!ZCN6J`;<ZRM-uZZTfSVVkXB&NhBg8l)b4ot^*fJ9SvVt#g | |
z5bU;Bf9(3RdAJ}m*dI4L#cz{d*zTsCPM^M<38jIe=Z}uzb>pcn!XnhY{@HSD>@@T$ | |
zjSSszh+`ivbkhaw^h&f3p$(89OCw0z$p=>?2QJ(pt^BS%3%zq#R1VfZKziT_b9B5+ | |
zsV(o}aa;t;;+O0|BT#BT_EEh)o#5wYzg1DfykD;lWe)JAUl9S^Ns?z&JC??fmP~6B | |
zlUzzg1tw6`lUnznBgk0nlZzkK-+#u_=`!1=YXL3ncA10U7wbW0=!ICR0$_i6b~vEk | |
z*=w@*D!93Pe&o~(Q?i-K&($c=lqM|e<^=5<%bcwmL06nX4q+=$W0vv`q%EaZ0IOvh | |
z<TWyeW+~m9^#m!wcENIJdwA223UPV-^tHW}2zO_VHR>C*!ELX}(6ktv-(a^R-94f& | |
zo$AbUG|w@uk7?FKM5VDnF9gZ-L!lab)BKN5wufoA9q4>^=Vs|o^C!e~M)8z*D&T^% | |
zj<j8#KBQ>Z#Wmo;&tizd1pqPQVEZKSdtrsIho8l@aW@E_jJ~>A0Yrw%b{=s$jfyF) | |
zCv_ieT1W4P^-(!o$s#x2cY%K}RFLh|SUj;ZY`FzA2l^)<Odzr>DJ6ZDCTR=?w#b%( | |
z5pP}S>%<TdU;!d%k6C}y8M9c8SnY~SYc2|MSEDFxD-i?Gbmxz=T4fCfUyc?3Jeu_Z | |
z;Ok>$#w#Y?Xh&Na*Uh3&{@wB8`ndK2vmK2hqr6I1pb(IeWLKtIx{&ZrU4t1PcT82o | |
z+ihxG2oJ#-`}JOe$ruC}YL^`ds-~;+XLGPgJQlRyo*GNz>h_!EH@`5I`4x%m=>NDZ | |
z_&Dggty4|71KLw_Z9ED$44{30*S@&fkJQ)iYujjp<Hj=6F!_UH`<cO#@4*$w)7`iV | |
zHuMm-)H2|~Pa5GZWhST}>L@R$A!`h#StA0Be+_8;kovfP%8Xp>{#>FiChom1rmWKg | |
zSNITLsE@%#rikwA51WA{t-<8DK4d_<tmKsJM^0lGp+G|;lCq)e?g0C9)7$7C3ZY;f | |
z>SjK$R~uWi-EeK6>3rM8#~|WnHy7hS2+85@z$%qI-TC43RVyMhb@+MugV37pkhkgW | |
zT$}GRpVmdju%qE=Z6%f1U`raZmeVh?ntOd1?2joKT1cME+Ud>!RCXEmGvw(gbQG4P | |
zni!f~H&pgmRIbn{eH0UK-7`*7%G@`GxKX{ZEM#9KRg3j~Y~gI@ZS)<})-UHWqbLG+ | |
z=5uI@0C#y!@AOa?mrNFepDb+Ak!;uG9$1}sXt1r=6^XbH7F5ME*e@4{TGa2S)M9?~ | |
zzxy&Y4NLj|!EJl<5(Ch{kB>o&O&jQXb$WE249}|yw$ox!Ewh!B<LUE|$#_;J69v9z | |
zY*r>?-mxw;qdpay8{8y`l)d~gas0PcbO2k%AyQ0IE&l+VWZe6B6kd3#;$@3^1TDAc | |
zy{MmpJhd*5r*8onQK>*Pqkr6o`%LSCxgVk2*`0~hW!KOTqU^k3*@C^J@y<T#H403> | |
zIBKV7(^U9Z(+!zi%OJMjzI1#nKC72iOZHUE3BOu7mU+VziaZxqrxOPkc>b{kjdY+P | |
z+nES^cKr2Oi*H@@u<77O5##_Ai%SohjkT>ld0{h8(F5dxNvp8tWM<HKYzi2-1?c|T | |
zMNqrxkVftWh(J>dZ*=(xYKC9kqnL#{w!F^buQmtIhUH241g_^hP6vJz^*ANSxlz<r | |
zfp(#M;7n}zn$XD4d|I>ux#^{g52w>WsGAn}U4Cox=*1gUd%025EBxNrTA24wh|Fo1 | |
z9wDeCD6%}erFLAQJGk-ZvF&lnrIxF0<{L<lp|jn|H#2PXDPOm^-j<gG13p+>N_S2d | |
z+DwJqxm*fM0v<ripsy*vh{`!&U@ynP!Q9!Iy>4uNrqouq9(!hzN$~VZhY0YUkG`nP | |
z{_!0%+XI8=b}}IXTl8$@3g_>q70ri+N4y<7N7nv$e*U4(e}zh2B`o`6tYTwATUzyX | |
z1JM9x2RO=!c6LhG$ZxZNV*zXaeyE&=?vniC=*Ve>33hk3aU4V+XbIB{X(&3}y}YYU | |
zFe!j~fq=u@h4N_&u7v(G672tbRgRf1Vb?e~E1y>VKk>lNb<wSV`(FV6Uu?=FCjp39 | |
zXBX672of33%nHYosk*jfquo&i*&@!yEXb|vVHA#PGiCcULNj!pNe6H?MqHY_dekQd | |
zKmF=(qpBa;`{kWljH#J}YdLniK0eZ7Thd0#;t%tw&i@?b_<z>!#2KYd7e<W`hQ2zd | |
z8O5J9VPwV%S-$U_WY)T#k{&4#l~2}<p2`d-L6h(Elb2BGJmjbIe}^#GV%iQdCDQ`O | |
zl_LW(5aVo&AJqxaN04OHu`ojXo%Fe%sZPerfZqye5+PKuTC@}3nz9U{2|rS%$@Azh | |
zzakRcI~s)QBa#&#Y$F|0&$_#DY+JAHGfl&Gygm66YMP`}aCZ%($OcFjh@*v9VVRJ$ | |
z*V|&ZeEA;DO}(FWaU3R;xfJG5=OhAD45Oj5n~+$xqzx|$nz2d00leEJIJb2%`WWNe | |
zBN%W2ku#H^c3?(pn3wmQ@D!m;Lg=rmp4iz+N?1@ofyx2>_Hn>@gNd2y*}F(;tH#ey | |
z0WC4nH@Vm#!nyjWrpaa^zS6o%QT$3vvsC3q5wel_a2FTnU;>Y<3)IGCy-p76BdWG9 | |
zo0(^O8y^D86)-VWU=8X0y5p7&^dc_>^rQOKkDF>0A~OVcr#~m>9_L2EGtug|R+yjp | |
zXqYo7b@#1o>w<t-Mlkr|eLXV>u$cLBa7JtsJ-+WiqH$8mT!I?7QiWAz60Ki>e~SKA | |
zBv^3(9PC1mxSC#`?Pdx*=w)Rk>T6?=w>x=`S)oj}_}|Jgzvyuhf5Kt@`ItM|WSanA | |
zX7nFNoa}1$8-|P5$8wAPeWk_7h$E~Fs-x{nW+pN$Om0DxE_M3Y_VVsrvoRvd3i(F* | |
zL)7sMT5-;N@_Eo}750eri(K3Np|p!%v?%{>pQhj)zPyXCdhlYa{jM;)nBu>^n3f-+ | |
z;%dln!`V-y2o^^d<Ygrl-0)L_)hV^3xoz|mt7G$~QRedJtsd_rDD+NqZwh{k<=yBK | |
zWI#T$9d@rkEYY1)tDH3R(>FkP85Z<*OR*m~j;wBGa>*3f>l-j_XKntu-<@S)fetvf | |
zWq_T|1TX%Khaa7y2Y)v1!lar}JGTQcL;2*hEHf;oP;6_f&<M2s-j6`CYbmUgJBnj) | |
zq>z2!lkHnTax{Lmp>D6f7FvI1f5|}!Pl7`Lr}_FNR_k5y-0!&}6$k)120v=Ocb$Sm | |
zu7U)iA(cMdswHL{mczixAs6SuH0Y><4cgw280vVSC?U;4U%N&|-tf5j8!)^IlM#3d | |
zp_zouzuKau)xm`;sc|I+&_-xze}z&0G|@6nGh_N}7v^S`DZU1NIne-`wylTyArE%+ | |
zciaq~^_TcuK8&~gst56UX{GKNPHa-VdZH#B+^56}3|9c3=WNugA3YfC+|b4H0^7|F | |
z738;Hd@lW=>p@Pzk$#a@2V+Qbmqi4aYdRB?5qL}Sg<|Q{@O8>dhF9O4&i8NZxG?kP | |
z`L4Sr?)a&FbT|38Omm9<^t2OBF78isu;xeoQM@91hvx}J(qDw{V!h59?8$MH)9Zr7 | |
zg&wX~xWcSv$yFd96Db$arwmTd>CP2@N&IVHsA>9Qcgz&zWTg`a_-9#5)8e>Tq9C%D | |
z1=6h}ZCi2%ZNla2XIB>KNaHHE2jD?I{<~vkF9%k=cdEoBX8LgMl4v~KpQ^(1=A(b| | |
z=0n<2u<eYW1^fE6-po%&8}5v-Mm#Fgin+<YhjY5q3sa>tg1Awfm+NZC^YCVVNGr}V | |
zJuYUxRgBFslB7t9$oU)9?lzj4m$SkDH`T}x8Y*wOEAym_3UUuZu#qwg#*BgnF0Y%1 | |
z)Wk%BQCAFad*=&;T>rl3CVDMdWO8^1ze9IbABv%lYF<2DFF@N)7Gw8#<W^1F#~rZq | |
z%D3ZN+}$saXC6m~4eWk|i=Qs8*9Cpc0+I>U+Y#Sju&u?(qtY|jP;l-SS?!I?i;~Q% | |
z&rkf19}c8$37(PM0=zJO!Q+{>Wq|2BK0Tt_6Q(uFC4O=7@7w%0steXjf2H?;t{-4a | |
zL$$SgZE{-E`Tgf#6th58)UES<OpqsS-3B=oTrUtuTWO{)>BeKHEtNXh01_=X9gIoR | |
z*{TbVQ|h7A;JU&n+E$XxqUgPb-jg^)MbNVk=^cTFRr>zaV*u)yh16$D?7~j4*U1u8 | |
zP_8^ydnYa6^5KB~d()Z2URdxmF6uV1<7=8XPtjfD!>=L>_ivxu?rQjxN#B($g`G9! | |
z(LFDIEXrHng{WA8iz}`#ji3WeRzP5L*Fco8nnHSY5f7&To)DIu8aeHGy~<V1_Mm3; | |
zzk-8K!=zzZNEUg?9ft^X9(NUnz7BNy;<|Iw-`n)W(Sp4`=6{7hmCSSD$&ON0CL!%R | |
zWQHNcPN)HuZs_UW{CZhEoY@7Iv2&W)eL6=vhczkN$Iy`^FCH&}qMi5+>VBdBc)G#& | |
zQWA%x)U9onKfl@YGsn&bXDyqR=f5k5{GUxnV@JUeADS-=Rdpcm&DPsGM7zwgxb55! | |
zOzWs)hCfzN2RYLkYi+^yKmEww;$D$(p85t``7UIU#$CJ-@3kahc*5_2b%JY5*%c#Q | |
zM*T6XP^i2e<rQ$X>EZ6fKA6|B@vKZI`ta<3u=mz+QMKLPI3=i*fD)1tVvr&oLntW% | |
zDpJCLbT>#2C80D*hk$|zh)78e2+}Zg!yw&V!_4gc8}xpj`+k1socEmbIp@6Z^NSCE | |
z%{A*<wP&w=t^HkV@p^yK+t#)yr3Q$UvI;eD*r<{EJbzUSa~HK;uqAoW*DCM~Rf5T{ | |
zu{!LxIja_79eGt>d`Qx@d<X|SD*((g-1ocjt-R^EW*s31dph-X1qUAnZu-|XCxc(y | |
z=pv|v{rT<HBRHeY5n^(S@O=5brn+B%^r5FUwnCI?6A%YBX5M&yOWo?dsfB{y1%V}b | |
z*N6}ekGLDo=`ip%ePwrf?In?G9}n|!n*~2)Y_V(2iGjRL{4UrwLU=AKuV4SXkH69M | |
z?&t|G;ajk<2H2ZAvA#-KXtuec>C3<34p)A2hWsJ7=F2&C<@k?I=bN8k>pz_)kP!PH | |
zRS<_?(7f^+Rpw>+7)Eh^<ZaFIFGQK{Hxw+~u$*lu6-&;hd*dGw+q1z(d#vsRA)-v{ | |
zF?09Hv;F%NJ6~`n#>LH985|zlEJJ;a`$Qmc=ga`(+8dj5Oe3h{76Bb1<>cSpv<iSx | |
z%V`43`HCi^y%T$7>Cab@1A<#q&{ov;>gc)ZUf3dhtwjC1%<T!xi@0^i9(ZD4!;12) | |
zsggs)<309u1U%k&{y=U)>L7bp?}{ru`wm?jw%gG!w%LLsIMT@0S5nabG_G2Vs=JQx | |
zVytADmN-Y%rNx$D!_&_g9U#jU`y+-$e|YiEdqn5w(^`+iwwR(Sc#zgQrP{bH^KE-R | |
z-!I9Oc5dg^!JR->%I9^b#gr~%b~XTq^o@YqFMy=0i?+gFx;=?{j!c{JmuM(GR%@fd | |
ziDFP{UaBB?Ri@pftN;~rz!q`#QWSv#Ch1nCc6B|7lFJky%(roqy%*Ce>B*t|#|Bt0 | |
zmwz28o(o8|roBQ?C^#E_PM)k%$!;0xT;*?2UwTYzpt&tpZ|<1%mL*pDZUH1hbWHdf | |
zlh!pG%yK*o#`YfReEdWQ;H`h;5dRjR_XYVH5@HgIaAbP=PO!=97gD^xt)C9d)WmnD | |
zB~<y=d<H@fp-T2)<RkFv&uOgMOjaX@?bNh6Yw$Jj>JUsypzmUm#MZ&a<67dUp>ufG | |
zz0Eu|_LKtHNBX8ZHXhgiUi`Fs)?KmAcp#&)q;eOXu3~F!eq##{lt(3C^?r1MT?k0; | |
z_G^96$$zvYU71-ouI}S5s}79+^aOgmyN@!A@i1SgBTW6+3p0e-Vqw@3Fcmy%pj)4c | |
zD?Th40c}qKQHa3GOP+JEouSwJvQJ6E<nL0Q!Ma)=DfCj`rDx@CzrUJA`fw439@1Jr | |
zS6DVW@I=e0*1q-=Tt^x_fWC9~KJXpEz-QKxJ&dC0tH27kWUW}!bfsa>89}ByCKpn; | |
zl7E%kx7+FrvCRN2d%*T0#)Ycoieg6jyXSsG$fy$Zwl`=(8d%@a_!~oB!|K$7Ee5x4 | |
zUn-1UeM|{78W*HjC*Na>ed%#i7W!pC<9`B_1X={Jq+I_AmfR1PlQ!^i`mlHX`*>-= | |
zPUad$6=o3bU~>P>|8sF!0-27B7XEBaTEv=*g4**2#NMAcp&>+XVQP=jLyBgc^F~V6 | |
z`DdNE(gR)>sHvT%jAy2HcW<9!5nn%~7v`pX!YE}}N8ja-=a&yk(ueJa4)`B9Nfox< | |
z4zw?Mwkt+0c-BWt{x`rhs-!x$h4Nbj#itBpW#S$p$HVC0OjwtWA#5-G^_p%W|LqvH | |
zuS(uZ1B}<?hJQhog@MUb3^5GX72gKW{HcYFZ_i6kKx|xz{CAITD$K{&ILRN)Bp~B; | |
zsky}@AlRPDcuW(aeC1Vk8NA@Ev1pR{tv&jpc*D<$)q3s??QF3*Z5Y2JkPnaV(~#={ | |
zM+<<tK)Ezq`$6&iv0Pq2f*BHhtB9rS`Hjz`y9i2*hf)ZKYvIKonuaCwtVuVY9&Uv@ | |
znYm+dxy`j7?T<1*eb8tIOTzLz_jK*_@mcNb<8FwLe&18)$=2sHQG6SnuRm9Loih7~ | |
z#5R;Xn>V<#>G7UBT<?y9@gpLQEX+!=rvYlTD{M*6wa8bkx-}EH{G}pLR1n0_siLFN | |
zX)iD(Xw)%@{O0xd%&Rr^TWxR_XN%A1T~~l59qC(M=s6t&AAw~y9WKb=H;)k8U`x=H | |
zQUUXIYv;b-Dt&b|`EnD@lgV2qwuEPs4Ygs(9Htg-&3a$E;lU-GPN_Ln4_Al=kqSFo | |
z=9d~BHkbNm&bLKa8_HjrMp$XlYt6S2m0%3`6t%pHm4D!Q7#w=OU4nviR+5fbrQIbJ | |
zewl~YZgSWFP%J7-#zb=;@o;Rt0+^~Bzh2_U)x>f#e7atkP@>(iO=etGGKy;Rdo~Rl | |
z!YcLPq8Be=1yF&$!*lweUAfz~5}2nU?lM`u(zJYkg8%g9T2*Cy3vC#wTF%S7Dq&&& | |
zXK{}lruFvT-c=UZIRE`+F~;CIhSsXXau`Wk0B3~FJBneT@ASfjL1@AuzqCN?;fE4g | |
zvFR_=B`8nn&oD8#CCGCNaa*Gt8Zi6)k<KXi30&6#=O1?7^7O7hzd={?37402`{+^& | |
zgGt_>&<HvgaNO~@5NMrbx&GV`L9w>2h`tcKngyC)oxJDpbN7Z|&GDhe@$VU*n}5#u | |
zR3Mj{=}TGGU4HQ3bKf5mKG(bukW4iL9ity7adA4XxT|@B#Z+3#gXWf_U6rg~M=rZ) | |
zE+Ze6t3*CR_yE_AdyL}2BSzxQ@;xO=rLfafNnxr4#&~tvf<h0>qk;MM=@r}PVA2li | |
zD$O%ob?syw2pfG+nDPmp{P>kyubV&nby3c=fJeWFA?<7DBS_OO^+c=Z|8+(vRm@qF | |
z@Y9Cr0nwQ3hPkWIM^Qz2?_X5fK~d0>uiCH@I{<eQD;632+I%r{`P=EM#|32-glC{7 | |
z_-LJ#P6tL|Z<)OZKH875J$n5KOcQmOxa+e(N#+}SHd3^^uD-hPthwa4dcW9V8dmoe | |
z9V4TC8<#J7gDIc&x4P-v4w;XU0)6>b{>}ZVG1{NkpG_UvH=okkSv=!H&-8grCYW(d | |
z5Vb~GL_y4}xvRHN8H>*vmox2+7-c3eLwiu3%?*UpfVMXH^6L_~UIrYpN|zI;!?pT5 | |
zzZM%+0A26NUSzDn!M7pK{(cp^^{i2IVlr^2v%b-`w`w-cv+ke3qfY0`+8{5T#PXFc | |
zaR;|Ew7zg1{@_)>s5N$<ReEE8id)h|lBFop*)Hs3$px$U^okDZrFW(%JtA9Hp@dXU | |
z%cn;l3KOL2t|EKgHG=rTm=0uW|IPduYj_B{&rfIGzy)1krD74dbtkj>&ESHW;eMi% | |
zh99zi2Q%Mfe0qIIjS19d1=nR7z;S7VHrVOv7k{WZwtfq>t=1Yp>oHWy`!hcoW)D;f | |
z9t1+y#Sc@`>FKO4Kz^L8m{t}b7P>oED=M9$prc?7SQ?>ujC^)+qGspn46LGAKT(Or | |
zEd!R9(+gGtj$<$3epXK^Gr#^+vnJQiRbK$)F4gOw#PPQ8R#EqL?LB7Q=uZ<doZPs= | |
zLiY1Ou8;A!@>e+<rI24YUD^}<D>8<cY>k@jef;-JAOcp?<0VB^0QBet>vZZ|@oeY> | |
zAqj5MaN65y^i(qx9qI^8ySPfPZ@2cO9m%@-a%E>M`*Y5}aMG39C8UQggNI_^{!I_q | |
z7uQSf#=d9Oq3+<~sA5rSkB#<;TffSX(`3=~JK+iTEmoqmclNZOQTZu~w70?3E3|5G | |
zQHGa;9UmdJM^%!ZUSC5}k4F4r4lW)(5jaB=#iIY!?%ntVYT@q|6f2jch(8>?g&{^5 | |
z^<lWAw{k}6D=cs;?N=u)gNe}JH*J#lz%-UfrTl$^?y=H80rFjZ0#S~Jh{^qKa0}Br | |
z-vjJ3!M4yUn5*Dn0i0VLS(eue%K+V~9nZywdxL|^%BeR5U;iPm$J$^Kx$o3714HRh | |
zPpD~Fx-*fI`E$11twnwb`rU!c^hXD-eb6{r;UDOx;V*Qv=ITBI^3~x(5lAp?<X+de | |
zNdMs3AxwP<1`tJLjudLa!d&y$wqKaUp{lS%9TKJ;_w?5>C17gv-PL<kF0vi4X&7_T | |
zYO0vJ?b+khx7DQJt?tJ}&9exMJCp4lXQh>JuH66h6U#eNjT&|Y1UD;tlx&5<=o<aw | |
zig4%ENdgHp@O6zcVcY7op$3&Sqd9_sZH_<yQa7-(W4I8K#ZdAYz=g9-Oyw06eB-nZ | |
zn!-Ca@Y??NC(QA>cQLGF`gF9bVU4v6oIR>og7v^^1%^&NaUA@)0!gRc0$CsX@Zbsd | |
zqo?I5TG<6>daseG$+5Rk{gX6n@@_cZ7%kyE$h*blXMVOECK5?<Db!r*Kh*?WIu3*m | |
ze7*)5CnO9pxv3T+Mv&bzv?Kdn{=qtah)MpA6W6Uv6A#EKIeA*jS!C%wE>h~`{Hr9= | |
z64Q0Nq8>(@u+2b!ikt{NoYMbH?)pDZ(h0-`K)l1x^XS|CpFjtLe!^v|M42iD3I3Bf | |
z;8(id<<T_6#D8*zsk%t7Bbq#Z6-pQCvHARWpK7c2=$~q?1<-i>$!joq?N1O>m)Yt2 | |
zUu?bl*ziwV3ke^N{mJB^>8HOa@7{Rf&t}&#>j&<CX~LxtGx<vsZdAeNKRqyv&%N;{ | |
zlYGJ9zgz=}*^s~3csH-+FHN{4mzm%uveai2P-|}rL~c{CZ4^!2VZ)o8_{^Bg+(&cm | |
zo5kc)-1)wk_7fm>MPOCnUjU2<Phc1N4(vK*g>`neH32`OV`i`_=cLITXrGnY`!ux0 | |
z%s@wX=gGPDmi1ZycL?y2mC3ns6nlb3Rov|Nzn#)HKuN`7C*$xU(nFTgr0fh*?SW?| | |
z)BvTIKkpw>4r6ORgMu)>qh7RxKmWW0Xm4#Pteg^n6I}s7KOBOgh9{e@#9}J`uRPH8 | |
z1Uz;Q<1&>iqOqGx^8QXO3*P`{jr0P3SA*3B^7-!%`>(?Hkp4WquZq^TZMxx%q7Fy< | |
z{Ye=jhUlSb1d_J3QYYZ$%L)5p2tN$_BSyb+-v9+ep+*^Y*!Qwn&zsCNt*wYute=f* | |
zs{tn7{~E1RbM+YN_p)-aW(Fp`)zst0D^xWD)2G<TaY%AkA!ZIruZ|)yU;hXuAOA!9 | |
zWasa>Mh-*u6k^%}a{o8vurVAH+I)rD;rQuw8>zt8y&Ksr-@e!p{KtW`$#0^Lr{=>Y | |
zw-m^l^6YbQ%T02H@3LE*n;+r-2l2M7G&nt7BKfi5X7doWrYF%^1L)BI7bm%DR8b7~ | |
z=c!CFK8u3XGfr^|YQ=R$+v%WKw^bfzPVL&=@4cG#?GxPc69hx*=B;pZ`P!oQPDCLF | |
z@)(#5>o8itI6B^#<On{xK#0U_2v7BsvcSl0<+Zli982wOQ<5Dhsc{V(=%QemC}<Y3 | |
zV*;Pq*@P*UIeqQAl|$%7$Hq_avp*4r%(la0?GkX1FgST?-jJHY^?`q#mkZtTmU7FI | |
z5Myq}L06`StXl|CeW15+1MhtiI-iGk1=Va2#P@k6&g!nsWy`b<j}Ly;F~o4ocn|sC | |
zwV&av4IwftGFk*z_aT;2=y*f<Ans0Z3;J%qsDr~oqm`ZWMb54(Y{!MwSm!p54WG`o | |
zdJ#k#?l`v#UtNYrvpRxy+GS?A6VEj4NIaXywE9ar`73>#8t&LqGAj`qpdNE*>1`~K | |
zaY<4Ruv4~4?bFD}lnoUze(DJu)V=w`Hi<>LB;sjV4LYq=^=5QtfRwipA@APRwdn63 | |
zH2>ZqD%dYSt@Z8ltq;ir1TmSTnz$_g)`Wq1_s8h(<~e_F8Ev?Of?LB)`i%DbHS$+> | |
zZ$xw8|3Vst!6iF)Sc24t%SzV+r6g<*$hqG1^sa3oq6+pC)4q_L`fq8;Gl~_~!Wm@$ | |
z4UIPUyI{Y8L7-7Xr<~q4Y)NMl+w)pSb$25FulV5~eYa@L9&F0=o`;ox#Wb?+#fQr! | |
ze%=Rl*Y$gTW2Aq>K;MGm2GhvDw%($$%7(G(dv6{wr4aq=B<RzHEK0IyN+!q{`$hSn | |
z_6JHzzNGBL>*{68Ozc4L%^Wt)KH`5E6N~XkxWT~A*%!j_*Qv4?xD0CBQEY>`O#`wB | |
z>3X`%8WUfB#MmISzTF%~sj*$Rk36*ne*UD)uR?nJ$RxAubM#nB`Alq_GQsNB=5wpJ | |
z){#+1j8~2_Xu*)aerJ|lUWM=`?~$)`DRmDISxZh&tkzEA7{??)UP5t3EfsCB0vN?^ | |
zue*YbLehwn4Z~@a<1cJ+b@}{B=Y@k|?({3kV+!#>OOgD&bEcgATGWa%2%c=Kw0{9D | |
z!nm69#NqL=51;hF@`CZYrk|J14VS>OuxnWlq0`t-qvhN|%PNSZpVx8MZtCXSky9jp | |
z*(mljKZ~u}=1^x80v;%3xt#%pg@<h{2NjlnPcLrTUM~G0U$D+UD0itKRr6`x>AGVv | |
ztO9Vh$)CHsEItj}r6K<M=)jt4k<}`d-<2kG&{mlC7xMH6@MP*Hb<W~yLo^v*s>O9h | |
z^2-x}F8@bxE>W~7R+Ow&hk7grM;oa{$c35+`8oCYV54qpyhYaG%6}Zi<Wb+6srNa} | |
zhho<bsvPTweNNY7AejxAy{<vaEWg%FcQb2=nw|%dS68M^u69ZPh#NlHln%D|DP|jY | |
zD677iCGaJ^(v!tCN6GV-tSo<Dd#(8@n)o{d%nOWEC#haeecjwbz25KoD9Sws2!9b( | |
zDE&6jTe9!cLgrk%+kzg=r>k&twy!K!??t;)TUgT0e8Xy}4a9LFRLrDfEo{?PuC+_w | |
zw-DYhyZ%Jjzf0Ckx=-0LSvW#k<QME)Q^SYCMcSPq!4Jer)@|>@#!6ef%h8*=A0h_N | |
zb%*boDLfXMzlt0f8RSNs=Sre5=P&JqpLLtAZA)}Ruym?Lgu-CSF$T7iPm-_U59~ii | |
ztIGQ*_wf<HPlqjWw}=0_+ct75OXg&UFnz7Kcpv813r9fDa`WD^8MLP6v!Vj_Yh5EY | |
z&EYL7FB(%pW#}}xiws9gXV8V8&8!_^RZ~PLO@l^ZXr%jL*`Vd}c1<0aph5p2EdILr | |
z>zjfsyf=O<?TrQg;|N;bKSt2<{o@E)XB1`~ZepzPBWpUX^<`nR`@@K?wqx@L=<fju | |
zhMcNHC%Q2IllA671O&BkFxwP7xCxz+nXV|gRz3z9=O*3qKO9~Srj+>-Mhtp*qcc3E | |
znxvyryKZhf(M3?dg)PARghX5h_uAi3N$sD8k@zb?^e2cv9(vYonoL~C6bEIbKLJo} | |
ztPbF3Qh=FcO0wQ`zgF!m#*!HEMPWDBMDg{#h*VG;R+0xS1P0QX@pV<q)PK4^Y*KE& | |
z3ue`O#*8e~tPvI(TxumUxI-(_dMQQ8PKeXt!uOUt7amQ<zJ0I}Ya&m;`N&gEq{YOX | |
zHn8Xl{TIRHEA0dd7C%zPN_pMYmIM=G@j_!Ufi*vjyI$a_&6#vawcZh-e{R~bM81`Y | |
z6@%Bq&`*Xp8?tH~k=sWFi8kQT4BWNX^JskeiJ$v=VJB&42VqcAnL<So;bJf&-iLPM | |
zKKJSM(7lh3?Qh^0RMwa?-(a1>yCFv${CV9-^bO)Ejg|^`o6Nc_YL*x;g^bv6wBF%H | |
zR`K<m_=nMcBY}HO<al=&$Z9_OOl!&*sNdttU_$@qY<7p<&G5J;+qW_`TvbB+NROnG | |
zL=>;xOkkyE%UuCwCrtI$&1IvE;tiz(UTnu7T8!JU-&$Q5v;3t5TSC*j^_o%g#j@dh | |
zC*Mt~?n>5g;^;kJe<OT{_lL|((j21qLS9+!?|hvI12q278csa{amIu^qZbo5ge|nY | |
zAyR}~bee=mVD*!;D?Os>$B>;_H+epmI;}0KzHgcfJWs2;=-K^owut<VuYtk^Wy`%k | |
z?9TebZrG*C<Ix;d!~uf6#?S<t|B$B6r8P@J-RS^o>6b=D;tdSGqhXqdw89p^w*nxR | |
z`@)^WP0qIEdVZpswtDJ|i{Sm}JvY*z!Y&DA^{1tpVV4e!$Un1ams`jm9NlMby<SMa | |
z$su)qjUJ4H(Rl%j3Y1*qt(da=!g+=PBKXHB%-}L@dh9aoGhPI*nCqz#YPE@~h)JXp | |
zXHTPB*|WPZ9%NZMwRNnXL>T-iS@&W-S@8(iT!DFr)LyRCgSODX;wNT+5~Cf14aa-A | |
z<l@Scld$)Ehuzm|h}&`~=2sy6zTurbm1tjVvu0Z4!@KJ_6s8H<Enn#mqXD(l$bDE3 | |
ziP^)Tc4`titKZtbQ^c8|h~cFVpL)vz)-?yv<|p!TX;KMzh@>~%lkSlc5@k?C3yO<- | |
zgkR!B2Mi{imr>sDo-(7~W!-foAz6r2H9P<J_4Zzt)a!~MDc7zNV6P3VYFsjMIyjfm | |
zAhSzR?IXL*-fq|QQDcwhT=hq%G@~cqEF@eJt6N^grWo@+X<dVO&_4_x(j1_a(JJ(~ | |
zG1kk%;f|dOSnFVplo;Aq1i1#Sze&rO(a*!R*CETE(a+hBZi^tg)k6gVQ_S%!h9=Aa | |
zfrx|EN`vjB#8S;Sqb;@$XM34l)naMRuck9e&*5{gIuGd#tT$yzE+w*YUmCE2wZImj | |
z=&$iY&03HMZ|M`)wkc{e!V}U(J+I=qaB!v#Ni0Xax?2Q`>AWA5s|3A);C<2Nw((7> | |
zYPL5)uw8Aw#8Fl3<uXIMjI<#K9VLqfx?lHM??gv@gKSJ0sD-#PCbP7?5d<ae95}J8 | |
zi@)0nV}iAv!ZX%ky~`-OEQ5Gvt0MUPiD(08zld_IH#Vjb|193F_ko`F^XX1Y+Z9IW | |
z4PVH9nx5yQ51|G95|t9>>`_Pa0(a&hd)om$5KtuueCg5+(_i;>o_ckt0Sk3f-C}yN | |
z<r?$Aa_exJ_C(i%V`4}Na<JmI-=CI8!s6>B;qiba^hI07$ZoXs2<$?;KLjYQf7;*n | |
zl~L>Cb@zM)sc3K>qeLzD&?S~7kv@|NEd$P%RU#yNVbbg}iPPco!UeU0VB4wa2xxBv | |
zVuOCoQx+*jnI)blifCZCXBhiLO*l?5b|p=2=$uN$6B_IPre*)8FPN9q?sAWKhwojL | |
z%W)*uqT?KXr2d|Y^VH(fzgR9<ohCY>A@nkzOBvkjyyr#w{iPjcy9T{O4eFy5q7hpE | |
z(UZAFG_*+O)2HhL=ZU=@2h^|?WZJMtvGt1ve<Y2!DZnjL`w4~PmJ@AMi@Tw7jzn6# | |
zoZA1U#DB`=H~RI>Y!^9AxD!y3s+a(LS_J7JBkv{M9lm5mG&TNf(sSI#0aUOH2{RRO | |
zR0U&uA2*W6nMkkiCugMN6W*(}u6CImMar&Ql$Z;Zm(ME;gFziq7TlJNcpL!r$JcS- | |
z>80jeCC5yb1W~pXSJFK-SgS-(23uc-i_Uj@7tf#um7keH`T2~|MTU0oPGea}^8|sv | |
zNezeTi$GxqL4iw;>S%{=eMluF{`PT`gIPZM$lS%Uh-2&m0o83gsy2eZYGhzNE(LbB | |
zJ^AsAo_<p;nXmQK@$CVjz#L==sSBGRYxaJhuweWd;?g8bfpuZ!-16;pu*vreCVy1i | |
z7#mf?mfS@D#4CRVcjqJFN{U9;B%iR`vW?n3yT1FV;J{{+13Yp7lBzhz1R_ry6@b+Y | |
ze9<mu0`L6BQq#8U*ga%c$X=1^vt^{S7kMrOG28B@zoq$2aqG!gC~)j|zl5y}F8!R? | |
zbf@w*h$i({la@z3yAv#^J2?z`B<o9E&sNfQ$zli=K7}lSGt4mT0KSXHVmmwz#sRh- | |
zL!mT@F`8~oTAyieC{-#7H~koUD0RCGZ8*g94rAn6&foNAkcw3Eo{AlL*v-bR;H(P0 | |
z3J$>cWI@a|a{Ti(OXOA<n=0uy>UmaJw$yFzTk%_B_%Yw~1K3p=wgt|O`R$Zd#(~tW | |
z(=A|#Z$IQFC7+bb0>8#_X0>OH{ucF^89H_<V<#xhG4sITrRiQ-NP<g#kfZ%G^}BWy | |
zm4$(RMlPc08@$G%ScFAx==5F2sT=hlHrp^itQ8J6zBg7L;{s{q>`U?&ZLbClQbALU | |
zDN$`)y@0T4%r0wNmNQW0z6`$&QPI_<t-a8TnBTw8mKelicOCVd&7^~$xaP|xPxFiv | |
z!Innu7rB0@ufsuWr8(jFsZ6`9s4Cb}7M56l@2P{GehSJ#@gj)|nJKV*F0uX@crYA( | |
z`Z$Oi7o2?-^NB{gG%nymFz!hjy}F{Vl&{3<V^>21u@4VqnJ=LlD?!0dzC1KSsRVT+ | |
zoiRV3eV`(|D;|vtzqPPvczS7c(y{W-omVDIFn+}DXsa>q(U8UDJ*m^s<_=Uic~A{9 | |
z8M_1X6v5*rQHb+eq#X=dzNo+&i){G;>;9sKet#pX8>Q~%v?br=0<NXe+*$~S6Sd~g | |
z@?>&=d@2BQO()#xBuYIlJU(LDdNCa2ihzIc36XBJ!ED23fz^+g%RjZMg#zGHh*sOA | |
zbwtPGy`6j2=d%$)Vt$C#)pl~Fh1{P`H{M3=BI)L#q1rlK9&e4?Msr%7x%Ru(0xvR1 | |
zNt@E|<BlxJpdhmKw2FTe5{a;@4>I-2cI6+DZZ8E?p0%Q?uD9`I9j#&@?_&gJ_wRx` | |
z^or7sG@g<w;Ziz}s(O4gvL6?hkJB>QUEPd1iNQ4Ir0#!B^LJaZX34zwd~K*p1boh8 | |
zZdi&a-)S1Vy96$#fiY{Yqz*M+-kSb0PV3HI4uN&o0w1obUEE7Hci}Q$qDulefAXPH | |
zf*Y)VcCQZZ3Xv>D@4|iOOL9lspjjsG#4k}wKZ&=KvQP_6VKv7IUYmp`qbxU_Oplsu | |
zp^9kqZLsyEigUAtCrVNwU*EcnS8VL=9`2BzUZye<i5gX}%iBxu=y*Go0)1v-;Pk~B | |
z*#kkzo}wmNS+&)Rgp9J&#=T0H(aHLyhj5ld`!BsO$~CeTpQvdnV%(h*ZbV|zO7<ic | |
zogvO0nf}qGz2DyJ7vS55mYE}eK;cdwOL!!;6p+O0k)n=BRijqG@iChFVY?9V!%kPy | |
z&yeTPm6GbE4#7t=l;enAHsAE;$SBA$bX#9+BGc08*+k8Lv}DaiuWkkdUge5B*?V24 | |
z05s@udndb@dd1bh$=F0$;D+Eu$w-JIk2&<(dZa<bxj`#rFg2PAL|qjg0lPdfRVk8l | |
zkU3aNFGLAYA!2F6lv&d6Xp=!^ZFDD7-Z6X4?U?Siia*yc{GnX;I484?=X!)cQ1?o7 | |
zqRLpM4tJ(|$<twH3B5b~w5-RkRhYQWp|t+x6AupX#*GWdE&y{pF0>oGIN^WeGwy#R | |
z(QgH70M-a8G??J_HA^ZQsSm+7GF7voYIndbILJJx?n2kBB!l^R^r_X<-njMDGO(|r | |
zu)b0?+d=ndxAursmDuZ}r<xvgCfKqn&UTVM%h+epNBo|k5;{o~RKzG@_?J&b_Z%0H | |
zZ_{BwpMvDx;7{l^L}cC;r)peIw_4AX&ASBlV0|(Up_1noH{EH?6*DqUPE%t1!b9}! | |
z$|009uRes--Pk7(s(Lx&!2zUtl;QQ5jv3%KA9Rm%iHmOZW12VZ7n3wa4k{Vv;gqdl | |
zpl7=)Y4n=Hg>_fbrIa^`@h<mOC^WZaZbIC}oNJ{Jvun0_J`38fMVZ9shDrf;v*ov3 | |
zdG}N3GOCB20{5ZIB^0F4ok3dFjQd)S(-vEX<xpGI;vu~^3wS+KxmZ#bSj(3r+=kT@ | |
z!_OamT3{_8!DyD3NcD&J&$O1fEVj<Vx+2hVZ?_i4ds)Jswiiy(5eRkE&+W0$7__z# | |
z7V>$!aQcd-;uSjG_m%HQN}CkvwQDv9Ih}**GCx&m9E_a3O>Rq0u;OB1Sjx=O>j$@b | |
zFJ|%W6y)hvy%q&Gf&!mfI;xDJkLn>S^Hy+HP>B^A`;6yBlN*RV)@X~Kz6DVc^U`XA | |
z@d9m&_~H5Qi`N%_hUIUIn^G#&T}D-nG)%h3OyNEC+TDZNc8OH-gA~j%JfpM|8q_)5 | |
zycSFn>z0!deoQd0yla}1qQJ=lz0qh|g(tOjBuEcB1MVmU+*kE^PV`}zrFm48%~kH{ | |
z)?L>8`z{-!LY_5W1JaL_$5~eI=NUFV%4}`C?Od`+Dww7#$o*65;~Sm(RV(>E_R#Q$ | |
zgV<N%7nbEd)ZMCyI+CW~t)b1O{<uV2`uyQ{FU^}JuN*i4mN4mPIHXy2B+b>5UkyDn | |
zEeI5%U~`o;9&xkbbrQRgb@E!s=bB3zj1|-2kNnL6KjkdTca*xmJNQ2IISq061~)0^ | |
z`OI#@2O69&3Nrqw0<R&=DJ&L<T$Zm29s)@>g>X4Wt=s6Voi(uk&FBWpJd*sF9^_-2 | |
zM<?~f-O+OKC{9jrVtLY8m@}yhlcK1V0*|vet@^2lpVASr#IvP;uv`hK<Sd)`P^kBW | |
zJ;Kb+shs};AA=0;tgbP@Hd2FnkfP_JzZrwFga;;Sh@-#9vAT_fy-@CI2h~!+7sEdj | |
zJ~w#R9CtJL_ym%-vJ}HlFDm)nZZ>80FRJ_Q90}(HWc0v82F{wEr4qg6+Vl~$DOS%= | |
zazB{Q?K#*2ONZGX@8a$*U+)z2Zunu#Oz!;lTEwCi42gT79iPH?5<*0>c~vg+^E*rS | |
zIM$x@ebVEbQGKmT-e?7X>EFUy(BiUyoalaY!`kT!ZysVX4YtUA!4%j|!=)8LxFl|G | |
zDu}XTnU+b?LvMr?d!faCZ$G4PG3SSMb@R{Dbw}CjbmMovjmc|qSNbJ_K<Pw2U8#K= | |
zM5=i<*TvU}tk}b;g>}5@tFq(vNv>%ziDn_weAcdRI;Sbd{<$)Jr9HN}F&YEao46}$ | |
z3UH`D4JxnShxo@EOFv6KH~faVqU_~bH=AB-`J|mb@W#FD4aZBiTZMUfP3JGTD0?=N | |
zk5{Lu8U@WheLQF!LL~lPayE2hN}Y>e&Z)4#T0lOCX@J>D!DA~gK8fwy@X%fQYjPB; | |
z6yL5%dOq$@yEJ8Eb2T!SEzFH%DmJ6GV1etrgRn5UqH?T44WUDO@AQ*BYND#tRALU! | |
z_G{DlqGrnux4bR{8K|oVQ&BI(ZUrztn)X-Q$8cYG`X-|I^DkymY2R@IL*eww*Zy5* | |
zYt^g$N~~pJOl$Xp4Ho4CWz_Htcqjis$I02<`L_JW`CF+DvC9mY1?l{J?k)touPxE# | |
zz{pqlQ~08sb(=dw|E{86T}9v45j7R(xeoqR&`~*A$TI3Hd3c%XOir*S+51cX!R`MX | |
zZvUTGr-SvvTz1%wY)(s%Tc?Ec)+%oS2|>U!E4u6XMKsHqGx6SRc*=Jx*)qO9O!x6t | |
zTMNWvqnmiyadW+;I=|{Y%XvKNC|>11N!wp~n7I7O=bkC)z@MZp*@nsKfAZ-c`z=yM | |
z4P;!|!IR}HCrx-f65*=hs3Ls{kMpWQ>_a{7Ug>(SLs`67(#`J+Z`|jm1`QtRyodFV | |
z!Z%o}fp#}VR<RQ^Upb}M+TN>0x!$|(amCW2IC}QOO)^m=4?^h0Y~bq1{NDIhUGVMo | |
zhG^QPn;&oe!BX!<=wGz4EY55CQ`I|Zw{I+$$OON~FtEMYzxA6Ww^H2cPutQ(8EOAw | |
zxRpJ{U$`yzg#P#oH~loizmR&BnK=K+Cvs$|@h?7_vD5tvpWKT79U_bL_85reWG}p} | |
zSyc%%o{}W0GFW|sPoc~!iTrNMc9;Eo-lM91ARNB%y&azX$G>5HCs$K}3>%fTx)-ee | |
z!GX>b80YPIv^XB4irv%}nV~pJs`MM$LP{to%(I(3E|~nW39&))Z)Qn(*$j{{8)4rU | |
z<_qnqD)_0%9iZ+UfdCq5LPyTxv(daK6)c%I-}Z2!ZQxoQ?{mF!8)3RloEGKhLQmZ! | |
z$L6=O`<bUKf_htULxI@Xm9qGz^dwutmSGVlbFvV{2V+mxMCKe*WTIhl7Za)D8QL$a | |
zCG>q7_A|V3-tTX-0IDfV0{h}M*R=M}^3r&2Q{cxF`h7&w>l$y_;P+fFjbD(5R5og6 | |
zIiPK^;+!P@)d=I&V07CL{}lY&oMU{4mG{Bd_l_GmvP}WhY2C9-TLX*6iyd6=qt1LJ | |
z!}B2i0nE9uT|^}*4%Tpa^AIEHw(^B65T4l6+MKtwhq2Fnd97=gl%!KGw7Dx11)s;j | |
zWLfUKILOQ0i)~WMm)sH)XNLF}5yzIlJx`j;+?S}h?A!|7_7=P530X<Ix+U)CU4wfZ | |
zt<v0V$qy>pDg~gJdB+)(cY;b&*OV~g1h{0(A8__n0!(J)Jo>%T*ZD^)2ZA*DrcWUg | |
zi1U#rRr|wa5p4I)eHCjvhN}sHn-sy+TbcwzTDpCWZxGzvAMZq}6JH4tc%nI#P4sc$ | |
z9QlKCQidm&zH7=khf%+ar@JfA&u6A7cV6M#4`$T>RinPfd$qB0=dO`mx$JoZ|CW~= | |
zA<d@ze**&|!6AO8UN%n_!a3th6-5MZlxkzO@cw<a&3C1*mk8FOR{E`vrh;aP-#zNO | |
zbVh3Tn{-Y#%hGAI;PIYo#QNs7@X=?|U^UUJcZTg&=l-KA%g<N?Ifm^wzC9cMD)|jR | |
zsEYW^f+mvxb{G8fGKjT=s5t3!(M@g)zB#3RQ`8l^F;`MsxWSWqc{J6&d|Sty_IZ_E | |
zr|#AG>2PphST!b7>9%R!$a6;2@wYw4!-`kDUTQ^2b{s&=ZNOV7r5EPs5GXUXQ?0a6 | |
zeQxjKeeCT92Q)8mDixfzz!y%k=nzihvO60sx!^_YF{-H+y?=3A>!A1$3i4H!Z&m^8 | |
zmONRjcb4H$f!VM`zWZ_Z9Dvw_E~lAjG(7zLa>RW6dXJ%9k~p{wBTqZd*2fGM_QY<q | |
zp8R@mBcb;0ZS_p#50NF%TpC>Eqd(~z6FWzy*^^_k5vgTu|M8lKThM#qPSF0=IWl9Z | |
z5k+*SBrOdE+5MrP(GQ=~@SnY0jKEVeT|jQ_Yw**rAQXBt2E+0W8Sjf4<8hRU%)!wo | |
zwwJKg=h`-hU*dj{--fet7zG;5U*l33h`_Y(V9(xQL|dNZR^1>U(@Ge_Jbe6QQkHMa | |
zs)&&I3$<@p)7d-vEG1K1@`c=5d7DzbU-C-amX_OJh??IRZ~lwOS-#m0KgtN;Znb;0 | |
zxxy*3OF%qEw_j3g+~;>KKIWST7g_fN^O_GyMv|RE0dbmoWbmcNdP&!ysfHD<NzG4k | |
zW;F9`L{8hi>1;7aT$fL^sTj;}44=Q8Mo)4rz{him$g2e^U&=ZM)6Fz_XIgo*a+yV= | |
zRXkpHYdVE+%eUgI3+c=87BO1_m+f9Ar(+E?<w}wx>gM;{y@Zei&na<cNoOg@d$ujg | |
zdHFl$j%Y`O&^Pr=OEz5M##^G_(#+rqM4}4N8n&nMCL)5psR2{9LL|>xgvUc4k+c6@ | |
z1yoKk%)3bzaiMqO9K=ZLYcbalOn;D0Mk<XSvF?UbooBdA9eShtdaE8yEN(-9k5enG | |
zUTIZN-mm-t^gPSIMJCw_k4ao5Z8D{qkL3KlGKW;^I(Ru-8sV%+-HvlpBlGTduKB6_ | |
z&RB~W$AyKN4Dnf`x|6nZ!H1!{jbhJ<$YQg)`%(=vcI3SKKUI^nz>Jv%35aJ2f<`w~ | |
zgDD4IKkc#Ki99;wjAOqnfJgFRC)LpU57JC3Fqj60{(cQ9)|**eV$L`pqh_6se#Jj? | |
zT1a;xnx)>$TNbMGV!hZSA76hm^n^7@hbOaUeaH>#>KL1)m7e*zVM%3gH;K=><k+GJ | |
z5>Ec!Qg%4@$}L-fS%POb(dQGEBD>;|tw#x>t;pq5<xGQD5K{o@d84x1<TA?q`odLB | |
zLeUVC<rAS+))a~e9;lIuun`BS1jOvaQu*--ckmVdsx0;{xDXUr#~PtgGnYUzs{wT~ | |
zH#V_;Gk5s|)`_%A(ER?(<lV@|>t#w63sy)P+ZH6dW<2hu@K1pOi9{(&y9pt8G)(~| | |
zF@l3Gqm{SLz~OewW|cbkwv;$?=`!sU2ZHy-*CB0Nm5MT@!V9<NF`MfqOS?s&chh`c | |
znq%TJgA|*i8!k0yN6_rKG<|S{_-t8~py8|&{1BB`%DZzhS_~-BUdX{~^U2ORwoWmy | |
z;>R3r`*~io3#Clo6oDuV<No%*XNYr{9BeLmke}+hO}m7tPS3mQ1;5Kwc!`r=hwpWZ | |
zJbN8dE2`kxfxf|x$5Ulq7?EuMjrM}4W9U}=vDQ62U5BoxG=h^(ywqDWWYb*Rx#4(U | |
zrV@*<Kd=0$&pB1kP@^`ZM1^l$&1<0EV%J=u{LM$mEvYVsouJXhpfWXlJk&PM>DXe0 | |
z&x`dwQNUuQoiJ4y`6&C(t)4!^J(*YM@w)8CZP+asKi~g8ot9l#r|Mw+)Ec4^PJOY_ | |
z#k4Z@W8d=q?}oOWsnfkU{oW;Z{;zb=JFH#64{JNT@=^z)G9%(tQt!@2@tO23&ZZpv | |
zfQD>~?K7b)R|<%J2|b+Rr-YQ_ynHk^r*Z4eV_Ve>gDvrnfvZoNS1s9(`}~a}#D5u+ | |
zUsI!zfs=CdTp=pps4=XUx0$&2<q>jQ;8JBK3UONxqkHDk${C%+`iCtWKSHnKZw69k | |
z7=)6i_xndFD@tp%+Hm#VwiuF{D?z4+Uu4p{*J00a_)q5h+W+N`V#t(^%xSpf+eax; | |
zlVsnK*j1NPy$$_(dJk{TqDN+on_aTHCr<I7<l?|dhI)mG1cYhP6csEw<=#D!3q$Sj | |
zc8-`1UwG1f3@9I=@il2PS3QxW-VYn^S1w&O`w&%F2e@Ze*{_2Ik{asV4v?*1FUZ}n | |
zaqDfTRZ8n{1Qf$5SEf9wOXV}vAZ#vaZ}97I{=TUlE<$Pls63;WT%6x-Ic~$G&VC){ | |
z*EpXHngVJfF(^3qe%6-2EZ03J@f(FP<eLKoX*pts9_L{JPsvxcJ`)OEWK=|ZSO+Rl | |
z|76^a>Effx!s7sWE?<smPowC*VK?Rrj0=&yzggdG+!mE4#Lg(<h)fdvY`ggQ?90rf | |
z!-^24#p-jXd4Z;FF&)rFjn1aG=&u=A$aP%EM-LUOwv&%)<ZEPAz9yMTC<P2V4=L#| | |
zBP{x#NH;#%!6SE{UyV6Z!b}#A$FbtK?jq&oc6IfDuGI$TZ{0^sAm;f6zoUMT&>2%D | |
z933h=_@W3*a>3@460`WR1UKRf@cgdW=ps$+APjQ5zCGOxG~zdM2g{ARmrPnA=li0g | |
z^Vpup8o%%U#|jGn@+@b9pabRI8R-p5COqHY<sh5OC-bCX(*ql<Rhwm$Cm07RPrS=) | |
zznC$0y2`x?z)ARB6SDKSnh<n0mWJCQ?O_Lk3fMbT%Jb34iX%B^q>zPxlx+Xz;rJ)@ | |
zvrAlT86AJrpkQ4062sbX=YOeS^rjav?l7=8PNq6YzQ}Km?tkSc0tV>FqXGRV5j=b+ | |
zh9=l!vi)5VsZ;*PP4n44)2*0&vB*R2<qMZM+20KOGQ#e+5m9H~V7jF6gYJbqstLme | |
z5(cRMsywL*PKN;rL~ikO#?o!|syQLI0|Z@0C+Xbj(~5$wS`SAbaiOKKm#Ue<$?CJ& | |
z*gV*UTn+5xJ_UxkKRpfy!@>K#aNm_|Geh;}K8`XaK>9OA@+K@0a;-$Y?sN^8*yV4( | |
z)uEE9;=L%mGbsUX!=bq6JubUTSZ0{I>G_Ze;>`1ir1}c+I;Z!9*%c1(5(|;N2~cdb | |
zllIoWfY!Z$;t{!2(Y_!J;=U2=y*!F7*YC9gxkAV}1zPx(p70)Vwl+4A<{S!Bd-|tj | |
zq@S2J)yxzD1Bs%g^YL8gIY666F_!a>612OQkG`Km(sDTf7W@#8wif|U2r1WjD$xRf | |
zR~WvZ*nu9G1Yw8F>;YF0<-qR(5N9XZ?kDW>u^WUBq3kDYJwmPtCb&}<JR_aW@(H^F | |
z+c-&j!@V83R3(q2zPo~_&>Inuz3rSOB;l#~RRph?*RtEj*e<3aR4$^w0>Ap>rV<Ug | |
zF{bN&_v=1DrP^mMM5bG7D_yJ@cQ*i`4c3GF+Gu?*3+Eg_f$7Z=mV(efwCU|I=>M#w | |
ze3uoQrNn0Gmy_wPxdcP<50{Nbc+afBnT#xdUTYQu$2<39Zu5fsLHG!#PE(;{Z>Qzx | |
zYOeMRA#M*XDC>zh{a&4_dP|R;ReCHC$^Qnr<_$Dmyq|TV!r+>jZ%1!MpFnF);CpXN | |
z(i;vZ8{8#43Z<%K8=fR>1{A}%ai?r<jf`|76mLno(Qc<>!6>I{TbfJbDZ;RBs14GM | |
z96tvq+YE<Lwo|j<9=h;W)V3H<Qv3$XKC@n$*ZsR3#o8BSK*B`C!OwJLJaG&1l#gr| | |
zKhaHLetf5?P}4ap#26)5Fcp!UdIt6SxNZg8{lwTt8oXG#!G3Z0{gxs|2{4>NEkjgx | |
z;F|2x;#qAN_>1*zN^qGqv6jr?h=gDw$46ip%w_d<lknS4S%sl$q3i{hmH0P{3Qe&I | |
zV$aeKVVf1NSZs*udaQ8LJO%a<=nn;<6b3p<z%?dQ4F3eiHf51u_e#$-hBx>)k*yfU | |
zWmwWN#<2xfJHJgw_T|f1{9Nt7RWI@1w#-kT2-nQvQ~vZJRhdKipoeWO=)L}@h`T}e | |
zkYxYG<(n0EU=eVtdlj)yRQ^W_R{p1!AKM&K1mB1a$#}3NbZeK8_#>T!!OPVs+Veaw | |
z=pN+yMFjkK8AKz{7!D6n0k@L>(^VaDpnI>mM<gaq$@rQ?&wDzuyGe5uA1%238}Uqm | |
zD3s_3Ye!%@)s<}vpy%7uo5M^3vgK)s{W5LOX$QmUy+$tn7GiJBu)D0Q`G)b?4qtMl | |
zoreoCnZO)>V2$oF?2pO}flSXtlU|b$@<-B*u^n4fLiEAh+dWLU`w@NI-hSIGOx28h | |
zAvLOt)9BV)qhh}W<V+8^mq^4IN(IKje3D@PD@^+kjxV*SQRvS6u<*KB3t8*z#%HWY | |
zvaZzicdfUo)mx3Dj@nLzMzWlN?e(U;i>1Iz+lZLA=0@|>K1C2y?0C+h(q~#L+OCoK | |
zaUyP!$p}kx5BTfUb8nEhak*Zyi-Z~es~Zu;KYtfbh!lFXWWi;e(#2ctMq|qyj}<O` | |
zIQJ}KH|8v65Po<s*?@QN8LuqWhe*$4f(@Ayy~%dih52x>9X{O)Plk)xk1g^<j!W)2 | |
zcEd}7n0aUstG&4ZRpC9B(&o!-s$0bOtnuehM5AG~(!dX|HHY}<Z<Cp@vx<rHYNAai | |
zULh<Y=kL>sB=`!(nhTOB<|;kAc)giHflR7N34LeWKvVkZWkJ~l4uAtZLSV{}vT8G( | |
zQR-6Dmh?B7C<G%>StKW=K-A&3OA#1GxxVl=i?bb5&$Kx&^?U(r$2rvB?ZA|aSrA`6 | |
zdLQl#RKa>dG1K`e2Yj}d&0L|l1<GE~DXhs(?<a>#q<#<s#4t!;Dz@jsl{+u=bJ9j~ | |
zu~Hm=7C$IqcnQvvEVM%|yv_<j?5$Gwz!h{*bQJK?o5at%!BSwjt25~a$TQ8cNf3#t | |
zZN!w3`hT_AIMIJn&^3BR*}#wPA?W~IXB|NgV|abuCm;@_O9pupmUn}iIp;2pr)yqw | |
zWm`IoI&@42=U(Y{@akBsoBw2MVp9V2h%QmI3xb?HwUXdjjf0gr`yzYh^L`qibj~l* | |
z?d09RDjeSYrNZHT>%o>KYX;%>9|_8K8Q$Yd(8v!(w~tb2W$4pdF|7L#7san5mIU!q | |
zT+0uxA5-`{M`03P^b+WdzVZiFg~;5<=CZ?hTgq%C6!P_No>eCdRY6+e=jv#f%E%nz | |
zE&QER?3<eMsBlI{A0E%9!xmo&EP=Y92Mn|AAKw^uQJr^$p{m?KAUm?w3~?OCW}s7& | |
zd35D#?~8IrD&6xP;cybJBMxv0`IT=TGsw>*A>z$0f%F|3=#`jn)fI@s9KUPvUjQ3A | |
zVO>*QVjznnI*gJz@m4SDT(BUxR6X3A(ux`EQ@-4KDujsR%>*~w*Kt<>H5QHHul~9G | |
z!W3YwJ4Eo&?`WGrevTZzGwiCm-=sr~JA)Nstcz(a`)4k8IxNzr_4^zBVA<XN+8y8R | |
zQF%EAGr5KGRQ4w<h7B*kHKS3GB?$0Jcm$5E2gVJk7o18EY#rKOOd!^-jYHm2#(Kmm | |
zYClWQYDi!N=ZBcXtWnL3E9zBTTsr!Dk%yx>Ew+57QBNj^q(+dhT`;?nWIVkr8v$2M | |
z7rxBx+lgHNUdnzyg)Y51x8K9uMlpG`{}0IjW&z_weafy@`Pd35_2PCS^<GXlY4;S> | |
zfgnJ2k$e)r8<I}{1}c9)zwJcn2F1#WZB=<p&3$jBU!PS2c%DgasXlmphhM~1DR(&r | |
z-V0?GZJ5pHeIxPO#d$JobSZJb><q?t5RROO6F0#_x(V*am^j|N|7t*}_L<i4*_|y2 | |
znz2Ws=+pu~lR5{z>+Chqb9r@#UlhlX<ChNd7|Jum|7vc}tGgNUlieHI@$0uA4&B;v | |
z{mQmbCZW|ekSjT>uz72d=JVa3OIMbykQ{738O~~+SeLR41^QO)998J|v&!yVw=Ei~ | |
z`MfGJf{PtVcfS<%O&hWPg6omRlN!`~3g}H`*!U@AqGUPFCj*9y0szL(d?9N|A?*rw | |
zq4CzuBWD0%segV*3|#p5qJ~Z6)6EfH1Y~in#B$5c{H0}XSzNUGWc_SRV^))`%NbHX | |
zsrTQ5)N_Ds7^D^Olj2%^6h^+P6z~|dFM=4#wxaU?1*Q&4QTX@*LcI|EF(ts>96)JM | |
zALJ%!e>glxKxs|YJ0N5yYY?xuIWWw0EAHMM5wVG+b4C_pxa$B>3D&h;7BaW!u&#jo | |
zDi)Jj+#pr*@6%%qk=lcug`CacLui&<&ZHgCYgxQ+hE#3;d3)PAwZ9Fc^v)uiVI8Rp | |
zwxP0$*wMyVMkH(`sQ~reTtQ?6M%oRCfkxOZr@%Jk%Ph`vld1%_A6@DjPvC~WR>M4W | |
zjvqYr@f6X#2ONMhS0V>EVv%=GB{<k#(2oy^!9{QSeHfNtOc!iDwRH7#CYZboJ!)@( | |
zhwQT=1WrCKEH7HIcIg{5y?g3)0UZ;nh@SMq?C#p;az8&Loz;c4oz_y0B1?fc43SPx | |
z#7Dr$wmCWP{X>5Lcw^pj@2|oQ^6y9N+IwkfPmD&GofH)7f5=|^=fPf|R3QhXK$V~? | |
z=FbZY&zPCb=Q-g7{^TcqbpC%YkeiW4!CIr*OR$jTpZ)3o2fY7Z19(5?g=4zlcd;ii | |
zAYH-M)WKV*SJy$Lr4%!A_fcglfF_X<%c$9>Kwmr&1zM5G(M;k4e#|ZTs(J>GeSYyZ | |
zdn&5%7rtdr2WS5P(kY4XQhIt~|5Rb2NLzFPGi({l1E8LZOqgQO@AA&f-~wzs{<M*4 | |
zvqZ5`p`7L8->j@S6a-ju4rP1(5WxWyQtezSCb9XObM5^W;9*wMntv0cirN1w-dua` | |
zzlb-h{ta)ooX*a6j{8zDv^jUgS^@1nf`jUgsX#w(mG1Ud?RLYe7s4mg1o@N38)Ws} | |
zq1#{&JT*d3j6Q^7wV|8WsF=IG#G}UdXwQ&jv#}>@9y@c6{o@0`<T=9C0GZni9E<Zr | |
z<O9W6nL1*5j;nUJ+!^N`h3uI?_A5MGoI<fT6R&4$7ouHQjR>>3vWIe)&Z^@$HCi#R | |
z3j~(3`03ma1Bg}BE;j94J#QbFEi-*Idg`i7fpN)d8X!52d5yh8_*D6e;hOzxfG%Py | |
zkW#)4vw!GSEj3!%9dIRHO_?zlO9k`OP3KGj=AOpc$MbQ3zBeb<QJyP(CJY2H-n6JN | |
z_31^_q#~(8;yfM2n_#lAB!+#MGl29vPRlcJtRJSHZK$eq_nwJ@Y0q6L%O%=vB4I6} | |
zBWuv-qi+fQrV!fPs0*W<+2!9B=o4)FrVzcmd_EEbd4WRAOYX7mvwVHsD+chfz}&}~ | |
zma~$UF@ty9T43{-GD)&dH%cy9!*jHE1<d_oFR&+Mcf1R_6ngQM<Qu%Vb?*WrJgx;_ | |
zl&8OSV@s3ZiA%opL1;6zueiWPY<dwv7?BnFRKU9Ur#Qb>Sis`Gb7Ao}g$sQZVmeLt | |
z;MamL{B7G_5b^bimt?ojn|yqSBhc(1y_#%AcjqHpNOsU11(z%rzm;*0Vf()=_wNjz | |
ze}syq%Q>Xp{&7{C7yk?fb^7;VP>UA{QzlM@Qzq{$>YHavI+=+}rOu588VP)Bz>@u} | |
zDDladGTG7A;>COQ&QSTJ?UXw%98c*90h_<Yc`n(V5xnGZNwb}QO8nRfvKJWE<2+q~ | |
zpuJ$b$Y*`##o2$~i~r@z@CSqTvMf%q;`rD0N7kx-q^cw4${x<{_HQ%H-^}TkZI&Ie | |
zdMilMTsEO2U)cY2A5t8&Je3JQEN5xoVmpM^R_~9rsw?M$yh?X<o(3)TcP8H~9y`(l | |
zO5B3G$La1DmT22?sX~+N3}#>k9DMsHNUWb{*STN=UJ~Tq2s)3^u{(?NU>CMSw?GlR | |
zY{bvu?BJb&;rv;65EM9FF-WY`GG1nxe+(X>^C4ge_X8d1{(>9*r+EYx3`T<3RfOME | |
zn>y>hAS;de>CtdgB?LVP$&fi%$sMf7ax3-)D)cT7-(UTxbc=C)ducu97dq`yl(cht | |
zQc_m-Akv^K2nFRxv@tO_v)U9R$_i4!RNgsY=k3zw<6!NT`#td5nIjvu5>rwCj1a+5 | |
zj~L_E^I|{@hH>Aqp}R<*Z|ii>P@uij*|&A|stl#z+?a`oM*x$HlI0gw11-*gUESsh | |
z+=^xtg{K>J+6#O_o=R|sadAOK!|<^AWP0QYw6>WoSkKq><-|pL<5IucTm>m__J_81 | |
zI)~8@=YGM<rT-T*Zygq8*YACcln4SQC{mIJtsoLZD1sn}NJ)$c(j{HPD2O19bPge* | |
zq%;gLbf=W$&`1meLr$L0cwP6s_qF$X?|R?;+{gO|2Xk<)_^t1(WPQ$WHRlothqOG$ | |
z#1K)?#-85JZ`yo{<qhF5;Qe5t>-vGxON6!&1tn{875RX@^Ga;7`M?Y{0h5{|LPmwU | |
zNHO1cV(DqH43yu#w1B;K-*41CCTlC(rm!PAOiyz^9^U~b<Zh%Qu&H^R*ci^srI(ny | |
zbU+(lM-%;e5;c&-Ii#H2hMHEnOG60=v*W3SBw+M4tajw&8jl;%=@}<<T4|0=*tHFH | |
z#DRMLa#s``VqAEfI6DN)y5SuJ@(ShG%=7W{IK7+4m<@Q-7QAQ>iA5n3!f3RrTs`px | |
z)pi2|?SJ0llbh<nx5kMybLKk&o^S#qfI(I#wv@N6;{o8a63C?Gi4<UAuplCIg;|Y{ | |
zKe;5nXFq#?`9$@`$&G3>ErspvSMR=))T!=Y;~}w#05yC-Jw1(ylB$Ta%P;n&#(YKr | |
zW?$dgzg<2<ASYjBT+8G3KRXDHbCrL3%Y3@_INc@qy@|lE!q=}e+X8g2T|FkO1;+(D | |
z_&XKPEX=1%D{`RJ1rG{uiBCWKc3x0Yj8W;-@lHP-CIs<8Y59+<c`+kjx3gWb|8i}; | |
zAC;2}QmcLB|2b2A!U!JB;Uaq(2#{-QMvHo(wx*StI!c^go}>+7)vqo%67k_fC*d0? | |
zCn)|PE?>6e{>w=yc8@c)33I#21-JWH{<Bk7oVGgTg%Mz7tr2SQkY!*hjjq9UQdg | |
zh%ozE`%LwjN)q9dB$#CM6F{ggXVFFra&5r+c6t3W>2{BsRD!tuYh%^CT2Cv@gw3fu | |
zkxP~rmy78B2({4*Tgt+4mt=(s;4Ceenz*nDD&C;y%y=5U?q2^7)9-;x#pKirfXX}( | |
zKQBqKjL8kMM26q2Qk$M7Jq@qm=OSxE;o1K0FZX>(CrCaPdJgOY+}^~0t!gO65i&ms | |
zvvNSxqLyP_psZ~$mrC$ZfrPkv!SAdT<T}06cjl5~bA75e{>nKF!GKpTknlw<Z|~_S | |
zdYUaxMy7BcmF81ZOv-j1?ya;Nj|$f$y|zV8v?IU0Vq-C^x=kmf=+pA;?Hie6U{R`< | |
zg{!e^WOLl*T<U$^A<<vJ=g<VM#^OKj*=M0>5vXa$R-+nt^+m+ij5H|+^0d<5C~9pr | |
z5&>C^jw-78zW=irx+F$o@g+f#sZFJge2dZKLB-)CI3#Ki1_ZhUx5V&BbsMDb*YN&Q | |
zW(p!Ku^_x~Vs)o>EA!>taZ$h?=qYry)NlU43VLKU$^`62b$6Vp^HuCTK_YezN7cc& | |
z3+jW%2%siEA4H5j2VJxB?>tDEY_P;N4B-hIa%k^|yNGnnjD}InqEXZ8<<Z+<?33km | |
zd5Dis3q2v=z2rAfky+A@nfxKIHLG4_Hm4Yv#IK+rR4>pc_s73*wijh<m92&BCbl0G | |
z?J7<`3m(5WABBZ}Uq=ijpNE>t*xpqky`d5&5=QB%^H&1igG0ycVR=Re!h!iG6$~mQ | |
zI}1T&N}BFP@k&d50l#R|N?XT3t9EERCzd=)SBR>9KQ1R<d{>db(A(VlL$KrK6Z|5V | |
zqj^v0S+RZT3o^-a-}pqd@J!2BX)udLVYObv@@eFe?~I4#ZzT$l_3jTvg&+`oifc~@ | |
zyjg=wX-DbobG(LEXGQ>G8EJ#Of;b+E9QqUj`x&0*D)$05U!jEPaIS$--RY;1yXTOi | |
zkS<TZ;JBfat)VNX0B&+7kq9I7!0saZNPD1UQ#=|h1!;vrmkxH7nV!Nh;rTU^s}WaS | |
z&fxG+pf8UTmjzg`P|qKyqGQ*u8Q&wznr9-K#NTMXSd1}*9aZLcSVctHCfFmsx*1$t | |
zqmUzQAL8`=KXbjG-#Rkir4HZw<9&*&-y64(CdZJWgKl&$C6l{SjXSR14#=K;vpY0W | |
z_egpT_<b>KZo54|h>~HLU_#8%wyf(ITG@N~{CRU;(fh~scX+7GW2cXULTw3;3i*tl | |
z#?5~G(yfePpoCTXzj<M|m~s$6K~BDYt>u6Hp8Y=o08CbOj~D`vVm}CGow_4sS@`KJ | |
z#FTfoDz9h?_504>_UnI9udGy~nh0yRGE>!4h<X61?bMx8n&N48n#n$`3o8$Is!EBT | |
zqxv<Iw>DXh0g?<t0`fx#_JFv+L;{aKm4Ym~os^O8+og~ma%h|gKnY!W<R54Qk+5Rk | |
zo-gD#Dg{|SKp{yY@OjPADAKQ}?g}PSNj$ItBW-M8!MlWw{te&NfEH~dQ|JO7>WssP | |
z0JLjSCdBSS%VFccMf(deO%%D)|62m3|B8Wl9)&dHvTwxbhIuJY{Y`w!-2dR)v;Aj$ | |
zKmQoe(85T32o`93RW?TY&IZ(xdm_tfEVhw$<kYEKALlLpB~IUT!MfY$ij%bWt-(yI | |
z*Qp}~vsbFaeg5Bv^|ecwb)nR><I!pzUE4~<M~y_0!H$yguq+d?7Y+_HYe(eq`%CHz | |
zaqiJ&a(C!%V5nvdaM%Ij<w-ffXJo=LizI**iA!SO0p5Hn+a38D(=o=g5`DBX!wWP4 | |
zwEnMf!C-8>UR|T!UTLr0W&P<ccAEMRjif`TBuC#K)X}@~L}*`Mz7ur3#{5ives549 | |
z3*uMDC<|nd<*A6@BFj@4uansBkcTyH0ErvexH{zZ@h##cj67!(h5&+KzCstE%!!LO | |
ziGD`JBLIAU=?SJZX|P*@A#z&lLf*!t|Dk@~&`JLg=7nz>aZ=KY4ePmxUEgN`sSOME | |
zzWV89{FAU=OBr<n_96(4@c<iXwkt@<ArQo)1rFL3mL~nu@2T*&QDBmEnVgbXJq)dx | |
z4Y9iF^&^UqIL5gT?T4oGRHIP1$DXVUlq>56U^i*?nOthgM{n!5nMtQmD**?Blkcwv | |
zox|r7gLgt=Dw?KV3YdJS<?em#Kd64_I%*}Q>NAOYW_3w&8%CPEKB5JE69N2!TG&&{ | |
zL?JR*Pq6RS_8Hmo;UhmqF-Tz{XVn{VGF{-rYybxa`VMMH>j($FdBU2MmWa<tShm|c | |
zz2nB?d6_xC{Q*l70%(IKHEpAbaxLq5QN46?o}@l>5^3C%cpGmMaQ;hpWbqXu9(?p> | |
z6hWE<x(*Jsym1Ft>dY5PiH8UdP3Iy8kJpv@!l5NB{H88=)aZr;F7`uCrx$>Ss{2PS | |
z3@L=%%Y&%ASi}&B=)qdsx7HQ)Q_ibvoWdu?a+P;GRhC(~>4)vV@XR-+Y5#Oy?L@ZS | |
z#Q|Ou2r<B0`0!%shQwJmVNKHN9Q6-NX~B?ekYOAxFVbfj6lQhxz8VPGVS_kyGj#Th | |
zX!$roN`ks@^xZsfIOd{!xJ&yJx6ElGx~r)@c?G}qmOG*4PN9D~zKM_N%!Tl{KW$2W | |
z{>`Su``Y(k^ndXw8QmS;3PJ%rhuX-ZhUpJS_E@z5M?s1Wjd}PV7|7oYNbHc$Fz>hq | |
zOgwhXpbMu275;=nMw+^~AIqJ8#Q23@;$sNdnKJXtf90HV27G@z!7{(*x6{gh2bHNJ | |
z)&TuOC$97s?{RBRKG=hA`jAw=&236~#7hzi;XQDm1=K*l&86(b1T%9~h0zY`&TtYJ | |
zIiG@v34qmu->(Y`kY=E%^LzWCQp*{6w5wAR2?-<CZM?@L#pZVFU{=+o(K2kL2_zvk | |
zAons{DYJNEBbWf`adJ&+TIgiUA0iYDr5p&+f!z**mZYT`0U}24gO|TzwTN(Omu(sU | |
z5rl9a3{?K~g%w!M-*c}R`Smxx2p3CB^>-b+gPif|nSQ*DLJCs*(piSWHuy2YmXW4N | |
zTnHk+J+~kF<Us%rAlXAc#qm3-oHUoJUf;qwLG5D|#|r%G8%*~S)*<X7ww+9YLH_N~ | |
z*c0E=<}k5#!dvxoH5F|V6Hxj`otn#mCshju-OOUDQ9S=%$HZ(1pmzFN){vRdvZ<nW | |
z>*Z$Fx-C@LgYc(%iV>BzHJK2+T7bVXb|VOe&epln!R(|a>blRJlKJE<n?<eBG0N1W | |
z_(iod^{KBt^GyY9KP@hgo!Pw9YK;td-@U33ev)|R;k#&=8?LLib$kLe7=6mQ6RBbC | |
zyYIB)?qbjv`awiH;wX%C^U8_{p%o#YUU!_YHwjx7(A3D+Oc&oN1#qQWFjBu3OdjLQ | |
znM|IepyL_Z&MV#LIg2Dc5I33bG^{3=kIEhYYGY)2ia4@E*p})wtfdHq`8(F5s%P?~ | |
zn)c4EwHg1&hT;UE4~RcRNZG6Xt{MAj8+2M;0mdI{t;m~Au%M}TM7FW$iACe9;q?&j | |
zH-F=pUS~0K8wZ>`RyO)c+N4HIurPFCyxzT#Vccp6_fjDUeJK=EY7QJ`_(QGpHlJ>F | |
z;cio0!+NS=w2<M>lSZpk)GiNR1$)b#mJT^kCe7V)(m0{VbW+KrE1VVR({=)nnc0_z | |
z#sFuSUds$3Itl0rL_^!V&y?8g3({17<%+5+A&svT8l$OVIkq||zki!UejZ*j2)TAu | |
z+};MT6Da^~X8vhF1DL<fE_?Lx*_WRV_aUErKL7TH+14hYvTQJm1d%vjWE0Gt>w&%_ | |
zUaA+ohdipTG34@B*|~oLJE%L2T6p)1usuX7l2cwdUOC-j1zLxu`C}8IJ;qimR%d<k | |
z-<P<c{eGp7R%Fa+uDz_@oM9kMv-rKYA)ohVP|4IVoDEE}5&g%Rx?Mmss(1e^BiKED | |
zEPfA|MB*DqLHPR8ibZcUeqIXFo9`Fez?apir#&%-#67KhwcCUJNad#zZ>WCbh}LS2 | |
zzl~!Rs9uMWw<M2iy!v`VpqAR%G0=ObuOu6Kb&IYc?THcY>Zcxkqp3cbFkDNn>nZEn | |
zo3vv2rFG%U=sc_h;wK(I)No|zlGrjCxZyV)2-k@Vk8RgWVKBiLa4@L;G|Uq@kH4Jy | |
zyC!QOv==%Qg<=C5UNv9UB#OG0(t7SB83m*%sIISgypUTop8d^2ogMg_N6zaiV3>`m | |
zFTKhmUSSi&3sN8UuX_4U?tuBh$|HNwm07)G(_?5QXO07p=n~S3>hnAwNy%HU$@%&R | |
zEb`dHs1pb#?K3?EA0hmci}cpF)d?n^$a`}KK~hh({4ufl$D~f*{F>S0gpFJgZyQ<I | |
z!c$MA9I*|`TlzW<HS!q5+mL_effT!pzrD{K!gucAEzs7Lj2@E5jcl-yIuJ>w#7%u8 | |
zYk%O_ANoUzFHP3l<pH<n?O#WsiHO%e9W_l#^GR7O=khiL{Femspj=K0C*8py@y3%5 | |
zs1<I66MO#lR;jM6Z5lE`h9Tn`NKG_$du=4csG0BPm#`|5)7FX8H1rR8>&pCjK%Pes | |
zed;kO0_&+T2*ukYqOm|XEk}kXvA;0CZT(<C`lXVjT!grw0z!6%Jlf5V%!iKQ3@Lo< | |
z-qjA(^fus`DK{b;%9ZMO4N1t|5MW{r-1zDhrJ8zkuWqR-MK5Ep#j^`9V(WEc{hnHT | |
z)DA3a(ye$@MUgkvt@(Bt#lF=QgE(a-CTHNgDc-<?=dAky_=0kv^DYKjvyA>5_;p8= | |
zBds_UfTIBam%zMp7h8VfJm~^G!n9%J-uA^6#&<}3_v4g-{lj~uSgFxTzk$hi(VOH$ | |
z>>gV_`eYD&cP8I|GykcSJfPwozr;CJ!61LflUG&O!)(C_figM=lRF;S2m&7{`RZnu | |
zeAa?&3Ot43_2r#>hTupcPvHigJHdHcCm*zu{0(;uPR5Q@f+R5H?E$8fx;Rt5tvRL2 | |
zCpXC<L)}D0@!nS%A(yg9knbE&HF?XY;Jh=vd*o0EU;uROITe8%h>iGS7ta=SQ(x2} | |
zj$OH0*(FFpL<xgM_(`9iE4^-f9B0)-$&8q<{hqVh$$d4B>Nk;w14TlYPXMnbD4v>9 | |
z<4)@Hro#W2D!V0@VaCNeNjJ8Wlwp?H>91@Oy;Ay5Vbe0l4pr)`cjZb+rr2y@kkoL! | |
zjqgN7#ytpX(jRqDo=7zRp5U}L%1Kz{{7Fp#kIjr<JVdXGK(Pldb+HTPpd<6_P7rCC | |
zd@{!NIwd#h2;UXe-}0XVVY@J=I-ROvH>@d$f}kL&yJxVT{&>$7-3VBmz<cej<x?Si | |
zyt=yop+QnSR-F*R^)2Yjlm8u_?%)5J{-c*fKrv9DUV7pBl}CrwExF(3&T*v~tq2EN | |
z$z!M93ZC{f|D?k8HT!>u7JO1XZ^lghxh%HFPleCF`P88jxKOll<n()Lbbt-05*XfE | |
z6`*tJQ309ya~O;6TCpzVDBp_u&ay%b@NBW*>(?B7N0D7z8Ga;v<+^tl{XF$(2;yP$ | |
zl2QvDYvu}!MDtS0S12_r*CgQ_I-tkz4_Yo4;sjZNs&w%XVwj*_K3&9PEd-{-vxn`h | |
zyen>&P2SVz$GHCE6P^$ou>&@=H~Jvj*xu`y2OZ<SJABZ;l_3oo1e4T9M^WCC91fM# | |
z*cK*#=X#)pHV;5g`a|lErtJhE&P(}FT)xi0s~vmsQteNiq6&TomEnI!>m*|%zej!> | |
z1kdzq65dg$5cr;5s|Z)^;82~HsF-5WSQC?xrlbk+7!{vhH*j8I7x7}z;Q1E=rq58% | |
znF@Mm&lcHfd9CsyiH7v85=iyz8!jh}g@J;0Cf3Z#(!;F;)5$IW7Wk`j@ju!;qW4k- | |
ze?9D)@A#Dl`n>bd51|1UMHL=O2!)-mcE&{}56o)($@d+Wq<1}DeeuBF_?#&3{%uPd | |
z^Rkt`qboIlruVNb;yAUyvtJ3Sa#cP@>hiYT1GJ@px?DE%84Gf<YF|R4&xee<-=9m0 | |
zew#5FoFV_l>(hoe_Ky5^9ZR&l8?~co1mNiX^<M&bk?T3Y{$&)`I=~9$G+B|eV0WGP | |
zyw{DE=Oyne=hr^WML~o4%50_cS$JpaD!c0CSTu-A_xV{EN@At>EjD7H-D;6OuOB`U | |
z3U6Uu=UgV3vmk+0+xM0+_Cm=T&ac0xd+Avo!wU@G&3}sP8AMSP;*Ig85TaVZks|23 | |
z(-*pJP9Ijei_XlrC{u93b)u6rG$;~E2*MOyFR<|cWxrSa=HsXC3va)hByaD3hEF}V | |
zp~xZrh8UCNWQSfStoYgG{l)_o_UPlZE8d9#odmXhri=Ll3>U@JE%%*Lqo6p;51xHn | |
zmmK<M2$S^GKB|co6cpJ>)~pY!V7kZLbq2e?w*w%SHx<R>+YV2vCO+s^4U_syJ{Ghz | |
zz~>&>P?!_h_K?*CBdl6$Yvr#C#zQQdCUjz#%gd78ZtjYVOV@>@b_Q57i0x9%h@h6M | |
zLOp_BfGQntjdOuRGxncDos{@#&Wva4%~$6FxMX6*4*{CH-eq0T1E}Y+ljpMPW?#h9 | |
zv>l1?OJ{>wkCq9X%Lw@1@m^YlBZEY9xL79?yaFs9<u_M|L%a5170KdPhF9*B*jM&J | |
z1E)A08GKk%%)=3pfbYuXP|vwzIeD`cfd-tVScJjU_7_tj(h*e}_iZiCx6XPK9766} | |
z`zsN2Fu_uc165Q5x>)`<@@P(CpGCt`(7q`^ZQCo!;uE&If!6xey)bzH&x8JcQR{qo | |
z<^1O(PV%~6$wFLHPc;_xqVpax>6RRO>0yLN9?!VDF_(YOREi|2zakWP=7s}Vg$K6p | |
z3HkfJ;lO1nQo@cosm6x${m+y`r0|K_#Lmgfv82f<(9O@Ia{Uz5dB6nI))UXB)4^&7 | |
z^ySi7N-Al0@0vi2Tu3_g>}MaGk;XZlSGdnrnz>hF#p0)sVUj5#R|coPd*l3>K4>b1 | |
zi%+K2LmVwN5gSX2Y0eAyF_Y({QTxb0Wf*$y188diH$Z#2+zv4&wFV|Vx=+bwU2Pil | |
znBp|UZxAvtpRW^Fa}MjN%4s&-RM8&Y<+V9n2si09_l<@dpYeUX^CIUD0+Bc`KmR!s | |
zCT+@Icst`xC{88G3R#korj%Eiei$p$=dtj+L(*E4I$qxJmcxK2Lc{<fL(CNw#vXq# | |
zu=gD+ky<R_X8Zigb^B>2;$*CsOhXT0H3H=7A$(N=QQKd=@M_e53vmRoSst<{4Gw=* | |
zGjuMqIe?}?JH>R$E!p<b=do8?Z(^kb02?9SSKjlVP4q8=crr^Pm5Nyy({f`UbNUwy | |
zi8pt;cG{<B>BN?k%S(cqlN|7bQH%Ao>XqQ%jW8sIDH0vbzoi&hH7H3{?7tp5K40_N | |
zzekjXG0D!?c2)9f%>{b?xT(S;P9O6l9+t+Vo9%~bGb^#Y9iZBe4G=neIl~QR&*;6g | |
zbNz#1M2aZjPPLGg3UCj_dlqj`K$X&b&VMsyvk_j$wt1zWEQs{W$k%JAK0?LN{Rw15 | |
z6exJccLXIwCqHI#I(*ORHo6;tcoDAdgKv~|Z6W7C%R|D$uIJ?hz9Y1&VUinO?KeXq | |
zm$fxbWryp&08>_yQTP(yUT_?Yzq^6~=ep%F$XxjBMTt<ALlho_56^*It(j`>Sva7* | |
zG;!7Z`lG>bpJG@N7sN>Wta6cmIzLfy-er%Lyl@4$PKAm4`t=C=4n7`IZ=`YICLepV | |
zZkmG~U~&*kwNkQH;I7|ZaVS7{t%-6Pni|)Ac}p-m6XH1Y3qiH?Y7KDg0-{Nb+Dc~N | |
z`_UXmvVi9dRD&*Irhybe(s?HO{_kD@TT37BMTtd}r7(39YHD~@Jr6~o^F})o%Yjo+ | |
zlrFmi`O^px^6um6yA{NdML0sGMdiio7U`j%(mtLoCQgv5ibDc8&<Z>JE~GZBIW$Da | |
zq<-|G4bdfsNtD^XV=TvC`@o8BC=Mo2dD`)yHNd7Kpj_r15;VvH4Qu^{_+S<ebaX?Z | |
zzq0sWz@;QJEmNKvQ?DcM2n1O^3KbWTaebU4M6~+g&EA-M>E@H6$}ur>H}qTbO3%h< | |
z1Unr0SnmzEi_{Z%v!Ln$E|#3+N2P}wdYgAb@!lZUsH4Xu^a!CVs0E{5@Eb)r5(F&m | |
z_!x2^pW3lehzHQaU!5!jW~F$4f(~!$O-64}B#0y8%+PO=&r@NN6C%;dgTR-_D#ni; | |
zV@066mDEa>igkjS&}Y`SAEt8o%q^6eh&sbdo?|`)Zq(Zy3I~?f^o%_TKYW~{9bmS2 | |
z6P|2zj`l9_q$^b%hkpNa<>WW)@_^H(V%z3HP<8TDA@8JqT7mBDIxjcmefRU1DaD%W | |
zS1xVw!<=*Jq)P8Mmc=)|Kp`p`^+r-`IddSd;R?1a4DJ43rxCM6PL!QT^?Rq&HZ0G# | |
z%?Xga8EVS(!J~u^C>Zej4OXz)J}_)nrywkFQ2R<0^V{Y&4j^*-uK+$IgwcGsb4}A# | |
z#Q-<WoeRTKJU=Iz(xx8-I8oy!p^eWn<(F+NzK>uLyNvWq^G4*Uc&MRz?oDRr1l5z2 | |
z%3Ih}nvi8eV9t`5vi%F4BDN0Xy^77jsbU6}b01?nu_BMJy`OF(#7Y-h?Kt#226>h7 | |
z+<dSsJodc!R((giM=6Sa#HJqnFWhO^Sd(0v!sgiKv#N2V2QJ}*`jmW4)yK#9IcK{} | |
z;U6cZ9cd^Y(p5+3$M;22>j&CB_1<pw;M1$~7GIi-UVPJiR3k>>2tE&0{}=-m=j(lF | |
zv%wuOP^+v8RdLN?ORVXwTu6cn`Ejt%Br3dd)9+Wi&va{5cf_F`xhy&XQm5&Q`79_T | |
zdqb~Z%|MadoqbmX==PpdEpA+M)%%Q&KHZ~;m(Dn4Xa1GDPGR9Xw)IUCn~W8ce8Zs% | |
zqVJttxO&yMUy>MdQ5fWBvwJ|h5hnkUgH(1L5<`fkr$Kdtea3^@N(dX<3Bbd4<1K4- | |
zTRphjy`U$&G2!QSmXG!lsKP=`*yD$aD1MN-^M*usz1aInz9N&y(nUFdU&Pxh-x<dG | |
zSM}%l!ah`>_J{l_h2+}HFQzvt;Slv6k)%>igQGnhCl-F%#ek_3mp{Zc;vfkvjV3wa | |
zaWWIIeg4ff(Fsn&R8LRRUdXJ8bK<PYLSY6%eJ^dyjD-(=#!k~VWG_XmDB0{~I3m70 | |
zg<wd7?W8K<a95+ph@jtEMlSLW8q;nN?D_%hZscC#8RJ(Z5%N%@9^?PIw0ddgtG``? | |
zZiR6}{FU!Mr+%-!dBGgneZLUGT0{OfNuRHoQqblDvxUvma`s^x5;&**%~LC&k9FPb | |
zod^Q&;@NFPmkqgFrT{bYqz6!UHK5=+j3v<nwZOO!ox!7FpvZ-1h1ZEgUU&F=3;;$P | |
z&T2^bWT8}53L<WOt-Z1gRP^c51T#G3oxRy}PtuTZhu>tYJ7%HHB~kG%??b+!YVukq | |
z2fXh7O@d#r&j9vfsS1n6V=o`mcG`FIFP%pA{YEkiYW`#YrW{rO;v2m`I}G-2qAKt( | |
zUO~Fm;!`)N2F7)?nPvZPBc0!7oNO`x-j-1D@8i0^3oC!CQ%kOJmxc1?KN(kD(KZh* | |
z`J59?7`=$we0V;F+$Qle|9`=d>w1m}JIbS9Yy3-#FXB{p2`;4|xoG+boW4@yMzio) | |
zRlaY9w;tjtv%g}BPS=&aih3YkD)!~4nUQZ%$fa>thdIZ1DSqSQOS5klI2kyZek7Ow | |
z^U>v=*@$3{R?1Ho{tI?C6wR4X!~5%ob*ixG>4DKJ;^bA&wc^_tC4~aN_kZT)l*;`V | |
zVArtF<}a2?{cD!pf2nlB_Szri{8(aPu!#KC6JWnc@gJr6v#yG|tAF8t)2dQv{!*8{ | |
z<NqKm$8KyYn9^snA@t9`G(G?E7YO-lBgca`>GzKh5`MS$DB|<Zzf!zvsKeoZEx6n% | |
z&h0NOvu$bcU+`Z@&KH?~E#|qeoLldMy*PQe0x~=^^#?|<G}K<O&}z_SRbh~NI}DK_ | |
zu~nYUAA{QxfXq`2mKEO;5>AynR6u)tzD<k!C=O}7u_La48XSZCi5g$Y_#Z3%-%+t7 | |
z)9<5VlD1N=<H?mf<%+RO6r<Mvmb4|#HJOT*&6HH$uH=4!8&;mr?xIoRIctB*eFjOK | |
z)LLhQ?o_tY(<LyuT04h*c$({&16;WXKM-D2@VdntappCuX7}2e2<tz{;ZCHZO~S1q | |
z{}-DzGnetkb(N@`qZsIe%Jb*gY>+K^&uhYDNCl8~urk|7nJS*Kns^lof5mk(Yv@U* | |
zKst2CU(@P1JN*6dXXdJJS~cWZ*oGK&o_t`8-v{O8_xH1^r{<T)VOoM$rl^s23AyRz | |
z2TJcunZ0)M<(zzWAx^F-5A2nTZv-9BTFHX%JH=n5(Vl*u$#ThUBV0Yf5+pTug9$W7 | |
zPpfG^?tZ!oAIubCKn}Y2o{z#HVi-OGWuFfD7*UCS#kP#zE5Jg@J1(E7XqBh{$>2T) | |
z18zHM;_YnUQLE#_-YXv>u{9aBCMMZ~Anxg)?cQxgJktg>rM*vwj?5S?KWxbg@d7l{ | |
zf`Z;DP|vBL-Qz^n&^7Yyf!tKr!w?ArYZXsTX3VY#^}eAgimv(<Uq%WiAWH}}4DoJr | |
z6U*RvvrJdUeMXmlP-L?Kl#zr*8bG&jzBRKZyCDr%6(^+{3#_4B!^@3x=Q1mnqm8M& | |
z<`05~uri~uu-#9ih4X~*QEu<mr8-xC)69G^T(+l7R06RNd@#K+0wOH9tu0DvA$I5S | |
z);>1yT8o9PC=#zCH07N`KSGSWRvr&EnnJf316^vF_)e`MzftKlaZVRM`p?{>WS)w! | |
z{*+M(a->f;_8U1u-TLN?Vhr4Wp-WEv>t$Nut88R+3)TNMk1K!LPa-_peYX_6$;D7B | |
z{IhJG1Xt46M5cqn1NwA@;DKyhUUsK`m*@9S^_kkA<Mf(zo1AGfid@75fe}OI6@@wL | |
zc|1e4+QOF_tn1h4CR-&MH@lkZIW}^|g$kjsM@5uHpd(uW_+Ok5=lbI;DJ`bnAj(4= | |
zA5C2)*ZM3@N=puCI>Z9@^*a|~b5%~dkL2Wb6H@NQosxs(1%9ekraAx5G{&+g8oc`U | |
zwQ~G^NA=Kj)a0$+8&+WnewHS;4<&AU4Weq#PUAe9aiw#!-uojuky#@EWjr7g1qrVo | |
zaU<x13xD3i*zZ9k#_yTI2B3bO?#U1_UU*<7srZ;JV+0DiaXtKSNQAXpt$tqKQ*nkB | |
z2)s)=nvBLc?E0yRb^=eX0&p~bXJZa$NoDVG!_U!YCtn^~zcD3}QR3gKL%41@6wkIk | |
zvl2j2=HFKXKYbA5bTWK!wyv#NqF^=VI>1THL8kA-%P?~I!DioPTFzB!?h&cseG6N2 | |
zmUunQGVZB}Wv5Qq=|>~INnb~*EZNq<38|3TiNo+*?kNXXk~<4SxvP-+4HIVO*X`da | |
z-*+c7N%AHJIH>)`i*GkybD6Z?PSS16iT&A5&-&^+F&J4OrM1zf|6y|HTlQHZV;}=R | |
z{EBGRWzpu>c>jBPEb4E&dS~>>>AQcYuM|1IV7(non5o{Iq^EfRPCz(6bEBkT#Y$nE | |
z`awMuclHy_iHkA}!jJI{*TRp8v*WK@-+zz)>?!l$lWM~|itw)K5Fi9J2%6u2ADj>O | |
zU-Ko%DE1Ys_p(z<^=L7bc(=xO1n7qSc$ztH_U`Er!@+EGb%Hf6mP)t}dz=M2Svb%^ | |
z`|KYy`y#KbBU56#df6^kN(#TJD%}oY5q%eL=CA^E|2}<Uh=uT1&+@NmMPeCT|A7xx | |
znEzj$xMYx-T5scV?&&%@HH%rngM-)3<zCDE*?#{F#VlMxpxdEGqdMzFVE4aegWrV& | |
z!m?iQJhOj&{llr9x#Wv0kc&VYhJljUZx^MxND>{)I92Cq#aNr@NQyd&8M(T}H}-cv | |
z_8&v8OqwL}iXb<ZUM0ie^{B5&I7|Lzo(NUcf5hd=-Cst`=N#PmuaccCLnmiU<u<e~ | |
zxH*s)zTTkIbvX;y>T*sQaSDyTIsV3(NKfOoV}F#lC4G3C<U!)4aIfpX#u;mMeYTK= | |
z(SKRKaPxtW`RQI>quWl)iz?54%-^ARTspe<*^c7Kew5|fD{_P4|6zmtNmg2k+T>bT | |
z0=oD+_g~JD<y1c;=Q&&PNz68so<?0$0IQ2|v1ML4RZ!Y<4_?0*cyL44ZanEH5(Oft | |
zU{Aj&xl%bk*v?(omWgn`C>J!lLlS|S6hM|oWUZG$I5h3Ts#uBM_%?m;C23zt=(n7s | |
z!|*BOJ~SNI=>$ElkMtV9%TpGyS0nS&>*K?+(_98mOQy!paeiU>`m(U|VFbYKdp|1e | |
z+)wJj-_Bjd%<`&Eg}>2O&>>P@$M5GU!h7n{sdyT4`r?$Cg{#D&-~~gC8wM2jU;P`u | |
zu@m%lD5QJQ1XHGrcviO0P7NUt87YY#i`sgK^anNE!{i}xmxOa}_vIvsd3UxLtr*gP | |
zorc60V%oiMVsLVlwU^|t{y%)ojIDu+F&~E<NIT61ZBzN!QLl)TbprX@!U*c5W(&>T | |
zh@=o_l6i6Uj6FDNv(+9n+w34~s9VgprW5eRqadL{76rQF$@;27cxg!y@9ZDk(t-jV | |
zHa#u65+Qy+2cW$Nc*>AS2~>uROH#vp+V)>}R|_i4KgSe>_elVrGeBT9DT2hqT^j!T | |
zwbSU5s69k^CugIs^aL^ncmQyoMAT?bn&9tvtF%<ram1}KzgZ;!x}YQ7=YeAZwD0a^ | |
zY#n9=r?@u6^YgM1!{#iUbiGy(AX#=S{gBha;Sv7M;FpprS9o)L3@R0I|1sWf8MFkx | |
z5Y##{730Qx+uR8wvLl+QHH~2(EyZ&kymxi^{=M|3JDLk!H~aGV*b~pxBf&r@%i6;< | |
zxoG`{Vt1tNufDhKF%@{?sQiD`kLvHhV+rP#??*+vno``eQweMp;}3)6MK0{T)S1}! | |
z`0b5V_2Qq$=l&DmQ~-K3PxUM|`vKd|)!7TQ<#e00yaDC5-2$Q4Mnw3}kDXzKb`W6r | |
z&JsH78<}@n7Xq@^^gTNG_;=2htB%z!a4;|RGMp)RcjwlP!aHpcU_VV~=&R27oTudu | |
zgM{bTj~n}GxtlN2zirN#IJw{R&e_{mqZ;nDn6gtDdHFWEeY`5EVZ`f*_q6q!^6h&$ | |
z*2T3NOPen>=B;IYFHls98y=--SLzw_zjYVlce<M)_vzHj<U76tf-i3i$JW+giIuuG | |
z^p=V8<s%?$^){V=TF>@9K~IHe{8^RX)JhBwX0={EaVeH?p{06r;Ylj=6IDi#m#Buy | |
za`Kf-a?z1K|6f8lb1hwTq0}_!)|V*ZOSI_^o}1RIaz8%0u@KJvGsavPKUvCKHvdK5 | |
z{aq<<h-hTSd)EF{oXEkE(_t5Dq9zKCXlG<hcOwl0%OY`=_C(kseT~XBov`Q@XU6&o | |
zfS2`JR1o&q%A^Jn0dD&Ijx@D|#KGJGbsI=Cmy2a<wm@w)yCne5@KN1|g?jOgycIp} | |
zIg##Gt8T{Fp<A1)av4vfA85l#m0MbHQc>ZSlY!YY)ArF5hSvK}M#q#c)xAmbaBd8A | |
zb7k?;(tn?!cB!8O=tFX5eEbr!u<KFn_(70R?VB~5wSATntUELHJ3$7nD_HS1zSS1c | |
zgQCCFX&_0pbi-l+@b-<!pL65FXI}!7Mt!UoqE-*~YSc$wDGg<@>||tiK(jiL{0u+N | |
zX0<qu;b5R6Z@=sPa6IhjxU|7O`@Io9|1!lqiv0kGfbvmDQHzc$vo@3qvhmL7U*KZ! | |
z7VXrwpc^mgfQ~Pt%?cGos<nqnB$1y8puCb<PLXko`Atn3?ZWFKni&Sym))XAsP4M+ | |
zF+XmMrqPbViz#2yzE@g)+u3qZbkRaX@vNcuifq!n1H0&>D|eu!1~b3|?NjtmnUa$n | |
zcuIK}UY&h@`HH~k!$xyj4Q8sd5nWe<ar$wn5LI21G>wagk?f+1%z}40tga6rI=E|m | |
zRJdL4KDpZ!z2|B~t8w9v^t7W^rB{REEVtMHtp3{Ht0#ALzlGhtNWK`?!N85DOSfvi | |
z6rUXv%nu6R$YI~VaW0uJY5$c^jeGM8#mr%^w6~&=ec1BDhqf`HR)54($#goXb2&Vx | |
z1G(hvbO6HN`L<#_D_MDxGg(ElB9=rTe4Pk}gOc-?Zl}SQoi?WMPwwrW@NLomxOLgz | |
zouTSSDes5P!5W+q#Cg!6dvAH%Lt%^SnYHZT{iF<UrOr!VqT?Tv<C>eG(4qR*h`DpG | |
z;-%MH4ji}Mb^bjp@<33v>GU7;7Hyn)koopcJv3mAmY1HVe22MmXrQYZt*`$>F?!f8 | |
z(hSO|)+q!k-U%+e&dc`srF^$elC@euY~056-O^It%-ZsU=@QSPxM$~2^e?<fa|`Ex | |
z%2%h7y!irBciV2yiKyip=y{HIoA=WMMlqxHp?bMyCwTtgSz0MAAo=4-*Qb4qm&MG9 | |
z-6YI|c(VkQbJ1TuBoEFpQV;=ZWQ;enp5*jkGJQ95=s6FDCi**a!UsCo%c`Z=zy-U( | |
zX#a0#8|?0%@pxC|7o9IU@|j_Un+AnLE^)$H;L$34X|`A{EwgOC<cmZR#AjyVL2d?l | |
zM#J#}p27O?0v_F`TI^J=V<3J8C7}a(1p%gqXX_w*+=oG}%rSHU(l3GXD_Qc-J}BRl | |
zb7!u^;W_h}CDGj6&$Wy1Z;5}4crmI&+wve3;h4f7RAJNWjs|HUvM*so2J%aCaHHu} | |
zTKmW)Pz?@NEE<jQCdJ3z4^@IzGwxW8AB-sucOnC7Ni|zACOV2@VCF342c_3B9E0b% | |
zRcL%!7tX42)Z@DA!)Y9RHn|E25^_SSH>2)uiHG{U`Xe)e1vPXcrt~H5af<uZM{;Gh | |
z<Yd-+;M|jSx<J-N=Es*O8)l9!Lq4%taj9H1EQQTi_PAs}h)v0#Ykp%fHa2?3AdHj< | |
zt2RimSy7*kv&e9y$ffv^7d#@h`|_YvQ;D=yPZ~hfR97p7LFags)_LuT(0OBEbHb5` | |
zh&&?$$#ks+5^po$isuqP_*@)Z#8sSC!B?TwdoT4?;cB*!vUNalsYl@qfcItXCSKy0 | |
zKWO}*c_e!O5jt`Isrz*;h!aGuQp+HGt#7|8r4!2afan!PQ&sv)okq6uWN3<{ugPky | |
z{89M6_|}pM*8yXo;whf;CvO8(^XNXO+3F@eKP_ED*sln!J{J-{x6bq>pnfAu?@~Ti | |
zA8OiNEQBh$T-BTR?o3X^{3ZyAgW5s2P{n|GLCu~MOM@G=#r?RYyT_$abC_=BxANBg | |
z8q!xw6(x5g;>?NDBtn!+RH^$`$5$v(W^KDsw@KCVOxdRBJkZys=4s%=rx>w$aeva! | |
z2(TlHxSct;Opa>v7_qc2FZPL8YI>M`wf*;F78Rg^F7Vmg&YVls!V1%aN#Y_uqP1_H | |
zHGbFPXBq7s^U?T;_QL58b!am#)^sM@>mS=VX!wPP`or#8tCJrvtQDR^*Y6KHK9M(Z | |
zMc|R8Mt9&Nn3kxkBLj1u$hkR*s%-cW%`s}n6^36?RBgML<)(BEbL-K2deJ1$<5^d& | |
z8l~Q|_ZT}lS+u)%ZofgET8*M5&sFu$FV&t3#P)NMKi9=&H&e6rThS!5*mUQTqilX< | |
z+I;!8p4)LZ$Vk~@&&qf9xakKYoBgY!{;(HcJZIkq7ik#t5;3GKb(+9a^!XBIyrnYe | |
zdL1bX|7P?YqC3m&V(qCgDhabBa)CUdI}KZrI}=8ZTRXrzyr;T9RL!aAqeUU@#)rFK | |
zgde?E-|b{`ireaXaU2Xi39ge<#_0z1C*0-zvkgNGzx7i8_j)m`Nd%H5T6rESu3sX0 | |
zhR*VIvXD)8&L6?cOLRA=DhuZdI#bZ>Co8T!y5@58zgO02mRF*%s}`nTxD)@8K76IQ | |
z>)Ym9Heo@E^Bb9LCT5vuXBE2@gWlSCSd#P9{O6kf&%#>ky-btA#ik+fJUxZRH<-~c | |
z+^VOy6H=+c$I3iFLtf->m-2R(t_zw9GjSR?Fi~DfzvOY=sMU*Om@(vTP;cOmEXw0Y | |
zJ*XPwyqt3nWfe2*q+Ot1?s!(>0gFaoiSLitj4{Z5Dsua1#tOO99;@|j+d2j1`r{7I | |
zjYs_Fqby#Ac3mj&`;qR_`*p4f|GLXWW}6~DZ3I<~Z1OE1Th}f1(LF8z0sFfOFQ?BX | |
zIP#H*HwRJIy-X@BhLr^$R%$F!#Mr*zh+||gas{+}J4fLn{-pg)sTaMAkup0!iK~NJ | |
z+X)=*ZpV+I2akmjOQE;xAIlOJQy4G4JZ?l1jo0J5FDTm?K;=)F_@b)jlsPcbalVo1 | |
za5m<zj^~KJBx=F*bmvyOxx(C`ooYPCT(Xsaby;OC6<H`*H^cHZV$@ss0s-w2HD~kq | |
zrVd0ovGIIN_UZG9mwTsI`w~5o`1xavV!HdN4+pV3icHhBzMDvSUE|<cD*t68<n|!G | |
zHxbU}?`nQr@L28}zE42@`;14bL%T47iskvi98<jGo%eqzJS3#9S4?`;@_MP@nfJ2? | |
zZe@DJoVk&+ItGvs<v9!R&K=6fExm6N)F6=wYEoR!BmVqa;`v;qNbX;XT(T?~*(-7C | |
z!(O21lII+;rn0X2w{)e`C^4CCznUR$)V84E)TU}&DzA#u%iH-G9>zQpB8i>8mdJel | |
zk7kN<X!bpL$!|q@W4u6Cko|!*iSOC|DvswO4JIEvVdjj8neG3Yb0#bN(zVw=>`ij4 | |
z&x@f}CY%`YVE$B&%>fCgOaq~;+N$Zb_+vrwz3l=3RWrv=&a9q$ofH4_F??MP4X`@^ | |
z0-%kaIVp?QS4iT~hNkQuFX}|KD<xV<((hqdh)tu%G_Vq@wR1G%1hV{gX^%-q+IuYY | |
zXdj~h-ztHheJMkt@1nlAbzLlCA`0M%yx(9{f54h7E1l_k43FY;fX02!<!6umt`f4v | |
zf;f4E0?hY<Q3*zlQ|X@b`tYYxbH+rlKX!GFr+WIybxpV27UG+D3Pv0sd+gV@=(};Z | |
z*!EhEr|n8MI55M(^`-XTkBHDcdhjm~$n<D^am{=^eC6}%?M4ziwDr?mAsC`iGvf&N | |
zv`Y8RyAn}#BVtwPZDmN3o&;Iw87zzOFzVoEmv{w*tvrIu-G6#CchD$nFp&!W7AOTB | |
z4DS>>$?45J6rhgQz3(w?lfQ!)0wGJ)45l!j6C1wZyC2JE>%AqQt0qn7zUF7#acQ{D | |
z7WEdWd_AVhEx@1a08=5WMP91RN0qN9i555o8038JeDGMKuud0RNNjZ=Z^yT4wtK#8 | |
z4?wO7-N;*Q-2v2B<Edr=k%Y*gUmBv^$ve3tlVuy+IVz#u=VSjaf7x=B>fq{nY1WlD | |
zeb*wcoFDx*4y~F7ThcQ>l7224-`=d^T{e2R5Q<5ozJw0z*9N@!C|D%N`XZa@W{)l# | |
zQWEV80CekzmM#!UELrp<*jQXBGqIdJKX@iwra^8V&7|IDC?DK}`&elSy>h4qdIVrM | |
zF47p7l@-8O6H<$x*`LjtG<7vOMgqiiM+EU0?Fe7J;;lMY1jlR^63p6+ROo-@#`#_F | |
zhzT4o^eR6ZJ3V1Z)UOgffOfY8yLC08embHXkAI9`eIsWRWPFjFOgj<2Qy-?mO3?Ql | |
zwqx9!$3}YA&pG@+3n%JQS*7{=c&@}e{zj->o}X_#ssf7qg%QSjtg=hzZ*>*YNt%`6 | |
zNOOy)c7M<-5TsN+Zy{>eSmu;Dafs*cb5HtmC7ueqh(_akAE`oiq}SbsW*urAM+YRg | |
zN}4vm#R;w!^5T-*1kwaA($G2wwOoB26)9KI=6a=!pXl_x{Tx(U_&#vj&`fmh!~6LC | |
zG*@|niyTA!?xxhh(A<9ATt0}n!FZ994cH6((ok?5H)dKuKnzIEc%c2PcEF`j;ugH7 | |
zVYT?R#74$`+PWL`Fb=WV1T>;O^BaM?#oKmZe98{0i`{C(h#Jsy5qlW=@U-ZmZHBp| | |
z-34IWZEMYL6H(LJ>}q<iERV$ELogyX(iXoAE-aF*dRKR!v}S}ysDafKil6rhsu>8w | |
zgFzQ#8&J5u-Ts=R#Du3^3iv|)UT#&tCsp<BI`r1dpn0{<`@V554YAfM@gLq>emxzY | |
z+To(B<g8S1De<&#!C-`X;GM79LrPTN-&=)2{q?kAGS959XEJwlP|WPSK|bxK45Z1W | |
z`r$R3dWb+B8NttS)@EJVH|N9~95Vs$=mIgBz{!(VI?R*P>g>w^TxMt6A5CE(pHZn% | |
z<TfzFiGE@Z3)+|l#&k44>t8rROU^pC?X0C*w4Qo&br(PbB=lUEDd7gO1rrJ*Rr>yH | |
z<IvNSeOnZ8`;llm@Vf0PKgX^UcBI)A{XQe;j9wQYhncGQdil7!oP=kHL?|=GfSsb` | |
zsw=>zD5I|L%)1~yyb{;ZaU&XXFQIS~I%#4N)RJh?x&UL`p2wDWGT@N=b-o_3&%rI} | |
zp8n5|Bb@w9Ow5B?^d9`~=)_2*JCo{dh8I^ip<x;)cMQuHZ-JqXb%)hE$58ZfEBr{h | |
zKCBEH9JhPT&}{dap;<GJ5wF@VliD_5nW|G%Yji}2ZoKvp$N3{;zpes42djh2%Ys)g | |
z(hRTgtWUW6@hv9%ZjYoN8v624kVYig?75beJ{ND1x@t|FTd;HH9Pn5in44JqbNwN` | |
z<uc$Zu2!C^@!6g~mRH}zJvZV0WOY>Zfp(Oih38%ei{~#EBggNnl|&$MaykA&@@~v> | |
zCgq##O%w5$XaWK+*X0QuL;(f$w@Vw!XZ-dDsP>=aEzS45zSe%jV4MWI)=nJCM?jMV | |
zm561)Q#{^@*oJ%ZOYFmwNdg+?6Vvb#=*#h_-$MIwKpSia5^;F_3tnFzQRn8&6p*{$ | |
zyOKjdl9cPzUqc#l1nZFK-eT`;04~dRU2#n*3YrD8=QTVJw&~6D_?|u~|I%V5f{<Q< | |
zVtwH~<?o?=NVw|iXmAH5cTBgz=xo?w;<>S5&O?|6YZClCAOo_os){92gnl!|#i|R4 | |
zc(v>cq}rE%+FVtHV5Fe?QWp(Fg*}SsH!NJHwEV@rr_@a!O!=f1kCW)MyjoWdOF?cf | |
z#KTDz65<35PTMZu5{@;Gl(ux~!K{XAPv~gM*X@G4w!Xw_Vq6%oTAKVI++Nf;qqqNI | |
zA$U(V24<gjUwZG$#qsrz>IoVgcieqR^roWN{*8P%JH<A-318Bq{h0k;3|Qfw))*j% | |
z_8zjBDi0HYlj~XW9-4_=i;YrG^Mq^)$MQtV-e3{w*!Xt4G)2}uF<;Xn8Ml)0)%VU* | |
zTOie`?v2ZC3oV?<uv0!pj+LLq)GcfMDHq!dO-&h8We<6c6<8f%fm1tyq<5Ps1!|ti | |
zJ0BN<0o(GhxIh$5eV;H~L;i3>%SO_(G+K6E#M{1xeMf7rXxY0v@PUb%UY&zUQnT=L | |
zmJ`sgOiK03v1cFycBVOE%2;PE#P7UscD=jM{`y}`n(U`mriT2h6McI=s`G0>aijd} | |
zFsQ$oRsYzEJ_2{Ra=FwC`;g-qxv{Hn$$Ko9PAia6J8W4&kM$BZ&8PQftO=j+udsCp | |
z$}Wge!vx?|NBC^0gEv=aT>63w0Vcl%%GgxL`ko)^jbO}=L{<Bm8lNZ0%)W*WBYh&K | |
z&?pees|pD@o)f^llb`ZMHwvUWR^Rk@hHW?O560?f$yMEgQRCK9oiI&-IH!vEgLHj_ | |
zt;<Ld3!krK$oTrC)GU{S$FM~(;-^{pR9>p4DK=DJV^DVMPBCcnXpsp>#VgJ(fRCh- | |
zuanO*501E%8(;tdkg3DjwvS>GC#m?O;yf&&N`P|u*T;G8vTrDLY91p>qNYi)Fv6Fv | |
zONZ5M1ao62-bsNI=p>@)cCFAB_@tJl6mj#;lH(3`-RtWzxP5Rdek<Rn{EOqH6Yvx0 | |
zYlyHT$%RlZW<}mjj^=aNJN|iy(_sTRQn`o2^v&8CRZ`+C)N%oK$izGjT~Kk9a-G_* | |
znkci`-^i~X#3?h809`}&l~#e2B~*R)ZWaA({-UOqP-y~{wQcko{6P|s`QV$({xF6R | |
zdQZ^P?DUka!SHBUaxcv#?YlEX*Ybte$#-{q0*`xmTfer_ub$s}(M^8j<}?OO7&#rL | |
zZbd=H_!$iNhkpT|wEVK?t<i8~lQ7Veo2V(O_>PulR^jv(<%d_pOn$qRkNB<9-K+7- | |
z=L9w^QynE++O9+~L4F0=;#UMf-sL@k4&tY!a9+_-tJ!iJpTx~h$;3U1>P;%zHd%Os | |
z72;U=yhJ_-rZ2n?Uwxjk8SKXt-xG29STwPRO01pIt}>Y2E5SD>;<@1$1t;$<BVAff | |
z*}GEGLb1VS4Ryhl7!Jv>yN3Qfm>xYNhup(f<+}nDzt#^%L2X5M&vCX6RHrs0;+;k; | |
zZYNtu>!0Sw(A#}BG&CeZA&Ii8J$osW*W(VCTt8`~6@Xfd92z6m7BwlmW0FsJnJ`P| | |
z56jy~7Ir=KO~*c~rgwWT(%eYYzwjcG1kICO>B229GTBT4y9(_4z+ML^!@hivzr<?R | |
zK;Q7qYwx~f@u{}vzCFj}1MRvo?~Nb1!cp?Zf(m*98VRptRg<G5Q9~FxY!6`NqVMx7 | |
z9>O*&0O^u{@0Y_l22g3RW(rBps*e6(+J7vMnO3^<!vb5r8td?5#n=S;6S^h=69e^J | |
z-IlIvb@|Te5UIwphd`2OYngsFg9I|-Sd#ND*A<;fn)O<C8smr+$gnD(f*i}81v0*$ | |
zx}=8xx>Av@VZ2y-SZyT0qJC9u=VPQ)BX-~#U?sbJH7`=}QcuQ^Z$<(|tfuVPm-0a2 | |
z(4B}awDHl9hb6nJdH)MNx?7T|41(DO9iYcNJSuXd86_89*oPq=DwvBiCkfgTMIQ6y | |
z%%Vel>YqIOJ`Y67kMc7lWK?OT$f{nXwZUYPvkCt_TTvI{#5}P)tXha9eeLRM?Zrd4 | |
z_{`Vq_JsY54kf3}x$f#oELn(iy}qW?<K4}#p+sdB53+u}6r%Hu;{0gRlR;%kyAhB8 | |
zgF@Z6Q>+)y^og1|i{Q0l&a~S(?y>Dgfm5-f&6jBs6dh!95wBW3$WzB#PJE9o<?Q{P | |
zlV9utC+^p~&?_v9Q2zl?;dR8dic5$FQsU9VE${8R_5F5IZ_k|P+`YP8^3cc{(POjc | |
zX3~~yle~u=4wmPYA|35AaGrGRhYw|NGckia0Y;^_-&;>@?Dk18;;aZxaAI|jeiLTA | |
zN3usiPqTe_mxpn(+`M&h6o#vmFC&rX6Rr7BTF6bA-W#c3y+7A99SYqFB(!mo%H&m- | |
zv$k?E^x_sLHQc?Qdke6t*rVnTisL{+&y%yb<_{E%#s!}9*iR`#M^Ur>m^rj*W-Oh) | |
zv46)3=Z`ifKf-oCNXNI5a`_{;3YyO}tAn${1d8q5aKBGHkQh6n!SY>2+~pyLfe*5K | |
z&LOY^59LMf$K)>EQkL&tj+EKfCxwyLZ+MH&8n|11k-eM43|)<7Mx^kd^W_{Sdj#Z3 | |
zpLzs9*iWDQB9!$&4N%NAn<1g<pGtj!!2>Wrwr1;1BC(w~^Py#Ir3OJnS+w2V+v~TI | |
zcXc7USKnB@W_W(Lm8IbsYH{oT5O>ybQGeaO7b#IfX%&VB0g(`C7(zOwLl_z<>5idO | |
zx<MKQM7jil0qKzL?rzC}neWBl@Ao{%^W1apIrqGt=iYz6v-VnR@9+A4_uey~d2i*E | |
z_DZ8(=)Ob>>?*=$M<&|FbM>imM!~Ka9leP9oROV`_RY5qZ8=go`L%S{sMXm8XRBTU | |
z<E%>QQ|eHvlgmDaoAm%@B5#^F>O;>>{x3rK9;Ys3b#tCo=QP!rJHXRWgmv9wX+txf | |
zgY69#he332{gr8&BJ$^)Lk(2VYka&x6s3V2>4`arI=>rQd2+}8i|N;+?}rv%CQ%`C | |
zF73dex2YE<7O-IhNbIwl+isW*jwOH>uLkNE`1i{FFMc2{7Qt8D1T06sM69rAB6ODp | |
zyUn%L%*(GyXZ=+|#cHvF;`9`VElKfaDUJOsz(C+Uifr}g0KekTR@c{n8Df|l5bZr( | |
zXNA_^BT*L?zG(1=6ijO?*ehr?A4k}z0*bL;$5vUBXdZu~JbA?6kMf8-^;gA@U%I#m | |
zt|s%WoNZFDcLpSYP{j=c<>@x5(s<tjbLxIUJBa}$$PiUapjBuD4#T7Q!p6f?!o;Jk | |
z{@5of4)Z+^VK*1j-j(bsL6X+`2FEGw`~qsbqzOItMtiuAy$eC|gd0n=DrFz@V9I~@ | |
zl3tGUmSl~MHOnq;e0RQ)JJNq2X#PxD!lndb#>OwJ81mC0cdvNV+E5BuH+*ja^{z8x | |
zjl!WL1naG0pcm)!F5n1m3tzgvufEWf=U0(}E6!I$4`uT*kCGIl>6T$5pFxh%EP{*2 | |
z!%>Ntb@t}$^mvz9H)qv*IvS)Q;O<4_`Kt0cF+Wc3hDE{ibU6jSZR4gG@p@<XIfaG* | |
z!0zO8ivqu(0t44&i?1g|)oNs%Wm(gJL+nMj%8dAlQUqk5#q8C?uZzfJN-fSSOSknq | |
zsXFhQI@Hyq^txc1^BH&}1{?upc1uaN8^;rMQ)q1m9&1Dxa?cLUzX3!iGIvgR5g$g! | |
z8Qu>-z4Ha9TDg(SH7IhuSubq(I=xZA7jwWV9CAF$oLn<<yHYec3FrcQpVZbh{aDAO | |
z@C>QV-ZNO*j}qWih%MVh30_eX(&2S$Y?QFK>K0SerZ%<2f4(XybS~?fabvI$pZN?H | |
zW|R|x04n=lxBxD5=FHfMpeEJb`W||`jJX$a${VdW^NeKy0?H6rIWpAVTO33?UC>OA | |
zm+np(^VZ0lx~xMO6ZrKFmYTTE7dF@H*~J5-(>CApv23?-E6#-UXXCZe0)s-k{aNX9 | |
z<zGPS5=~%60(yY~-lxp(iF+!6AFA!}wB{4)y<-Ob4*!m0O9;SMHJsyhB@39C5L3A1 | |
zC#SzC8)8F(fvW`dV8;mY#nxSv?!)A2_Z3+PJhqOA9!oiY9FP9pbBS<cvc1D&Go1sb | |
zvdpzM>hDN^-mOFm?@=a885iXb(=?rQhbNp7`3^?Merht$a?gp(t8h%50<G|i+{%9_ | |
z2%Qm18=4<$KeRHUaG@~tBjP-Qt+&-VvbRP<cb<Fv^sS;AHDxTxO{|PBEHoMt(cNNV | |
zO*J_u6f|c18Lr*CB%F>Wf~C;~o+an~f(KLt{eZqlw;U!VkK1~@k`slV{@IZ4)d0q4 | |
z4zGOk{jxWeQ<^Q*15|I*R$1NI=916`>ou#Y5y$uMLcryd1jZvvRyS?Es8=yE#YvVk | |
zW!4amq@AeB(t)!&$ZT`oI4tarD5vZ-ScWfYX3?8zNXU$QFuOu+txGG}Bi3)bV7us5 | |
zcE0mFEAVj$+D1m6J{-&4LjGM5`IA}2x6+9{dgz*3K1ApZpYJd~P)I;LSW7_DHBg%N | |
z7oQM6Kj7@~z(7q=&7qcVRSo*S5UVHMf^*&_bbh?VDa<n3u0gt2<)UYB<hKci*lgIX | |
zdbdB4RCs|r?l?K{a(%#Xx#?fxc|P<2e+(`hl{Ul;a?0BQUuHwAg73x{6kU7<xzdT) | |
zn9`9`lwRsDt2(705FPbF5F=H{{sM3=p7`Y}l|{Y~bi!f>;OAR6(hAJl+4adKATgNf | |
zjOq+_rhc8zN$)mWalTY<Orx`ZN3!;N*61WChsCk)h292U{q06W5W9V;1<I$i`%^$m | |
zp3RZWeQWnsgw>P69g4m@)LqzWF2zfc^!Fz&^?hVZ6tMOj#KnxIjg6z+TQ+A+K|hmS | |
zB+@HIJSyC2X1(Z}g;s4W-SMTGJAk^DsnqBZHIDhTk9GGM^NrDXC=SMffxcbys*B6# | |
zsDhqm+;=dV{7f8jOpt4IEspma$;Xj`=b9yLL9!#p@(EjSubhwsC(YO6u&>&$z8oSk | |
z_X<qz0-ZFA$-Sy{Aft}s`)-OLq}`m?<bB;M-zLgx`Mev~u8b}%K7%3o@-YbBuiMA* | |
zlD*|V>M8h(RACh4X64Cv>tH?ymEUR$v~p7B{3f_DSVGRFJ3H8-o~=H3)w-)$-sr<P | |
znivv7<?*-$K<T)TYR*tJ8Eo9RBFsnZ1|V>UZXnN#tzAE+?|dM_9#%g)82k2pt(=?e | |
zlbgPr_Z2fFW6s}>s>@z0!ar0v5+=)9!?&97uziVe+9T)i4ndf+moT<Q2TVhvsq{v5 | |
zO^XdtE%*wpCtD01QEe1UJ$PG)TSenZ8D9tm{Xb%MStpV*#S+R{^9~8@Xe%<GEe@7k | |
zNuq^ClgNP$1#5!z6j_i>`sb_Mw2X$@Y+kz=+G1q|=p<0N`&*V+$+RsNs3+TMf!?P< | |
zbmDRkKG`g)SZ<wFFRhdfo1Z1IRi8^jj!N~HhYlVoUS`-ky~eU#kzFyD6UfO+C~R9b | |
z9;k{<b?cRVyu@)>7#Mn-A3-0%@Mcj5=@l!?aNo)VMT6urptWfWN`D6P=+Jeqio&b~ | |
zE~6Uz7eo^ci*C1>x4ZVng^*PgV$5nVayV*_#96uw@3p9%5fGNtM{jPHvCWKiWJ!PK | |
z`n84ipnO&dlvmO3NuyP%h-kjvFSv5R^G|nnw>nAeRl%?6=xJ9$3j5rYKLR0pxMvc) | |
zuXPqPJXO_|kJRqRqvKWV5y7MDyFscoR@w@Tx$$^_ro>RO_i=bnm!n&a^^pXiouw)v | |
z5dYm7>w@j!mCo(V(LTGNp%_%8VTgx1ZU1)k%U4WhZ2E?enclBVPwrqh80SWCMvhri | |
z9fny78h_tV!<@3j7|YIZedc*RyC77*7uLrK;g^@k6<X708DusIM8WHKY~C3^FW+>N | |
zN=XUcQ_o!aLCA|_k{(}S#=^A6LyhS=4(0<nUmEOCcngI`+*==#$II`JK28Yu!8NOT | |
zrRa5{G8}05aRETN!B0OgeF#pDzY~S?3{iMfHI`LA4rN4!Jf>%~njj(i4g;~Lgcmqg | |
z4VnRnsy?qf%DT}2!&(hC$SjivRvZ4_p-87UooR3wZ6h-cWC*$4^-8#z_&c>Qv-3E{ | |
zqMzYY?C~czu3Y+)0ifn};#3MQPI17aSq{zJ>lMRKAhDVcBTnd4F%yF9)v!;^Yo|{i | |
zf*pyoj=hcEdS3Jr4yMPhjGAKZk8iMCCwkN<a~#fDA=YI}m6>zOX9UB_Ti%sFl<}}* | |
z<Ia!WO6DfdMY1!BQe+i%w+hJk5J2$jxQ|0()pK45(p}3~Y>fG$DtJowkJZq~XotF6 | |
zUrB;R_)pjdcL$&+uP+$+e!wvDaB*{KPin@IH4j$fs@1swVw6zXaOfUcyGreF_JKz9 | |
zIos`K<=p-5fqbmB^i<W%<)qXHwBR@RPP<S>33fd-)#q<(bRW+a1~%Q6@H)XjP6q37 | |
z66_|sw`d{z^L@$on(1edJj_u7+BZ~#(-9$6tujh6AUQ=g2Oyd72<xug6IDQ|I^$c0 | |
z{svM**-7nUF7yr_{?{V#ThN?sp}fJp<#>UqSqV!?3a|K?;{XlZBM>+dprM$1eL{5? | |
zkL!{SbZDl63;kNurLeDKQxjq6$!@S)Qm5=WwH$0oRUV9T(kfvmuw(cJwB55!^7^tU | |
zDjA6mOsY%j|K#QWL=T*>0xKq6Ak1eBT<a>0Ke!qUmbjD^tf(&@q_DLlJyhysS@*Tv | |
zYQeYJ(jvaxyzejQ9H)VA=o@gA+8Eh7HD6^IXj<Qf3pJ>Sd+KPVDFvu=CED$-w36c0 | |
zU&^2_6q#LfAiF8zcz1MeerCTfYtk!1R!i}?fmmxpLr*CqJj;91H?kQ!6{pZ|w>tn@ | |
z<mU#amVvY9t5m^cIb2DIHI748m+tE$9-f#J2>c9(h={=|2n%wVgO2<D?Nw}2<7>B% | |
zK{qNrU;Uf60$J?=;N0fC&y7`(00Z7IIc<Tn5y<8Ki>uP=&((`wU&a>w{iD|eFH<<) | |
zpmt|Y)^w{!Bv_=crmJQ5IjpIN9(zdW@{BzAfS*#}CI>GUC|_(pHj86Ysq8gUtP#9) | |
z!Za&DA-7wL*#YjP8^1)~b#Fx{L6i0G#)OkJ57A>Qv6Qk+k(C(`o^eVH1`3$*(|Y%+ | |
zWaJ1P$>2o760oQ*1;{32c7)-R&F3|rq3}{g9cCmm$!MkcRqH95v}(6QBF&0bIlk(z | |
zYWdOtt-Y3cOT6=|GR6@kkISe>9VQ7lfhV!lFL=NHn_=~(rBvA0wXDd$S5`T4C8~^O | |
zs`suNI#mf%xdwsN%h#$U&kkgE`0`$i3|7LcoPTw`p8mIJuyZqmYANx0`+SM^X??mv | |
zDZEb%@6INp3GI4BB39r9epW;=0<X8IXz3&Ajd*609G(kaTTQ7fQ%T@aji#ItNL+h# | |
zK{F_$Cm)Wi`KqJ{bgwtL+~AG#_IBQ^qTJ<%em$O`dFp<W+5738=hB+;BFf8o&cptf | |
zgRz76gcN_amnBWzdl<|@q{qptuz*J)vpW!bB1W+m&>E*(!?YhIh^<5+l=sr^-2Ax9 | |
z)VpzeJ>xz@hOJ-ULE|V$HAT;S94J@Kl${RVQ{=m%Wqp9y1!3TmSj}lrP`Cou^I&el | |
zHL<z(<z+XM+rh2^(ZCWWIGOAsa`i?KF5h;&>h}G152G(4X4<_P9NWdeR^_JI8}W5n | |
z@Fam;QQm`8|2w7G>>+St*s|cdMbOsw0@lCUQbs#<eXa>dQq}ZaX)%6Xreyd7M73MC | |
z`SD@z`3Asz63zqCyW&+G!}20ad%4o$FLXWpYEsWq;ZrD3Gx;{Hw^0gQ(c{UoY+M;A | |
z$CO>BkB6EVh&RY(5dFN!_`7hFB7y3+K4TT@AbF}1a9{D86Ez&N!Gu9K(V*tU{p;g` | |
z@X36vmsVsvjsliZf}AkKML09Im3Tk;<^=<`9z(Il5(NRqDfE20_H$05gQJ94i~+X( | |
zI1bW)A|x9L>w9rN)3=LUcS`NMU9WSTg^m*)>(_o0P!l?1T*ZUnKNfh$llSoxBDg>I | |
zxfwqQS~D2LUcaohwg}g5wzlQPe(*OIz!phu{F=p&DEKBk{)}w3(yJI6*&$s0No61h | |
z3D#xDv{;`6-yElM?K}3my@kr*F8vHW*Y=ag-`XTPJ418R#qSa*g{eJsavZ}fK@t;$ | |
z4m%p`V7{2CJLb0D`=k<t<UW!Sz5ne=#3n~+%&F4Jq7rlEbcZQtChrRPz57-i<`nEs | |
zrdoUxc2Jb+?wKZ3p#ONI%)5J-L-uBo<|%yGw0^E}wWaqi(jt@y?YISXBeF7^a)ivi | |
zJA3A<VsymGQOhaRcw9v23({rL>0+(uM1kM?N0)>(&mJ>Y<@Y6NMf~^GE~lKHl3EPd | |
z(I0?la~{VwUN>9e$2Rp>#ILSzHevc_guI|<XZH|?A6^a&@foe7MIJ&AJxp2MY%e_2 | |
z@<wI#Zt%x#z8cez>=qoigFN_LoAN$9qfZ)M^$lXi#`S1>I@dK+uyzFEqxU-66^P7@ | |
z64F+GZzbr~m$n$Y8`;0!VvNh+T`mj8<}r8(k>+tPTBCAXNwT}9N#}?rH0#+xJ4auO | |
zd3B@&YW}{|5)=GV8bRY$5_r|LN`5$W+s3DIf$Aw)&c{Kw0f(`J!*vlM&}kH=(wcud | |
z-0tH;dZ@RZQ$1!-Gn}e6<mUy9H4P*~uO1}c48drgY0(r^1T}Wy!p*)BUq29L1WLcD | |
zb72R7w}H(29;92$Sk#MFquCnxv0X#Jk<8s*LNH7U;JykF(KBed0G3Ifew^saE(5p2 | |
zBdt6`Jrx9o>AxQFc7NkBNW3xnU?kTH3~Ath(lI#7A!+Q^ot20hXU1CjcxEexQlXIi | |
zwkYbUH)5Ai<0_z7?#{~PSb@-bWhSt<nP}Hb=8;`44|`q=o!bq8{$Oi|T<vhGzUTIh | |
z1>Ta1$gt367jg>7B67hriMi_%+u3X2VtFTpqCi^J?HKPF?9Ndt272<rxtmb$xqy^p | |
zb1#rQrWif>E1COLtMo%3EDDA>0TyI7-n~7FA_&&weS_V1H+J^I8bn(X!CdCHrzx6l | |
z(cb-A8v2cM<>L95Hk2ik?!;qIuP)dX#UAB|_@{m02em+tB6@ZoS~pu_PWu}v8KZ(v | |
zS*g{^3|#L}^Q;+V$O7{?oh|NvmS%P`^yd<u`DOHMi~;L=@x8uL8Pq)+AODU1Dnc}C | |
zpK2EI(A?<wP6c_9SLUj#2yd_Cm|zBh_7z!_=Oo_qUWXown~N1)VleX9xSJ@P_2_fR | |
z;#pY+U5j<y{3kbqZMb<s`lsm*$RG@{f7otCZ{t3icDjt?wv7=Sdx2T3f!|xn5GktM | |
zQ<KalMU<UNH~>2tFO!*GpM0ZbQRYOf<B1;&a|XaCK2J1o^b^pXFhR!GJabN)y6~1j | |
zdm}%zGRP5+th2u)BD-zpKG{*!AiM|?1F=QAs6~#N4GM@^8$?0h8kEZ|NSX=RBtb6s | |
z%TqnCWKZaPj0Z!BCn)fSxEEagQ>zvL`eH%-DDvwfp3}2R^PKLC^HW`U`pvizf0~o8 | |
z%iP=}s*FEf*-rF3^D_K>bzKr54s?f2=L?qhxdOH;RS~X7jmtrca^)2(lE~HEIC;>G | |
zezAZ1&djN-ke;-D)1}P!6mu7^?!jnQ$*q{13?|6?EJ1oyTYXVW8aD`qy)|q7QQM7a | |
z%32FXc(hIBv47M3WC5QK2s}431_IJ|%<X_<%JW`H`+oNa9mNlxqc(rn?~0$eC^|t$ | |
z5h`4%iWL|@eDsVEg;RjqZJPFp!yMjLz3%G~#CBfv;vPi<+yX^1*fg7O3|R@(gNMjM | |
zk9kGUp}YJlaC6y-<yV!CnO+Yw#pa086l6S)YygCH<|AXN>7jsDs^CV2GuC^zGfgw7 | |
zXrQiLktt{d{Sxi!HQfsE&U1K;&wJR|!v5O2PB9~C=FudTg7(Tx8^?a_?4tZZ!|sa` | |
zZu*RKsbUGPSu2Oxr!<$0etO+~N+e|aQu2=nZtHOj=e~&k-T$~A8Mg;(D_@`G$4UpJ | |
z`dKJ*KST4yimuInW=9x1GF8M_NMAA*iZgS^Tqg`)l8P}R{nltiCVeUk=l`Km$rtZO | |
zD9qR+OsH~{Q!p=jS(Cfja%nvGr3H=dswm0JSf`i|VMxs?$KPHu-y0)TjZ@!g$M}b5 | |
zDqq3spKL_y;a%_J6VHfInDXK2`Kub*pON>ZFmIHN=~sii<XL(eY3?fXJ<T#TH1nit | |
zWx)CV+P688vXR{BQ;N%LVZNm#>X(nX_be?!k28mCKF#7#zOOy*Vc&}!d}<@GXH|!w | |
zVSptDm%EbrV|od^?#4kZf_D$sA7Dz#m&frXl^BuSKoBz{`s1ww{NUlAb3f}ncKk7g | |
z{7t=y<sEY?Roh!N@N*nmO|>UN@%mlwF~5@fNJpaU8k2;cw*SWAU~}NC=fO>HWW<u* | |
za}Si~F@yC~xaSY8nVF(DWG_Fak5O<B9ffM#vw9UM_*Nu1f_y)D1XF#Az1Eeeou1nM | |
zCdRa5o>@7yXAK9gWRv!x6$H!qN$$1w^9w8qGOvPuWbLsLbxA?{6c=>WN#hiS3ite( | |
zwz#(51M7Y<Vh@F@WF}&I^w7v-SXUm?$4z!K#nVK3=E5i<Jr_<lxEYc@d?cAfQIE)a | |
z0mnlauTk_~XI3_d;q^o^W9tuU;AhPeUF8cX0UE$6xObA+DwKDH0(upM050B78&O|% | |
zUEg>dT)kC{^4uFuDR1{L>j0iy&G>+naRscX$!ENbQYc&VBn7@~I5+QXx}ge<ZT^BS | |
zt{twa-GQ5>=^Jk6QXoQ1{c#YQnI*>HC>oQfJGHr^OGjwaZFkP!8azZSp3bHTur|lu | |
zLF_J45{QQQ=6Uq0AU`j<tWiDj(9_f-m?w=p-`d^k<C-==;9ao|Nae04-N2sG!!*|> | |
z4MxR=uRaB@pvQ@(N}RMd(`lPY3j?^ZOO~5nKM+P$oo3+c=>~4h-cHX2mznD=W%Gkk | |
zuJa=-6}`A<35|rpd=IBO+{(}0{2Znn@24imV*B~2DI;*1t^Td(MtT{vI)$pq)D*6@ | |
z{`~xG4&EZyiF2K*9qT5EmgiOXf<4Zzt@%@;@xmjNB9C3vKPypsgZxqS`FunBZ?*>| | |
zc>Tt6<z+>5zp8e|Wf%W9+lD$JwtsVEzE~prH`~cF>b#!2h<L-Pt~+H+*yM?Pn{Q@M | |
z|9VDt<xp*YOLwU(=(oO<q+=}n7QYpO^W)#*YxCnY{`Ro>!=9w}d^Lcm$Z{Np_*6Tm | |
zx(W?ryi)POAft?6<j5dnERosKMjt?@=@mxBjqW6TtQZ-uPUlo|chm2YNfrvGlu^i$ | |
zR>xN}6b8J@&v&h*QzA_E$;L$)QE_;LpQsoM@G5I3jMd!#L{D+mElEG+8O`l?9<7h} | |
zWYD#9bhHd+*dHKz*tk1@wZLD;dD4;ql506EZ_89{zMj8%z}L8F-^T*Kb08Ee*erZB | |
z;L@y8X}Uo$ecj?+(IKX=98aGo!mK1z&?$(W=tC}8`VGkktb_1g9JiE};Vl>&MWOeF | |
z^Vnj-mBxBVjA?{!EGTxPbP-qKY#`!QyJ2yXZ3gsu`#V>wA}48!@K4tt8-fWi@DqwW | |
z1XvTri`s3VSD)ME;qEAc-5a40pdr2h;+^N#Bqub-688vu(PnMZdo1(H&gH5Mim>bu | |
zQ$H<so9j4PpQylR+bn97g<VE$`&R6%lmT$YIR7<=5Di@?x(8*aVa%mcc%kWEPQHp6 | |
zCvIBTEi#?WgE#5U%)lKCC?$X~(2ec!ZmjwE=yDla*YxVSWeU6aV>;OG_p&J|VBZGX | |
zH%bwZKxcB!W;dK-md+UWs`j(5(6N3v&a>mFIE-XfBd%ngTo#bkPmu>oZ44h>8)pom | |
z=!2BzHVxaRhtMQF_o4z{@@pzYv|)bBkJ!>~IUdh2f;7t!+%$I(U7T+)xoKIK{;Dv% | |
zOH5$z#mzxrEWYH6i|p;Hh$#p)Xf6pAL2=E##yQNi`SWTJC@9r5bdzF#<Z`env<YIV | |
z$#2t8C$*U|GK_?*=pQ6b)hpfkt8T;rUYy%fGAHCA`S9!?isR!0iFjX(k6E3nGkBOa | |
zy*wH+@=1fGYD;gqo}Fatz4PJx)a`1YSItypN%Wt#{%@CS*arqlnc~<6bzg_p5RM@q | |
z)I4_a&N!NUHEG@AmU{iykKeVRj3iU9_QZ^Q&ij=FTMjno(j9ZTnBz4mb2a5jrsT>5 | |
z^kcPvYAi#f%-xZ2c7oVcPGbdhb0zex+t4_g!jerxzuVisAbo@J#P(m?4T865DTr?R | |
zx}{OFul##DN;2A}lpvFJ7G?R<(z(%a-h<18$-K60qxWsZ@v)tRD@Np(5M*=5bkUgF | |
zLB7)bX^z>Xby7yLod!5<7dk3m=Lq}+lQ^9S&m*pKowwG)@63B0I8c<$Dg~^^nay8q | |
zLWbsT+seLyk-6Y)P;CeCJb+x}cMK=7$=cqzgh1z==JC9b#42Ff*O0XLGlIzDs9lgP | |
z?7D!$O_1;4r5_dW<Xyy0h%?4MbaLLssV_-)MA!2;>KmOb*Iw<sbK1e9C|9&p&bmwz | |
ztC4x9$@%$86A~8<JvX)6Nu6T4r(lQg%BlLg80IZgx8^I$m-774?i`RWH9zPLA3f+T | |
zE;|67L}R+>2;MxJU%^qjIEK?iQQRB_r@mi};65;p&Gs1b2jyL9H@t25mVZ+jmZRg` | |
zW8e604l$jH(7Nc}uiNEv>lUlRWbe9+gCu_|&Yx3>Bbwhx1Ix|K&fqvTY~?)QpLT*+ | |
z!hexv=bdM576nhK@ZJbzZY6PA`s|!vJfR1AEk~A5*|{}uPT;%z)7M$ow{s*T!a>J8 | |
zt>oJxfWZ77ck^>jFvZGZx<|~>CE|2cJ|8z~>STEyao_@e1(}`9TwHKfxoA3s!oFQ? | |
zEILO`AG4=h;clM+^ZRv9eJ`5wJf<>*zFe<@kwzELrVlkb#&gyU(_;A`*~U3B{jWjs | |
zv5Ab2pwmFk^)McENEca^>6|9;j$oTVY8!OQ0Oi;}yO_|iiEFk~tQ(eiY97SuG2Pd2 | |
zd)NHaJ-2h?npph^;B+`lzGC~gcXQIE5>w(r=`kP+y1Xvh4jQH5*2<<eI$k+AVJ_VQ | |
z*#g(H-)u&+!SBma;7p@2)PZ?g6*<?fQQps1UELU%Q;ctf-aa?GICCikw5|8vPDDSE | |
zk!DmhH?>7DJ9Lu?PAxiE&Q@H$99Oz7R^ZT?UA1}U{R6mx0iOY6#i4KQc_v~XcKXGu | |
zK|FjN`Ofe9T|HZO=5gp-vQr`Lf#5^uN-oASaPMWPva*I|s>d>1!|fsQ1^Ex?H{|&t | |
zcyslv%XwXPUJuj%!V8lr<KVTd0Jed*&)Dct3p(Aiu>qcE5tuyMBdkSfBY(fZj7xw) | |
zaMS%_!#$he4iNqbvts@{LFwMs1;b#G68~z;e&-z)EgR*!0^bKRN`>imN>A`?tMeer | |
z-1-0K3yWpmXN?Np;)iQV3T{4)^)+Br&WHRV_iJ9_N+_GKvpj|>*Jb^;d>-u|dKP$$ | |
zqhM|s_mT(!fePNOB&f2Ew*~GzYyHjIrAcnY6ZrtLwRRTGQK2JqU%GOr6u5`c_U+*g | |
zM1fROLsROk?n%<7I`mtU);$Ew>S_Xb<ojwHkR4p;8nxu4dx>}&n|C|5Vd!qDKT|Iy | |
zYvsybe6(YWFjE<>JOj=zpv{ZGR)7fEqlqhCv=tvIj>xd&ciJC+D$_CmP6m|eTAQ3~ | |
zjK)>{z{y2^${i{`bISEVG!u-eb0QV#*d3~{D^;kf1DvKVKL=e2_&LB|7AJ^#+Pb@u | |
z_CEGVlS1p+8S8c1cT1pN{nzhjy_i>)7jv6Jb+cxNO%0M@_pSrOt3c$C7~VniRfLU` | |
zj@4E9`>T#Vt3V7SQ|Za@3{)rrn#R_`k9GO2mPyhQxEezWF@I%}FXJjf=v+rF0%R-% | |
z7|6-j$kMH{%C8>kjfMQ8>ZF=@GKhDH^FWy=X*F^Y4!8nk*NVfFah1^}n@ET}>DoZL | |
zL=hoxH&djEM)=5=u(s-6{il0md`jQCe_#MfAA>qnDg*8ZN*8|?4YUdrA!;jRwJS^) | |
z!>p=Ax;hWxCw4q9u4&mhB*3`c=eO)YUNx7GI!Ee*{_+rX42Hme{UKnkr<rs{Ia}n^ | |
z^nEx>-QGZ)+RHTS7iC%@vD~gKNOy=Od#G<H%HG*b2FE>7dR+2Tdu@v2C}!-5V1P7Y | |
z1G;<$n?U~Dg@+Si2-q@2cx=07S83p1k`y$?y<3Gv09W>anxi|LcecaB;6Q^nCA)A9 | |
z0*vgB75&<caAP9IVwG9r=2~@cN;^XFj}Fuv`=?yhCQX$!IsFX=gyMS`xN_g*)JeAl | |
zP)f}oss%U4QgT!c@G|v&DG196nQ!qmFQ~Iy-GGStf~9U8il0@13ZI2d;gBUecW<2Z | |
zu^uW29Je3fA(!wPXd-z;RmLWI@n|D&8<wDsD%h-cmLTW|cRwQ>#$JBbk-hTm49^L1 | |
zP<Z_*eIcl}*cnkTd``o=k9s(X;9uK)FmJSu0J^{jcJl|{4u=I#v)isUzQ_a5tovD4 | |
z-V#vX`V-UHNGl;SnZU_?X2@-;KeKH;=eqC#EJwPem~O?%w8@iWuN$mH&a#f_M<V{{ | |
z;wR^AUwPH6OKyZ$o`vyjzBayX@op9l`J2V26n=`c`_q})%gJG7Z%WrUgm#g%F}FR= | |
z-gmu8%Ag^@SYFWjDJ!790y^%m(7>OFgr22`Pa~01&mVe|jn-L*1EM$An*<oE>Hbe^ | |
z(H{ikehI#ElLLJ-Fjuk9i1C@;2VzH!@lfARJGy4iVKHmbGGp)Lr+r~$9FgPZF>^uu | |
zT<_R1*sOg2CeBiOCjPD5@J<=C=F0l4|2idx+)*-_=~#^RNbJkUuYN!m0;G*rTJ0aA | |
z(!0vxzTA;wG4DzFkV*^?11rOG{Nesn253<|1`^~&bS%7aZwRgzspmgR%H$GY7!`G{ | |
zb;s~2yFW(C-o4&}ln54~_O%Zh*^??sT7=3Byi~s4fJMNjIgr(6?q*I8`M;b`R}6E` | |
z!eJ$B!j9JQ*`CMmpD<(3Tw1P{MZnl5$oVwQRw4A*N9OF<!;Y?x$&^NO^Tk0Y7Mjlj | |
zrCARg9={p*!qz|evR;mGy%&otfq1tIpqpzGmdRIJTN7dWSi<(uG-CpM@$rlR*vM?l | |
z?#QeodlIv<GSmtAhU`udMP}MSp%Z6kWv+B07&8s$gT>_U*xLgwS1Is_x1afqmO}U8 | |
z41!|FOzTNlzS$uQIkAZtMMqYx{gbFN+7Bgcx6cIW%07Iu6yS(7KAn2wi2H%%sfHyV | |
z(krm_@~9a3uu3>fJi9XI52ymKeEOf<gZ>Z9;w<zOf+~q|iLraHa;?&$X|-N>kWN{v | |
zWIT@GHTdq+IP4n9JMzyYI%K@QQzDnxWJ*{<lqCIDH@xR*gqb3>k2-yy-pjCwus+(- | |
z(vCF|?r6FnS@2gHiYUU&1g2$=i8c_lr7s+MdD8@Lz4~yd{gVPkbXGAu5@wDwDSIq# | |
z*<pgOF===ru{s@hFDs#^a`Hn?%?d|ou_gQOWQ(Dx`=}M2>5?h!_`UUiM#@WK`Xjb! | |
zXTt3WM`bYfNy|##W>_m<_%9ir|9;kUPHuk^G)%rP(K2eeKD1}O+e=$o^rw$)lSIq( | |
z|F8~}{?)hIPl5rPXIH6E6uu>DH&jHkzTR3NP2=&%w)5d$H+vFdR|8+uMmc>G#lMX9 | |
z-kEvk@}0jSHj<Df2=DPu=uKd3ZuS|p{`I@d?<FyvW7NiMAN@<uz*s?@M&odb>$iC& | |
zK#4n0b<7;+jZ6q21||Sw&Z`5Rj_%kB##Lox=E1wwsAV13Nhsn=&RbDi-4sU^u2()t | |
z>Ia!r{J$oLKR_D|s=q)RQI3Jm2<Z!vW0~-Z3g<GIL7<2u?N`$HA#ssZ?GS23&?oY@ | |
zhm<A+{|>l;d?NGcOq)S%IO1X8qBCnef4r{2Qn3a9?8{KUX%ztZqvhZ6Hp;J2PB+be | |
z@iw0SjkkgKKjm$dv9-vf^q)S&Aczew|Gu<F``{ODBmRr_jSgVBYBS!IiI?`|v@;Rw | |
zdw?%iPP!3h|Eqh1PoiGpe(>V2B!9%n!tqLejQ{T}iHUq*{gBA!9M&H-lZ~W`yZZ-K | |
zqa5GVBJtRYxH{Zipdt;EIgpn{ZVWbK%1^C4*emiUbt1xFIQy7qRUfXY^NI3RpX*<E | |
z39rBK5{oyRJda|u^H!!g-yBY%?Eh(<`~vB@G(`8qG-H4l?-O@u;otcjaufs{=tWwc | |
z4u5*z|C{#>a93!^7&X!0r%?AU+;<dzU@9cTVI9j0ThQ>cB;lUN;0LSkj+1aF;S>_O | |
zPoZ42GiO~Z<xG>Aw{O#8l1I9bXm7d=jjo~0Q)Vo##^j=zYc)M5Q=gZS#L)1z&+VCs | |
z)e+gwdp;9?;xei)b;w9nY(J3Rj?@o!<D0n&l#;*Ya{H`Ak9<IU`~&+z>DEW#jTkMH | |
z5Xru>ElFl8wO`7>9{ZDVf&VeDanlFtMTgRnkWb;<WRxEe)&h&oTFEowG-vA3xp^dp | |
zA^I$mcL=Gj6t9M~%M;=GgQ|fs5`w~~)*q==$oV&Rg%$&nq^Asn=k#+G=thSoA(Eg@ | |
zVQ29s7hHE~34YeLWH5|k=x;m`0Sse-DP9+y`U?b_bTFFKCI2`(Oo$0Qlc|PVqG7Cx | |
z{E5MU)xfIXHx6pGAz`Nu*HhLYj`3?j(`TxeZ7yIn^gUh{Bz|NKDHMml>Xg#5Tg4;! | |
zr3SAQ7wunojq2mUBUd?bw!Q=4=Y9Vp+s+feO5D6Rk{_KOzmfc$n!$H(qYx@b8lXL; | |
z-?`>1MO9Zuo5w>O6e9Pqe;A%rbMMTTn(Xs-k$=|sA}cPH)q<F4UXHfigo*0YqE7|5 | |
zeolnYc~1HJW~1@D3(%{s+N+CiQBGq>7Nni=Koio88GEfP?a<&M5Eck;w=it%gPn?b | |
z4xwF70L1NQx9i3s1fq-|BjiKisV$rFBMBK*=7EL}7Bs(@8RZ!_v-eRMt=BW@+CUht | |
z#&nR$2cEZaXa9)X3mzTyi$9U7dXZa*ss4)!@&oYO1C-5onH=&EKLbSema{2}zi!Oe | |
zmTk$-@u0G&cF&8sk5c!A?#NkWI4>)U3>Pxu2v6n!>jf-{PqRIx(_;HoNQRoT(m)c6 | |
zmeVkouWLrSld!9ci3#F&$7LR`r?0Latj7!3_6HwBCTnY;<S~^9Ua5_~Gg#@qrwuf6 | |
zaUlR=v2mpbRB~Tf&L+h(Y6D64q@rgoGbt`$mhOn%Lj%eS6<61h3w*xoFDqMFJIwG{ | |
zE~NXTXv&)7$<9T&16Usx>b}%6J{!mGGCA7^g}-Ao!cx{$i@(QfPG?ely)991_2Jql | |
z6_wXFzN$*xf@5JToWRatXJu`5mHHS{+Fj}oT<*ny=Ppn@i#(U{Lx^gf5jW}e*Brwd | |
z&LCU+i#y;t02$$>UZD#d7nC;S#HfX-TwhOi0&^f>Ce+OknD7>?LPGneJuKgc8wcHq | |
zi#|St34C-6&ey=-s?4%%g&sRZt&t!mi$V7n^;4nWU>8aOKJAx<qy^51wB1Q?8e8EE | |
zZ*5JjJ=8eaRetbP_Q?tJKT;IfE(EdBR##A8;kFszp%NsSZHPaq{%7DInA%oIWd3<P | |
ziT{8N;m~o3bN=!d|HAlx()|CTi?Nd<4(AmGrybuZ4;_boET72uF^=R45^=sI=)HBO | |
z_s_&<^d~T53y5$fE9CLL!a2t!zjPE!Buu*F5+hPAH-a*3bp*R<x{ZJ19=Wo9V*9=2 | |
zoK1gN+JK~j?!zX^zK@j3A9w>>h}OtWmu7qS(_f4W?HjtkNC;ubV3#aAxt=o2ZDQf8 | |
zllajFPvJbi1k8Lf%s?o-U;E-=i;uJL*o`b2=L;$xT=MEm+2o-^``0pG5QRMAeR-r0 | |
zizL=XwugMLf5fI-cLkvA_#J-}x=9<gosbDk<#jAq-=z?EYK6>q*wpkWe`!nj<?Tdx | |
z!TlVQO45fWqkp0rdit-SWsRxk-P76r8xTJ(XG9w_7O!%3AATBJG<Id7)!jex$>5aj | |
ztg7nIHL?F24dT}N?yCtTV*^o7g+qsrloJ!4Ofc?k=aej&ksJn;P`C*>?uAZ|!TG0D | |
zt|hT^UOJ^;#DbG@!C(YyoIKu{2FZeOg|?`jWz7%f!#Bn&R~kU}lfZ}fJ`g_|wRm3# | |
zC`D+#%pImS)MohtCxJ*0J$(KJKAWFrjW@FcPAUV$X!vRmJij5w3A`VaAio}eZ*`AL | |
zb=)Fjq5fq36tKQwox48FKasgR1FgV*{vi^Jo_4f}v-1g;;94P7M>iFHpw(r_ZKQ?> | |
z7#EWG;Id6hyW~7+`tAp6-VuFed`$ItOn&()IK!Zp@Nx4H*;$kZK97gd@V$>M?xSs2 | |
z>cIFuN(pj1#xCO&7`KK3f%Y;lR5^s$wD+V0#X>Le--z=*&mB-M9hg>m@D8bSyP{d$ | |
z3SI4&lm^*IudOE4;m9?IjX4nC?yR0dt#9m>@?x^vC8cd{e$>IBHX|DNO2xi#*-f6C | |
z6b4yrG*>AyHrrxx!5SZDg!wPJ)bf!ujaX<D{u_z<(<A|dmH-JO{DcrnT(&vZ_+os~ | |
z`=a?@38%!I&V~Q_BYf2`7+hTVGVd8DuF}1=?02(Gd*86?jYhKKg`Y&#D?{U_d!NY2 | |
z6*_v?L5qQ%8dzy(OeyPwG((p|17|9Y5PhylU;<e@iJZu2nm9A1-_oi+&m=-X?cj{I | |
zGMzTp*AyNOTNME^vx~4RPaqhi|Ko>*i-_{AQ7Hm(yHbhY!%{~M>5Sd>OF4RW5xDVL | |
z%z(}O+;qRX?!)q5Fkv~D!rc(|I2Y-XefLSa$CAmsVN7(k&nEH`_FA1Zi|@>r5r52l | |
zRs(}&SN=1j^@@J!1gx~~_zR_ZCAI9#4y&)0=05BlYCmx|K)P6hAbERj>0+}A#__-l | |
z_z<vD>z;^2jADVeYev0^$Ge<LGiiI;<~wjV<PbF=?S#)wg-X5dG4ym=%25QOD(l>` | |
zvzg<22}xn<(9k<ilR43YpBK%t%$-Br&zp<7G?i|sr08jn;RJfpq<q>yaVd#-^i-=< | |
zT<ml6T_}EXpcBya=>ig79w-u);=+5VNZlGCXoH_K7eTPK%_P!c!IXgWEazSA_2%t8 | |
z-Z<UX-1S!xeO>;8IjaXM8ZXUIV)n%<o}lis4w-}u!*wJ&R1nmqE7X)Ps6-JbEZINa | |
zoW$Rr+--wl$_f8uoh+Q1V&r*KT{{cw088q>I0w(QuM+oh3zBWUWC}}{LL*9(#~^$& | |
z28VnDPGFBmEced!zA4&;dC|L+T8)f`%b1{sJ+nX@F6=|QKGH#?qb1hytlkj`M8D(j | |
z+b)Ok*Utk#a<5?m)U%gqag!AFlsR+TAxSbJ)D*`d^<h5-2JOh-$k10kv=1b0IGq%_ | |
zy}Wk}yQzK~<vA=HLoi;;Dygewm-w_&`<||DSGQ!pXTW(SJ3n~v=Vcwdpn0iXM^BW- | |
zHL(T^;!*m(QmK+KKW!+W*;I*}(hZvc!lT)q5kKJ_tURCmK9IW$i0(qe*&n<>Rb=?} | |
zg~zX_z<P3#`YtlbEa3oryB;11u70|md+#8}+UZ5<%iu$2i(aoK!<Up6P(Ym(DL#7k | |
zzR=Kz24oXU3|x^z=i4X;a<u((#qwZi+5lNVmh?Qcb6$u_!Cha{g4ST;;qE}cs&0oL | |
zK>l(98gjo~ut8m;o6D8X05rJ>0vb1zjSPJSv=MapKdXSU_t&hkE?LLL&NqSfFQS0) | |
z5^(VAyb`3t1spas1A)a-Cb{m3`1Qd>i@}{N!1o$>-MI~7QNkA?7(PYo9^|@)G%K=l | |
z53$68O0n@ztx{KYa|z1zEpa{_ZOPJwauTy|JhBYg<CMQK7&-vYAi6#aL1#Y&&kTO4 | |
z;(e{S0+CosAe&+6kccCc0~;vrD~zt!nGFr*CK5{D|5RK304Gnc>DBE#<rV&l!peHf | |
z&AwCE`$G{d_D-7K@k9%ZujJ<*Z&t!^M#ELoK$b{3ShVR*!tv9UFk1A{x`QGrO-iJj | |
z0n<W&w(yyxjb`^B3#D0#RT3!oY5=56-h-Ts_-d<Y_7cK22|e|jKyndJbRrle)gF!d | |
zWs83je1*2VjTF0JYw7jtI8i)EJ99$QHTU5Nl*e;8#(eXpz;8S4V(j6U0=VUNDnJbI | |
zjsV0x6y9EqKiXtGYz*6mWL63TV~%NLOqq5<(c0g?vS-SRRDKx+^0DhqFlrABm5fi+ | |
z99_^sCgl$@eJ)o0plYa#^MwF|8di5xb_nMNw$h812@L8Sm`-j}8*%!6r%lUSt)=DT | |
z?&@Nyz$;Jcg#$Edn|%tMR9}mIid@6_zzP)14@T!V2%Tz8`tJ3h3<3=G8PyF<N9M2T | |
z;tO!7l{v=eGk}!n@cGuEJEa1TsUl$3r&VtiPzwVXnVf7zqdPl+;mYmoS}t`8qntZ< | |
z3OB9tBNU}+pxSeaZynXq1uYEU%lXHnJ7Xl;oDrdKDqPvQmVE50kzGgz=(XJ@$a{Kn | |
z*wSEyHz>MtJX;(-gpn9*e)g8s6z^}kX#cidb8SJAAk(0qA(}Xjc&O~c&gI2;o^;t# | |
zin%pwuygKqZa~d}Mv4VlRIGV8<S_ikUh&BzGyjCF<b^~~@0ls}H@_VNZ9&Pl=*<uw | |
zO*y>qQ+?a&^E#fq;<(Pjd#cJ09{*uYEl5hnf+P;+C5Dzh{LV3<Ca8U_F;DJmi2yrM | |
z?2@~`;FCGf{d-ow=#b?ZWnjt7raI1!%b%F^*kR|g`FiBac{ckt*_H^X`YCil*PMcd | |
z&*EVD@6C*Y_HD{&DgCK6?tRaG30)DfV!PUG_Uj?-pT_-R8mKzWc8}m=2l6TbEh20n | |
zQYPgQ<(MSyo`L>xYUWv;c4VeQRW1C&?4{V8eU=|vtJWNF9mqmguRVc;<5nl1f_N$o | |
zQc%9SsRF~6X2rlIMdAb!|LHdGh~&h@B4kg*Pz;~kd0p~gVjsR(3b;j>mu;>^j;Pe^ | |
z!qChTKL9meh}KWRUvrl52M0e?F#CXfi7@uzV4K-RO#Y|y=qR^S+^c=?k&LLtGi%zV | |
zWu3Y0nIycv)KUGDc<t^j^mn&27_F6iGBra2M*ui#cCQ1XtjnyA90O1E+I@zd{A@%t | |
z4LqubZ@yFAhcw1g+NJKUf;Bj^CXl?OYS(FZQSikr0p3ZVKDbrz<if4oe7L0q(BbZK | |
zW0NWY>W&vnp<flqSkgf7hbT)mH1oh_8SNSsdc1@ZBW;&Ji^qnl-={Ir+ZTpr2rbW( | |
zZ>@JY{MZX0*IjOEVh7nAoP(isB9_TJF_ybx%%S$;H7{|d(y|!~>CZeL{HGGU_BYQs | |
zz13sPFZqc3Yl|V$K95E%{aVlpKhMNtnM?k6B&Gi?-RXaBlwC{r1EGP>Y0fF<mhj6m | |
z)#@cX`gmR`>;D%q;Jt4tHk8o7HSpX}k_`Q$Um4D4Jw&7br}XuoXjD@vJ2<WLf@Hf$ | |
z1{>?Rx<ONYuX#D8AixY6Pw<lV>;smZ$ScO0btmTkA9==7V0n&;SxBWA`urx5a%^E0 | |
z|4nO^Uxi{p@7(;lIo9XtGeO&Vg2Gfsoa!>#Wa|N@U;3&lJG_+N^i`X$9{i>SOPxQ9 | |
z{!NSJp;z_0#%x;mKWy3)3nza!`7qklMesM7<VeQk^WTMJ&XZ!lWx4P6<L+;wv;VuM | |
zuS7sFO<wNHpP{$Q=8?%1(_cn0&BniVM7!ZR&u{*TL9(5{btJ#f@8xg)mn;5fO}PXK | |
zLDW~DHA!ADe{CT9lm;R`7(Jugd}A?+aH0BQ{qol!NkM)W^|9y@fBbEHA4Jg^{nqUf | |
zlh)tI_ek^q*fgcbgY@eMMq#@nM$LDAjfz?M(=jx!%)Oj{iE<vBWbv5RLFGuN21?bn | |
zGafTpxs&2e43xSLpcC{azjvOb$giSF<d-d?%U3Igy+-rUvt?r!-X6?GO#9n<*T7zw | |
zCo;*;(>OtV&Mt^GmOj>bH_!XxcHLM&%j}AQk9z>00i`a!2c3tG1(;6q^Y?|GUxFd$ | |
zc;A(G2uK;$TmBzMQpR_&-!h7$tuFr(4iWSU+f`rIUCKhfCc!hk)!CiccWq37Dh>Pt | |
zL0|&*<7YH50nA?BZbzbE;wQn7iO06loxUn71`lMUi#fZW?EYL=e7fL@HX_#VhNytK | |
zw{4r_@>z*6n#)m{Pxu1s$!tqhPU8r@e4auIF2BY1tnt>!iAC1JdZ)(`PWZqESa)bs | |
z>V|~nyKBW@<@T9y@WIjLS!5m~96A%DXbIGhBWFI1Sp8hTU5dgXdImlflbwsAmQZq- | |
zx5fVA4D<&Q`CL%;oK5rjMHj(0))s4Qq0@}!G|EghffOi5(1GpiI#c96ey8^y`8UiU | |
zmS=P<aV6oKQR=t*!K=fgrbWOpP-J*M-A*ad&?lEp&vNbhnom(!=Sg(gyKLu95tDf{ | |
z^Ln8hqwm5ncILpL2kCOnS!7dkPu53>FrMqfwwM^l26#xN6FREjQk+RLrUH)BiNepT | |
zk+6n+h>)!&g(>i6;4!8t=Z}=c+X)Xj*-3%K)dC+;wV|x|;S*Yzkr8%|MnK?nX8~<m | |
zIK}f5zOxZ1zw{-uqyM?!<X?Q@@e(supf+h!5Cfx7@z+ZK?d_zo(c%BM>3s0GeJ^U6 | |
zzwLI<XFPeTZ?6}&wg!6<p}on;#{QzmGzAKL$&q`gpN%1l8`d*u4T*vDDwA93KR~n? | |
zZ12lCQKgxjnLX|@FAb;Wt%0-7ol_vb814v*LnvZvkgVxudpqo$_h&Cx-&sylgtkA? | |
zgIa&5e6P(nwwd$g>~`n2=RV%Km>LB`TIrKnin%&R!E#5<h-%hOT;!n%UAomP;wM@i | |
zab{--K&f4JdM^^Hr7i?p;}ElX8(VYDx}WAW*Lg)ID{i0KHwYdN5Gnl#zB0{X$0GLL | |
zH>8xv^eYxnr~Aq)ecC->$y<I{s`&5JAchDlJpW4EH;@(m%^}}ZiT7M%i>Chjc*~+z | |
zfI7fQZ`Adizs6Q86bto364t`xHu>}m2CPbIh8{Il7GyCApx6CCB&0?R)8cVGF%UQj | |
ztlamXKt3o#%w8sODNgoJ0F#Y?Q6LK5+~cJM;i$3Uy#zD~fd%Pm7*GO~xB*6s%zWge | |
zupwThxNesAOAP`HDg}1aC!gWQ+2JT(Sg0X7%;0FAFzQIR$6WuL0>b1lZV(o7uS#O3 | |
zr%)k24V3CM@aB!FpxU2O5dNl!rv=E&e-K%Gy-HGA!lSm~CN!BqB@%!1&G%1rM-@FX | |
z+yoCb-py(^UNbYqK|bWx0gknsZr?;0$8OLY!iuLnY_}P_7qDD`4P8TuVe_7rF!HU& | |
zH-zjS9Q4@HZSe}19n4Qyf{NA?98}}A6bb*$x%G|oGeb-BIgEd&)Y!H8NAbqM!X>Mq | |
zBt7=`rm6{s<F5rmqC&+yp8Zj9%Xu+$BM%8OIee=#*0Ohqd*af++TJA-f7I28o#yPG | |
z_VM#S=wfs|Ru>ttJINi|n)R25L|&xiu=B?MO@mQuU|4RuMM?iqfIj%KQ(j{Anw-QB | |
zM<gq+Jjf?(+Rw2@rBdpgtq>}m&!FtSTw-;KGq(cPy$Q}$@2vgs%qi~^OMP-q2h_R~ | |
zLcwEfB`3eG;q-8y7+B7j>x4dqS~}dU$EZhsjeQD3vW)z2TN_rn%|tn(XH|;TTIT&6 | |
z%wldzM2_-z@y9eFlqHU2Lgab*5<72yAx%vlof(IPHsU9}=Mw_FM1NAYRwMi5H<A|8 | |
zvIE9r{hODw_fh3cv{)WxI%1ZLcis2DdJC;R75#-)jXbHh0~iP}PQ3DXeyj^lqRduH | |
z%7zQ9jh8FkkJFo5;)wjHWsqD}V4w1=H-UhMiDe=RkTt$7(GqF~Jmuw^ga9{fK*<BP | |
zW+@QX`RLO)<lE1`egsKC+r~x8hz`Hmn7f3`|Mk0dpYQ>vebGl91k9CAL?*Mi(i@57 | |
z0=zGVkw_VvQ=}4hu`|G~a|lb!XsXi{|B9m7ptxqrJZkN($yssgt-!k#@+`gtVP<(f | |
zSObGL&iE1QTKS%WAqH%E2n)(c$^KU+lnw**QD%x9@|R|Hz<On{?>yIf%CP3`oE{zZ | |
zs^Ga~R{WZ_S-dp?)4y6H@i(oAz!pYBu!uWdtID0B-hkT=0^Pu&#eE;`|HzX%OD^GG | |
z7yG{uFFfL`{Vx24{ih0jMS%TZk+$=D|A?JpmtWYimTT5)KcXDlWcvSd#Qu}4U33@P | |
zeAI^l!>cbV(#n-=kJj|i;-%lJ{270w@A)L(t$FfejWBIFA@@(u8Cd9UolbLQ|4)bK | |
zzpL#)i%=jv(#RAg8j&Ok^H(5eWW^f@B%2QRc^RZH8CkyvfyK7C$L$DklX}vL6e@b) | |
zVd}q_gl5-4i(#iW`xnJr$W_*OGMo~ik506W<b4F^Ct@o9WirPSK$?vcR6GGpZBkn! | |
zY{suM|2Qk<S?y&Vl3~8(h5mRGE<EUi>=m>jHv$}Fv#bl8RfUbn|AUM}sJJlc!j(&8 | |
zM|sQWt_~n;7ea$mVZK_X3pLE#S{<)P1`%PXNpxfdytqFyCQ9gb!nVKUj>(wT;?Z#b | |
zR4zyV{1Sph9!)BR6;ARMh5g4zr(9sJ{_BMtWzTytdT!q<_ryRS><G0)Yb=i;XO|vR | |
z7DM6Igtv3#gY!e!bC%bN(QSOMr&;z;zLFNVa<zRV=J?>nZ~y*vUUfI;p9g;YrC?wa | |
z+(mn=5-q9@;>G*qqJt?HgWk8uJn^T*W1EVg%6csUjZ9ADm%<~p&}Gl({LglUQ1R)= | |
z5Y_RHo<9^D1b?0?GJK;$W?yVZNG+NB+5!79xX!7C_P;z>q#Y9%wx@~DyD5;oKwD}r | |
zJM&pM!d|;OS!jlxbtGEL@2|v&{yKAn8{k!Vokv{c%Jqjd<@!%)iuMf)?u7(UHJBqa | |
z&|xhW4tCewg-#sKTz<Rg%v`rxm9O|-&yT!)rIx9pMnNi@DNFE|G`f_S5i+8M2cE^S | |
zam>xRATqF?HD)#LA1AT+Z>KQ)`x9mUZ;nFw{al#;@|2b6Ms|axM*sK+lT7z^nJ^D} | |
zgjp!o80D&ITYKh?|2j3L>wh~ng$sYY2yU<O$?e^_5!ZWJf7-2ebiu&TL}P`{%yBcR | |
zf=wMnNkIb6;Q!+7t>dC<yM=#BLJ<U%kdzc8B}8dyQ4kQ392#lqW+(-uTR=ckB&C}H | |
z0qGWy9FS%RiJ5_^{e$~{p7Y%A`JHp#=fr#do6oh^UTa<JioMpJ@61(lYI*mzhy6np | |
zC;B%J)It?Zoyphr37Pz+)g_#FgMA~-1kfNT+yyt0JNOQ1<2^nP;t;-81r*Q(wKpW+ | |
z{yj>Vsx1>sEfD2>t)jJ<Dog?=&J@EG5t5Fe|NDOd#PvmXUQaUnllnLlm1fbUs>6Mr | |
z_&qLZmQW0H=~9^zam|06_UCyly^pKBMMesx0+70TohcQ7hU72L)YW4=uC6}_7Q40F | |
z)uRvZKgEJ$i4~JU>ZA{NV(9K(S1*W@gx$}NdvSTb%CI)@L724uYgfzwVd7(Fkh+>H | |
zKRHzf+lK<UkOS2&p|a%Vc`FKK5YWfRKieY0)s*Xhl@FCj=v>kou)DYxyUd%T#k{la | |
zz;V3O$)PtZtORR>S?mAkj~#nS-w%2K460-9(eBceMI8wO0Uh(6T^(@96<4gw8dOS7 | |
z^(`6gYoPHKG3i_5Ym?m!1mErvB7{kGhiS`ppDuhXy>AvYC(J;ku#x+4{9l10;0as| | |
zD~Hk(-$H|Q?H`0?mplnAp!Xh}BOFOZ;rhaLq}2&Dk>2D=Y$2A|8gW|uERAM5<A?M< | |
zrsh{DzWU5V!#@vWaSlJ`a(eP)g(jH5V@lEcW2fP%P=)cj?CsLm)0nX=+=JQqT*!0H | |
z0m8ljdca)(=g05|E6sqzZk+8uJKK<Rng$h~Mes0=q(cBFOd~q}XZHeDUxwYn1GNT$ | |
zM1-93NVo0ylV$Ijzj@*}&)9Ff;tc5p!+*)$oHl)>8aA(g%0<Z1Q(^*aZJxM1H2-v+ | |
z;n8A$d9-)PxD+`teoQ}KFB!Y<Q#H3zJ@Y3!YVJdFa%Ha<f?v%A;^g^CvRLeuT{FS( | |
zt);yBqU`$omvc97nAc4hVYiF`&=R6ipL&mOu(WX-Zc!NvOjiJpT`ua1W-QWWulD^u | |
zDqhZW`c`bY&c}HuL;|;kIGfcRra?C%U>R`0a&+0q-H20^=tFo67}!`Xl;Uqsl25;4 | |
zat#-~BRC+0s?wLa+0i8ic!3Y|Nb#eNv_&-cQ4eOTz!K)q>)jn4oHlU%!bh1oJLzKU | |
z`u`ePFhB68C;i?_@^2i&A{sUf18fhUb&5-sx~(31;3-h&fT}o6J5`n0@L6mWs_<Rp | |
zRcKzQT={k-Bs_f8SBW*1jVytiv)==3trpxV#CBKr#v`_TGB<@bq6FbWsqj1D>hh7) | |
zY($e==-KCorQXxaXpdZ>rJa*(-B$D-yt00|biTgSo)W%~pX4^cJxNL(C=%Jm#+&ZQ | |
z9?LdC7uJ96|I%D#j(SV&tDqw|r*vB(Ux+x7j&mdFSs@iC%Hqa<vsq7LE&c48g4H$k | |
z3@aKtqNomfCDViy4T(gRgzadB^(*Sl|Lx`h2XwR6Y1ye${_ACH1re_Z1qd#oB<0I> | |
zBI1x1?#q6e{wF)|qCOx(fwLsM{^_PD-w`2k<f^Gahl^URzjgwF4Q*fKfV2&dZ6{u$ | |
zQGHC>^Q$^t!xk(eUu<W~))R@&;l@i1H(9tTPnn6;u6~jJo|7=ku}qa*BrNstLQzd= | |
zQTkZ*O1~7#QQQYV3>N_{-Bry_yf46x=y*%{U=>N0Ii{)+SK=NU_qM<w)<^YeTL0cU | |
zIXzo1B>gb2a>DL0C@hm%muy&bG#Fn(599ew9-R;ey<KWJTjF>nB=S}Rlhx~C{st;t | |
zArQNnYu*YG`Hkwzv>?pZt536f4}UR>z;WIq=v>*P&b;YB4H-+pc+S_KG72Bj)+URZ | |
z1*;hfOwIW=4D(-!{V;6l<wi_CK9nx++xopuwWm<2kxJZam0l!c><^CyOVgHdOwp09 | |
z!Bj3H1K}Y|s0~@BHW#b#7Msq#Gi_(535(m7LkH$jLr`8JnL3ck8v^CjS>3Yk+^<Ib | |
z4%x**-q=3Fl*eod3^851aL^`BZYKY=LHcllIsxuUD3u@Dr3g`letep=j2rra+Ye`r | |
zcdmP#Hf%=z(gm=#2M|wf%9ST-1T(tm%a?IR&Dh2v4l+Z)X|lS`d)V`F%|{If&{R50 | |
z{;a(H82-B#3uoWRzndX(jj0zIRiP>1X$%ZGhQzTO44U2VB8=YesTG5Plt&3BPabO+ | |
zcE~1ul9H%M7b+xk1o<`1?Zz7(R_wur(w}A(0*6kmVRVq^m4k7H-y`B^K~KhnsoIr{ | |
z9rd}<(i?s=iH7n*kUj`fE{280R^-X9&%I)Lh@_MJaeGQ)ZLlm3bp~6bB>WshP9yS! | |
zc+I7j8PKd%rLKF)0Z$)wJ)W?ALQbTlM!@z4mUN*B3Y=oKpn%y~N}@TtN|fZBAht-8 | |
zo-I#9(}GsyH{R6A+W>unB0RA#tpt#gO0MAN0s^;%d%jW)_1WHXdiUaiAzi9{LUcYy | |
z+{q#Lk2tc&4JE1R)?XmbwJ!IZL_Q6SEaBR5Fb8leqiRdX;?JI?z~G6u-|oDNmBjg@ | |
ztE#Z=G9(p@BjmznrwHf`EZFFr_l@3n7df1}OEJr}*EOtw#L0Os0?)-+%#Z$kK_g(e | |
z&k9oiowu(4)$J3qWJ8r2bp$b8LBgtnu)gwfkPpK2doxX{7Q)F)zXu{rUZ?g(1@c+V | |
zO_zEnK$B9y)r;nzrtRpm*(V<DNReA8wBHdZ(qiIwz!o@@eF{zJCA(EK3nHkkp9gQS | |
zWeX$#k2?I(F3pI>gXKOj1A>Z_fo#MMPAr3)3(q~B7nh5^z1A|LmGonkWfM<B7hD#h | |
zS7aw7`8413Qq%okg?V<z3!nDm?I{}Q;!MF&c(>_mh)DRXem6LyU7)UycSKlHnn;t# | |
z)B`c<tm^beet-jlj#q8l><>qfa%96ZkARNiEzmvG)iCPXZMTWso_rpJq`H}Z!ZrG{ | |
z+lmE-e6_KXKkFuj`t+$ivW7lewo_KVztO!KudgK&{z2#EORY-&g%E#?KX6ZVBC(Qs | |
z$!^7gJl1|^SmKx2R0j*VS|~9nkZmwNm~4AvNcKHrD^bKVbPLuW<3N;F4eY45<yiD; | |
zP^zM0GMZ?j^0e<+_jDC61E_O-Cegy#vz>O&+`3<~x>EW@<d|Rg7b3%+wFCQ59CFcn | |
zK%cr$`-m{B;k{|XE2*K~42Z9d9I&9Y1@=@z95tq(S?BKTdZoYhPPMnlJ|bEg9*q`< | |
zs=i1X;1A!s^W6*U#857}EV*&`sCA~`;PlCQk7v(XU1f=6gOO8(cAyipfo)8H5=D)x | |
zY54<Rj6YTbL`o$flt<OpH4hS!^td+V{CN)Xe9GsypI)vFJGdSAoWORM<+g##S43m% | |
zk`fxIm;oB*G&Htk&ByydmrK9}3KWy}B-&Pu%I#f}C*_QDMUgqm=%r>qeyQ^h`e}=* | |
zUJ@L|K^P+tMtADEW{G5H%;&7aKCpWqblJSKwq$u_{?1@x=PoErK4-GMi9<v%`^no( | |
zPjSCQewI0HGg{xdL4aQ-DcJIJPJxl9GE-$dr{gaadIR*s*q)sKhDH@c$-*50z#D+~ | |
z(u5Td`xBv*A!*#K5ty7TtsOVi3PA1mT|nvyCT$&IO5QM|3fv=S*Kip8a36|>#1qKn | |
zh<HU;OiR1sYE4Z2O3>7pgca!xn5IoH$nTYNSgqq?L3jsH{p!sygHdEay$U9Ed`u2? | |
z-nVQDMr%-3<oeoPE0G~nRq6GARjzflFNxFo!<&`3$3q9+^7NY%hB`@wbx)xaCE}&t | |
z*9W2SU8l78j(OqZo|q8nr12mwg@<7yt;8Efc}_WD1f6aV-yn~RL|@&&u!)gAkAr?l | |
zyHMB9(lq^5d9W{zSB9+q?QT`O`MpMP72wtgi37<vABRIfJtJW@X7FTaLZ3nJqrv-E | |
z+OdKBd(kIaF{L-B3WK#bIxF50df?0tg~z3?H4Nl_e6X-a>h(FqnWp{pt26HI6VE4u | |
z39@g>R`I5x4VCH8H3%oxMVSKQ<!cm?3SZ8j9Ott^@D0Gpc<$dq8Wa5bd|N!V*rsf% | |
znW(p=KgTkk^nsS7Om)!`XycGSSFbLA&?ZHop*6(moBSTS3`1xFn06pWCx0t{T6lZY | |
z-v!LNBVqpOk~|p?Y2I6dX0?e0P)!`*Ssd<<3B=075nClb-U^N{bjydnKg3lyCX=~6 | |
z%<BseadDcnS@wXw0Y$eX!OnI>rATnx6A#+`!-m%%J?12_tO8pL8yt14fX0jYmFEe? | |
z-+?d3lZp;b?dVrLS5Lo@$u+5?lJ|=u+OeNCMP$~wek-%>-4Q61p1kmqHST@iwQB8W | |
z)q?Fn9xzZ18e7~+4`gg-;Vyp|{<T82`1A*HPK3Wxc4U1xnLF1We$i>^HZ|O%s)A<1 | |
zt|dp9v1{3!jc7#EcR&B4#@SJrSKVmbh}~(&6gP{j$>560d=9^Q?%u8EdG_I+Ic4M& | |
zx+0<mk}+hY;N)6Wk)h_R`5~%W;^~gwL{TH8FK;iKUxoL1uYkojV={kv-gds0(=&gj | |
zG=5x@qMD24(n3)qcxp-fO*@c&u-4u^^QGX&vbcF=xXh;%(_1Ef7#Ru@AHaP#Zmo#7 | |
zxJu6B8(TeSZWkVz($NTss6+zSCjeJ3>p(HjAM@Qj!>M0MQYOptheG!cFOm&nUVZU# | |
z3sJC6=o^n?p+WY+o8@zHBR1NlPdF_@7@GnDxVrK!Y71&cZnIUy^P?yT<7YR^A+v6N | |
zCRz2fV96|X*Rl}yOG$w8frOELeH(V4;dLIlpd_D&?WcL}QeeHKb{354oLm4|aLA~l | |
z`a@)KyHaWaYW5LJCpxX3PymSqxA%FByW6WWG@)>y&{~D>K*ut$twHG-pWo^eU_)-A | |
zu)*sWp#TM3<`MB-aVnIAA<H<%Vyr5Q`rYf+v4uXEo8A?O-rkxGvCOtYT9IZ#!=z)O | |
z;&hg@e)S@zoz<h?Yri$@eXcm>pxi46(otC*0}FDy!=Gj$Dg}1Hsaj}{-CQ5I;%?qD | |
zPMrQ3x>b>oGj18DF$)|~ge|!Rus9hytt<oWSuj5_wRQk`1Vw^dawYXl{pb~y@Da=# | |
z7)TIT9tE$mHIX%k*m|Cy6~*VlBts=R;KS8KqCSfUx8;=*!VF#G!Lhxs&(a!!UJkOC | |
z-8%7x3-pG)FYeiA+l3!0d3RoCIOithCF&X}&hH{6b5px$nQMxEVj8+)qdQ@Cb0Akw | |
z>9%xSQJqm^Jm+1q9RYk^qLFEx#2eCT35qR*&i&s_UK~>sJ;-`b%)!}zX9@p-)tVrm | |
zFIi~TGvzQU>h*+!V8$9(y41FR&q6rS!$PT*caDq7TtW(OYQMY|ejLg)$^1sKbiu`r | |
zMK;MyJ>%8!;N`6bO?pii27mMX`|kd`$|Mf*lhWCm=3a==-%+60p=i3p=&e1VabwYu | |
z?{-WATZ9M6VnS?d$vPLQv&60ID*vi)r%szB1KMi19kM_#_NYsn4B=L6Z~x2s{>Nh_ | |
z;jG)3>)*B~IH;F;10QbhnYCDrwpGnlp2cwSSdlU?5MD%1&F3U2`oEz2zZJT5)li?E | |
zJJJbiBJA1spE3CvYD^R2%g3c$OV%xpQq*$z;>U)kc2j~q`xor;C~rRk>*xa{QRe48 | |
zLhL=V(Fy}SnHzXkT$Bm_knUIbGQE;w_iKF0u#|-quZH%4yk-VBg-k`!ZU`P5Nzu!& | |
zzsMRc;ytv^lsv6VD<vTaW=b)<{)g=Jq%0vb%fEa1PgM@CgzNvX<M!NMT=E~X<-OPc | |
z6F#-%#ev%0olm!D<Zwl&PQ`kZM0gpKw!OSlJ$aw&UtIQ4@V?z&Zqbc0a2*tL-L@0> | |
zLp1tn=3k7xuz30LAF<qIPu~28>HDc4Zhd}A6Ol8c1DD53Xznlkdj~Ia2xa}`06j;Q | |
z)>})h(o?2>AKnY0(=$~OX(xwPj?MoseR`FOq6qtX=j{`dH@Em}<UjHR??}H+aCVwq | |
z6~A$N!c6ze(04%)4>@L}vZMYL#|zY?qUm!fDD17u&7TR*mb0M7QM%;=`?qw|<rg`6 | |
zWXB0X7#TiagreNu7gzUs$kHUgp5c;!Co~iuPy678VO@~Sl6J0ORvEV7dpk~J4!B4V | |
zS_(VvJ)ECJ@rtR5QoOu0dvsw|;}B@j>TI7PjaPcdW;a(#wa(Q>{FvjaBcJEa(cw{g | |
z$Jbm`Zs5ym50OKcX5gHI3|$p)2sJ%^b^gbO+y`a`-*a0@N0SSy`L0+=j|ShWQ7<rn | |
zVb9%OPw}wanq&9a17k`a<gj?8u93gG^YCq9GwmR>h=%x8VI`tNe~zglw}TWn)3?*$ | |
zw2bPbsBaL=cdh7wq=US+HK>8qTg*Z@1BnIJpX1D|kcmY8-rwVu=cfozC8ALx)n<YJ | |
zk0g1QnfMU`b+&Mkd#*ir*^c!`gKF2t5Z(h)<P8JoM~h?EPQ_H@PEG&hOK2iuszsTO | |
zOlpq<>D~n~G5h0vXZZSf(`xoRT(t`90{Ag41K6<xVYMZh6g=O1Dq_O$Y87dS%L&m+ | |
zC|-Nw0P~aJcQP-!q;G7%!b1WrUrK!Q^0<GVzmO-CJhNXTMgBFU``H5xw+L!8c0KVh | |
zU$)&UqlqD*RwuHamoNb41O#-g2GV2u>Yfuw+Qo{0xCkR|wl9|@qK&mDp$m^pk@(Vr | |
zlBokG-?(2*GH1F;stG^z!Ie&>=7cViJLC+U-goiu`zjIAY&<5u6)tR*u$V{GzfN`i | |
zY05Q*7dO5oC|sCkOI8&V))usSu0Z;yzNah`mkJcF{1+5lL8XST)Ak}(drNcm7N<f_ | |
z@6z3$47u@+JV`1AFGD&%B+Bhh*wx4M_tg%b6IdNb5_1o}CFdhG?`LaPBug0Jxc%Yc | |
zh7z{$J7Mb-T=LxUugxxc_9^tARnQ-%O8qfyU_jz$W(qV?=j1+T*_o$ZlF8KF-g=7# | |
zvyF=q-#S#@<ws{)*^hxS4i*sW;Qd^;lrmgm?-cs>fz^T;yiY=N$dFF4W)}`^*_S&v | |
z=$#DF0kPJ?FQF3qLlKFq=(FzEFf?makN6^h3de`kd6bV;S0EwFKmd5U4=T<I?w*rp | |
zaj^8UjECqB+1_#*+Gw(Y48jcRR&Sk`|H@!QVZi*q<{GNkavN{W3VCKt9~xG}PlRAu | |
zPK(9x+Zu{BhMTZln{S_93RVW(`}*Mq2f~E3XI<}2a^EshBljxxgs%+A=@Ov<uGbbe | |
zqU&}o)%j_2*?ZX5p>V&a8Tfn8HTuqya;I<<+VLwZX`=-iiAon4U>5bZpD5MkA@^t- | |
zhWloB>G+D1&FN?+l{NWcX6XQh{^Sq~X5nBF1K1JN4;z0dyuA;B&qLzDb|*DsdsrY7 | |
z32yJki_T%#ZVnMBD!5qOk&?OUr)%It@N659cUYwP`N`fk0sY(h3VOiiTkx+Qk=p0= | |
z_b8c3zFL1>u6f3)KFt07W4a}>a^%Yw!-gG>sJWh|O``SX?5eaeNTj-LY<Y5*38$&w | |
z_FiT|Ua1P7gb2lBybEbEw;dqWsiaiFie`<C=*{8$M>ga!*G)h9o}G6Wa-V+oNRr|& | |
zwo35yGjih=)|rW0Ms%w*S5d;1;`nZd^Gt85L1m7Lde_;r=t=Gb`_FC?`F8h!%a9OL | |
zu-th=kkq8_To1jB0S~!YgkIL~HJRJ=Ym+CX4{w*+b6Whv;t@~Y%1ljDEK&Tk7zfUf | |
z3wtDs9e`7THA?OG&z>d~>i%{I_s*rJBWO_NQ~L4d+Ud{Rewu;r175lY%rU_mTXe59 | |
z%P`Osb(#Wgs*Ea;0#0>LS;>U6=-o}@mRcn~7u(Mj$8*}ytYy+9T=*E=diWjul>RAQ | |
z3>|`s!z{SP`d#tfZaC#+vdxIo@3U((QB=ZsJU67R^=}6x<cK*qhuKyf3&|P@22VOF | |
z%q?WRO7y0$gB0d-s-=YL8VDM>#sh{&tnr3%PH}ew5)MXgf8IWVrXMw4qhMexD}!q@ | |
z$9lyBK3WHBka$SoL)@;~5Qm_{6dH2N|6#nb-+Xx2i&9>x_|xHmd5`l=GB-R;HlM*t | |
zu`@OqyO~AeF_rfaCtXKJyk)a4U9X}pk{$KhO$i@AEKK8!pPQ;2k4gBi?Go-7ECpfq | |
z;IW~7z#v1N9_Uc`=P+DV!(|$A2=BWKiaU|Z5KcJcI1<x8UBr7m6*3(2Xg&7B$NUtM | |
z2X7cvNBF5=xEEeDcCGfI@)@pXgOFDT!krd+J?jc{O+K9F$uqh3tgQjjs`gCUe%J~r | |
zmj)bU8G)?gRP&BhrPfh3XgPu`qg>z@#?qJM_r+?;j4N@uEb0jrReBGF`=F*l9|KR< | |
zs!qReQ`)_PpTx)d;pzkXjymYNu5}LjvYR&4%xF;R(r6s^rG&*suJ7$bv=_j0ap0c| | |
zrB6*9qfa4C-DWMQ5&4gCuYBCt97dhDJUI<GFpRAjlVb`(Ij2(50%LHtaPX*jM1=~Q | |
zk$uIz(#24>q&JN=+k(E#>O{dC4Tkp0!xA5p!&}7_y$4`w?0Ec*(>nJo8dg7YE><wK | |
zXqc)}<C`^Cq#07xUf<$ebsiZvIewHxiZ|p`|Kt4!CrKVMZ-;jWNwbMcc(0txieC0O | |
zc0W{aG7|MjC7F{VALJlQe2o9fxxDCQ%62#B>gdDik4vK$X4pQL{zW#uEsm3*)6Gbr | |
zp52CVRQ=mhW?t*MCnptN+JgO;TOtc@G^r0}$d|aPIHK^rF22;Lh@5-p{$J}xq92BW | |
z&>S|brTL4@`fqj^3jcJbzsa@EX509_qqtqe51s$TSpA#*hdaK6n&Z)?L!QZ&on4)~ | |
zpGo>&hiIL1)$UKV<oC<!D=*@Z=(_fLWW3qxr~Rbkm!g+1ny+m9w@v>?p;wcUFb@U= | |
zCPh!WQ@tCoy^<kFH#$%`7mY9au2hqM$haer3m^Wj&evJ*^d1?z<-ET%-jFd+v5afS | |
zO+qT5hf8N$pt~Zs{eX0n@VD`rvHZm>cOvSzL5E;!^60*0xZLT(w02-W5I8xCR;3nu | |
zFN13b)F1q2e&t?S5UBXQ2m^B1S)*KC@I!;q<@p{oOI5?RWwPR*u*%K>FBe2NYTq~b | |
zZ`CtCNuQME{)&W9ld#y`&XUEUa1rR98&$S|hBv(!Ly^K4S&5V{S0t3(GQCK_!AaM5 | |
z5-afuuQEz#p0}DRsw&PYEzGLx?I}m*v$}qCe&E!qFqvf^@#xc6^R*vfN&3c@7f(9X | |
zcmcD0#B4I29P2o)?fbW-rPq$zSg5AJLr$u}`nAK>{E6_yZni~2#dzRlEJTYwMJimS | |
zRr?U^I!AXz_H}0zj5-oJl&BB!N2f~><S&rWp8`$Y@>*9@Y@+X?`t#e^<{(L*R0at} | |
zY?67zOyhy&KDlo*p$d+3<MDtI;!LQK)?O>2S4!!CHVFUYcRts9<#yA>meBM}#v7dU | |
zdNa}qvQ7A%++hl{o)y<73pDK&ud3B=6m5o_c3ls?IsFx;_YDEum)ngl($5;FNLQuy | |
zP`IjQdps|*N6Ca2aG&18WVYqi`8z&J(#b`;4Hg6mMKF<-@ODe3=gx*dlYN=KQX=7( | |
z{@aQ@LQVJy;pD_7v-N^%po_(+^XTD>IAtNFGhV`g*|?_(EcEnZ7QX4CYGu}9hh>sX | |
zwsIMF5zUgTl-f<dI~`UuO-L~a`SXTC_P@D{Ja+gP%qFAL=0%AnB*Dx5Q@sq1B?3DE | |
zU}{T}+#fk@AI+N1qH~e0vN#0v?Bru$8-qks+nNhHj;8Ro-#HhOE~S;|_q0ewY9Log | |
zY3tnXA$-EqNiin3#0&51-#zQsbyCCs($Mzfk8mY~{$KlXw<y`t<U}5|LX4O3pAb%H | |
z^ZdqkipNE_SjJ}GM4+TjVTdlFuuL>~erHIxLni4{*1bmD8IB^An)lt=lhBN4$_XO9 | |
zBqNS4lTsmD>$C`Kxn43s(q7?y4XiM2Mz79y)@fC>*%^Oq`{#{!sxRJ&+>H0KH{gCq | |
z>T~10`HOTK!t-f)x&_!x&F6${lp=d;$CMse|MU4=w{F#1lI?vLs-MAVV1Nvwu%LeZ | |
z&1PPzh@6_T4b{@OU1z)S@jl2~!o=?JD0+ONJbD#R`sm^OKGxN!5AXAka?vW`+<2jN | |
zFTosfMT)=Jl^wxI8mySUH*EuCP3&ZDfHI(nA)y8dCL=l2r>Z1<E)uhQ;jl6*K&sXA | |
zf;<poBz7YcrACnbk<FA(A>4}f4P1|iwa}N?`98nh`6F}r`rlpU$s`tftzfRa9uX?> | |
z`&O?eQCo)31Aiz)UrL>#`bML^(aMCg_d0h^>uYP=AM1Sf&Vd()m=v3n%q?z142_X2 | |
zTs~TjHTI!vV;t`1s9dNyn`-0PAQ@|KiLCK6=EGyUlj&8CphK{c1#nR;dIZH>ec(8O | |
zJM^Z1eb)-~TyRv3?WgFr6#47-bC%QPT@_z$6C9WIJZ4kWm36}-r1nai)~7<>%CcSI | |
zRuqz}m-`h#s_<>J2E}Iqu{a@Lw7ST6%FbrV2;+o%Cx$Cn7V|7$let}aoH;b7=sQ_F | |
zA2R>ckh$$=MYws7PGAVa{JeE^nVaXaXL<vl(G8klg1w>$?Kk-7uK{)&DQK&b57R?X | |
zF|5nnJnQAxnpgU4=z$?x@WS=ei#itw?E}R?yTU;-b>ga=vcF$U+C0Qv6u@J0O%ceG | |
zDlers9`Dw`XB31xT7E}1V_d@*S*vYoS$krD$|%DBG99ljq4@TQ;m3uG47>_zfdJ&= | |
zEX4O)=k26Ni#_EU9{9V=6a$|)OSnCYxSOBe^=cYf)!b1V(vy`f+pfYta*97E{PL;& | |
zbeylWY(yXYk=f4(HP5%3Du7Sbd%JxWTnh)_4G_7c707dm_Fe?tkOXel=+DQ&P#`7? | |
zRc-+VV0o2u1q$L{%7QSkHE?qu#M7dD98v)ingMcK*L;SYlx;{osFUIWH`n|AHolzr | |
z%G}MAgIZH2Nv!G6Wq88i%cAtdEhN>|tE7E>!!5gLh&2>A4_BBPU7VR2>`q+WbZAj& | |
zPDla$D^4Mm<xu!WxfH7>?AM27^Oemu71M<Ek^cgp@t0=g?PAc~|3N<E|DYbkf}$Wd | |
zlo}FJ)c+^>jK4Iev^C_Sl^{=`-0wF{Xm472)1Sg9qn>2U%bVROabUl6DfK@Km<)N- | |
zD}_FJHDo1QKrLq$On)%_3;j;4mF^0!nT>1A-!O(7&3Z$x$%@!+4fAhOCHr}`Ke@<~ | |
zL1WWS8ms2V@=){O!h}J~Ju+XJU(6x~SN~uk?v@$)oikmFYg?l_jQrB~cbp;tl`BhF | |
zF;t52`^xYg@Poxan%#aSnK>Ql-D4H?2bQ6O@jqwTy`9Z{Dqb=tlG=GmOPJ~Qf_TX5 | |
zD0j{(@=85p2VdTZd}ThQ@b3Gt1)~W3`0pGD70iC84;**J&m@&&nM(JMdUS__jLC4R | |
z@rUT<v05l`rh2KR$R8+4;q?9NY}=t>o$<f(DD44cDUA+K{gs|R@nF=pq>H0UKL5j` | |
z{Brx9{jusudJ_60+T^G7{du5+?k=>7N{It;Kn&}~46Q)1NW&gWS`#Mwcv2BPeTC=w | |
z3tyS~M;Nl!-kKRZl-n%0T$z`M;1ael1*{JMOM&-ko&)3=oGVqF^m&cIOM9S2NJ(gC | |
zAM$h`s(E&_trBfBK>pnfjsO)ST*j=v8{QOvC0&vp`;gQHaI19ECpeUwS;N22n1^$y | |
zxeg&7xO2zvdLe?zOszgvXxNP0>tgS02JEzU;h;V^WSDmQZc-6BH;weypPJGdwK%<X | |
zel{7Qy21?@2U&~dl;8Q|%uYm6L{<f^1in0I3b+l_siT191}UGTYa69|CDsAkuaAmO | |
z$!R7udV0OAYsPddZJEDZIX%Ao{=Iv9)s?oOFs{+!{ZaH3F(*`m;o-IIwW@fCEKc~% | |
zV81X`ft4^$V&Uje%%4-iL0kvC!^FcHSllBoAI^zK&?v}oq3IITIK@)F(_&!Ywn&Lg | |
z-k${RhT~JWtaI8>5mE}vfcm|;o?n$uZn^h6de@MEbb2x$Uy+=#Iw0WXgpHbKfv5Ht | |
z;^w=Len|q(kM}>YSw$QA8l<6M66l6WTEfi5#eFCY(t&7fbuEMq#XehHBB3|A%VhC0 | |
zat+c5pyr_q?&B>J!+3-$E|*`wHKyhg=v!kDYjQ}N-RfX&^pT5bE?`IbdsC$#B2Ur} | |
zT{Vq6N+n`_5_IJriC?^75N94M0J{<d!R^lGlB}OalZACT$NF;;iw@xD2K;>c(%|FI | |
z&yUkgD*Q;!1=P>!hM0*Bv%MyGsVkB@y4h%dFiz^Adb(<6<aX2W_(%;tKELCS<q|e3 | |
z!|GE^&Jmnft+h4+X%1l6K_DjGoHZmNas1;;m+`gSXJ_hFCMUHeB9#tUPIcx3bBeEG | |
z@J7E^dYOpOZqD5+mzp><Z)b8tuFvC2HqHE3x8doepF-|vy!rH)*ag-AAeeblSk@Gx | |
zqS-PMe)Q#@CWcoRAt5&4#L#dG;y)Y#k~<wMP7WO|ir@Sy;kzQyf^=AQem{%&WTFO= | |
z=HQSj5wX&uKL82F_J9B`g~sN9M>FV^Qc@8noDckmVkED%HGF-rhPkN^f`qu;WZvPM | |
z$R_UiK3<YG>c~MMu@5_<LsRd}lH_AZKLne0>=iUsYrOecSG54?gQ$GEe4B<kOFmlJ | |
z+7l5*;Xc2!syzhfq6N>Ngx1LgnQ7?qSb#TOa^}VWiHUO%xf?$Aj0c<J?ZqYOIR9o1 | |
zB%#*mVx>EsB4KhWj@aWODLhK4*+fTnPOyull4hw3YF#fE6^v4Os<tL*aJY5soo!;N | |
z<LzgC?-I(eV&v<65I{2xe%?4~GyC#lU$W*8kL=fYjQ|567YtmVaOqp!f?b2m4=#ED | |
zRsor=hzFk40*Ct`)v|)vc3@{si+vm^7YNiUj6(MBk+}sqe(s+ax-xyTeZIGDX}Z&z | |
z>LDoX#Amzww*6=n>^OuzgRQxQ#X#;SaTBM+t9qwZf1x3+>EX|zlq^aqGhTaWFx#?% | |
zYBa3vHK=O{uep6a2_(Ie-e-Les6ADCtfUa~Qom;vrS^@x5(2_0j}(3HG%CRQW9!`u | |
zMi}B7|9~%QOOFgB^5B=Njinz8OzVSW76iaSW!cNOiv#sv-k%Ft3Zuwm_E-vg+PKu@ | |
zpJLVuF9Ul_J2o!LqG{w@10S~SHv>lBZ0d7xE(<N_-8p!rzf5!3Gua&nqiW=uR`g5@ | |
z?re9d7G{ckR2x<p1mguwZA~_f#-tk1Ui(-sv3dkfJmcW!t4hMT_j*@-z^-3+7Df*+ | |
zE<fj|<xk`qq}4I1&zU?vm}-+2FzgdBe~Ab^0%h;#nBew-j}=UHP6%B&xbDvyhl&6U | |
z`DgLzE8^wa1GKgi^VEW-fN4<dX-6F3<-3#DF-9uK`HHn+GbMEoyk8Vy4Y42jxd1@| | |
z_v;+0_ST?^zo>XuzkDN(E2muqPH<x&zt<Z+=J@rJb&3Lh)OL?d_|<h5M`0mSR|O)V | |
z_#wLSYbl((inz`S;(1<%A6EX_fJxO%vP3f;Uxa%Vq>@Y5mopFhB-Ex=XlNGWq3+Aw | |
zi*384Ld>v<E`y@HW-l(ek;bPOSMv`!;TOBO^*jhk!03dL17fzua&R%9)34t{AGEY) | |
zF75s{8aeQYkQ&K>m+RUzc8oani)Jx<{Tv(ZfRDJ0;&w16Hmb~?KZ4|NO8^d;i|zJ@ | |
zO8E~NElc?KE3z^zBw1vpd?NC>`25Hpy|64Hg*~0J)dKr{@rD8#0hQR3_}WpwjlFQ1 | |
z97!p}M0{pD&eP><b#=}OrI@|_@!wz+@p<5zmg#FOh?RY6ps4!FOF4j-T=(5xj~<d` | |
zkabhIu24F;hNQB^|J<Pg5Drz;xazAjvpFwCUZ>@hESJGHu5J|YQro+jN2{&-(}?)3 | |
zjFdD3uM>;7gD)6y6d)Xt$92&p^JaQ!=<o=XgllByIq;j36`1jl)|7#Km@DI)<@wmJ | |
zx9Cn5xop3F&5gm|lPqBHMR|1LJsU)6ADrwnwFeav#|O4OFJ~WAxK&?#`&E|k&-e}2 | |
zZ4~mj-rMgcTe;Bh(nfHMT$b?oDnEp8yK}ugG@`s`@@8*~<Koewkx@g&gQW+HvldVg | |
zI@c5@&I%rrTZ@@fAM<%9mZUW0wYccR0Id0LjRdXbAj#MAB3LBQGmRY&rL^{t(ogm> | |
zJ4_JfXy_q6<%jmeLm&vT+1O@{c;5UQRETB8tdNY1`u0iLe9rZn-_z3aQ>h)uDbQD_ | |
z7S#D-VN>O2oco4PfzDNE5;zP(a@ew>#v#MYn9T=cEQs-lBO9NNoO;J4952-2v+_O! | |
zmCH**e0fmgQ+jDbZgNvP@kyP9V_-E95N^$VO3xfLWHjn!65uL~u*Mz+QAVAUh;M?W | |
z{C{?HZq^w4tn%1;x2-W>{~Tpny*Gw%foYAHE##M7@;)2;z~?~?N~iQMkf3>-{;q{S | |
zry<W%`aQ_e?3moHUd9!sz=4}CVc2E>b_A+C8?wsDX-+qZLr^ldFMEE?5$<kR&6q69 | |
z*GO42HR8#i@{su#!Udsyj-VhM(5+RRNdp_~=u;zX&y8np9&9`qsR)@@-Iu%N-he!t | |
zee*ZSrUKgF<KdW1pvNKk4@d^>&osC^V39(gx5&=@FAxmzdw{_$qD!48TdZ}Y!bKE4 | |
ztektapA3%&pBBuecVIT=AUGIgG$-H}S?#?JWcwWU5D1=Yg<=m@m=LuQBbR>)KRTLD | |
z7FO_@{SGO?MabY3VaR!AVp;Rfji;*(n3FLuu&0r3@~HL1<UqO=yYI|1AhCG_2zoaU | |
z?X3X_m)cnf4qj`?3NQJxyFal!1EqFMz<JLY*bXui^Ng~1?p4=5Xgh$53EJ0xy%-N< | |
zb8SJqtc_P~){-N_dMDk#m970qZ^Aks2f++^X9Vu8vF5g~UU&H*Q`&=}xo`evOKQ1m | |
za(hc`wzd2-rp2T_C8Z-1dAsQJCnoA*YDbtqJ7R1>zE<DKI?HWY^C3Gw#i<?&tL-3P | |
z%_k&GKG?84bo{7Pe*W~5V!B(TubjRNNK;@j-H*cHi9fWT_$dA3$`y33T+%0oLgQ)q | |
z=n;%M*|&)S$ld6>x?gRi5Dx4`rAqf{n?f$>OMX5-BeLB*9ooQ%kUj_Z8K}d<b`?o6 | |
z;qE!5C;CxV{BH;wfj5@5MK8-{K?@gox(CDJydhyK;kFfnX_BU7ATWi5piyT9-t^KY | |
zJml-HVPgTsn)FJlDcG?gQ{3^KZqD&d(LiJ?G@IG2|IRx~si)lJ>xtnfqf%h6F@Kg@ | |
z>UecVp!2YMwzI7{Z9*%LX0v6zbO6Zl;Jy7Ng4xz(xHRKDuyly;!?{{<F*y{U4;Plt | |
zRk{Et-K@AbURW3i{2b@k2R)dco>Mrke5;HA9-04kaXTudA@);f7wQ8_9cLvLDyds; | |
z-xV!HK6;M1D1kHgeK2E>VEnD!E86joyb!1d{o!3dbq3|U`<iPlS(>)U2(jx$h-St? | |
zDJsN^pqu)U-p#d|lj~$**W`|(=9mvXcnXf0iBYn#FypO9iM{l%T+S_h&xFRJ_kpUE | |
zpa4Qx-`Y|9@$S2Kyq&lA<Jag}>Z8T3{BT5SojdtfbW9A*rnBtgj1^<XV$8Gja`NLj | |
z%c+2dj*7T8+BrbUv>g+Kn;w(fKPwYrWdvFA863)fFf5kgn#&x}u)nBV_|?x_O~tbg | |
z9RX8biSq^cldO0KvenHmfZ9fzcK!RQSlB?1+%p5wupN&~(IidV<sl*0ObV*d?L7P0 | |
z<eeuS6U5IRKO}{<g&1)q4+NxHVIE9J`#qb6P!qvXE|G|I+jDrETTs@*a<PQ%6tH~m | |
z4Yp<42s~kgM()d=jw_A`#&bTOKgS#&8q0!rlXD+k<VMb1xLfU`AEEF{@9ZI=#^v9G | |
z#R%Xi9xN^AiT>iAQ72rP=6;d|{K9Yv`3@L!-(WvPFC7MLf=`T=nIx{T;(kYLA)Aqb | |
zo5<#|z)d0SQ2I=unML#Q78r*)S7bR(IA2&s&6Gs=je>!5cV9}y6!68G^AKz-8j}Og | |
z$0*$x7#oGoPUv2pOD)%1;tt%QGLVZM#G(59^s^kzj-2-Z*GZo&LWE1O_Ph$STQ!<{ | |
zbn);2D_Xo)KA1^pS(N%!A<|a$14gZ0HiYFOM$%$ybFutM;nG;&&qhqkr{5p+j&58L | |
z@(C$|R$KOAWDe8zTSh7ZTV>%p&C;3X3+1l3Uqzr4C;vT6x^s~G39IjV)d&cs6SdKQ | |
z47%8#Fj~N=R>iaW3J=EI<Mq$Oa=7aF*`K-z9k}|ckz7RG=aIvJEvYd|nZ55P5ptMS | |
zcV8lN+_8S!<3Ym=R{y=~=9FSU1|bq(-H~T)2bx65!3@Tp*wqCgTV~rgBbWjroq)Ut | |
zvctP4(^Wy@N9@8sfI47#s{>i>kqJ~d`)WiDwF_+Kp7rqLYXv;pJ@WX1+;;~1ui1mK | |
z1#+l@b3J_%y`gbGhh_b$QP9zGx>10ONB<pn=6mse>l|BKA5Xltbk4<H6^d}+lLuhS | |
zom|gB-l%-#eiPcwDUoV_<iT&y@tnqHd_WJ!mLWKH_D;m&YaAnWI<oyRuz%5-7f8~O | |
zwRKJMPNfIHuXCk$ICqi(7GJ*c7TB3zNlf+-a3Z(W$L#%aJutG~ntk{Cs?ftvCAw)k | |
z9rs3B?11lC-<@F5H5wv>ayl--$GIn!Yg?axxsa@Sv+y9+-esBcC+q1#9v$hQ8KnGR | |
zzdGnV-Jpi?$3{GJNn6G}A|>uh6!pGOO(gnH0%mvJgbmn|Nm@<!lS%2wX0CXwXI%f^ | |
zBGyWcv{p`unguWHf&ZV_Gs*4?@2ar-#@6QEN}mX7syM_gjs#U6jB~A3lZ8bKE%VZ$ | |
zgC@Svfk=jwub|ooBjonHcW!)r1S}&v9zgnJ4zwi^1z%&S&b7N8{mg$2l^XLyp^nEC | |
zVL#(21Gg0u5h0WTE0~KZ95SKp(w{VdQGlG7Wz-pE$Q}BQ(Ioo=aokECj2lbj?kQDt | |
z%5<ha=5H+5vSQ#C3%khQ5#JH7u|k-2o{DYn0j0-1U2?qU$r1L+3wv7^Y0@>9fT^r- | |
zo@D+aT#k(dWTk-amF&3Oabo<3(K6M+D_@GG_UooBL|JtkVCIzmK72rOjfqg;94Pad | |
z(3xvqtdr8YP{2g=6DreH6DjZBaFT|%8xObIM$SmbMon7FgA94rD~|L7`eP|1>}ZJ9 | |
z<Zp%U&=tttiJ!xS^hpbU7z@}G)mXlt#|EF3n8Hi|9*=oxt?Y^Qm#supp}IRq7yhtj | |
z!@}`*z0WErD9N*)WWOpM+Qq!TSNVaJBT##&O4<=UXuQmzBY13QNy=U|H740T>0r8D | |
z_WEZw-F{5lhBJvqezMvFK9OlR&-~CK@V*0xaqe}f_r4F$`AGwAacs#Ew=*_wHM=F4 | |
zh$??2_Yk#Rz+qC^y19Ex!IN#;QsaKY<2Nbq--nU>`@>(H)1t^jJgC$q6`u<u3I$|b | |
zJ50E5xXoY8nZLu3?#2IWbmrd(O3tx@xA=I}yefr%0p}9k%-#M$)kS@~xERn5)4S(6 | |
z8O(jvi!V(MH2<{hl0Pgo{_q#VF8?dl&R^if|H4IG0ZCuQhE@DvB6Foje}N!*>A3#_ | |
z5Z-nC=Pus+7T%Q?!Tbn(0`2e>6q*w~pLKiCDXJxFje{Z2;7yV~WB$v@f+Q68AQl%1 | |
z1u_*R4HwMJ8n_Z+`nsy}AZN&u+^w-QnuE1@WZAxWL+;}7=-FE6i-noG(2%ySv!76I | |
z(Al-VNxsI~{(7qSm=-IrK@mn7v=WxM6~=PPmcf5!F3Z~RqQ0Y4c3S~rX_td+^V1GI | |
z0i}>p@B%$Fnjb+y=NoCe(2K11T;>qY=r!>f5@&g|=$5nF9Uc;Qr0DF?kGUcg&}9sU | |
z<8VmGgY-U$U+jpB^|g(u84}EbncQN<ZuhPILT^GmPR>gM3Uv0N=Lql3##B&MJ<c}U | |
zcLpN`J=es%j|n8@zVX$B&-0r+_OtrZ*KOwOY6WzYLOxx&>H8=gMhJwe*-dr|>V`qt | |
z7SMsMWskvjGsp0J-9~jf-xPD4gDQ)i-DzA(yvgtCX4CRr6MDZ{yus#Ejr9Dp=H)M+ | |
zyt0jxkf31z2Ek3CdaKef)82ap7g>AvS3}u(Z~(it1f+WXB>OPHABSZPfCjJ@k`-JY | |
z8G3S2NCfT>mYqa<ncno~+76FITnE|Tk(a|I_FQB*{U&#ApUh!~MaNQFt;9CVPOizh | |
zn*Y!UJobs3UX?3i;gP`>{tiShKpXbN$C9-k&Y_aOqbpnjqf@aXE<u(--*;s3Kb^N7 | |
z#ez-Hd=f-8jypTH(oj^cX1KZQ;BLTHWwsZ7m9P1?m2eu(ultEe_hASoRmdpmUKJ)} | |
z=}Mk-I|l*XX^RXAYXHaEkcRkHdY}QSuxHhh75xFOp1pV0n*~sBpNs__xNGZ=z(OGK | |
z&U0wnk;|af?FPZ^>E{jxj`c|)cx=3$*Z#s8H@r<c_}fCjee{-@;32oFkzckImeaG& | |
zkpC&@=6Li&JU&hIZ?oG`lxyi9^eboT?Bl=8b*H>Ssedel!ehhjzwo{SDIR|jePQ~4 | |
z`asL9U$?GuH8q?plsp+W&ek<}|B^DLcH|?YA!6X3%~J?Xwf4CluEP2A1vNKmO{Ujw | |
zxI)I=mDcOOO9+}0`oGswTz5|V`i1l94XY2v5yWIK(=GwlL^ECW4{ZIy%@o(E%lW$< | |
z*u>boij#yD63pG0Z*#sfcsDEmS}F7ymw6~#_xd9-wXZegRUzY%L|IS15h=VI@O+(M | |
zX3bzqm`6n>@fX*0wCYajgvb11u3gF{ay+e63?sTX^!qkxtlB^CLVdVu*5CgN;6HE& | |
ze^yhjn^pa52QOB4<7ckv4byW%V~_Kh9ibz?yuf8&!0HP2L=GZ1xhwQ@-|bg&jujRp | |
zG%ilkE;)N@xQx(k%o>^6etQx>C^RJs9+qc9wpMAWwCNoPO9EKKG>rYd9XLBiRSrc} | |
zgfyP7pLx}hWVW#r9wG>B|J7POQsut{${2BId^8I>0>kye$_MX#nie>M>pfRi$OwJ4 | |
ztp@tuYD&IlKICj%2L;v}2k2tp-zbi7og}#CLZj3L<e?SfL7M`%{_{$;iYn9Lz;y!1 | |
z8s0`(z&Z!3x!oxRA%B|*D{l5!!=D$#`cNJNoMR2W1hy}V^XPpPYPQ39F8c)Go{!Oh | |
zoO0bX-|^7FkC)o!Ob}!}>m*^PjOB9Ef75LIX(1a=Cl{qgK+i{Z?Z*IJY_g`(4#A-| | |
zQhIQYvL1A9E<T942ReU}Qsqq*ei35LG`NZ6=38vkH9+9lXW7nA|GiKq3JnDmVsn4! | |
zHNGE`-umc%wYAuHGFh_@bKqI!&keG^JGrR8Wt$>J{>%C5{Cc$4E;I2mP@$#%egTT} | |
zN<*%(ASFjQX|stQ>2Uj<Qhfl<W*Yg?pJnzbW6F}ReYkP#26v4Z8vcCLAj`Y)Jv^jt | |
zR>UnLq%D`@Sha<3Kv`Iap42HkPxefi`rnxD_y1*vy@C(m2i;U)QT$Ct7{sa2uSUu{ | |
zN6jf<<i3;g{k5g>rF5k9e`|98hwJYCznbdCpMsWSm{KZ3)G|lDK9*SinYSD8Kp;Qd | |
z`C^t^Oa8%ny9=a@B@-P-Df=^ZabL5dUS;=<4-v|0#Fc>J0;)}~9UX2s5K$OkzGmMi | |
z($f595q&*;b1t^L?~=I=M>%{F3dG!@rlr(={NRQm1)JR^B+eVsX&nVH*h-HHN}vAP | |
zSJw)f#Hefe)nH`of__D5Wx|BAeA?uNSZ>0qmO9EQSk%u>w$MWPs>|5^2^7RcNRo?{ | |
znFI=SQEsy0(kT~+LU%1`$WabkMpkYsGzhier}W!P*OG9q@%{k=w%lVC&}2a$d&Z}| | |
zfOn88&*ck?sf}M_na+*IO(>xXKikfGrmmZ9fd_&4Z#gKgvY>xL8?X7ci^|gp0yD=B | |
zZO+IHx5nT!hI58jsowaDBbc$E(OQ9u%7cKd)(_91=o<mm96@x(!K&1yNbUF}Rq8^f | |
z_HMilpkvvbjm{SbtFdD9C>%%1Y!hu(tiMEiO(6Mv4BQ$&Egt0!v0_3%R<f8?$i3Tc | |
zAs>g(^qMut6S%P?B>6T1lX)8Pss!^H+ci~=v5XJ&XzB}2yFo*IeD+Q#=mBxVQ6O*@ | |
z&&#_DHVU*2`=Q;~OUnl>d)^2V%BgobYnAvo8qc|{>~12R-Ql3vxLRL@1%^FG7og4? | |
z%mKf<imo5ykTQos@u_+7));wiCVM7_QTY$Tzg4NtJeze7KFKe+M&QqbVE)GgJYySN | |
z#YxzM*Ss1AyWp$^l$6BiBiOBnYx&B#DXkK9#Ukcxo`DMsr!wS`j8>z>NBX7~k<=|A | |
z<8H)-v7%;g3yBEQ^8(rn%vxpAo*#%M41_ho<PT&!?`wDe%K4301NZPKtEG%z4}bTD | |
za$S<}W&cM<22?JIMF6^4;*Z}H^t#1B;4{$5*SemHWC;br`5{q9Wd8vR?=05dy^`-1 | |
z(WQKxq?j!~9u?{l(Zy2p<ls4h7#D?}@I^Ia_D|#K|1{qoO8+L5P8NTio68_Ww)0Yk | |
z?SI5bPDDD(?px<Kg!Je88|-T6Lsr}>s|qokBJ5<HC{Pys%~k8GEbhl=S#e46vF3Iq | |
z&6Dxyel0L+%FPJDX!-P~z?!yWaArK)Q+hVa_9m%Ug2!;LH$NEfQ%e}^6kIdxfOL13 | |
zl?$bJ|9p{a(H@K4xwsVrIzLDD*AZ9&ANnvIMgA>|#iK*haxL?F{rWsMrxM^)ls@!G | |
zI4k#e56u&u_HKD0Q(N~yv2Z%aE!81r;=3RiHnLiZe9%j#U`}vk>OeT*{;73H1DmLw | |
z7*@}4XmWo>Rmo%Z%%9oW>Zs8#Wnn=)R+E3n;_yX+#H7(iA8iV&H~sT-0dQaQ);wYx | |
z&GOaQZzug19j+>H1T;C@09a~Z!F1kHY_5sgh1=d8Q`r?AUizv>L;BR^#_gn4@!~(8 | |
z9#|!l*PfS|dNwd@h!%~eOTIGFFgEt{=P2fbI}-^)_?)N72xH~sl7f@Gi=@aa8*o*Y | |
zyDP_&sv{u4nR7!9cNCusfn^`YMAesVINvza+eOUf7Q(&Y-Wnx`J(FI!$$gp$Dy&pp | |
zq5G<fcUG%BuWAsexqN?4z<Kb2;BssQ|Nmo~N6?<d)_(S!=f++l5oGGq{m)c2s?7<B | |
z1pgbq^7!*-C*QSJ%smXbc^1qZ*msCZd>NAT>dBLvghZ2^!cs4y-d~8%O~!_0CaxEJ | |
zXQd}F1Om*j8){TIRY7`eq8sHjo90akmi#sLMeVg3u1nymm!@iFdK1b^tv?I~W+Xbc | |
z<GMdp*nO!M<1Dj33ipW!!Ts9q7!Ka2f*}39x;{aqEuzv{2KQkt7=#PZV6w7ZmDTa1 | |
z?PlQdH?8l=eO$+(4Rnw*u3`t-mQVb;gYTV?t%rec4;#(p_EssQ+gOli0oS~q<qpjf | |
z1buGnUh(kXF}L0oSk_7&xB>LO8oawvf=QOc((qJH06~y8<KGX*d^Ja2T>T++U-$st | |
z8`_u>MVcKW*{0Tu@IG5T9wm*<ayiMq$YPq+0s~Ps;cY%&9A|$@k)M782?@hE$jXkK | |
z-`c{w)Mv!mJ-^}66&{>;wlA3;Fr{p5cs67APt&~Pfz{)e*p_|6TqBisVSHBz+RlGu | |
zFLc^1HFe8*Za^7PHXKhzh!i2jOrJOVa4LY>3~1X4doAv{qC%d&Ay3!yzmw+{7kFAg | |
z0(Ut_^+&p$Q-p!<9SV;(eJ{VsRTss~3+(Ab=F7pyePE^qk1}eS*yMV&Ks5h8kXjXx | |
z>Q?Ic_9$ixCPn$u>e~wa18o4^34Dq7H*QDUb7p`wSRRf?y=z_Guk2v1S)%1gL^h#i | |
z_C{IulMPwxVM_R@T;wySzHY46{41zsz7gWwC!%W*6QMt?nw-C){d{5akAdyH9M~6t | |
z`L2k@$k1g=zc<K+b3s;6?iuZ#k41)b!a%6o=Md*r96uyhp07+Y*@<-)lAg<vV6n93 | |
zLZv41uoGLAA^iJULB&nA29@pxMvf`|=oZ5%13TlFoMdLwGZK%_y;MUw`s5Gz=>5|} | |
z^y3;cOQnK)uF;z*&VU{aHVC`e=+=s7_i&kZ;(fPt;;4f-r#R8L&`<ZTW@=i{2$|un | |
zRX4=Ik;!$pN<|e*O*-+i@^QuscZyqx$;V+rR4cFd%5WFs(C#UfcK2?lF;wmo9sSu` | |
z{UIb-Sn9bi;E}`CD*!_+2AJ5hTx>B8oRpB2w&Mu>!E39_x9LPd=v{qcby@hpwf&c; | |
z*>omWvTdiozi0)%Z%;T7!u=AGmYb_YV%O02sBrspdqfpyKQl2(?Xe->VU3W91W*P+ | |
zm7OmgpoXdgL1(|{W@7+LFi`z{<o{#uy`$mk{{C-5B%%``(OVE?ln}jyL`w)!qQoc> | |
zi73fLSbP7s|4!UWOF5YZF8w-KWcCh8bw<~&BO>w8_ld)?prclY(I^*n!`b9VWh | |
zJ?HGR_xilv?_nS_Z7F_~xYiCtS{!~gur{*Cn8sR!uj7M37D+jd*)eojIDm}deOMfS | |
zkwLmpAq8&58N;iQw(`D*;j)Ez;Lnrj<0I-xPgb(E9~*0Dtg=z$1C4KGmRD;%mv<D# | |
z>lIZjxQqN}T<$Bp-Q#<`ep1}LS)#b~WV$}iQj*F^kgLS3DE7xtjKotb>~$=2lt63+ | |
zi@iKndpQD3?twKwn(=JpPJDZt2&`8Ie4V!i`K2ZmPP>m9`UOJo2zK?*nC~d&HG&u4 | |
z!R4pS&GD0V$cICb_$17zQW*nTTv!mQYvmps(+AsS($~rwJn+XM8=a00qd!2b_B4AG | |
zEQunVPrlOEQbm<<(R$C!{ac^QM(8#M5l3}SJrUplNgLED%z^KN1D}$($lp@H7f8ID | |
zf2*?XTKgekf}oc2{^S^nS5IQnsG?xb9tU#|+-1&>bvbl37j&0-&-2CF)xwsg*q-+< | |
z0a8l6L3K_sS=_y-SF|lnM{8=0m7H5rv@D{lePuFNimyEtT;|!D&nXyNHmKjdHhtgl | |
zRoB%HmGkp+RWd4b&L_*<ac1c2sWI^YUT+6$`R~(B&)w{=eRetHbfjS|B~~UwT<7IT | |
zUE4Njy>^GbGQ#Bt`Kh{SbE#(VcNKFU^2L+3=F8Y1C+ky|1sSCdCG1Z_H{6?G3(HlC | |
z{@A?catp_mBst0##KkaE3!kN=a^i_8#1cb9&p24TN|aDgqvRfJAhriPXt*uYoYJ(h | |
zl$<h054BnSu_Q#U6mM4I3^|@QW51bXHoEWTX+zOtoTV6_y_8{LVTqoDctdeti$TeV | |
z9Y)Bb=0r;d)~}F$I4rDUnRPa*pNX2Ea`~V_Mr3z<X*aI^;ky1r%o1PtQNXcTH?-fm | |
zFlBKR+yG2b2t40V-4lz8f9<o!7h)QUAC;qA-t}E+tK{KGbl&9K?)PGr-t^mHJkzg> | |
z60MzxI>Ovagl4rZ?j&V{sRqC$`+C%mEcSAl$N-_GQk?y`dx<gX0LrX^!BCUfCNj%> | |
z*?;SXD+p7vi{bU|uCI1Xly~3x_~?4mUZfsA9geN}Sv`_@d*b55?|h&@=a7B9=#mMf | |
zes3om8T7grb0fM5740bvV0T3{ZTnYH-koxv0H7W_1;5^?`6fWVbOf!d7CegC?&RQD | |
zT4f`HC(2QLp?QWy`rVOl9c}QM*1l1-sUy3_8wmi1jJOM-GakQ?9&-1an@P9lrug}w | |
zZhbyswz&-AJ>&9$0to^2LC!r_gjNhs9;`cBe~I5F`+B4dMmZ}YTxieKdO7OE^7qz| | |
zllZRX%(~p)TM2(}ac~dgh&Six5TOx)5p-lVV|#JmP971rGpFjeFtg|XmxpMp;joj= | |
zvfi@s^J`{ek`WP!8@9&$f2hhj1HPSS4q`Z;Ss_HFsG*xCS<{M8v?evLN@1N!p|_6D | |
z_J1-s_gwTq`x?D!?#1f~E-^6mHw%oSMCb1QN__O}mx}Mur#dQjG#!uS|EU>^IS&7q | |
z3bw!c8V8><>vMlI2PjBg%n2eski|=G$vBQlH~ioLhI<R=_M{#+4Gi>m7mdI`f!h?j | |
zFbGPiOB>Sz+H@WKf_Su&OjO!OQ>jT>*EZj{`~6@P8u$Zb9fIzJVEK219!77dFQp%N | |
zwsJKa!;TC)jDa}yx!H|t+YVnWJ~z&v1^sGVWE#=Fj`_5W@`41c{p`V(I{TEYX4c?` | |
zoS33rxpu!4t{pSlrzQ)O8m$SD7pAW~$U1UQ%&V#0&0VtoO4PqSzTqZ=mkdtAxUIIo | |
z?m|jJeH<O~U<|Fp_Bh>y2nzVg#5Uf1Ajuo|4nDeZ^h}{__+-P#QTNoWykB)Ind0`N | |
zUzhwHp5s3)*pyN$#=Ug(jG!1QPg(!TMwZ6Ut~sEKDJoln-B)Dkjyxbvg!IW_kwmhZ | |
z^9;9y4!G|*K*!F-<ULJOXY&)byIuQM3722E>=7=X00dy%xvg_?cM*kN#)scR$2aX$ | |
zW4*t~hh{%>x*8*9?lEc@NA^sQHaAynoWi=P0G=``bJCf(196=@Y2$l(2C}2esyMX| | |
zV@NI<pI_K(sfS;8Zl|^!^6ln8rA&e!E}m05gm8ag@?Q+*gzci{o_UPP-TT5Cu$FVc | |
z*VwoV0bqdKQhrRzsy3*K8tU_7a>0x-La|O9U<%X?+wUHZD#1dhn8b}vUf6=hlE-Jt | |
zqpd_l&luc$IseLCeJofwyBhNF6)UGX^@ol1*EFuWf(Oo+z%XL=+rOANj^rq@yKmB) | |
z@a(v$YXc=Sux)jjx|=P<6)C9lobzWXTZk*)Ns{TukqtdE;W;9Ugs~E*-J_Buat`>K | |
z`tq%zK)0aQpe=YtIGSsOhzeFrP!)D&kRCj}mC7rcu9(Z2aK5=KIXQaPVSi;zV{`CY | |
z6aG?h=^Q@r)(?hfMS0((x$ZYSeC66hB7sL<-QRiO_eE>)rZsRfk@&jMLOiXMeYZ2% | |
zne^vWT__p@jpz)=QpmYEnuz??A7sjpqZ*NBKdS&Z{=h3crL(kepCM$P!xy2t0^>(% | |
zN$-7T3A?AH8GiO;1D?WgKl3P)+t!<1XqN`rP9tY1Sl<Dt(D;6KIT^Ge=XUR`;~BZ0 | |
zVWw}6kgX!uax^U@QF*=0i%1|Q#b{TK(*5haj9%uh@k+ze!hTl+@>_VPvJy!VI6pjs | |
zSrEYo@)0XA%Rol*(53iwWss+syGGb{ZjXY4M$cugfV`Loc*qZuNV@@<!pv(P^H)|u | |
z6Od=mI1bHdzJ0iK>*Qx%j#j51!9>}~^YqBAf6U`O&@H#ypo0X&w6AZO4m|6h-SU41 | |
zOwVpn@0|I@u%gbkuhgp+j4rp~cyyJL+a#z$p?10rV~TpvV@%_2jf_>r@&)*|egc`w | |
z>-Bt=(|tVcac2IWvwy<U@L1LvCw!q|!8h|GC2Mw&LZZKS>!m3+vIRdwA6^w1JRd3C | |
zD4^z5^Y@)W014@)Am4w^DkT2WW!RO8$W>4#Y+aduV9$x|3kpc|-Zj>?9Phto|3(&b | |
zqY@pl>L--Ri9!#!6d+I?Hx(W5rOx;;#%i<X%omGsuuDE>S&5*$2{psZ0LZ6XyC-xB | |
z%6qcJv3U?Zhz11NOZE4vfs8kuv>V#wJ6mUb)^gw;pI1`YKXB(u#?M`2SgOInp2UlX | |
zE4FY-_+oyS$N6C&WDBrHXUJK!rn+qIDaoF>%LsQk@9eEZpZV|5R|;$Te{DfsYw4xl | |
z7du<y=N%`JLTUCx!py#i(a=fde@V)zrQkD~AV0yaXY*U_NF^brekyHz&+}W^xG@-f | |
zfosKpr<bqheb4&Rb5i>ep=&=&t(nz!s|dYpnkax3Ux!n~2;(Myfs<1T74X}-?;xwH | |
z9L2Um@t^hr$b5<S@MxHlzv)*Ky9~pfJ^29?$96b81H9cNls2cB1=+CSV5_4wP0e!c | |
z>E7iS0)3%5{BiDKv$Nmyw0_E9WJg;Mg05!SOYHE;RCUfWP36ij<5lCwz*b{mVc;h` | |
zO>)F5XMaSx9*ii{>Z5LK1lc{fq7coL*OE&FgRZ~zo5-F0;9u>aK)tls0VCLaaLm+e | |
zzQCMuxf||-;Dr4Wl5oMR<e45lf-Yjv1m%b9{L=;I8KTMqpYM6k;cFnrHOe=OmZr67 | |
z_%f1#$^N6quVp<J)KGVy_8Q~9G3dSrn3`0;n1<H?eNom}(lDz?O!exwm?@5Ea*}(T | |
z+MD}~MHygsjM>h4^5ov@4d2<(1C58e{IqxrcDjMHo8a=)-kv6=t`z=8-RFuzyD@=# | |
z!5IEUg)8A=g#wp*&K}Hux*MPrc0Igw&czB$m*e{!S4D#oj`1GB#`cI*jg{=i1Yi+y | |
zG3eK+P4ES<;$e>dIHONir<3+aFTHtfKK3wKyc2)SmjB)LJPNI0b?+}Am+u!jgc(GA | |
z&vji3h~K6FAKtpVGckLm>znJRlG8`&d0PE#C&UqtLM4^1v?<{kTxM;p_v}TV%tP@l | |
z{O7ZkI`{Z{Iz}{pja}(WXZ`Pz68{%ezWa$;M~g2k)x~EyE)3lE$|0|B9b1&hT}xKU | |
zFPFc;prDrQKO<$1jPB_*#g`dBXyUnUYGwGOl4p<Ao?#qPQUig)_MDOE8`PgxkXixO | |
zg?Lyl$s+~X)!vHl2sl!JahvU7G4df!&n~$Me;&Rpi#K;^_p-~v?A?~|Iq*5yRRVS^ | |
zr{@l;E3@!xS<4@8MjfQ6?r!v^1o#|G_FKpwrve8Om1c80$r6~wY#NZow7061YzHao | |
z6~1r@HC6ZgYX7JH#bos4J*OSG-A>u-Ns-5L*mL6*&7n&W92^KZDAEmdy_&$P-*NAW | |
zR}&KY-RZ@vtXO->X)ybbcL8_`@Ow7bHkR*BzQb9&vzmfn_RH@!XM6_lT6o`-!-n%b | |
zQQ8NvBUQ5aMQgW{rUG0KZci%uq_p2v)RaC>WdSI!+{v%LHw!!p#4JhFab|TxhbtRq | |
zmagk(rC(v%R5F6_d3zv_SinHX#v2sG%QFE8Oqir{K1>+IyBfD`41pfW9`6+@NgQv- | |
zKr8T`k>L8J4cYOgw@DIJ_Pr@!q+J#;!}R1Fhkx7TJ$IG@XOStqQvG^o<)fi2(9w6h | |
zCt<AqpR0yNoLnNm2s&bxg&jXlWbggZ1~oYx6o9}|$CIiMPtV>qXR+z(iXTmPVx=FX | |
zK?C=NDr5W?c`BWOPOm3QIC!A%0R`+AMWx)_PwGm?b8L?%ceQ#`Qq=pdV;A|Kq(D|& | |
zkqKT6$k`|3u-5(P<;kJ6p7LAw`j`Ch3)u%N;+Ii|xH=|>+?^VfckX+Nr%c1_)z@&J | |
zqEZYenZh?yJKwiUdNoF@LvfbBtpclH_n3e63B9<IIQFR`zSTin<_neddVZV5A<0Lx | |
z3a;55785D~hY9H=lrNRFwPDTq(hFZyQyq5b@Nb36FJ>CPLW=8qNuCzjSFf@csU}FE | |
z$CJIjcpf7)gWi&+_B${<$!KWsnHV^RJu-FC;P!pq38~zK93Mu8g0gEMcjdkvp8veo | |
zr{oKua7yZybsaDr=80VXv$A&`>26;Qe<IH1z9VLLi6z>K>j07UUfo4QEAd8n0I;(1 | |
zjy~LVk}(?vh+MoFvwD+?`TmSD1DTVh#XM10;%^P^($K^EOT;Qy#7bw{@GZo#LBCIr | |
zKfyFu@D*SnsT}+5J;vz{13z_tmF|cvhF^3&Zx>X!+(NAUTOl2p<ot0bi1SB=(Uuit | |
zo=8KP>{S`kG{vI1^QEciR6O@N{W!_caPSKfPV&o?^<~c=#Rl>uD|v>!boMAEsfLRz | |
zP|bgTEDF9?LYZ&JUJ<0G^DhP1|6I{L2iPkS2djk?yPsZ3|9zzi@L}}@N^qp->FJ7x | |
zPDR-czeU-?4}j@r1nH!8)3>B!ip5S+g|X=vM{2u5)__Z1JSAXpVIQ3KYhkh}*SUBn | |
zs=rk`KE8ykA0wVdCBHDdrrxa~SsEY9?o&+Vqf#sa`a^)t`A4|p`a-#hI&VFGkgUC8 | |
zA$t6~3C@6%$xCZ(@!|OCz41ExSrfmGZQE&W63-10QchgVu8JY3ea|xL?^p!yY{rq! | |
zn%C`rM|*ut)DUCc4iS>wYMUp^~&Xrtu<Wy|YOx4R?{hmh+-2uO(XtcV+gi*gNM< | |
z1x;crg1^2zf9tn&_$*_ve8@m=jU}gRFFU~45N(iV+Ue;GVL422Y#=>WqJ(@|nv%6o | |
zV__e&VqaK8KpsRxkiVX;&QMuH?jPTG2IhccOxWA7?f_mgZGt#Dth`J3Bkdwr2(A&B | |
z#c%Cs1ZNUYZ&NeU3m%=Smp?B_(tdlu9AeEeY9%Zl87Cj|ISc7LntX3-1+a0PK)?o% | |
zz)fvIIy$|v5_%mYmhx|1LV3z6ggG8xdh(};SztxgS37F%3U3VWFE+A>k1CvP@ncHk | |
z!RvX{rr#xAB;<@MQR`f+Ugf$d=*d#n{Khn%plvqS-Ud$^=@3;le$2Qv*xQ;~!)A8A | |
zTXBB9<h-KBsjzqneTc?~{iLVoAr)sOErxQtvfLo(pMM({L)oNULh|FpyEQw9L#y;U | |
z3A$&N=_tsEG2ANKj&dN~KGigUu}YrM)YBeyUr|mgJCgv$a&Y;nvU=wj?@WFG@%S3# | |
zC%tbYQRDj}>}?KT7vp(Niy8sBGcfOuZ-b}qnkvv!vZ-pv3egTVUxSQKPA^JD*K3<4 | |
zJyIRf3ToQ>oV@XrBN>z@ycFm-4oiU}`q^IS;%H7b6%=DqZHFiv3=Qn>K@bNxKv52V | |
zusz-h=730^@jLnMf5G*i4AxNA{z6@2|IXu7(RZ05%wwKUi^|D)^8-BaaDvu}0jJgS | |
z1O@T=+CoN8^)kW)dY<-nC)edf($V~~5#AK?cIq0L89@@Cx*oVkH8nFVt0itL>Qk-} | |
z#Bc5A)iR}Jp+=GPORuMpphs%2K4Xpm-)T69X6!aM1KBG3C1#qwp=e-#>}28sd~r=^ | |
zU$B$!4TFUGb;L>3KRocmoe&P78N6F*DeG6W3r2E0-vBZj5Z)B?Z@$y6+Pv|{gP8a$ | |
z?UL2$<$HcyIW`uP<9(%{lQv=q2M!1}xfTgX=Pc2dmI|(=l7B8E&K^Rrkp+wCW_xz- | |
zQIkkkQ|tuuLjH@|-f>zl=3jD@3oSZzi`E)E8hh=WJHh$p6%jXr)xeb8AdMcr^#Anf | |
zBKv1pdI(pz1D9aJe?m0<?>Q~t<EUiZ9G_iDI;}R?*c)uUK~18l5=8RtKPOB6_p6ol | |
z`2lW#^qmPS&xh#yC#$h;9&&NpymaH5a|~p7Y7z(8{2gY$TNW_{FZi#2I<H$Ob_VmH | |
zyuZm=uWzTEe`qcsO-z!HuPK!;EXXn((X84o_&^1Ocl)2}f{XkUO`7!1yd>zDQ$Tc| | |
zYwy1}L$<n|B8nlc(B8Z$DO+6COOP)Y{V5hUY4pz!9jO0irzi5DN5(QJz%-CWu)i^x | |
z@wFjAx6HC={3`9y`*#Ybt?L<83A014*E?NXVii>efzMQ#bikiHhXnBE92k6gP<0sc | |
za-=@Z_55k$+|R1++O4EYR9?JkEgm!3efhM;XeW5ft;#DApY-h{4tLI@tW%Bhlfz%l | |
zugf=ssq}ANWELO2Dfr!zGTz()<bsh~DhN9$iBxPJ6!x|EIArjQGz^Qpo({#^Nbb~I | |
z|Dfy`g?&F+r}2z@=aXQ5RW*Zye7f^-@*!^6m_F)r)jAk`He4Ti@}~8=VIBFgV{&*u | |
zptDYy1CUnS+lI*_IGUIc?DS1O0;#PNsnbhwq>hjPrV8H`SuT^lf-2#FH7<P>d#!&c | |
zm6c9rnHrDIthf0dRsX6|SsA7FmHMek@3=bs7iv=wSc74rdGAH#C`Z+t*(4HtguS{3 | |
z_)Txkw}TQ(D)QpDbMo3#h9vH)f#{f~le!gk>oPs^FAemfwoy2mys%D_sCe1AH-a4? | |
z9hO*sknN&yHbJO-blBD+$kV1472kR|?a&Du-iRYD9o4`UxV`t^OQk0vri&*!KU4qs | |
zq$R>MH;h(dR<wQmE?kdWr&=3Q#6YI88lUj)Hl=*ao<A2nNm-ES-g;RJsQ5WKr-61P | |
z8Ks!Rx1DX1+v!}R(POs@t}N!Rh9j^I<W)Aou_E?MwkGS)>5XYEGs>r~ZiEHl(G+~E | |
zBd!c|Q_97Q!_qzHMYt8uTVRf0H}Bl9g1jR^Ldo2OyQv1ijRG&2Cv8v105j=DooCWE | |
zI$=Nj@r4R4=`7Lgp$n^<Fr(v6V|sr94C5!(RRw!-t8B35!0oRm752}-z>s}pKZz^0 | |
zJ*3sLrbA&U%)ylAFuEqnzkKMm*g;XOt#OIwzmzNw)9G@8)~TKeDk%1v0@ZV6dBL%- | |
z&;I}J^8ep)mtPaErIb$>T}41qkRyBz3i5z-p{vq(g@f=XeX3*88~SSfxwtL!+5Y$b | |
z--Wcdc;wRQ9w^~ULHMFIGJXSA%Z}lDLkL(M!WktxZ(`v5Vv}}B!*U<0!l}DvF%!p} | |
zqEm3|NBxy1jY}~b0-}+P4oi?^cFmUZ2mOPk_1x4a^MI5K4z~lczb;93DZF4D%v~;X | |
ze6mu2+|GPC2Cl*|_1Lll$Wo<H(q0Q-X%=v<I;es2c3roCtK>H9ml{FXYNWsJAE6IW | |
zIJo*tj(+Bb_A&cRX<+g?NMR&^JW%6B=8gw{<pM}SxTe)aYD@1H9C#=!y&NT?)@;gy | |
z*IHfSz+r8ip)g!Q*jRsK<=K(U5T3jR1>rIN*EX8*;&-KAsOQ+C<v1yKpNa@->YIK* | |
zJsr6++CX-)d)t@lRR=pV`&f4<2Sz=E#b>{7U4Haxr*uH7UxnDRj<wbgGjv(_d?4)= | |
zQh`qAyV@tsJ*JtlpWt4y=}gQFnYy(<KKD6k8a588n+A76*>C!MbsqTein=VSo^mDt | |
z>zs;%9R$ze6)zpMWBBhFzImqK^3iqPsEt?_`0T~JnsIh|QMWIB(}lEQSh*&`!uR1# | |
z$i)I#K3ffr+R+z5>&|B5e@b%C1vWI6w)OZr>pgqQDB+j1cof2r`o`}%@%Dr0G_41f | |
zqig2D){h?di|K`=^S{rW7}|pFcqR8=Gu5+|=(#jK+ahJfd4My-zbu1*z<zem4!H+5 | |
zZ@p=%fyKE0LzHWNu#LKBaiux@sTWZ>`d}sbPPXr{n?Yj(r&O`vm@R@8Fskk*t$ROU | |
z^R=a>+Cjp(-nkaqK6k8CbK}hDv64EUY~+EL*$tg~hxhoH<lW63x~Uj|@0#Na0gVR; | |
zz`$oMr>c4`;1k1H-=85IGrUa@zML9hMDRmcBWd&b5QY5LiRxEQ_ONYw+umG+9t+S) | |
zdrC3~$W%F8g>&9`TZm*BZS{UvV&+uK?h9xsLwU03KP0NTnOjvJ+_Lw^8J_S=$Wex5 | |
zPYOaG?Fo?!Drg*k#8x+oHKo9B)Q}Z*!rU2AY}Gn!1qb=3*7PpEu>Jc7H{E=MK8kEr | |
zNiqoblS_z=g`V2TAE2cZn-bau&KB3+{!6OK4vA@tZ|CqjzvlSKuVL@NxxRs{3=Iqg | |
zG<r?QdL&LY{6itD9Rut9NrZyv%(^t*Xy4lp(_zj(5Hf3Gj~hZCpa=HxFs>t|zOqj- | |
zAKse!9fs7=9|Y<98oHZ&#^K^fe{e1plbJd!>uS-y)xqC3QA-V$oGzaf)-pU*d8Wib | |
zc^?`$cp6ljkmT>j-G*DuZ%@77N1N(EpI06n(b!1{I!WFqltcqRJDzBlCfC3eNJJ7_ | |
z&#Ln+QyNUG?Ptw+9USR$JoG)*cF14R;E);U1P7dppwZm?>}O$LvvmwK15orkYG0jA | |
z0TN?4p#4Is>kvME%n`7bv!&<G6w@D-BlJ=Jwo=Ii8c46k*?i6$Y*Wsz0YaYvaq9G1 | |
zswO;w>`LvAN&;NU9b}@ff{Je6-3m(1$40Idgz>rR3#$8i%VVXn@mDN}(+lzDB`pQ` | |
z56(LWF|rb?`_RFsQ%VZ)oGzvZ+h8HBk2MggJHz;`0iuY!8enK2(%5EM!<wa@Zp2cH | |
zhM<<~*{SqVKmZnv%i7}CNlIbwpw$ZsP?rIqV9k%JT6&jNCeKs(d}L2;E2_x9G}y27 | |
z;TCUe`9w4sE!|?a(F_7?BX*^EX%n)o5j^^NByUVA)JSafjj7$0pK^n2FI4X|cPn4` | |
zXMW<hckCGB$YN{+H^(-4$hB_yYM+#Kt1{pvrTOpB+x%OO<?9D#X<;$E5B0AmH&zg; | |
zUUFhQ=};W|Z-o0l<Me(tARVLPdNCg2dn+qLgPYJN8P{bEuK!(a(!Y6o(<7TJ?4X87 | |
zS3^EE<tEeFt6m%U$w9k8Nk}*O<y&_;h)%kvpKFA3|93ja|9gfG6US-cd!B|@KT6|o | |
z`U{?=uZxL5R+Cq6^`dkc>F!njY`Q(`0Af}(rt|w*0{3#-`7Us-a0b!GjWClcW+!(j | |
z-_N?IpJ4eR@QozNy`WTE8u*jx83mo?CQR*$74hQ<smjf*pUcbaE(;wIZg<TUD)|WA | |
zJayp7SU6_d5hC{`woNbdJM%+gOc_WbU3p?ybnZ;h-JRg~uKy^kUGnTjkC@B;_v8^0 | |
zV&x}p6s~_AT`&F6D%kmLRKiT3V66T_r0cJvx-V&Dg{%z5x~9u0<*;)^;^}6w58g(U | |
z*j48fq+QP>sdQwnmSs-H6SQOwPAY#pDj2;Xz4Wfu_lY*ay}h#Ttju3WDMrKdi8c%C | |
zsUn0>zb{`}{Oicv)I+ro9N_A7yuzRaB<;8r5Y7rOl`Q;K=F`1PKmH2R#Prjfzk;fe | |
zGPywrx!*yPU?Tsl{Mz4wntD9=w^1o*FaBGI&l7ID{V^&hE0Ww2%|OEqauK2WdjA}- | |
z<~u1+hR5A43kWZ#hi#@!5}`4fkNI+cRWE9~Ec@5d${kIwzlK=fPs07LqrPZr1-KP0 | |
zY2y8&^beVq@(m<4W`bfrgGMTlmk62xI;o`k46kF~wifutx_Tr|dY%7hNOf*N4m?UQ | |
zhZpdg!;R<dM#spN{<;-Bic1M!l><E`^NF&2P&Dlk4O18re&ma>TZ2;_aO6#6phawh | |
zpYNjC9IkmZlws9T*FCVCp)V;TnuTPJtP!MCLs7lg3AzOKlLE+X6cW_^x)~o;6r@e| | |
z{bCmX0OzbMilD5?ZT+BMgO&p}>=@M<<}4iHuz1dDc7XZK^D7WkVhq*^n>Vb0r+d@M | |
z3dqT9_qvh2%a?z_h`RjwmX7Tg`v67ob&)-mm^Tg#vK_$TSMo)H_@%bjo?LBK${gwb | |
z@J*$07P5(a=t1-Npi%%G7OgmJ(=dkznM6H&3RP0ZHUzwPwDD{||K0|R+H!9`?5~)l | |
zn;x0%hp&bw{fc{%J~oVim>`@H{B52hNT75nD@!-P5rr8?_LnX}vLMoDoU?%bKpvE+ | |
z_qFj(D7Ic1w6h;J*NM8?)qgE8`ay?@1>l88@2h8?^Km+q*$IH)u>%-8U1rOv@l=yf | |
zlJp5=AN&>fQtGHL-=O_^U&SSiK0E&Am3J|N&2yrk;qQ`OeSWRu)V%7l+MB;$yFpIE | |
zI=?(IYA};SDlL%oM3f^B@W;;LH<y5bPFUdlFV;Kwv`bn<{23FkCNblfFm&fcfc+vR | |
zJ?Rl|q+B8qgP&n*<7=#(B*ZxfK(4M}8jj&eU8s^T+lCLV+gXao%=D{J-iv5~5{Pwz | |
z>0)T>QBsKT=J}<;>yLjapI1HG&ZZTlHTTpq_t7b&e&NkYn@Np>Eou#?bTZ>bF9G6f | |
zK6x)AJWr|jYXV#M&lv37Az|1&rIiitpTzxfF`De^)F}o3F}qfk{C+nJ)!i?r^z!f9 | |
zk4=H{N|(k*I?AN!!|!z0Q+8j+*SmN1iEFtyPV{}k9h%&(Q^}^WpYJkU7a5F!B!d5N | |
zhX1j=6hPxuo?!yGM0JWETWfgE0@G|jTb3a!xq)kd9TJ<eC}XPNS^0T|<B1tmi9Vvn | |
z9D)la_`;{SIUun}?CyT?3VgaBwm&T0U&W?~!k|Y_dXsaNflfY%^JR2A)Cn}&MpicC | |
z;kO&7`sDEY54SOVF($Y&Dl;&|#Hr6kZcHLM^s!fW7UTm9*<{_}VtR}9t*D0$wBc>K | |
ztq<6o>1Tw$ig5chku7f7R09hv0p42dIYX~5>l(TMST?dMnhoeXZ(<VWq$;;n*sNX( | |
zj~uS_lH&RlqL>b38MFmc3(9keKtOL&x;Hltp^(BX``0arY$`n?aNv4#%8`a3;(CCd | |
z`0bq-7`Wl#U1?FiLIasKUa9RfWTNa!Rs-9>ukDq=)k7~V2zR8NCED`An9SGFa$3V3 | |
z(7H9piNdD5=O9L6;JbioKd=_6()4A%J3=#KsHsq<(?O_4@cY#c6NXqnUALCouy{v- | |
zKVdg?3@kYdLYF=#S%IwhCD)=&laV2LMN3kv{P*P>{9TB6vB^;VKds$$-GXN}wFUM< | |
z!k6am7t;y+hUhYvNihx!fWe$qcBlW|`o%38#0L3kZvl{9*tGf`yH8$E*+qtLw%RZt | |
zs&r1uKQ2mjJo+G-&TMy2c}w93G1_-W*O_^>XsclM7lKjbxL(!m%Uw9Z34UC5)-Nrg | |
z;7Rpb`d0_*_maeQ=o{x|ke2}jdx2fp^3&92a`tp)s7L)tu-ZQyhHt)}{3iYUj4SFH | |
zb*%#aq?MG}N_Y<yNxi4k@xXrCQQ=PIn`6f^m;PXnC+S;v?%zEb2`;+blgcun|MN!u | |
zrN$w(rk@dWtnw#u>ITjDrI9%G!(>c9I0tuL?FfH7BRV0IvFL^CDNu<e$!_L~*;o&y | |
z8HzM;G_YA{oQ7;i`x9OBqUf-<ThN)a5(W4e6<#-P;BAQK>3YS=#-@h1lse1qyh3=+ | |
zVfq8Q@)WnC1LkAvws&j;4b^+uQfkZacDm1FN|NIYniX2V(OqyQy8c2uZC25mY%Qnc | |
zN?0YLALC^QT8S$mZm@cBv5KdmgHf^Tt&)0sUh8q6QlC=f-FzJ)>UZ-z4MX#<_Hqr~ | |
zSmb8|n?nYy>02+f5Ht8cHooG29Y;=rbN{Jl1k?ss%kGoEdJ7y!!p^4NIqRzxMcEPE | |
z{kZqcT>&HG`(zcS<7Z~^GE1--(O9^8g`jNcwGOcs*-(j5cgl@EL62yV)4W*PCwF`P | |
z5hBfu`?m5r$Dl=W5{I$dGxE&mn82E~L-+?Mo9-I##8$e3W9Q+GsU4shfjaqStkHrs | |
z1tN0CDQsje1g%wd^?1L>K;U@z(V-W>*Cg?bxA6I;LfOfbjV$fJcUTZuGuEc3%>Uhi | |
z45j3)Sw%%xlPIkhYHPdBSrFTb%;}@!jp_aX##V}!JDCf%LWL(gaeebkeSHwfQOOES | |
zEt^*z3PIW9V)!XPoFCpxznW`{m`GC5>~sj-ibtC)>rX?jqeOr8UVT*7$g~PQ&~au~ | |
zUde3xzzQ$s%ga3fJ+`VV=kkq|#u#n_(@>ojJ{kHv?nOU=qu{tr;3ym<=_;wlxqoI7 | |
z013r61VCcap8E+)+3l|i={XIH0T&5SP{pX)cPaD85I-qZukK?30&QVi67kNl_7XYT | |
zA+&5qZs(b1K>#0@mH<(2^rU_6EpTK=!&stZLk3z;O<5$V^s06BPgCBR%FFfIbLw=& | |
zmUSX#_r5u_RcX}P5s-`jk?=+ky3FUzlzc|GE$$!u?m4c&;ItFH?ZtOL2I_1lDxOw7 | |
zE{TYjyDvh&HAy+khsp~l`aF~TzZtI|M(b8%8<DURP=wX`3hRm+JooeIZDkSq%-;cZ | |
z>6;wLp0t{`&@Gmp<JSAxcF?}th=I>5`+qdR^>P-nTI54>gUoc%yNb`d+?xW5Bz<2s | |
zGm&gDSNMEQnQ6vpojIbqTtmHQO#khnwYZ1Hi1rpx8UsOtS891(8UtSMngzsT69Fuf | |
zmZ%&+r&xcZ;+<~@>rkeD2Ej!>jMpS0vO_085{PvZmILPG0e}305P5ic*Uk3;tJnNn | |
zrLW_=N{Uy8%sn;yb}+0cY{Lk~PN_ryQH1O%;Rh}0TYVbenXjB`j?FU6kMo*AfQTbU | |
z-QJ^*us7+?zN8b37+Qh!FkYZ)J$?^aBPS_Vu}V#>w3;z}DBTx1Y;i~u<*PZ)-Qbw> | |
z`KSLB1P>K+D|IejtEt?)9q!u20r}8*uhS`Z?-6{o`u@ZVMO^=D3bveS9hWZRGAC>U | |
z!0gpEjDRu`OR2jj$yVw0NJmp;0M#9?8r;c+2o$oX+H%CwGUsy+0#dS#W+6k6bLm8M | |
zW%j|$>hWv4U|u{?27vAcyuT`gF1Ra{-@AzGAvnoH_*9}BC-yKaM*T{e918dtNxXYo | |
z3;*McWW+Kli{rO0%K?vB<Oer+%_6Z%aNOT`19W{r*FhGbWx5M&-ck7im6FMhSrj6# | |
z$IyMaVKXU1B7dFX^($TBS0+Y+92G#I!))`NM|s(1op40U<kn^G@<Etd&y$!Nua+-O | |
z`ccv;C9Yv>2JV017U%g^hP1f(&6x>uZEbPFj!l4LhKMtvH5*w!PPNp4i(;V7SAT;( | |
zg)!!TpWY1UfI}`NEu+pk!TnZok~5pVL4NY?(CK5=ljR_SLvIV~SAz9B*wp1M*h9p~ | |
zgR{rU=ykE{??T4{`Cbl{?&|U=6N|0ZZ+RdwD3^I@F6&s!{O`=%fvr?TQUs{OZ}vX^ | |
z$}}3vo1Jj+98xCJke1J!I4Z7TvU${swc>*PV*@|p&1qx$y%$S^OkmW2V4QV0SW|TO | |
z7gt)gmW#G{tvVXfaKRKu$6w1ysd~|pt%Iv1`_BD4=MRIz*7e%6L*8wg5zeh1(6N*5 | |
zpV{FEOCy&R)&_sO&Qy&VQsvq^oc<Pb|Ew})`@n90FkKG0s5PnBbd7A3su3L~{F)yw | |
ziRd22%e##x=k~8^!r8%Xb#Lxa>vsz=k_?Hl+9unJNyu;!jo%k&M}*`7U;UAnF;3^0 | |
zi4TczkOK~-16!kn(J9qmx8LBG;4<<*Isfzmzz$KmJS7e<d{OP}!5sF<`au}2FWv(y | |
z(-eE_664g5gHmcltf9FYeu;tXi}ZbFYxdld4H6wN_aWzx%G&N1Ih#l-lJ)k7G5h7u | |
z0~|WQz8}Rzb+|$eU($Y)xx|0-ko`92<hl3FYQI#{>|7FZrcsBGAZ%sI2TlDW2C@uD | |
zv*kl&SwK-4pG2eA=!!l<-@&ZtGIvdi1TKX@-JU8UzDeZ!T)KH#7Vmr!5d8Gv$wh`A | |
z^1H%L;_g^Ee9UM3Nh9&45Aa+P`)p*saEhb%<Hd!b!S53N3s>7l6nkC~lgst)@e$nF | |
z33ZMY0Cp?9=754BTol*|CAO1ZDo?djs4cOnB9(a=Yq17qarwOFa>H00*$QSW;p-v~ | |
z*(*DFlYczGv^~523}pL^S=G|U3Z(EonXReqz@|l=g`*yr4UDReR_=uKg{NT;DVDS` | |
zEiP2MkS)g;fHh7Q|Bm<MW1C@yJnX0QsoCztK5{yYej<xU-Nbv`7=H>)HvM{oYaiS2 | |
z7TGT|eccf|?#0}-pBU&}j^dM#^J2!{a_^q<O_hxI_4t(B2k@Pt&(8!D01j8&BWLD^ | |
z+=DanwMbfWjmqKQAjH-PZ<x%+i}bdP_^y;u#XzG$aNEyLb~H`?tAim`<j1WtDDbc= | |
zKsdmeZNKkrP`LH0IUKAS3qu_q8`EP!i4UqLd|jUH0?jzs{x%8^KER+>?HK)V;}2%P | |
z<f=#(H7El6Sl9-}Su=`lXL{$z3IpsqE7eSGEmFUn3t8NS`Ahrkv>$4nNfX{-`vTrl | |
z)d-luV@Fh<nI$>Fp(vh<7ir(dq<V}a;RR4gV4LL?JND-+OCC>ZF^=e`O!4a_gq%Ol | |
ziq=C#Uu0D6ib_GJ93?4oA<t=+by$va#vJ{TBEFGuAy<hq_qs-LK^g%@2vZq3t6610 | |
zz#Z_S;q{zF$@T<{fP+kriFZ{0H09sMxgMNvT1>zgAT|&2w<7+prI^(o#TsZ!5^xHd | |
zS0~-t7yXOa{<RPu*xTai0TtTOTl#$e)iD2A0Qc8@52iVe3-=0hpU&E-N*si!K=832 | |
zqs&;&Q=ZwEqCbi6(SNk>qEUXzTxEKl)bDl%3+E_lhZRJcr4k$b24l}Wq3-N>%zo;; | |
z{!v6^`qCZMYwu*fvn2Rt0$R=SoDc=$8pl^*>E}3lPo_@+0u!M!=iJDWkR*EQhF(21 | |
zwCN@+z4P|wTyzoQPsl+4QwV=KwpoDPpTDvU1RTdG+PMp}4m%-c-+hWbr4J$?HK?4v | |
z)w?<U*+!ju#Han2yn)S$4zLbk(sO#6@7OVravM$9$L5H+O-Oxk`qKxVwp>R$3y`_g | |
zRiDU$>KMVG4={yb&G~`#sd(e>2qE$-Pp=le{c*}`y!o(HD+^6d&C7}Y!>N6?nY5=< | |
z(#cQl?j3jjxN?e<TUR{o`l*nJ0-iN8+$AX5>)m4L%lAi1GOUfxR;mh@f3Yb|{h(v} | |
zz-E>lM&Sg+5RBSOD6VIJ-1U97KL`g*gbS|^gBpMax&qqskI8I4*8?f<PmbEV>K}*B | |
z@W#T8#(uy^99MH!l+b;$)f?|xnZNY`W<7vBllk&t|4ppt<><^hLPc3X4mdvAHG;yj | |
zx{c{?09ieJ6=l@Wz0k$l<gt<`0c%`FR2q+Dg1APj;U}$ZSU`MnYx^tF;~aG_#!Yyq | |
z-`&0HZC#$>ZM2MU_-LYxX&!i84Fzkq%u2+NJv+0K!fs&(pwfwFf$g}TT7=CB2PDT| | |
zkl#L)L)OfnCDn?%Le1R4`08=vV!(l(sd5c`8-;D#_~~=0l6PfVv>n@SOY#Pm6P0#$ | |
z4~xW%@6s^XeWzp)(@w^CIj+DU)llB2P$^u>;^EFYur?*Bn#LK<7wGtthM-DK_`Rc7 | |
zYZ6aFBi`{XJZ@Ojo)cA8NiqK>Y&}o@VVq*Wj5LYpMv?YQ$j81*${M{<mqMBQ$^)>U | |
za%Z_lUya=>xU#4^*qMbvU43jFd|$+VX;c3Q+PTrGrB3;Dr@j+*41sOe6uR*4FSTCP | |
zL7(M${go@!?LDA?N3%dU`fc59-VtBA69bqm0>j&dEh*xVV{HHA-OChDEBYbh{<y-+ | |
z^KH>8G;J^T4zsQRhe@PaT6l6Jojvxdqofc;VC5VZj~&fY;#k5)vXJ#wbX<<;zU%rk | |
zfkyjj&(CjZ7i5x6_pk3i(m34@ZuT{<iO_En+}Wk}ScbHYqF-rmLiS3D+-Y5<b8dM8 | |
ze4;gycrW;1!`U5JABr7FXMt#=GXa|^b<W3E@1~5}`Qj^C0^_UrA(teVJq~o=EV|RU | |
z1x2pG_S@>kqnTK*4uZOVhFrMpGBj{^KV$7MFTHpB>mV-Wyk!uVI>DSB<=F{L)+k-R | |
zj8KW7QE^q(hvD<VniGy0kYQiF;1JSRtU4cKPuA1#rt9&6(@3aX!0Xm<lYH~Vgok@y | |
z*_p^4Xm*GqoyG4KCy7sYw0>}N=77a#cghFKj=B9RI4|bE$FsjE_${%#GSJm-l6vOk | |
z8DX&-yjQFyE7II8T4dDcz;Z5qZXX+2rM7b<HbvkZ4s4?rTG?Bzh8x&{w~#yY^t-yC | |
zg?)M<3*XxA%Mvd15mx#M6)vBPcA-$%!h0?gL<%}t(Y8}2p*tzD9dy0Yk=0=x>j%T2 | |
zci~-7-mdHg8VA{HM=!s1n0SJ*qvHWMuiN7g86H3Uqs1d0id=T|gm;kv12T$c^@*p& | |
z21X`V@9x&Et_$U6M=Mef?fextm4K_qaglT3?`swDa+^Z3ZxKe*4hHZU^|8x&>~Y$X | |
zeUZ4Nlc!3_l}jzEG33s#)M!}X`~Z(|Z=d@{PBLa5r<G;I4afr88nhQ_qBr^-u$z|9 | |
zr#M&@*3TX!60mfW(igvfG>mkH!uZa(Ec@gkX^xXfyScP^js<d!2l4J@nZ3<eB>3&r | |
z&Bz}eBP+1ub{OTXt4cfZ6MuPLHURk+*3=e+$~_8tek)4i<-XD@<;*yX_Zm^^`bGCE | |
zx2ief+j%I?ZgGQ6kAd4KFL>Pp=wN9Bx8e|#*W3lbA;5d)zLdhWW@s?CO9lo4--aci | |
zl#$>n3@9;09zab)?vf|Z0=<s_XGiR&G5zC+aj)3biooZ%ai2&Db2O|IwhOm=nMJ@G | |
z4(t_c@jh2U3L{mdkW;)Nu5LGl{cY#`rz>cIoN<oGvz_nDUw3)&FF-?@@vF#~n>g$y | |
zNa2h8?qiCNsUZ@13*!#S317>(Z<|nD-+JmU45P3rwW&_zzMY!dJn&Jn9)0QL_t<|> | |
zLVz1Q7T&(}=d;2mkuC{`om?=>bIZ^sv8*$nnQi8Mb+%RamUfUm*3(o_KQXDPcJu|$ | |
zrj6A#cu0K?{<+l5&Y>3o^22)I*L@P44@GS1d27X8&1Mt;=O?&v;ni()-LLCqN@68i | |
zcO%c->1i(wRj<br$cBWox=UH+H>bzxHZ(~TuKKQ7vEwf#DKgp?fSe@d^?}XRdfZ#! | |
z^&&ju{oy9UQAenEE@x=u%9Dd@-TNf`*BH?!TTrn5V?mK0Mulz^Z#)u`5ZUB6Ii#CD | |
zCk22v0hg0$Oj45ChP7OQ%HbyEH+=IHWCQPYoR(oTAErF@`l4S9tlz!CDtp)jU!2Xb | |
zJG26$!7v|kS<euEn?v;TL@Vzfx*5nnqGcJqi1bukfi)DmzB0eQ>eAK{<H;()QO{9} | |
zYM;Xp3VPt(47g2hz#WIB*E|(5F>$+yoy$`z09}%d^u_!<43N~gH*m)+OL2_l>`^N@ | |
z<VC^`cuJeb4;yn`Okt7dmn!E5mq@<+u=2)!Sl+_+EeC@KpUhS`c69r2zDqig$(l)| | |
z)z?hb^V0#31$AxaJ!;1fUcVDzeV6d-ia}3FuG!vjQ#DAfa1Gz$K<XFvlJ<-2(vNh! | |
z)-6GrAvt@9lXIch@$if1v9fp`LwPv|Fg>5dTFd*8an9?g81^3DU9Gtb_UV3({c6R# | |
zEq9}aKPMXBt|0&n4>N@C@ZE0{Ss)b7*0*4smBq7%QA8?b(hhY#gu5fRvxXj#jAN9B | |
zIxE`_`1HgZsK0A^Q(ap!94tkkT)Y?eS4y0fQgWp6*qob`J%`bG%`pN?epm(f48Sf9 | |
zsI9MH6^Tf@9B8TY_4$24=o=>*RtTUKY;@n=ki^k*Mc0(}?Ho3;I^31Ca%y%~_*#;h | |
zIJI}jCW2sa?dfIk)`TP<7k7^UHPrXv{Xj8jnNPF8zSGrq5t7>-#QoC1_^Z<7jpP_u | |
zz&TTa-g9qx$1WH&<l;HXGG+k;gLVw;+Z}Or*TwRF*by~-R(#rLC|tbM4~N=U$`X4d | |
z&d*@$vVR0>l}W$=W#a^(p-iCu8^W$5_QEwtu`cu85u^&ik-+wfo$QPP-cACa4&{w{ | |
zS)roe2>YfW*?jofLDDfYW{8`bDVyRMaJFghg_@4+l7?;!M?fenKh(Hoe=p0A(R&ZR | |
zC&U4)O1#>F+_AX=>?Dy!3>WkR8v;4(0A<IG-#9}ju&~2{5<RSZpH-t;LNbFvJu5qQ | |
zjFkoa@aUsL<TvA;p|*G27e0GNApvYs$b0=a9hAj)o_<u_|H!J7l=mgP883Yyj<nOd | |
zhKiHBOXc3ocK<_%Hm^Di6Ik;z``f_B&NlW`4?IWWpS5}A%FTyH`9{9H7(8z@Jn&~e | |
z{r!w8A)j9I?5XIR#VkX$%l>TI&*14NpD5nMnlt&dH^%SYR{6#GJNeCzzE4Pg+h6%d | |
z@;kxrH2Ez_^^fFtw*n#gU6U62XYzY-k)4qIHoK?#XY$+Cm4=Y~F8z@6XP&>v36k%F | |
z(+Xy^UHDi+sJb}+;l)YwKS5;r=l|`hGIe1DMBrb)r9aa6I$Jq}H2&y~f28sM`JJpy | |
ze~0ndaba{pt0fG#)d;u5d67i$f3(m4;OM0vZPaA-x{4_plGEK+DpgG4_XK{PgJt() | |
z^R614zs&gC9Tr)C`+qye9ra-EH7@yBf%3S&CCu+Ni2f~aKR9tmwjB*xG^XD>(<Ai= | |
zO`2x+=_Ou>yzfWxDLb(E?@#jId-Ye!{-00<U%ta%QqvGUma5_WE1|zQWPjyvDg4Qq | |
z{~pX?J@h^7XmRGCpFa>Uw6vo2fWQ^>7`Ok8GDsIr`x|BO<sswWC<Dier+*u?A#20G | |
z1y$9Z`?pcijx==nE2y!nk;{LK%CR=hZQ}%N@dSgZk-G=xtA+2wG!CTpm|hd&sDate | |
z>9jKDp8yLdO(kFY&k_=1N&aCf6ZdZwI2~RTc2zd#4_cFd8tasSCU|TP5~u>78t6?* | |
z?2od*FB3clf3OJq|CB`#O{L9tk=+~4yaIiW-Hdy(Hq@)64R`(wh%J!aiX80kW!qo# | |
ze1zao*usM!<EN=eG&KW^U84$?1aD|aTyG#4AbNi;8Y$g{kCDpDMgP)xd_LZ&^oq*d | |
zR|1F7@<G4mEu<6d`cq*k3-@V3L#)3h4T4V!L60}D)YLRShwZ{vApO95h?na^$_k~Z | |
zrq6;wqg~4dnWVwueT=_M)!I#V#>uPhpOgZ}rc=&6TFN9A;!TMa=g7vb__h(H?~Tr( | |
zuZ88|hM8I+C<%pX<R(P;qfC8x$GMYzy3(aRiU?pfqmKzNkusxkSl?Q4=8aE!sJm&Z | |
z8w1!z!=j5Qr>i~zHOUZ6$jiQ_Oh}CsUJ7C}j({To&y_4YSezHLd=e629QY_ZMeIlw | |
zh45lnv}1&I2-<kP=4q~Z4o?wXbm2WXb3pl!>v=iNHYV>Fj>ua1iOzx?gs5nu@1GgT | |
zn|NxuK7M5z7to+fbp8AQzsXDv>AQ)N3(GcNPJXD3n@^TF9dZ)VLB6a<;?ESW`+X%k | |
zSIb^+LI45I6%0`>+w6g3a;G_Zt4SBe2zy_!(hF~D9>`q^zMur1jn)k;>SR+}xWd){ | |
z>YeyI&OZo%uEJ%|)a$6=<Kly@d9w3!bVLMTfaBi_3=nvUr@yV%f)}Xyl=+-*hz|bo | |
zC-?tBV&N2js1c|Rr76LGT0lxAsyD>yQU7lRa={0q6+C>cZX!8PaNjZUQ*Z3X0#rL} | |
zLpbl^c<AQ$shBLoL>AJcY_hlJ1#?*Jp*p5Ocvn!pZXNDmF^7J^G@ZK7(djK*2?~8Y | |
zj)To^D`8FA<COWvy{h{lnwfc{Ha98!@K)9PM?7)fz5C<N%)hj?y<|G8`(S-aV5l#? | |
z35PX9k?ojI|J==lfTObvzwo5&rr``Npt)4=?*40m0b}DpL%8v@PbZ9BND;OuRsyfG | |
zLLx!EKV+ObeLIF?H?CuL``z0(<(RVk86MsZr+dzH#^q4ZyBKjVIQ@3*ZC>bj&`iMh | |
z1F(M{jczxOfv+f{=-O5mtS$TCC61Bc>6KUENsU7{v<7lFwr`{GF*4l|CJClr+}Ei{ | |
zGC<J1W7*#1M&Vo4`UxY~%H9IF1z1QUv%nZJ33Ec#TVQjEL&<6Y0r5k?cflS0pHedb | |
z=PckTgjlLceBe3B^qpLcF+HtIbNuQqWCcFG!r=<#&A3)Ra8~rf^BQJgEtI%D!sba% | |
znisn)_563sfG6qA1m?j!#pYka1~>$CX$AZ(-z!?Ud!C&hq~Pv3_Ecb0p#8Ud)bM-G | |
z7_4q}j=`UHQYR<8j_EHba4opD{d<Uq_WEQ8)uKOrs|saQ6w?pkzIcz5JD%S0OlWkl | |
zj=DR>LT1{g-SD$h=nAvnnul$4sDAV<2W!?4qAi6V<gWcn<Y!}&+Z`F?rNsI)&YS`d | |
z7Lb)cPzO8Smjn`F3)2BiIxmG1Kaw+pgqDquC?#bX&Nz<`LXdJEv7HHGdSn~;aYn~z | |
zTC-C~;^g+-9=-k7SPHM303x*2rOn%lL+lJ$7mtMdV}d!6#TR?0SDoN@8c{*SwLyQU | |
z2nwhE6}CY{C702>$94LR9KLV?7GoOi7%ku*yH$E6W%Ur&dpLcLI+X<kUN-i)F~tT1 | |
zTt#D181(fOaNieMM6qWhes;3gXECpER#f_$$K#b$3mHQ>C%C){b<0^&j>#l4j(n!l | |
zwCQ=7!oz8?_Exfal1r!f!tWppkF!8OE8nSoKJ%jG@1^UO504qhe1&@bincEs4~zu_ | |
ze4S4_j)`j?J$XKDlEEGOS*I|=!nAo@9kJ+#$WKx4ckT%5=yfpN{Kc$pWE5VP*(0v^ | |
zR)~VMII8m*@LJv~=tq5c`Z>h>f)Kg!6l6U>7;`B`Tsqes5Xpdw04O>9$;v05dOIm3 | |
zUV!N)fSLx(IDjpfFiGl-3Ihuxd<vAeYtYV^eFZzc**U771>s}i;pq9Yj*M|@!uuX< | |
zt~9@yKWmAQr30DC><_hxe~ZV}E?G+CO8a5^J+PonY}lxgt!6n(H_ZF%eC_eDn*7^` | |
z-u9f8Pil4*-@HE$_|yRAb5`>y_k8RUk58ukY`1=^-tz|92eNvu=ZgOW0K!&0T94r4 | |
z&}+mXHvQs1lFCnlmwPcsL3!24&sx@rncXv3eIEB>Jgwq1#Pc5u{-^r=H#78czF2Y+ | |
zD`ZBN={Jg=z~4PrB=!(G5xthlT6tNvhSKa(X|jXl|JpeHtMLMhn$3TJ3!fGU;6ilv | |
z|4YDy!xCK=Js+p9qL@!y!%MH+%AfCBx3H-i(o}0Z!2|h-aiL$1XNpfg!r@WVbH_yH | |
zu7Gm@wgHHTC!?LE01PPc9aRQUq4w}_b*RgFoz7LmZ^r|#DJsnFoDAubNzQ;cXF?Pq | |
z+exI+)}63j-Juqy&ugaYZmP=#Scp9m6ZUI%?#NlGMBrKODXM@Q3tEnpKm1e;I$0<= | |
z`m8ju+|hdWmV5)t;xeE5p?nQ9j-*-n_6AjnA7UVTaNAbDIED%_b|yVndY16N_j*)o | |
zdQN93UQ?|M<98til{u`rr5;0!essC3|KJpgrgN@elzOiVjCXsRA>g=}D7N{%L*(rs | |
zFwIlNtO@Da=#J1nNW+)KSTzCNPIyYLW9vsNa<uj8A>1B|3vKnj^)&rX24uS&w7@XG | |
zUIsbB8mHW2n`Z~M)s*uCg7^RgIZ2bi{WQniRpU!bXS+{k4*PsrS{o@J6@&*CE{~_H | |
zzARjBtC|HkA7DW-m+Y^0EtBgFe^nw%snePXF)?zKMF;dw1#z}&q<UogzaR;^N3d?N | |
zxS6P)H4;i6YhPkE_Hw6{Dv17>H(to<7;uG*+!TUJ<pl78H3z8pI5WEa(4UoF5dG>t | |
zWgwnxvS_i>=GXQ1oiY$-f0Geon|`dWBMf?r%2&i~!Vk~hBzhD32dhvys%9|MUEVKy | |
zU$OQNHwh?9k6lT`ua`W@Y#{FAPb5pT^ktU8&&hafP5vMD-aDX)Ze9BpK@bHIR6yxX | |
z5Tr@3L3&Xs3P|rwqzcjrML>FQB1Gv*@14+*8j2KYL3)SK14-s1`t1EYr+)7_XP^E4 | |
z^Zq$mGjrc-F<I+g%rDnf^;!Htje=QI(D-*&8s<D$B0&ae4_d^-TaR66@|vU*zI6Kg | |
z<IPhq>Ny1r5|*hvuw4Fmu|#JAx#}@-u!|l5mHb#uGYL!<12TNhZ><OWqT*JscRjy+ | |
zI>x)5h*rMrdNOskiyrogVpvgi5xX?`M;wpuUj!5UUg*u1-$)>_zm!1#XTJH_@n(?U | |
zL-^#6A%tn&QdeT_mfVy={>|^c$({{TbU!ohS(MMO9$b3#2Rb3C_f(c8of_NSKq{$? | |
zi^csj0cF*^&K33cJM_BFJikGP$C3Ka&W{uEB=kKFyC=k4l(Q)pw8{F#z2D!@*O<X4 | |
z+!^+%W3Lb`JY#z1_?R*{hwG?a*!&K~U9bxsgG7-VAThep!o+S%)S0EkIn6+TL(<0c | |
z+O>`+26}JJvS4r?PvFwV&2}++pzIvJZ7VtEA8kT1wCF%8+<pY?1;Zb`9l_Q2u(s+a | |
z8Hv%9)qM#sin!^C(G$KY@+AE|snpG2lLBlw8t^+-Q}*D&Kg{l3*x~QZmet%9Nnx19 | |
zZr{{`@Sq|${gttJZeS(ZQmSVVOh`~ta8(=6n({Z6aX|MoG$riwDpU^lb59BLP$%I+ | |
z4w<atF-{&gsdvnZ&Ww5O(D6|)&QTj{#hm!ff+@5%nLPD%btakM>)YV%D@O`6m8n=x | |
z;+!u0RuJc-Utag?D*W;N6}3Hk{tFJ=PvZj*rW5Fz(Vpeo$BP?_xRKy)h}FvSG6ZBo | |
zZ&h=ecuO)|9bB6x3STywDY-$15CiN@(Yr{xo@kw)!BhiaaGR72gKg`nV=hi>@26d! | |
zPkQ~d1vVu1NguA}bB6{>1%L7RehHs>>)~kfdvq9<@fg}pMkt_eGAK^!<Z_dq-$}zJ | |
zxCqE2U{v_jCSh5BB`A8v+D~(zPWi7WThcVX)M_g&%jO;udkr9kRF|dMk}H#)@tkng | |
z{F)AV?$OTERC8zPzXB26si;R6^gvapz^I`89PjzsU?kWEQDgB5yJscH0P}*AseC<N | |
zr41^2FDQ*veZ>AZ@rc06-3UCu7m!sk2prMi$ElwE9B5A7lbti!3rE;EJcq5kf-Zug | |
zr@NW;?~Zu#FA{vMdsCwXNJb)S=6Fi|v)_r;ZjwEa`tdV{NIBq@hTE&SXu|ei8WN!{ | |
zI@^m@chCa#zFSU!l&CegL}k>*&e>UXfef7rTu-5?f{8wJ@{=3zN6nLn2V7rH;H);( | |
zpF%+$e$V{LJ{YkxolZmG=!H;`wc68-Vi;Hg;P%4kk(q^{svCV@VgS@Mtf*S7PUe#k | |
z0}{ne_bkJkw>i%5ez-TmcJj1=23-vZbfh+=l{0;^d4BcEm3NC~ma|7^ZtI&6I8RDf | |
zYWI}9NBUiR-)V`dpzO1MMGdH}BW~cf)}Q9<31P(~geD|50+=2Ci#)@><^|xCNl>+a | |
zIMMJsg#_JHXb1SFY*ow)rT<}?|6u|N^%>~nZp;Jp7dG9K$)N}dlOYI*nSF5_|8k&I | |
zQzSM&?f)|JaYPu%7W3};{e!!Sr#QGBE~?=r#LGK|{Mmk~?Pa{F-M?6aS1NtgLBlcE | |
zEN>iiWoN8H<1Q*;tk3=Q{LdBti<(D{A+dY%`o1rgfOz+dfT&DNvWJ+p#=12k?4Qtp | |
zL;X5~0&ek0^?=YfD($(KO9&=-u&?S4MY7C(ro5%v?J^JgCFP)uYVaX(mAAU)gI^^Y | |
zbuA_RBMz><Ch92Ie<fxRPNaD(Aeu&hv#d=kkSH>>y_(ncoD3)Y`W04VzxS@XXDC>i | |
z)OgN}yHM^Rv<3#cSWiN<CXyOWX)o4HDLy6F*T1zT_&K}BJgWMsiS3@O{Ib1YJ7!Un | |
zEOwe^GJTXO78+q7EO`GQ6&qSs&t@I5`cgIm_jO}Cvk=kJcW&6vc^@XKjUK<<(_#Cl | |
zHJ<Isa&djfb8td3?Ua#$BaU49gi1j)1_Lt{aZUC8frdx21xeBKQ3j5op-ZTXBl&R_ | |
zzNPy(fN}t-C(6MF^@dY6>G0HO1WQY}zcrIBz|s<)C~h0nDo5(<dsB0RM}fRAB``JO | |
z7}ydA;S`V;_wobHAK--kXfiFMExo{-zjG6VP`yFWK=uwGAqn)&UQU-QkL)oIU?rap | |
zwX)cOhJUz{uzTIW`ur>r&tS6Bs5$n&qwo69sw284-{(Kjbabi3%mCbFrZpU@)|?Qe | |
zyAm=;4wtt~dH?XYY6Q0j#3zA#Xxj}X2Jm>fXLLU7K?*+M1v~xlTX0~@vc!=9JTXV8 | |
z_Kv%J?XvxG78rwR<Su0UBJF~w0E<X7s&(RTq7hBz7dOKG45kTVd=`;v!e|*P{DTV_ | |
zCq$$+#6rOvPU#-7ekAR~?yr35!}pvP&<m^U^w}2j*JX%SC$VtYPRz#R&0G!Q{m*NQ | |
zFqGS^N4$^o$*cC?K0r^H9h>Da;q!aUUQ~Wi`04bhaNOCx@vXe`fLQ6DH`_%90b1ZZ | |
z5*oewsGhg~()Fxv;Nd>7e)@b~B^By}S$&-wafScKD%7?aGfK4gv+GlciLfV1H4=<c | |
z4p3zQ@HkjKqjk~B(h%SP*B6Z0fI*_2F`dML7CMU&9p?Az_Ig5C_?I0`p9WE@6nQ3} | |
zab=?^_TTxxwVFF54?R|bo7|*2Ber2dceUmmgU+-riCz`?sK(F$kfluD0~&VMW-lX+ | |
zR^6h3fk<eM7YyLtX1e+4R&L)0p9JuO7}PTr4+_6`AbQR!=Ug8m($aYdKQl2%?Ye#= | |
zevM+uQ939>*v2~dY|sTYJh1Hka}A?{$I}wSB&@~|=+>|ZY)wNVA`qWCLg?!lz8HZ= | |
zN|?8*2cb4iY>%Y_9^YVn@of-9*l%Y5hHf8Cq&K%2cRbYK+E;q$X%ZcdS54sI*C}-O | |
z{+M#A-J<bmT}|}G7t4$mM6)S!s_~9e@+{VK|F&uGqz<UA;x)m}sT(G;V(q>rV>&t9 | |
zJmm$4Rdr<G(_K$Yr!J!hnsQsA1<&QYTpnQ@Jzu(R5Do4IF*$}J^C%FWp?A0?W|ksS | |
zg+n`dz9{_=p8SrSm@sl0j44F)d8t6k7eDqaDfcc=B>xb+A?S)}f}_rn4oli(=4uE6 | |
zL7F>gDbvM=4cwTG&1OtP<|g!GtOUU2jE=pc9_{tI@x|9r*DeAVJ~8fN6!kFMeK!X4 | |
zph-^j8>&J+Nysq-9FP7c=OFt`pAJYrzC+XPRA49g)nSKeGeSN3Th6`JPE7B`Q$<&I | |
zlTqGKn(4H^%LwGSMw(<{C3>vZ=e_5fqskErP6t?+uZD%lA6p4x-j-@tV&J+MiK^tJ | |
z=6x#si*E>e{itRFPUbIs&^UY)f>sV#iph!fxjkH94HnggSr}oCxD~e3IxWpM4&dko | |
zqhR~GPYaj$Bx&QK0M~B#oJotDx=)J$Lsx3c8RRiNOp*H;a~IQ>7x_AF(<D6$u|b#J | |
zV!4aZKxPT^{LGh$wQ&Pdx^-=`;#vTM;P&K_z$brSbj}@HJBVc`;XQ7jj!LFb6ul}L | |
zz{xf!7q4#zSS|)?1Tn`PgykKZVu~(0&??MkW9QxCbNC`0xm(c!vx=BC^%9`d2gKu( | |
zX*YBOK+M9b$og+HNEMQ9Ge@mRuY{q^=*|GM!Aa?*hFb`2X(RCAQFodz<~W&FH^Za+ | |
z%J(O2sp<$@!9Jy*FJm(cuTZ%0izdN?O2>Kilw&jdpBPzxzc=d@ehdN5zKms+2u6rH | |
zbxSqJ@mx%s&PnYT4MoFsgE=^*`dmBqMsckH^Q@m)qy&7$if%vX?KPZvRU3O;#*^qE | |
zJ*x%?P}zH6YZ?iRDEO$cM+lX~Ye1%dw~lis0}!gf*peTfp6k0)Oh8gJS#srYn3fl` | |
z+L;W%SZ|7+fV_Rx;<W9}tH;^?w6`uQKN4`bG9;{ggrepi?HAy!%dBrVAicl)>>279 | |
zA()qFv8!hDiuji-g#WF?u=7N`4sL<+ge1#?(Yh<0^*y~#L+{c^J{nH;HkTX&!WYxn | |
zhkGHsQIi??)l~SVV54o&TcE*bV32oDh8`;m(G9n%pXC`^e+bqb3iVh&fQNV!p>Fc- | |
zTr%B7tj5ZJ@<fTSXK=lbd==&@204JwKCgSsMR8bbGOr*Ol}a*8GIL_Oi^85L3W%`B | |
zKK!s-ZS&DZ41((ZhIB#_Z65&dd#S0fjSQmzWkXNvtRhvq&B)8>`FEgNB_#KDPKX3X | |
zAvuM1pY)XB=5Y+UMurXj@!8*HA&L%2kgTh|P0o4Ht?8{J9upYDyKTwxggo9o(HYxw | |
z>3;IRqY9j7>xR=5nWHXXW5Ix?cB!kn>H8~B!7QH>2-az;Ks7a^4QQKM0Yw@hmObO5 | |
zv<{6+b-@w~H<M2kNGzH>SRAfY4K!6-F^+i{-|w<{i3KvEq1`5h&&adL@_&*${T*+h | |
z0Y|q7b<(L`T{kOqs6RSYT`%_EMA5A;{xCU@V@ow4SYd9&Pu%~yHjX$E7T-TR7^{Kw | |
zsZoP5Lsa+{s4jK5Lc+cThPHkXsQ3ofH_(Ynk{uud@v#0B$j2fZ1W`~h%VQ3<s;~Zn | |
z4F{~8R}~yEa(c2N0Xo||_T-7mjCTpd7mpDfgyeS`#MrwFaYiuTa(8+5+zqUNrsVE( | |
z>hT@GQz(8R$)9o2&*~$v*{Y@TwyzuBjLVs@jH^Iqd*!QvIzTcpxC0<UbGnU8nNpcV | |
z_9s`df)J`oPbViFQpcMxCua~?3Rh};XnCzCI(hzM4+=c78QpxSrhVIB0l{accqI`u | |
z#!BRghE5@(d!inb;QG@76?cIFZL%(@AM_9Aj21HP8F{~~{!rbiU_%;meJH3B2r%>% | |
zW@Jrw&d%$OmTWiDXy=&sJcBh|6F+k}ON<5|ranFaW${LWk;(xb>m#e+w+U*|V0^QC | |
zU^i>Oj^RbH6EfP35~VW;oBlk8vx7R}pFj&LrUMdy7kbonfx~0n<O%7OmttK<V2rZ# | |
zvj=i!_?k@o-#>f4xRKYZt}AN<rVdgJFe{t>B?WPR=hW(9_0NVGRCo#VOA-Z8c@1w> | |
z@B^_|J(YhbK{Rz@r4|1D7wB^PF!oHM=BS*?-2o#dHL_kk9F40VY;!Z|-T$$y#J`0P | |
zUetg_8hu$>!yY+(*Ti1x?D)L);`VzK|8#EQ&~61DTM>iGqc|K3Wn{!^AKVQ4kCBuA | |
zeOBV%j^0zB<7t>h9VO)JyQ}#SElBUJ24FAHXvhkqevAEGL>SHtju3OB>n!6xImi1* | |
zrpJwkH)$0UCKdm}D&!iZ`~?K~e~JzNG{puJZi$Bj(MK$s`EyQag9tvMUl)7-H?RzB | |
zPdK&y6AmOrxw)PGHQQ$mA@6JCBJ{<#T3l%P6>A31u^fYS>6h=@jnflU_!vuVknR>K | |
zyU#j<!&-WY=V#I@f(c@~n9X5iS9iLWJ45RRMn(28og(GQ)gfV;GaJ>&2?5NpVuj24 | |
zG9+hLXcC}w!u{O2wz?d3=F(7%h^BP|xE}%A!T#CV%^V_KBm1}SW#3IUz#2-5Prld~ | |
zM>^PE&PbPcXMTjIRG<|}?|`K_)Qz8i(d&jTa@Xx;?8AJuoU&6^^#(wIa@)Br{9syd | |
zt_qHXWBG|e=-*WwoY?31jDtS*T92K1H-DV^L&ag74z#)57g+2J^ScwLqL@lDgn83s | |
z;`j9I)vi}!`!Hrbd>(p|N;`dY3?lzdZ6LcC*a4lUyM7kb0qi_m4F?{k6%h!!o*W2~ | |
z^(YtSy)DY?2FknOT`z*Sb;kj{KB#w_)T$v2sz(J*gO+U~b`ju)16T$8n;20>?-7Cn | |
z$~DwSiT-?oXdv9L2s2ttC~IgVg-=)Qs!;9=lX>BI;TOhKO@^GJhS9qS*uma84CK}J | |
zDcg$;XG8rpKhKeE<SC|kmh}<^-dg;_9kt6(wluFC@J?O)p^m94oNrbS^$bu*-0(@Q | |
zq)nDE@x#?8nSF?50|GT{@DF&;N)(2-qb>9<JK17^;u1Px@sL<hZV*|E66>+?Ta4Sq | |
zmUi?YX7%xtyH8?%QweNK&krcJrR7_FG`-v$aq)Jq`e9)PlK-y!!v6qbAUxD23)8!; | |
z*B+t?)<U>a^=27-V<Y%yB@)!=&C+U<sQ<ceIN?lCdE7$rEn*@^=53OCm~H!8%k6F$ | |
zdoS^2A2nQsVhsmhUsM)KBMF(1rGMlg$i3@T8@}Ct7HuY;^n*gCd=mrTIi<rCE+~GA | |
z+Z5AVg)+m2H_Fn2BmkaiPjswe<MP?25YcH)PQynty;Y-CNQt%tFz1UYa>Ml~-rn<o | |
zK})(|>{GFQ9s?Nm67AvOT`Y(rxw#1#bQEkiE*eGOff((ljO|X99vvkwuTa;RNtoFv | |
zzD-6Ut?Er;(!*7o2_N3?cwcqhUl?^;d<=2Fb%1e(F>b<EYDd!YoV$5AByWk7T_OeX | |
z;?4;SZlZSHf(Z+y;PF$}5evbb&l-bB=N3-gfbNe=9feAqx}rzH{)5TdXFll`Du(0? | |
zdS8@Y-O=s_d=W;{hD5hF{cs|Bbi0A${b&f!8Uosc*hO-iNsjjq0yQwOPurz5!@Fx$ | |
z{&q~mC=SB+!bVDmNa(@t_5n$qcHFbXmur_PgR1l*0GD>Zg$~{dwE-~_8UjblQpt*^ | |
z@Y|NR%!>QUyj0(mfA1Icd7kn#qT)XN2?jB-f52@z(jcE??nn}vOe-p8%b)Nn!SuIp | |
zm(8;n1q|!7+SkYCfB&GthcGDPrc<2>+t}6He-T$efZ2C>hRh^AU9X*lI344CYswRu | |
zH#JcCm+S@PDat_tsK4m3okxR`p&+mP{Y_%rqMyHXB8VfJ4(rS1WxmKW{2j}vTZOy} | |
zQ0QBz{tGK%UjqG`oCIIoZ@mfcMPRGOx!tcgy$B>TVY>n8g|Y9{Y_36%(nY^5_N1`k | |
zz6CbJs^#Bv{<`v_`*mF17gzRZ@J$~+H4)?;{P0T<Vy7VuaB82gHEAr3ro_QrioGjZ | |
zUT{lNky{t*<HY@hS-$0xzSLgqFQca6uXV&3&$pqc@{*Sl8?KmD@j0>X@}vN9VM+AE | |
z*SIX|>^f<H=Lon$QCGG6ZArxwtw<FY6x;%}jT_P*naq7qAbM{*3XqKV!knPIk`K78 | |
zbkm(Q#SDR+t!453;Zb`^>O|4<gC`{)ztYq=WY81LUk-@gQVt{;3D+91+xz$&wVkqH | |
zjJt<(UGkUN)UPB*(Xiw_ohOVhafFTkdba)>6q*pXDRH^!`)LG+^=7lAiQ@peTM@o- | |
z@qF_3aW9^!+EaepWkT2$f19~PIVz_m|ICAlJdbTLoXS0diG!m<U)3U&tvm6`WzDX| | |
zN<cb;r^V8sV<6DU5s~<gV;giNndBX=aF<%W9!MITNCHl1z!#N|Qpl;Yv{FKN8gR1x | |
z`?v2&{!i}duyb<&ecEJ8YZV;PZ!p+bKUpwnTx2YXh3?T&cby?v;{5oHk=)+pQm6Fy | |
z$wePM*G=x4_V~^?m)=$XD1liO#U#JQw7)7S&z_82G7>j&oI%?#(keU@7l_fRnD(HP | |
zd-e`!{6qR7w~?<GeKGA1)vcCV;C*HBN@uIX9s8dtI{Y7k0=>JFVnkiqWSQ?Sm(HXV | |
z-Df|nQmnOo`a4Cu?;8JGasN|tKv4qo&cF0%P?dAxiUsI*WF6&SK`8I2M*Sd4*9+zh | |
z*HWqe@J}13e>Y$7J~Q0p5_t{q!dDAnwDfIFUagYx6FDL5_ifF;JoHNc=Sx)_O%mgx | |
z#`0?O#f3~#yvJkK_gm{Gt2}w<qdtEnm}aSQfX4ax%1rs#YhEnEvR!t&K9{)afEr26 | |
zEV##^?_4MiEBDYJJP6ideCX|BW6pbYRU}&iDGD%Cl1B^mftINI2BAVQ5CnRv93Wq| | |
z2uHHo%wL~$Daxv2IMBd=s*X@Hr}hr$8i-~B|FG-wSbVatt<-@Wt+&=R#YLf1-FPrZ | |
z%#_35jrSH4DZKY&bn+0jc@*--wDUv<yiOSSCG*jPvF>0eTmPr(AMM57fm-r|57~tL | |
zgW7@*Yyc#5<cHdg;c?ORu%@f(htZ(X#auHX#k23*Y82O~2J?VT^Tr~?E=Hm2hNCCy | |
zh_R)FfFGjz`s0qgnanEGK-XE3F(GepS7o@`_<QL)FJ2dvg8;_2-B_HV@@du}^mLK} | |
zLFni@0rJ5V^yS`gj0W5p=|?16;sC@uf5Y2s1A^*@9O3%`<`*-EfCkNb-n7O~2vLj! | |
zEpT<3C~30%GYk;&!XztP7r149@GjrxC!JrPK8t<Z!vewd^JWV>sTkGu!+U?z0x-_* | |
z{{=I&{0(NvQhg;us8}_|`HKUP3gs6E5=+tGI?zU1qITMlWLydJS}<A6;L^W<7b=d4 | |
zSxByq%vh|_9uwT~yZi^za4c~{WFwT#nVvY6R~8jObxH0wViCN5@s#{KS`ZauvZpPi | |
zeNhy#Sm3~(P@AV!ATYMPa7r!1Bma6FI~C9GtRDPUtN83)197?>aHxow`vq`#|Nht& | |
zC2?by2|!t?=d3vY7(z@GZlVqvH<2fp70ATa!9ZziUpg4pj1F~?0r~bETv>d8gW5<r | |
z?)7EyulKS;pJ3J`yKf$_*3<k=72~t`#tSNCsjo%$It0B0LYI{Pe|eDq9$!K4x=9>3 | |
zgd3r|R~V50^V&^Lkv~)<KFM?C`J5{U&=!lIEpF0?vS<(?I0!9iC1r2Dcwirhce2*3 | |
zpQuBl^;?djT_gF-gt|N|JOWf79g{KM0A$#>&XXnz1TPF{CvC?B`Vp8=R@duOelsF= | |
zsnE1?47hj6_5Dwp8ekH=dn^FiXz4B`SVPoY{rK|??B4EhS8N@pSiF*Ng}~+;J0oY| | |
zu9o~&34oLOJ$3H0j;r)n+e@*U8DUYNwp+Y+WL6<^OwzY5Jr+%L=qPh$6VHBc1t83z | |
z{bQYN<6>L~8$HS30~Nkc=Bv<mffJhVI4<)O{Z`6AM(@c!=^Q$MXZjB<X_Kuj;2|^! | |
z8JW-hMw79Y7!U0q>06(Bw)=VhjMs6XeXqHV;UHv+3d)aVXb(Du9tWId-I&5c6GQ0e | |
z&d@gUyV9|yH9rqoJ}6-!j8iE@O>%BeE7Go)1nw*G<L$ZA5yHO<x(MSt*x!dicw#E_ | |
zP`!kZ&V10!)AZea?j7xr=+kttP}xP@5xvx1=-3{)0tK0T`W#bb>@7U%XKXR#MmfZ3 | |
z89i1>Af)mX?|X8`WBT^*lCLh|lD$n@SLyKW#Kv7a?mK1jeSh;`&=m-9*6AuSZWK@F | |
zaDN5u%vhOjz(*;?lBEq3@6r3)Qg2u)ZWun~FqwQgLa|0u4WQEUoEZ{Src^`%YH`?F | |
z3_U4{N%n3`C#!Q+(FKR;%woot;5m^Xj5Jb1(ow%11+6@tel&Eke+6)1&=hDNF;u+j | |
zsTH#%f_Ytc5Rd@Q&jR@xOQ0)vTZeU4fwLR9J*?<GOSp<V<1Wu>=V@il7ppf_a0Ju{ | |
z<)&`X=1KYeB0)jUt6wI7J`_sNfpStxqm5?9HT3qUEk{Lsmd65L!~}Y}-<gC=Q|~0m | |
z))yWlD#9@LZi0?$!Spnh$+Wr(u5Lc)?y=9&IlDz!b3aILs=pp;0RE_dlmmbu=U#F> | |
zZZ10vyyn*`0Q5-$H0VOp62S9onihZleb<RqXa<mc@z8~q$@uCSf*t~3%=W6*bova# | |
zP+E*PCYgj)wVBdLNh)5hIq<k|o9j#TGz8+wW>+w>eSYNgF5q$-g12JF6Wwrl1aqK# | |
zve<8Cm(@5(Bm~{2-Imty`B$&{^AFua{EZE~zZa#Md4~9>ZPL0vj;r|}0uT;FeMW5m | |
zK;?<Qrl4HZZ?piqnyIV!HTxgWY5Yz=*#PEyZU!V^UfeG7dTrg6!LtUVBTIC$#r1#u | |
zX-*!SU%`Jd_JgXkcaLu?wmpbPMku5Fa7^p-Iwyji-MH^*wDkX+OzAg!>x@ryvnt18 | |
zy3Jbg3SWqanFj2@sOO?8E?M2Ew%c<&kb;}|WybWHZC&wzBJ7`N{r2UUQdX&fmCb(> | |
zn{yY+je^RyEJ(K!Qhr*3_!8*WB=1iI+NNM%+ns$JE^~a+5b0)CF8zygV8P5bhlpnJ | |
z1xW_#(kNW{MOPHFV?5iX-YBj*1hb#tOMi;>-6(h*+|_R~ol@`fH%OyHl+y>Z`jUQA | |
z!@iN~ITqN5T&yQD1-2@NywN4h)}K<dMFoEeOR#-NTHI*VwTucDynpbE)o?i{W22j> | |
z-6rL|JDe`t#YIgOkNj-_QdD_(`sN{H7mnbZNgNfv^G5Qj<6d(t@sW9p8_HTp!6oJG | |
zYaLpyS~RFvg=D*gtJW`ba5HC20Ss7`eXM^1-NNk3CrH!B+>L16z!*7S9NlKxjJxX` | |
z?+0dSy()pJ;m6dGGphUsC#ZbI8+bD{e}far{FsBpetTKoa<0@?%0gN|j~1}nPsG~> | |
zo+~{Zh|>0yan@I{EnZh4i4}<XAkq@^YT5zoz_AMFT!mO_oB*^CVA<Y(knu;C`J>ib | |
z;oBV*k51rn1DAVGg19Pu(8>W^ucx@-inoNJhkH|J(T313TbStRC)#m<gXqqDrxBY` | |
zuQca@j8(V;6W<frr1#<5z2=bQMwq1X^|fO$OgcD4LL6qAwB${dn*yzUErk$DP_OXI | |
z0ApDSlZ9VsM9(9jcpG&BJHAMJEEkBQHp0x?hWh(mRl0<?WBBOeMn`!Q5JNDJPgg$= | |
zX@%^^*U8>JRQPObap73^jn+fY&ytB!ESH{cXw1`nt+;Y?<WW`-L-3o|bf5xjH^rk* | |
zuFt>VBh?NOR+t9D)D-#`;kq6T37AdZ^Rf|A+z*XA7gZqK0kv&It>oiT8anFJs`%OQ | |
z{ZHyua5RAKf_J~UJ4<Ql7c{&GCPxA;s0VvF{cuU(jo|aH%OAE5-~vW~4gRU4*-$$V | |
zwFD-w3*^hvnimHSNW9ggP~^*UQRpFYpdj$kDojBHSO{({FLaVOeH5>My3|hg!CAO0 | |
zS2`+3t4YO&Vgz&DqfM%T&%rZX_B?x+=RGkxxH8UnabDw`&WGa?%{#3A!z`Gv-!2lE | |
zbvv~8N0l5jbOS40@R6ofAmy0!YAWHV#ZhVouoVn3-|m6PMS7&8;~7O}+o|VG&m7RD | |
z#ZMNmgeV<e#|m1=f8^(X?qem2SzB>#baVk&E>jwRBc;xdX>FKAfRDFT<-6R~7Gz>( | |
zV!oGv*0ssr>aD^n4HM`YTIoY>v74_#@K&meq449g&1Xg?Jf`FiD3HwLO{Lv(m!|{8 | |
zTNcuY;$P+TS38xi&rEk;6r;S+kf<YS?+4OEbZA8hk88XZTZNDrooZYxZPTUW63-s{ | |
z?6-IYA6C4=O#(3GjBWIdIA$`wT<@ck<zA}bIC)sy4PAtg)^?yq!`+)Y!jft2ox7fV | |
zlr>HHp8XoDHL<x_B5b8Ne!AS0qx!>X(A=5D0ukPa6}Aus<{U6+l+Zp0;iLRh+_b1L | |
zU-~kqq*)5^k*g74FnnY*_$>oWQHS{!kl!sKXvjX+A-afLpPEkL<r`&vJHFv&x%5^N | |
zrjB_0E=2Vl2JP`($`oQ`Esh4Borgs&){Y5MjR~E^x_0F&ENMg@n1YwFKQ+?7O3K9j | |
znbg~Iv4l?e@M>Q<AB|VOg`_)lBrowBbPymT!|Rk`I_IMTi%oLq0uG!&#*~VR5t2AC | |
z1B{hkncj2=mHOy0w|3U<%ktRy+sHS`ur<v}P<p{?IX7^YoOL{4TETmS-1S9p%hc$r | |
zIr-hCBT?!G>VNrcG~`Rpf4I5$#25{ukFm<8U?p3OeZl^{uwgsI9Pv%szu{Z*I0ihd | |
zP3E}s-PUEZ_<i&t2ch;17&xVnNT$WT-Z73&R@Aq`z}-;0OJYN3+IE=h%PcV9{Fv@} | |
zfW-;mJOSuYfzK21bQX?inClDSx`6B40?`C|7qN>v(V1W6>#{Fv`an_)&gfAgapi2K | |
zBm0==ZD78G$_ZKI6)xzKP+mLgHf`m#dd;vu8+yv|xde1}w)hkTK35^(go*#S{ObPC | |
z{`^ycwB>BaLPhoQfN-&UG=00$FE>*-a}?DrbGi9nMea1oox{NB?;FF~RPyPyX7ol% | |
zDPWezB7HwE8phZ3S4S?r<f3q^;qEbhyca)2_URrpT`TOig$1|0z>MPg%amTB&-VGi | |
z2jUuWY)wN8PKSEVEm8UQrEn1zN6e7B!GJU!K;XJ3%7?2ld{edmE7@qKU#zoJ!Oz%Y | |
z&=w8;nR)ATB<sY$u`8a}h*Wf_p=U}6R4zwVPG>z_k2v}}SghV2x(H@Ky0NnQp1Y@w | |
z_LjTl^H&9@HYq!!TSApP(aM(>lJDs#t5l4w&jgsxnlB4mw+#?H<9=-c*FFbRUrb|9 | |
zBiktzUaR6x6XTXaOOELpfZ1ltRmxL_n70g_bBnutv-Xs0E=f@KwT{L^<gSb)zVCZV | |
ztii_Vfg+Qd1cv&KDn*C9KxchA47t1WWrjZay5|hfUKUMvf5;BOj#rr*276*UK%J;a | |
zKHxUZ|ExY;6=Sx9s`U;&MuKH6Zrr%CZjAx6a7$DUkLN`n$@}{{w$aUGqmqwD+G&9- | |
zl_w;~tEih-y%euMfbrk-LjTNnZ~UcvF^&vD#lL|X){Pn++Z}tRl&;=vdrPO&J4)$J | |
zvs2~6V0r!T*aA7)rDXg1uuVOPhpKhXgdVTxna4pcG)}EI@Gxo$GCjRMi{YQSmmLKt | |
z-ho||*0McMM6vY3`@Zw6kn*|4xSD{e6~k%1*bQ->TZ{Y;u{sjn@I@Xi)^K&g?~dWZ | |
ze@7jnpxr;)7NS|-9rBI~&3dBpTqasvG0}&Jtx_MQg#KdOH)Mu^${w07Sl*x31C896 | |
zhFP#hfxv6TfscF_^LLq)k+fhEgH=Fh2~=GCP(dZrGMMgfdK%NX-Ee5!r#lI{V^V3e | |
z$awO1SwcW2XC`%P;afMMaAlU*2;2;(^V3AU@UU5$M6>ZrHemBnH%j-$;tF7{Z_($5 | |
z?FqOkP06WGD%PomZxAdw31D^s-%OzSe0Dcjq+xl{0q#$}yYJ5ws){+x14$smp{Li+ | |
zt?n2o0$HPY<$CGBL<YdWg;QdO!hSV54}?7RTdR(sCE&9&n3dGP0aMWd9kLt*TvP@E | |
z8J=O?um}dr->MWyqX0JbIKRWQKyT3xPGeE}BlAZ`3X+RPS<JflubdF5X>S&jJ-aye | |
zIqvAZjhe3Et?E-Y&IQNI`ike=YdIlnkIqWk4~DHyRbIJY(N_iPwEe5RCX2mM!vl;C | |
zwE!HzoIp^~7n36^a2gG)3Ejv=a9@07R{+RGLk4OK;(NTL3T%QUkh8nKLP;540!Xci | |
z5pzsYR8i2NymL_b5}T6z@%!4t1J$<)LtfP2#`bxbv+oX4f!FGkb}`yg9$%)Yd>ZEd | |
zI^IQARTc&W9;^}6V=&4WJ2IK<OLbyXFe9aJ44VA%rT0F6zA={NEUXzd!sv;L{^izT | |
zhx`7jv)U~;6d(EYo`F54Q=6<XB#Z9Hbc$|!0!@|q)L#19jar7RIaB(e|L83}Bhu=Q | |
zdY3(ZnCd@O;iCK-c5qcO``n<av^em2JDnslbw>CUdhyf<JDf8O9B~kW&qe{?{R#+r | |
zs|SjnhUz@^tdMdLU(-r+_c_<HPLS47JQ+y*=P?q$F_HM@0hHLIh9ywbr;=y4NwF~l | |
z)rhih{?Cb(e;5K{w^0H2<?8D^eZe9tg|0k%kuix5p+hki)07r>)K|QSApb>ksLv7o | |
z@1QsTaYvZJ%<q$F+i*k4sMi1F0A?z$$N%}}pDfZY`?)tDeNjYke|kOYs`|;J>)skP | |
zZhoea9m^Le8U6#g3)X!T00bP67)n`#P(R_lw+H}pRq8#rPe%m=z@e&<1o8w703SKt | |
zti%K7@vKmweYc{F*wf&AGj`w?(O^Fn)bl695ZWa;@)u;phT{I8`~~y9>Hi#I`SU34 | |
z?O4KrHsm7}Yh7rA7Voc{iH!Ap{j=Y3R3A(KG77KaHUAPwNZ8~rfxh1__;XAY?H$|x | |
zGD2UTYW*eb%>27Qj$Fa(pVwZ+8Qt-c?h7mCGMZE&*~D>QFU;~>tiGK3TQlR!A<<v1 | |
zeUtUy_3Vh-`SVH0KBim|BWepHV|N|3;h===v}|kDoBQEv^cCx20Swv67aMQquxhd3 | |
ziUK;$<HdZ)nhJ@B%r2@}+FI71czLh^@N{WLIOW|jR4lCr$Vh!wuME&flVVLe8W8|` | |
z7uZ`GRRtZj=b=fKLvek=q#!NGX+V1q3Z!`{P-tGv;~20<y;Pr}Jutz0WWPb1HI3wM | |
ztsOx@R}eK+_>YW^40>YwlIDi!2Wq#lx)}>t|Bf=@!y|=vm-C2Zd$G<RMF)~t=Z||> | |
z=a19rud_&sFMC`Ef5k!qCPgv3EEvNt3ceJ8b>$-6XZK|6@0FnOx1i!yeoDQe&k-3o | |
z97`|c3&vFmoNYeC-Cvle4aI`HDF*2kVjt3RRbIb)1NUrl>D(Tuo8xJ@?^AWs6!jN6 | |
z1e_}OKIr%iw*xxe{X@`FJEFy`3pj`P0zGs~UH<lO-w8jNn0Y0bp7nvlO;r-P1fJ5q | |
zS2$EDmhv;-=bP>t?|F&B$Tk!>s#yiyPwK62ibnOZ5}_K$5kM&dBLDKcy-`Vt_>Jc- | |
z7e#QB5zuUhkvNaMSlzzp(?Lfzt?w!*Sv8SULeuC$1*cWS8?9HPoj`lXrx5h1(b+1r | |
zW&lvxgi4sG<?6BFY_K;Dw<I7%xG)C)0+0C5L^nj<3fysH!?~fHbGN^H4MYd70ed0A | |
z{1|Xd$({KJxFGZ<rwq)Mv;C#(?AGiRh&MdlRVxLso<M>Y9{BI2adR;lURC>(%&1re | |
zj=G_9JbUJAh+U-BW*xIM))r)Pvt;G*>zDLxF;ZZb&$Y2K?O!jtQ%}51>h^z`>~Lvi | |
z5bI;>tTGX+I9{~6W8wduK)`W{{pk5{H>j7}B2`tSR}-*2*l!MLm>etwguBdAeR!E0 | |
zb^yBw5Xhpmk0c%U!>xLs{m{k+DZ`Yt9}8Y5!USNamnB^-qH#LO3_n~kv+@`Z`NLDQ | |
zO1K>6oEX>FW_`FZuxSzCT7+*xmYyT|!^Fkn(!r}Ae`{q7$2(Q!WgfD(?4_d$7bcEA | |
zd@2Ep0bUq7&bL(O4F*6i6}}EKCCB-ac^ZGef!T{GmwDFo4i>|fOI>E$)L1bD--KA` | |
z=Z)5gys!B(i!}J&-?!3v5ts3W`!Jg`RZN8;BCcE6@wFY-DL<Walg?Xzl)*smftzsl | |
z*7Lw3QM&Ku*y3+YR^T5C<hvlbnY<U6e^@Ehb(?F2)jq2#89UY5^m9$TxVUAl(Dj@K | |
z(CY*FwtYH)9suL}&<Su4(rLk);=t&aDaZ(hI`gIcCo~74HE+Mxl0jv3wZX_5KGD2g | |
zFRjAp_Q{!>?Izr%-S|TczlgUqVvbcK{n=KD`yX-{Rf1zP|5_m8mqW;K*084R)6w96 | |
zhxbUf)~Wj|4<V|nW&bx?BxA*IdK)(U$mdTbi`7uH_yQR7lZ02m{lg{jzK=)!yc@J8 | |
ztWL7aT3|V?iUiXy=rejLjWR1EVMk&>#8U6Cceh^!sQ<7LiD3REx6zbwdNHM@*Ki+Q | |
zkqEFa0=k(#WYB!5=sbM7H`(D{G}@FWqVwvH?)~9_(v*P$?WlXcwT?<!Pn$0bMd;@J | |
zYs}>$aW8QU%$Gxm$dQ5GrNCj$^C|i{Ql}GrY(EvP3S^P)kSrci)}svphg}qf5K$B> | |
zf#IY=gda{W(&cZ$6#BCsHNXOuN66zkJsvHwTW<UB{0(0sf-|J+OI{^9sPf3pbWki^ | |
z()S~bH_%M*cTpazo%HC2!vwt>!=k<7n|r_9o0vd@(@+(8M40{Ogy$&~WV#I;1vqrt | |
z*P!ufS3F0h?rx4Fz-gzu3!$|KGwY~TYsc@RfbcII#QC%NMOx)6--?}rNJh*Is-nR1 | |
zpAMoAU<+hDWc2Nte+GTo4fu4yAv{AQhI3(2s)i55%aUoEVaL295*Q!M=EYVVKPe?u | |
zQf4XGA0<g<^tHR6uqEeuG0_Wgw$2A(zQ!>Cf>KrM#rwL9?zW8nyJK<Dqu773T}pE$ | |
zrHkllMc%@nnEty|#w=hv00`X$RF4P)K&ZTau)!tM>PgSN9^ku?{3&h(g%AMG2FAZ| | |
z7y$Kv;%v7F;JtR5T*9n40dhHiU)}2*MoLU467l?_52kMUK(z$Ang+m{(fYXsg^cbv | |
zlftU?zN{Dh&fr-?8YR^l0-oq(kK3z@an!r^nC@Hn-J=eoq|-m#w|XDvnEe6}9=`dq | |
z4N7*SJhgZ}cUKNv<>uLbN%VxeIzp<-{QLj9w89@G1n_LmVh`{>v#I>#+kY4A)_NjW | |
zf>p}U{rdVMmgWDNp~wFjb)gXrGT8%9p5KsC4P!+676gzoQD0+M<Y(FlB_vlB!NreI | |
zP<w$VVnNX=29tXEQXE(5t$J+XWoIklJ8J5xZy%H1ZuKjrznt+CoR@O-^0fxw?CV)U | |
zaYib9dbWFdxv55?^!fT`@%qL_Myl^Y8Y#aPW|L7%?btxTBFkx4&NC-$qD`)Hzp&P9 | |
z?dt;t*!RTDs$6$Y{Z`9ju7#E259PzPCyZ@3E$SDl97&734LSz?xbPiAuS=)xPexs2 | |
z{rj|rSH1F!bKzHI64rm;&XrWiZ7d<OtBHa%m~He<Nl>`;@+PDG&esQ2kzU-4MC!R5 | |
zhSw>Edne>(W;CA*-a9drrObSy-AK-rnOG8DTUU_#nt$gx`z{YX`x%7gIzC-8({&-~ | |
z9l4bH_j>iegB`MS6mjXxa=^mGf{Q;mA3ia7plf>({m$!^jsI$-ruRIusl^xFmgO*_ | |
zaC)Qt^oR9~7pcknM+OMp+V@(`|7Ivk*8*^W4Wm?P<eD_n__+dmU*ww{g`>>*Foq7& | |
zX_w;?BPHVoCD(L<%gu50-;;fUae30Gp}8kuTj)~F3i@;re7yC;rmV4#-X3FtM?}g= | |
z%SBxIOooc;xOIGiyLHGtf)1cO;exL~lE56Im@^|KYve>1q@T^(^GWXKat0w;_4Tks | |
z{WLITv%oGY4-22PHkLo+tjfVz3Ku^mn#H-84m0K!=5CAl#F({JqxziY^DoQ2o;tNX | |
zQ0)(ugg!cOaButcTwQ?8Bs{FK@}{Pt_(QSU*;M_fF-`g*>yI-{H%^V5orS4-88-A; | |
zpAJ(ngf%W_2=6#<_2So!zNYYs$xjj8-X-Z0C;;@%CCvEvW`NTlt;euw!;s5eSIg_f | |
z4Tg%CaNCBycEu!&s}u+`H-?!2f{%1|jUSghPNijL{{WDKz3(bK%IQ@%AM76lVVF(6 | |
z=vx$qZco(t`!wPogKfc-i$%chK5A8!axYWr))Tx&CJQ1}N@}YItY*c+wyW^B7y~{S | |
zRFHC~8AWm(Uyy#&BsIkP#Re%sQ2Bkc=pucYJJcc?GF?qNnX?{N?@6v%Jnf>L-Z+FV | |
z;UO%6zO#J04LVVgPn=7vgp*rWuM3#ZPzBV!?7A){{waae0!JMP;}mwzHcaHpxsl{n | |
z$cOj)wvo$bwmJddW1NgOj6J$VWxUncY#$v@zHCNvJ25J}iVgFskZm{^yh(Sv_d|q4 | |
zwK@VWDQ;0Z`?g|v_R6Xb&TO*i%Q=2im*BlmYUAcxWo6zEzma7JN1SUA^ofn%T?mxc | |
zi7)H!+8+Ri-V)IWe=(EBGL`NYeER$Bs#85`Eji4<2oz6w;Ism-njEZDn*^qGwL|@g | |
zu|A0IG?80@Agy+b;@?Xe#X!i0K-Ee&V^z-*@u&<7Umzs=3I;Asn%N?1gbNi>q0EB8 | |
zQx^ks<JZ9Gg+n|2d4oFM$C9aAhcYa#zWiGYRUbu3&~+B#tv_=7qW28txuLDbV=dvW | |
z^%ze`WHBRReS^S)ov%pAF>W&hA9KV?D2!F&SP>Ic&Syh$5PlsLl#f??Ft-p*`RJx} | |
z+0#Hw4Q^*yFDQzi?bmfZQg?CaznHofN>`aojFI%du+)v$+yM_S9E==KgH%a$AzU$X | |
zxE&D+nkh5I;{e}Rz{6}=qWQx?3364j09SQ8ECM8HGJhTaV?ZNWl)>jFWXz|~^IaOV | |
z0|!!L>+VQ`$D9~MM|=LEb3r;-3yHMCXwSV$_V8q&mrx(L+c)CREn&##X-*fJw#$EQ | |
z?Al9}Tmi&rT=FY4wD%lp00dQ<c|O9)GsYyc61BA=+#mnIAF*aKdL5J%`GQm8joOpv | |
zz)PO1MWuu!;RKmMbIox>sU?&NFP%SB(>;B#&HYh`m+#ejYG7s+oOP8_O#VIp)He#f | |
zpVmy8DlqEX1rIP4HISkSJa<yl{*Sf79cK8;q;c|8NK+1KyKL-rrUF&adiwqG9(6&$ | |
zRu-drf~jF8TH4CRR@a*H>OX~d6vsyR2;};JB*4SzqX=#<5ksWley5i3)E^Dd1{Pq8 | |
z5O+Q28R`e0dkD_>O|}XU6K8dsoS1vnVgKV{1Z-b6MuX0#><-sdYeA0Hjj$EKz6a#= | |
z%3y2(DvjX2j?ddJLt9YKAy)0MW=pM4iNhJ+ed?$uQR~XF-fNiu$A?do02bDPIFNqg | |
z1G_Izi09Z%4s${}E1crj;I|~tU(RkjV47;G2y{^mchy+|#)r2RW2&cp8}85oP~gCB | |
zec#qW5p;$m-hY&xfZ3mb<`@Ax+#1nW_YK^|N&9OTtsc)Y85^(Jx2Sy9*@tj$61J4J | |
z%`bh1$*lx1Zj8#b)Z)%xOe?^8BABYs3vhu~?R-H($8tAwSYPiC9S*tf7)0NUxVt1; | |
zLqDNPi6_%_EKta-hVyhBStF_TMSG@0hQ#ptG^*wl7PASnuU4%=?Lylxt!moHNdg;I | |
zcN7G_UUaj!)a{v+9VYeeiP5M8Ai>Hs`gEaqYqI%siIbxV9{(_^go3CtbLa|_mch&$ | |
zVNtWd%k*K&Wr4k1rH)#8I>eR<!B4mWRAFXQa9h;u1WC64*+~1{8DGP69iz9N38uDC | |
zX8Zu2gMF~(5l~bEk0m!c>pPs~@J+)wE*9Nu5H^|5y)+tsM)CC^n9Wh<RySmBjSo1~ | |
zW$p*1*cR$#-$RYPkatP}n>*hYDWo2vo7EtnLNO(AVn%rZ+Va7v_0(vv?38^0@krCI | |
zkLnE@Dq~#mQB~`EoD_n9ipMxN<#Hw;-|2#UqwH=bWR3#S%nv|A^16ANO?d>_F6HLm | |
zZXgGez|U<_G;fa$KO~#IY@`zgXk)-}pFZtGA&WdB>zLX6axP9w0yu#@EsSc-0fdv% | |
z(Re+k+@R>1hB2<U>BCJ%;;Qdo>8}X3uy&Pmji{+$8*onCD6d8jhTKg<{G`FpEj}p> | |
z=YMId8FQIx{+5{zg-w2r)|CgPIFh_cuCc+oul|b-E4p0G3*gaJa)WsLcsbnHC-oDB | |
zl|8|mxx^D-HP3mUiD$M&KCsH2z@6mbAfiZ+zHF)I$A==)iEjcGD`fpX3VnFd@%8eq | |
zIf@XM@j7Q!G6H__knknvN@LJFszP~C%u$rf;y_KF5oQ-M0s|j49M(X4NR=^gg$!}` | |
zv8|`0e6%&q(RcgotEIAAlKLU^-Svtx0#)pa{=|EsWfxuju2B$hd-4*5vhSjS^B>c| | |
z;W_|XEqZHD<AfPwC0fYl>%pMoF0t;Gj@kbMV}-o{nap3gW-OjKb^G4lpy*<IlXa5Y | |
zENLwAD*lV-tw7wZi{;f>#=o7TyPXQ(D+Grm{dVm)z1CW~(i{1e?=}L5b*yHzhxq|s | |
za^C$el9vQ8I5A{6kt$cCDh3N3F=$NJ^hl^tvp9OgO{mAi`=Nwslk13}>J*z@=^XC1 | |
z6~Wm=m;3Y;Ab|Qh2v4Ji&A??p<odaie~X8Ku_~T5$wrjWxx6clVRYJ6Jw6_evRAek | |
zJyf0t27Oioenx>lJv-cl&*d*Jl5Wm%ZzIcD$3dEG?Wr<t`M(m=az`bHspw1)=YP*V | |
zGj<tIT`{`cDRTX`UT9R$k#CFWr;$frN#w24os8s0QQa@Umxb^f)2I!+J6&WYEVD_< | |
zlQX-H-_DRqxIH0w_%;V^e^0IISOt%ti$VBeppcsUflU1}64sGHxXw=xE~eOhIg6&X | |
zDmJ3dAW;qap7<`xac^1K47R!-8C{r?gk;){T~R0PksprJ<(+yvx3}H%*4Jk-pJ|KQ | |
zZ<5BceyswFt^#V&<yMjMvP+@m7+`={D9=ptT*d>`n!b*6qQf!ZJ9U5mMXSt}cY5F- | |
zX6nzv+!W$wr?R-d8#qvc`+8LfoN0#SE0M|C4A#Vb=IWQD$IbYR2EgIKhgdKO7~37q | |
zq|;BcZ(go;q4Nl{f=|3o+#AG=($$C{-p?K)b|5A7$ec#OSHP)n4mu=1G6+&AP<d!r | |
zK8IlQd5v^)TY-Bcl`f;AMS+E!kSzg?LuwC=W6R&oXt3Kc$g>;?kw1VGk{jRdNg{}k | |
z6E4k^oUiQf-EFiqG0)he@>}1a11YuC-PkVYRBU@|<S9Hl1=A{Fv)hJ=fMoW;a_8x_ | |
zpE1zWJRt4a`B~!SyDC%;dqb7&6@n_Z@J&M&wajGDLN8_eyRzGHQ!XoU*PO~i<D;5l | |
zq}UXgbcS*)L%=>9kE1|yXHkh)QC5io=CsS@%}532o9*O4>PK)*AM8%E@37{2y%G9x | |
zNPDr^>)2|KnRXE(Z*gPuC+2-jDw}D9t3YDpV_Rsh<|bI_T@vu1$p{?h=kkq7Mrmc) | |
z<;}cGR6IlQo66Xh!mXj_-i5iHpy*D@R7xO&_FD8OUG2B4IYBlEh%bT;5&zD=a?OQ@ | |
zYkX7FL^Vj`rDn>tt=xKM?G|#2&ZC=|?+FDpQ3n-a_0nO1UHI2JM=bV7WW4xwvrCV3 | |
zDPDIS-^@%2+wLBoDhp=1U*KYSvGo89HUT5_PSWA$(dH5*=otC_LRFqUV<Sq_2w!-W | |
zg3^fu`l2hLc~bGToZSv7pki<CI(*4^$$%EjHkk&N4dG6^Wcj?>DFM603P=Ft==l$a | |
zSp~jXOy<SnHl;uCNnWkeiG&`AOKKK_h90Lhy%y|KunK!knF2TyZqJa4Y5lZRuiT6t | |
z2jbHKOd{U>d(>-ncdhJncw$(ITx_xX8|Du4RS1hV7`_4}+kAyW5C+cKuw;;)BNCoJ | |
z+kGVdiPC=Lb*AFIXZlTNxuHP85+N>sUc--~$cL1TEH8i9kK7%?*f%`2#8u)8W3;h_ | |
z;&tV=tbYL9asV*55$JTt2BcUs_g2AkKZzu{GvH~F=sQ{R>8;2EMq`B33q>mX_sJ48 | |
zYMTQ$#3fT-&Z*_ACtXWgmky9MpdfQ*l#Z5rH$$O}-L>eHwW+=s|Bh;yAF&;^&<5m< | |
zg5S#p5-+b3&UhZ&Ayz)9y>@V3`awA2ClBUQ#{E^Wowh^w+gQs>aw9h(<Ct;47xTEj | |
zkO2t-wwhcW=>aFs4iMQl?wli36oi?`t_h*xFWjP75zA;p1tz0xdK9NviKw|B1x?%r | |
zcpKaNCVHsfNM^|T8$DceIBfOuB-OEojjOxJa^~0L$h>&!3ZRrPNBsb`1oN_;u%9wc | |
zlY6y1q878WdR@q9yY<2WEV<-s?=m$;TJ`c`Gx|-+IP=y06M*1Z12cN1Mkp_m4mosK | |
zZbw(b%E=sDLwEA3)-i_g8hExm@0z(JnIEP~Wn1IYi>u&QpPtZyYj-ZUJbOQ1XJPO* | |
zI6lar@}+@B&KS0UDrrTYEX#qOLSrDT;-*dKdEn`78_HLKdbIML*jzim*tgu&<nzGT | |
zZW~p=z(v4w(XEF_<$x#b%P1;)137R@c(m;aoyQ%P!ElRAfnuvoHc`_wFw5n8@%}Bc | |
znqq*<4!}bHUUkki|5KRrl0u87oiMz6b<(+PxFFAfPCW|s9RXd+b|%!k-$X6KYlpNH | |
z*|}VXtMIKZp*MwXyPCH*7ILwDt>Rpbpefq2atCUTwFw^voHV|(bODT9mVum6m_ZyZ | |
zJw$0{nML)fZHX(%gI5-P!jE*!s9*2lgm1qy^$wNp`)Pse9B!LTlbL{OZ%ZF=u3O>3 | |
z6y|Ta-f2S#0Q%x(?v<xZP-T1iAM`(-tq~1Er-8RtqG%3K3<bknhGE^TrOkPfkZhk_ | |
z-}+--_5tQ|K|s&9gFXn!`jzu@%##^YKPJdFF8jF2{U0@_HK*MP(i=}cqee@Z=MVc9 | |
zM=IP!0P5OBL{@y$G8j~Il%1_@NY*2WnMQTDCWer9|G?V?9ns)B-RXQLoG$=-B+6!I | |
zZW_(0_w_q}_|FIuFHW|G*1!&wrWS8*8c@)#N+!-_JfzQ{H_uAQSBw7mp|ECHO}>@C | |
z-eEhLNAaemF-A2TaA-hBxeO^$^r@0!lHShjl$~YDpc<ttaYAp=5=)JLyCHP`Na$g^ | |
z(1+w+MnB1@*mgGd>^sT$elR#+=}$|6m+7@q0py5oK$rYThQKr$BnXg2kb?&ZRU$4n | |
zu@`I10P*^koOZ4k{5)elMxt8jB$1oVxIO>Fx6_F>6QOh%P=rppGM*kAO+!TchI1tu | |
zGkyj>GX&<wP!Mizi6t0Gj6@RaCt=>`A1WkAjSd;*SF#5{WPuI$z>!(~2=B0&%xiYE | |
z1)|w@`g%ZZPA8Z+0@`#~8h;yE-)N4%ZzZCa_#|<Ndy-Gp3{ZL2fje5;U#+#y)BaV` | |
z9NA}ywc6==@(MH+SoG>SONzvfmnB=9(&uHPD6NbNvn_eV|3}POhsCvQi5@2e5(oqf | |
z8azmVB)Bwz1P_wn1b3GZ92yG*4{pJOy99^E-QC^Yp`q#hnse@*duHCu{ocGcGw%<+ | |
zkCLulwRY_#)xRobS(bF23={2v6VO)uR8EPugU75bB3vm*fyB^-lOqwK8_q9hQ}Ddt | |
zhdR@Ulyk<geSEk686#G4O`c#Z$dy_Fllu+}b=L|mgb3K#0RPS<;wI=CB0_=l9hA4l | |
znk99W*q}1)^JR04??$~vGOB9DM|j)7cTKP(^jxa8;%w%RSX%2MS4c~%;ndSR`g|vQ | |
z5|spF8_`DzQ_I(T0yr2$kXee2tN^jMxOL3gF?b>g2lp)&k{Y*&x7Ozjh;L{Wv9akZ | |
z9o^r-Eh-FC@sg#~GtAO2)@CLuUcEqx;msOBb+)X@E%|O<_WI%ht)jlRGQ6ZeRar?D | |
z%F(<h6twTqqDy$g6E|abJd}M_qoRD91cvnMzEVlIIf;898QBgKxL!ZX2F*LWxn6(- | |
zIfdL8FlVSzj;9#4n7&KlP->C@K1uYv8VYFa93k<aTRAz{W0IS&k;T=1QO=XF#mvY9 | |
z#}fzxQw^&qOE)PIloNT^bQuScH_@^E*3h?%ydzXEto(a=rh6|OglVWi4zQy0FWfJi | |
z?yyN<;Y_{{z(bY_S6l-WTy~xp$6U}AGJZi1M&auyq4PU~Y(Fhg8Kh$aG~hAhJ$Z`V | |
zywIsZ&}B{yvzl<LB~Isjq=m6d0dWpY@K9QBO+2^0G{Rn)5`~-U!g#_1{SC<_?KpZV | |
zc`-9C@*Ev>%85iWIX6t%;?5<YgsxB;7@1;ff*v{Wpm0guftWWHmsWLJ?*c$ev5#X@ | |
zX$yZ(7FJ$aq|ob?Z*OZmx-J#Bw7p|6ka$`X)+~=ZY~m^(=S$Z0^Hd{HHNj#eV85}x | |
z%-Ji-@9zC0JeFT>Gh6`C6SVpc$c7F%xXa_P)!|m>NcL>q1PfPdYmvW6#n6P7mG-%A | |
zo7coZVO@z=<rhC97o*yIjR(_-;9xNmIE!76@pENZkn6YFeD`2TN6|)V=gM%!Rb+IZ | |
zjGS_YTKutk2lB<kElMwCXe^khJ{HUuz$)ONLodzkbe5B=8efqA&C4pWQ-=uWl-_xQ | |
z*&^!b>xR4r6NzBhvenmS(`+Sy^C>@tVkF;J6`!U-kjON}vic|3c(b%*i+Z{zi3tbQ | |
zDq)Lp)>a2cCC2_WF(T+j#yPg|E8MEdXk&GNz3yCf2Rpb#O4AzVWENn>U9Cs^-hrr9 | |
z<OO;qjq;-^kT1nh>qpj7W1@~%&=DW^k59zLt3Ru(6b8KU?Put1h*a2w?6;q&i`O<M | |
zsz1GtXx|J$N_3pR)}7t}G9|OtV>cTC!f7`lxVWU#R`9l>k?%!l`M4xMft%9jAM&aY | |
zid`D-12vp0$j3=4-G-*=poo0M6E2uO1ux$im{wkWwSvuUki2A_yN2wofe{vzZ^z+> | |
z50!97%)5QYyfEi{%;2q2(Oz_3Y(xGJFdaf|*KIbDGefZ}%QD8r*~JB8x!ZcSPkhxn | |
zP|`)jVnuyIk^>OCUzVR&=-j;!0w=MJt#NC!hl3jphx7b-&g;VRY7MZWpRD3!N_$GD | |
z{Tz@x93&NBNT$pZ6;SlTPvv{g4ZHz()1`Gi-ez?yt?H4sHN4d>s)b&SS%8z8Tt<}5 | |
zZgVW-9TOX0j2bz&9j|gfKoP+a&Ax@E4iuVNfUzX@0DSB%4fq!r6*Ifg`BUV!vZ#{# | |
zBf^5tz3UGqrKJl|%T?uQO@l#eOPfoIFKGBOYG22T^ryuueM@bDZh@qRCpYbsG!DgB | |
z3VKDxbRRE2GQ~)gYFw0l;@6C?Sy29t{zZ%2fXHjJuAd#ck66ooGs`GF3{6!wB)v2E | |
zHI3wEdBuo@RMtTBKvZ{P{98G--7ho&F4Tcv6kmvZxk}q7^H~+8q)R`&9+sWuG~rZ3 | |
zm9Z@9#gF-a>-6x9vs~A9fZay6WOhZ$%=hb5gp_(AuZ3Q)NP_OMHOg&EbOQ1Z9+GY< | |
za<uO>gefGPdJ!VKex%^a<y9YIAJClz#%=_70D@i;WD*SSgSf)(vrK87>&*?bs7I4h | |
zw@sHXXuGH$$ufSVN{^v=;7wnpViYL-(I+|4+jumLFSzBIn!bf{Y%U%BbRMZG!$Eun | |
zN#XxwC*_~uLG1}>T#o+F0+XIvs0TaLFJ-sLvN(`1(zU~|U*z?RqKmI$r5Lf(8Zq?D | |
zQdo}Wh=(e$$%<j28(5^Qo)H<Xn`4}oP-!rz|6kmRergFmDyAW+uJ85C@J*@Bj(N~N | |
zIq4`eM2Ykt#gF`CX&7a9%BL}Cw{uxYXCFc|PKADW(5GvfMI_UT@h`_Q`-Wg#vT1#| | |
zFG`!Bj#FoPd&sDMGTiF^@%TEc_b<iK86>W5Q{AP}iKjDsuYRF==Dqq$(Scj!(W__E | |
z)lUa7K^{^!7ms+dc$#3OX34ijMLd@`qoN|K3ys~EEJz-5X(626>Q)#en#|a!H9NRT | |
z!iplviG_Zm(QL1Xh!Vkpn4+VrIx2B=lx)BcA|u${rF`|T*ARQNS;IEWY^MhCCTskc | |
z8*RsZYhMIEkbn!nF^{S>w2}Qq2Vp}@e^tqL>3>J7CA-j5(tKz5lP7V*m<aopJRlv% | |
z&%enHNQ#^uNId?)qw?M{49AQo_bvBd)YPIA_g5uq<^1zj^_NE+wn#Ew`fFOH!~L(w | |
z0^g9+e;jkXvR3ZQLdtynbZ-1I93AzRC5wXX3I}0BNqDLTjk)4b{P<&&W)ZpW3{iN! | |
zsTn<e{%;+c44&T$YMi34D}XCL*9dLm{uyX()*W9*1i_61Qda}R2kupQ++LqmZic0~ | |
zw<W2nA$Dya!dU5!rO+6t98Rf<Wpq!kEgBWL0XBFy9s?Ra;~5+9<|(!uL}aJ+&e)*F | |
z)B%sae$`}NB!GvVpi2jx9_6Vf4_uwzPckh?$znj|@?L0^V-3BwNtlJD5b#CPZ+s;4 | |
zUC{IePc`$}N2HIKK}8*4hAtgYL45u6P5mMGR?25v0}fSK{?#XWvF7jf*hX8NG!7-6 | |
zU%}D}Hn4tTa%UlAb$fCPmKBbqo{~W8@Zkc5q{UW#!cbltdSh?i@;*MNteFpfQ26?@ | |
z@FX{)=}jyiRY41Y&q`t&RkiCoY|m?&+OWkc<S0)**KY-pXUcLS4V}OTHbL^+V|4H@ | |
zVcH?y37h+MMR0Ut2p>rl8QiGvoLkt*#FC&BS6so#9MvDh-HjTyhU?6^hRP8S=3t2P | |
zF<0jJ4(ir;f3~!`bZYayYsu%eVT%YiD@nBC3{`S-Vc3~X62KYw``T&fF&mKGb)5u` | |
zZD>pT0-wr(+sjeatl4e%Dw4j8jRj~kE1n&KHDFVPurWrQ{IO8%!EG-J8;M`*Iof_v | |
zuB0fR6<^29pqrQ<d%dH(i{y_+QXQ8ya%@R>HXl){o3<2B$V+A84|aK8C1-!**J7Wa | |
z-~W<#>|~la(6C;LLduK9Jo{Dsvg{+uAK!oJd<?)}4ob{J^!Vh9Nk_92H=d4GlVQwU | |
zfjv0Bj2tL=L;sZtxi~kWci-nVm$L{>q^A^x^#3*lbr9dFA99t4lS^?J?y)rnEt&Ot | |
zS-UY~roHrO4>~m`nOrRDal3c--HAyQG`^6M7lV1GU%$Z(g;w(qeGN&xCuMoXLG;tJ | |
zDeQ?Rhr*-;bC*z_x{*%4y|UrGEbq3d<?rVj|1WbDq<$g=`SqB-nUL#Kf|hMI2Cn40 | |
zQT9ABEZg@3O2))L^IA~xBhF=Z75-y&{bz<Cai>pz6^u6oxh`Bi<&MqK`N%Huf2Ya8 | |
zEJ5GD-v#i`wfY|or?k8%kB_6`%c6B;nty}g_c6}C{457sJVS<5M7Fo?#pV*IfXRv4 | |
zb&RHKkB7F^vKA9~m^jDTHVYd5MxneTv!QWoq6By1cM~bR1s^H~SKg^{4BLI|cg;!z | |
z$BaKoO`VT;YXr7aV|K1RnL4qNr``UB-fKX{3IF9qYE<%bpBE8S;RoZV5P_v~W5MOu | |
z+=JHw7}yy2IW@XoD?F|&Sd$cBF(VwUUZhVu+0#&P?xWwumGAjx?BIEJ49ZpmUeZ&u | |
zB~YHH^?J$gak)1Pr&ddH`dVz2Yh$0pSVx{64a3yme<j?~+2~rY2<rNM!roHGr(Uea | |
zzz1KT%e`^sItQQWNa*HwK`L~00}4LaP9|uu;eSzm!c`b1N_k4L;YGr1H%ZzdVa9w7 | |
z*`>oV5<Fy;FuvkcuHUD?ILT%CBJqINBsn4SAkJk$zP-kbY;l(x#~|$yqH;uEG4bKu | |
z(k#UO4y2mG(TvhOzmQ^J=Jj}hOdP*6(z-S?Z>)p&^E*Q{g&TDA0f_fWm+Qz|*p5%B | |
zJO0}xHzbL6EKTzv*X4??O&!sRRY>R75~s<}5?ZAtJ!*rT0Wb>>pw~;<xFLm$^v9Q( | |
zZ$V<gV;-;-EL3a3sm^!RsdUTa)|!3b&r$1Yk{sD?z*ctYd(kg@4VlS`veC1!>YH1{ | |
ztnmgvjS7{0u@A@4pFH72UwmI6sKA>~qhn5Ef+)9_v!NG#enLT_9O2~k+PLxbo%{BO | |
zU5OO2iJ9wBF|oL3F)SHzLHXSR&7>7!;dZu%eLgD1-yetkqvnh~y%{TlAjAIsxyXCv | |
zb&BN>^{y^n=iYX3aYGwYm!L!n$FLLO>3)D1p)dS`F`T~YLn`ZV_WA}|M}qRy4%*RL | |
z__wDv0?|6mF|_bP?9xq8S7_O2&8(E<t?2po!%iHEUkh2h*bc#9I8=R5y?wx^Jxv2< | |
zEDc|wz)%y^ECn2AhrKsr{V@k^|CkBspEIGLT3ep~S980sL1=np5KONb&62?=t@M5o | |
zc`*K~dx&q2C42xRL4?EW)VpHtRvz-@=IyC^$BLD4CB&`x`yDCN6G!8Ak2H%aJ$FZ3 | |
zX2TmvLV4Xlt261VyX=dJf1}V%yBHH>)8F$VE4e{}7N_XG&ojOEZCvfj**zs<o@HH$ | |
zZ9G5Ym5wQX{`&Ww&R6^<Y${{HLC^eWGMY{3AgS+U24dz_8u=$1+?X-Fo4O{lN4JVM | |
zYBinXk*ak4<6)3wtJRZEZpVuemFk*U{n|-*Pd|iDB9)QWP?iYi*bkYir)6JX`-hF) | |
z8+G^qesTz{)`uVZqE<#)p4rqPVIVDQaY%ZlE+L);&Cq08R}#2=O0EInu4USN6KH&T | |
zuZzX|KxANSVOn;f=xFsCz%ukh5;%fw!Rma*Z>>myMW7DNq|*!W77ZeYjG~H@nVnH( | |
z>W_TCB?6~#dK9|t@)Dpjz?g(|D@lJd;)tgLCw?vY=R>Glii$5QFTlYdz%X*lRi4O1 | |
zx{irQ8kg4Umr7-<tVEwu5QLRv+qZG!!CiOqi>k+}w7jLSa$g1gV84WtNaf|D#5%j` | |
zVwd+#&>v9(syzf4^Ob?qE7NB!P<eb~(_68<tRBanqLW;H%oDs{Fwocy<o8kq_}dLQ | |
zHIr!X(agNonLIwPLc_E5!1dre43Xa<oFAF3m4l>&V!<M`OMdG<u6#bQD4vMbKKgv| | |
zyE=4g!+}pDTmTU^mek`+e<iV4r?2Y>C+i0jz>p`A1oq_dMXhz4e?uY30IzC0RF!ef | |
z5k3`IsRc-q2ugiS1Yc@%2X8}FrhhUD0%2F9Z7XNt<K9KDf`(5^Hd5EM$iNrZdpOb5 | |
zDyZF^(ffB;zFtZOe0RiyG7+T36_f=&^!=vu6*LO}jJaZeAKNW}<3K0vVw+1p>4%Qm | |
zE54>}(Ib!{%lhBIZv9h?E$z0K0E6Vk7srSp=6rb~+J~=LoqL|AAe9Ex9(?@FL2f7# | |
z_<awF*(~3pJe5}MgL8KCtN{;?h<$+!7jVC4ce6H>%F%2>xb|a(1Aq1pq0<#|loGx^ | |
zM9iaNH7va#n_TFVYS3gNLK5_(+W$6q?*CLRT|UT5dLl~aAQp<6wXTisR?(ksPqJUG | |
z#{NxdjlI$Z*#DnoCugnGZB~x!ecCHQ+>4pS|55$r6pK(kF}f<w^RVgc3h<pY%G`%% | |
zhvrrDV$rUjUT2(SqzoQZ3&)C2zg|tQ8ic`Z4kV~boPo27pf4K~81v^W5BNQn8MxRV | |
z=}xb|KqtnjIDYNhFcpA$j*gbA*A2oTfBcYp<wE{hZbzkPei1b8o~eLo!b3rDVSE3E | |
zbA`@vQI7y*|B>PAwd2+6OhMT>X!sYc8m`v!Z&)(i25rLA8Zdg2XSm7Dg2t4!q@H(t | |
z3%7^}pXn|K#5NAXmjuxqZM2wdKmIYqtWg)xST@;V1vi71K!-cQluRz4y(D!RT;SO9 | |
zBxs-+VtF;=z|1%7Z0}--ar+)yJ25ai{gusoWnA6Ra}Vcb!1*=S*{<5{0t{5SyIJS5 | |
zgd~+@lP{<Ee8daY5k7rM{xf9%BKj-C0Afvt^-zFPIJT`x1Vr?o_O#P|(Hc=QVA_f= | |
zCe=-|i)uZYL7V?>3T#sZhDjD-z^$NO=%GY51K|7ZjP#R$I7)pywrLwTk5+_FzaaOS | |
z4&ea;6*uYRWEaZc9=^?>x&6+}j&Ro3a~Y`{&+uvKg38}sHtcZROQa2l5@2ksvtZKr | |
zz#Z}ANyy`HEhnyzD(k+FB%5dIpU&!#JJxI$L*pK_dsSZVkrRup?o^m>0j0XSi));` | |
zM>yfkOwnAVZk8msRrg#U%|kAkN`WJsk+<oEJ<|r7$?&+J)QkJzJF?u{0J+De*ib1H | |
zZh=-&W%UD`x1U+pzEMyq^v0HZ6%Jm`m2m;z`7^wVI+j-PDi&VRWqBY1uJ1#iSxI!g | |
zx*z7gmt&~oY!Fe><}@+aB2WHC__1*X^UYFsfhF;KT}50vL0_-X6N$zKXTL|TlmXIz | |
zs0Tz!OhU-Q4JS%Lgz_WbZf)3&D&xaIA&lcbp=<16++hO$mPFJ%v#~QhVRsP?i+;j9 | |
z&N_0~@cP}~$i<D+4!!rMHt-oYY!VYQ=#w;|O=GZS6g5rCO$-_~JBxCIgt`?*^B>Hf | |
z-uqQ~x-!o3K>;y`KT$*t7~A8J7j)tw(ceX7a7aO2{C{szYeE<VCNtfodkC>?P;$ZE | |
z+j?rAi3CSOzKNqmRx1Q0pf@Nir4fZ_u##bH6auGvJI7efI;uUNVcPa(|4)#w%P=>> | |
zY{v7A77w@8=Y%v_i_zJkV`rTA>0l$=^c{V27FnBy5hkU+GTUq}EIIpHWe)gOw+Z2j | |
zBr#4qr0~h|ju@W<4y94=+mdKt<-{b^M<x$kSYbK*$F9C+-bwYcgG;N3KfboBn$@e= | |
z>^7JIW&&;%1Glo|oV#WoH0L+u0%9^K^71)|S8}&KGdAv<cHgrf;4{eSr28zDFhF%Z | |
zy2eFLYtXLCN6muqCta9|rR%Q+{td+?a9=o4x99rQi$5m!fR+<YK-YLn$EB58RxSjY | |
zX-(vr)p~G|ZDmCMJppI7ONEV*PUs@Idf65Gc%KD}FN_c`0xQUD7G6h~F0_9w`v+WS | |
z0ZIL-zfJP|UlD<Y+1EqRZkop8pP5G-USPPAh%+DG7U(8;k-<?&^s`KNqwwHD_Qs;P | |
zx*2-yD|qD{Q}}MhjC32y`?C_e?z^Q`_7M@EO4!&*x){b9V>sm7X%yP_s?S?Wm7wYx | |
ztht$|pS)(CJuNVUk62$ASil=02)px?|5!+%nL|vH#egWN$X4s8hU;dUn%J6+JPGwM | |
zelQ+b9OH;%8Ctg_KxCvZWAimLl?^=}`JVlI_MJLQcvPR|bEU89J(4&8o&Z9qXx~YD | |
z{OVAtF~uy2P2pqGfT=RUjasP1dD|5yv}VdY#B|n{TOXJvd`?&`_q5$p8I5UFSQ?(< | |
zt>HjPWCdj8B5fS@2(w+Poa#(eM+H50^iC}2>2Bh*i_LZJK|oEI0m@5u;5;h;C6P8& | |
z`6oRvQ=T~P#gV~5BD?5Hl^R2{sv#OcN`<fR^TBCe`$=c&M4)RM!-XD<=MPuwFkEze | |
zt!b;_-il<zDc(0Z^)%^=3v9se3~T}30}ol~X~3N%-i63*wq4(2e2lKh>tEgP3Rk<+ | |
zE+2UeT*EO7@8rnU%@7jfIO7c)E`S{}7hq1bqpM57&05_M*A@|$hsacAyQ`RZ<zv%n | |
zNZ&I)?x(e)H*v%hhlp4uF`f75#l3%`LXqeAjQO69%gB9N-*YuI#Jt){kRt~>yFj(e | |
zV;B1T4L*@xh21m}A?cDi4U@6O^XoYRh`@bZGF%KlcLXWK;0LrIDG}BFg^OD5Nxi5? | |
zJh<0(O60&RzQCU)<VX)E_INW{zn!D8I(y8OKYLVy{U|6ZdHW*x!7kmc&xfi_$o-EK | |
zr(LO@DvF)K!g|dojOAr-z2Cl9eBr1tP<RH~d}=|wiN`(d@UrSs##RH+OsRy0PXPhR | |
zjd72O+%e5e;X>2^-ShC=M86edO9i#ki=Q@Yr5mZ=er@RVLj*lEwWWgE_vE!|5?8NM | |
z3vOWs*ci!nL|usz<-)H%ElmjBMf%_TZ`hsJtpJYSmdC^M&Tx8g0CMy~=+_7gw|`0i | |
z{vS4|#&4JqUd5!+=?aZv1ceX*vKh+nqom_k_@ZtJFg)VK)^LeW3j1Qusg0_wO%aPM | |
z!hk*}{#h(*sZ<zs%j7YvAeDpZBoVKRI?7-AKg$vRCmU3D6TyR;R`&$n6eA7{=cP5n | |
z3`D2Wz#3QcfZ@N6{mYlUAi&U0L+bpL_aPnmsPMILXRxu$nlR1T6P(;^AAp{*TONPi | |
zA0t3DEC3th)X&?U-aA0<;pg=t-T8aqPDAvfWxMe8VS#BPKoU&ivW8iRnok4{^y;KX | |
z>ryw#hb6J-NHufcC%-Y;F}=<$E@ZUgz-p=$b(OKM%A85&e0OM1AC48Lh{G;XR`6qN | |
zf}3B+yDvHt!R^d8A$cSB$mr#j{Sa;sp?j8L3+dJ#iAHlA<*xHs^4sLEo&LYng0nYw | |
zGKatS&mzZYC{cwB@~?RYXG6ownCuvNbSV^mU;iDN8#|S6eLBS6O(u>BlA^{H8UhJ^ | |
zn)7+fgrqQEX`9=kZqfkHcmX$1{ubU{NTHDT{*Q?bK+w#UfVg;x;`YJcsLa3fgh`UW | |
zW_ReIaH*ffq5Ec?(&4?VE3%M|Z!GA1bdA>(jYj+=f>GKUH@ggA*~kiT#+ikG?&T)! | |
zc)vwtQ~Sw}e4d%8UGC@-_ku~&_zew>ypjdrFbJem8Vx<ZfOya&rz*Q!`>O+e1rHn? | |
zj>iHyW^>Di=yx-I^6rJv)&E9+Ch^h6aZD9XXZclxY-9j*T7r0msl<m*JE^o?zdypp | |
zAeSJIGT%N}#d+d_G6#b&3;;$LHg`5p)GE%vO)xsWhBI7k*KT#+r*^dRy_UOU-@gk+ | |
zSUAF-^l$^ql!K>wykeG<LENXm`m=>YzjqVx4Xm;kpqqZPtmTx}Z~F&Px6VIdgOptW | |
zhS7Nw%MpcAW6gQ&tjJmby~ZLI;6W&9B)~EU+;$USIJ30;Og^B%s5sS6l1<8pLC&N* | |
zBav1QXQ$cygx0$K9rY;()I|BaD3!X%a}q;Z?7H#&(rwKrel4&um<%4>4@6Fm(~d%S | |
zMq~WVGooT6RZ#CZp@Sa|!$S2lrLQ7af3zpd3zWPYBb=SJ8GF^Kz6X#8$CD;fr_k&7 | |
zG!*<)pBWF<&hEc<L&PJ<0R(diE(u^<_Z~a@`JZtkehCwvLLKcXBby!E#*4~>rg<?7 | |
zE@pbO*A{CwMrStd^7t73MvN`j@$C4Mk;9)Nf@C=fr$2m^I`m@e4cdGD?g@c={`Hm# | |
z;RU+`uc>94LO14S_52uR=t~MQks@zy>#?jmUSokt+jhg4!F@zNp;HT=aw6$|G}9zt | |
zQ{ZCoi5tIzn~d;O$s5PE_@>pzttRVL_W4`0mA?F%jVV?bD>4BZw^Cde)x*n8s*#nx | |
zhns{(Az~w&OBuuW+vTP(wrGSYt6_ESvZP8S5#mm4y<RJQ_6*Fw_=;$UyHq{7g*qtD | |
z8Q%4z>arSc1EmsYRnJ1*TH=7;v0#z!^4m}+@>=xycnj*KC5=yXf=cA+i12X-hls4_ | |
zUaLG4R1T#AV_So%%wK0B+_xsoqa`g)g_HIc8jX3L8znpz`bJeG;*Bi%*aV<_>W7>- | |
zwy-}bPK2{gfzed9@auKj-C|Xc9;(zmigr)abq+fW0QqxTx|mV1@YFB;G#+;IP1n*W | |
zw>r8LCjNN%>XsGkl;6ENP!-d;t(h$3F~?miP{ZXh{8MS0kwA4nyrS65ySt_kfu6yW | |
z7vb;e*#L~LB@{ra)sbGCJX-FoX7xIwDJL66>~%ZUwd0-Q;R6zgh}+3S?&R$^fimtB | |
zvJr32<x84~5bkp^LZ#M7lwF4zhalt)*^5YN_yEYwhATt(GxkUp?4!oe(X~|TFt<8< | |
zg+Q~U>7GVU2tmb~?u&cahQ>G`9`tL>7EaN|f^!;w!r<oi&i7B4t`9_}{rGG4J#Cf| | |
z`)R@Jd46^s*pnW)YoE$X?8mw`x{lwRKCYU-LC!%)sIp;b^6tS<!2D3CTs?mVk;OqA | |
zIq3sgrGZNLmMZ?{p${XDp><E_1_~K|+Z_9vBs;m`WXo=qkg~3k!*9*MP;|UUsJaA# | |
z&erNvFbfzWc&GY7!3MmcxBR@)Dii|wmKqU9DeXnH4@yFn%IgZ54a=a7eTC|un`m}M | |
z)rOjnkYu1U*Zja{D)lw==C-tAodwGt{&FkTmWAO4Rone@J<!clY^VMG?E4VC;taCW | |
zyZ8C`@Es!YJd@`FBt@w~r$nF7^O+<((LPW3pLw{4(G!#1P5BmwBdYE*&B%Up7nUgP | |
zu%Gc&?iJ)t-X!?XsXjOE-a~Xlk1>_@U%&40^zVWY&;6_@x|6KWn*tDPBKv1;y>)?9 | |
zNc!_n<>ahk6Rt%ev{ApqeIL>5mL)3`y!&2B!Y=Sble~UkBsn7{293@7!Nt(Y6pS|H | |
zKDOgfv1|zCK_pWrRus-Rk5PSt$$38AG$n&AJ@ZBBM$EPVl8AmM0_NTbDrD8)EAEI_ | |
zN&5a4MC2T*^Mz*Em*udo@WXxY=;j%m-_WKDAo>uPucf`=b+o-_1rLO5)Q4}tA8&QQ | |
zk$9>Rmd(#k`TfqWS(5QsjTG>cxMpqa0#-{OrO<WI5TL969gnkbKd016Vkufg0ZGNT | |
z9BhqSE`<8OdYC=pVFB@b>%)P11~$3{4@wa2G|rGCG8lF|IxP<P$r(zc-Gs!KA6y*W | |
zMZwdtD`W#QMo&bjB)avU5{?GRpf+zEy_mMGcvdLah}UxxXa3bnbT6P7YI9-(t<G4( | |
z1xYo(sZv<f^E#<6U(*RXui9}(SfOgxQn^s~ZR6YswgVWk&&O#lK47a)1{ZpU`hj48 | |
zpuKYtxEU1_I+~O0BYKo#lysmRVM4dorp*$o)d#_gZY}PC1~64#mR#ReH@1m%{d^>7 | |
z@<fWXf~78<oSW?<R(AMp%1rX+m<=wT4DOk7g!J~>J?r)>`bb74_wJsIOS(q)nJ_=- | |
z(*7G5$D7!59)44*{8hzgX06G@U*G4zq)|CJM&w<((3dkvXFC-l#&ue&2)ZFaY2?6r | |
zM1*eWjTDTbMmOBDh595iG|w_ZO8ajtT=K?BH_khX=|pfp89sUYJ=V1JFa%;ys!MH< | |
za~p#e_F~$h-#Z^Edy$z{R-y6?*GECryC&p2mFz-MkQu#01nR;V!nht;KLg)9_H8)} | |
zUoTpRK+a23J7cn?q0+g!%;)`VfF^wD1M~=s?*lBnhXu!Whk~0zNd2)GOF<?fb(92& | |
zdO>_aT;j$@rXrpP?Jq(pn+>99$yZv(X+u=h`ihwW)y*O1`~r6p=yy8+5fW$UD8r8q | |
zFL{9O!TFN}j)R{;O&5?*2e$z4J33@+R2icm+pQqSIt4u62me0f1}7pDSNoOnXE@&* | |
z3Na8qv!Vch<|vJrq5|{x*ARS30#;+>!s7bH6fIUV9^pG%>cL-2{hlV}j|+THp_fJk | |
zkeFfQcYwq@KKhq=qfyS~_d&!E(aXpBl<*5!c+~I3h<F=K4z;g;%6XYX{maX$fCoUN | |
zbuZ!e1FSY&k<SYjp56xCF*^A1Q+JvaoZ^-4up)Qf17oE#+@c@O?9G%ZQL3a)OO7~x | |
z@GDXjOx~P5){#<+foGN|x}PoWSfiOo-hh?*Gn+afer|_~!G?k%Jpwo>QDTN8BaQnG | |
z3nFas-G=+$QG!vfcaU#nr=HsP@NPy=Nw-Tfvz|K_ATx0{QhK9_^Pui&I}U)h%I+h_ | |
zyA!AW9pdd=^_nG1GGUg|>L;<@c%^nCn=QR3s^=JOP0TvuEd9zGN#J13VDKPS-{S?< | |
zz>lLAesxH(ZOR+ZbuCV&ILKWuwef>SuBg;Fa#wS*RIF8FY)-0|f5ZBu3}@1BnH8nO | |
zLKTRc?Q8M{(JaT_z{_=iu(uSbs3*DGfIG)t^AG_IMUP1aqRj(TzKGSL;Pm#(=>afl | |
zAMuVuaaIvN&f~|Z!BhQ~U`U1ehn>kuINaR$yE2xNg0bVnEij;K@xd(i0(2kTfuxpW | |
zkU9efMSH*FF_2V9u|egU`az`okJWhN0<^hb2U{h;Oy3IUZSSFV<Q^u1u^xy$NaRs| | |
zw5fwpeZA#wbWCUKooohm>NnYE#A2z_UEX<4TQ&f$;d)jUBXWW4yH<irHX3byziIiQ | |
z5!NPy`?c;}#;gsRi+b8QwYy5$2GD#lG;DgbH+wylv*id+h(0@NM%cE|9cpxtdk{<D | |
zwERbk9VJ|%p{#GwWJpBa4vE(g=7#fOO|Q)!{~ecLp_8kDL+&rLOI8WJwRgQk#|Udg | |
z^}U(*u0%)b2Np`Ia=W13nhrauL;lL6#$p5WLp2m5Ki;<7NQs@8ikY4TK7+1baS|WX | |
zwU~VFIkf@EdnExepZQgrT10G*(barChVXXZ!y*`QEDbdp@`e0~tKTX(!Jd$Bzu^M{ | |
zXkS`dfCJzEjZWKJr_tk8(stc`f#Pq#7!I7qpy8&x;`8|(iNEKyA2aqKQ3gBV@QSKT | |
zd9eD@jY$KDQ+R5<3Oxcz4fom$W$9CCs4J73N#Oiv;I!QTUvOGQQ=7=(=ohCp0u22Y | |
z3g*GtX&MCvl7^&aPYxqvr1eJ_A8|J7ob}uN-lOCZOss?xeg1qbdYl6u5D_{pfmSa+ | |
z*Y)(CK$yi6(7juwpa5fEr7n<`#ENo8#LN8(%YFLx!JjjY#NQvsc@yQ>uZ}bMAFAVj | |
zq*LK4?8{~TAViRG?cE!h!GR;U9>(4mfy56Ae~hy*7$BaRnGqKQ=6^eU_V0AEzdK+T | |
z`t>cE9wYayIO=U|ad!7$#B+*cnV7#6vnr6y@#b{sb)-rmS`Rsv+H>i3oaa>W>tcxh | |
z2~+04b&pc*c<JQh{G<3H`H{k3*tP!%WgF>_a3Wb|&`Ra_QD<jR!p??9x3~~&2@xIM | |
zLhB_FBZcPlA)}CJGLu{1v}MabRmfprNyjq^p8sR-HR{Ccc^S$Yt~?2n>%Qk)&!TFa | |
zgQ*>+o7LawI+gzd0sphCowh5}D<wPllP6!gk*}phO)5sS!ov7;sNPu-Yu<mfbCqK8 | |
zFC#g+i;w)JC?4?t((28A#9>P><E7tLN=PXKPS}`0ig<XYr|~azSMIL2tNCr0kM~{7 | |
zt2gQ7Ut48x*EZQwo*zgYO?SpdeAM|=U3ICsXv^UePx4&B@{<6dS_NF)KcPC^!NF5M | |
z@5OPMN40?@H#ZJmEdH~&g0X0)QK<28=TTmq)@p`7zM%;RdYL=4y+Un@r5;OY{gN=T | |
z41_`M*gQ`C&`&GdM$apAKmtM=W<!Zp2at12;_SYrtK{>vfZ`<Wi&>uH(QDvpYET*k | |
z9iiVT3twWsTMH}c-%8(^0-T)SA7TM?=biKr;)XUa+QHrIcjmK)i$%RPPj$z=_4|A) | |
zw7||xZ|Lwz#iiTUKNfLm&eSWD#yw2S$J`|XhdT6u<iGXwgYF7xh9HUG`lS@yRZg5| | |
zu$NXL(yKNx=DBCZVGseUlPd*TW4L_vb$E{i{`zjP6h1-DX26s2NXOnZb6A1`hTzMS | |
z<{bvx&D7*n|2~4p{C_}eKVJO}T5Ho0wEK0f^Ni(4T_${ipo{y<+!ERQ5Oj^kXRAxF | |
zGt0fqJ~v(FPVnGJa0H3jVDa280owIIOZ@yXyJmLvNv(iE5{D;;Pu(XL4p`Y+N?USp | |
zb1*5DR}0LSv-YV{fzMmm+ev1Xa3IOL_Jvhrk60z4&C-#F*&&3YT;opO_%>YVw6t>h | |
zSZq{0$uhACp3L&Z3Y%9yU&v_HupRIMyI9-|jmgQfg9og4j=$vuv0IN70F1BUMBeo| | |
zch0RyNsZ?}G9$;sLT)z(Kw$V;>ZtFe%MYCWmD55@2a>mJW~|SRW}y;Wpm#Re+Th=3 | |
zpiS?cB;af)(uu?Y5x<Y?SdV!NQ0Dl$zQgX|Zk)3jAh*`~IpB{_Unjm5+~N$P1;}l} | |
zO5{nDb~b%pe<gY>`K}kL&hGP1ktzXvBAj!wE|jgcfn#=d!>L-4R1P&c<$F+!pYoO_ | |
z!jdPC_P+%sdzXI1fmc`JPLFJEX+8LGzIzRS>Lo@my|?_!+8-<HM1=C>4;n!5eSLjd | |
z6<l)E7)xW$MWG^5fM?0xVAgdE)1qLp2|(VVI7-YB4AcF3o!Wmn=hM<qdBTvC^Tnv8 | |
zc`ufCkAP;BIte&*h2dVuHIA8_`LqOt-_h~U2w3r7K)SZAdm%likmd6;F8B!xR=-Y| | |
z+sD1!_~mT%N>fGt^B-cPJvl!kxo1r?BLR+z@>aEUyGvG4$S-Zb|G)5^?pdALiF(I| | |
z6{|c#n6Up*VVWCL=|~DORO=Q;lrA1U$a=Y97yyB9>}69noyHW!SO-C`hL|%xm?n|G | |
zp2c`*+$VIcI&6uGp*D@l%`&8cqp*{$c8i%ftQb?p#8^KG=c)#_dIfNX0X2?h5)uAe | |
z-5)IIT7;7$QU8M8aa8oB(kYZ{fJ7+7*4X*CH<xzL!F>ZfSvlQ4$W_%F=)My>RGy3l | |
zcU_bh@XF=yE~kDin>%|;O(@D1RK-EpRL3QVnjCrQ66b-Ji2oS5K-mTW?Yk&KpuXa+ | |
zOSeU&)9f>c$eg&1kymQKHy@XPU+;s7vlg6|gpyr%^BVR2Um79hIvl`qPL9y6e`U0P | |
z<eT|@RwAeB`=r30jg}daKT8cj#Li3zxyDamB``I9$rKLL6Nx5`r{}KX`W361FB#FJ | |
zqqN8XD_D3hbzf}c>+Xu&JysI5w2DE~F!8`IIlCEeBkXvJIgwBY)lIU00R?ic3bC4` | |
zXl;iEqHcyQB1?J-)#)foqRo7J{n3`7&6h&0Hyi~joE!YT$ec>6g|Cb5@V!YwcX;9F | |
z6+!l$iS=_|3W1Td20c1G)}2@~>Ey+bRT>&vuTgd;Q~0A0&}0GQRD&s_S`ns+Y{L~2 | |
znO$q_Yz5`@{z>r-WMeaF>=U<J=?!?!6EoXm$%CVzq!KKcXIn6Sq2K~;o)$Vx0G?I2 | |
z&H;*0sa8>S4(IXCq#T>i&fhL2ZQxNgi=MYu_BH}6MZYH-f2BX`-{=Iw1md#Y=GQ1w | |
zwlAa55Ffa(#*!z&xd4(QAH=(M9X=PHPW`oZ4xvmXpVF`>3Qaj~QbFF3I0ruPz+V)3 | |
zl>8pmxN16Dzz6fOlFu$g0$o4tnr<eYNF+m44B<MJ+YJug&jWTvz1f&Uv-XN1+*aq? | |
zp}z?2`rZcgs+&9|$=cxsIwmin!~7=6W(RQ(+D$9rI%OxS5=E(B-xFl)6}~Q@1CITW | |
zc~UGgX>X-aj0NUaM=If|@Vg<;gNtIP%GVDAKkfk&OF%NZud8`r@+T)&x{9#y7g=?t | |
zF_;e}l-FfGtoQQ^`%lA1%xk?{6$zmq3HU0sU1)^Q87>UueDf<#vI6{HaxtsEV<-Fv | |
zt*32c_K)6S;m;i>Iv~(EsZ2i?x~T)U7)&2x<%lCy%gGbYtfwRQu*&jQHvvYC$&{U# | |
zTI>ZSZo~Enw@0}MrwiX(JL3*1F)HxZwZZergg*9|S=+a*bx4}YaGSar&q%Mfb^?qq | |
z8;I<17w{+ZOcI6$8jNlY3ew-fogfqO%hx;$u(F-s^#=)#ZflD>DHbJ0$OLT`PVSC% | |
z7n6_&t=yHhb8xr$vy>g|Eq9(qH=z0#OUbpOhD~EYPSoIa(A~xJuE_Lxi|V)>;3`Qc | |
zn-O$zG<J&%dbz@g)kQ8WpUT0jn!@q@1o8p)Qc&NMA807aDk#1Vq-_2Kz}0tVDx4&3 | |
zpj&sN9*18*2U8>f<nE$mhX5P&v#D`=Z)fyKC!VtI(A8}2KqubuCTC%6M&~-Dp$$o% | |
zq}!*Z^;6|RE>ie3`0gir_G{sbK!=r8o9tVmW#k=n_SqK)#~E=s0fLr|4x?S+vSgOm | |
z+vkg7;nA<M?y8qu3j`@RL2R*Ww+ZA_VFr69f-FK#^%SF&Km%CgR=DaxnsB>g8jNmL | |
zBF>ZjpzO-iY;B-Q@@U2>{QRt-M7I8jOLbRR8dxTnD<P!u)C-0m6~p!}!66W;{LYD& | |
zqSKylzIBD5wF%(ZjzM&RgK-~M{(+0#<1t^c^&HILZzuterg^%@&~p%fxjCA=`846> | |
z7smHb`yFx7={;ZRo)`F2y{ik)LX6-Hm#pw#v!464X)!DrsF}>Ck8L{(*9^$#VKVpm | |
ztfiuy<JnLII;!kL1;f=X@CX%MsxtXv;mbK(+Kj4T6_+$yrT4;<Mh%FOqd#g@_M(16 | |
zjFH7)j~G?VG6`Ha^3jFb8L=wyrT(be?+=8qlZ05;+<jn_bKGd)$scDDLXjlPL;oEs | |
zo#xFR2ZfHdw+yzUv`9!4(e(XzmL02Kd-AW?&nQNm<Eep~5rVuK^Sn;^jmt9>CQ7@V | |
zH4V+`N^3i|4*Rt(2z1DR#=pNyEvp}e_JjGZM$iTW5By7*u)KJ8JS)jE7OHTh?@UKI | |
zc`boNR4AaH5oPCR7uywcXY}ds<Y%WHDzzGVdt&#OH|ZS(Ll9xT(!7S{4^<wEFR(EH | |
z*W-uKE}aUU`n4+iC=JRx3Gza&Q6fF<^U<m7aQD>^!Ka<0n|pma+k`*n$X!nI(<3%@ | |
zPWt9X1E~ZADK5Ny-_^5voRG!+>JqXm_*|W9Snt{+KN?n1O=PX^I@CZrnsn(Y!GHNc | |
zP|sG<wX)&-n2h+|sj=e&dnLE(u5)BMF~u!q;;9Ks(nRFKuDe@fu6xDoztv$jO*=zo | |
zOO1|l#6O*iuN8DR0M9E3xNc)p^PCZjO8Z!<<m!9dVpJHg9q>i7kUWgoOG4N+^SlqJ | |
zeQ9+b&$gZw0^<6;T>`l@=W9wH9RgRO1r(@N276Y!?sD%K*t_o)-#X=^>&K~D#=WfF | |
z7QFyEhEfjUOO;biJ3;}JFX1^7@Ul?T5;i0?*bJPI;%{th2KH4d+lbyiUS9bQ0eV0$ | |
z0s0mjQI>9{n>3Xcc;V~L2$_(E<?symX97#X@_SzPGj<PC<AkdI2#g)1&ju&wOesmx | |
z9^?o~2pg@2v3&9G=uY7v@wmSck`4a3eBdl5C+;;HkpCbgNQMl&aMD#88m1-$^!a!T | |
zPxskpH9a9lMJGwiH|!u)r0{+K)z>N6>vPd)Cgk`|;o%^--pbDEA5t**$1hYoRy2;L | |
zpM>23sa6~-uxaC)8EeBgl*(5{b=N#VipLlY{FeN;nhn9`VInxP*?V>12W3Yp<%xV( | |
zq)zsWNRDCVj(6p-f-WjsS3aM*b@`TS`@qc*xJ!jj@W7|2BVaRWoe?XkPZj@{dBeHw | |
zk`o2aR{2EH_6_Lb+F%qybuRaQ5CmJ>$ts!W8;I<JmDIo_>@&e4H;dnbCma{Az_FAk | |
z-Jw}l20Jht53YriY5_r8OCYd|BH<<Uu$mBb3uTv1y*`f{1wMm6xVF5eDyZWF>=hEv | |
z<oJs5fN)BBc>;Imlv(zged3)X$|i5bq83TvaIS1<TP9m7`xcTVb0k~hc~UX90fKq! | |
z#$`dN;Lfw20dd^}@PVC%5-^{~@vxIjqrnYd4{&`7-4y#l#e1E+^VG!^WiD9fa`(Km | |
z@lpoYeb{%*Wl505!*&spM=9Xex~vq#emz-h7Oth80UN7wk#oJHyxkrniUY1k9k$&r | |
z2~&CUKP;6|cLiK7xonl6KXW-<WsK9xsDcK7`@@d1lSZqXJRNU_(>E>lazHG}E-J#p | |
zJqcRcoSH;9tj0{&4a7~XLT57-V^P(f{(^QVIC)8P<AWfr@dQ5@=$=82x?sc-HMkwp | |
ztW?uBX2M24CGe|3_GOg-AS)O3Ir5&T(YpRw;~)LSB&ei+6g>$6SE-0UnT4vh362#* | |
zq&E@XJ8VklY-q8s6OwZDZD1{W3pmksReNNYz?*GwYh}!;KEDZ)3DEw0T1hFj2RLtj | |
z7J?qhlQ;<E*06uxXWiJN{PKUq4L3Yhr#a#%wQh4T`rV#bsw;x{NY}H#|2xw7|Am{y | |
zShzo=A(>DS?5?8dQBI=xL$5{V@d=ujkgS!AqR$F7s`R_hIto&sw4#K<thrVaP%Of= | |
zJ|p!Mz2usK+r%VI7jb)hr);{TTfwuUZ=5<|KLBsdIesv?n@TXd1U1l6fM?^TmDnyb | |
zWnNAu=`zU+t`$};oN4DiDbmzGfL#07Wbrf@V_t-l-3@tMWK<6F@0kh#=jB#oSxfZ_ | |
z@K-?m`4X`XTiq%+z{KVSH~~<1y{uxF%z<^OPJj@C`?Pe1N0iWY3*e*)ZUviU-(4*# | |
z-=*4i&bYGXlHd7L3a+h(XNxV?mq@<w*zoBaGvIc!ylHy`#HB#}B#;=ep99fh*V{Q4 | |
z?3d?2)=)~sBA1EN1vE$%q79BLRZ?+xoImV2ecBeYv$AIsKd9lZuCe7^jz=r3a23ho | |
z`BVF*p-3?cZn#QzN{D$4<dZK6TrPg#<Zap#K6>982L~Oj8;qqNc?87X?xKTY*5*F% | |
zR~WYF&N=jSERDQ#8*0GK;prJ-R<q>aSTfvzfb>e2Eahk3mn+zIKR?S)r8K4fYLXdg | |
zaCWm-9Fv31J&7l(S{460cUIhV{UP_4fBm5Ep>e@24t!3{=#o#Je_bjT((o835}e;) | |
z6@J^U@LO5D%&dR2m@K4WGH4pN7oxP7zb-%~jrdr8;>0*LyPp$8;qA|}-Ai{wKB>zA | |
zF_aU*J}mxt5|(2#5KnsV1BQvdj}NY;eTHv(bBVw0%)_}F0nJ-_2p1y!g#DeAKAw_? | |
zu4O72=!iDkzA!*>ov-W3M0N=$<8nhrGAB7L;WA7*&i!nm_~xPV-0pEW#Py5?>(Z}9 | |
z5afRXV~@DPhOLByrNcePGe<GP-9yB^4?q9}61!O57p5_ElH;LHM5z69E3xiwO2_HL | |
ztXV)#pU$F<^i@58iinn$<ii)8KV5-0bL3<(8~0M*YsU`WOlFz&bqPtWg{KlVIM*}2 | |
zIJ8A%CoI}$7#DydD+#$vso*KQj#M)(Fp3VqvQ@JH_-x!5LA9&K4Q%S=WZih$8K8Ev | |
zM&%ioa#C~gyZCO&O>Nfguzn1j;`xz(Ir(z5;0wgVXx4P>Lsrh2QQdg$`Jlk)evVBf | |
z{0g|^KR8d+GHO}=v@->ProM68>ss!Q5w<-K+)+MFLA@Tr`gO46G?YB1I&@RWN@B^N | |
zV^{Oh3Sb4jXX<i_pu}|g4y3}JeaV-W@^+Jt1XvrtraD=~2<*w@H_@j4m}m94fTi{Z | |
z6CR~wE03`Ocyz|-b07G%;m<4WU>@r@E<5S%7U>Ob&5Md0^4t0<F=ky+j}MJ@LZJ)j | |
z6t*OL4U&pEvvJMlSDlS7?73)iS%q0VUgkmL(rG0VEE2(F9{9O<GWTfu(_H&ta7aQ{ | |
zB3kxFYWQ0E%Kg2u96R#$r%)Y6W|w2qI@I-wpjc}?8_Qxjv=~kJZ&*}xb6ywEx<3<h | |
zGFh_O8K{%Wf8=xsyn=-qp2|6q=EuxzKcTqM;j39K5LJLx9=G=g>P-R2$UUB63V6_C | |
zZS^aU#-^4rOn|(;{O#eJxeiJ?=4`p!TVK0@T_A4~uKwyY;YHen|N2uSh8QgAyWl+Y | |
zK<c9O=<y(mYK1FZDaFGt?JlqQ*v1%f)IutwBl=WG1^YOH%`Cih3qrcav)LcDr^?ml | |
z0jHKoovB<z7)alI2mz+0g`n!5D{vp%WenQ&k_m9tBZG^(Q&%mfY_$Z0^1wNhS=ga% | |
z*jJv=;M5$QZq3b$ERR~!&m2rc7?Phlrb2n{UNqi(8ye3+TVDPIKts>_w+4%6fi6(@ | |
z!0Fo56g>5;<ZPV+8`B&Ha_q+(9ib9b2;at3UHU;;8rJB$GEKYHM}QG9O@OiVJCzRB | |
z_L^HB5^dl*p2;J}?%DzB84ZJ0bM$$C->g9gicf%?DF{6UGrPRtYUx$>TKHY*Oa0G| | |
z15}uEkfW56s3c&hM<1OCM>r3J+dPC;nhec48=IUHlyO-IB&!70PEk5Cmw={oQ&!Vu | |
ztOr=_Aj^tx4O7dr=aT9UGj=&sDhE^L_(}5a>!{l)=XFy@F^_MLyWRl%6c|f#CGHDk | |
zqnP1*e7EJW1UV>=Iy5|v5`L4|H%e7}ZO>1|{<<Hkx>}+|e)B2-2TkpOwhb+Kmf;J$ | |
zWlR0{>x=8*0;ovLBm1v-Z@1rO(4?+q^adM~86uX#*SDAU6xo=8L7O`4RtA!S?riX9 | |
zWbJKhYyHuEAaE=7(4)yvnr$1*6TcR_S`#s{UwTD=T_|;W&zQ#J$RDx5*b6`g^0h{L | |
zNxWkr4$y09ew-^@_%mEF@8IE|=zPzL53PiGcMZ=UM*vR#%@F`CCR<>*2iYn;Rhjim | |
zHANn!v5D$z^O{rPYgYU}Zsp~UWk+~Z>1Wed|K@7n;HlPckr<aAdA=JIdpIqBj%xr# | |
z`115$-X4Fu@z?g>h3WCg{}`GGr^cHWzjCoXUv=Am)Z^uH!_#IR0#2bF27h}+n*+nf | |
zTGI_5{*NR}p5rdhQfp76&~B>fAD__hT+|Ftk#WB8ONvmRURl-IaHlOQKmJIiHjavg | |
z{dGF6%UHsiclv2+o^<V9K^yR)dOo^palM7N5cU|6V&bhYXL+nafdTg7sifT@_uXsz | |
zZVegftGFC=>)0HO(qw9R63bh6msSz(D)0^kSjMeUFUO&!x+z<T_sF*^J9#7cp>doC | |
z!jLzE&*m%68E%tKH&FfV-p>hfYPn6|*S2_S@$atX1j>aeqlA@Ev;K&qv}OfaHLKzu | |
zHk{e)*pV#;sAqIFuMHnQL5?O{Y_nbOl8cI?=+$qI1F;`bO@D;D0tR`ICEy5r<hk>S | |
zk*(5+q}zlL0-G5dh3r?<t9(T`j0DQ6!?xcPWdP{QuASLp{nbbg%3y~){$UNRRqaaS | |
zj_}y1Cpm?_5BHjg4nvnydzWz0sWtnOum_NVJxaFtijm?N9&UPjVf?fV=`$Jc#hFd{ | |
zDR^aPD@SL?rzH;I!^^HL9&3daJ=v9Hq0NXpD<K1S7%<Mg+oC$472+?Dte4uQo#-t{ | |
z{^OK}8ug#YO`yZySa|J!JuGxI4s_f~*7N@JCT1>xD1ZovWL%ddO&1-&KlsP-3l#=n | |
zGqtfgx*7HY`>w_@LfWBhM(tMGN4ezd+{-`5WLaC1*1ca%V>NjquT=;iG8?5ExJ+VE | |
z?9qHHUX-R_JyJ7KqxrKht4;&a%jh?yM>2m@Klu0WWcK;{z0rseQ&bA|wrRZOH0-PY | |
z^4~9+MntFzqs>k1UrQSdlArVbyF>r7<|~`!!hMM0JBcdOglre}`miUy*i#|<)mWme | |
z3~&>L_6~^{j&D|9i$WVp@C{7=b}o^uUu4MZ(v7IpObMq~Y4TA{tezfW$n*6G5+8~m | |
zgubt05+><*^(au{jiKRP*XwCU-rCkrcuz;jtt_lLGF^Bo!C~$yPcSpFF&>nBrkJ)+ | |
z<ukS|b<xa&nmEJM+p>h`ABBCjPEyGPG>=Ey2KL#{ZQ>YlE;|S?`cA;NR@J@oSa5A{ | |
zN%(icHTAhHs|_LaBrB*hl&{(N6x#fCY>XQmkFj?xpBhsIZVAqkcFY$n2Y1(xzUZRJ | |
zy3}$4Yw}-<bv<CWvy}}5YE8hx10H>QPu&JrsrG^ib<XD*b3<~7tD-s{M86v`*m(cl | |
zIRIIQ`TOf`B3vDrgCx)))~SoAi&Q2hhDZ9(V?KEJ>^3JBJF)xKywE7v<1)(3S3-!v | |
zV{bJT3j<j(u8IJfYy%eKmk}<ywuct3u3*c5Sc3J&jm|B?n1AbBN9iCE;=2&)K}f(5 | |
z*oOaYQ(EZ=1Hyk%Qav^g?h;Z2rRIj&hD3r7Rl@nQB&;d}$(LSFl=jKZ?R|Pw5{K@K | |
ziYxF;dA!S1g83#d8O#Y^eBkFs-?ij3w!wlmD&f5I+%uBHCZ(ZX_eB5E!@9w<A=GbP | |
zdSo*7NAMem-MrMN!kA?Y#VWjxvz)nH@%E(3om!Lf7to=|9P1jMo`m^QtjZ;^(E=G( | |
zwX_lBShEkJKa#+qBEgVfeZ8TOpM0pbe&c&vOR$m#t|7>37vpLq7_&)<sMpA#r_~TA | |
z5Vc(Yk7b0$SSW^6P;(c0@UHFecLDq_-rhSdilu881qq4>NCpuQ$r&U{8c@j~NwP8o | |
zNs>g7Brt%IGl)nW5s(a$B@RJAa?UyDoMvEV`p&rDcYpi4=R4td&bjyB?&`IwR#&fD | |
ztNM9r(M8J?w2A_E0>shZpJPwhezdXbRwb7p`~8;Iwq37J8FdM<9+s6dG76%(^@#V) | |
zkHZPhdbjdYwpF;k{1Yy&@Ag+a1|QGeDCDuso67U6)!Uf28izeWJ0a0~7WdxOp$d2s | |
z%b20S9=82fu3Tj!;o&7I9=!ADW*-_A6YVuV#QIB>dWZRulfd%doSaN9K@PK0BYPu% | |
zuq@i;bIp-UW4^4#j~E|zi~ag_{t19g0PQ}FSevoWS`az-efqs-S{?6Xp>1u0NPRe> | |
znqT4!ejK1^$LG7$t2bP~a6}WQH@#jvgWW|{tDBHL$XU-kUpP-P9Zq06k&il%p7+gL | |
z?7##Ql0umD&JvDJ1d{f>w2W`Z26ELO{zeWzu4Mrk&Rh6%HR;aB9gZ-AKaVGsa`82t | |
z(!%crZ7(qg-3Fj9yu9ijqo;vG5^)VOzu#@cuARvD=xi%B&?hKcvtbPYW;ruEO6VEx | |
z0kabmc4nlMAiKy$dccQn`EJISNJCg^2K-ZQA@kiNuTK(3uuFoiWfx3{<O-K+TE5p| | |
zsFKWk3K!Sd0DGrb4;<zIrA^zpTTc;nzb?Ifc3$~P_Y5!(l9fU#_~;q{J15Y}0N>-Q | |
zEQm@P;QCBxehw30plQ3cC<e{==w3@}(U6iJ1>xCU?b$wf&Ix@sYnK)EW{BcpG~oF9 | |
z5q>_yH9bc?2>P+Wr{cSamsQYYBOkiljKKP@eMNM_&C(1JvF^P*G^R^+lGp>xGl`~= | |
zWF4BHSae^g{D@M@$MU!8xzXnzaqn<-QXI!92Yb-n<K?=z1D;aK8pYDKIzg!03jc}V | |
zlmZk0^dP0sPnRkY#jl4*&HhX$c&RqBCr}~sb!b*WeYw?Da8pN15c%MP+6TX^+ZV@+ | |
zvw7cV{`>H6V@v?Twh-D09ytDFbKo{m@}yW$mM<eJ^$9TCqrX>JkLm+P!(pf(&2n<e | |
z#k@V|UXbrrCLH=V{pl`O$Zfj2_4A$9IiWv44_b7D;8Sr1&L&4opxunzS7K*iQmBRd | |
zAXU$sm`oSSM~9qg>2U&Rft8W17jGA`l_Av)k*`lWdx&p5zS2U&$&YJWAtUE2#5XIT | |
z0EMuidQulH*&$|O-;6t+xEg@$)o&?~`PqfFhMvP*V2#7J1Cs1cbyJ`301hQ}x-{JL | |
zaq}Vvp*$Efwy+%2A~n|-aSaQAi+z~wW!fi2NXEN)Yx{^!IpI@#wIpD5__UiA*~ruu | |
zNQq`et*C>O`=u|^Dlhg+wdX99nUc)vd1)jEhsFWWWy{5|gPG$2*Q9EO5ImNTZWf*k | |
z`kw0)kcud)JlTK${qgDxyfOfC+IG+*%}_lgB{BVM-r^o8x%s>aHB_CD2--1CVwWKz | |
zzk=OeFfw`Fn!FVxn2<}ywge~rFt<kZ;i3!k!eAwqnhD5};I|Ur0H>l)@ELzRqi-Zt | |
zNYmFQm^g@Jv$TQ#bI^wmFP9d5e3#`v38_x~+!GL#lR5jOms6tu77g7#fp*;Qgm63u | |
zj5w2+lsu9mxh}&U_Q2K%(A@F@BqZQv3=~LcXj`P5v**axg;n`#`X@LcCXQXG(;+tA | |
z=rLkKso2(!F#!w)D9QP>;7vLPDjc0>;f&9IHq#QG1d``DQ4$EKAwP<cVDs*u+8wSd | |
z(D}))uE$zn?>v%r(t_kMKljh#WiwgdM<tDNYtBoz(NK0Rx_iLqrH24F9pJmlNkj*{ | |
z_3$l;dUrR=@uz3UedWKHW5Bgrw`a0E$+^{88ga=9oavU~BMgk~U8Jt$S@Y)I3VDK) | |
zl}-9Pz-QA{UZPalCo_kEw0ob-8haQz&wx=F#K7bYB4*gR)H~pAdV_^usqaWVnVd{t | |
zU1!nh1Z+M-PEcawde6bB6N7qZ26C#hEy66r4^;@xW`tgRa*L1|^53)Kga|m*wXfvt | |
zq0T|bxEM8u1qY{g7W6_QtQ)p8Heg6E-D?d6UA*5S(wd)kyQ7Ry4V1C?q3sv1ZN?+{ | |
zxdesK-wGP=O8Y$Z)bCD!7F)>)j+dnZPwly_VQ$UAQMX&)z~}6%`2*aoZ_EJ4+*Q+s | |
zs>g4`+h)}$gX4q<_G7u=cf(=1(DaPsNLzbGyUtYbRjb=v)kNrl^*QMWg4}HdMjoiG | |
z%nP}Z(6)zgJmQfZ_c@U{ZUA){A2ICrelN`#j&c#}hljUGtmcILPS{z6qmODSt}h*h | |
zb+dxd`EJ1V?xPm>zA<~K1m>&MXu27YdsiSHDm8m0cR@W<UU~9#AOXs@>Ot3=M1Y5{ | |
zC?31@2{NtyaI-!IxHML@ua~p%C;fdSG=3gI)1yUAS`Fo~OT+(eN>fsQUROEP!C()p | |
zE!!k5OL1tH<CLzRbv}av24~0v#z4Aq$S2F|)axJ%wnNdvmPn6>=sw7AJ3=FFcYgF7 | |
zQhIl{QB(j<Iy{H~{E-Rx1n)c|OFO8OX{nlZpM}4OfJmTOOvTJR-l3gVKu_EV*P;A$ | |
zKP;rO9S#3SbTgx76eD3PtG;=MjgMzYK>m*G&V7<`6YA_{LijJEam72Y^7R#NI{Irx | |
zTEEE7{QN(@@w0;WlvezkF)jDmqrVRM=j}bN2*1Lt4a+2k2#s`o{n{34fq|E3+ViHK | |
z%%hNq8{<I<?8<p>oNucxR2pq(tBNHo0)oeHT8qUK2|ma?{=^z^J#I9_dt`14{QOe} | |
zm&CSUa${oC9CJHU`M&p-@Eb~>Fq!)?_jgKR7Ij<SK|321%$GmThMir!Q^%t(h$jsi | |
z=nQ)R*K?0y1FiSL?FQ434Mvae8#0KvtqY0YBsGqy&gjY0#1lw-jAr+@pTEFRAxTR! | |
zbkR2y0W&<N`%$a#l!V+us21P6`wn=R4Dz~+MiHqccfz~%umWseUb(e=An>#llEbIF | |
zdcM+lgDk<_>`h#yj`-+@ToJRQ?YZHQH6lDXZ~_Hlu^W^l0D9dpd?~v4G2b8|cK;v2 | |
zN%@0c<`{LnAM}AbnpR0}sq2kT%@Vw61C7yA=<Tx$@rlDd@@r%A+{)ym(-=WkObR_3 | |
zPo$)WoKX@+B8A2V1o{&O1iC4&55eTDUvKA&Q+cX<wXi~J{`E%me9<R(1Z~x^gjWAI | |
zc$%CYYA;R(;s&;tXXTcWg<5oQd2)$_U67WBI7_g>=>MlB2&@|HK1=MgK45O~f5ig_ | |
zzX?RLDG0c`daijM6C`sTlHxH*alek6cr)gVJ;ML~KacQ#mMN%EJeGAc56cm>sp^0| | |
z7fO<5U?SqaLxZTxWG(vFoep0Gk&8{mZRcni3;*{|oR6AtSqULWq&D@?QJ8qgj2|~Y | |
zErZqZ1KE*BpCN&55|nvuQRLwT+|r|GA&chvSFkfdiQHoGvLvQ$mO%?SrtoZAKVvz1 | |
zE-m`!jjP9}q=>?Ya=E`h<DE3nHi@FHbU3pC^z_u$0-1M+5C78oDVd;;vG;O9^;2fV | |
zp$v?)d+Z|Y+40m{0S$~R_2ZC-DR*t$h%tq;@Iw}_(`??yzqy0*i3U0`j_fd#_-2G) | |
z=`xTrkY1uCH_JoJ#?lauO2Pwu$+!qi+ARA82XheLbXoAtb^9>8dLk*mAPwZXUG3GN | |
zAm{V4(=|mrWV0LJp0R{~419Wrm|CZ>S&6(pBqdH;G1uzZ59V)MgqFMhRHt^%N1LGO | |
zTinC>g<)Bpc4f}&tPS06)7qz@no>mimFbxz`d;$Ga>Gtv_u2DKf5@+9hCb4f+22F- | |
z)ixoF-UI!z8?TwJJoZiWJq9Lf#%CQ$#3uaGP&1|=7`y=n&l*{f0p5PA;#ySd+VQ(A | |
z?W(_nPTCSVJ|*<AfMftkU@70rOsySTY5=d+;;0(z6Epv184g1^d1yiQV1UaR$CLRM | |
zm-xC_m<-^zdL5WOEk&>Sjzl<nt(~sa09yMCSJmt%F(~EdI&Y9H8$UPDZNaTaAjkzO | |
zTox!u)h`tued5f|D%33{(zoDxPb=N$uqKxiGB;t$P~kNCZX{66seo){dIA&!+m-P; | |
z$PyWX&OLjzbLp~zt6r%PU1?I4=$sJOSNT;pVmo2T*w#nuQNl&ZTgE7Z$0cd}1zMOH | |
zNsneX`{F<z*S+!j4m7T>?%z#kUF=#xe(|wq)zHi`2Et|TXHFr<e(YHl{hnikj?Voi | |
zeZO~e>kL#gi4KZH+F<yvicefDo+wgVZJZM%PCtWU>9xf{HbWokO)A&BiR_~|F^}FY | |
zfYe&NR?Wa~Rjt`m{2A8xEt-nvI6Gj!HuATO>l^R#b~JM=X11z^qichGAB6XOX7JmM | |
zxL>*GJ^H}8{t71gt=2<W@9T?4F=*y>WDKRvuRH9WGAA}cC?QnE*w?9zwXUZ4dlICl | |
zIU(}NkS4Ym=>CWH@(#JAJc+gJe7S_z2s<fwJ^>BFD1pmV{f$MIFSX{^i34D1z}MM( | |
z0fwsD`f%)tp77gC$jy~S(T|9EzBIck6G08-qRlUx+b_0eP^d!O=^fMszz;bf8388| | |
zzoKf`JuHJPAJHg8F|yKEyy8ZC7A$_7-GuWa@>|3v%tU0jb~5fm`T$bIao}j1iJ;TP | |
z5zxB9oWbOI07y52{b&x~fiFl#YGhC|xyqnRUIMSRBLLnh_rN#DocWA8ro&ll!*4lp | |
zWMJW}=DTf=G~@i?1rS$_+t`<xzO_^hVUA4|nlO96=Z2b)v%Va+^|_AohK2uXV*FU# | |
z;d~APfAo<5L`x(u3d;-$WFWk&9Fb5!D^6$sxM8Qsqg#s_UFWC2qzpL~yrQKfeTy=_ | |
zy6iN1@-^B6#fZL|l3Ip*LC~J0JYR*}6|+mIGVzPY0aBv@Or~#oPtoZ(d&qLY`pJ42 | |
z!wMvRB_{4JdQBsfU%f|U)L_q%RjYeSCYL_W>;45jq}J5mAiJ{T(`s;q+)`yfT4KIj | |
zsQhWAUf5{KwY%)W9rfMGDCwB-%Bi-)7$}>0QJJAZJewmh{CMHL1!)_oaX*n1aOzJV | |
zhR+yM{J3GBy|I?v39KD|#GO}reU8AyS|Uc=*5D&(bYy%7Yhnr$cy$EEPn<<>J2vX5 | |
z8Tv@zm7|*iWrVvxG9!&IZ=ld`*b+D}b{W7MK%Z|d<H3Ychs0*0sL`E6Ro;j#lVw3r | |
zTI>Z?gZbqwt(=7Kzy<IX{fs3B*jQcfzUZpI>9+w~?QL0?A`3?fA;>h%Fky5GGk6;b | |
z0>-aI0VEM#GRqbBVN4S1GUIi~#Q|zyBmsurF@2Y6D?WFp^m9?j{TY+7C*w_M#5}P` | |
zH1Ih^+{Y_TR!w-m<PAsE<-Bnze{U$z)d}RDauWUC7Js02M=<33OvZ^f{qwt7k!&^x | |
zA2MQVlZDZoAoPRs;>tLk<t(=9qU)j<slK-{57Pmt7$6wR#&=7d*8F+Q;uDf~!j@{) | |
zp<6~bcfXl95!_D6P%lnarSkHhScXFNN2RkT?Wwf6R@>i7H2q?VivD%)>#MJQ)~1&+ | |
zzSX{(?==jzwwQpbGZ-?+Dd-5xOb$ZvW&nKY64fs)l#7iFeuER)TWXt{1K;B&vE`nI | |
z+-&W9VV?@NJ*>dzyUk@+vc}BQKh8X~)E=@<{VwwHSm6+$3_51<HEeDK;LI8|D39Y* | |
z-LO{B<r+9S<C1?NIM&Ws4+&X?H4otLLrdNxDZfKrAAq1GNt|>-Xei>;_B)IR8t>By | |
zLJ(}V_MgIlWmrbj+DwLU2MmPvBRT<|B2=#puOWF|&XG^fjl^@1Rwn#w(Dj-A(=IK) | |
zH{QEeBLi;J&+*E{3oQjZfvQr-c$V>juCm0v>~6Em(yFP3;h-}Yrnx0p1kU5lZE}D$ | |
z8G=s4Cp4KLDdLcPRa45=EWQk3JF=a8FSQPew$G15*q+2_(e;w@BEn_bqjqm;eb9X> | |
zF>I5ql0y2t;=KA7py<_#Gq)A-V){1;o>xc!?Rn}c)#<{O0iAnnB|Ue1G+N!<(O9Yo | |
z0e<>L&*vRJoyYJ?5Fa2u>?VI_1#%wku@$jm7EsDI2y5=P9luRcI~CltNbZUxxXV-7 | |
z5m<NbCO?+S=;>1~jJk_U2p?h~qIlOBYk%dDcm?nRYZp&}<tDJDT`mYn1AH!LT+l&d | |
z9RM2Gq0MD}-}3e>kUE5@;W;@t`X^k@OTmg4vhvO)!*3G-;)!2Nau)8lLW%*TQoz8K | |
z7KL;CZxcuQldlwZRdM3Pin@Jv4l6&#p%@d2@iE;9!yhlA8sL8jgb5Gay;Ah{S#inO | |
zOmc%y+z`5(tsD!viUMlin~l5oxram8nhi5v`*dnieD3B0-wb7Bb5aV==G_FvXjPyi | |
zk)5h0^kaOz%ZX8PC31r{IV#(dX?LQ}JOn$Tj18^#m~(F%$8dUnnQ69ejFNY>t$sQb | |
zW}@?sIJn599?Pb_DvFWHvi-90rZ`Zrb?(s8=#_@P!i#-Jk(XoBSK!M>xS}4G0zA4b | |
zj3uQ~moOM|<ar{(0}(+nSvfE8aVprZC00L#5hG}6oOY22Z_D&;2ZN(Ea)>NVQbqZ2 | |
zLhOA(^Y$iqW>i2-KIkx)u)7l3=1Pkreb3+4zHSL}$qS5OOn%%19;cf_LVXraM>c@{ | |
z)1RHP^UHO^aM(%Gf-tIg0U5T{`hJBYK;y$!D)jtxs~zYoT+6))`nGdG2kE_NO9ecd | |
z^v%4v9==77Nn}|F@<%-%|M<(l@<By}8Fr-82bUG+XE8@Ovf=3WR}Vu^*OaV+AzhII | |
zPeU~f_B_yDp>J7Vr2dM8YmI0%y~wajcy~V<*c#S6Ek&RwVs>I&Q90ZrIaDKdQ{w^B | |
z!rOdw<*!yD9w-)E1s{{H%s`%=<OLio@i`Tm<uG<g+qPD(+!(`W>nDpAoTau^EZeO5 | |
z9k$g$n_0RmdBIR;Mr69s$!D9fcOzZQN^&9N7#@SJsU5uGvOnc3pG?5Z0P$hRRqrnr | |
z^!dCm{JoS<^+8Noskj4cjK;X|Q}I#%cJW8W<SakS{Bv&}y5X8ArhZG5CNi13y$wZ3 | |
zAhkvwlgWyr(9AxLb^CRk8WYb?xRmk<=&bO>I|u{7kCCn-TOJ^!^oX+G#p4lHrlZiU | |
zj$FAHW`tgQbO37_;4vRH@WN~y6I`%0&vLb|hq=UfVb{9c%tr!IE0AO{j>#gT$Dc(O | |
zZWHtLYVsL1$*yCxzF&2sD!C0osXdbZwQ3c~Xd$3gBTIWQq+m?9OF-?~L~D5H;`DY# | |
z;>%jE1Tydyyyh$1{ntW2RI**Z#uJ5cl&kez;!8t??i^oP58BA^_{+FF?hvez6yP;_ | |
z#y&wV3v^T?AdpMdYXj-AtkW-8Bo;Y|a(@CcqE;V^vmyiSpZltHLYz<&Nq$|o7cIMc | |
z!q*q3puS1-43fNBbd#+_mNCrRQFy+h*WX7!{oUR)DX_xOm$b^^kA9fP&-(3Aji&<+ | |
z{9MjgUBW@Zvl1^G*>?E>sB#|RrAHsZH$q_=!NP#3vRg$g1dj2Rn@_z$aLZp6L1+kw | |
zf<E=8c8ooT#HZ|vLxCbE<jktIU6iGf5|UliXkmSgZDZk~*H)&SVqPcnZtAVi``;a3 | |
zqK1-~sypS~=m=WOjH;)`y%W7gHVt^YG2vM!I{hUw1Rw`cy`cA7nd`~ysTE&Tdo>OX | |
zx$;83>4%$NHl!!d*-ImPaca*WfD5QBqM^x|DiON%0#kZ`U;{mw#){~ONfp|Pw;X9* | |
z0jOO&Ul&4U$$lEPA@9wo5fP!fz6+Y+ccKXh{VH;D2(dewSUBs6Z15o(SXJ&7@rXad | |
zc$r0J%t{BnZO-Yc5R-cCO`v~-!7STg`o)uvFCUKa=_;-oT>q?z$n7sG2*GjsdJ8a; | |
zV3TA;%O!OnXJmo>W)i%vbTltfFZZPAhP*zGo_b4bwrX*zdFFyP^Y^A7eHaHg>9Sww | |
zad7(zGJM30P9pr-KQ4@>A?u~~4QW|EQjWa#)2U7R)~hG=X(<FhzuB(GK`0zZT9X>k | |
z(a5A)@l^9%TlC)VtRBg;r|lfk+`0p)Ql<gIULWF$!)qHxi^d)~$ttiuwLiyUQapeC | |
zfmqK)$i%w%{WCPP9kw!xlf*RB%4MfBT_`#a33UTPAie$Khf%MmA5x=SqX1H~Z4Lqt | |
zlE%APKzjmmbz$DZ9HiPD6`&r^=DotqFlW14bEZI5O#CDHj-Y}JtE7oGf#B;N2YjAP | |
z0!#BIHU?kXYmq-xq}zZ{;0xrc2PQp#IUojjwlzN(sP5I#ENdV?F#?X0pGG9%^EvRp | |
ztW>xb6F&}0coq?rX`23gjGR!a1b#Ivi&Vyc`CJKkqOtL$QD#m+P<Av+HU^M1+My;A | |
zYOoMmhp4+zKuu}7Xa<yKRg_Mx(EJ0iqN>+x_X3saPhu#w`jd}#-(2=I*^~x_&D?#o | |
zeg0S-B}zCRZ2ZpDf63y56prDdn(qy+d98}=Y8;Z_J;JJMr;LQx<li=*5r9>>&WNPg | |
zfJPX*7yKZYK|w0#Xv4+xgye%*6i^I05$FnG^a^Q#+Ut#-KdmVrIw7q39Ta)b^#hIs | |
z!QlvAWb(Y8o!Hxc?$W5xxMxP2M+SJ>RI<zg_(~B0?|4&}pgWUT+ngZlSNH*qiuHcO | |
zImfMvkYZ~iyhrjDkE&l<ql4znCqG|inyq3YKYQCB8_J_V&eu<HMpw+Y;f1e+tlx^h | |
zU4?*L$=2McM_l4*(S3sVwY^u=%m=N*+8v5OPV<wygHFj@!o}iwc&`acMnn9|bB>Z2 | |
z2=}NOPP;ExO|L{Um}*^52ClaK`!q!B-6Ukkh|P7y-P_TKMEt1m7g0w3)4!UfZ}FMs | |
zRsbh01u1mnLjYo~m#Xl_GfXq)6R_47>((Pi!l7NM<(MR<Zy0|hLn-gK$&(#<<Fk-I | |
zccJ>T`uLc$+<?XpMZIb!jkULDtPw+jGQLX}MCQ)#syJp?s<zuet(B6167t<Ogio#1 | |
z`U0a%6_joFEI1%UIo_!V@>6tL`@Z(uW=nLRg?ftJx##l2LEGU#+f*o^i(bhI@k3TE | |
z+&KPGbXo;hZT$i~2xC)=*KkFT*iM(r9J{PS8Q+rHqKx6Hk5WBTvKN!cT!qPLId~%Z | |
zBF0ReSQseH)sbKgLD`o{?{X+{bFWJ@;6oO6d$zV93nGc7-;Thh07}r&XKShZSPK?^ | |
zk0@|}rvvx4G<Sm14Z+R5`_w~Kq@o|Y;qURGcWyL_1>E8D_7)(S4!fCGwVuZ1h_Wxf | |
zL67G5W<`rLcOoA<3%RV$5$rJ%di<s&v?)XAR;!49R@Cl!G5`vslwCZ6?Cn6$4mU4L | |
z_n_v;5J*^aC`|LMV`(f<)1ywtcrCch0l^Gb4drO5x>ca2=7?7=@s!oBkpJaODd<gU | |
z8Z+ubJMt(-8{gyb51qWjM0)5)u7O?<D`O}@18$$ZNPdkem8uF~nf@5t-{j%9lnG*G | |
zzYO#f@~Bckg}<e|MYJ9LWvc+yYw|^<)bX)KVrSY0Y|;N>AB#u`8&j$~>Wlqdv!j3Z | |
z*GtX+p2&Y!@#xjm82?3Ks;`NqF=t9zbRg^5ByQPpyfe~aWBE@_gNzp}?kR7X0u&iS | |
zw~0#zT}PF=<c<GX>7)|odEse!8*i(=GHm@&nRx#BkBX3WEg*#jc?enttwY%dn2rzn | |
z>w%#4h4j*<+8#rP`x3v_RTy>tF?O1|^D`}vs$CBXiXH*||6Wi3uMPPxL4}_C^QPTL | |
zA?m`>W45c4NXh}P4`#27=Ef-)*v^8xz699ln(TNfm2-TaEO_-d?LNIWtSiOHvamq) | |
zZ(8~~2Zw`YSaAWz-)#Nl)GtM0?9~M+e-qVhoh|>D1@Sxt&XbsiA9dd$9=(?u@K(K) | |
z2+MgU#&Vu*7H5YY9{nLx^J{;YJpbmy-XhS4Ke-=Ukn;j>%8=qx=`ogh9SAPCRZcHi | |
zbD9$Shg<zWljKO)&)>*_B{d6RiPt^y05O9=N8{-v_VMj^8<7g)cpIMw(-J-C7Vl%Z | |
z<KJB^{&2^^a}kbOOIvTR#aZRC0;ldc&e6{)NNG{|o0J5j`CYHLo=nAJV+Ub?jX9R$ | |
z{cn(r1<vMz_n2n6)Afg%MU%~D|I(}UR;2%4Pct@|OP=(=T<G^^y!nrQ1=rKt#`ZPW | |
z=1hFV79L5S(58DS^4fVzj73^GSah~e@*i#c8-iQ^G2SKT4*Gw!olz%K4CW~X-M1w1 | |
z>T5NmC~~hHI{3FG>=*3fN&drXDaf;;Kf^YoEPwk_<$bQI_<vZ<{&=E-aOzf?skbJU | |
z$G?}(G4&6PUEqN`|IxcjkLgv<kN`X*JSqZvUKwYU*k@b3Cp;P=O?Y229UG$`2(aIJ | |
z_myksJcfbr+)!=C)R~^B;Z%tByuWo#H&DCNduJbX-mf-)FgUEHHo6IW@<i~}m67nH | |
z>kPmerH#@;bkDZV+@Rqko~sa`1FE4%_N*}yN(xG1(OmwhPSTci<VY^wmlKm>dS4W| | |
z@wP&t7O8wG)bJ%Za#{Sbj6o?$7hw(kVHLh>&JTm!S~|2c65}3&g;-)GqFfLjOoFmh | |
z)bke2k$Bw{U(V!{A||>JhF_ofe|rW@amNLV*kk<ULB#_BV_G+LMy_u3CG(1T)fK;K | |
zjbz;?^HCCj<`X$2UC$4hm{)nau2Ckbb6-=Br_5P@z1-KJEXZ@7v?=~jNrxC7ihOVD | |
z!(1EkmCFi=?SU00pz0Y~Mf$5+a+g=WP|{X6aajI1N4n@vF+86901#*XSy%n!^wRko | |
zSXYAU?On9sVlXZ-dO1HLwb<o2qiQQ(u%#(|9(@&9Cn{yw0xvBF&Kcj-e)&9!@%{@g | |
zz(CW!oN7qV$P}%dI`m$%3#t2RAaHEm80pei^+A+uJVn9AvLN{vGlNR>7Lj5PXfcPV | |
z0ZzU{_U4#^OPAc~zIg1C4V?Li`NU-a5yE*(dp9RUW<S25OM<fuUF3@zS$tg^_%+is | |
z8hSncN0D~MnF{YB+cNaR91cQl!1nz4+oC_%^S`GD-nt}t(7ElD%AMJUu}Iu9D~)pg | |
zvSj&Tfn?kj?X_JB>wq&KASXC)snyjkYP=wzVY|-`I%7-wQ}p6N`);5Jb;I8r-9&CI | |
zC3o>@D+wN|BflBpDT3@Fo_a?=!g;G?@R@M^qQ-`+07aKyf>b<?;j`~wUcCMuNc(pQ | |
zjsK1`g1;+tXkaA}2&z13J)qZ+;g&Rd&+^Y!=cyPmp^q?Y#wqo2B7UCE>@3yK*iL@& | |
zjE}EXPup|!AEeEaHd9`|2Hk*;&BoPVk1jie+jn3ViUSd+UQqUjoT*@>H1PR~Isq2n | |
z3>Q97r4A+e&uXV9U_o=GOBS{T?)fP@MnSHe>A25z=*JC<iTj@&2L7A8{C_aCf03Jo | |
z;A)SABVuC!c+qm=&7Bd!{0Y|og~zPJrwD9$JQe<3w}eLz%c*Z6{+ni<Z0X*TeADc2 | |
z(tS5o#edOre_N2MkP!jxoTH1{d*VlxIcbh?x1no4`I&UC(<P)hTcc4G;cr;J(ejtW | |
zTmwWjC7QlK2%J!o)+q3uwt|SVXU?a9$_5OjIF}*x!_~+T>4Ndx_W;*6`4cvGtpTdj | |
zQi_zLy)H&oo~wv9_LiO?*g8x$>MJKrUQ9U)kR3>GU6|(h6MYMyh`2F;$u;wYfz|aH | |
z0ffhOXF8R%V-mdVg>?$bq5)WrRB*IZGu0e*G~fURPVeG6jOlJ%HHr87U4mT1E%UKb | |
z`pRAug+QX3LqY2fsmg}GVTiO>XTQFtIUXbH8+{FQcGk`e5$Ri1#~%Z#2B#ms1W;%i | |
zaG#M|8>|HIofYqKn#IR9hF_ei6{VJKDj~H*(Q_nt40jkgZPW8##Ywt{=lu{LWvjnK | |
z^eE!Elu<4Hosz4u$p;|9!-BhgrN7+PoiX8(RpJ&VoA4@)sHLRnH?}pHf*4QuvMdh1 | |
zOQ$G1w{XtoSW0`Rq+o2)_Qz3B-dp9k-yWZ(G)JL{t$uRTSV{$XhOzmtpJ#$7`Wal& | |
z$(s*|YO`}5e(Qf)$vwrB3DzD&)Wkv@Y4Ls?u-z!!TMP}lVETHS)3I{?w7JIj4x0U$ | |
zWS9eMwoc;Y6q5M}S`4Ha<~pM1TrW^5nU|z^%#a@5?*hXGH28QT>uT)S-tgMm+hg}R | |
zYTo1P9;Cgq(L#ZpVbx`k0pi%Zh1T}m=pLsHlb#zR9BCE(n3olBH)`ZIM8=|-LOE$O | |
z55>kZ9z8M+IiIuJPOs?aVpGqxKq>=o@rO61c6xa_VD%P*{3_)UaRs$ji^Z%}(y|<@ | |
zOvT5K){44)DxdTh)mw$89~6(9=B4Q;$9(>sd=?<F^4Miq?izu<A+}tKazuB~W>q=Q | |
z36^nMZ*^COfxoy$`(fb&X8t&loqamX7y)z}q;F`Aa{cTVVBi&k+p$|DW8v@M-pBAX | |
zfn!IE#&d|Z__XU<d*uvKxCk$4%H;|3Ix}xsp8*hG8B9r0O)&W<hy<%qsowl$RfEKm | |
zXHRyKg)YOrkC<4_N}k=KwOf01x^0~3bzRbGoC&+3HZ+Xd_b|Kste<@0ENwMDCrs+R | |
zM`%)eoAHZ&GL|em$GEb%1b!5-GC&70<rk$Wf9O#<E3{Z<`Yr2{!;0U#*vG)N)`-uk | |
zKJxeUzpdfi<5{sE9cChHvKG{BoQSXsOEdQ9yxsGTeGp@U=A!Nfyfk6Vh_A;WleE)< | |
zkrxbvsn_Sx-#<w+?96{RNj?1{Ul})@T@b%z7dGN!>evuw{)S*lqK2kAJYUz@`2r1Y | |
zAYKU4;$<=f>F;5(5lnt0aQfs`HIF_r<!S)We10X=b!<FioXL=TVn!BY)SfV!@^r@c | |
zy*Y9g+AH+Rn|be_AAzpwJk)}Bf0N*0CV=vrA9a&_owHq2`1A{6lP!AJyv10@K2C$H | |
z*KBXL+M&1h+)pX12nzjYDZFeby=9QBO`%iR6!^D#?{%B-8$25rM{MA=m8p>|4fd^= | |
z=3DUZu|9d#il7<Yb}DH}PQKkQwbDP)gjR&@G#Pf)v-YAdAvt!WK&0qa;(hVu0oLyu | |
zbs_!9G8XUprK&4VPX;oCCVh}Cl!VG#(E6HuPFA1;$$Sz6!6>IMrI^tB_*p9BVZTtW | |
zP33*bvP<`S#O3L`C&DRqMb+2x_M$~__kM;;(gU<>M0hlN_r<5dEUlMX6i@8|y@Q$7 | |
z`ENRe${&Xy>14{Xz`$X!g6a-t!mWYcLcd=W3p#>SLqFDpS*fy>y}EL=&lcCne|~RZ | |
z1KbB%Jafa}>(06Xe-k#YaAop}S6oX`0%_X+3VC0*BS>a>AoLLawr*pA(X&;)t_Y-h | |
zTZ$Q=iHSG3e|O{(c7Aq{HvwUep$rEOA>}8KnPtd+hN&a<&`R+Sr}V`mkD4T=&)fnV | |
z<n9&{%cbO8Ef1T{JZ9FR8j`6Hr|FNATlQL&_e-J?8(MUy0TKJxlPs+rqrRlR7qiat | |
z+R^{W60RwNn%DyZ8`_$mrv8A9N6b>r3Vls`|1|xKW~Ly_>^kja#~6?E{@ACe^<qOT | |
zRV-*?@qr1#q`j{(rF^L2j0ejxJiPN<i5Fb>v(`{gJf+4=k?xxYt=WejyEO-DiHld= | |
zN+;umSc+k*!)y9tpW<%?Im&N{dNT4O#0xnZ2>;fg0A|smyQkORBrjK(=W8SO?Ot18 | |
z(%oeuoGW2m;F4R7m|9zxV1u@Pjd?qhz=3Fh$_V24E<o$^(!z46XCyoZQIiHie{3mq | |
z-cRD=h_|WwZapGY5&5rfw--?U>0{n2Odwh8HM`C<*8imRL(irrDx|5Js(kB2yvE4k | |
z|9o)E>t>o$cJtoUSO%vji9l9jss8M2AvZ&xDMB?6*5;qL3q<-D93A}5m>ODOjLp~2 | |
z+w-Q7?aA2CFXZrMOq0H+SEwzGRA+no3e|b<wCxc_*kx?rtM<I>NkiQgOZ|g|+_nRw | |
ziem*tr7Z;2u2tdx@iM#Jmc%5DPJ?j|ylM3cpf9+fj@v5M$@djw))iZ%gKtZGayl;s | |
ztD3`9#a`T7<RyCa_MGpRdFmCUDh8Oogk?eXKT+x;xqX8WodZ1cJO@JNWdkghF0OII | |
z&LsDorsD%CgGDUc*5s-$U;8)t<M7|Oov-v`{f@YHD~F6@s~+zo?l#!3=Yb*^XS$Gh | |
zd|-R<If+T_>0JJSko+C~HRh2BgtAvM)B2Ii-p+z9K4}F|_q#S>B?dS=XrZ<F1*mOc | |
z0ck`D=*l0Az&p||%J{)XCAmT_8=aiuGXBB)c}3TSaP$H+sT7lX9Tm*ok?J)Zm6~{T | |
zsnuQ8)n}#W`tEM0kVt@~A2|J}kfg%SZQc{^?!Z#m;9a-3=x%EwqI&MlDDvTDyEhUH | |
zuNA#h9ud1ctW?Ky93|M|m+NaN-u0s9MVdmnr7WtHnCcw8eFvyI10wGtg!C|Lx}0^I | |
zy`FHF+>(?HVORKv0a(ScaXVw}awjFBufl#aak&Z&$HVcU?|VN@T6Q$?alsu~czpM> | |
zE|4=^$6B4r1HWgkZu*l0?pOZQQNcA!kYA8qSPu4N#5l+X_{_21H6)w6{f+uqFQ~=z | |
z{!Jb6t{i6yo7f^dx$*-27gv`aqo|E(Pu(MCw3a*C#T1Dm`XC8c<B0eQWBf%)Sn86T | |
zp5Xfya|0L&H=LS%QT4KY6E;8H#d5S6g*=%tV`8?AWr{abJ^%Tx_m*Y2TU#>~{YHa` | |
zqbT<$F?v%fStD**$v4@r1Q;q_)}QqMc%;ka@SvKja|>uq{gsL;mAE+zaw~r<v1v;^ | |
zBN;YyPL<d6g!v~B{Vw=jJeKgGXo1>|5>p{bt{EcSkshaCPWac=CD8Jd=+XO$H8x%D | |
z8|f@^f7GQ3WlgG+;VDNyQ?R!B?C3F1Z=ix@lh9b#96=B}^Ev0Hu5CC(_dS|t_(?5} | |
zuIV5U{`qI?aQa!631UC_nV^R5JX?-RJR*s0?M>#rH%A{ekDO`k|D;J;$Jdg1Ys*8B | |
z^(Xun4$<?7ZCiE5VjHhflYnqUh&Xo~D?tg(UxQToGe}H8Ih;`;5~ajU2kMk+<59(O | |
zt-k$0tNwyu1TG99r9B3EUUn~X@k?B~?%z)^a@k{W0IUAkipn2T`^!vMM=oMNqQs3B | |
zM4fNiwG}*4(4mzYw@n=^<JaAM6^6N9_HSieMa*U&)Wt}4XY4+lVVPb3(&mTp6l0=4 | |
zT(U^Uu{1DFEDbE8^>Rt<=d+RKrl>z6Zl__1UHmt9LM9e<HSw;*r_Ft_EU^DdaAYMv | |
z=cXh|oU^~uU^?s}o5aHrA+|<8o$uvCYVir<n>6qVD4V&5>oRv-2Ya|u#a=yxU16+m | |
z{R^R3c_J$5MNMnT9uMWH9eWmVE2dMMssZ<&l;$eaiV@zVi|5+mdsTtBWJI%_tbuc7 | |
zyj2)rj3~N)cZ&q?D8@r{`ieeIM%&!hbjlDdxB-2qHr*B#lD=Qv@+ZhzXgWSXnywPz | |
zsj@em{`ge=`KR-rPVwoJr2)(I+$B3}-V>m?E>~nti&WqdXbT~MthpgHMt?goKQaJx | |
z5uH@s*2H$udIVH6duCNPr)V&W?~LMVR&eP}*|CR|qj#G?ZGaK*+P{!8rXq0r%VW!_ | |
z4FqJAy5z1p%g9Iz3iG*ct<I+39I5@yu@Od8nVP1ffs-o7T|EkNrpq>~^l4s@-Ww0_ | |
zWzSUnjzb=pJvoe?Fv~_)l5^<v^rlf|0Zo!ZHV>=0b*GAaCRd*}`mrn6K%3g`eGMlv | |
z7h!7`ZU=S;n$#!CDzLnc4K0F?N$q8*A@FJSk8P&q=hrSkA5%V?_LOfD)cywTacyTI | |
zY^tY!$O|JK?oPvF;Oe463LVH1<lrX-bS1K0&o3V5MU%zgu-Xxgghl<gFF4{3x_5`M | |
zzjU>76Fb)r|N4*g?&y%5<Lz^7bl{>zr}C)|X=}5{NGM|_sB92p#$Rj{p+hFMEGS|{ | |
zlaal-Jn)-bLCyEO1+l<POQE&R)9@uQp`BbCJ<G6M36rUqqf$QhqHG7o9;>pdd%I1{ | |
zvO=6L&OcUirmd43C5yp)z7>tTiR;0&9W5<4Hh&<&Kh>MaOKrcbPt9-5KUcjt%?VkW | |
z`uX^Df%#r^J<tY8Z{uWyToI@Cy71wob`$mg;TnK=q53kcz?75Nl+H&T4`aIBdb3W6 | |
zoKPcmu|9Y#4$mTwlG*W3Q?zmFi+kC!tH59Tyc}~GCkM!d0WG?(0&hgSpHqr&n4lTk | |
z|Lmf7EZ+Fb99NNt#>~BR5D<_7Ys2Y$N2FaJQwr6emCVQVnWJ?-&7X7!31i+{g2jX? | |
z%YGpTiqj!y!2zT%?;MhNF#4?OxznZo0mzd)lWd_S+zBMlD-L}Gz3XmFMeOmyuAjun | |
z^hE?!qUBpS8ey!M=D9pd1R&7?KSz_8m@*;n@=$>;@7Q#CsX`z`q=B#DE3j(#iuCFi | |
zNYYUna1#qjO2EI>UMz^L_`D;|N1-G`&0@@U6@B+nT)XP3`#KK66&}NrZe3L^oF@Uq | |
z!D$fhECttch3CKWB<Nmpj?y~n2LIXVEJ=f4R?9A0-&TJFXL*@wK=!vhDu%pRNb5b? | |
zD0wGEs+0tQ2utW6<cjhfgrulbi|z%N0{LDRX2Ff|uW2PJar?!rv$X+e&A*KxBwkQ3 | |
zF@b<b{Ne}in-HxO?pdz06U1UhDRKc-Qa=K3Uy7_l!Z$-<njw0kz-}<^bpyR_as9;X | |
zUmWljqiV$zll%fUcJUUnj&lCtQ8j&b?y|p%uawbyuXu1^i?8@vm}YmG>8q+a1~Nxl | |
zn`Y-H7O3f3QX<XyX6|biKhuw=NL{>cHAQ3pDyJa+(<DBKuBTc>kN1y`pB3*fi5Z3* | |
zBR+X&{-rd-*w5gI`Z(dEPm7C-RHRKfL)z}K%DxsI{^wa;^b%X3(-LN-A3q);`F1fN | |
zYT_W8FN%!81c|w-dQc(rb;j5ST`GDa{}PT_1bmcReh6lF8U63|@Bd{3HPelK-+V?> | |
z@w<>SB0McB*SEjXs82Y#g!#`T{%^?t%f>;^phAZ?aVIr%#Dh2*D*8R6L)O*2pm9!Q | |
zG|wCkAxoN=nO6I?dA}Wf7#tvDaSyDzSdwrp$*b^74e>ZZ;<&c&1F4<JtDAj?P^&mr | |
z7i8c&g{lsCC(+yI#&0K7%NCMr<Tmy&7jwk^LTfgCt<`Ue_kUxMA!G+R)lE)1RysSl | |
zZK4%bUgqFlK~X4P8#@!1L_gh!Gn8j4BY0bC_RAnA$zZer#TTJA2(eNGvGOh6&vLHh | |
z>*SbE10>=pHUK;ESSWqymLVuRs@j&!O4(s-`<yxjU;QoLWTfLX0k#ZF2WA2{p?~)$ | |
z#P}sdptV;N+!U?q(ANc~?<t3;Bp;+cuXHZ>dim0Aoc@A3MUl*2;z4;n?Xy=p*unK4 | |
z3I;5vv_GUBQnm1KZ>jq#6$xMAB&xNa85o?ztXEV#3q5UzV1}&9MMniOB(}T@w<Kny | |
zk7-l-+U!|l<D4{Tp0T1kng2$mUUXzmziXC=vSP3~&kIwxdnh|+36T9(Cp%+P1fJh% | |
zBn(N|$3jxOlh;nqAo<GUhR!1QPb?PJF`p3mdmB;K2U?>`{eYxJu;8a%5iBrOa>WI# | |
z8q09~a`^EK2%cm}zL{}6682*<{v}j>H1$pSl~eMu*;Gz()dwd5_aO#}r$r=oeMuI@ | |
zKpPMWD!1wdb;Y>znRbI3PHz)P-1?&2t18wj?$y^N6A)65-6D>l-nF|NF!-?k#Wo|f | |
zEed2xlHzNV5xN9O#=sm>AseflMD>io(eUH`JG#AhkF(P>-=>f!bH3??6?&m9IHJ%! | |
z!k8E{N#vISNmbX}HEnK^S0-^@cVf?ouAk%NRDIt+E%ljKI$z-`vyp9{T2H*_^>o4l | |
zGX3J4DLH4t*obCer-wgK2em6ClE|85UlpuFoH1=JyJ7j?U^MYi&UL%I=#e;`Vb2$V | |
zk)5>UXWZ8;L|1-&e?e6tC;PQ)cH7=`{BCMuj12K$!=@=YemGAXjNr{LSRW&MRMMdN | |
zxP@6X!WQ9yF21nG7W%s}B&QZp6nrKW4Qt%_;|T#drbZd$j?Vh;bujaR8Piee5x|X7 | |
zy%wCMsHD1LjcVL`SekTuna-L`*w^lYZNnzo5>-3=^cL_Ad3L){!68m(S%*S>9Pf*h | |
zi7S}l50X-x=1$99+Zf$n_4(pRHVX@*I-Hf4jq`~rPk-~Y>zdP!376x4{JvpxLuVD& | |
zECS+ZpaVP#OIN}TdSoW!v7){^w5f9IS^?qo^XeR6(spK|vh!tP#y<8xbPssafDYmt | |
z67c*dY#A{y>}91+<31X09VDZFkEs8QfClNa7{B_dX;KCLlh^TN=a%1Re}ZcSeO1Vc | |
zRQ$P1)~LVnluHZWgs}0KE_#j|q$*#R23hONfd0-nZWY!uGTG9s697aPOiC>4_^HH~ | |
zICOT`;IQ+vflHB{bdQAITV<VS2VVmNsc2X(0!g{z)Yhlq(H^$C;I{$A1dhDjN@Shq | |
z>nuMIoJ8-t0MupfOvZP+6jiD=&_E2f5DXJDp8>b!%f#rjjc3ImpH_46A}^)WDYoNV | |
zU?J;{kJjJ6TV^)$A3=07gyaP;EtACGw8_s~EC$W7YjQrV@N`xM8eM`cuB)cT-QU`T | |
z;deYuBXdCZ5WNjAjmBAdnz9?RwxE<ks$zv4m_HJzJ%)Za#ALUpf<KOvSwB8;uFe#^ | |
ztat4qkd3kH^Z!~R%ZSq?*u0Vuu(ff+z`m|Xg5vd$$HYzmW?6;IK6zD}_p%q(j+8zC | |
zss7|%9?NAu>9)tKbR!m{4)H*OuP$@n_SEl1eq`$dy(s+EA#!Z&L%Xam<d}2{U;YP< | |
zG46)p9voV~Va+c}L-o|lXN{=S12Z-9dyjMc>CCa9PfS1-@No7-D?$`cLu$E{++0$n | |
z<~4e6k($t{zfz})@^z|GYujx3<ki-1a~mvlksL<w*r0e01dI3gJtu44B8bWU#^vlO | |
z%qRA};H!W~HGTQ3J(QqtCQgd9FfDa{Ea`+HBWeMRwlC>M)*}^(_!2x7F@aL*f-I_q | |
zSyl!$0Ze&31)psyZzteQYR#MTuEh8){!%FVS?{7nts;}{;9UdW)5ZH!9VT*?S0268 | |
z#DL=-h?|kKWuA1|25ZL~vS%6kiQRbVL|$!jf<#cI2k^12)TZ^qTvK4VMkMajWm;yn | |
zo}1;UvCzvgzX@z8a*HhQTm;kEidQhy#ra#-zW|BG%XN}04~)f@VXzZ2sO7`Z7aC!> | |
ztDFl0U{$Wp1vg&#f8Y`IzNhM@DfLv7&W7pOw#4eQ0`<rw|9f)9tJ(^QYrQW1h10K_ | |
z`UZ|FU#)r3Z0pWxTSJpwLJ6oZ5I?b@szH^34K1T(-H~EBC$2Etqkhx;qN2(J?av|$ | |
zJp6f>fVHBj>Y-IV$BdpF+F=KTg(fziwF5{&<mKss-$ug7Nz=y6_foG`LkIXv)p8Mu | |
z7vZsr4W3SvcM%DWUsirhD&<WpWHb3W3V7Vwt!%r5y4<zv;RcGf4_!Pg_~u#BR%qkk | |
zG33>tGDr;72EL5iVkm|5y6uqlkbJOF;!zUL!Qu|F6U|j^N9z~KbLK%l+omxS?J^RP | |
zuJbP|AmsbiGcNJv7%PYLH3Sk2i<eiC>UfK)-K%w(m6_^9LOZLAS>%Y7(F0bZ<KQq= | |
z=qHs5xy*9M227T+pjf7sH+$z<T0og%X5pYgROT=ie&@>Bo^|UU+3CzWfZF0DVj>XQ | |
zEQw_}O!%lb3rRD%5V;@KP?iNyTqkN3?uGbnC27bYttWfJmm!_N`Ob(7x}W(eWWU}y | |
zE#rKZb8}Pyy>j%p(bXSHZg)SE^34`cbq`$WguRyND}?lw1r>E&yD47YXjAT2?^DJ; | |
zyHrVe`3U$5q&VU{6OaDSU*URPbmK)0#N{&Q;(1yIs&^-MW9~F6#n!<Tm}o*<yx8vf | |
z3vu{P0ZKp@UX8vGH+qR$7(W?siUIy$4%@$XLZT_TNPDHvhuhBSLL<M@l-UI|?4gvE | |
zJCF>B8vdP_##3z(!5lC&IVGdsMJ@4u@6LR0e;E$WJ#Oq-0DZmM*@~GjX!%M|C*vA= | |
z(|oNB9lc0)IPB0y=0_OR+O)9l%Tfu`OE0#%{{m@fdIxe|c$$CX34VIAmJV>{fs%|g | |
zTMqI#O`TOe2hw5Zi>K9Bazb<PRnSA<0}n_=uW1+c^Pel<{Z~m|&aw@zUIgL9uRW_! | |
zp^h_UG!kEfas=yJU&tDsa^Ct2U6-L=zqSDKy=dRUt+hXFNX>XKhwSC_k_%8U`*v@v | |
z07sFZfH;Ap%DTE@(80>Q<oV?K^aSYi<JI=u$<vx1D82as3bX|$1Jv=Jce;o-7#_iQ | |
zq;JtofWwkCI3QaVBug4R!u+kbq>f92UKWA)ZyUOz?eWit07fr2V?h_z;!5{$Hlt({ | |
z&Gh0QUm99&;DmqaQSY1lqAjZ+{A|XCY*A-?2M9PfR-Egr+)+`&H*ld#TSl8EnRe;{ | |
zVobA<XyzH@LW?>od$FV{iMk!2gkJ8Rf@aV5w^Ee-5U1tLmjYfjnX@;W1+22J(m2Vl | |
za2SMsb9<#{F4`$jH#7^Cl5a|+uo14Smk%viw%v%R{J=o@mto>5-v5S4H0;fd*n)ue | |
zt#ex6jnki<&wDiDpQmm>@6?i?xH4krkg<wM1Do@VAKFURcmTfBI^d=39eLscw;iOM | |
zV@G45SFT0pXV<SgG~RDXTPFG7hP?iazZ&<I=8o3X!~G2b6f?pFa?>(zw<wC$@vXe_ | |
zEMbcBosgI#&^$tLqu0~@;oQ`^5h8Y!MPpmG!l{Ua47VMX%_1oO!J=M)(VzEqjvW4{ | |
z$A9YAh!5RO9Y3ET1glD_0aFtkepuXLfK>L;0@X<os2_eZ^xdazQ4+P`mvDfBo%bCi | |
zqZea9(y|8wkiv$}Md51^XUe6fmG?>6;-$YeYvLkLajXb4*f-LS-JbBs|Mwt>aS&#o | |
zL#q*4U^ieZY(m!i@`xD`W3s;+WfUyNhfl@vQd;T(@W@5TQ5~f%_-5t@dMlb)2S^Ik | |
zUH15e$*?!b>5dMD8ChPP0O#+W$;G3AQIT-Z)~~-}f_(>dA-#}@StH2wt@5eNnFl(S | |
zflk`j7jHh#C&RT?Uva?%AJ^4NzpAvOBXj9ykta<Yzd6KHUeu*#ydn_dW~jIPtDa4X | |
z5}&-2<su^?P3g!KfH2qBytT6lAf4ZY>*Moan#CYWIeQ;qiS~BxvPY24dXOZF`2ex# | |
z*4S`*czx|V?(t(6d@j~N_DJ`6$KeQfcIF)|y!Y3QYsW&&!js$Gjr}U`X@TLsfkLD} | |
zDCLSuI9!GPNZFB%%MgLQ3V|URMn1qULPm(utx+Q$kRE7xS6PUYM(&C+q}l>yddn35 | |
zm9tqI<n3fUM~Z9){NhRodGcC(8Rmxmki;}CtYj07QW_Lg6!I{O7~qLUz+NM_M4XJ7 | |
z5E92^2zFIAU}=0dn1a%pR0UCkakIgOx8c^b^;M<xS~Y(#imtfLH=~@xfQYS}ka;{e | |
zt((Cc!AXk;slE?oQ3vn8zuAEu=lUQg#vuSP1K9g#D;#uMJD^qSJM#YffE==Y>!F0K | |
zlXv%7Op;J{cAW1TLF0>Tmb!6VM<<i11y=Z|{3fHnnu(j&Cqk!8{HpOZ%AjIUF*OTj | |
zO?Upau)gvIB0b_F3lH0xzgpk~v3mb<yNW?=ZRt$Nw7%`KQLm|bBF3)kU|_=GjqbyV | |
z|00H#{Z=(txYiW?aFt}F+Q;o@)=6pfpiGbO1$d4Wh?E<Vcu5v}EAkg6>jKqBC;wDj | |
zfz&sg4(j3Gx@cU3_^@Z5QwfzCY7P;eMtn6e{Y?jGvcxai?b6`=oIV5RUJFjLcD?9? | |
z?<_Kzqp!3mM4R}dBgO3W6~DfFpl?-RLztq<sQo|1I9_&gmEoR`qOlconhaDPS&of9 | |
zHjb10KZN)F6DJt7{E`0TAbwWpYx1atV%*37)KoNe;iUOM(**%y{?fF~TbgWk=sS>B | |
zf;bl3IlhK!mL@#LB}qabui%?$^xhFC%L|dHXpRJ#9Igjev6-Z?Z-PYzJri`OsgXD$ | |
ze|9l01~;078qXME;=bD>WIH{i(5NKF2U;p|(m7a6VF;BX1;yVTbMCpM-O<>7VmX!b | |
z{}ag2hI(M`eFS3+3(@Tm8{RkBNmeIXG8-guJkLER?{ODO{{IAW{4WHpB4@zfD#Y9l | |
zeE$s|@jsAtZq@Q6mNOB@iTL%Rl=o<)bqaI%ea;i{+m!VF00Emt`v1{dq%>3LADF$L | |
zsjmOP?4^5=1pNcw*ESa^^83Lc&>9@^N>ElDtJ{0-q19iQ!!O7Y5Kx+X9dtf;`iWE4 | |
z*?S-AYtmRp8#?cqkX>H+h>_P|21hz+wF5`sQg4X!W}aTcn09D6%SuOJlPGzCkB7qQ | |
z60^fpC@>}ipu13H8W<<PGD6ABd?4^+H|(xjJ}tMwr@xebzSI}`{or-#IOw$dy+UxM | |
zd#%bpI?c~iX#Niv<aYW0&P_)_St|MhA0##T&b|Z2$(0!G*=30+KdsH|491r6DV4VU | |
z2YOV>W9QC4UPxWdzm4)oNv-L`KY*B{jeYe01Y*wBb^POX>=!>c`hS>v@35$zE#F&2 | |
zKqV<CK_n*yB<Iv3B2f^KoF#+g92-PIvg8bsbI!5JIp++Lk=Vqh>F#~ObIzRKJMYZA | |
zGk4}b_x+DuyK2?9)~>y375#Z?<Dt(~V!jAUVZEvp;tr-SmoCt(`Vp)ZWA{=l4_!i| | |
z7QDz_22q+{wqLk#Z<ob)FgRjyWu?FGR8)J2GCV5UK;peB&Uzb)l6`xYQ4{`@*0Bt# | |
zCu(4FraW9g27l;5g|`Lzz0K?A65j5)7EY1q4c`V!tTdrQY`oXbicCc%*p}@gEDnC^ | |
zu0wONjKy%%74UW@?vBSVQ<<xyt%1M<ZA<I<=$@~9k8Ajf7&1gt^usiZO`hK*zfMfO | |
zTTBVyOW?PSJg~KPBtN6;VB+3|FXGUETDk6zTz=)Dnfig|Jc~Kxb~FYzquD(z&Hwu7 | |
z!INw&O(5(O()2kC!)bAk9BCZE55W)7$SyF<6v5(-oG$LKi`Jj?%}73k?U_E+A})qh | |
z0~b;E#;%~X-`?JjICVF(t#>6i)|S!#{aR7p1yKy1R$d50UB_F#?uJ?BR3jE5R^WYe | |
ze2mhm{4sj(KFH2biA}(`Qc`mk^a`F(+ipROk@m>NdCo7I<J#h$&;0=GI)hdkuPLl_ | |
zW0z5o+sORcWSstrZGyevHD%v7yOK@*H4vf}<30Xo`zYPh_Y@s*^$=Vr_&5_Rj0|@H | |
zRw_zOb8H%at)yAQZ}x<JhS+{`FE+xh_Hg_<Daoq78luqHOb}tDe^|*pUJSoZ%nDxW | |
zc&_g;%kRu49$@-NixU_#Yihv!$1sLG(by5PIPVa(&Zwo!LdtklS}^5wz4snI$PnJW | |
zN4cO%qEh{S`0<9=E5>rv=LNXw0M5GldR(^gz3Qxb|BV%nWB>-Q<reY>l)<R$>@c9d | |
zc0dTHVZBuJd?pN1D{^@*n9nz8TMi{@4m)QwUG0TTfRQfMLm;pApLChn!yC`lHv*&A | |
z{ZhY13C91s<lv%oox#tQcp`pE8-K7Hbt9`A{A=6OL?#pB<Xz!m37R<@CCPu6=KD`^ | |
zh%gbqKt>EKX12f9x+OJl&1@|lA$uJ!LCrrOoZ`;t@p+A;p|*A-^icQFH1x_O2wUoW | |
zh%s1UcC^+GD2*ZVdUux)p50v1;+Lmc^0U_aXUCv5aP=T000ey7jaxoN?ecA!-tUDF | |
zdym}YP&&T~?+-rN5_xGai;Wg7q&djSKasvo6LH)ax<`4b=dtyL>lDxB84an6Qo!T? | |
z))@ao)>6O6X=1H1NR6rJ_9Hgo{}YD)b2R4NR3u%S{!?wo%I22`ukMe<+E<K$x?fSH | |
zGqpU+*-_nE0TsSbdkVwOIbc>O%iZlJJ}vz@go#s@n+1?HL`;VC?m*tHeeYR8Wmqea | |
z%u;=pL{K7TDHU80?WGF%eQ|^or#qH8NiFLyC-_$P9z=e;AP$g?<g))&dS#=4z7vSi | |
z5b#gtG9KL9W)#a?<TV$REh2FHyU4)Txrkg1`D?^=F}~L)_nA_}^jS}ux0JX4vGGJP | |
z2r;-Tt>Ee?!ce*oV-D2puPFiVe=Sz6(U~k3MlEjt93$Q|>Nw|PZzC1_-Kyl63AiT* | |
zeb)&LR%c>N;^_h|ZuWu)5~3(32yL2*Cz1sGAS@-SmvkT=$hAOS&S_0In6NYuQUHhk | |
zz6Xhixs}5otECoQBtEL|G4++a`!bq=u#6iY7R;<;DQ*M08h`ZLGX<uYEAZsvRlAUE | |
zG!IXwD)5`8Xcz<M8SgLTC@-zWXD$mu_7>y0^GpBM%-}XzzJBn?o-pE5pJJwU;4RB& | |
z_Kk(y836{A@!#7ZdH`qmXb-4Zc?%A@nwqFxfpzZo*{{F0>HbCcrgBL20rJb;uyon0 | |
z0CI`8JJ4M0b_*eX!^j@0>PJ|4wXARUUO06?z8ZC|n0_B-N}!Deu=haQQ$&LxPhRMX | |
zHf;1PJ=|N#Vb^j4BY^EnAx%{0a%$!sjah}OW}f5hm7b=}m73$yGRxJ<)_LjKxewB& | |
zWAd?0(ZuDac7eT+FO^kKfEI};hhpPSoNbk4MX6YSa0$p+dp-YDxLv@)!P4xOHVvag | |
zxwiX!>zUv0^^WwJnwD8k;y^8cP|s)PcHpmtGJmjyLP03#ku^!QIMGPLUVMX*cpTQ~ | |
zdu+LIRkw6|Rb%hvEDe{Qx5a<uGx3{9Dcz&$4Bq<{FnjK%r)NrRzB$wUI}3TsJsOgl | |
zZN72TS2bQn8;*B!3GoX6Kfu8IKAZ7^IODhWN)|@tdVIc!$<<f4Fi|GJ91Gj>n$)8) | |
z2>_qBgv;4@Y(tVL;ETjOnlsv`n-hG((1u+&=$yn2zB<1f5ss+XeGra(Xs$=Ygu6Qe | |
zjtBp0M=q=cocCZWb-Y7kU*sBXqOa(455>|IX$_w8eJ814XF`6nj@Fu^ybw`o2^6sk | |
z^r&CCAR#Z93t$T$!Uw-G&T6d=_v}3L;{#8eEgdl4PX^?|Wfl;`*~Mm4^RgnEn;2Lc | |
zF;^`jCZ^#6xO<fAbC<>4twoK78Snn?CQ(fq)0?4p4ok}Jz4|y@FeoXzG1wsFKl=+3 | |
z9@~%IHgHoy*O%brf>WNf4nEYaH)u7iZLMx*Sf52`UKOp`3p@vqYcbbRS68AqfIEub | |
z_m?|QxS|={EWhc|>OZ;IC1C)bGIDU+pNkXx7Wecs1WybQ3wbk;<7Ce6Y)$h!iWT>7 | |
zJ=?ngLs>nEMT=dvksqsR6-ZVYAJpGO4wFKqu06dE4n^eqawSv<1`++L2+b*`gs|9O | |
zX>lP|=4bi>QRobREk|~OO?xOD@)bxXFV^mp%OVY~wnc43Lq-XA?Lz}7Q0-^KdLFj! | |
zBOV}OB#P2Yw?gLRzFUqP{aaxERd}G^o6_2(F`_$Px>NuqT^WQG_ph|@dj?K^%MV`^ | |
zsp<>R*8Bo@>Y2PtdY)^JLI##LIK$=ZrH?5=r_vLdC2fu3_8OPa8BDs1%c>&qSmr?x | |
z<iJH|A(L&@jJ8=RbPP;U?pflolbla|LE>WZR3qTbXx&DE<QQfdY$=Lbd*C;*2oC!| | |
zj%y*-gP>f8r0(I@8~nt-=*Bru*pr(TETQ2qC(9#|Fk`&-453S8YUNMeZ`jc|&^$Fl | |
z=tVQ)s8<CyNtp|oDv%^EqjHyPzcou_;tcNqc0&MHlfj2^_r`S~P{GR?9*Xbj=??g% | |
zMY}xr^mgB=)EiBE75#DxYudRXBE((rOH(umV|{>L(Da;-JHGHiyu>x`o1{T8PQg<< | |
zeM%Hh&P#q;l>KMTK7_~GI)#W=SG69mhz!ar%JXVf3vx668+wE-48G)|;aL7+S~CiR | |
zBn~vFZ2{aRVEP?tbwh-gaQ|@NPe#c%U#A%BnkX^yWCLD}rYu9-K6VOjt?Yow(m45P | |
zK9c|rmy0w{=`7rvp4R-Dw|SJir0cG(4TFNgsEMzYLCbku#ccxl-#LK&cJEF-+7Ao? | |
z_sO<^njsLl{pSia9@RFalyi^1=nn}QD!B0b4<yPe_JegA`+~T+0~fu&etQzlFx!IW | |
zciZFLD%H6>hQWUud@Q~FZUlB|n{n02zs42oLR4E+?Ho#TK6BeN2eH3RU~R&T8|$B8 | |
zD$sPNi!0ktXfUg^Xt%WWwbK5N(8~Xv9{y*c)_+UfN1kbjXe9M^?})e>&*Sse3j(md | |
zg)B8bz^^>0*!#FxG58PE`5#G1$#D%pQ=9`x>kW=wj7E-$r@tu`^8fscq-MPTJC5*^ | |
zupv1vvEj&u&wV@T%L)4!8_nv@&GvAa<7-{|=SnbA=I-_T-?ezhG4~W%OPn8vSRDdW | |
zw?C->Vcx2W^0LRdXN6S2G!c-vmkUOcL3>DK3w9OsUmNOBUb!Gn!9`$0l*GL-Fe(%g | |
zzH?-ZoETy1XTMTtdi1&|{p2g1V`;<))9;hS+8nbm_U`tu^V%*0FciyO8*B^D(o!}L | |
zBTcI5GjTxtP5|#d@Dm<m4}SEu=x;pe^F(W*x}}6^>&Rx^o<S;&ateUhn-xRaS#d^i | |
zHwY!Dxk0A)1u1`B@;S26x{?1D7=`O?-~T5N%Fpq4AXLEVs<s9eeg!&NQ4kV7NG83? | |
zO_zcmqyNq96^w5h5&@<K=Jhs2jFUB%;OjS$xs$XpU*aC}fGU;U)oUVK^!Pbf;j@RK | |
zA<&gn=%vA4!rZJ$*VZ{W1Q;6z96MSuv+!gaO@G7)mi-MC?4);G?TvWGX)_dgd)Bw- | |
zzXCNWZ5)8nKD;F=ko4<v5uAel3XXer^<iqxo^M`~IiU#*qZV3lf$xGDKK7B&o(Eh( | |
z&1a+C62^0_1kcPI0y#ENe}y;y3rJ`5V{mXsJeWhFH-htx*x$4{{?TTLB)j69PIF6T | |
zH<Svz|4g70CNNE!@egCoMd0m2w}i=7der8wl820s9=W&&Jm#Jy#rxXGKfGhVH$n^d | |
zb0+RIUue?Z#F30APn^&`dDT21U!eI`68krd(vt4K3rzl(NKB~(djnrarNKb1;-{j8 | |
zG#N?Bb_(5RaEXNecg)iAH9Zg%9a<wZsJZMsEQNsSAt3XmASrZ=?qk6o)!1Ug(a6K} | |
ztM?>51fx%MsRustYD(L;3*KGDc#&jEh`W|G!`6RO)^|K|%$|qU3%bTFeeTT$J@78( | |
zuu8(SSj`WW?iTz+x?b8gOF~P@Y*07;X8Y;0*Tzg_#YX92citg*d_opkN?tW_HLH<8 | |
z!|!mu2vxOb+FDTuPCQNR?@yJBBG->ZOw{s8ka30&{Kn1b86$!1WvG(SP*<Dshzq}d | |
zd}Unjg7<1@!D{Nrv|Bs*=#ya1m>VNB$QkPa*6>sCgS!DeJs+Q}BP26_rQ7+7SycU9 | |
zbLtwU0!dbIR1<Sb@Mrtf_<G5J$@Q4ROp_LV=SudsKTOE3$}l9!@-<DiviS7@yAG=A | |
zPYK~kSQ+1zTOvo{iaxWIS^PhNc^M0Q|BsWLT#Q}EN5RSulfpj)edJ}PtXXyc@uz7P | |
zY{9h4=weq0=M!7l09fek+j=)HK#;(_NECZ>7fJ~oak2XJEbPj~X%JG53caG#pj_+) | |
zoVFk$22|^l<bbPDrw|T%=F6V%n8Y=!?H0+mW_J*kqK~sCO`p}QR**N{mXM%~zYNc? | |
zzWZJkUf83Go1|!wkP!8$6RZFYC&P53Q+n<~89-6z@u?9z-&tcgb%D)F`#^5xGn>sl | |
z3J8Gh(#JOs{nS&Fr9<$0LYKsAH~q-QP+k!*j*VHidR`Fn3<;{ZvH=@J&3(tPRVIak | |
zDsCdlO6h&<DBD2@2N1Rc1Koy?^AMvVQ04t1Gh_;+<MliIZB}^W*FMq0I_OV9zCoVK | |
z<-L5kc|B^U((4Qo-b(^#+%t-N?ueQp!<_%{5a!>=+JbKG{Olh<qkYoPU2|1G(rns= | |
z&9pR?Dz*2sE!Rl&-JdOIAB2L2cK1L>#Ix%2szMeiR%nmKu)NNIylqg6_>C_$mN`9n | |
zHdf-nu~xJ|*<{Fh57A=HU9RUc<pRjPBXwYW^F)OorFM;2sX+l7BDFgWRkSYmk0rxA | |
zQEbGF6PEJ|1WzVy_#sX@WP1QVD*J(N{Ts!Xytx3(W%9~~4~Ik@H{Ys&NjmWTv0wS; | |
zVD4(Ae~sdyUAmCm4;SYde9@ijLK5F#Jx63-q55Cv=ICFRKRDb^MYX@<UZBa=HTzTG | |
z%^qtNk)!$_3ixlZdjGl$Thku+c6uFWhk9hrv;Tavf2Ay@W_amZNnq|r<t7)+&jZz+ | |
zE#52XHv(kozO8KEZY`+(5034rl2>~x^F4jOnE5A(x96J@Q>MR^^=Z7%K%3+&R*eY| | |
zFVlgfe?U?VFF%1@J6e|wT6GvPSWi_sY>11nnTpf@0qOk$_0UKz!!Y)~ScF2u2~FH~ | |
z4X#gxTvDD~r??$R&atQyf7FyX@7pQjI%MYV0EbCD@VZxBz^C$uR~-Bfc^k>+Af`wo | |
z$T0JVPIUS^o%n_ev8_HiE3R3_nisnUng#_1$)DUO5g5mPJZ(FFBhp<gn`r9xlu4MG | |
zzlq(~0C4#0u*u!9+e0ipEcYDE_WgZ3sXkKB8~@Fqig;zcfTb{PQX|IHG27$Ox~x_H | |
z+wQ;aRwaWGz@0mH0AMu&O8Sov2<$gMXkwIb;$4i3Hxu>c>$`q=b=Mmc2WNongRR)N | |
z7cYb??obE%kTnKnypwqH2-5`(Bf{zq##7pgzMP+*E$%(Zyg%69l36iaHe!1%G9qxE | |
zEU2;s2o3Uc4dN_8JOERV-^ugtg(W2vmJ84ttDeO2@^`hW-h`G9ud>6QV4h^*9kM@u | |
z>~?p-L^=%Q^zgU5MUli@|9h69ES)qWdP~P$X0TphzvlPvy@b_9wKspOb7tPu&mj7I | |
zRm~P;IhU{OL&9}}%_!Pz^33pE>URt+Z}%bY?hxU};t2XH*uqT4XN^A%{4ewp=fV7_ | |
za=oZ-QOc{&H&<!d{oJtvCvS1Cfyy~l)X0)fDG=92U&SrWJTq>%JCC6@l(r0?UG~7O | |
zp?j%SDN9Rp@)qv^_*?_h^!g6Dw*(#t#kioE8z0W1J5*Psv`sWw1}|2!bISj!9hbF0 | |
zn3J$eRhw2nrZZ4m!Jr>r7*|DUSD1F=ZYp?rQ=bFn<;GdmwvSk^$+b-LfNxqr(YB&v | |
z9*~Z*^KadCHs=RIe{W}=VK)N!JrG468~8UJfKc+XuqhqDzlKl%q8`f>)5P#Y(8lX} | |
zK($9Ij)1{=(RPNt7Nxq7ne+>mG~A^roo^ED`YMqAH(ChqdwvB_s%CsTDy|70*Vcp* | |
z!nRR&4k+-AC`gWZr1V3DiI1(qZ%=~2OT<rJl9)q!Uq4vZ6NiMVRPfD1OtPozR+Vt; | |
zby=q?4ei2jll`BCvt?bb*{nC&Qp<49*|74{fmcI4D_vHAxHsaAcOM+=36O<>#R0Ml | |
z&@Ou26Ro>pps0};G`~9Y7CWB6%2*tdUL5qLESBK)bI?i7RI+!%41G3=2O<Je&Cw_M | |
z4c-A)h{JuvwkrgeBLcj|Yy5J>UN(}Mb1Ko{3TgDL5D<XfpRvCPV!P`v^&w}<MZ#dB | |
z+dhgFW7Bj@rvGjv-sa3ReWxF+UoY5L<NW}Mrz@I?7<A<G;5=|XnlqM?TI)w#OBU)L | |
zV6u|A{ca=!m&ABFLW!g9mAdT#=s8ft+d-Z=U5YAOiNHfD6d1Q%fC@jWvYT7n4ayQn | |
z^4-i7E~oc}Pr&zI;xEKLMk}Q|vr0LYK>LId#Xx&w36=fH9~HhlwyV%_9^i<(M`nJc | |
z$mvgyqm*XXe58;k6|dZ$=VJRwutr8PFj2-y#6M4Saox}#jdx>?!4DgKs_v1ZoJ=WQ | |
zCug7v-_$uthJ_s)Sdr-A&+<n)iV@;h+2J40KdLP?)j$pl$AS6WF1y(kk9Kv!+nT!T | |
zmL1dI9tptd-rd@Lwuaxc@(U3)!eJ1%Wu3)+$mJCjrt`XBkK^rBWDS7Z1DSmFiMFCR | |
zD$vOMGdQ+b^w-C!^s;mWHVSU2y9fMmF!J|(J_+-|m87Q>Btqua3Y*jcB!`d_)Nk@4 | |
zBf)Ez?7YtX(w;{uvh!CXmh?n#qGR}h&A5lYrBzebna{5t+p3TagV%*=@M))0$AYcP | |
zKMnS>i9&Nzez5&I5o3#aD_001Ha2ccILgjNq*P>=m>1JSWZiBj*7i_LC_3Ib=nNzP | |
z!|6#oxg&hC>q}nE$=@HbZKrLfQ`-SmVD7Sz^(KZwZ(eJ+A=w%2v-1&4{*f*kYk<0C | |
z20<`}a;0x;{JtEt$~14Xo$=~&1ztCXrNwMf5yhghX<8CGjS*zOp<F;QH3}3fA!dZs | |
z@^*hAKr1)(WZpcND8~!vf3NmN^Hdk9x!3fre_n|&v0MF)-N|oqx<|p>R0?OZnh4Tg | |
zG51O_*k6?Vkandvc*zRUjV>!S6Vt#pJFUXqj0<`lu#-=wPNWaaNI>X92A_XAz(?Bb | |
zfP;&GD>vH9mUI9YX%le{`30MC2qT5B(CmRbpf=0!6(fzaM>9;W$kr0|4K<xr8k0dH | |
z5xEKWp;Swf6I-NtwSMkGZ_+z(_1cE%V{P!(%}&Pymqp^-#*)MgG(p+8IdNCU&f~(X | |
z^lQ+|$R}?wo|GH<(>#9?Em1*Fg{pcvV8&Zsm2OI!srh3w<|~}}K`YDqO-Z-1r^Zb8 | |
zDtlJKNQ3CBkQyZ!a^GIR%^^R%%L0;bnzfs^Ya)y?d}nRYJ@X^w4u|`cn!cvbCgoZ# | |
z{B1MdLAd75=afT%Gf4IpOz1g~)#xJVT955GC=TdZz=23-)C3RCai<IERotG57daXy | |
z@5>N2ceBI@$jfgjClAw;vJCw{)uG<fZ^&|dT=>3+75}?9Z{kf}gh)W{P0)%*@i8dJ | |
zonP?s71rnyhz~G2Royi@xlfxCR3Af5pd9)+Gw!&BpuEqp+c(OQ_D#I|*9g(Brm{7K | |
z7*b4@r>F7uA?s<lBrKh<5$CG_n0NfSXutKg<Kr5DM0AFl%;XiU=KlJ2N?WF7GfUB* | |
z2c!m&&4bQ7DmqZLqr;GM)J<5J-Mvfx_eaEbCR9Oq2Jtf<6L0?1=7*<Ux!RqAzev}N | |
zOVY~lhT$xEk~ZXR{y_FAszXLJ8dB?kb6~?$cIO&0$lkiR$zGA=!DczXeolcUJ8AaP | |
zX?q_hxrd_=Mbx@)^HmUitNrONwZ7JCs1q(a^nr_GF=_(8C9;fty+=J0M(sVdn3sn! | |
ziOT#f{F~Sqc{-KKuV40Jy~jR^a!qXs_i1JH1*pa?OZ-}GNTdp^LXCY0H{?fkiHyJu | |
zfWn4_GC<{N#p(sb`smaHxkxIGr1U&Iv}bxwPKk~w0UThn6YE4!+^zYAusnYhpdAz> | |
zV?s?kNy<)KA_ba+OidHa1Bl8X!i$IGS5X8qhK9!@1A=j3cO4E{yec1j@x#IC?_}+U | |
zUd7xieo9UrBb@nVJj|B|r>G@%_{4>*aB{<hyq~hCZa`B8X*?OmgOAi>i|@jpVJG>W | |
z)>C-1h6JJ1F8BVt6pE>U|GHj17T)zr8SttfS-S7#073O+1oTp}+QAYyE;L5bk2Sj7 | |
z>QD(YurSjPYWGaOvk5(BW!hBuexCaQL|9g@8L(HH{R>{W9rJY(-Vo(;bVN~4dv-=d | |
zQh&~%kpC@Y-$zyov1>3UPL$w>K_ZY+mDD7=JQtgK;u3_}<&cLYu06RX<YjfQi#`Ge | |
zYauPY{ZVO2#yjA8)?~6Uz+H!Ws_f?oa1)0F=WG#Bkz(M)X%--wM&&*Q;UkaqHO@vA | |
z9_z>R>HyoNbQ=s9ahhcxl``;q50l@GMr-zd5k;9rQ+t=}r=uKn_-i*VKw$bdA@`}) | |
ze6#$#`kxK7vF}Rp4u5b*3I6<WkGiZgwt(&*T!>~u6iJaUea%PuK$&!CWsqFQO!*zH | |
zOmBKLs+^g7V)u&@EnW~3NdCVo{~a9aPwv#mWhu{Q`WN;@b&C$uQa|vOiuAu=LY#~o | |
z>gckc^JQ+473?kyF8E3v4#}w8@3J?KzqS%+6-53E-C`{NsSGoARw?FRKqO`d0zaOA | |
zSM&e2j6dW|j6h)9GxblhDv|$yoQemfai;$RNkoFrfe)mr97PmLr8)lx)tfwJOsj2N | |
zsum}pvR<_!i(+G}8p^E^<Xt>vRB)8)r~AL?teC-wV+nk7YU3aZiyvdHCE3$Px7dk@ | |
zT|Q^8nf{EDWyLMsg1MKDS-!G+ixBY;QsFsgsLBc+jMB<UF6RwrHjg~R!5wt6y= | |
z<@WF{LLTP7Tyh8O*<zC7?rU1Sk4>Q!pASrY`j^YZ4kv!UGj!wwvUfXPh2<K~VL17@ | |
z2b_OxfV=n1F9g&1RW-xFa0K<anNBxVrmv1{ao;V2)M%h%_!r?6#RDWp++~*eJhzt2 | |
z`HC$6qGU4DiS#d)4*Z=$#onPe#%e|x-=a%Ztbet%R93<v1+u-_+wb9*zG8R!+ejtg | |
zO6>o1%s8hJHR)fvdtCnHuYSPMkowCwG~cpd{G<1po%G%heQI6L<a*!F3{$0bGe4Lz | |
z$*&CWU)((q2TJ#tZuJ#2^Ys3u{j;^HqQA(U7W4c37rE5BL(l%Agq*w24Hq4Y9peS> | |
zG6wd078f%bT*<)6s`JuY(xx>Jy{pExr^m;)c;BLaldbS!FhzH0c4cOwEZQ6LiC4>; | |
zl82vzuZA@>r30V!v+;c4VXNaR|AKJj10Sq_+xBnv=^p^>TvQ`5WBp;9TQKvw(j7&t | |
zAgfuRdYa!QdWx2ZaF!}Yb5ehCu^{Bu<cpe{wK@w<83x{mOndC<)iSLs`P{bH0c4ec | |
z((s^Z|Esv-#=2zSyfP?1Sc5e|d=Gpf^X0e$y5b_C%UO}raPI%`U`05TlNE#A>F2CJ | |
z5<ClJvt=P|<cK7r+%Wg)rX}Fs*N-P7V_%jlHKw!{VzAvCMuN|L3s2}jx$x<0k24L? | |
zd<Ws8V=l6jKgW>Sv^1`A3|;zBn_Y|We!Xj%BJlwb_e{02Ix0K*G4Q&166s)Yv(!UA | |
zgDGy3wF^D?2uK`Yy9R6#1Cl-l0ObYHg@k*Y2vqpDan`A}IaO&h4;+TzH|HKP^qM{m | |
zAHxeRG;3_{Lux?_$PLI#KymQv(q9O*R3NC?kopXqV(?+#nw6jMbaa65<<-Pxt~9xv | |
z53@`Td*iCygTsjLM%sUlx{7>xOJ96pet?b%4|Vh1^OeWcdjuwZ4!c*#g|oF*a9jOp | |
zIWs|@{h#B>qU8*n+Y$&CX&?91{lPuxm2Y{FdzVsgIa&YU9eqzsh?8Hoi4a7D{0-;e | |
z{5FSSDq|b|mTryJFN~3lmB@?suk9)p|I3Ef|1d89EiM1QHj&V#M)0umegmfZ_*!L< | |
z!$N$jowNu!TFHxq_Wdth^mURnk#>LBnSbwbdeG63{teGDdRU1)9KA{rDAoN3$NA5i | |
z@DVDdBPqH^+#qlL5G?ZMB0CuY+y4@=lZ^Q&D$<%G_$W;!`kGsAQh!*C16B`by~<{( | |
zMnh-W7fH&l)l0-)`lRZ;Wyd{atSIm8f5O&u(L;!F_G*y5%qkB&eK87TG58~G_)$39 | |
zX}=IcYhSHQgFT1u6piA}P})BtcRHU|%dcmRiAwtg4=~-x5#aYyRkW1<tzz2sv*#s< | |
zAx%ZtWCyGykZhN(KpTLXsm%->#l5DytiiBD<YVI4Z^Bb-Osd50wqLVyah|YfUy+Pe | |
zWZ*5QIGL1(fROk0`|YFr3C$B#o(`B=l0+MSzlg-Y<zZL`!VTlL$_7m|ie^h<vY+@7 | |
znx>H6#HL4<elykuvi>L+SHpseZrPWs$xbGDfawRo*h`6N@5ekV?oD$=*J$`WWREa0 | |
zzJStT-p65@^xIqW@8P8p!b`$D9`dKe_Ed<%Z6HSNFj>Ii8DgPN5ck>oI~^w51c<Bd | |
zX&m@UxW}a1;xdpib(F!QO%L)~uDn||@H`y0{#_*nY|G+`I!#-FMyyY1f8Q+PdKgBq | |
zUdZ~)qE>}e&_wMX<FH_5XBT)QLNbvt&9lJm7dFt~)`pFmmla5SVC*!VfT8NWu^S<2 | |
zDxIo3+H?%K8T88En!#rAzOP<R9a}lfQURN{RuG<RvYjKAAvXZ}(C=~Z$r=LS<F<f} | |
zc;02i!3v`Id9Leg4cE;c9CYit$nNSY>->y^n6KZ6)5?Q?K59x&QIv{~?Y_8dImB=> | |
zc>&%hTFtgdwY&sP`H0Ob6!ecRD<RY+nHrVRUVMF4Y_G7E7v%X%4x>^&q%Ys1s$V29 | |
zlj&rRP@qyig(eOB`02aQb1HF%4DGYg(YZ`}jkAx6PyawPfgE`9J&+Jp)?mDlf?lCk | |
z(i;PI$B*<1+9d<O&A9L7H{IARk+wG}=0M)W;!-ZndX{l>3r0eZ!LU7doE(a2Pvh`@ | |
z<1yv8DjVdhAsUR`{H`~%>1l8Vu=$LwzM=Z#q4}+eUEIi<dmA5lG&fT_6`x-12PSKT | |
zBj7Vh_=n9dm5V0>JY1Bi(uS3rv0A*u+P1#^(8<@{T`{T_ysig(iG67zSsG4LDk4if | |
z5WuT)SkTfETGEVaFe&DlcGT)q_e7x5s;4bV(%hR>q#szQM)H?}m-Z58Z0Zauw<#J2 | |
zUVp>2Ftcz_%=%u?OHB22P>_Qmw_uFvk}j;E*HmHS=GuSO+Gfo0pI-Yq=e%H*#5E#Z | |
zDS#;JNW}Mobp#KgT=vU*cs&m5O)F2sgm@Ui*H4I~%vlsRus^)M^*c`7*o`ZE|LNMp | |
z=dZYR6h7tEEXdCvgm5K^XD^A;985zr)+mUZkN@%5X7c~(nt@jk&(mJo%0zSJT%N-B | |
ziJc3V`@Qw^nPlz>&xT-8BT;DR6i?{0e@BH_{=WTEJyPqSoKnIn)CAGs<6rqPA~#LW | |
zGJI~lXUZ(b<L=EfX%rp$w+3sv4NJ<zhwe=))#pMpm`;jhDcN_pp7p*%u63CR!h_sC | |
z7AU&AW`#y8?$;S8A#|G76+mLs>@VJ7kB`as#TOa)<jUF^)=Lkm%FyeYvb#114z&$; | |
z-h2FEmzondUrgpDgI3cX1TquCIyA0}D(CQE`cP!>D9OPLoF7^h?qB$AOvGg8X3xdQ | |
z)}GxM=@MIW)qq2?-+UR6cryWN5(J{qF|8`Eh_tvtsIhN%iERamXUiquMnE0EAdll9 | |
zO&M-O@KVKDo*C_lCeIWnN4DmRdCR2gX-#F=81$Fnc-B-BDOZl=^iJjXgf$2>)W)pk | |
zQg6jl)fM_MmJLILlTGO)vhT|-K&<PkSUG2s#9LTgW5MMG50Rh%#rEu(p~ZmWtax6M | |
z&9_-NELhb>q4{woc5HN?c6hJ%B{Ebe$0!ZI@*FBg(z;tOuO8K{hgn|C8jhIcrZ`*6 | |
z3v3#_=PZSq4kb>p0Fc<37SHPgm;TntAZoJA=5lLJ@|1O4-r1j5U2NWCh?z?TOXpc{ | |
zA+!wIfvv+7j%FZiyr<L3;nz2iw3odSmld4b-KHkWH<ioiXV1J<8ip=_-2k|ir?{DH | |
zUc#dt<;sOIak8v(<&zkCVx%oJMv-i>D<&ki*1i;ZRpdV?KgS!Cv9D`IYkT)6u)=O` | |
zrrD_j(Ol$f_y-{973lJ*eWr)<;Vykn^bS_lKA2OVopsicir0fcvhimlfmlzUCW(X; | |
zo3-6DEU%5ble-VGNGa+Fp!=O^tXw#C=8pwje{kOHidnKZ@v{}ME<Tb;tbb>Z*1IhH | |
zwgkle@)0Z7!oU63-<<NMjlm@dL?JAB0hCg@8J)J_dw;;fp-2@N7|BYqsc}19#|AI% | |
zH=Pa-jjizaW5yVZjSEz!SzAMpHCu5I#F5EJ^Tp)EibY{@thIV~qNO(@7mn_YhAf&= | |
zqzER?^xAH=xJFl9SsI7oyVEqvYjuZJG^~es*B%qX$E)Z=PBS_)$@F~1J>(z>&oCZl | |
zRENwEF5jRTN>k6pN7h~XP{)yhv?1%QoF_`;Xz?_ucm+-r3f@ks#WKx~OHPrYRQmDi | |
zF=3Bh{59aVoig*e`FtAJBy`cOhdfrKZ?VQzshA4~&+1}soAxG11fcneTrOtLnQx~g | |
zD$95K_#RcK3q@BC2r_!@qz5EIkP8qM=(LuNl`ec7&`ZQ4t}$nh3}&a?2F|BFj8BtR | |
z5II*DwUDL#n|XD%Uv-~)Y?}w=wk_LeRb4&YUY}`QTWQp~I?6w~Zjf^2u%47TK2Uk% | |
zZawQO6Cx85xwLsXO)DohOG@P}&*eQzQO2~!Mubf1ue<vBX}0AlfkYzOkD%fKwKNUN | |
zrgAH%S~Odw2ysLOQQ83t)LFY!KEb98T#{n)P`LnuP8SIU#pb0`(V^XXId|y$9R)15 | |
zXf&@l1CuOyj5DD#QMVA1{p6rT)k&mLVv&J9qjqx1pzPUKH1z&=>o#Xn|F~;Rz&B%Y | |
zQ&h@$3;Jy4B?Oyo4$xVb{IRTX%MA@EauJX9$4M`07rrD5g`~bE$&ic7G-1t%VT-D( | |
zS5@YH1{Mjt1&1VuwBIu8G1xg2=X~Zyxf9$nPhpAm-&I@W*0wa?&zT|4>2ArP=R6LN | |
zi#-!MhpH1R#$bEWw;<BLFaN(IFpf^rn;ac;69?UO{*wbKI}940q~ko7E#Te%1jJ{X | |
zL&4s&7p3bFa2Y0K9Y+=y$9?lsh7Gc}Iv-S@$h2!(N)5M%#%qo%^mCe$JTC)KLt<Ez | |
z+A*Cn&f^alxf}Nz3b)pKGh3FMj=YZ4L>py?7kM(bPWFoEwHLUI6FPOKEP9E1-=C}6 | |
zD<cWq2)wSzU7Sz&A?M*mAp@%~Ab5UqlhE=zETXk$aM+&4#Yc6}-J^>DCF~>mum{4U | |
zZrgqOz0+FKbE=UQOTVBu2}q@p#dW%1HF-qRg?aw#!MlZCvGu8OFykCyt&$wmScLjb | |
zpe~OaWS><uAvun@m%%cZoNKHTW}M1sC?~*p_<;n61d)P6LN!%fyPSiLSw)=sHlB9R | |
zQ}~DtMKcwwfgQrY!t)*8f38c9j;Y3%+w0RNFM^I)w9`Z3(R5V^fe&oCjZ`{`$tcu| | |
zelj}V&h@2es_{dPl&l;5WNenPpEU>=82o`RO|mOA-owuIy%ce7q@e<H%YoW8$JcVI | |
zl$_VJJ)bfj9os9G%b1?4H05(h^=`Pb-0fJr&-Dx(c!x*Cghc<MchX!rY07wu;LKqU | |
z7?Zt-t|sgnu_Sq9yvy>Nle1%W=i4(#(f|piQ;Y2YsM8eptQz<L1nU4%!9J?;bq%2d | |
ziet5SmJgA*yn`R^;|bSul&KU@*hz<h&S5zz?#T#AcSL+&hSvN5plt)BBSsF8U^8Ib | |
z`I^$MbH+A%g0*(hzN=g}XQj|P?(%Tlp_^-}6pXa&qC#%Q0dn$B*AI@oFB^H67HVd6 | |
zJc{ogJbC6F`rf-|VM<j;1-TFGA`8{cl8W4sdwQjH#1L55fwF?grhm)n(UQy3lyyTN | |
zLvho{k|=Dn<KVFIpul+1JAiy~dqM%U<h@QNS)J5$HDuud4c1+3Stma-8xcNb86jJP | |
z>@6Kx&uBZmXWL8aI`YM$$cy*7T&ndtP2w{LANx&IBLtMKJld|dYm+{oY+bCU!M^4d | |
zQxWT)5eC+pU(bzr)uixRCC)2?d!9Rlyji}esSUKAxCjR${C2{uS782pYx1QrN$t*( | |
zeM!Q&mye8CTVRnFp*D-Xr<aj&MU&RRMQttLieuCp7JC?vs@0MEjL-tljC#j}b%ybE | |
z$b8M*mYxcm^1{M|yioCy_w_+_>Zn@HyaluQ>A(>9q-U>`%%&;b>#}iqNnX>6=RJ^k | |
zK4Sx_USV7SA%5YjVpF#e3G)4fua7LbtW0^krs3D_mDK76^R9@^%VXZ3&kPsUL>^X6 | |
z$V(tVOP9G9KInL6dKVQclPygf4%Y`O%iagyX&1C?>gUQ%uBSR6)7CIHGA2wX2+C47 | |
zb5r{L<Z!A;Zj2Mbywi-=H-jvcA{!Q^r>)0kj2fqhyu(GYew?;_`Nhk6ozb&G8IjLS | |
z$klE#>$4LOY}D@nOZ3=RRo4#c+4MW6)WVqe%XM|bgHQS^=Or#ry$HOve9-Yfbn-4( | |
zXNnphJTR|4s<nx8*7B}5u0E)F+o*F<xhj2<{Lr=o$DD6>udtX`dZP43)jU$PKCMPe | |
zYSh5+sv59vkiM2Q-!sfs7_fZ%TNZOZ3pkuz{(`ccibjOgI+%=DLr!8!tM*zxEqx?5 | |
z)MUewaij1!E0-63Aun=1>6~O$Gv*C_D18~Iu)nbEc=}%R-E*)JF1kX1E#ES`_<(=S | |
z4}&OY<V?xRVJ&69b7>r8kT^2adhtD*!?8ePEf&)D@?zED!VF)~lrOzKjTrzf7N@WX | |
z^Ey2C#!jQzcv$qQRW;weGg;V2sOaSx-z@iQ=MQeg`o6`3(t~~IbsdRsz<yTW*<vD? | |
z%L?>onN-5#qp)lPc)p=97aWRFn_<qKsvjS+D@Mp$DQ;T3&Ie21{V+%6(GaxzI^z>G | |
z5abkuLv*Z%c|WHQI1l_p)mHPv#n?~#=|UGC9TSoKRhs)r-vzXX(#H7dW<@=ZvH&Vs | |
zpmL$-9v@lVaE<;vFs2b+b-CmM+1TuRLfs>|^)ZNPq~}YZo}<e-xgRbx%^bPnvf_1s | |
zJULp}`T9`I1B8MRT3tI9*~Diwt^U?a?KMjSyCcj;GB`Q3CCgXW;>7&8JMm-CcvXAX | |
zlmW@-ZeK-xq9yQ^y<gefBtr?hO#?W7oJX2C%)x`NrHEngg~VBV%MDuZ5O35yjv~b@ | |
zs7xE%)U%4z?i`Rnp{@;EsitsmBEMk^fIKSHTl~J{x*oda+<Elg-of8<b&H5kx)&d1 | |
zH-X*5WjbWB(r~WD&H8B%GV2yqyTS;X6BX&X$X8L-of}7wW4Cb|(BeKZ$xpRa*7+Q{ | |
zxgMUD0So0_RyS-%729~pI+1;@GidyR^MU<>FAU|+V2TJ`hP?|;I4Qo0gE1G^MJ|T) | |
zy_cUK7QO!55r}JUXE+4cv##H)7Qy))^YYUnxNvo=feDz-|Ga=GTykxJb+Mh0ut2sX | |
z*L0jz+|a#-1-4y1xBS%IHq&F&<bq)NB);m)IRp9+`}?b8l#%OO#GF_-KU`~)CsuZx | |
z7!F!k*r)M*B}mUqRLV{S{c>g+Oy<7L^Da}s5=LA>uQfGRI!+?i^lVXX4;B<|rm=@V | |
zKJ?eN8fUA&)qGX{L4RS<Cyq|Wi{@G2^9R}afuzBNEHWFlh_mBeU~RkjbFEd43Nl!) | |
z=}nDf(XpDYlgjZ*&31CI^8hjp`AAUXCT<+KGZ&fAZ}e25EU!qTd|7dxY`{%LIgY<2 | |
zIX1YRl}j!R@x~dxFVO0ykC{oCzeb%gUWR`q@yr0_MtWl$T<1lVJG+yxmx+@8W}3qI | |
zR7B@zIisUTk=x{`)4i8QI*xW1kHF_QKq08_Blfkao=b5P$+plJDvEmfX6db-oZ8sU | |
z?DdCb7TV>3k6!BJOaO(taS{r$Dj$VCkl~VUeKE#)gR1?XKNc{(h~^=Mv?)nVMlp=| | |
z#?#NIxcDFc{4i~Vz?7v{RFF|fNc>Z_Q?$B&7w?IF*=tj>UaGr}i}7Eg;c`O+e}LK# | |
zFDyB|{jz`LF=pq=^(+|2=`Aa`SNwLqP@xz6oma|i-Rv~;9u3!Lg&>jMK1+aApmMaO | |
z19I?_v5hb%`Ge4_OtUY^vAaW-vAq$T7C9z?xBRZ)KZT7e|9_W_FVia2*@}I^4rVl6 | |
zSXHW;NK&k9l48~Lfow#|R+P$T{BunGvo|5DehYd=nVeH#=CVwh^YEc@&%yv}V-d1M | |
zxVjC<&-GSITlG|UVKlm;d)gQV*3Me*V@jRezYYwq%}qi1UC6st3=C!RPn2ifCA$Nm | |
z=a$`&+I^{9`L^+N_!0Rn-MgaylJ2+ke^{3CRMPYP%?=H+X3kPowfc?(Ig5!?LE(J0 | |
z`04s4(N}2P(scbTn!}gxFph$14YL1mtV4q#op?K1Q#d_8eis)umPk|>@IhNA<Ca}D | |
zdMq)-d~zL?hL~)YU{PLljlv<3qA*%(%4x$zxj<YjJVH0{v*!RGB+r)p04t*xtm>kV | |
zG1Uw>?g7=L0qw-X-T5oXu!d9~%bY{3@4?9Hn?>G?^1Xs+JwWa~n;vBBdB5kqfbP0Y | |
z)7U$Uj*&j|R-c}y!eXGkBCdr68;H&To(Ql4k1bwEGKy`zSun>_ZN~#kK)>@c7gv}H | |
zo8-=q7A!|D(A+FSVVBEZ3XRYt-suzYMh9hI=ytw6>*fGS10)lrSaV(dIh@IUfxF{Q | |
z4PWmNKc-)5BwBxAX^ZB(w)MMgZxDP8kkjqCS+{q?4=TpPeO9~!4i**;>vU2nM$AiN | |
z$&43aXaHyZSd4<3yL?gGD-g_hm_6y9H~Ss?HjM3B{2@>Eb;Fu3QzPokmLzp)gbF{} | |
zNTJ~{NQ08Kzp)3Rk8xg>t$uRvpiu8R@i%2u(qxiNy#}&l#s+*1Iv5O~oSvOgNcjzm | |
zf}FqaE7V?;@h*)^@_gmD3VqVtxXHO1C;;z$RssGAkb9hQFo9AiFsy5KbDoLoqM3s) | |
z7gq8C4KCA~0CMlTo^H7yZL$PI<Y2Nup@<5c>k@)RSqJetEAOeoS?G^)nZ!WxMJ6!L | |
zNa1Yk&OqwtZ3=G29<KSgliH+GACT11=lxQon1RlIb88;=zy}SlIM})^s@oouvX!=` | |
z=!&{h+u9m>ypcti4FuuwYJ=^r+qbR2e!4^!lc;ZV;uYROwId~sO*7YB5}+&Tg3NN~ | |
zOA%)qo0hBC3)J<IO*kALp}O@%kH~kD8w_7h8()n$?-MctCB5olIx`sd(J+pQ$^LS{ | |
z;D2s;H9#Psv_<K6mxL~!r4k!2G64hYrA;Lc)t)Nj$@q5_E6i4#2SYb?9G-*!7BD>j | |
z9|7av3L^hU%4m-+sC@^9>G*c<h)^?#RTAc8Q}^TiFq3}sF5Vxe-(SG_y7(w2U#^Od | |
zx|b`w)DNA6j^A1i^FEB}%LlLbVsYQuO`ln|^<2vQv}AHOW+HqQm`t*t6%aM;e{#=M | |
zJ15!RP^PM~2&aTGrFup;X)Cp1fMIhIt(i_UvK=c&fre5!N3O50ZS0#xhr-|c(ODUZ | |
zKmmd&1;W$b0HlSI>50=2{Gm#e%F~)BWAZKo-}vSq0SY1lWO#%x#v=3PQjd8Kx`_1< | |
zraf%-S>;Nvx5VFi3DRD5L>m-{ED1*gDy5#)x{I1_S4Q8f%t7@>-V#?w_1hE){Vc?t | |
zb?j4u{j*UDqH`7O_|QhTOC>rzs-+Xj;-ptyH2DC%2<oxqtWVobbQsZ8ZkWqCnPkJo | |
z)Q4ZGYFWRUsHy$T@ncm%J9}vi#hB_CnH{rLPKr6rSb{_zEir19OuYM2Mpj;a;e*7t | |
z^~7Stqxg|Ta~RIpk9(iPtAzvISA8Rm&r-^vC&i`VJ<<7T6BkU^qgmmA%m%?wFz+xT | |
zpy1^C<{7#JFhPo$`dF61QkV`z##MMw+j8|P9J$E`o<kD0dYP|>vNKbEUi0X{<r}T? | |
zI6|WFteT`<ryV*_qf}1rkt!e9QM7L{n0_n<ZKryaz{oB2D#m3ilx!EW7^mX1p{+=K | |
zOt$p{(~XzHCqcds8ah|89QXQP3!8{`t(O*s{^XrylP%@k&~K|QbDi=%_p#r}5$j&K | |
z$<;@%SLB7}ebD5tvt}u;XM1qMR~!*-mJG)MYIou_VC5vC&07%<?Yc>GgT0G%uG2cI | |
zec|mPk1Z8&Y<FYF>DF3?X8WI9tC`_6nY<n}j?>+;Gj7IzBXV%P9MHlyT~cwvG>0iq | |
zJ{mlB;|a9|N-jP}SrfS_$vO6cyXeHT@h4nZInEOrY!()q*d)&!ZWhx@XY2<?99_{X | |
z9OiKYENIR2xo5aMdya;%(lDTo!O!cc`BD{B5%zT*VmCR~=Yj`C9;IzvEZ8)P<E+0z | |
zv}0ZDGLaonN8#HE>t2d^GHXq=v|k(HMGY{NetcSLZkC60FZY{~G~v@PGx+RMKhd$^ | |
z7I#fa@5js#)N#<C$~7xv(Y-H~GtQug!h1yn@pFpo<2kEa)N(k-BEM3xphMfDRm2hM | |
z=uXXN{T~@LBR}+sBQ0@1_E7G$)7q+<6coM9qkmP*V63%ek*q1W_49s0uz4U=DDTN! | |
ztiZg~)HnxLmuGj6kM9UmYb%<r!Vh2cK~|s8h4vtPp#DjMq4u~b0VOf7V8biMC&?e> | |
zBe6By>Apd3_Q)@)ODit~e~T_~_S9ur?8f_L6oBQJ-%=R0l`&z8m?SnEv1)}X%l15f | |
zqT-puc$2?KRlaf<!_$35?(ji47;5Jm)WEs|R1vTTWI5G0eYSX^c$2!<!n>j(7&r3+ | |
zTo_ykj`I=8L~hWoxF;0o<H}KeHG^aC3Sz_Dv~5;DTuc}>IIncmWo5F@x~!T8zv8p0 | |
zo&7Z6Jn*XKQ6j2#vEBON?%V!`7SL`bwp|k&w(upSa#&DH+%2-DRa#O`0mFl-%SfNm | |
zxQYM#Z9Dq|^QwrEznd3$k=lhSbxR(BiRx1wq*)ePUCG>q--APxj;BCj<s71^tAu`} | |
zXhqaY=y8z3oXfh)6<{KpT1pDop$%`aY3g`>s#Obw@-1)7PHZx;cY}~2T$2pU1+o>~ | |
zB1(p&zrSF6Zy;eDZWh4@&ztkR&-P<J)}%E7<j#3R?DyZ*w+ZX6cP3dR8R+|2UiLyU | |
zw1$(4<Z{o2rsvXp=eEVK^N=Y*N1t~$`uHxj7N4&zp&AbdxjZwDo{L8jf$Bdq6S*(D | |
zwp@!G)d*uUdWzgb&uWks`ILgS4>VASpLEjwEOkFGoD6I8uY25)$bZ~A@&d0Cr|u;K | |
znj7JZV2be~e5^7CjN07I7<L>Bl$35#Tb0A)9@hA4Y<3d%)%_?f>t=fT$~#hI*HNCu | |
znaFD4h~>A_1wNF*2{o^b@4p#AZEt5EZJ_zFc|n8M42uq;-;;;cJ}-MMA_~tNI{R>m | |
z%6yF!;A?*O(~Gn7(mCq<e!RF+GUKC_h4;e6<vGO$zC2uT-YT;G&^CYjOtrBbm@o=Z | |
z6Qq2M)-V!qIp)0Nw(U}o#O!?~dyc(=KY)W@19`TIWvSchzm9K0q%VRVBXK#AhN|k6 | |
zMS%KosJqj6tr{9M&@IEI;F;y`q(&|Z)Uqqg(~PVeUspR0uJ1m*NA~=9hS2Cv8|Gu@ | |
zqe<|L1B(-*PlsgJh!3i2GEz{KeJ-|MUsd&X&VEG^PY{Sbv)Z_s##Ipo*@k#Q)S`t2 | |
zKZ~fx+vC4}9?<^VWS5mfZVSz;w|~G>nW->r^e^ddOL+XDX|UJ7b4uP~j?fWTC)AIN | |
z_9w<uO7wg28a`-uN8OL9uy7aehEO&!U2jLPu%?bj$qPuo?w0NhpMM!Y#Qr1qz9ry5 | |
zzMNhMbA6lh<-&U8Cju_>C3)7-zpeL;6RysC1w8jP;-j*en+|lG|Ixt|P@%jIUo+J4 | |
zY4GG|(T$h(xb_h{cxzN-qX-+d<tf`|a#@MGNr}nRWRy!H_8(|uQgzoRFR-nUHNzr< | |
zD;pmAVYkgyZhvp)JhPZ5;(Mha+EvYt(+TqofO99P9%voZ#4=M|Jl6i+cX{ApzoBnB | |
ze3jmG#B?5tZ4G|Ith(rF6_qNpwq&-lMX+Lb{P>$<laD$|SLz@uRzz`Tbc&y!>#nBe | |
znjtQF6>V6|th)Ds+IY7s+w-G4>*S{6rz1j;X6xTh6$*2fg7u%+J64}TdM|l!cDV1x | |
z@O5NW^*%Ep3HkaE<xggPOy>UyC_n}gdeMu)x#2viojnJ^dY#;6LJF%$JDle~5kKR{ | |
zhm#1-phCvHcWWF*I+S7D`c$Yn)FOZ<geZGX^Yn`)N$1?%WP{@ZwPwxZrEyMP;wOXh | |
zS~}}!&cYg|h$F8fk669F!t5A~byc0>rOT-68b~x5=Td_~q!w4Q%b{B$5f=_kbnrI0 | |
z<ER)1S>nMdD}U(@pQ}h9R7|lnPZ=4P02bU7*|ZxGxnx<B-2Og7igq$LY-W$zlkCS4 | |
zgI1r)^V+^aPh~o4xuy_2ec(J0uDB=_i;lUwTeG_MCh~iD?g<u!>rXseDqsxXb&_o_ | |
ztsFa%X$%WTz7L!9ux8Ktx6M&A=!NtrtE2$Z^l-faHTQ?xu{h8<>rJZIL7cXELM2w4 | |
z+DBWS8sC){B;kT<nM?e(cY{zz2eI=%HZPqC!I}Ld$loVvI;jpRYwJ8zu(f$Y*MqxP | |
zov4vlMk*@F<t~Faxw3M{9!>4Q9;+AG`g+X0WWxlPD#(TOZm_E8{%Hm8w@%4=jT%93 | |
zJsfVbfg`_r>O1Vi+)@=el)F`yI~MNtkJc{L8<#AyCQ8x^cLUiwFE5VrQ_@j;@*f9u | |
z&2_}p)>jAbf4|mK#Vm0q*syPXP2TktjdXGtv$9+a?U6(_OnOevJuwsVhVRoP{aT+^ | |
z1I;;2piL>=hVR`Jjh~e`$BAzWbccw%iH=TAW9}8z1ruV(6C8P8dZ>5FbLijEN_Osr | |
zgA`Kfeg!^adve@K!YsPtM9liUaTBr@r1$%GBU_Y<G)Jf{emzNh7e&q&n(ik>29J0b | |
ztGw6ARz{yTMd&3zTA?n)T1Pf7uD(QT6juR=bzU%A*;Gh-NU58XF*X}+=twgpygYh) | |
zcnuA&tz(za(Vu6_G3s|ocd))sG$eAlyl_~vU=0s@DPI&%4HeO7l2(JqGBT$Dh;44L | |
zRK*daXg(A=>|P!S71km3B-E%@SH&!agIHnEs)uf3OGQ9pl@hes{QUDsvvyS<Ayv_6 | |
z$fdB`IC!d1Z;rxlBjSX+F9Y?_y1)EkeRZ|Y3quTt&bEsm+OUJ#mE5y@{R?Qpg%mX1 | |
z4SSQ1_XQnt$z`ed>aAuK;NjvH-m)DWOc4FcFb(DkeR6-U$D_4%rj%|qFt#Kp6l1wF | |
z?4(Dfd=C~s?r|)JRcrZeYEI2<t{<Mdw;tY?5mZ5qt5ylLnU51?u!D-1Sw1rrLToDf | |
za^Mfc81ldbuzu!}NntCdqiG_tl$TxM=l_eiw+@T5=@PtgLU0J~!Gc?G=>Q=F3-0d0 | |
z-K8NAAh=8L5Fki!w{ASROK^8<+`9WC&&)gf?0hr3v)9hd{@LfQBPFN$R9|=h3Xa<b | |
zbm|2;hCHIEOkr%1XM~Nmblhu$SeHCd?zP9N&}3d{#^j#B(9@leSj04-V=fj*^YeKK | |
zVc*mq*#jUBVZqC<wvZZ+i)?s6hShuPV#zdiq*c&L%u0r;LCmiQX=OEDR-_D~n>3!c | |
z`2#oUM{!<07fs5Yd>BS@V2Q8*O$q)zJnr-cM*&gJml9ga{Tgm!;(afp=Rq#!5kk(T | |
z%5K{`QpLbxTH2=_0&wKq%OkPj?|E(!Q#n<eA0HD%4U1A7yB>~QnT*lzU>Mb$_u5lr | |
znKitvO9d8F9ly)iIjjVAK=))NN_S~y#p8H%!~?fdDYG)su(b4CdXXY2l&7am!_Bx+ | |
z)|TK`ed_05GCA#WCE|;3H<!NLXEGRr-YnZ1+Cue~7dBE4K1^-&*O-C)N4i1d`3IEn | |
z+s&en;zy*j+_&q$0UA_8aTlzyz*m6c>O(dRmJMl0N~pf$)onUm$OR45ByaPo(l4Mj | |
z4a?}LBYgR&vY~W&P0z9YnO?*XePv@g(jnyENCAtW4yAx0=C`^ZJxuod7FUPto>LyB | |
z^8|zmYtsk1Lc5(~am@-n37@HCnL2xqm8V@;ia$%n-bNw~p>G@LV^3*;m$5$}USnSZ | |
zZX0Qs$LE>e%`R5f!CAj*QJf`8bR&jTQo}TR|NIo5G(-U4<P&dd==$?Q5Nrbk%z2Ev | |
z`$}^{8O^X8M1vMbom`LIW?!Q0x;nZo^_yw`o+X=rM^ql7J_~q_ewc=TCWFH6o^DON | |
z*Mhd5f?`owI{_k%#(o~e!rH4WC}Glp5h|x4m<4aM_03Sx?L$K)P|=9Y&4;zKN?qlZ | |
zx)T;G7;-Y$@?l$<hakO*l!sjG&ViOECS67&`*}4HPz1ocafMuyYlRx9ELDgSK=yzH | |
zG_FF{_ra)3bKK)(XxHRO?$`2NI%o6UlO#4l$)&WYf2mZy^+}2=&It$3e0V1mZ0Ne* | |
z`x|895f+@)6v>Z;QVlOY{uIqDUe2pT&0Jv&JC8h)ZK}0gsQ<lflX6Q>oXpIr-woy! | |
zI!w?#)^7-mT4xoT+#6gn)w9HBf7Z0u^LZ(Z!u|&`j<4DaAZY|REU7R+;??$-Y65ZT | |
zqOCrMzGyOE^^vGO1Dwp3XFj`^7;N9W)$9G~SRysxRW9TeKe2GI8(acJbf@tz7&;)K | |
zJz8S|uXDhQQyG^pR1Q|ot#~D%p~uswW)sY<ED;@$=0@42@Oj46>lnNw33fAhB`A@W | |
z=SUMdDlWa8O|d)s?u^|F%={A2OO9rfDG*Tl(>8l!&Zl#YAZOIgZ!1C89UI5!Xv>?J | |
z23fR4j=-;rMLoS6E5!J5gJgxIdVX<JdA`oJ$dpn|@$_AE+^^R1c^E^P+A3|pMoF<1 | |
zp_&SoR{o<gY%)zLw|2$M3g<@p$eQX6nE1o4Y~It%6#VO%!9Ke)-;a9j&7vv!oPBMZ | |
z4dXZB0}+Y%a4L9$q$K@m__tC}7LjPHE<-8gF9GdezSV?RH1Fs|UhFSj%8*Yk;mvY; | |
zZw&O;%2esRj_;3pB+A6v-{g*uhT^mJJur3XD2Erx;Mz#1dZuclt5n3S)Zx!`gds{C | |
z&NU*&0o&J05gvxHu;#tHxBHh>0@-sSF1p#KH0;)#I<||BSWHUl__4^TvI=pM1#`k@ | |
zjf3zg&=S`v9z-rWq14FNmg!IHr!P`0=ekRf*!^hnOddHF&=J--<<NR9VrNIbMYdZ@ | |
zYE^l2TG(*2nG$NTS8f`Qv_5ZDtvw;B%})F)=5)FMbkIlp9p(AwNIt9&ccUzh>voI< | |
zqX3;uWC*0vcoC9ph-OEM&^Q^%#S(4b__!ULB{_^EMUEBeY~D)6dMuz!v79JxwquCi | |
zwv>S=VK~AK_IP$CWPR<xXSGEpllJTG@_Mm3N6Hs9&V{g-q=pp8I?EleG{m%PcqzA> | |
z-uE4Fs_nmD{)uMLBzTOwDg(`*F`v*Kv7bh>h*vQl>0y`1NNtM5##yKI(~Eh8TtI5a | |
z`;as>qVHg|+sEps@o)Q=6#BQa?tjd!E~_=E_b06M_k{wV(b{T9FHcB*AK)WRnIEfi | |
z;6NOzyTw%SKwrW9Sm_>WTcYRrYhRA5uYbHKzc+E8C5ubpheBLj!Jm6FtaI|qkS;=F | |
z2p<XKwxjwAw%(yJ6H{@k6mL4T4RoOn6u7#@WeSP4Pu#4b#AP~5{A}T32Y*h<glthO | |
zUjf}aQC*Sz6INARC!}9|BJn5n2M;ctUG)PVOQ0Jh5~s{9r~bR5*&-Ira#t*xO?S(( | |
zj+dhnhwM}y{Ye*dAeaX^jbLq)PhaVd;Hr1hu<xy4Oo&L!)vP{ytkAMpfE$(I2>^aK | |
zX8HVa^Eidq?bB6wOP37m=AleY&lm{<%aByj_Z!dE7sQ%f$v4{`l7l?Z@{FGv_GJ#6 | |
zHrVGOV{iABYEe1|AIIr9wfJ)A1@o)c+us}EEz##%b*XzB#^?=Vh^=G?sN|%JK`$u{ | |
zw{vxFNpq2D9HP9O_8*KgG)+I74SYu!jcxRD!464I<NEbbtn&jy@KSc@h1@+{F}-Gp | |
zAImwo8~f^WI@>_9@sbK1{T^HRVd=cNZLMZC2W(3k2O=f~P}nfVdv-jW4!>w!E%j?P | |
zm5ZW|+}Q;@WSHUMlEfZWHX96Uep6eKW}+##smfi`zl`V<=?X%2?5L`?bys=2K%-3d | |
zAaD)vCtMa}@{}>tp!xGJY?oT5-9k@m*SCE_;vfH70_-!8xZ8z<g;^obgVe|ob0jn@ | |
z9m4NmnH7Qst~u^E@J@2Hju?5`d%5#Vf`AXXVxpsDhQd^}Nb@%?>M1{|>9{wKm0Z9G | |
zd{|PSFuQkYxted)<Vd2s%%Ip?7*TbmAt{10S+J28iw=$1J9fDN*Q({v`NnNwJTpvi | |
zMlZUb;8KuE{$;9DQy{dgZr-?RgN@(^GIbP0SD|Ok8gGOy@E95}JBRA};W-`ea2{{H | |
zp%D)ONKatwxe-@l$?-S9Yw;4#r0=3!;w9IC^djYUpFCINEin^zeywdXW!jhCi7Qx7 | |
zF&2nm=X{1n_H07XD?`VhM<U8)&2g`F2Pdt<t{Y=Ps@7>dpL^d>b*`dIR5kAIN$RG7 | |
z53I}EV|JygT~l9nw18t)u3>BF{Me7GvWjvegBQgetZ4+!p7d5$YiM(nmQJlFEoFUg | |
z;G6H*ST5IoGY3p`C!0{*wV)2_XXUD!QP!Gn4&w>=9^Y3^q%W+BNAL*scj#I{@`nX5 | |
zCqD_X_cEBadZ4v2AXWlz&pOdajvsgVXqF+~ev$0N0}|005=}UHZMzTGX77sux1G3c | |
zG;6h4^G&m(pkLi7zS6%1d@hPwDj&)`=p-N-2~x_`$Y_+5<GQH#dR>kk4Tu5WNZJhV | |
zs3!ECDGA2qBa;)9bCC9*vif!KLCA!zwV2i{7R1~zG*a0<u3naZ8Z;d=tMG%;`spYD | |
zRYt?I_$qaMJZerqsra12XEK88E+RrqRl(EWu-4=`C>9S5XYwmrbCJqQZ|kGL*R0ht | |
z7)|q+evJSzG7%le$aKGKQ(9&vEK-$zC!s~JmfsCpRt9x@U*tK}?5jDN2SiY&l#Y8u | |
z6(lHnuwhMud>?Xd%U`;C4JLc$9K9m!Ui=3Oz}eNzV6y$XrkK{{zVwa(DG?%KLff%^ | |
zI%Et}n}CnS2P5}2LmL*SQN`DibbPBB_np-vk3k;mbbhYK%ntQ+EkUUryUgCLLVU_? | |
za`l*rHE<f{D6yA;?BOeW^2>Mfy&JhcH8Zsw603{7%(-jGl|E~P?|mrJyfnP#qJnaN | |
zy?oyg(^%=<+v1y#r(F<+I}Pv`<M)e|A|sUG{)J34y-k|Y%Iwc5X<YqdyeY%XuomB_ | |
zuIqW}lr}-n%yyb-uM<mdGTh5l)4p%{FyK_XHE==h3^G8X6)?&_GYB42_f?Hc_xBxR | |
znE=FBG8p*o7ZUUz5J0^Jh;6Z`No!}@6|C&5DDz11z*uC9Ugf#Et5v}`X2(?fHBfxy | |
zTq<O%%F7Dg&BR#<UEIpOnvA<(VBM!;^hwngk?ethl9#RnvG98O*l8Gv)1yj@k|iGg | |
zF=&YM6#H|GhopxtY}HJ@zD^v*<L&$4(Ad~G=&~npr;(|4c8*I;a&-1fo1iM43Jn1Q | |
z1Y!MJp;LYVgk9v`CA%I;Hz9iKp}o1#>a)hVlSdjnyCrOZp*u9Gc3W@6_d9Hd8I!zL | |
z!huMLf?O(d85G;m1(ze@e0??0&YA)~7-5Fcw264E2Hdca3)a)5&2>6IO8SpBNcmH@ | |
z3O)<LzeF8uX&pqzO1EoX-(bVAX_!0hJ_LXgBvtL-Zq~E+<$fg&D&W}2Yh9BCOg6ou | |
zK$C8E$eg7g5X|{49Y_+WOMR~wAd>S`1O$E(O3K(iwpJI<_fKz@QT`r{F?hjoa1!8Z | |
z9&umiVBqvgS5}O9*?Ut-Pis&4aYv9)YeOFJTiZx(4dTUhhlJP|ZV65e41`3%i$q4| | |
z?er)K9cn2z*j|4GewT#*(g(srpfkKf$d=$@k?KxDM}IPs5R)Gij-*S)BQ&qQl@N)* | |
zFKu#@AKBSLAV*1Wob%8zC(O)QRT?N_PwTS1C*`OG8z=|@uWQ4bj!*oyuChk8Qge56 | |
zg-pP=S3x8TL~|$~X$*kByTXarIv!4w<{<X(@X^Cm2spjJ91=VXhW3K=4~Rm@qvH@g | |
z?U}P9YJT65%!w?W%_NTn&R!eNpQb9mx^Ws7FHaDBZ6qi3-bg0B92u3@+qojZDj@`& | |
zM^jNLXS(eQ`tI%47mh;^jp_VHdS!VhLvs8CX4eS760nBr@|aGS#1GeJ@+g1j<;(M) | |
z5q)?PBC_K^M&h2(L2!&fQNYf$I_72@lX7C>$1lDJ1;-ivjFW#P<VoKd^uAGpKh|m! | |
z99<#f5Qlam>kj3uh}CnCvb~a%|MrLf(6I2ZWU0&%eeu<PsVH{<<5Drh6nsqh5NM!$ | |
z+2mc5;?}>N*<SN>1bBQ}WJOfxZv!S|+VBg}3+yUPnJbZT#8im9EAee`ME3YF(p?LB | |
zw4(b^`;rM`wI9fe&F`s*Ns_!IHu0GX`v#X%!+8w1I7>uPPJAXX9>r_8a~+6t)v0+# | |
z#1C|JbCY|kR7fc7&wTmK^@J^wi=Da$Z(j9(unA^)yB;JdtU0qm16+dW#fq8GdgQMb | |
z^kD^=GuE%0u^Z^*vm1y%G+hew_Q(haG6`ZU7opBR^>J%1%2-Zi+q+DHq5b|=5aJ>n | |
zz^yqf2{?WF9?xBLtd~iBY9vA^W&Z=vfSfz-240IYPDGtWsSTd1^c&CHBY7WpzNv}T | |
zc5MdDOSnSlvTjr(uGSOeG`f0N{<i4vmf3!`a?{a2<<JIs=gVg$rzVDbsCXX1taxar | |
zCx+j;9!6mp=VZD_OSy8D!{Bgc5mk~id|E$exU1uY?E>n?Su6vTYvW&`o%G>;*ctS- | |
zHO-pSkW(YzP{lQ=8{s!VUn}|SVx;;HiO15I=K3FrI-{Ii-COaX39CwmJaLExzhg_B | |
z0_dl)+}U)OP$h<v6vzTD1KI^$kx>jI#cgs~Ihl4p^yHwC+}Hre>(<s~FLfp!9d+-F | |
z8u1|<>YG0UwRn1g8v{b!;PblzngN72ks-I~XmQ%lZpq1W8q7WX9dDKboPq&oLCE~m | |
zT!9d`Rhp_wlVE9_nwldW!tj)<pH2bl5IFC73JM#rZQYET8yVSWmbp$1Yw6OyrKFu2 | |
zMSQ{byfbO>xM6YjW>HBXpf)r%#d5n?S;b!|$Ril~2zHO%{1)yaDO<ENeZ3uE`_Qy9 | |
zf6?{~xH#mp7H}?t0E!I~5EJ9XA>&hpg#QW>Sfr_>IBMQC@>RzGiNTK2(LS8rS+JW7 | |
z^R8itI`SH~eHu<plt74ltrIVhTX`p}?6<54m}2(1JqrhH1R8PezQ4rG0>yiEIHDQ* | |
zom3ZN*>1zuvCD}p>g#UMZ?0i+%uAm3R89bR^Vr=k_eAkcYW?R1U@H|LKDs3&!&I}q | |
z3O4b5o}`L~4xnTHW>M+#72u$2fur#K*5gIBPGPy}+A))G+WpXRm~N0$TJYB!n^v1_ | |
z`RH!khteH}=7|jv8g~1TC7|1*Zx~{t=^Ls$Ns%MB*5iiO3XEP|`}yLkAi74tKpy2B | |
z|C_Ikpnz85!*UZXX7dnN@Y+5^m}6nWOy~Csm!+S_{W)?~`u>fgAXhE-8uL)uGXb4= | |
zE26z(B0{c)8e`f>zaZ|h%;FD_+7JuXjaNLf;^Pyk>Hzi8zjlic|FT=W8xi`G|F-{- | |
za6AMQWfc?m`6y*EFisF$A-r4Ui}~u3qer?s^ACys^@F1DU%Q6TKlTx8a{kRfJ4>1H | |
zUlPkV60NMw>7lT1oGY~%5;_B{GgA)xZG*O!7ENj#9ec!Ky^In@qG0wA8-qO+?*I<O | |
zS{(O@ZpPwAq2{$7=ba2|AH&Tr7$4q_J6#qDehFNf<sK)zSXg-1_)DEJaEzQpIY+1t | |
zup-<u(CgT9VJ4R4q9Wi~rd$!UoAik*U_HteLQ4|jdM+c8mU5aC!W!ovMeY5#>Vr<K | |
zlg!a0_!$~_XwkaY)BCP{U5ZATe=Qs)36Tfa3~@P;aGUA-So#5yPoqv+?7S0y#j?IY | |
z#yU%py|V<HxQPXn7l{=`D`vR1_3f(ji^;t86*pD5^C;XXeY8zGr{|id4%}P!gwAzn | |
zO?CDG#hNALa>B%JRoYaBP9yK1>XClw^9-gBveA(0y%+vsXJBb^On{aF@d8oH9-aAS | |
zeQX=qY!0!mp|Q_)iftbo#t&eHY0wqg+GYqZmB8CGD2*}_KTs`DaUFKz1+v>tY3Z6H | |
zjc-jKJ&)(7Y%`Tm9n(36c08Pn{YGV$b7fr*;g&|jsAxHed~{C`$hXeTwk|hG4PG&L | |
zZ-kGo+;iU$BN&*Jil{v9PiX9pX&CKvZ^BsSzH#0PkIcu^j(T|zcB{pg<xu~4&Kp0V | |
z#A+MG(Ks!z<j`ms<;(ZJT#kv?_qZN32OEREAB5%#1~>84AR743DjBgn?*}M_m=|91 | |
zEIn(J%#qmG=LfjxG+2=3PAUnm+CL=Rj(a@!U4U;yaSaFt)4_-{o#+Hv&UFPitWJRG | |
z_2xcy3ymGy99V_@Nje{n;7%m$b7-AX<!7i~#r_X3t{`E8TOQc2qfw{K1^f-6nPs97 | |
z7wKn<qo+#)=9~KGI#c<vxMY<IYg6tmg|~`2H*hLX@74#fi0HgGVboR7po4*R94(q- | |
z*XDIZ+hAkb(h?uwyAYg`RnV$@L?n>4yjk9-*DOj=Ig;XGD$t}d#WX0K!V!<h4+qMg | |
z13wc%wW=+zM>8^y=YM5XlgK3bnDk*#d3FL`weGv_;FLn9Rs!ca@mqZ`3W!m(RxaFJ | |
z<!D^`W^*6d(_SGRY=?XMrXw)LDi{Gc%+pU~X%2_q0O2>Dv%_^vI9c8?!MjChL~Y8E | |
zz&436hlgV?l~v=IV<x%ygHNwjuD_9NdxpRgWUUVF(zY${cy2$VBfG?8fBT8YZQqn3 | |
z3x(g$O#(NWByr-k#jD{3%VrO7MWYY{)6eH&G?407S22Ps@z>EuSaz;wbcnI^!+ciC | |
z&RYHMy8WLP%XKH2ErVo-wjP=T$ac7O{d%l?@`xwjX|edR$K;`W=f|2nLNXkCGsipM | |
zZLEH#k;qU?An~lv^94(14`dnGi{fO3FEfn|ar>;>9=bqR=KceyC2MG|d*Yh?`ddVc | |
zbs79FNU~VhJho*!VYvTj4q@SaQua%mvk6FJXb+b)iE}C<v3Okun#@Sm()TFcI~Vil | |
zr2Y)+Y*oqxNCmSpYjKvVD>?Va1&^%(RDrh55288eI~B*M4qow?Z?Z1E0(VDiB%}h< | |
zVo!7Cj^VNJTijk{;dPXl;7sN|@U*bMpFe^2CNY@^Y>|X4p1oh2S#GPiSzyT-S(9Qi | |
zI-S2W%GD6VTdiK+BeHg)&$DxIKdMbvFg#kcLK&LiBr)?TpjJt6s%Fh%C}w*%DL+Pl | |
z7w#?J?^+O`)7NqSaPV90gxQjuC#P>83;l}|$tPZKT4sN-UeH}pCPUqJ(rM&Iw(P0} | |
z+)r)A5H>ro>Pj<=z8AIiZfhrVy}*eNlwS1f^(}jWplm7iFl(M6*I6%7ZnQ!9>X*LK | |
z`Rh97w2_VK4tGua0o+HEYEJz*u!KuGa*^1Mm5U4|H&`ihNA_S({M1Le>yogK#*!b} | |
z)M1U8`vZRZYq!&CEMwEMWA7WLxX)!j>aVjAh^l^%7f<#l^6v#jNc<^2s9bdYtB$|( | |
zO?BTBM!qcB3_BlldN2p|wN5uR_gmBR1PQ7_SKUs<kE8bmzq72Z;NAaLS4`+5=k{9h | |
z2ygn;Fzt)FztvdtRp&16{nrH=LAP6!RWFMwh&NePFEg#R3E2G8Pc8{GWEZS1C6EL4 | |
zj~9l=(OV1`2%GiD<wPzAHy<3h+K+h29+Pjby0tb#<aF-I=jPO%VX*bz){S07$oual | |
zDVtn$zh9MHN3vCX1Ulc_9DDHIMl$a%feW&mJ#jYy>~@nTRfw4FI}Qeu#&bEG#)w@n | |
z0u1dC`d*y$Q8?OGrv28`VGE~#s#-m4^1r$52Y+bWM+=-S&p4o&!}F#(g*}`q59o4E | |
zs@m3W&NT1y740G#gLiA;`M8g_{eVR1y5F&7n&H=>3W+lRDk(h9v&gUgx1`hEun;I- | |
zEo~Ke{npzNaFMaO>5;TLgeA6C*>cY6bNu7TIAFW~jywRvhBKu`T(wy4q&;8Mau5<j | |
zaZ~>sr>hKuR0tdt{7A!K{2n|UqN-oq@tk%s`!yL$V%Vd{<A^zwWPQ03otIBWtsi=K | |
z4CsmD2R~<068Hle^D7jef~|&%V1CK|i8HBd?6!jTS|d_kBl*A=OI0(6VXsZW{Ogg} | |
zridp`Nku=Nrd!llCBq&&@-QbDU`6rk2x(YkjW~d~g<4u;gd=c03hAT!BoR?be9&f) | |
zWVMj8i1P_Uu1VL&*WBoXX7)`O8$pOUU1vql)OBm!%ppT#+mOXR|FNq8zwMisU*4r& | |
zmc%VJt(PIr$KLm;lGC_c?x@$_F~8_ePI(#mbS7U7i9wV5vL71J$&%_;24tT_6|+Y1 | |
zj!iTk{_&>W<(~PdO|ExC!$b7A{3>gX`;C9L)GH6jHrFm9T3k|kDe31`W{a~mSKZ-L | |
z!rb^d1%}Go{!4u&dH^XmSRH$mJEB7;P*I`d@jUl%m)hk5lcx2gCCZw<NVV|Qc~B5m | |
z&VY<@dp6l@6xb|kUWh-jlEHsZnr1T7VOV9q2hZPth=OG1R_rCZ|At?RVpJ3>yQc^A | |
zN_~a~-RZgy3$4Vi!Z+^R@G>cC$M>;&BkHz;pG06<YK<ASM@A@jgO*d^!^n)6TLw>k | |
z-Mt>_;@%NWj`-Xy3t6}7<*kN>sm9MgBU}wlpgq`6t1~Zqk@90eW6nIHlrFF$X1IEm | |
z?|7b7h7sqAi$Bj}Qk_SY{}N<Ckud~~HR#u3VRhL9O2en1xVdU|SI?U~CCP=}hoE=E | |
z(r&VbT`GtEGADEd?1l*%?}GegGh0<oKKC-3DW@H(LTV-z&lkhVgnhL`3MlWAd#Q<# | |
zzsdzZaAR^ypkuueE<<SJ2zxct8owFd$I5CMI5_4dJC>+TU_X=r4=FE=>qJ`8IS<2E | |
zUujxrLT{jtz5QBh_PFTS%D>z*uzP5c63~ok+qmG%*1lg(@<wW-^<-GN=;?6y?wD*d | |
zQGs)UwAyhjF>_4r9JYsMGy5jmY3=brNp~JYFvXx(RKIUgd8n996{lxVIWmYl?jgVx | |
z5Mb@S8gQdYRLrnRWhFMljI&p41z^dwPn;8GAVxE2a(F6^$!S8cUAmDzr%MLiHiQND | |
z8o=wXWBr*yX0s`gmV=xfK7q4j9~)h=@q@V39=D1~ctojp08^hLytz^{IkOmi9vc*I | |
zw!<<oyes)QW8Y^!cw1geQXs$F%`y!-&-FhaKs4LlD92xVvnWs@IQ0sIP5OP#m_hu$ | |
z2vG8k*`-^XSS8RNlvGJ`7WVM43g@ztb<pWYj4JDlMSNvX*;YNq8fzC&QF|>CscTb6 | |
zw9PUbQT+KmJEYl}*nj1w|3Q%~kgMhFWhN)5<=Q=(_bxFMw^nz<x_|BLa!UCICg`@) | |
z9g!$d#wRcDr@>y8vDJuMix3Bt36v@dyZsTJ4-1FQElWGY4p(ghlIe5RZhka%Xa1Q_ | |
z=||YXsfJd0+b`U!O8#+m#v^B|#8nB!Js>H&(5n$vFjB<Tnxx|oYFTkswAV?G*QQdB | |
zM>Gc5v46qshyv38$w<wDVJREiU;@p7v0YxV{QUYb11KOJPypW#lBDddeMT2q!?Y== | |
zL$EsI{g5;fiZ2^7!6+Q)&xqJIXd{k%*1|!zz57Y?ULGm)edfr*N#=QgZ97>~Ce=7_ | |
zR-0frEE9mmu(rd+S;HqQ(cf6hev2-)BI|$7vZS$C+_;B%n(gMNmSf=*cO%K)r{mWJ | |
zQSS*YSysLsTv{BE5>NkRozQRj_507^m|GpxrdmW&Pl8NS?peol38EJdtJ5WO`u1Po | |
zDV5G>K{8!_SHpauY3EIBK1Js08yNT@YMf?n?v?$SX)%?T`{J&}1e2IYpGjB14OA}o | |
zrTHMU7FsdTa1WD(;qnV}cAocqWJ+Z3ZFAN03vrvm4JwNSDH90!ucP0*$9%~^k_@6C | |
z-vystFW*3;yFu;J6U-L!`cL{7JhLZfo)9`?lJ~l*+GmJx(Sbw8ovey@0jHZiYoecz | |
zLmaK;oZsKE<(wTdH+|39{3a*T{l=Zd*tJ^9<LuSdXL#~`kCf$7Afp|E^O<d=zmoLD | |
zOHcO6&_@T_Q>L+=hw?-eW3k)wG*G!i)ay2%-5|t{M3Y5tzru1^FzhBFU_6(dDbUS* | |
z(^}#&zE7&naOHs-UW4Sn&PHL-8Mt{FiE)`;G^C6E=iQ7tC=u6cQ2!h?9!2HJUJ;^f | |
z|LM-JL?X~vNcu(B0Ys^64Qt#YwV@_dk8a61Im@;SUjVTeIyOjH_1FIp$TsXyz3h4p | |
zv!k^PdL~TVf53GF^>mv*O<P<K@?HXdGL~gdC%LxEd|>0;_~tSX&mDR&_J_Wi;|Aw- | |
zHsAIShlo!iuHMIb7L0q;qz>W-C=$k2$xZIMLJM}n&igy^vp-YW?g91qwE(yEq6_jR | |
z)>7SDk(rq2P0TEzj$N_3gnG8tN=Ho8`G`wNFQfz|`^zyn>T8)i3AMkL)Mz1E5u3aV | |
z9%aQ7xf0Sp!>eSvbZ|Coy2;B25(i0e6;_<-K4ZjD>o2dqO+mRU-ypNrB2$#uvcgjC | |
zIA&5Jo{_U71xFIaK}zVBggBTn2|6|bD-#>~AQvTswui77$a<9E2b~!5+;;|=Rv2J( | |
zxNtYZ{#gdk9zKnrncvChl;+ivsA<W#Q<lvnGirn{z5+P@k3(S;U-?sLkaUJ$n)v%y | |
z>>>LB-w^NnmL0-0iE*)RejZEa3jcCQr#p*<&sQ5-THYO{uk6X|hW5$eR=>v|3YH`{ | |
zBr_mZs!jI{!KP{~-Zt#PHUb6r&r52X1_JdylkrLPS;$zkM_4Y7ZOtHFF}grnIs<bT | |
zDtoO7>N(VwjXdux-MNsdZ1`=f9jewrb%Mi9lAuVih>lmg$D;D_4a-gEHR#bgtrfSS | |
zgf-DQ&Hr8GT^`qP;=BfNYUr@1|64$rO*1fo9SLo*7tr1l03<FmQy|N~(X6iKPMJN` | |
zi6TRc8}h|uhZBL?CO6Fx4p-rut5AM~Td+0jmu36f5u&Ki;Hna%K#8-!3{+a3$9_rj | |
zF%6TB%U&*F;t(^@)5}rMOyKf6;sHem*1Mj@(Pp~7@at-Aj&b;ecEh~uMV-lF`Y5r_ | |
zZGJ{5fc|;zSFb$G{LD7<+0fJlUBcEcvL6v{7(S0Hjq}(^DIAx7S?-~K9pslNwa2uV | |
z&YxfCIosp7flm$=m!oqhbRYgYt|n?{CJ1?ky_WMGuLVQIO6g-sHh*=dcPN^(vf8s{ | |
z6slULy6Mrc^Gae;$bT)mPydTW7dMV@BKJH$Gw;7FoQY^j!~hP&5R`O>H^S|u<4Vhw | |
zUnKbHb22zPz+L4!3TywpJthz|444j5c9mO7D3K-oLg3c?L#j(#FJuZ0!#`2MOr<fF | |
zn}BiWGtnwKhI=0EPg7bkYx0l8#Ag0%cb`~56{fU;g4RPwat)nM`+hC#ww8j?o_yq+ | |
zo0;oPbXzgRPU#SaJ6RIgt2>lxjX3f92*sJk-{=OKq&8Kfh((XxV_%pz2CA8DfW8Ba | |
z99ok%r29oU>U+gX#~sXLb=A;nXZj8M%Ra#>_vf`Vl7k-+jQM|T9<k)U_{w<t(@k2g | |
z%9~J2qoUd=RoN5L+An&NWlfs*$Q*FNP${d#Tt;r*yQ8jLuL%?Uy*08yw(_&0>by2E | |
zLDIP#_`O^3d$sqsSON--TF>DL*<D1;>4apG{qepC)6ALY66<x73PxskB$V2xfcrfs | |
z_rXxluCLEs&cc1l*)DSYj@4~-Ebz-R{aWR)wsw^$oTl%{JLS1_Rn3ij_Zbs=4PfSR | |
z!UEfs>~N5&roHZ?e4|Prdr$NE(2+hw3#0`@wt&Vk=lXV?Z2;Z&1*>uc`^YMgFM|C0 | |
za}HTduAEajLRH#!RM6bVVIt;89wR^&dNlhY1yD2;ca-~CC>aY`CfZvg=wO{Q<<joC | |
z@(ZBF&g<}<qFARQH3h09Y)JTh<%5<nyppFG&hUXCMLfnx{&*a&f?Q5<F30&rGo|3K | |
ziPoLMFt)+|K*4bKB$Qkh>3W}>9)4RATle8tTD{qf%>VRY=>7k{v25?$XB?0APjz8W | |
zWo*?Pq36XjO@Te(l3hTc{64I$tu(m)(r{CWlczJI+KgHgwvgLTu~FQ@b=XkBm83AN | |
z0@uWTf5rX-CWxkeo~%&mdX=bo!g_$MT`zt>E}+IaDGlDi87T#!j+@+4<&Oq6JInY! | |
zn<rLzv|)~*|7TF@*g@+cd#nhhJ?5*x=X`X!$&l^7`UGth^1B{G`qMc<xb@HaubQy^ | |
z+^-=2l?(Q`^6x5vx)Y6eS2NmzaJ%O1%qyd2qYFXcg`kX2<YSZ!aiX2Y_SVk*VWpjg | |
zmUQj?_nAy!B56Ux%K&Bn*I{PQO{T<n?X=utk~eoUogB5iC!)xGCRZL$;ZS(&^Qm7C | |
zCo$}$bHCDFeoX^CZpVl%JK|)BHUEYOA(LmAj{mY9ZBBZBXFZm&te7cMpI~z_q5y}` | |
zWTwDOd&jw4)6;+YowjS6|5A+Hp@FT#?Tnyb=U#Jp!!UV;oN)n<&Tca)+5(NMKE)<E | |
ztL1IygCipFHqVPL%QS44;nwnZ%S*0PBW8Z4wHuLagH1vF<K2AL0@?;HmTouMUa!Z1 | |
zofnzF$Nm(GjFNG7OqwxgbJ&Dn#oh7gS3me!{|?b%N1LwcXQG}E-K#Y4AlFPyQRrpa | |
zA-S$jt<S!K@j`k1?AMW1=rX)wTsOJf%B}ynQBb{D*~y6gI9%eT;1$|4sFTLS6yc^i | |
zwaj*{$6qLwCC@{Lk>@~=RP8}&nE()e0|czY;Pd8j0@{XGW$&!^UZ4Mjyz7vdaDgjs | |
zdJ!<m{6W!vRta=lf>Ld0&xlV0HR+)J#@FA!!BvED>)rz{fo096aAomdzTq%pDn_p= | |
z`~$3XOzrRCK@LBFKhb=y-jteM!a(rZ{?uJ%C4MJ>G*o*Tdq(gQH2tOAYtLyy)s=?g | |
zUzSqp_<b58a&u{)R<b<*9Xj69n`fQo@?3WBqPJ@FmxMOQxy^>aoF+W60Eg!ap^=iP | |
za@YAtDGrHPq@-s1?4T6aORh3xqMFwY@V&&$?X>}PL3HY~469<Q)rqXfV<#>TD9~{m | |
zSkVYq3C!Wj$$Ws1!=f6X9(n2?n(isz;(U;XaxL6fj-g9KajyUqSEpNUH&sKH?#Y(+ | |
z;g-3G;&0Hfwt9_9-X2Y#Gxt2si2pP$;$jHoGy>vmTLZ}!fRdMR9>tx#Wke6=-VgJ3 | |
z*vuO_R7CB``cCK5F`uKw5ZLJ;#X~`o>=neKEZkzeHjOT`Z}SwC@1*m2DcCGnoZtp~ | |
z;LqpE5?gCK2xQ#zKE+g-Nj%+e8uOu7O)qDvzMsPLXZR=<K=3o+x~I@xO(^f-NULyR | |
zzDQ)WrxPo#LIy=Fpc`Th5rR?r=U|h5T<xiUIhMVD4}|}W8(J1{E<s0EGTBEi-Mziq | |
zRe_CjWl_ZfFZ>=av<d1s{jR&zQrPrF&1^1rs@f%#_y`=(wO)O~(-C3&w*jY8S1Bl; | |
z2xmG~su3IBLFJLS6)SIPQM8o!lQF)~|Hrtn|0aEP?WXpM4FmjQ|H*d?>whwd_P-a7 | |
ztMdvC%Ndqp`SFo^F_<Wl7A2MQ|6#0ULU(P;+rF=sXE5X09Y3ZfkhSJ69Lzh9Wr|JE | |
zm54H#Ke@BHLJnd5^#6byY!Uluj63ghGK=qzzp+=ZdkP2t#-JrD4=3*lELPTi7YkUk | |
zRG|NEE7uR6ImUD!`0?tlx-LG8URwSmF8|-Su{li|f8)logj}ioolE;gA?3+g!8SAC | |
zPR^|pbyx7PqSdH&Ggg#|glzqvalC)y;}WK^{!QDm>VHS_{V!7u%p2nd6UwjJ+W%>B | |
zVAC4?w=whVZuvX6S6nZR=Whezs5AFBZf}X~;eU((eBQZx!jd-fQu?zt0XLnXp=gLd | |
zc_o8JX5pv=t6N8rr*zE7U(Ou<Go1aKxM7QPa<mHT=PLGXn8aUoPR8Go#}bs-{Ecu6 | |
ziH$=<Hf{y;Qo1dhOmsI@yL)Q5vAp?V-qPFp_$%9iXH{2$jYU=ZuJE0&Hkl<h_OVld | |
z)gIiJzt>A}Ui`Z&62*5lJCAhWa%r>z*_x4Qx4<-91wKiV8V{QTn3#x@fmSwCTv(7P | |
z5h)t-;kZ!a`!0e>xHN9#i9XafPP?x#=o`+9#jay`k|j8Zj@^iC)kqF+Sq0vlGtN*` | |
zT_j&J{gngWqDhv<3vTZUb69Tx-8H_y9umWb{FETByr)U>f?DJtQm_aZ4BXKFVEj1= | |
z=HEe=XJ#ihz!SOw9_B*#3mOAa>c8`R?$JSk6q|yBD2k-Ny}3;?Yvk2y>2v(GIH?~9 | |
z$lDA4Ol0b=It|AIP^pC7bBWSix5!k%|GM=+sKblPKMZzbe*_%by9yKgksJX39YKRD | |
zCH+_kzjqRX!F~GS1G~S-(S}TnmDs2^T68&c?xZeY`ZNWt(-HLcA}6s`IJ@vd7|d=S | |
z4r_ysaT?y=<Zc+GUcb&ZRRJ41GZh_fe@TX_uhKAhaR2+5)d~hI(mLL?Pdp^z;}{{g | |
zLu+7WoorKX674@o*wP5Yg!ieL(+U3<+}1znS9~urcd_5j)dv*+lioJd|EZz>ONQ)! | |
z$OM5)_$Ey()RSsQv-i2{e+6$hfy|#VpF1ju2OwtFJwhu{Ce#?S{}k60{(om*QJXI0 | |
zKXuAG=O1nroz2l(7!MA_jd7BG8MQ&+Vc93Hy@lz@2>;s83*I7WwExACKI1jOWod)4 | |
zWo^R>h!lpTE-1Z`zEh`>G$vEE(b8`oMPPGx+lRO8rG4)t6j-d`+TOC>17cRf)C<vh | |
zrvY|;PalAATq>^Wv7azOO85cw*^({1<x<Q~3P1@Y25pXY?$<^xIP$9H)w+(W4aN;v | |
z6UAi|ALiym56MZd;p_L^Cj!JhkV<myU)gNOg<`|LTv*R&2CUw_TS2w7J}J({SjqNy | |
zm-P0_&4<#cu-FTX7(^=PQIRPM;5|mV7^C`+_>9+OtU`)*q{$NB+P9ELb*+6j7eAI~ | |
zKg)@_0we>BpXEazR@XTmRDSP%d-0^ncL^v7)}e@cs^j+HmhiZC;fv~-nua0NtlH66 | |
zV)D`thaT<6gw<vuM56gTd4KHXs6ui3K`Pm!sUCX=ID}6&3ie)MLxGS(csA2<ogSd8 | |
zF5e^DqiEAcvJPNH>fD|3x}wmW){l`6VDzO~7Y{<#`s{fpvT#BCtEZDH3~ta0D@DWV | |
z3M9B8Th=_FS@hVz(V+ikP@s7tN2!?**AXpv*pr@B`mSs#NvQN?u6P39;WW$n9f|6C | |
z$xmvFj~|kwsL4hAG&rMjSW91?B3KWL@bq==-~MaFD)okf=2^SgbmXkQ^0tiTmYY%{ | |
zpIyv8$Ydul`>AQd2X)bmd2>&LIdkr-svWk!48Hsy2BqOir8+O5Tyx$7Gd~Mml{cSE | |
zC^*Ic+k{w0e#5_jt=Dfy%L&aR0#15pVu8&g^x8MXDSjf#8Zr|1yem&nTuc9fcKw%@ | |
zmvDoP#4<aD?VQ1=(qCySv>6^|iXSu!G*fd2b_aqan>@7w5?z!6g8a3rfo0;?1wVdH | |
zux2LW6{-^5A-#xyvdP+QS?8+jZlWRc*In0U(IKKg3-^5qWHq;HnO&{2Nu})@8$Y)E | |
z3tgAF4^OnG@*f^+nF7FhV;^ZLuA)dXOK!gWZvd~u++a40{}aG#=8oFm0I#f6_W)ay | |
zOKQF&csE3lORC5(%8S_Ap80%L)feF-ef`_Qt=Ja;t}6f~T*a%vj&D(3k!1u3)gPQ# | |
z3A-()n1m0lETS%^8g83DWW9gS^!OeLnK)K@bInoGnM{f?K6$#)vNZ94c#WCjD7kD# | |
ztx->`Prg*GPVZag879D|fI^NVo@&tqz>v4trGe#2%My+tw;plnuwKJphV^m}{gXZ3 | |
z-b!@tT?{0qc}HY7=cn7~vR`iV{WbY2>1L)|h44<g+t2pV1-o40>TV+-6a!gIe{I(? | |
zE1RG9KD1MJ2W~Twbr;?iBF14Bo()`i7=FITVh#6!4Pb}pCkl(mEE4;?K*;%Aj)l@t | |
zDeGa{!1ZC1C#Sr8HgUIQGzS$)vv1i3j_T8ekm-Rhh`Z2vM~L=~@*}+D#=+ES;#COW | |
z15kGp7)^m@sW*0Oto3LvG5lCOH8>2)0P^x}t;*!WckczqK*Yh#u#?_<KWLvhuR)8z | |
zp0Jcj>jzKhRvL9GU1}Gs(`pAk3>=}q%jN3Z+2xAr-}QyXFk`hmo4Pz?GRuq``mQKT | |
z#>OM<HSoZm#NKFG_9fkcl*lV~1uI)Wj3Y`*q2cSRW^B2H%yS&%F-60QHWGuR74D#u | |
z#2W*89mgRpLY_ru4uX>vtYya2f(V4FrPQBHW)16l3`^}~Eeb2L_=qOW9QsN<_TBaG | |
zoBa6P)7s)*B7t4?8@@*T4zo*ezOmZl^r4YK3EFP3=f|(bo_lFUE}n=<-iW0?tIP4* | |
z_S=?#MpS64;GY0ry+ruu2%Cs8yqv<Gf>3>n@Lv<f`pL++;kiWQGlU_B-?lHUC@N&S | |
zmNWBPw*p?^Bcv|Y%)A{IF!;9u<C!vm-@h*!O)w6t(BnP$a>4)`Ea5MdSe#>%iA9pF | |
zd&g0b^S^d#)RBmH%8d}U2uNkd%1Nc4V$MR-=O76ETkqOG{C9NaUyX4|za!~dg|v&R | |
zk7F12T{+#9r94Ti78lwQkA{ck;_mgaHo>^luO^Q?P$F&Lx@}tL{4UJ+3bI-cqxn6? | |
zI%qlI0A(Fs9|IXi0kaSJVBsCGvBxROv_hs8Sn_UtYc*{6>hz=!SOMgNkp)kU0k3N# | |
zrKTtX8U-5}0=CR_E7P_y<m$!g0A(MCFi)4qzfK6Cocy}yy8y_-9n0Z-FcJ!&Z&wfn | |
zfdNzD{rtEiM-@xtltcI#`p21g>TQv#yed<#1<)OJ3k7ZXN4sqI-VQm=`+&Fum#JzB | |
zhW10xADGW6Jd5ETpAIIBfBqHq;ur0AlBZHKgD4*bCh6DzGO?2joe7a9SkJtp0pdsA | |
zqNLwh=jVC9U2!*&H0{m;+FdwR0NtP&hsqC8{_JFko{rF`Y`g5z#hnsRy~L$HzmkWi | |
zpzy2FIL8byaeZtPhCT4Xc<jY>qB$sb?wpPvi!ZibUgSEG-UdyZLU6&B6$@a3A(K>1 | |
zufWg`)OZ%TG&*?mG(rgS37vU|Epx}bi=aDBn-TZ`RCTpHpnd>xnax;kd?b#$kk987 | |
z>#Rxf1&&BHmX&Uy&O@KllfDKK?ctldH8g|_EHuNpcE?v^?J^ket<NR?Nt*l5QXtXd | |
z9H!OsV_`TMGwpl&lx)90PM^pBlT+4y;59JzX<N}pvq(Ec!DAq0S?-2`5y4C$l5-w_ | |
zIgl`X=TU!@aG3Nxx7rS+)Z-@#1bbdmcf*^O{KxEJ_@N+m8o@ojY!25)WsEiL{yK?= | |
z6qHJ%GDiwBtd<JD<<ZHGwDEx1;B!X|Z8aN1w{**t(DNVa4nHu}96W|ZR3w@ZRX+W5 | |
zq`5ztz9oK${nNS=8-e$q45&!xE4^jRrhF(z-VUKau=r=+{!cj~FCu)ci#~`hi15pT | |
zd#~lhL;CJ1O;X%lk7{v}aUBuj2TaC2mJh?upE8AYe{0^F>J`lrf?A`0)i_ATmmX1% | |
z!&}Q}+8H$>mGbgBAICgNQ-%Ivsw03=5?8y!cm0q`gi#F(!iHhxDDjq1gT*lf#p_T4 | |
zM8|4?_{O%T5!Zt>v)qhplScK;oC)ax_iSu;q^Ts)11S)WQ<)X$v`=-vCr6=wdFlK> | |
zBmPd?l$)yWH&7v#JWLp#K%Ky62F4bu#-7_-`!tRf)iRCy<bC*-UJPHICyNK>2F<*) | |
z#@E@J%mTJH!3==#%tu}YZS9A)-~leR%f`S((L?9!&F8*OGzZ)Qy1fQK{G5mq($OZ^ | |
zx4m;cJ+X_&V##>8-G<COa^0(wwcS(yt{|KWstSxt#KZvbz5)u(cOPO$-Xog_-|isa | |
ziE~LBj7eGPEjEnDP)Ryli(gg6(8~5a*pCo_3-%?8bZA^}Mi()eRDxOK`sF~j@6!wq | |
zNce?Is>LMr?9g^c!<&0nNrIw9$D=`S!zM>IrNT0ReDH-{mYryMi)RcEK~sWrpk~;a | |
zp{vFFp#sI^CmjRe$>5*s%YQk$L;8R1iDK>1YvH`2b9SqzwGQc%d#O+5bzFe<A~-bL | |
z@}8jDxcX1H!`G+suwGx`O`t4fi~=odJ-OfN<Z6wRN<kr>@Y#NYfp~+{!gs14mEY$& | |
zqlUh4W3lgJy2l=``d{mChPuhMGRoo=vm;(lc7JRNcC!Z%NR*9UKX~SkUE?yr?;$s! | |
zs{K1{=8-{xez-}$v8?!PZp!+c%(=?!YDZ%&Jm4*woHKayDIv<lVQ#R~xm&JPQ(9}T | |
zcF*clM*A%)G{DRI1v!U(9leU#d%*{g@g3mTsAWeb&cS4L9hM&6WWyZrDlAy@EuwMr | |
zAwl>X+1+?7`A@cLUbcygC?hzH!b>bvzbmgHwUMw=48V00kd~@0japCE!^<1mUrb1& | |
zu&OWHUduuIZ9Z=dX6z0-JdL-5EvGhO8GpVLycn}y%mTJd4`20@EHxm}Q!;sY-5#DA | |
z!1p}Yi74S^Iq-*BxYv^R@N6M{vveMCYwZwt=Un6SEr7A}Jrw88;c&qKzIzu(AmxTy | |
zDz{7pyF2~13tHuVW5V&hql{_t89{((L<?<6s_n}d+KI-HADD@@B~M~j@fA~A9p#yW | |
z*%6-hZt#dlTnp`hzS4JmhI>yu4@otSnYZMU-<;4@Nf>6-{ug3ju;@J|#rzLU0?&m1 | |
zpvr%W*caRklX>+4J%W)T<;TC@&3|9~%EJ(NqU2glr#;mF?c=h8G~ab7qHzouabx%8 | |
zA1|8!IiZ%!Fk^jtL-2t&W9&x{E-7u1pWZz#!-PEYuz}#Q)PvwEqw$}6k`M8BA!}j5 | |
zpl*crU=3<>u3rzqUM4jJR?OC5gb6J@s|QNV*tX3l*+TE_E@~~zDjZ&q5sp*RKQe!> | |
z>WO>`wvZYAFdBsT?PuNawJ<T`CE2vC5u1spD;gH}CRakwh(RtsADmaz_G`1i8IEEf | |
zzo;-WTGRAn=Ap5|b%gJZZ|wVpcLjh;S5r=lKT3GAiK(WT8f<)-J|?_zzX!;;!S=>T | |
z^<{^-fsAyr&-*ioL8i1+@6{C|nEuJ{N4?py3%!hi<LM$LK2``aTKcg<o+m#Xjh?lL | |
zvh@sCafk1Z%ZP<ZUVFN)<i5?^JngPej+`rwho0*6bB1`(x^WzR=0L$G>_i{?A%f`i | |
zPEyLds`mb402h~dUDONc{kz6}QSy_3P3vCYNy~%48{q42{8+;#ShGiPpB<nPH$9E; | |
zPPFx-I1(Rxln)-S$s)W<8p5*)*aQa7(YQgo+dgdx_X|Ovo^rwQW|Ar0`b-RtuTES1 | |
z86_`HbvP6FMH;tzi|;j2mM=?njeR42NS5M~syS@NkVSWPEI{VokKO@x0V{%HIdtyb | |
zvM0o^WE<Y`clOSI5My(@Hk@XEll!(yc0a(u7?hY7FdlgK?kgBp7#=<gyuAOgeFPl3 | |
z!yE)Yl^x<37VpmIhi{GTABAV>#h&7G+HJ%93NOeqU(DZKHGq59rQMGA1AlMYW<Xbe | |
zUfnz#v0?Z^m)`Zg?XFSjxXQP-KtMeMPZWoVv=rMJjL`YRgxdR4cpgCdcTRIi0&g8G | |
z6nkEM2|t#%$R!e+;*`gnXM$^YBytOtS0F;g)K2Al@-0mH_SM#CN^7lql*}bD!$_M# | |
zS|=p}wI)vD4<rwZ)UeMtnjfgIR+WDBAmr;!4=#3G8pr*PONk{N-!hGZS6qP}KRfgp | |
z6PIKF!`omd3y)KqU)=7qfN2u&oqNFxr%}KFVtd<C$Q5%Sqa@CpfT$x})%EjZN~mEQ | |
zY|gxaTXyoZDc442KVYFvc?-Wg8l=n?Gg#pdt20k9^jT*_8`}~#hHqem$kbEfi<dg; | |
zpGAQvU3`hHNZlPh((3&tVVLKk!PnnbFNwcg?{^3$k}Q9&OAOpJF@9LRS@dwntEtYD | |
z8igsCjCwr|q4M?4y+d#bXMhibpa#H&;R6&j(wgRcsZmH8IP3KB;ypb$o)1Qh7>az3 | |
zbpBL0lG~t=y6&u6Zs*F9yM$*!jHBRJ6mf!S{j9KOEI@lvVi`~(_X6=8+vm_GX#r-9 | |
zU+K&b4|fIbqA%R>T(4JO206cZGF_E*e82nN*mQi5eNqYg{-aw~Xu*9RS_Dr}A)k9` | |
z^{{|*mCf8@e<i~nPh)QE6;Hg^=m6J}!%0Ah@A(Ty`9)nobFDpk4kY((ZuDD-#uxWb | |
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∾y;B6_!GY+f#8z&Fs5 | |
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%0AG8rHUyz$Y<yOZlqTz*VAk&w | |
z$BLp!KknV1F7~{>{2agrsM|_jW`M%Ji+3wd=W9qR2%_Ca(H(ZYa7-BVA;NEESR!A7 | |
z%m_p$FQZ0`K|g6PE}+}5gUBcFcj@Ru9#ukHP|*G&$oCCy8|X`nL4(&Ok-Gk?iDX$K | |
z=9AY#R|fkE3PP(a(S7xH0t$`v>X2COKK7MmTNPRUygRMRw;X6Yox!5+lk<}Bfup0? | |
zy<)m!6Y`E6{U}Dxa>Ko3AL1!flZ*NF=xQt0uyyB?tOQDjQj{$IoHA%Z{r5Va%7q64 | |
z7fh2T&7NqgULIGP_02Eo+GIy$gzI}%9V47ZEXslMYi6FasEA$d$b#VP4<xT4o!h$l | |
z#D$fxIjVPl9S{i{&?eaFxXQV06CqgdG4r~=27AjKm5h9OpyD&=5pnDH4+SqqHLbbc | |
z{loiOa5MJBdKRi79zZQ|)@<GEnj(J5kpd}-f^Qq`0+5GWjGbyYG7{^vObybMqCL6> | |
z?n$sSM-hd%r`~z3hx=zVEari~PPyEl%C@_7;z^M8*bz`dZocXlkh=6QEr6j88fcFc | |
zt$(*n!x}Y$7mDq@wdix$0=QW}r}|bP)uArOmqY_v%BX5wmw+3?whh@e>v{>!PIicV | |
zg@g3Gu1#}DFP(P-D44NOg-8SuC-((4eG4kU7$_{0(25`jduqyJviAcKczCz;Ay>Oy | |
zwVfaoMxa?n%wg%R^o{okt8pOQBuA{fQZtqw0e2;|+(9)J!g`QS`uY=YKDEcy;JSiY | |
zS8yN4NwY<Kah7BBIP&lJ;#W719$wwYTKe`7?k0ni$-TgS_-{1cCubb)%iV;0K1i{` | |
z|H+%16N7vZa4^zijaion{D%zAEQm`_wcWwPNtCQD@S0g4EGqv&wX1&)Ie({7KlQo) | |
zVfbs(hbhT`iXNOLANtcc)KG!++x!4b@SSuVQtXk2;3=G4Zs0hUBgrr1iB_47z!eC$ | |
za%Q7(T&C{tw&Oyga4gA*v<_xd-bqzRFTT6?Ldk1}LiU#numgNjub`Dq5U4YK3|LC@ | |
zZTSSFEXl(fR?VnL(PH~t`2fVO)dW2lHe_?~<L%a0f?=h_9e-d==-r9unoKjBgE0w= | |
za=ZGjE%QMs_siZL(jko$aLI^7H4fsy{tn!`kBdCLZqWjQFS9NCfcBiJtI#!=<uL>- | |
zQGqa~2?zLJkT-oS#mau{HbPPt&ke+85gc;z_@Y+x_;|?>;#7E#A#xAc6Pz_3f`#G; | |
zqsyt}UB-mp#W0O1yc&m}jr75x&YIf*I@oR<#nCn{RAXdU5A6UMmt35y#@FKm5rQ6b | |
z`=!qPI&-h0<O89t^I5aQScXu(2HDGJ978`M+YCW-6NuvI#h+zb2On9g0&7SX#KJB7 | |
zFj6?$1-5l~2)OiuTk6q~)>jQ`_0NmSw=`yKe<CQEKiIbyGf$UamZs~j*lx8`DNY14 | |
zG*>|8Zlqkyu^ih}5}n?&AP{xQ2hOiFP|A?k)fYQNl4ubR5#+@pyXAeU?{99q&lvRk | |
z^=@|KBN?rl3m)s6UrN5;1qxo3awg<z$ZasF+h(`yrWyb|_tL-D@IBdXeW=NB?N$BC | |
zj`cy>=`rSzQ_Lk71dI724?{)5K|&}b-Opk-T|%MZu0RKJcXK(uAp$DwiG~=kNbU!2 | |
zHFT-Xg`kk7E{wCn8KBv`V1VzAM~@!OS~izom);Ep7cZ}wEDqf{;&}1h)T!rn1Tq#u | |
zG{DW0F?vHQDPVGkb3gO(&7Gjb_%E76dN(SF9AQw8sh%wY7<(To0P)>8rX~}?<h<oq | |
zn03mEX9S=ZDz(Q2yq~y~L`DNh@O^dUA5h`^xrRL6kag_tI`$h_o=Jsbd!;*(glaS2 | |
zq}vrb`*yora{yzw`i+TMp0sg;dm#5+l_QGiN<v_YS7HymFYo{JzCLYzZxgB)&~<z4 | |
z<IzqBMrsw*$Fu5oX$;9KpU#&k<?CCgf_c;%9o3N1m?-}X;V2p)<s8EC=BXu@(`0U| | |
zYSl{@c!Rlbc7cV#@Kc}B-<2MppC9$Yi^aJ<E{`Hvfgk(a0;JM@EMWm}$WnfX%ZG{~ | |
z#R45re|_nLO!!k~6svQjiOVMaY;>vA>!lU(O^})uYlWzE3fR{y<jypbv#73Jz66at | |
zvd617A2&Rn%W6#XZ<!Azuu%GZg`3k5gPSfLemRdeK6*-0y+8~;Z|8B0t=^q@GdAqN | |
z<Os*de_?!8>`h=CWVk?x|I#5J=D;+-;;+Gs#uLa3HptihOP1u2hV*07woSJg2TrRA | |
zOZTP2Z?>hop0q;$Q~J0kl{TdT`-+6zOYlgrBy}RF5AHjF?Y!0$**VqmSgBcOLoY%# | |
zu_S_w7#hEkjyvR8S4&K=_ehE)r$=$%9F+cq0+xF?e5`A?@zwF=LVkAABpBj`R5G7n | |
zU5M58!#iy7h&B=k>_SZa0BX0-$IzEQH5@Cw86@H$L(=$}eAHcJ=c{AJ%ZDnC+N4h& | |
z^WS3DF<Qc|VnYsg&l`}-N%*d6@G6Iq54yZ(CwAHMD0;2DpCT|(Qv6IJ%ED=c|K#!O | |
zJG++uK(bl}RYw$i?d1`oe{MVwX_>j~^ElIQ1yt_#X@ee;aKb{FOt!B(xI98Q@F*+x | |
zB<h<V7YQ!IAU-t2fraGKly$m?tJ=EC&7#Z^*F~ovbkmlL$Kvz+ml)nu@#-HL$u4kw | |
z!aDdIQ>_O#9ps#Nz|bB&<{)q=ER1{6VOkY#>e!Uy95|l?_)*N&Nf%gj{<U)Gr~9r~ | |
zc;M{hs5IFne(J4d9$NpCc%Xi0kbmGOnD%3E&b&5WwaI5M{=&|*B;BD}F+O&`3`F*m | |
z4o1Mq4n4SI8Kw3_hey6K=~|uwvyPsK)C~s8Ay`|-@7VN;`u#yo|0=mH6-0svd}~N4 | |
zL5k2+oDi$=C<_0M83pLle?c@l-UU1~lqB0oZ-zPub)=~Qg=-TH)qj_9lP~hc_mz-~ | |
zfX+lk<5amMoWm=YZmdzQ%g3u)#Oea6INa_~8gBPS8F>t;>qcizbX!;Wya};q+OvFC | |
z5%lVo+Vpyda`QsRb=yLlh<`w2oBp35vPe|NJ(rVsuznHv*dr0OgKl+RX#u}knfMUE | |
zQUsK{B6nA%^V93oBuuMZ0|d%I^1sc_18(`<IVdP>nQLdAJ8~iH>D^e9q7_1M$Ul3h | |
z99iHK1~*SVp`)lZ-Mdd{Hjo7moH!CrH_zs}620^m4OB^r)>uP|mJ6CQPX|N_dmbYP | |
z^lm(2#f=m`A#IlHB`C>nOPkYx%|D-Rx)n`$J!_?Vq$7qpsArivKxzo|I4K^y6AB)1 | |
z+^);Yp6#!9k3W&yUtd-mcc{w3N97sorths43qoK^i~HyB!{Ih#S`kD?!XsUkPwY3Y | |
zM&pa8{n^2;HX@UsoI=EJoOCL$LVwR4M3nhW-&!`-JTW<A;>w#nu%Bi7j^P=HKe|aJ | |
zOBV6w=YNrf8OLr1rF8u%A@$XBS<PAydch|VKHB1iS`UN@zzr{|4iIsYWfk^k6pJVV | |
zp2e3tGoevnC<3!z0Hw9NcgQ|88EQAtQ1w8><$?tv1#fzRyUmQATj2n*k@^buABtop | |
z%DOw~o<F;aM9^`%WxSy4@O(OBW5ajHBdO}z@(zrpBmTf?IY?`N6GUfqsp~Q>FZ{Ci | |
zeGA3bbAGIUu>0{Baf6B^Itsk%1*Gu2T`1PDdWin~7>B$s^Q^F^G%^0-ad)M>as9`s | |
z1@<WLiO^{~;@VvfEDgA1PI&&v^>pHtdU3-V()n^^X{2@jLZa8~3QLdd+(FZRkWG<U | |
zm2EMp4ax^35x46xjKGEZb?P8QECj>{DjDtL$V*xY^To_J<9o;-PG)ZDC3g649(1p; | |
zIOIo2inFXE9x3b$LU<9Rs=T;7;CiX~_EhCm=_Rc<H|j!Az?-OIrKc(xth;IiL?dR< | |
z6=|bXyX)bXSs+c4<6~sCj#i-mzS-4&F-nsh%cRrE7nP~k?!456foS_&J^(1Dp$*$0 | |
zVK+y8&TRk>pcv=@TpiBL!+39?wHH^7SOuM^eijs;z0hF;7CXanN-10!Juj6#__>Mi | |
z|Cb6V$y^}egBD&I*Oqhk%31$CB53Lx?{NgE!$TU`>bL_aw!h3``$6@@s~hW1=X{Vt | |
zk+nSj2A{Y9VfUstcyG?3%`P5ld{ugk{Pn}onoD8l#WcU(l=JZzTL8sPvfb`!Jd``( | |
z;UdYB!(cIcNorgTw<4@WNVn@u|A4szAginEr@Is<c6fT`JtEb+?+VqgDbcO3N^P31 | |
zql=S4I#CK1X%)!Qa9E6^5K?#z9wV$L1lwX>Mjd7a`49U#|5!XixhgJHudRQnv{~m1 | |
zNFmd#^HY<bgH)_+BLT%PIK6(Y-*+H~?+;K7(@~6>r}9tlOz4sp9gw<n`&Gwr)kC0! | |
z`9cU-ZdMKpg=2@8Phgw*i+VROK1>k!JMJwrqTtq)fdV<IqYDk%`_2~hfQBuLE1RwQ | |
z?*9eT8*_SP78Ms!rq9md``=L|Z=P(rD|2r9XV_80O>NG*=bx^rT)tMPe0_cN!uw3V | |
z#;+MBCzo#Cj2HUx`O4QT7lxjtd<uH_yzaB|E;lvT$m2VAi9|7%eksfTojI=E>&llc | |
z@5&;3eOG&Tw!XV~9B<Fk*xQHw9gz0aUjCh*XV$Ic{yej#YyNcRi&1~)`QO)Q@j%~a | |
z{jOZJ)gUKDjzsBBzCp~Hvf5ptmjOd5Z;xLKs{94K(uryrFl?s(;yx2vV_9sz$y*re | |
zra2n(7e_nx|FUb}vlE)scfFI^%MZ@#-c%L_KDJgb@cEUH&2r&WL5PG}M#Y0M`8R3< | |
zd6D3R^hVoT20xEQ#p95m3`TTKUFCzC&WgQt*LS<UB_JWK*&pgo3;9B>?b_t*ltXv_ | |
zX*f*$)l28=#|o`*lBECo-E?8>fdeilguqW-9tvThEK3D0@z6%C^3XP?<&T|!(V(KN | |
zMi}Y7b&Q~)L!H8`Z!*EvTvk0@G!5ik^9_%o4$MO7-SG4oo0KF7{2;tr)Fm+b3EcJB | |
z9;x2FSJB?Bh_ShlYQJ~ArUkvwH&o2EM;GEYe&+>PM#tEqOVDr$+_~Q~@KhdqujV<4 | |
zM>AQKUg1c5_ITdRRUSC$xDDK0A|@(w*wc0)bT;&4pWalDw2!v6o%q3N*s9lk;!03# | |
zR1N5+E0z8Y=abVlt}&C^n6rFtfL24Gi$bzEee{er{^{D^X)^L!DWT>hwb2A^-M%+N | |
zbmt%EwoCl`N>%>sy7q66eDCNksoK1s)v4q<liCyfD0=bV9<S&r{@Xh0ho{i~+hcO` | |
zsMbGM>1>>_9}g7&?J?K!e_+_e%)_e`Vp&1T`pu!w9}T|0wZkgYcYVUZsQ33Daiu`@ | |
zYyocA10zjwX*Olet7$8jZ3~4~-kjl;A804Ukm<EashUYG-{K^q?9b(Le-^n-Kmpg6 | |
zQ>~XOr?rdQ#&e!<&?CPcGwR&sE6)e3FpvzwOMeXU$mTF=vVFio?uw>99J1f(fPVvd | |
zW35U0&-D+V>iKg&Ia2I-qW9|hi?2Y_3-A_`iIw*m9BkbHc{zej=-hiUpl;t_>Le97 | |
zCh1?<XTdT6#JvbwG63to^5+g{2~K2}B&wcvd+e`!-RnkIxSf4C)-xo4)cw?VePO1X | |
zJmG{|&lc;?gA!LR%t8>h<<vytXOP)%*OO*S%CDH2FaWX7p1f*7s5Y+oZ0tw)upza@ | |
zY4EXp?}Ex})d?x9=n2%j6ukiJsEet}`W8CmfY!}{qF!((l=}h2nQKsgPF)kV%+YbT | |
zqOf?-=i%I=q{u5TLOHax_lqUo^n>kqH=>so|0q+tU7#DHd`)@g=#GF>N9T}KiB5v8 | |
z=<#-d5^9xJi!1Y4%2*%m+q(w|cy}ipKWn1<Q6wnWj8ILQ|9RN<5tH?tp6g0o7k|C( | |
zVj=<jbpt@SDoxIevw=sz^&w<5A{_ycn}HyWO4#5n^B388Ol3kjV(hP|im^sJ&Oo!= | |
zp1N!^b%*oVkxY$9cM8jsSXt5&54$d`{|JBi)q9i$2sHvav0Rhr^J-pyN7!_r2L9$f | |
z@gC+ry_E?rQ3vXGa3DY`Z(Za2+-#apuLo-MmTY9)Le|>O3CE)Fws@?WDLL^@$s@aR | |
zTyPy(=fQy*z1~tHyR$uM_s?ugF_%?3mW`5d^>YZ+^K|Xdw_)>%@;jZR;>J<?!^`CE | |
zW?hzIH7QWn_Np+MWqZ#&MSPuYYMTc7V;AfK7x*Yak_5?pv9CQ)@LzcEaEE-z=5+FQ | |
zuf4yx0|ZkY8pQi7>=3QH4Iu+%)9+sR1#kV5R;g7UWoCQ0(nio(fxBK@c}~)CEsAm` | |
z#jk+VuQe0em}AzBR}@tePTz8L>~hR48;7eEf#M;bW5CBa!+q#RNKeiPh#8!g3_hd| | |
zw5=0qd#pesVP&$vN}(D3F5=ahu;LP@OX_=09;yE*)^t_0nvc@iIq+Y~i~pGoRA+<; | |
z5B&9)J~Z9F)*BtzYZn&qeI_Fylo%}j@UlhclNHIf#~Swk0hB)1E=LgaCIXeT$aj4P | |
z{*2;Yc`kItSPW&D3A#HLXu?=mSc;qxZ-l(3vD_X{etfG~2v#+jada80dy3q3^2O=5 | |
zZR4mZsChJ*Y+C^G713prxxCkC$XCvv?zD8_`4`?TpP<5*8$7DXI=LFl&^M=1-?IzM | |
zeO`(-eSwCAQMPBYl3P;Fwm06y9(`$gv3XD|u&2ja5h*c}R3;jJ&RCMrt8fUV;>f#2 | |
zC8&m&Z2`S$x`)0;6$x{mpmyzt7UwF^9Oss5&h?`-?MGDDGQL%qnk&eVM4YMuMv2Aj | |
z<n`DWgXPux2;P1Bf`)OXjVUt`8~$_KB0HRs7e6yQN7t&0M8~p-3v=5ild+zT?E83B | |
zHqN_X=^9R_oR9M1R^62|4>SBPUc~?02BOZ}{L}#nv0{dHHf5wcaU+TMjMs5G6gn^U | |
z3p%@Ox&4=IGoIh;V=d$Pb<a4SP^|#&{wTO2T;8{e;Q<dOxF~uxa|)PlUgBRI{p?EU | |
zh+<PC;?X@<4224h!85UzgFPPp@nCHy7Xy2uP9^W*-W0c1%|MSW39I%a$4CEW-dlA^ | |
z%)Y9F@I39D)Ph3U+vWwDzFtYjMUcnztar;}NnAVdz+-orpSrB~9;r3d;edhCaBU}; | |
zhjx*UV$xqfTWnHtOD|Bpv0?uN7=)x7(1FGL=^?XK@W5;KWM>rDl%T@%AnA$E0IWm( | |
zXLz#-3vbhBncsxX(^pBBb}#-*E><KC!&AS9*@ZrX%aZ{g>xmoXR>Kg#k*Y3Gq&id~ | |
zEy2jchr}HuWnFJ4nQH@xE9Ppoiye#q-fQi<1$W<LX9Yvaxy0gjFfqT}s#nbN74!)x | |
z!@PRA;e%dQO0IrEbLq{eQ)B@({pmj%b_HybBjeyPQC^NJT=CsYw{*IfPri{=9d*@w | |
zU;A_cEkDPWaHfGrHXA?kVL%(e?+gN$QE=xL&RZTSt7(F%B(M2$wSKnf%iy9o`qT!< | |
z%&Np006)~2AFW1GBQB!=au)z*Ixnu=27WZLi8<5Ml-!#l2$Nn!Fln6ZR0G+34hJii | |
zbqyuAZ%z|*dAh$`*Bktq>i%P=F)=IC&?xPoK;>fXfX2s@Vvyih#)#&`=YXQctP}6^ | |
zU6RsfH;M%2lNYD>dnuFzOZ2-oz*kWrAQf!xk<(!&)ga!cIQOm4O`JY;n{u*TNg1&! | |
z^&45gjjeh*?CQj}i?7ZvH-fst(e({v^{(wP$bqSqhZfcXQh9`#Xc2(D+XFVkol7nO | |
zO&vFv7pMcHwt)T#PCb!8)oSB~xd7o*0uaCCQZY6L3X{GobDXF&%m}O(#O%zf4G$@} | |
zJRt54@~r=90sn~ch|$2I$%C0xyVs)%E8^(l%@yQGY=!Vud*X#I9m*aDuo%X`!sd0S | |
zFAhgGO(mD1IYR7t<={tI?bE*}(6o27%Emt)fI>m)RwI6623o%+D<4q)ioiJ&BzBEp | |
z^nI+QXEoWTdTnw@520{#LM5*tNJ5ZzbffI78T~T$_l$67Z~+I5PXB6X@9^Z~@Z5)n | |
znBX(6K;!Csngmbfud+7|XELLC>7PD(jGYx!Yt@bWXZf^i4dp9L((FC|r(bGYS6^qt | |
zXWG22&Z>}o7p1=0@J8c+`rxw>7&PYq#G@{)4&OGkRq5!A3>2(>7V}cKoEv{wou0i~ | |
zv=nYm%3wQMug6W<XYP&D<L1qucH4<(NV#1EXc!zmRDGHM>Vp!yO}RYj<tQB1(19+7 | |
zW9&)sUmPYM@LZFsEvp|^B85CqPqziB{H#&T3PT_L?$7O$B=DYCG@b_THXhof2d8-! | |
zrbe+vLUMDz{Ht?|Nlzq>|B_y3@x#{V^%2Cf0UPI5dJFDFe(L@B;8YCT<*t0*{7kd4 | |
zZ)7A1eMM&J1Q>Z<ah3n7al-BOQNwDLl=qXCiQDTlAT~v#`aK`cUw-`-WQpUo&bCC0 | |
zeEzL>T)*ynA~*4=!gxw=ToZ?O^>f|qOpy0&!*0=bOD;pH`kZd}`e+Hd29y0q_w%*4 | |
zMT8Y14v>U6GT!M*!p5L><H9+g*ba<;pvTzvkzd`qjhUsVUiH3kWlrDaPa)*C-S}C_ | |
zI1Typmv#%J=M%7_w)u0>at`~C%x~~|TK1i<UV^6xj<THTq~^W6@Q+3Wz49Dy#r=jZ | |
zvkyb|OybfMe1y?1=vJ;+vTmWlWR4P+^Lox`s8T2ZjN!+5VBQZr=DlZFT}E?Wp>u$D | |
zyx{&aIC>vBcH7uE5oj8{tI1@IV_!Asha!)`*uCrGA3Eo22JL)XOk8B}NoH1RumCMk | |
zN!}9$mxUYRX5Fdcp2OikSAVo@xE3Y4lbF9qdNo0f)kUADc3aC#A8PtWV7k>)^tO)P | |
zKQ2{M<N(5~w3Moeb|4w2o*4*u7*0}$&JbBxDW>DptR}wZpAOR<=kXKKZP@x?!3H2B | |
zCZ-Q7=QvU`xahkILS(9sfkH4?*PyoUWAH<y@S2D+EM`Ch846N~HvUjbLsAF6sD5|E | |
zlIw`P90Z?1+#_>L$~1^O*^u4@rvm7JD5ffgv|bsq$L#Snzs(R}78Sc!O7)AXR7Sfy | |
zN8sgKiCGR{a}OD-VxymidOK>qb<S=gsl<+>FPhTUAfpu$T2tjahJ^U85Sm^e2^C7( | |
zzb#ll`h3KL7x?5Z%~jJ2P4+hTleo`gIRkmdZy0`d`#{18_k$G-%X=(jJiXdo`i>_` | |
z35nR4fU(J!u<x-p++;qA9FmMEIjEtsC|4WYNw>5ms=I+0=RgV%P^l5I5j+ZBPZ{oJ | |
zeh+AU0bcpQoxU{*dRCAck+k8J5NmJsy;=a>5+H~hr~S}|UdV?F)tE-pZC(PCkEb0# | |
zGGqb`b^!H0`cNhCpkEe3NzXpwOk&0$(yW^Iep{7ho(#nN-Z#V7@U|riq8vZo&<|Y? | |
zihKrPG))#;fkJm35^Yr0BS29}RT6eCp@`aO*IphRv<n3EJPKl5$6e1_tGy2B`j)kv | |
zXcR^Xs1`4*ol^Z$z28Hn_h^Zx9}V6v1r4SG-o2D(Gz_8KJp|5rz`Ir79Rp{SUumpF | |
zU=SUcMiPNs(htrgt@x45*ZO-<pwpW{A|6HCn}w^6fM4<<Ofpc$Uvc3e$J3ybAoz@z | |
zQ3bk_wDQVu4Z9os6WSwR<P1e*iXQ#4SW^(S&9}B!dBvbQ^L78hN>NHC)%y6@m-BC% | |
z5`H{bnhZPmPyg-XM{h1haSrCH5zGI^xJI!HEg{2UiosR@>EcMFQ%NxlWfIgBh%*p} | |
z00Y1v|B=3WZNtPJao0__PBnXYN73?8>N^6um|gfv-r|g|!u1>)eF2zMm~_1xqjkwW | |
z*x}cxvi|qu-2PqUhSO`m1AQK&eeCh0-i#;E`b2NR+RQQYsxmyHpmZ*lPW&~D_TI!s | |
zfk~59J|uVKM<#>+JkR$sJWs*3P2yL8VTk91_8Pap%zh`e^XonXO9;3NED@^$!02tz | |
zi#afZ7hV_j0y`fYUoTt%HJW~^Cxy1A)f`oZw&UV{%7C>jj~=<90PYh-l=_P<=#TiB | |
zpx_?!Pxjls+~n`HeM<SjF2z(*!9B1*C$y|>@9rJ&$#y+Q8e&)UGRGzDn@)pGqZ%jZ | |
z`m0eZ9;~$Na!l;~^yEvpp?E8N>q5m^Mw<1y1cX-MrRw(<;fIx-Tv>z;haw5TrVK6a | |
zj`xR{j<+1o8Kul#S(bj$+JB`GoB!?IV#s%AT~(5k3t#$9BRxiHv7czYU!!C-IC?cV | |
zAoaU-A~us$n^c&ay1~&V1d}cVGr!m+9qhKqk)7}}PT$P-NUOln=b@l|(8ew?o!pI$ | |
z^`cVChu0c`cc>}2q`PzJIexce2aQq6hR3B2{uDAH8>rkdJ#L}b<6KD%nXThG{LmXq | |
zg-cMeYk+zIAmwc=K2|B)+yMiyt(vC1y+%CNWbVX7Y`IlELy-urO%RAeyFKemPm<^z | |
zx6Q<wk9B)Gl;A9T`NYNc{n-GlXRZ69^H-4v4>C;#KhYgPjR<0|>Ysq7K1I4?Zuz`# | |
zYz5$;N|@tzvDKlZy#DMRf(GQSEKu3b$mfTnnO{E~3g=kC0a(8W<9J@mI3CnA6By_% | |
zV}HJCFeS;8M4SARfaD%hA_}xYZt)?JjUix<7EWKzB@P<&>oFEgOB?e|N~5u|>|tap | |
z#b?@=@T>o1Q)n@{>i1|bhR7+SIawY@n{YA9ohjl@^k)dKl_lgX0hdgTmpG95S0PKe | |
zsEZdv1z(DK{!<v&biiD&r$LUif3xY*D%4>*K(MVU|GxL}G#Dg<@95Zz419992(0>1 | |
z4XTa2ZR|{A;NPg@%5w<GDjN#-NGLNKdKJ!c?(22(Ro1S|>k6%<@>9uvnjl$ohUyPr | |
z4{$d?&ad{#{$t3RSL4I{<daO2>HC2wdadF%Y@(3%;6`T`?FP+7{hoWbI1)y#UA_^) | |
z75G;bc>1rQ97i}!QE|Y*KSEIKD^9hPyic5g$l}0%N(cY-MjRnTE{>2VbN=(Q;27F7 | |
zk9@KT2M8>&O598in23}WkxUG@srqVk?q>^=xex(OmzIe2HEG^cTA5*u<2ZN!nM>AH | |
zv$$GboRW9+B)thSXm?Mw&&2Xs_XWd&l7#&s>Wm<chRGgBJ-waXytfLu9r@L`yCem| | |
zo8T;XJ-vFPhYw6L^(B#N_XWlHBRMXMs1A-@=+?ctuwrY+lL9?*JR{qc5UAFGXl$-> | |
znu)&5Yw&5HfZtRvDAgE2W=pYWd?PC;%Vg$A;@B{T@o3g@pwtk4e1)!3!2hOaT&<N= | |
z%a^O|9fa|I!0!SFgbxRB$FBv}06YOLcF@ji-M{<m%&a?6%nUMb!I$-*J(C9tBj8XD | |
zu}_MTUw;0ztb=2{^m}RM2;8DY+w7c5SlLI15z`1!Mvkv|HBF|PSRH6sw~%+DspE!^ | |
zZJaRp!F$(7ilGjHV&;P8Bj(-pw|GEL-^6%-w72BNfjIX${B;F<SM{Tcgm&s~<?5Dw | |
zyK-NRm{pS=8UjxaVYxUur|=d{MR(^}$6h_1`=rIW$hvhJ-!z55+n{BWJ0<()P3IPg | |
z?TVD6^0(yWFNQ{_HP77Jo-|(#U-`%c?&lJJqeh4U*OCh3ZgpGPk02|mm4;|McGR|q | |
zd9>i8a19D61;u(L>8JN{6T1?lk7;x@`?hIa)(@x-K%OCLQ(?#a3LH5%M>21KudV_U | |
z#R7g_>kKm-T~hnmt@F2KKB*fGz<>(n2i1u2XrR(6IDWB-_L9ES?-XC^H(ne0wP~hT | |
zSK+QLf0P`Fud6!Cne;-{6I2;q)#}Sy0{n-wHGaAqjut+jeO1jQef~i_mYbYIN&(K; | |
zwA3wU{F2>B5Z|J03_&@7j^n?0f?Ap_K6&`<T?t%YGm9EayxT0blT5R|Jbg3>Cjcr} | |
zUX3^eu?=TGSRVq;cN=$SoiFHAd+<Cm{Bh5(bE_0Qec&B7>h^e2%{P}x^fir84uqU4 | |
zX;qilmxRAf2loM{93AoA!5OglZSWQWe|KnA{<5h0SrT0wIiDM(Y$yuTFI24133Sqd | |
zR~ALw7ra4F#7@U8)OKC_Rkfln03|OUz<o(QOdsEVxa_0%ruu=K((L=Ci%GBBLCj!t | |
z0`5sda7fy2(}=UyD4QFNjMKhR#92i$_obDv+a7EJ71MR+(w-=5z3Enc`R>8s)oPi~ | |
zu{<$1kljC*py5qrrsnVe+|v5ge{GX`H9m7ql_=PWa%kOS#OB@78<D=q$f7N;eXH)7 | |
z`M{}flFT40P{SF3Ea1kEUZ5EVQKHd%mu%g2Xy`<5;5_QEcS6s2g$?KYthUWvE;-oy | |
zxz_4<|HNGXd0Ud1(ezq-*Ck<)eW;+ly{ACatn_2>iY4dL4d7|ihwEUZtb55;hZM-X | |
zb)9xAb||ZgD*^hI-B&}E|2ES{p<lHU)?qOz)sj9JbJdtbQm<aVFIvOK$9&+QmTPNV | |
ziHLh*n&xQv;|sAA%{aSpxjz`qBVYA)09a4qN@;!JO-_L-;S%nEr?LJ8y_+;Cha?gj | |
zkIU<Y)3g#e?3qkVI=nQV*`LuG=A{498fwp|4Bo4MsSHbh=?iIp=?gKbXOsnxtA8mA | |
z|KlC%nu$2dKO86;`apn@?PUYgYe?Qb&6^pgjTdZ=iJ#_t*SIQOL7vhE?z6G^Ja7qi | |
z&~=ZItB)tI_&wvSc=E1R%>+1{RR21b-f%|6v5%ts{^kw%67p8`Z+Nm;$MB{mAz|*0 | |
z*QN2PmqY@{buGPODHxb%--y#wJpA$f(v)lVmVwhCV>W8}f1Zi|b35=^;}|H%IImln | |
zYeTi!kQwJ?JCqY9(>y#aW<FEugd&&+{_;e$_7T=GYB_P=SZ&zM`4JIOl(F6;{~(Hd | |
z;6wWfm5t<OudL|Ojm&AZgg`RxDh9u0VRaBG__NFV=qSmojOU7h8>7tSIVZ$-&EmNO | |
zwv;Z2ZFQwbPFo1uGqr*W4n`fl+&1>Zr*oh$rAE*&mFr7rD=%ilGDn-aKc2(#UwX&V | |
znb|(>``nV|R^TaHg2rCEa!FIa=HsR^Q9W&sHqsyKnId}Rw4JGT46E3x(i>{-v9-Co | |
zk+ZQensI(Q=0oXVtXup|M8w#?<{gLq&fCjcsw%+4x5}O~lU&)9tx)-w+QP5jjXtg| | |
zVP&z}lT1=2NmHaSCb9-nsuG=2y0M7W@2}Y;*I3W~RuM3DCiZ;k7YQ5O^ilyjPj$fw | |
zc0Ihu+#x~s`_Q7H=N2=2U<+g+;cwt{eJl=%9%Jxl;JDAPjM!r;xMW7?Lhz+S<&7ST | |
zdqy{8&36!@J`+*>?!IJ8*ukC1Iuxh(Nt?|f%LN*YLBeg8GFglf$z`O{aQBgvD!MLQ | |
zH}XO0(&okfD4t8bfbEC4)zC+N>QBC+PZnN|+B~sKRUkC8y9to?7?p;X!SyO9JJoCV | |
z4&&wBRSz^32`*%U-kpOn!-}Jg-vfD7*c$uuqLay3Q$}t2Ndod3R4jX1s`?0?g?7M> | |
zHy-YxGzagr=>FKQp2I4Zkj1QLeu4)!A<!55{(;HwIw*ktq8QMDusk~MVs;keN^bOU | |
zu0#?ne)Y`;)JVI}{|SBcB1P~afz>Ct!z3O%iA7b!5wavdKO21<c8f{WVL{^5AK$gX | |
zIizlkUM-3C;K>2)^_3616v3^w+KK54B1vrD!C3o%!)CRumqCBaluo<)n#+p~0HgF7 | |
z6{1QfHn*Q1DcHz${4o&YMH9OM5as54%hN9@S01gVTNN_L5fTY`vBPhf9~P*t{3Hd_ | |
zbL^xGS!D@UO+>)G9R=)amlI%zHw_WAGTLB<^!hks*ybjoqKQd9b7!bg3S(qJWnkOZ | |
znD4WjGh4AFG<WIV{7YSI@cGy0?{Khs#$D523^dx2RsKMbVA~$Jn{98@pmIJ+nUUOX | |
zxSOlFixXVe0<;z@9N)yx<Vi9L2KS)or(G?*S8Bf<j{3Q0B1wl||0p8A(nzOb?<>Jo | |
z>48T#%j*V?pcCRVKclNAG`D%&ABdPh!%ragtKwuTzhj=mkno}(jqW5`BS*YQgZhjj | |
z&oOeS)kFhjQ{r{HJh_m(MDnp&3KpMc;O?h86`L?eu=W3wo5-4^Ay`SQHvXX$^k4aG | |
ztrM$hS{Nc7wH`WFcbeEkhLwLp{(5U-dAs=#Hc)oo#-=Z01f0~aNb*e=RO3Thhz@+K | |
zU>QI4Hx7Usce!2|^$+jX<89FKUxKakwdaqPvbJNURUXGX$Mkv(*mhn%cUR0pHL{5k | |
z_(#>3-Bu+3uAY$Dr-x_%z7?D}O(Xn2&o|SMlv5pGmyo=Vf~#iU_w1>NCvJk<BSOVV | |
z>n`hkN}753sB{#Xk<tL-|62zckUG>%A-R0aT5#vVL!X)qQ-ZnXoe#stud(?T(&vR? | |
zqn(*kI7a5faJtW4qO@o;GE8%_K))4Es;aj-k%twQmvDXT;>Hh`dw|saZm-WWfhTfh | |
z2gMMO?7*YhAphgx`_i7PsGi{~RIKjb{n^Y`)=tbCet9|^g93X(RC>4};CT<tY!@L| | |
z*wG9|%yq%K1NNIZ9!+{HVXw#z;&VY`JzU91R)6M3^aQ~A#kA{&yrY=`NoV|(VYPxT | |
zRNLMl5gSKO*{4&ZQe}bwnv;7@6E?^bMC|#D?qCG)zPN^e(vEQI#T&<O`pGTUkzCpD | |
z$c{qY7zhhLldCo>LDTubI07hVs>Lz}yXRKE|0WVzTP~=Pp2AEyS>0`J6bgOutUDvq | |
z0M>i|oL5kU#?R<>eq8Z#`3REg2We^j0#4@h9B&EF6|MPbmwM8)b#wUmP)&zMRyC+j | |
zWwnSYpzi4H_uI@RA{geHOBmz#6dOZ!rZvqa6*OKV9ouH#h`n*|v^Eqk$ZeV}jvIdg | |
zgnv)(rn}_ce3R8luw6i_MCkw{g;bp0#`G1mdBEzZ(!38dn{-2gwy|kz)-cn(N<a4% | |
z9@^93S^pKhWA58BFWX`L{b=ym8dOHVyGqJ)2vvUi^s418az=}0b~!G%X|CQ@ld+R7 | |
z(4&-$GfghXt~1eq5<ENzvUTJe;EgY<>uo1jbF6n8p2_2jpZ7R`8QeA{gl#qK*pAht | |
z-d%YlBq2tt-M)MPtS{770N3;yZD#}*#685s;9luPk12=vJnUHlVD!2y^Woa3X`y*} | |
znBK>OAdjhwu`7&jib3LYRI3NY>c*y=t1taaiKb>)H9bzx`c;}D+{56oUwxxv^Lx2B | |
zp!AxoH3|T3vKQsY+I*&mAM=6zpH{N(ip+__A@EX%$Q*y-Nnbh65}%!j%WcAln=T>O | |
z(_WFYnTOj$VzpuO4k(+W^zfqRjf@~Do^CFv?)Y6ydHRFt6+%7aUT!y{Wj*MNiQJn{ | |
z6kJB@k(Z>%Vf4pWo`prx^d{wO;`phj+lslq>fH`?BGWMr)!ERQ={C5AqV=Y2Exk7` | |
zkyM-K)~P9SzZf~8^E8rw`C-<&fKT|2g0ZV4oP+D1%nm-ybm3?phN(n@4-y{7;Kf#z | |
zLwu4`MemTB7G!6(%;ZkpbArcQ@=Kju^&Edc{J=Qum_cS!bAg}QvpK_>%*~y$IJpF} | |
zD(ig+JGylMtcHNU&Y`hld78Pe=vkk{8pFfuFh-%2UFw0)DQ!IHtb3zu`jF0KlzUs` | |
zcjPLxCVAoQ)9d<^3t_)rR!Tf-$ln4>llfM`GAz0waU6DTP>yGqg}3b-&e~nET<xjd | |
z1f3PAEotF%H2!Ni;FgHjEb6wa1XX$=(dAjG{*fG=ZIPWQE{R>~MIiO`yTu;d9m~um | |
zpsW*}dApZ&gO7nAZ?Vt24Zza3@r81^2hW~$#ufsfVWj*PmGAhi28gfcuqfVsBo$6O | |
z5p#QW*Z+8fJeVZV|8f}Qzy*=HMWfZ`%=~%;dZ1!&9-#8rx8q3y*keJcV-;_>^JDvn | |
zRK@-anC5kF+o|)_R7ai7)hsX>bzx&nU8o=@WT2;{4@*tqAM(Vrd7i4P1I?qJ{<0(8 | |
z`S!6Fz5M=C`OJ?r$;tWqhh2hFKU(PLV!e;&ck5jUQgf_o(_7A$8}WFS!wnXPj}4W2 | |
zM#<hsYZ|hCM+}E~{KYx!G;Ue-MbeNuk6n8afA4mjYuBjMUT(#3P##Ayz__(a9)0LI | |
zwQVxV{)4|?Az7DQRQdQc!n(^WA2SY0`+g%I9soA966H@vw;9j`@3~ER$I>M+x^x_s | |
z17Iork9M`Ed|TYsPLOy}HbNtG2;_igEQEDm^WLiJS<l!-Gf)z)2JU@nLeJb=2|gzC | |
z<U!REjavZGABNA@gVSMd^NAA>s<=tsj-N4PFFykE4dICSaL6xY-G}Zp+{93B?*R;c | |
z0>N}0x4YEM$vVF%e&>@$8Kw;MQY^)b@JXX4p9ia+?n8tIoI;_az@g7G5}R~g_QIKv | |
z81kbls;3uSy%nf<&gF*(yHxI^Q4c0;y|QU@V%DAC?=1aONp0sf2@OZkJM8=t1+4<M | |
z9x*Eo?||z<8llBqi-&Opn@B5_b=6IE+az$TM75PHd?;@J*9a65wjfHHn<a?3Og+1E | |
zFt2hrmX)V{62a#kS+jS8W$@1^337X*TpRnTmB5qp3)A@tylWgL?dxB6N0&EhZL66M | |
zn-lb-`^T=3$@97<1Gd2%!egcMjO1X$rJNAomQQw&8N6lPRxvr7!5>F8HnkSPK%Z9( | |
z#)WUGp+oFo_mRS$p&;)X1~B)+$!)T=|At8(kv^*<-Tz5o*NW-*Mcaxw1J}{oyrIYb | |
zO3iC}pe*z8S>yWA;ypF;)AvrHGZl}pypd$64I+z9p)R-$WVt!JmYJ76_>Qn&qqsf| | |
znw(vPI?b6M7H0Xs2;Zw`obx5<!UhL}9%%T6xZ^giyS5Y_w_dJ#Qy2MOZa>;@Jv$4V | |
z0}&ygzOGeshZCNGZdT2$p@+gqY_vHhK4i$O+E|r}&FKPCxF+~$%3PMDdI1i8;*k;Q | |
z@7uk*e$k%)q@g2f>jX1M=wWs)Zv(JuT`k$+H=AZHMWmvNSp-;yCb8ma#&zTq@r6pm | |
zd>_bpanC%ee8XMyW`&Kbcp}7N3*5&2F&TWiA`D@wVqN@vCEfRy_4X0@)}4_ba=(L} | |
zKSr|%-tJc&c^(M~cq1nh*-JX$i8DTp#OcdPE{h4L(VcXX5dq&DYU$3-I0(EczH&`( | |
zrqDz(`GacX^FE_R%UI_wa6z&*7}GS|921%UGGFRvZ4Y+y5SzNc(sDRNCp$1w4H|iN | |
zyd@S#S>(?JrVD`bM$`Baf~Zw2bw4?K30>+ZFMSqu9{t6b)RdF9p<1){#axy=d58F$ | |
z2kY9omKHRU7yLwL#kd2cGLa6C;hYI^sEr7|YLGBCW1;8mkF~0*7*rz@sRZk9g8iP# | |
z-jCs-P50V)?%!;}BNOYu)al;){mCI3v8{GY+@;PT9$6yu*c3{cK_!|$;IodWN#Ylf | |
z^@;iz`SR>(c9sN;P4`-OPO>3Hx*h`j5q{U?-8$k&a@6!T#yzgzDLJaD^T}g%VPf;1 | |
z-`U_0b7vJSZI_(VWZ4~F#U-*9$?V=d3L=u5&xZ_2j3YICcCglUds6#};2|1t?Rn1c | |
zyZ(M0_;!C#c7U4D3wnipaW?lYz<SXMyY`%*9wEJI%2U4G&XpB-*Xc07K|Li)GKNRc | |
zozy#4aR+Exf^s)pXP^YvtbIJSO;!f#z;qc+#Y0TckU_l*wyQugdSsOQqZMJMgA&=c | |
zk~sR1_j7FI|3cndhsD)3i=IhHAPJU0@Zhc;!L11rELd>uAVGo!cRF|o8iE9ET!IA; | |
z+6nFu+(P4S4K#E^%Z2wn-<j{6XJ+nmXYQH%&CI{GYwf3M?Y(U8`c*ZOK@L5l1Gl(n | |
zffpP*b;zdL_RYg(-#vzNkhTMYT!@^x%`NJeX=36C)NpfzY+ELI{FO`oUHgLs-1W*1 | |
z-}=}9e214W9sVu3Ou0}e6>j-5PvNg`K>;$|AUbHfjE3`TLwiJ%3T3ZN?C-tSm3zK~ | |
zMGvgZz0O{9yLXcnsRdE@E!VON>L^CWB_^Tmg^U^#FKXh%h+YoF1YOM)Ur;vala#S7 | |
z<MZVfjdiM@{A#Kdu6Gfp2jdxM-UTsuqlsXYJsynuJ1jfaSN!AaS%U?1k7U~bVZ@^S | |
z&q|>;u}?T<*s+L)V|}u-i+Zy>DffYb+Np1H+x317+2x+nN+JQ9`wdfy=-(!RdJh3o | |
zk|%47wrJo<814YRdt=({)PBxsS8c4&tpk?fM-#BB2-Kb@M;qY2>*BlV&E36v;Q|`s | |
znnupRc_RU-2dy~s3v`i4Q7NkAwjJ_3{UCeffDY8jMeLn=u>vmkn-&msoO3s_9qpO) | |
z{7uvIJ4?b*BM;=039*<_cO*DyWX(jJ<ULX~TRXAY`*E)pTXbHysTjNBB~+$@YsJdO | |
zfYE@F!aP)A5S!cdh@%`;X5cOU{6mSmL+dsa@Ue~)l>I{(5IgODoJv)EGJqBetqDBC | |
z+nK8?b#UDu<t<47vk!Ny0;g9_$nSR?ihtmU^9!XkeG4}7ecl%Inj4dRS=o7v0u6)P | |
z9kt8JA4O4oCgL(&KvN0U_45!liXP=Y;k+?FfGVmKWcwBkgd}MS^v2i*zvV_mj0i*M | |
z`(BOa)$KeA=5qk7j_A{pA%4+;{SW$_Cs%IfG=IR{jhLO{AKZY@_s&JJL}eP>uB>=& | |
zk=@r6Cic)er1~tk_xfi9k{QCz(_~otgtOg2bE<6(XjM7^DofL(ZyLVOPN7Ta#xjWi | |
zc3<K1`kyrjv<I^TB`vCo!+rwZMM>RJb$B^Yj?+G<QQQ(CG@t>}Lg;28T6l)jNuK5s | |
zK295ihM74C7VUBuUAr3;)sbCoyC|0cv`RZ`13Goe#DkrFm4Lxl5;O|RLppEbUPGwk | |
zd${yxtrUIr0@=-BncIV3*6!iu0*>?_Rx~by(1@VPZ6JCP&-6jcIvx61|4n<RQakD8 | |
zOHdJ`zZ<w9!>bRpJrL11egkb@0xYGb#jKs4Y!!bAlnX%Z-myI0y<@uV$C>dGh}#dV | |
z1>o-Bf>m*ajje}Ggm$fU`gvgB5m$hJ1ZLu_KSX5g=gp|?W|GqYqJ_&<TvLXgvCqfu | |
zPV2~HFc5tQbFrXGQ#YRY@O&#KXjL5(B850w0aq5RCnu+9cZZ$hes*Y#LUb4WruXe4 | |
zyDr8{piqO%<IXPUKvy;(`!5Z@-e8&dU+=6}mGm~2;nVp;1<2=xEea#BD!QSJV-EgC | |
zxN|XXC!(`eokcZ*tNQ)@cCwbH;g3f}wH&HFnp5Rm)rm-E(kgLP>}q^%)5mS|&yyO@ | |
zMxOT1rCbpD)JR6`ZHcSus5t-oqbukn_2F6tMZK_R<4yd^K*>KC`GhX9j!Ge!)D{y~ | |
z$<|9^<;RZS&<m<v>HC(!G~Xt!!uz$!u_=AUh&}iDOM}0D?2JD(>V~ysf(te1<?@{7 | |
zA{TwuNwPBL>>_pBUaFR%DY~EW_Oo?Ig_uvR5~^VB9sH<##F;eR_ctZqC@Fq{`cH4d | |
zs5_AY#UW~NOeLFSy9RYxp9XbrAyh0-lGqGPkal#&)@mELa>i@>Im~bT$<-lC5S+PW | |
z?{`8R@&!eY-{L4Ia&b!vxWaDq89MxZeiPV5S>Hcw?q`5q6U0V62N3MnJ;z|zSUqs- | |
z;Wq=>a{?wX%=&{qOUs;gtr~{~XaXFH^P+dBbkr9z7ll3V{lX>!h+Qwbao~64B954m | |
z+m;|Wc)^L=xFvqvIc^)`fei1ebM45DSyK*T#G$<eKR7eAoQ=lJ>3iTtHbHhXIEkKb | |
zhkf&v`R2UDxvLuMo@k*+_7sC?vn0>z5GS#Z&eR#0qS8!-H*}coL2_HKS+Dg070)ax | |
zf>QWq#44k3!nCNK#f@;m1muiCI(SvRdN;F*^!LYRAEKjS;<;t@9ie!LaHQ&vfR(KF | |
zouZV;t@4{9-Ie2Md?oW_FkDP&a%p05S}6)SZKswz;n)Z610(Fn^q-b!W;|_whNatp | |
z`KG1uahJbEC&AATdO#ieWN0Re1@uG6{i>W-U6BP<J`O{<>v!VS$;Ol|2|NQso}}`@ | |
zwZ&=2^^Yq(bayJFfeeg8a-mUj^o{3XQ2)fjHWU-wc+s{o4x316=DI34g>K2y+s=UQ | |
znMQqp_b{&bGh08rogFtj3?^m-+u9pXJO)7%vH?<wUeuwLY;W9f{)ia#t#-yOYyZRe | |
z*6lUM!1Qp({=+9roJ4I+Bf}SC9W>)Mnhg}fwOr*dW|)1Lm%8Bec$*l*tS6%C=i1PO | |
z2j}38!PE)oI)1zMQ03Efa;ReSA(Gq30pVD?+mO|g6xauz1jd2}k+T{O>R>6H&fG;5 | |
z!FajXq9W&Gm%H?ceE_dB)R|Fk6NL4`3Wd6p=cM7%50Rvf&2%`53^$Kyq0O<EbY<lt | |
zL~E`0ONmT_V5LVX-z5aDzg)>*bad&@=KM0>>Cljq1RsJ>B_V-TY7gxGWZ>S%&-Ogs | |
z=z@a*D^OHB`{~?jk><HV_}C~QEal}p1~$XGJBSfu7VdAT*`;IH)@86#^FML{SX)|3 | |
zFkiZiD)GRD{4&B5aFiZ8I{=PCmmAv;?9URfjs%RUp{rvCY;Uoc>|y9x(ru|0xaf*O | |
z)S%k7%x;m#f%{M}o|6)*)nBCm{wE?V|Ak7v<Gkno>D^ME;vTz=eEc{#Xk4~cf5`{B | |
zOs<6+69BQ?r9zaDE?0BdY@<hC{NVc3bo-UO-q#Myj87>t=_j$d&MX{xO#X3xpC3y0 | |
z;A*KDGUv5B{0POE!E$%MvL3$lUMd9sP9YJ0*47~t$Q}e9`T#g+=Ia5f^$yIHmJb3U | |
zKfG)ir^nP6hnOy5Vds{;OY62@5YyI`Egeg=f$bll2|v^MMTpw9@0l~UwV%1oKzD5# | |
z3Ie<^d{F4pd@TbA4eQZ(u;4q5sYO(PR;?Wc&-&(Vf9p1k+Mb(w-7Ft@Y)B$~%y#kT | |
zj{X>JNBC%7gINVU3^F!X2yF01RxO7`ci=Gkw6*Bh=&_EYq)^@PBjS+e>)_a*UvZVk | |
z#CSdtL3};*SRo^uA>A#v%P=qAP>9hQ9aG@4r)%`)^eS#~0wmG;{xVDOZTq<3`#kMp | |
z9BqWrqBhnt;aQ0GV|j5m?TKqH%j*44VnY|jznCi#g}(?Ze1e5|3NM{&oa_I8N^n$J | |
z>*)gqrCQtgf5L8NA5azk6DuYE9iQf(z#3u~^ZSWYolQmWl$)4uDBZUIuWHH#3*7eg | |
zg<tF!m)ir3TuMukn`@Mtgeq;tYY>TvD6^hvfp(!MAkj~Fnbi}(ZT8ko@IDjz7326C | |
z$1Mh>8wvs@a-4h}WF{>KR_I;l)f9#~a{LsyDycpZvjut?5L3uZ7pTr!*)U9dN(qfy | |
zYJ8Z7)F*2v$0q}0H1?HAB`+TF1K%^nAP-?a+TS}|oDBm``!-M4Lk9pg`GMyk$xX9k | |
z5%FsVpdg^O<@CuuE@}FYY_tEm9~-z4=nXO5+C*FYVugC#z^wI#*o{eiv0Khbf7eWo | |
z%Dj8r79t(sJ3iBcRWNM|n>lv6iDJKPxJVNyg4nCloS{y^nUY8bSD<_N`%{IF%>oV0 | |
zy|6rZIF(yjPkv-NQ!}m4Ino6nnmI=e{jWy!(`CRW+Qe@j^`T??+m)wsu$Q>e6zM`v | |
zwNqrM+P5wUV=TCM`ui7Y++jWTYR8=z4r^qr^Ei~_J(Lb^;+p`SJWlu!`jK1befXQ; | |
zX#RBhe}b%p@5I*s(^KJt8(TBw7klLXg9kHysfeimckN^(|MLg0C&ab>@x=M_QdSxN | |
zS-_6_&l<T!Uewe#`Q`h`)cM*YNlM>uj@rfkoZ7K4yK`Off#oeXTxi=j=hwE3uj`he | |
z;v0L9r<J$H9}^3IuD<>m<i_v+ao71GKV=IwFrAw^-aR&EPcIi$@jWD#h@QJTfzT0U | |
z5A6P=Ql&sn$cHR-J5rE+Y>}!)VJDOhpN>R|9IKK7hk&JAQEeS>>W)b87;z~!rmrFx | |
z$OYPxdU;#TnE+C2YU1%A6J&&Hg}FT)xO|xmQ*dWquO4&0%y~+6FMogCCi7ME-h(!? | |
z_atEUWtlc}rtJhe{5g(;730<J@s(0XM?V2a=O1fC7i*Mg1VIH<;{fZ?w0#DS;8+L* | |
zW5a^o0^zI!P)Q1A4aHv9<?Wu|X6S)?Y0`BM)HW+$pMnB-ebZsTzfX44jSi(i`WUc= | |
z3aF$|$ca9g-Wn&-LCb5$<t60~Ve#uNRzMZHY~{@TS0&1t!1+)$4^*%|jf=iWc{~cq | |
zYCHi<G>ov6^;q(#(Ld5nMlB<EQ{K4Gui$s1Blf#qMkTU~8^?fi8ZQ_zOL4a7;$2&~ | |
zM{MrRT}ZYRlEQbyQt0W%lQtoRk@$_?4?YxMH$=ZjCcYKEWK?Q7+s{`!xurJ?9*&cY | |
z%tIj>gRcoXoRM*PH%N)BGGI{!V`#*4!;oh+j$FGN!j_{DmWbkH<A8wYk&0wUF+94L | |
zNo(wNsW*A8RtU!${B}WEdxG2#zQ&>|5kJeXp|8<lrvyGYYBU+G%6<&?O*7fic&6D6 | |
z%NPOfkJ}-I=*A_S7Zjt2W<Dn4X6!O#QX|(Oevf51YegHY6&H^21ck8%DbSY$1k<c> | |
zssYt9O<ODk@|8`p4gFulg!prn?WMdApIx2OLm|3}P7EkcoJ#u+@6?J0L^@L#Js5cU | |
zlU2i3$1seODAsD?rG}J9g5DnoPDFt9yc&}J4(C{Iz{U4Pbq%0MuqV3TYa3paHC=Sa | |
zEMN<NXSTWM0LOkD8!8u=9U$p_(slY-SHJHJe3D6$FLAK$C9m|^H3P1JQ@wnkmL)10 | |
z3>IVNb3~8F0ShvLtRgHk17hjFP-cf;{6;%8B;}%x#tB4BT{#?o9Hi|)egQHix4x63 | |
zcpswe2?wF5W7zmqdPPyh5fYTy1yGetcc$iJY)jDWgSK?s0G4|Hvg>iZeE%5iai(yZ | |
znb)C~<h+Md5XW?~w$~pSah>eKQ<{Yibunt`g27o(56+!2Hy0zjxRjD|Rj(oCRPexN | |
zTr{m|`};|)N8vuyyYEH%tntg@eFj{yo6=y>d3Ict^bZrOPt*Rk+k(?^m4(+=+wSzl | |
ztCqTAhm^TDVTApg5NY%Hq-JjXW3AEbAa1Zw0{o_(&VS&z{;oPA*1J$h-P=b@`}HH? | |
z|4N11PnN@YZBMUbYa65m-FHii?Y+)}C8SoD4!@lc>o;!lz~-;kmdE(p7F)BC4`!y` | |
zy9vu%KyDb0rM?=iqLdJwDqe-J+fX!YauVee`n10x#wOh+<gUs+zIvm!0TfJSSL4-r | |
zb%aO75~CXo$|$&;hybgZW8%t`zi?>ef^p|s+X_?xvTsge+5_Fvsmva$@dirz|9P=8 | |
z03dHUK8m@k3|)d~p%?E#ryS?4LgGd<r!&a?Seg!VdbTX*_w6r?H5Ozsl%|3MxP2TJ | |
z;Mh3+qTA4`T-OdBh}l}iNxdTHR38gGpMj72hp=K0mj>9RP|G#md&i+cEvKUiIaiy% | |
z_ql=WF9P+nAWz~KeO7G-zrNTFeCO<o>?_iRuI{+mjmMP>!5DErLXug<Na_bHgxL3> | |
z4;3h?`KF4^z^n&iUpb&YK>pTsg$b_$DS8pX@{01(GT5MzW5V_uiv>B_d;iL8*?)lo | |
z>vUVf16wh%n#p>O-O3lr0o*G|fBx9_sXK;})!OpHQK1#CEYtBlRw|7;ouvu59d0)v | |
zV{V(3dq%ZM7nhooumLas)NW~nB6hnIF#bW8WW!=f{3r5+O7qi6({Dn+as=;pO~tYu | |
z;&5A4Dzl)%Kk1((*6D~+9R)g}%V&Pu<IP~XhNa)efV{~FI5~dx`yYIibg`oF>C+mR | |
zN$;?yxE0KFO9Z$K&27d&k^Q@;Z$pl?qkYHO+~rEkt66aE?ILy&j_a*>36Hm5ctt>@ | |
zMKdbe4utDIl?MpoT5|bb`E6C%*k(F<>922fkmOpD07vWXx=&Llz(QE|um;ZY<n%Jt | |
z1~d5OsGUQp{K48yEO)mlsd#V}qZkh=tYbg}e57`9FnwMq;CL)g0BE_{gWDm!aEmS_ | |
zrRxW%wj}zE^1rp|#ZAW|xiQ#aURxX>AbD5{(c?gJ$$H>-2o4p#*u$#O3tRd49uFV6 | |
z%I_Q7CTKF>f7Dre{g-MNN&XV1l!raXGqM`Bv1`-_tt?-=jEnv#1d^?PJ=~c->yOz~ | |
zGqx=OD75fE!0b44`6*S7(z>l-hXU*mZ=<)BSsKx1@I-h73K|X7qezUYdxjOnGgRMz | |
zqqQ5&9|#XQvWNRfx(6bkTQ?2T&-DulRR<Z0$0Q+~)QGr7?AfnQ<t5N(Sa<a!@{n|` | |
zTNwr8RrG*%8-Pi0p$3hdoN(($U%sYyE#8r>&p1ngn0GJGT#0AZTYb9do!}px0{VRI | |
zNp~c*P5i=S-^54#w4O&lz&QpoFI#FzD#igXB@uhGA>kF@`O2YZJ1veafB4UENg|8c | |
zPn~1(*r^UR@Q@&b74=URPhc+33B!`~E`b4aMA)|x4^MlwM}AL~Xrofd!^ghyk`^vX | |
z`MJt1R@~vjrI8yBaU!Or-R?_y{3%5147Uq9z~Dx0F6@e)lu;5*_{6pnm6Ng1*p$M9 | |
zfKm>iL#)lHOymg7(JU9Lau8U6eG<<zrmxnORB{dTJ!{q5shj|vp+Mar;k1MmMYZaw | |
z&#N?o*{A))A^ilmw2c@-kiS2B>BDXt+yYcluv65c@k%-YsD}RH;CBkTm`1a=DHp3% | |
zrrjXN;1h12%@_jP&dFV^^Dz9;Q4N!n`~4K8>PGI_pZ<7d^9TQ`>?-q38fd~Iv^h+F | |
z@wKDrh{rT3J#ITkj)*0kGAVG|rSVujwdN(OdGwNjkRu7*<F6vXXRPG(DoH%JK^H>| | |
zwFIO|VwGvpD6sa(O~$Bz0tQnmZrt*N85=VTn@7-xPIT#_eUuH!#MJ=)Sm0j&(Iq2s | |
zYVp}uF?*Gya^EM`CeGIY7g<ZqM!ueI{SNVU(U}Qy&7<KoJOS6#nNJDt<o_zIbIsAQ | |
zUOA?d&sn5`vHv6ZC{DyDgXiAgwAR(&G5#jPHj*x>o_hN)#)}_SX|0L~U-S9W)0_Y2 | |
ziLEO>nVG>dH9m1Rl*@Rwi<r^MHo?A%j)FbV+dO<A{so@2d9?9t82*(!&Hfj@MkD}0 | |
z<Vy3*_9thw3vcu2QV5Zn8~@A_Hwq$xVmw*W*g{;!<pzd$<rPecMw8Nm9G2$pfyJhc | |
z7aS&dImIkwmpJdgX`o`wWsa@wMdr$t3yAfrMGb<{;~`@jk)Y$aXK5q5&ZlyU<H(eX | |
zyaHi~^b2B%pA_|#I34(Raf{IP6X+oB#2QO_$Kd*PD1o|SccpWPXp8+F>Z%EerIiMs | |
zEl(7VeLmhSg7=6JAt%SMI+JG|G69Ua>^5&K99^G1&)S;<v6W4?Pz~7J>Mjdzc^k=i | |
zzjO`sJf1@FdW0cYLUD(^=;s&p0e0vbs<CH`V#yZ*oWPtEfMF!upW@V;oXM^GVz-^K | |
z*%k1jX*q=z|8}mD*?Vm!|5>RSqq5)6eyF13;}XD9+<l)yC`wAttFUI^6(ZUbG@~6H | |
z5u10D5tB3Nq1X+2%+3D|bUv2Zm^gwvMggciUF^Q$NQQ9*Sibb$cN{g3b~izN(6@Z5 | |
z>KR~FjK>zbG#Xf1=&<mjPh~HF7JL@^VmA)fPw=!}&#J9!qvUV)Cx6QDQ(C+Y@5>$v | |
z#Yv(+isAf1L;T$DWFzUc7CRSopPw>e=F*<r_&0pX<zGX_wxcTIpS&0dXRKWaFZ#`* | |
z>Ody?EP_y%(tahzVp#nTE3sZ@4~Sn@zoKTQ?v$AdiY_ILZZDy3K;)>Pz15e$ygrUo | |
z8Q>+HIxoU@x4oxny+DqXz}^vz|5O{Ut?mMSD|4^<?2;(cH8mB-LCv?DSzPljoFO07 | |
z+{Tlcg#6m^n!~@ImYn`xuLyE9V8a}*$oGl%L?~H<LN=v!ClCB>)2ZPRjY4uT|63{M | |
z5xoqNr(ToS7+5_A(a-z!kA(iEWbiFwyamLFNkuDZ&J0R0e#d_-dA7h$cnM&gTW_G^ | |
zFa01*+F!{n*F*r%-F}l$%sOyOM*87GduIYpMcu@gg%1&N%#E-Cvo7a6-zgmV9r_uZ | |
z_ZH|$i=g=lB>p(gkFhV0=I74ls)2KcXl5}jy^ZaGWb_ZM-F3N<$2ChE`{{O6kso`Y | |
z|1SuK=;Me4+*g9WzLrWTJP-RKj}iS8Vd|n`WW5_@m1iWt<)PC=Cf6vjwF?<K6Pp&q | |
zK2Y(0B`C1h$Ojiw$jD2$8Wkzh;4x}9);Rl6dv@v-ri7;)FZr|k4al$m)nX$H#$*#w | |
zR2?>0$aTS*q`XwM`zt5m$loh!QwsrmUtuzP-P=<Yx86N+=7QJN`m68-u;YaH_<;B- | |
z7&{&l=`tst?3eIx(jKJW`hlG79yzoi$euwNL$E)1uRSSZ9_(}XMpS+;#FO<cQl7}^ | |
zp!;zZ`$f#R&fkXuojtpg(ZV_8bU1eD1j=sDKA;U#)>)p_#tTdgU7%R&@mAl2GoteM | |
zYjkK(4E-Mt2Lo|;A)P$$5IXQ=&bT{zR&S+8{@R9jk#XU)U34l~M=U==za-m$&Y~{i | |
z=>tdg%39&NE90)CVv)~>Q$l$&<~Bh*ov*=ZHQk+t_!JXdzm}Y+Z-;Es2!D|N8*Wlf | |
zlOrd+`|Jru{4eC`=-;G~jK@pX4s_21+?W(nT|c5}rf;N)hO}o77*W;&;M!RqnB)r4 | |
z|FKCQxVNLZ94f*f9@)L%^@zWIMOyGpopX4nN`kS;hXQoO>gScBFI?WW&;2xlJo`BU | |
zgFi4!-$leduO3S$;9LL6qpJkxiejL<n|LQKGZ~rocvz_qsGb}DkiYQ!`_*)~^UC*R | |
z_QbZzBQEFWE`zBw*xjV?A@`~vsQt5YPmfEh7M<8%1}2L>f1)DEq{MDrx^!JXX7uO3 | |
zflx?hQg&R4`Uj@ZIsbv9s!qHh^x;CJ?A*RfMx*i{(XU_=@G|ec8RZm$KW<(Y4gz@n | |
zN~PagwIZJOn;<VpFv&=hfE;wZm={UBE1>u8?}fi0D%y)TvXPbd6gJ-Z#BNv2mInbD | |
zp1e$rN&x5gxb}zp7=TwHtzTcl>ZuT>))Gb+c|8%N!8^ip^~a)<IkX__V#%j>A24J4 | |
zqe!~CH12K*7CknzW6V7o%Ry;eq`YKr<H%iuj5FPN>b!GUa7mIES@}nOz{!mpK~rr% | |
zL$q+O!>Xi*t0~_-Pe3z;WD?lW+pYd3_J+?J16B09VbSL&@3H$cX#GED9Q2A!k8y&E | |
zP394&?|0m}S1TvLG&pmvBO{>MH%qqYM<O3{bNaREySdzcj}nk?)S!zvi5AvAJpNd= | |
zm+M7?&sjC}Rz@t6dVg4R#n{DQjG9R<evu%<|K2ZxlB~3O8WpT6c6BW@?P28opi}9k | |
zHPyS)N{ESt;U|n!u+s)mzKwukP}8|VaJW+df1L+>1ZO$IrieXkusGKjcrp3Mt(ne9 | |
z0`Cl#8k)!B6%j!s+w5<;l7fx^Fe}ydK6Bo!4A>C#-RO3-+lW>cbZ=Om2>ARWCziJ^ | |
z)0%40Y69v6Hp;nYb<CFNe~;Z+=9*i|=>$N)>nD}s4(&hQmeO(ai`7^p!FxJNljUu= | |
zPBc=%(l<^tn#`AqZtC~EtJvu-m)N0X<@}lN$slzWoV0eYcurYYB=A3gO*~YT)XbAF | |
zbS8h<i^kY0*9j9z%d9$g!i4j@%o@KW<7O)DmV?l$_bv$hXH|U!KTu#x#MR^$pbj|p | |
zR*PbRdYmgB3t2QTrfR4$ktGnNztZ!(G69FG!*WD7#e%$%tUF>ytAfaybDdI<YMVbc | |
zc?5Qh;wAU(U}3zss5@D%{10p3`qxxaV0^){`KIxcy2m;mihqLDGtf8Uu9>8RkLjgG | |
z3y5k{ui1N}G@-Y33(7h>-_q{CFJ%?&_|p6&5$XTL=#j@Dm9&AZ05470x7T{t-t{AQ | |
zul6)&eKp%j&21`CL<^sijSn}STqk}#a%V7F4!|R_YUz(pTIRrgVCP!(<S_Ej>3>`l | |
zWpd-B=9WcN@{zv2*X9jODkLa=)@-H6BpGe2HduN==K~Y58?!$j{TVZyjkWhT-F^P3 | |
zRYo6I<*zlY*YhNC1T38_Ovl8l+=OD1v3WqLlT^)v0wDCeApzK9@7|YGq@OP~ox4Y$ | |
zTJc5$==H}^p5MLqO~vrK3t$9(=rB5bE(iYY@BM$3Jdyaj<cY|2nUllEf0a2|xUQYj | |
z>h@Rd6xYA%r40X7FQxB)Rs*W9*6Kb{S#93R*a0jNZFLv>gynJ)j}1-5Z-<-=|4uKW | |
zyHqdM_zDPlb9?Rx=&lnH*gUHc`{5>VP4?-_a8)-NfWP!ezw9`ii>q{N9_{yQRX6oL | |
zbvDhSgm5RFxc-o}EE1b(S`|CJCYJdAANB43W&`c9V@{&77c7JQ`O*dAZ7=Y)TfWjQ | |
zwJ`bc2jdYh{%3TkNtLFrYD%mAcyP=1Nr~eAb#ap}wPZ5bCW~r-$~z~gNttWe&*ovA | |
z{W*h*v(&Nb&TnTA+Lmopi)lsLUto}n38pkVY6Q&fXlY!11m6@m1<<3+UJgBPz30+J | |
z`8OB@oXAhSGu<Wm4SIHFcZx0t<=Y*$C`DDG=xLAO+I8MqL-7^9lOT|f^{MdJiM;Fb | |
zEH_xY@@rKWXTTh^EyNs-xqp>xv0zt?Jaqe9Ak8i$((o?(T9&;Ac^;`j^0_*H@3s_3 | |
z#GCHb+{?fHQ2EP`kyhJlzx#l%*Apy9KfHZzNc+5On}~NLdgC9^5uYX;75;0`GvJl* | |
zFq@r-Hug=(Bhn{U7W$uUyonfq;RBql-p3WGzkS>7SMoNQq&h6WtDyf5S(~&W9DMNH | |
z=2hXQ0KM!uXREAgB`RP?#CEeE&H1IM*>*Dg*>vypy$pJd`(J?>-EUXpNaZimf*-8E | |
z3|V-;B$m<~J?<V^nfhx}vk$CiqX#;4#<XH54s8c(HZ?^8`<6#dA=&j6t=_6=n~I*M | |
z&pRVK5dLC#Cl>^lKn{_5qqO!-;L4mQ11OE_Gne)-xZQtLQZ5nIFbIX8L>y8o#T=2T | |
zDue;(oV_F+$KgqcK^dH=wJB1x+oH08aQ3nc{us}GD7*8V(?)tExggQ`InCGA48Pnu | |
zYt3WOF+_mG;%)JFo>b=@=M_Tz->M>quS}Z|g-P{I;f!?$RD~=KJo#n^o$0r++SVMr | |
z{vAJUiE6J4vE2Jy&=+aYl-LHJcCU?c5+tS2U5PL$IL=7`tM~cogUQX>l3rpC?+WaA | |
z($;oBi>F_wEB~6JOe~$SPsMfE5-Wd7)iO7<NNFG(zmy$_Eh`raNx&t5F&}^5I`**E | |
zP1qTFg)jcvv%7AJNClI0!HbB<d8inEpN{?H5ArY2C9a_VMgu3KW6Fa1t#1?1I9=?! | |
z8@Cd4Q-tv8(6_Z$POQikjeC;@sI&VMzyZHi^emJ#tp^inLx>BoV+0EkF6fvR_;bPS | |
z0{aquT-?}wI&3W1x{7!D)ngEL`zANT<*HK$@?@cGC;LeIPR5&P=Q<S(9Pn(5ite`C | |
z(|TnfyR;3{hAe(DA3N^Q{%Y$PK;C*hs)f!Y-k)%u(YGy88zCVNdrZ)(%<QpC<>4(y | |
zJWcJub#fTthvn~qJ_Zl6GIpQDy}nu?HhnOw_d@3E${9b`#konSIUaqy$9Nw98J}Xz | |
zn;4UXloZ!wKnPC9>c4yu%&dwP!c!u!Dgmmi7FQWbUCq~Y;OB)cFFGo*qH5_!kNK-l | |
z>(Qn6IKxW6I_yQV+_Cl|N@%c-4eMpOOyzBSm`!@`sOobEtDxzPBcVH<?YBR{RnT*m | |
z7YU_&{1$h`_)uOAx)PdT@|S;lH7Fl<`8X7XrC`|j&-+SIrFW&|%<4o7KCF_BXAVA5 | |
zvZn%Vy~UOc0hRI!i_!pxwYQ7V-{^Sq;a58rOcFfh&lKPFcAy`je^$bxlHSsu?Rp6d | |
zi0<7KZnj+6b1R&R@n701(LdH9qR{nuXaC+?`>zBHfDHFbm(Tb{GD4s(O|1dsDv_-^ | |
zE!nEtB+90{^RwVeS`4zwDbEg0ah`v(G*FRK+Me|WRRN2_<~`wzcv{tH{*`8J{l?^V | |
z=-f_Z^cyUBh_vnpr+mJZ2GTcU>Z<7Ylmy&)8Fp^IXmnR2>!ows`&2zw2!&VP+lHoi | |
z)z<VxPrid2bUGfkLq^NOZl$Y$!O%!To!vr<;^M0ZF5@;9PwjlQkZyw3(Y%A=fhKPj | |
zgUYTM6r&BuGo1gEO%PTl-Y8bJuB`RIg|I0NZ)6H9MoZYS*xf8LNo{uiqtmP8rCv>b | |
zr~|xd4FuS#W~*!QGbw*s>6cL;zDsM<A2hU^fV(4r8}F7<0GOP(q=~)dLl`d;)=n4! | |
zmuTZlwWX^*9#Z$lLYv=DUf6yEigErfG5Ek^@iCzONZGOPmhV+3;-n{FYYhx*MfU^c | |
z$2nrA=60bMBDPE2MUAo(fZ_K-$*9UfoTONnoysPUq0kU`C;G&c<(cg2H;oII1C{ip | |
z6%Q0zjaxoe1uMo`%*&==RhQjz;Nmd;Mwanc*Y5SP=v%?rO$P7<2_BeA>`@ER#~&$1 | |
zC_SwB>+iU}G~<=`DzYD+QPUA{`-ukqh%#KUuNDQd<BVjCteVEQO&omc?m%4a$pgQK | |
zhY#{1sK^tdo?*qMajzIofV4gs&k5{s>4aY-vE3{pa2Oz;*wCIQ{@HSB9q-l&<c9)< | |
znFNsG!Jk<)=VK3f8!D%tfc=_FyyIR`-ZA2-F&6i-n2>L~Gm4QTeJdtPzE>XHdrd`O | |
z3bp$J$`Q%Ju*Ueo?+=-$nBm#cv}t|sjR$o55>n74u?fOjcut)ABjw&=_mODcZNkY7 | |
z`(aDSQm+7FGa=#4HI+1ribxLk*F4UZ<B1V`s-QswP9p?vdh?}ziu%fKO!yN`ZsuEj | |
zN#i+{y~oNUcjQ26#~CHum-yy<H*G$+dmKjltHG(;@XM=`6MLtpy~?7_tuO5K&Op^q | |
z6jhVQUzLbdHu7(?<C5<y8<#+R;kDnbgp#-s_(Bcrt(FLpfH5vwpZy}+xtShR(Hj2v | |
zeMX7QrgNiDK)SV`E=8_6anL7Bwntmy{x%7Xu5!$-sEM$mT&3Yy@Se7p;>CIo<tX%w | |
za?bV(8PJLb1ur3FFik<LS|DM3yOo(7Z7w1)e%SkI$O}`G$>$zMJI%*8(K^4lCkife | |
z7YMv^c17R5RdE;9a*N9G$EuL^qX<-9>?m+PzgYvSPU}zfolk3?`0J~{a?tAy#`ODE | |
zb5{oe$76?8ed?|4x5u{qxjThZwr6I{cUr^9Gpi;1N^~69%MrI}B$K3r-x#jtbCADF | |
z(tXnKKDg_E3}z#~QMv}5V2msGH<NdK;~vSkS~-b+ZaF7Uiy6t>+Sd}%nm&m7eav`C | |
zf!J#hx6Wcp-(YN<AEbJBMz^HZ6HUq1<btxv`lI=#!DKfKq^k6|_L<?z^d>F=XE+6m | |
zF0r)Ri_#yTd8mJUDQ;F@y*K5hVB|Rt)U144KX!b-M!~=`+ThPk!AZ!l`1%P9%oE|> | |
zWn$!cC%<a{IuyNDFH<%?Y=0fyV?!IsgV?OG=(4c6oxo|Rf-!fJTMunXgi{?qta+^# | |
ztNJ<>j8>A%mG(X%h4>vC*Llm1n*I!2l2M#(H!-i%t2xW<ZFkc&2-csbc^F94pYQeP | |
z?VnF9e|<C15UZ9~5Q(DPkpD{DKX-Lpb4a>~(k1^UH*J`cpZm^SJ#;p^td*;Ja0q>p | |
z_os3ZCFHxyjS_1-sGW)bWA~GX;COyzo%encJP$7R1FOL5<3U$LJXtun+L(HHe~YM` | |
zs_}P4?$`|;t9<KkT-7J+fywkkTFJ#**!VSY_i5zmFdgY=zDNhOZxymZmO4z8<{$FS | |
zp3%sCUCOR%k|Z~b(wLLOdRQS@uN>$kA<_eL5H9Gf%r`#PJ!UNB(21z1kyTchY|pq` | |
z^TN<i%ZeLC>ch1OF(NWzHO%Qe{cij3_W%9Kpr|WbD1k!d6)B-J2}t<?q=CapW_iS* | |
z{}*|^t_rV|$Gp2pSDlKyP4xH9&6~rl8E!hqhZ{}41rvNFWhxkyUq+3R&JYDI+H}WR | |
zc-6W6h<9tUxlLi56FR6tcUr`*j}u0io;^p;4uTk$((mt^u5I5)S=7l$GsZkP7uKZP | |
z1fn`qh%Is$v05p@B;nrxa8;}}Ms2ln>{Y;}LZIEUs^Hu96G6K{3=g6;^R<S{cH>%i | |
z?aX();*rrm$R1MP2-nrQF;_f0;j#WNgmr_!$)ZM+<JY+vPusiUpdul|*A3U_Kov|~ | |
zM)R0V32ELltoPXFpi68&q9@|=q;i?}9#&4}{mFy$N#xiU1ES{cjVeUheN6(ptGOIz | |
zAY)`P#85%Q4d9E(e+@R$e~Yfe-q>41k4p!TwFctiwucnems4wED0iNJrKD>D@HZ`x | |
z6e}ec1EnKVpiAwnH|iwjk;Fw%+bC@QCUVOEX`k_a^SK!ZzByx$H*j^{dMFPA(p+sA | |
z$&h_ssFt0I*2sGFRZM|xH(Eg*a?GKYE}Btzq!zsW#cU#NTJFs%@R3<VSV~S<3W^Ok | |
zpXPf4{5`N4w^rEJ`Ow7cV^>_qmGyP&(46$ySe%|>VJ86Ph0xg<VaNL(eYJb-!OI(j | |
z(o5s&D%rL)Kds*FP_c4S!BZP?bt|%`eEeRHmif78*S|!l-T#16{rE(c#^{y=NiKKg | |
zVpnA(>&{dwBY*u$)`auu@I)OQluI4_?z2R^BFPbDY8enKV+k=8v4zRT7v0IHmrEkH | |
z39ZsVtGS?g8^+Q{vQ)qHNGXR1i%0n)K<5E55KmPR@x8;#A2`By=rbB^TcqhFeEjB! | |
zt;d@JFwsh8GA3D26%)qOcLLRfnNL{4g;v#q%ZvRWNiy>KR}+{kCwF90XmD_?!_C`Q | |
z&K%{YXG{Ex#?}7UDy;xt&#ICx2gyhMuL+O*?>F6&a)!FIwjz+*f-Y;Yx}tgkLM`Yz | |
zuu_Dy>D(;264e}<LaD+E_OQw9jFN1i|J7yR_-qYgJP6%<AYead^D6sZ<-$wLEa|vH | |
zby~afX7^oHIbrBW@DQ`4-H};WirTn>@Ki;-!EYPd4u+4dorh>RcpD1KYd}%&#^g8= | |
zYNu34p#t!vB9WjJr)7|FidmV!3n@zamw!-UVT5qCpfF1Me(28AUXnP5Z|+L(M2Hi& | |
z^nyO&4?i^jN1FCl<C=fU+Mcga`hSqa|2p>2s8;;$|JDV)z6SsLO&{lbQGcc9m+xmO | |
zB9DfzQ~U@K!mi7DznA$`-uCr6)%x9ZB|{Z-0=OdVHCXu3ldUJO+eL%$Y04(+uEXza | |
zzegq(L_-^&Vhdxyv5WqD?txEN#3qC-bNvgl0E^+8BMSPfP-LZgE2U}rQ(RMU+Zxk` | |
zzxpvCBGOrK@T+(%$H|C98>SnKl-R}<aIZ2<(-<}{P3D&FX^g{sk~rGD`4Kxc&xq%c | |
zl2|ie(zEw`q2qF}U#pC(yW=ENpWS;2o9-J4c2&Mc8n6fUCXGbWw|>p&N1xB-agKj| | |
zn4%rmR{DDhu%KW{xzmGEV6nuSF5cXax2jsAxEHQun6?^4@amWHK>4qfsSVvXMl1%E | |
zD_;sarx)~Mp;jCt41!AL6I3TWPlg_vlXI)~f%|~dvL!&e`{HcgR&VmRo;>Amzy}$n | |
zUv*PtJc4!O8MYs}DxRv*4Wh#--GclQqNpe}55G<$&+C|PkI^P)h>Zy>w8Y8v4DAOv | |
zU&{jsW3~QH6Zt}`8`ScOnEbW|)rl)MRTNz*7`O)7-v2y38tt{1E!?(53Urzu79rMK | |
zr@L3GInu_fMcVe=d6y-QzW3ppHbK^i^((p&m>M{p9SjWEp-yWTVd01aCxB{^;^b=q | |
zcdOmZaZP7NSr?TT6h;m)a>eC6WWGC3(P=TZ$M)xAEUMt(WMf?ZQHw8?9g~Z}4oX>4 | |
z`SVW~^SGwOJS9=@87cf|OSSax#(^JtHo#N!Y};eW=W?)2CWyqCLga{8>Ipi|=irtv | |
zrtf*NeI>iy(I!sq50xSFnl3p+Z~bIsl5sjy2O_|wuT}fqgTkNx@8tU3>^OFuFfQqW | |
zca?M;@5=LIG~OnGIOER5q$JqfO+onio3K;<A8L(Ql}#XFFLIibsJg@PQ&7u&TEQoc | |
z(rX#I!vwnjT7gynCki)e$0hvX(t*gy)3cBEwmUzHPQMs#YHAwv6EwSj{=lV)qPz+6 | |
z9;j<raNlY~&eis212kbTAbAX`N6q)GT;MiG+V}tygjU+q?YBl2Grww)Dg<l|_~wD) | |
zUq(0TtBK(O8}NA~dsH>O@8Jz%#GaCHJTb9Ik>iO9I=;$q4ctC}%h$q5B|u$ABb+H0 | |
z)Cduv@mR(k60&WPU>esqD5{$O0e=v<`OBuSLlwJaQmd%*L8J|uPJ&r|OozQB-6;R2 | |
zyzzbZ`|Gz7A8@~B3zb=5`lX-%FuJW!%tJ=?A)ZS=k&rE0;jV76;5*td6_ZeoLM^3q | |
z%Jrfu`gyp9!$`DE_sPJV{k~1P&A!{PL>7SNXlB>ey3$5!ch(Pl=sUf**|O;eI}iC8 | |
zN%VS#p1`nW<wc~Ax#|5Na+>__5+v2$T_I#A?M;tvaXwQr_j+sv|3tvP5$3^tTiq(Y | |
z{Xn#Lg@RONkZ||)-HcwQus<&GUAzp5U#X@F9*BN^ald($DN0|G>nWg2mH9nO$Rp35 | |
z7nGIWniggTDY8rQ_}qK3A$(@=?9P_&0%8AE21HUZDnBu#<aC0M=fm|fs8v4;26{Pa | |
z(+4zlw)~nzyZ$cMPvo67&SOdWlwX35o0jL@u69ruZenxM1?z%E>@cQ{$V|`WFqmUy | |
zz^3XkZeV{U)w$Q+%kSnQm;wOtoNhkD@Za<OA`=)J(gT}}UBDFk`~1n<-zw>uYm++; | |
z`?UShNRMsE2Q||!0^XPN1uf+;qNw(ft>A9o-um42{Yu)fcq(M%>c!!_CSxt*C(8;U | |
zl9Sz$3VQi2(|6d6-7MCATqBh<EDN~+n?jt&LN53*s`zP}nQCmJ$IcqlMk3mZkP79; | |
zK%6}u-;ZnmJg_C`^L>kbr8?o;k);>o2xxM%$8hzu<&}pB{oTqbSj8lnefKo6fX?E| | |
z<%oO72eS3iAnUJEYwBVod|6SMFJ6Bc&Iw5aJ^MLZjGk}Qc59E!`Sk3^bES7<V(!`E | |
zXFRwhT;QRMeK27N&rXaHxCn|poF9i^@)!IhCm4M9AhoOKxF6`^Q>Mox@iFChmd947 | |
z<0zw5KUW+^ESk_Tnr`I`pYu*t>=U>jXoAB`nV9Ib3D5OXaeL1pj<AcBk-E}pfrbd& | |
zLS-#^od1H80Fw|aFzu^C&EFQh5liuuloNvHb4)Ul$<YXXb^CEw;)QqwiB6YUCYT4O | |
z3tpZ0N!T$>{&Sc~-a>hEG-zk0^vdzW@_K9`9ll-P(Q%H#9b451ss}9go_eLwu~hEv | |
zfv5aU#^kNmbr-yusTPk}ZyLHc;2W(8O?+ziVAhT{UHX~ZEF{1%^0t^FY*)6By7_02 | |
zf|tFC$%!h@>B;)4tMN&Ff@C4JB1aHklQEv-BrJm;p`Xz6XtkFu{z@@Bz;XjO$cT3J | |
zy8xrh&A#qq8Ijwb(-J^)XuuA@e=VrXlI}J`EI!|-C=UKzb%mlF261?WF^**t7C4Dc | |
z#M$qofarp=6@6T}zw-L$vm*_3kLM-h<v`Y!LX+Z@O~;6AT*+UKoOpZZdfDfuY|EB& | |
znNU6Jnz=)AWzp)2R&tKsqYA=Qi@jR}lz+-yT!sK8KMpRah&R8uSdkSUL!N(XDVrBF | |
z-l=5!det3T|9jmrq5Ge_-vzza+68`7(E4G<_3Ei-5MI>5)DNVe9yqY$jh}_TIW6~N | |
z@sE&KzbRoMAAcE5@6kkj^p_Q(NGE;xLE`Qr1HXmg7b%7c2Jkv`Cr;$jz|6SRI_hxu | |
z{!;^E``J<i70r*v%aKwI>`T9$aYje|N;6xp*45ShpmSVw#_WC+C4A6ioK&v2`Sy{S | |
zUO@FlsqgYBW%HX>w^6@WErF%xn-{pnha>I{t5H~YufyiSx!;Un+>>r&XRN*ca6=IT | |
zF4gnQ2W8P=Nm?5LMDOnRN&z2ppPCH&$i>>UU4HzP#^JYcxG}|O{SD<9#>8mOi}S!} | |
zO*496UP$E25mcFS&8_%7cxtelCbjzDdSsFAYB*8%>KmREr0K`vRb++M+~TZfR(|2q | |
z-BpNt*{`V5UTgz!pc0TdFg%%WuRz=5zjo2VOkR9R$vdt*V^o&&eH*COCbA4aTPwm^ | |
zG`lW`d0t9^jj+D$z&c>#%=sR@qLD>4C>`i@D}TuVe7Rmbe)#nC>H5G!;ukaJkAHCI | |
zz*dk`nYgjAqWLe7ONsrJQdlCO8ohiL8|VLRKLz^fC&4otlT6$WdK%!+^ZAopMiX{y | |
zzwivK973gBnWV$DrY^bj$w6-dt9_}l4{WO)TY0dlR*k!mAhInQ<!4R?GtKc573Ryk | |
z7cQr-3tvp2d&yo$?H3)#y?S5AHOzf-^r}N-pxo=>jU<=P2$?dyjAn1|Yt^adyC3?0 | |
zd=+|7O0g-xkY$IoZbS&&%6=wbP2Bmet1&9VhPKVnsWs|Gadea+UX_u{!OC)KxO1}c | |
zA<GS(Rg0<r-mUh>W`XZC&=(r@sy1yL;9+>{{xT_M!1L&+l_efvnwY}u$;}jSNmE7o | |
zo0LxF#+S@tUdrdRgq3k0gT~(cp|LzoCv|Q`jkF@e&em4Jm8Q+7-~9D|^~{9;;fHfr | |
zjG`c*1dis^tJ$FvAPXi+JshF>v6Y(YO@bHZnZ3}}@thdO*RZH?L#Ml|EXbf-)C>Mk | |
z9r4tjNso8fR8n&MXvlTf^tQ}flR?^#lb_tENJj+yYZiQ|Zfep{)!<vyt^9xcRyz-` | |
zlZ97s%VT`*cRd=9oJdhk>^xr%`{^9r)a){WK9;w=*pf|mwTn0Uq>E*zNsIdiH3C=v | |
zI^r#u13TH`TG4Y+`z0`>lAoH{_XFU2eZQpu;2(9#(}#U5W(#ptX#pD30MR|Vi@A$k | |
z4OuWj(Bn!!+@U3CGPMj6T?)P5VW>>y15r~qavnwjK)#KwM+CTUt;e0<&tB~&_U8dd | |
zRC9kAk(Xy*8|!pz)22><vaKV#!(hgeVW6kwt7AnmVI}@99$W&^P()c@Vv1Ra6o)^I | |
z#PhKS#>UvR96ASnhoecqv(JuSQt);EX?5caVX<B1L-T#0wt6xhJZ2AiN)lq1eVTtt | |
zO>Sv#+21@~zv)6?NqyW3yG=>P@h<R>kr;bcTR#-yDG4O`h83hpB&|%p$H(?+;=-?{ | |
z0&1@hsHXy-Q_V+#&<Z}keH-apFY)#rfu|?OG#3&1GVj+lM!?u6yx(PeKv7l%nJQvB | |
zGw_Yc$;9-Cz>)-sI8+Pl9FAfK0;J%Oc|tI<az075Xg)^*HqCHR1s*4XoinppUBX97 | |
zj0b?50_%`)2y>CK<*U&X(1}K>aS5&;x@P-GWfGDfJUyl({hsQ|WK65!2-N$+XW&Ui | |
z78oY?K6W)xb7kiOyx@6^7X4ZQm9$fpG5vwv3J>Bo*qpi9%`TgRYTZ{fkqafcJC(R# | |
z6uKHqFQXAEd*U}Amj*ljNj2L`&G*QhHKG?{PcNhP*9FqkN))Sx%=ct&C;oPq9+GU% | |
zzi+Y*JJv){dEB}kMHE(dcZCXsRk@sU#?^VkQ9TN-#uA7u=%RY-xpQv}S}s9PYdPfm | |
z9P`B)e1-Usn%_)5=r<4IkbA2Po$}OUi+K!0a{AJl;p2W-`Rnns#=Z7_@zZ+7hB5Re | |
z^rYZyFC{R?RPqv0e>mFbxl;w6P;Wgv><{@d#9#!LIXe=kC3tv$=+F`P4r9z9>hgcp | |
zgC2T`4{3M9HqPrAb-~FI-=M|hOa@k5WeTDPGdCyXxdfpNm>;PK8%E`yY^QEpgYM>A | |
z%mm*)T5sqF#CKSCAl|M{p^x|G$KwY10SrCbOTnhn@?!8eRF?W!-m5K9Q?~GQuYuD* | |
z9c$1`W6xr^mQxbKtFHC*5;~EEYai)zZX2nUQ-n=1_@6S?TAuqqh!Zb^BAoqGbEG@7 | |
zK9Dp$lm!1aC+(BC?Vhd`Bgk#T;{69P-E$bSKzni?2bMfv2Tu+AUy2yx=9a%4UdT7& | |
zG_WV0GPQ7p#2YslgRXM{U}=LH>u`%dPXLChbu}C3!MnNUH7-WCJ$0@Oyc(&W6G|>R | |
z`V9?LrGRzVceoPFG*u73H#X9XdbIDUUMo;A!$NG0dS0ejYE4Fn`LX0fAt)q6%I;P? | |
zvq9`lMZO0X-)Rj)Ba6}c*q*M3?+T4|?(+3~V5PkK)F6hhU0w&%YQB5e-&iy^4#kMf | |
zHx_}lD^VmcjDZAVSfiGl6m5t~Jy(rcQu}~G?Gb>)(n~b}Qh#_(cF0IauFiV;;T`Ej | |
zWgsW#0u-R-*l)i8crodDk*YCZ*)&6v<?ZEn)B|p$Z^kLYzK;M+SJpd80a?{DHJYqZ | |
zPab+>i()l@s+)VTQrb@0Sv};)-Ke}MJ%P12_(v2bRhLAThJ|%@8xqONmtW0yby!M5 | |
z0^Zx6%nw*Bf~+%NQkt`vZC*st;Y;Gh<ely{d(s#@6Ch#AwRdg!4P9bo3Ey~O4MPn4 | |
zOmK0z@o*BIg!=~F4x`uWZTV=;C_eX1#!-cNt9}Z`--yfb+o;(O!y)448*Q-7l988l | |
zK^^CH%`i-)=kz@86Pl)*9Fsak5u~3+o6`*eU&P*;zQ4r@xR1&<&2whj(w%~(F~y=w | |
zUdF^N`{fUuZe^37FlX%J1S9P)y;-tHy(GZUr|&O}A@2YIC%`(wB4}>h@=_)Yc7Vx& | |
zIC4S{zZ~N+_5#g)ACRR5=mYRnySr}6>uf^Bag(SKuTKVa^g~g$XQr)0d^A)9548U7 | |
zi+7l=LK)jdd23j~zqz>Yf$I|?a%XB<n)|W4^n6^yCjO&9aB00rX2RQN-l0NoUidHx | |
zK>>OF&_^LQ9Rr;=DdJzSyp-B5B`EOIzCQk(K@L4}Qn-c9xu`f?hv!*|#;$d%Gw!$N | |
z@iOFH(ITeLb8AMz0q<~tc;Ml#M)I-H>{0->ZTehFJuVPWW|4Qa@z)limk&V*v0yYo | |
zUkY<A<JmyPcE?W3_m#UioGVtfGEfz!c69s&S7+MlYP1RT->LE($pg--x9nPa3M4X) | |
zkV=v~@RmHXiR$5OdBM^|SuwZh{^=MXT~xE1g3`E8-$55$xq4Rhaf{{0J3s9ceQYV# | |
zANK_jub0C2*$ABYWe&$iQzGk5iom}tJt(ciO`#(0=ThA>scS_Yj6gj*Zs6_4Pg#AE | |
z3}%DTbsBsZR4MFbRXT2c5q(EB?|+e)$_y#%hlN9&E2UAeS{rDsn12tWGbik9*)swS | |
z-R}($w1_Z$+Gd&EOkE0Mzl7NB1>G$ful(-9uJ%XBQ*LMof;&dp%x~L(OEUv6p6|C0 | |
zKsn=(-=qgENzn!p>|hr7Sp@JgunHKMa}oEFK=$Ql#rQS95Ng8Ymwk_XZY#Hme5`t7 | |
zm-y=cO=2By6g~bT^X+D?n3BX(68cV$9QU6dTJiz-w|IY3eA`GNvNhupBca#9va7Wo | |
zu&~nD(-(v%v3{4ellQqV?!I(_uYKYs@Op=}Bz18oTk;OQcrjX)!`T`G^50h77i)BR | |
zf0hpA2;=uj>AUccIP?ZfphiKqoNF7ues!E*oQy&Y0x&R0?j&oL1SxNr;_um<-$7df | |
z!8kph?jIZr(kL~xC$M=G00Pc!Jsz}~qd|dRV4H3;fFXy-dEDz}W2Z-tua<#z6#Eq8 | |
z(8Vv{wq}_otyWer2|cpqm-pFJ(K*ATjbZup#A}J|uL*Ppp?cAB($@U~qjm1B(HH9= | |
zvan1%dx7ejLF_vZClAf*raFHuX0P$8Se}_x$mqphX+ONy4jQ3*H8j%r<1>1IIHc57 | |
zirtx<PGWmbX6eo4?VsNVlz)8>cImXo_Jb!O<q-&q>VRK0g+2X7u|Eov8-k`UDlvzC | |
z-*KS8|JKfRMm4pqTa+p-DhMJ?iXzekq(}=O2vVd&q=hOFP|7)g)Ch>6fC#7vN>@rC | |
zR72=d5EPK25{gI@kP>1L43K^kIq!MyuQ$dU<Gu05eK-5xT5HVp?X~yX>zm)4BlxNa | |
zA_gT%gCg8+QX`int5BxMeC;qlRMch;b}32xF;1_=$&3%7i7pCa`JtTb{#yOgoOoX+ | |
zhXQ7G<`^ZV;wfA0s<_`tF`WJ8O&k(Q0Be&nBEC(HtZE-pETq6FAzI(NB9^)U2tFLy | |
zzuk_y_4@i-ae)Zw3GpUQ6V)LrNadEdT0};Yp352S!Q-%e)DEhRT8RNn1I8m$+o<)b | |
zy<sxoLBWV|-%Ar?^qo(Q;liTAki||7B4tm|A)cyMTG&4pGcx7%p%<1eZtB!#pV@YM | |
zuZ$zNCF}}VZ@*<*jY6|TJ(iria^dF81-}w{BcYDG_`)7N2NHtBKKjy#u?iN8y?8?` | |
z*7Al}$EJ4kq%ZD!=Ei0N5-Al)_0SI61vF3NqM_QcUppHQ6Vqa<*y72~B2t2saA@YD | |
zmFf-%kWuf_6~$zUbcz8#MYX%tkpSn9>%SFF;$1+<34Tt-#kLm25O${txwOa_%Z=r< | |
zku{!ly)iw)oi}9wvcL9^cW;+y;77oWJ&y_}0J%jERekC9%Ea;Qg3TixD;Z2Uh2kAB | |
zyfRB~xXDj;3;Qrh_;Pz-C-T++bQz314!>_B1nDq?QS0ZT%tZF`+m6h4vW^iM^&ddB | |
zUk$ffmze-*q|fB2qoR2^>o*+vr$oR}eFQ~vD4zYc_;uf(96YxrbWXA;ZRUdoNR<(T | |
z$9%c1uP>w4>&C&)juY=EvVLtJJSfj^I7a0YJg(75+fkxvZzE_PIGqPL-O&k(Zc#p- | |
z`rb9rWSOn|gSPl}_Doc#s1{Mb9lJ`wj%JajsYx=}*0pFt8VB)p;{E0R$%;8K^&O4) | |
zU48M%IoJ9|TEqCIiJh(FmCwr)T{DVBq=*>HuC)2DYjue2y4Y5?hmm|g6`d*w!O+za | |
zWKL%6OHt_3BKB35oyw)p53mQ!-ZF?t6(vQ$8H;Lg3UTJxRggzp%x&Lhij*P+V}S@- | |
z@r{}{0%+q$$dXF>!c6Rncl3CKUhUETSo(~J7!4EV6yiJ@VKm?U@vgVB`;gMe758sh | |
za|5(ecg+j#PVW8!$y}JWN3o6+2MU^KUVX2ivldmI>ke5dq7-4tX+^<;OLYp*pww;b | |
zK=O+BDX+ntNPd4JKqQcTx$m_>>)lbB_^QSc-Y<$8M{fkP^NIu`MRh*x%tY9?EDm5% | |
zmR{`lo2zq&o8@wc-+^UrI@FU<Va;xxdysY&vRtke(tM>bAXjmcCoxU1usQ8V05v{q | |
z7TVGiN!8bmU1!F=>l6<%!4dedo4T26Bd;$UO6Or?+)Q7Y!1)5JK>Es5>=c1)`J8KV | |
z`QIK)g5xWM^tC(!X<08P@1QCxK0^a(aEb;NHZwJW>V6gMa=#uY^L5us{-;v<I{UVn | |
zbyKS4n<a?Vvg1LE{cOt_8rL%)m(W}|Y5wHdn;hXdMi2Fm?cJimmBMWLYaz^`6mK*8 | |
zo%U$w^IBc=;1+FtSrwcAMe_l812YpB=akS@FNPQ;P<{G8WY7-ub-5CG*d^rky4Xv& | |
z)<##Nbf$J@lLN8(DA~}ryNDi{IXYE4rE%zce2r*3&g8RRtFrR*^M<dCgCtKoX`e+N | |
z^?<G8zD<DLXhx!u_V|?CtT-C|F=Oi5sQJ6e9o|d27ri^~TEuV?VLl)6$L$c*Sr1aC | |
zjs%4u#13>Q@GAOo$2H(n)F7_x#LUmLH}Kzwbl6Ghf$?T)jrrNO1e{D<zabjzN-4G_ | |
zX4m0Uf*us?9^VnFcyWoMeZBzc0F9|d$q^fF)eV|3Q?1(f%xFp)M}~oOwXX3FH>5kp | |
zYuz5xoR(1Y)n3aAEMYkdHG1N@G~)Lpipf#|d&;t(raaE*aO|{1Yg33RRWvx|KJX*& | |
zKt{sF$PSZ@_N6+lSd{<$0BGRe1wS2WIeT5&WB%Z3>aHuT@`bO0BPD<hLQx2;9tPT; | |
zh+cM@fQD0CCTMeu+ja5M3AnG5mtnzgBb<hI#DNryo~~p-;Kx@U+;-FLyOZl_{C7v) | |
zzT|^*P7z?_K-Pe@fHE|?6$Tu#fCJ&I)jY$go{;d%m+eS^Q>Q$zs8B)FFt82uTyvdV | |
zCTD~cyuMCWZBEysIZKwF4ZCzHzk4-1yL=d!#b+2!t=b06_S&w1XXJgtJCsLIJEClD | |
z+X3E6hUG<h<2$D<+_IZC8aX0Mq16wi`#o`Y;#w9lA_4E0<h2#M^#X=)RjUEjWTiB} | |
zq|0iLp82L2Pv*GeR~U^%7l9GB9LU)VgS=_=GM(!qb{{@D;*s)&Jg3q2VUI-xJguV9 | |
zMHQtL@b%!UI>HvPDmtcoci~SM(8}1#1wGezQ~im(UH{bx&~4o{2Wa8F!e$uC_eapV | |
zs&aZv^&BxD>%dUbk{mbjsle*!Y)?fA`_KnP6{u9I%_;i%!0{&Xk=Mgsr;NSSaRi1a | |
z0bJ<gzZA>@Z`y$q7{@ed&Aanm=~r0&aw2F~>$?e~Mq(@E@9?t^<~zondtc7No}|S1 | |
z@6T~@zg{!8);0IHluE|-v}bcZ*4Y3NQtNrK$jOJM_Q>(vg;7$PyiO&3`Lk{@{#SkS | |
zEHnJxEC`XFzwj|M`R=SdDYK(z9;Rc_)^uxv|K}~_mVS1@IXvzPFjg!L^7Qs;43<qa | |
z5mP*d(xy}r6acPUvNlrk*OGW&hg+|M3CJJ^N(QW9eN_FJ89(~>NV1C<gc7LipYhyK | |
zXzfUoLCU<=83rhfDi3ggGE8e#)|aB+1dU3x@S0KDKV`yzgBQ_70!ibhXCG#XDGUF} | |
zQJZ8-`~I_ReS}W;f0@}heV?1W|2+k<N#~0Pg;3=1g-|nZ{!w}=aIWOsHFvciKJb~L | |
z=ZX^2VXyMRoUUg(w!nB9-}#uCuov=AK#mCNW0Ym_pT?!BBK12(jE_Ei+o}MHA-k;1 | |
zwNXLt5<x1VS8XQ1;gn;zP<MU{{sGA)sPsHf2=yw#w0kcKFWI_?&y{HxE1Hdc)#HxU | |
zi^iGh4*_ja`L7CgBhS*#biuda#7|#gcx2oGS4KU!4L?pbZ?EcUNNOw62Ydxtg0UzB | |
z&CGL*P(j~uY#5i@{3&dXW#JS#5+?eZv^7a-SWoyeY&-MxH2|p&Ds7;uvvqu``Ey!# | |
zx=|pab`@U7diV}Ll+S?Iz+Y8O=Ry79b_7#*z1__g{!<*+%kQus74Sj|=pT>Z1mu>o | |
zlnjk+>USG%j34Caxw5ce`|#w;yc1%kpwt;>CeKM(9oKtDZ>!t&FdyP-aN#=1t(}}= | |
zZj(5A4RZ6Or$j{Hf!m%Hn<27hhd*2J0Ho#L+)%i6Zi8P;(fE+z)2fAp+sTt~dN2ju | |
zJulAuJDC5Q!N^8srb5>wB<oijyeu0PTrXWa9c#i=FSnhj(%&2+l$W<Ddf=5;<FUZ( | |
z>kBF>stei&Z@J|OKD^wVJoxVYZ5#)aKn@&~6U3F9m3L_F2-C(uN3q3km?uHK`93Z! | |
z>F+J}?lXBfePi|g4b$r*H!eNh?dx-`JCcQ|T}A24Zy5R0E)A!r1QexI`MRW-CLcu^ | |
z<o$+Gp1P;@JGR>QTm!#h()t~1e#aK!>u&uU24vCvuYZf`Q+vG3fMOFQWfiA%I9*9e | |
ze-ae!!hNv56SuWld2rX1qjoxejQj{%l?(%dIYEDdWSg(dzdoUj6myst>wgtKoyjN> | |
zJr{sb2)31YKW*lSdmFyvULT_E6JjJbHH3FTKt?8P0x8)M2Xi85lfw@p0XOT*^IS5| | |
zhGhE8w_!~f>9DE77`4pYvxuC<5><3S;I2XzBEs!}fcox3)a02tv>%sZ+(PoZENHtP | |
z2scs&mwVM62FNS>R!4TC^p`&A3Nd+X4hOdLS5iy{%64dlw_~@SbY!T$Uqv4I^+8@I | |
zO9eh328L72!F!Gj_3%`Mi|*oj)gKgcf5m(_D+u)6rjB-_4+D-%F)%}F^KLcOe>ISu | |
zFxl~?_WYCa!FLEum{3y9O&rCXALHa?q59ZOin8ZKuNhv&JJGKRt1(99v?T7Ru(S;~ | |
zqfg$g*Shq(ha305jGyDb3P9RDR{FKi)n_feRylnxp<eRFANPVaG|(R^%-;*U4guXV | |
z>ZFxzvdoP?+EY&@%bF~JnkD^ovs+*&80shF9K=u5SV1<sd>qV3RwCe!L8@-Pv-9+` | |
zm4e)v!}m4~^f}u~TQZ)i-AWO<H+w|wqL-Y1O&M~J;MeAPF8d?j@@PVN<}WWrx>3rM | |
z5cgFJ=k1sQ5&Cq@&oW@Z_K2}(AzuE*LSKZW)z(C`tVLrU(FRamWrk<HcPmb`Kq|io | |
zJouAW)ShygO;ear0Ywvq0}}=NYU6y5cqg)juIeXmpnnnCy78j#hdPuuA2&{_2^dKF | |
zA5P&FkfP8gq2<DCpIGmbQ(YoUi{ArM#7Hcbf)L|{wtU$>#So7VGbaQyx!~4voD<3a | |
zDcZMu%eCJq8+03*HrsmQC6dR|xO#)<<sbwd|2G4`=X~h!W1?KY_q|Y`qwh-F)kYnu | |
zD?wGLzdIk6|CfefpUTkUdpt-9i(G-G3!?@;m;UZDi1Xx@715gKO+@Y~UgREcyEdX} | |
z1ff!s)gDTu@M?Pgy_w-=fdQQ*cttl8k971#3VGF!tHtz5*wWV*4F7L*xJZQ26Va2= | |
z;t6#k>>bfZhdIB1j%V}p`^AQE2A8EKWS<*vQrfT{KC@dxxb9v3+XkR}g^H$11r%co | |
z)m^7GV`ns<Al-JGN_XZyLrKZYnzo^-b}O{~L@zUlHJtkT^wjmwXZj0nepd-`93voy | |
zQ5rNd26wL53>}uf#r3js%C+HtKy3dv)c<cN>&#UiX7ac~awX8J<cXJ77Ll?OD*oa0 | |
zOUG0<aKF}bHPlQvocu}G5OykQ%(iCTD!YVGiFcwi2o!@12m2J`G8&c21G7^PqVXnf | |
z(8=5hG(LrPKfAVp+t$3HjhgM_ueVODu0<`SXAi4&s?WNvh)1U!xKh+pZdvk&MS5<t | |
zMO0+;6y~4Qb6rHJnNHjzC=eSHFJey#ID1CiU4su~`h-3;#!6A4Rk|aVkq!8DY-|!k | |
ztVwm{iCYVpYX`Xw@iFSCE~MZBsLzP0k~K-pc4bbBHruhSG;^+=&sI+%BihGyByeAX | |
zO+CRYdbmcmbziV8+!t)sP|KdK1yxDuuMLl=hozER$NxjI)u-hHw^&#L^S+KtibQTO | |
zMN9JM&rQeMQx)j!(MCqU{+%@_E#ylBbLCxY|M*~%4c;%Rl9;A-Akp|v_r5;9FCy>r | |
zO7PgB!}2Qp`&f{_uqao>VARqpw>+{+>ID{ByxFb!N=C`EJNu0D?*j9K&u!xX{=6h* | |
z?%8UY+7yvD_V=#EquDP6sh__*6nx<kOGa?2!MCq>E6EkyHxsS3y}VaM5Ud~Sr|c;b | |
zx~4&J8a>~ltwJ_mEHI_{Oy+^{2E0!#u|QLRtqX%6B4}e&DWOgH>jUa{J^lUyKGer= | |
zfG#@CoR=n3x>ckyf5;G<8pqc~O=al1d3*^vufn)By%G*5q2Ebb7!Bc`@`a5nsIUww | |
z&!@5)ayv2vRQmZy)4Wi6t<5<3p9Z7B^h^A4noG@L5a4hs=p?7y7^8h(I{fBqw*u@p | |
zh0a{m?!9(Dq6$LG(oxJdHDYkq*@L9uFX!g3-&zN)O+{i=>U~^A^o=Hb@ab00EP(R> | |
z71Ag?$or`+POA7<o`)uyBX0#HJ<-UTid_3^G=hevf>(glV;1t6y#aB5*eEcY-|1tm | |
zVZ7-DGz=NM0^LZR8h*OE(H{MmX4^(>RjY$;@i50pV(*vgwF^gflJhFo&zTwtzIK>? | |
zdZjlPakAzBmze~b953WR0C!^E;S+V|AOWy53?=ZFdMQpWXC6$Nu-o5EBcLPURQNV- | |
zAeeF!Rf7Qx-YGCISLJj?bXGAcelSd(3xSBC9V|3b6n<kfL1v==E*oDlsx|aT{0A0G | |
B4=w-z | |
diff --git a/docs/celestia-architecture/celestia-logo.png b/docs/celestia-architecture/celestia-logo.png | |
new file mode 100644 | |
index 0000000000000000000000000000000000000000..dce8b0b34d2ee13ed1e5bf6436cd4f5fca3d28be | |
GIT binary patch | |
literal 40963 | |
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment