diff --git a/.github/labeler.yml b/.github/labeler.yml index 04a3f87dd42a..65310f6f15b2 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -50,8 +50,5 @@ "C:CLI": - client/**/* - x/*/client/**/* -"Type: Docs": - - docs/**/* - - x/*/spec/**/* "Type: ADR": - - docs/architecture/**/* + - docs/architecture/**/* diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 65e1d36c5b5c..62810ca82e0d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -164,7 +164,7 @@ jobs: sed -i.bak "/$(echo $filename | sed 's/\//\\\//g')/d" coverage.txt done if: env.GIT_DIFF - - uses: codecov/codecov-action@v1.5.0 + - uses: codecov/codecov-action@v1.5.2 with: file: ./coverage.txt if: env.GIT_DIFF diff --git a/CHANGELOG.md b/CHANGELOG.md index 63e42a722333..06289b0ccd9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -86,6 +86,7 @@ if input key is empty, or input data contains empty key. * (x/gov) [\#8473](https://github.com/cosmos/cosmos-sdk/pull/8473) On genesis init, if the gov module account balance, coming from bank module state, does not match the one in gov module state, the initialization will panic. * (x/distribution) [\#8473](https://github.com/cosmos/cosmos-sdk/pull/8473) On genesis init, if the distribution module account balance, coming from bank module state, does not match the one in distribution module state, the initialization will panic. * (client/keys) [\#8500](https://github.com/cosmos/cosmos-sdk/pull/8500) `InfoImporter` interface is removed from legacy keybase. +* (x/staking) [\#8505](https://github.com/cosmos/cosmos-sdk/pull/8505) `sdk.PowerReduction` has been renamed to `sdk.DefaultPowerReduction`, and most staking functions relying on power reduction take a new function argument, instead of relying on that global variable. * [\#8629](https://github.com/cosmos/cosmos-sdk/pull/8629) Deprecated `SetFullFundraiserPath` from `Config` in favor of `SetPurpose` and `SetCoinType`. * (x/upgrade) [\#8673](https://github.com/cosmos/cosmos-sdk/pull/8673) Remove IBC logic from x/upgrade. Deprecates IBC fields in an Upgrade Plan. IBC upgrade logic moved to 02-client and an IBC UpgradeProposal is added. * (x/bank) [\#8517](https://github.com/cosmos/cosmos-sdk/pull/8517) `SupplyI` interface and `Supply` are removed and uses `sdk.Coins` for supply tracking @@ -126,11 +127,12 @@ if input key is empty, or input data contains empty key. * (x/bank) [\#8656](https://github.com/cosmos/cosmos-sdk/pull/8656) balance and supply are now correctly tracked via `coin_spent`, `coin_received`, `coinbase` and `burn` events. * (x/bank) [\#8517](https://github.com/cosmos/cosmos-sdk/pull/8517) Supply is now stored and tracked as `sdk.Coins` * (store) [\#8790](https://github.com/cosmos/cosmos-sdk/pull/8790) Reduce gas costs by 10x for transient store operations. -* (x/staking) [\#8505](https://github.com/cosmos/cosmos-sdk/pull/8505) Convert staking power reduction into an on-chain parameter rather than a hardcoded in-code variable. * (x/bank) [\#9051](https://github.com/cosmos/cosmos-sdk/pull/9051) Supply value is stored as `sdk.Int` rather than `string`. ### Improvements +* (gRPC-Web) [\#9493](https://github.com/cosmos/cosmos-sdk/pull/9493) Add `EnableUnsafeCORS` flag to grpc-web config. +* (x/params) [\#9481](https://github.com/cosmos/cosmos-sdk/issues/9481) Speedup simulator for parameter change proposals. * (store) [\#9403](https://github.com/cosmos/cosmos-sdk/pull/9403) Add `RefundGas` function to `GasMeter` interface * (baseapp, types) [\#9390](https://github.com/cosmos/cosmos-sdk/pull/9390) Add current block header hash to `Context` * (x/staking) [\#9423](https://github.com/cosmos/cosmos-sdk/pull/9423) Staking delegations now returns empty list instead of rpc error when no records found. @@ -152,6 +154,7 @@ if input key is empty, or input data contains empty key. * (x/bank) [\#8434](https://github.com/cosmos/cosmos-sdk/pull/8434) Fix legacy REST API `GET /bank/total` and `GET /bank/total/{denom}` in swagger * (x/slashing) [\#8427](https://github.com/cosmos/cosmos-sdk/pull/8427) Fix query signing infos command * (x/bank) [\#9229](https://github.com/cosmos/cosmos-sdk/pull/9229) Now zero coin balances cannot be added to balances & supply stores. If any denom becomes zero corresponding key gets deleted from store. +* (types) [\#9511](https://github.com/cosmos/cosmos-sdk/pull/9511) Change `maxBitLen` of `sdk.Int` and `sdk.Dec` to handle max ERC20 value. ### Deprecated diff --git a/docs/building-modules/upgrade.md b/docs/building-modules/upgrade.md index 53864fa58b96..2f9eaa98f339 100644 --- a/docs/building-modules/upgrade.md +++ b/docs/building-modules/upgrade.md @@ -8,7 +8,7 @@ In-place store migrations allow your modules to upgrade to new versions that inc ## Prerequisite Readings -- [In-Place Store Migration](../core-concepts/upgrade.md) {prereq} +- [In-Place Store Migration](../core/upgrade.md) {prereq} ## Consensus Version diff --git a/docs/core/proto-docs.md b/docs/core/proto-docs.md index 4b67f25205a8..fe31a7f910c0 100644 --- a/docs/core/proto-docs.md +++ b/docs/core/proto-docs.md @@ -6394,7 +6394,6 @@ Params defines the parameters for the staking module. | `max_entries` | [uint32](#uint32) | | max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio). | | `historical_entries` | [uint32](#uint32) | | historical_entries is the number of historical entries to persist. | | `bond_denom` | [string](#string) | | bond_denom defines the bondable coin denomination. | -| `power_reduction` | [string](#string) | | power_reduction is the amount of staking tokens required for 1 unit of consensus-engine power | diff --git a/docs/core/upgrade.md b/docs/core/upgrade.md index 4e48e10b9d7e..c37d813871c7 100644 --- a/docs/core/upgrade.md +++ b/docs/core/upgrade.md @@ -82,6 +82,29 @@ To learn more about configuring migration scripts for your modules, see the [Mig You can introduce entirely new modules to the application during an upgrade. New modules are recognized because they have not yet been registered in `x/upgrade`'s `VersionMap` store. In this case, `RunMigrations` calls the `InitGenesis` function from the corresponding module to set up its initial state. +### Add StoreUpgrades for New Modules + +All chains preparing to run in-place store migrations will need to manually add store upgrades for new modules and then configure the store loader to apply those upgrades. This ensures that the new module's stores are added to the multistore before the migrations begin. + +```golang +upgradeInfo, err := app.UpgradeKeeper.ReadUpgradeInfoFromDisk() +if err != nil { + panic(err) +} + +if upgradeInfo.Name == "my-plan" && !app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) { + storeUpgrades := storetypes.StoreUpgrades{ + // add store upgrades for new modules + // Example: + // Added: []string{"foo", "bar"}, + // ... + } + + // configure store loader that checks if version == upgradeHeight and applies store upgrades + app.SetStoreLoader(upgradetypes.UpgradeStoreLoader(upgradeInfo.Height, &storeUpgrades)) +} +``` + ## Overwriting Genesis Functions The Cosmos SDK offers modules that the application developer can import in their app. These modules often have an `InitGenesis` function already defined. diff --git a/docs/package-lock.json b/docs/package-lock.json index 3d76fb80a920..eced509f49af 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -6929,9 +6929,9 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", "requires": { "chalk": "^2.4.2", "source-map": "^0.6.1", diff --git a/go.mod b/go.mod index 281490a67f0c..5fe07df5942e 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ module github.com/cosmos/cosmos-sdk require ( github.com/99designs/keyring v1.1.6 - github.com/armon/go-metrics v0.3.8 + github.com/armon/go-metrics v0.3.9 github.com/bgentry/speakeasy v0.1.0 github.com/btcsuite/btcd v0.22.0-beta github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce @@ -17,7 +17,7 @@ require ( github.com/enigmampc/btcutil v1.0.3-0.20200723161021-e2fb6adb2a25 github.com/gogo/gateway v1.1.0 github.com/gogo/protobuf v1.3.3 - github.com/golang/mock v1.5.0 + github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.2 github.com/gorilla/handlers v1.5.1 github.com/gorilla/mux v1.8.0 @@ -30,19 +30,16 @@ require ( github.com/magiconair/properties v1.8.5 github.com/mattn/go-isatty v0.0.13 github.com/otiai10/copy v1.6.0 - github.com/pelletier/go-toml v1.8.1 // indirect github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.11.0 - github.com/prometheus/common v0.28.0 + github.com/prometheus/common v0.29.0 github.com/rakyll/statik v0.1.7 github.com/regen-network/cosmos-proto v0.3.1 - github.com/rs/zerolog v1.22.0 - github.com/spf13/afero v1.3.4 // indirect + github.com/rs/zerolog v1.23.0 github.com/spf13/cast v1.3.1 github.com/spf13/cobra v1.1.3 - github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.7.1 + github.com/spf13/viper v1.8.0 github.com/stretchr/testify v1.7.0 github.com/tendermint/btcd v0.1.1 github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 @@ -50,10 +47,9 @@ require ( github.com/tendermint/tendermint v0.34.10 github.com/tendermint/tm-db v0.6.4 golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad - google.golang.org/genproto v0.0.0-20210114201628-6edceaf6022f + google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c google.golang.org/grpc v1.38.0 google.golang.org/protobuf v1.26.0 - gopkg.in/ini.v1 v1.61.0 // indirect gopkg.in/yaml.v2 v2.4.0 nhooyr.io/websocket v1.8.6 // indirect ) diff --git a/go.sum b/go.sum index 206f36d3b929..12f43062064a 100644 --- a/go.sum +++ b/go.sum @@ -12,6 +12,11 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -83,8 +88,8 @@ github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1: github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.8 h1:oOxq3KPj0WhCuy50EhzwiyMyG2ovRQZpZLXQuOh2a/M= -github.com/armon/go-metrics v0.3.8/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.3.9 h1:O2sNqxBdvq8Eq5xmzljcYzAORli6RWCvEym4cJf9m18= +github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= @@ -98,6 +103,7 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0= github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= @@ -151,6 +157,7 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= @@ -267,6 +274,7 @@ github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -281,8 +289,9 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0 h1:jlYHihg//f7RRwuPfptm04yp4s7O6Kw8EZiVYIGcH0g= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -299,6 +308,7 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -316,6 +326,7 @@ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= 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= @@ -325,6 +336,7 @@ github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa h1:Q75Upo5UN4JbPFU github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/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= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -334,6 +346,10 @@ github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -415,6 +431,7 @@ github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmK github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/improbable-eng/grpc-web v0.14.0 h1:GdoK+cXABdB+1keuqsV1drSFO2XLYIxqt/4Rj8SWGBk= github.com/improbable-eng/grpc-web v0.14.0/go.mod h1:6hRR09jOEG81ADP5wCQju1z71g6OL4eEvELdran/3cs= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= @@ -507,8 +524,9 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4 github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8h+eeNA8= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -575,8 +593,8 @@ github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144T github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNCRM= -github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= +github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= @@ -618,8 +636,8 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.28.0 h1:vGVfV9KrDTvWt5boZO0I19g2E3CsWfpPPKZM9dt3mEw= -github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.29.0 h1:3jqPBvKT4OHAbje2Ql7KeaaSicDBCxMYwEJU1zRJceE= +github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= @@ -649,8 +667,8 @@ github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/zerolog v1.22.0 h1:XrVUjV4K+izZpKXZHlPrYQiDtmdGiCylnT4i43AAWxg= -github.com/rs/zerolog v1.22.0/go.mod h1:ZPhntP/xmq1nnND05hhpAh2QMhSsA4UN3MGZ6O2J3hM= +github.com/rs/zerolog v1.23.0 h1:UskrK+saS9P9Y789yNNulYKdARjPZuS35B8gJF2x60g= +github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI916Qo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= @@ -676,8 +694,8 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.3.4 h1:8q6vk3hthlpb2SouZcnBVKboxWQWMDNF38bwholZrJc= -github.com/spf13/afero v1.3.4/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= @@ -697,8 +715,9 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.8.0 h1:QRwDgoG8xX+kp69di68D+YYTCWfYEckbZRfUlEIAal0= +github.com/spf13/viper v1.8.0/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= @@ -764,6 +783,7 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= 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/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8= github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= @@ -771,6 +791,9 @@ go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -778,14 +801,19 @@ go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -832,6 +860,8 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mobile v0.0.0-20200801112145-973feb4309de/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4= @@ -842,6 +872,9 @@ golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -884,6 +917,13 @@ golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210525063256-abc453219eb5 h1:wjuX4b5yYQnEQHzd+CBcrcC6OVR2J1CN6mUy0oSxIPo= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -891,6 +931,13 @@ golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -902,6 +949,7 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -952,13 +1000,23 @@ golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40 h1:JWgyZ1qgdTaF3N3oxC+MdTV7qvEEgHo3otj+HB5CM7Q= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -969,6 +1027,8 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1023,8 +1083,15 @@ golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1047,12 +1114,19 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1087,10 +1161,20 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201111145450-ac7456db90a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210114201628-6edceaf6022f h1:izedQ6yVIc5mZsRuXzmSreCOlzI0lCU1HpG8yEdMiKw= -google.golang.org/genproto v0.0.0-20210114201628-6edceaf6022f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c h1:wtujag7C+4D6KMoulW9YauvK2lgdvCMS260jsqqBXr0= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -1119,8 +1203,8 @@ gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.61.0 h1:LBCdW4FmFYL4s/vDZD1RQYX7oAR6IjujCYgMdbHBR10= -gopkg.in/ini.v1 v1.61.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU= +gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= @@ -1138,8 +1222,9 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 651cd917781c..76e9599e2d35 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -282,12 +282,6 @@ message Params { uint32 historical_entries = 4 [(gogoproto.moretags) = "yaml:\"historical_entries\""]; // bond_denom defines the bondable coin denomination. string bond_denom = 5 [(gogoproto.moretags) = "yaml:\"bond_denom\""]; - // power_reduction is the amount of staking tokens required for 1 unit of consensus-engine power - string power_reduction = 6 [ - (gogoproto.moretags) = "yaml:\"power_reduction\"", - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", - (gogoproto.nullable) = false - ]; } // DelegationResponse is equivalent to Delegation except that it contains a diff --git a/server/config/config.go b/server/config/config.go index 8f1c47e88d2c..907e64a63490 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -140,6 +140,9 @@ type GRPCWebConfig struct { // Address defines the gRPC-web server to listen on Address string `mapstructure:"address"` + + // EnableUnsafeCORS defines if CORS should be enabled (unsafe - use it at your own risk) + EnableUnsafeCORS bool `mapstructure:"enable-unsafe-cors"` } // StateSyncConfig defines the state sync snapshot configuration. @@ -297,8 +300,9 @@ func GetConfig(v *viper.Viper) Config { Address: v.GetString("grpc.address"), }, GRPCWeb: GRPCWebConfig{ - Enable: v.GetBool("grpc-web.enable"), - Address: v.GetString("grpc-web.address"), + Enable: v.GetBool("grpc-web.enable"), + Address: v.GetString("grpc-web.address"), + EnableUnsafeCORS: v.GetBool("grpc-web.enable-unsafe-cors"), }, StateSync: StateSyncConfig{ SnapshotInterval: v.GetUint64("state-sync.snapshot-interval"), diff --git a/server/config/toml.go b/server/config/toml.go index 88197defe91b..d2eb2601e911 100644 --- a/server/config/toml.go +++ b/server/config/toml.go @@ -184,6 +184,9 @@ enable = {{ .GRPCWeb.Enable }} # Address defines the gRPC-web server address to bind to. address = "{{ .GRPCWeb.Address }}" +# EnableUnsafeCORS defines if CORS should be enabled (unsafe - use it at your own risk). +enable-unsafe-cors = {{ .GRPCWeb.EnableUnsafeCORS }} + ############################################################################### ### State Sync Configuration ### ############################################################################### diff --git a/server/grpc/grpc_web.go b/server/grpc/grpc_web.go index 67dc4364a80f..593779835a78 100644 --- a/server/grpc/grpc_web.go +++ b/server/grpc/grpc_web.go @@ -11,7 +11,16 @@ import ( // StartGRPCWeb starts a gRPC-Web server on the given address. func StartGRPCWeb(grpcSrv *grpc.Server, config config.Config) (*http.Server, error) { - wrappedServer := grpcweb.WrapServer(grpcSrv) + var options []grpcweb.Option + if config.GRPCWeb.EnableUnsafeCORS { + options = append(options, + grpcweb.WithOriginFunc(func(origin string) bool { + return true + }), + ) + } + + wrappedServer := grpcweb.WrapServer(grpcSrv, options...) handler := func(resp http.ResponseWriter, req *http.Request) { wrappedServer.ServeHTTP(resp, req) } diff --git a/simapp/simd/cmd/testnet.go b/simapp/simd/cmd/testnet.go index abf6cb3cdb42..071d9364d0e2 100644 --- a/simapp/simd/cmd/testnet.go +++ b/simapp/simd/cmd/testnet.go @@ -289,7 +289,10 @@ func initGenFiles( var bankGenState banktypes.GenesisState clientCtx.Codec.MustUnmarshalJSON(appGenState[banktypes.ModuleName], &bankGenState) - bankGenState.Balances = genBalances + bankGenState.Balances = banktypes.SanitizeGenesisBalances(genBalances) + for _, bal := range bankGenState.Balances { + bankGenState.Supply = bankGenState.Supply.Add(bal.Coins...) + } appGenState[banktypes.ModuleName] = clientCtx.Codec.MustMarshalJSON(&bankGenState) appGenStateJSON, err := json.MarshalIndent(appGenState, "", " ") diff --git a/simapp/simd/cmd/testnet_test.go b/simapp/simd/cmd/testnet_test.go new file mode 100644 index 000000000000..da58fd454d82 --- /dev/null +++ b/simapp/simd/cmd/testnet_test.go @@ -0,0 +1,50 @@ +package cmd + +import ( + "context" + "fmt" + "testing" + + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/server" + "github.com/cosmos/cosmos-sdk/simapp" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + genutiltest "github.com/cosmos/cosmos-sdk/x/genutil/client/testutil" + genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + "github.com/spf13/viper" + "github.com/stretchr/testify/require" + "github.com/tendermint/tendermint/libs/log" +) + +func Test_TestnetCmd(t *testing.T) { + home := t.TempDir() + encodingConfig := simapp.MakeTestEncodingConfig() + logger := log.NewNopLogger() + cfg, err := genutiltest.CreateDefaultTendermintConfig(home) + require.NoError(t, err) + + err = genutiltest.ExecInitCmd(simapp.ModuleBasics, home, encodingConfig.Marshaler) + require.NoError(t, err) + + serverCtx := server.NewContext(viper.New(), cfg, logger) + clientCtx := client.Context{}. + WithCodec(encodingConfig.Marshaler). + WithHomeDir(home). + WithTxConfig(encodingConfig.TxConfig) + + ctx := context.Background() + ctx = context.WithValue(ctx, server.ServerContextKey, serverCtx) + ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx) + cmd := testnetCmd(simapp.ModuleBasics, banktypes.GenesisBalancesIterator{}) + cmd.SetArgs([]string{fmt.Sprintf("--%s=test", flags.FlagKeyringBackend), fmt.Sprintf("--output-dir=%s", home)}) + err = cmd.ExecuteContext(ctx) + require.NoError(t, err) + + genFile := cfg.GenesisFile() + appState, _, err := genutiltypes.GenesisStateFromGenFile(genFile) + require.NoError(t, err) + + bankGenState := banktypes.GetGenesisStateFromAppState(encodingConfig.Marshaler, appState) + require.NotEmpty(t, bankGenState.Supply.String()) +} diff --git a/types/decimal.go b/types/decimal.go index 47de0618bc83..a6d2868969a1 100644 --- a/types/decimal.go +++ b/types/decimal.go @@ -26,6 +26,8 @@ const ( // Ceiling[Log2[999 999 999 999 999 999]] DecimalPrecisionBits = 60 + maxDecBitLen = maxBitLen + DecimalPrecisionBits + // max number of iterations in ApproxRoot function maxApproxRootIterations = 100 ) @@ -222,7 +224,7 @@ func (d Dec) BigInt() *big.Int { func (d Dec) Add(d2 Dec) Dec { res := new(big.Int).Add(d.i, d2.i) - if res.BitLen() > 255+DecimalPrecisionBits { + if res.BitLen() > maxDecBitLen { panic("Int overflow") } return Dec{res} @@ -232,7 +234,7 @@ func (d Dec) Add(d2 Dec) Dec { func (d Dec) Sub(d2 Dec) Dec { res := new(big.Int).Sub(d.i, d2.i) - if res.BitLen() > 255+DecimalPrecisionBits { + if res.BitLen() > maxDecBitLen { panic("Int overflow") } return Dec{res} @@ -243,7 +245,7 @@ func (d Dec) Mul(d2 Dec) Dec { mul := new(big.Int).Mul(d.i, d2.i) chopped := chopPrecisionAndRound(mul) - if chopped.BitLen() > 255+DecimalPrecisionBits { + if chopped.BitLen() > maxDecBitLen { panic("Int overflow") } return Dec{chopped} @@ -254,7 +256,7 @@ func (d Dec) MulTruncate(d2 Dec) Dec { mul := new(big.Int).Mul(d.i, d2.i) chopped := chopPrecisionAndTruncate(mul) - if chopped.BitLen() > 255+DecimalPrecisionBits { + if chopped.BitLen() > maxDecBitLen { panic("Int overflow") } return Dec{chopped} @@ -264,7 +266,7 @@ func (d Dec) MulTruncate(d2 Dec) Dec { func (d Dec) MulInt(i Int) Dec { mul := new(big.Int).Mul(d.i, i.i) - if mul.BitLen() > 255+DecimalPrecisionBits { + if mul.BitLen() > maxDecBitLen { panic("Int overflow") } return Dec{mul} @@ -274,7 +276,7 @@ func (d Dec) MulInt(i Int) Dec { func (d Dec) MulInt64(i int64) Dec { mul := new(big.Int).Mul(d.i, big.NewInt(i)) - if mul.BitLen() > 255+DecimalPrecisionBits { + if mul.BitLen() > maxDecBitLen { panic("Int overflow") } return Dec{mul} @@ -289,7 +291,7 @@ func (d Dec) Quo(d2 Dec) Dec { quo := new(big.Int).Quo(mul, d2.i) chopped := chopPrecisionAndRound(quo) - if chopped.BitLen() > 255+DecimalPrecisionBits { + if chopped.BitLen() > maxDecBitLen { panic("Int overflow") } return Dec{chopped} @@ -304,7 +306,7 @@ func (d Dec) QuoTruncate(d2 Dec) Dec { quo := mul.Quo(mul, d2.i) chopped := chopPrecisionAndTruncate(quo) - if chopped.BitLen() > 255+DecimalPrecisionBits { + if chopped.BitLen() > maxDecBitLen { panic("Int overflow") } return Dec{chopped} @@ -319,7 +321,7 @@ func (d Dec) QuoRoundUp(d2 Dec) Dec { quo := new(big.Int).Quo(mul, d2.i) chopped := chopPrecisionAndRoundUp(quo) - if chopped.BitLen() > 255+DecimalPrecisionBits { + if chopped.BitLen() > maxDecBitLen { panic("Int overflow") } return Dec{chopped} diff --git a/types/int.go b/types/int.go index 1a013bc0549e..0708cda58112 100644 --- a/types/int.go +++ b/types/int.go @@ -9,7 +9,7 @@ import ( "math/big" ) -const maxBitLen = 255 +const maxBitLen = 256 func newIntegerFromString(s string) (*big.Int, bool) { return new(big.Int).SetString(s, 0) @@ -69,9 +69,9 @@ func unmarshalText(i *big.Int, text string) error { var _ CustomProtobufType = (*Int)(nil) -// Int wraps big.Int with a 256 bit range bound +// Int wraps big.Int with a 257 bit range bound // Checks overflow, underflow and division by zero -// Exists in range from -(2^255 - 1) to 2^255 - 1 +// Exists in range from -(2^256 - 1) to 2^256 - 1 type Int struct { i *big.Int } diff --git a/types/int_internal_test.go b/types/int_internal_test.go index c6b039948e69..77d357bbf750 100644 --- a/types/int_internal_test.go +++ b/types/int_internal_test.go @@ -63,7 +63,7 @@ func (s *internalIntTestSuite) TestEncodingRandom() { } func (s *internalIntTestSuite) TestSerializationOverflow() { - bx, _ := new(big.Int).SetString("91888242871839275229946405745257275988696311157297823662689937894645226298583", 10) + bx, _ := new(big.Int).SetString("115792089237316195423570985008687907853269984665640564039457584007913129639936", 10) x := Int{bx} y := new(Int) @@ -80,6 +80,24 @@ func (s *internalIntTestSuite) TestSerializationOverflow() { s.Require().Error(y.UnmarshalJSON(bz)) } +func (s *internalIntTestSuite) TestDeserializeMaxERC20() { + bx, _ := new(big.Int).SetString("115792089237316195423570985008687907853269984665640564039457584007913129639935", 10) + x := Int{bx} + y := new(Int) + + bz, err := x.Marshal() + s.Require().NoError(err) + + // require deserialization to be successful + s.Require().NoError(y.Unmarshal(bz)) + + // require JSON deserialization to succeed + bz, err = x.MarshalJSON() + s.Require().NoError(err) + + s.Require().NoError(y.UnmarshalJSON(bz)) +} + func (s *internalIntTestSuite) TestImmutabilityArithInt() { size := 500 diff --git a/types/int_test.go b/types/int_test.go index e992d67566f9..359c4859b6dc 100644 --- a/types/int_test.go +++ b/types/int_test.go @@ -40,16 +40,16 @@ func (s *intTestSuite) TestFromUint64() { } func (s *intTestSuite) TestIntPanic() { - // Max Int = 2^255-1 = 5.789e+76 - // Min Int = -(2^255-1) = -5.789e+76 - s.Require().NotPanics(func() { sdk.NewIntWithDecimal(1, 76) }) - i1 := sdk.NewIntWithDecimal(1, 76) - s.Require().NotPanics(func() { sdk.NewIntWithDecimal(2, 76) }) - i2 := sdk.NewIntWithDecimal(2, 76) - s.Require().NotPanics(func() { sdk.NewIntWithDecimal(3, 76) }) - i3 := sdk.NewIntWithDecimal(3, 76) - - s.Require().Panics(func() { sdk.NewIntWithDecimal(6, 76) }) + // Max Int = 2^256-1 = 1.1579209e+77 + // Min Int = -(2^256-1) = -1.1579209e+77 + s.Require().NotPanics(func() { sdk.NewIntWithDecimal(4, 76) }) + i1 := sdk.NewIntWithDecimal(4, 76) + s.Require().NotPanics(func() { sdk.NewIntWithDecimal(5, 76) }) + i2 := sdk.NewIntWithDecimal(5, 76) + s.Require().NotPanics(func() { sdk.NewIntWithDecimal(6, 76) }) + i3 := sdk.NewIntWithDecimal(6, 76) + + s.Require().Panics(func() { sdk.NewIntWithDecimal(2, 77) }) s.Require().Panics(func() { sdk.NewIntWithDecimal(9, 80) }) // Overflow check @@ -69,7 +69,7 @@ func (s *intTestSuite) TestIntPanic() { s.Require().Panics(func() { i2.Neg().Mul(i2.Neg()) }) s.Require().Panics(func() { i3.Neg().Mul(i3.Neg()) }) - // Underflow check + // // Underflow check i3n := i3.Neg() s.Require().NotPanics(func() { i3n.Sub(i1) }) s.Require().NotPanics(func() { i3n.Sub(i2) }) @@ -84,7 +84,7 @@ func (s *intTestSuite) TestIntPanic() { s.Require().Panics(func() { i3.Mul(i3.Neg()) }) // Bound check - intmax := sdk.NewIntFromBigInt(new(big.Int).Sub(new(big.Int).Exp(big.NewInt(2), big.NewInt(255), nil), big.NewInt(1))) + intmax := sdk.NewIntFromBigInt(new(big.Int).Sub(new(big.Int).Exp(big.NewInt(2), big.NewInt(256), nil), big.NewInt(1))) intmin := intmax.Neg() s.Require().NotPanics(func() { intmax.Add(sdk.ZeroInt()) }) s.Require().NotPanics(func() { intmin.Sub(sdk.ZeroInt()) }) diff --git a/types/tx_msg.go b/types/tx_msg.go index d7f15e83f078..42d01fdc55ee 100644 --- a/types/tx_msg.go +++ b/types/tx_msg.go @@ -1,8 +1,6 @@ package types import ( - fmt "fmt" - "github.com/gogo/protobuf/proto" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" @@ -79,5 +77,5 @@ type TxEncoder func(tx Tx) ([]byte, error) // MsgTypeURL returns the TypeURL of a `sdk.Msg`. func MsgTypeURL(msg Msg) string { - return fmt.Sprintf("/%s", proto.MessageName(msg)) + return "/" + proto.MessageName(msg) } diff --git a/types/tx_msg_test.go b/types/tx_msg_test.go index 7a55c7d63e64..bf7763b02913 100644 --- a/types/tx_msg_test.go +++ b/types/tx_msg_test.go @@ -29,3 +29,7 @@ func (s *testMsgSuite) TestMsg() { s.Require().Nil(msg.ValidateBasic()) s.Require().NotPanics(func() { msg.GetSignBytes() }) } + +func (s *testMsgSuite) TestMsgTypeURL() { + s.Require().Equal("/testdata.TestMsg", sdk.MsgTypeURL(new(testdata.TestMsg))) +} diff --git a/x/params/simulation/operations.go b/x/params/simulation/operations.go index a5097968ce70..6e7619b7032b 100644 --- a/x/params/simulation/operations.go +++ b/x/params/simulation/operations.go @@ -1,6 +1,7 @@ package simulation import ( + "fmt" "math/rand" sdk "github.com/cosmos/cosmos-sdk/types" @@ -8,44 +9,45 @@ import ( "github.com/cosmos/cosmos-sdk/x/params/types/proposal" ) +func min(a int, b int) int { + if a <= b { + return a + } + return b +} + // SimulateParamChangeProposalContent returns random parameter change content. // It will generate a ParameterChangeProposal object with anywhere between 1 and // the total amount of defined parameters changes, all of which have random valid values. func SimulateParamChangeProposalContent(paramChangePool []simulation.ParamChange) simulation.ContentSimulatorFn { - return func(r *rand.Rand, _ sdk.Context, _ []simulation.Account) simulation.Content { - - lenParamChange := len(paramChangePool) - if lenParamChange == 0 { - panic("param changes array is empty") - } + numProposals := 0 + // Bound the maximum number of simultaneous parameter changes + maxSimultaneousParamChanges := min(len(paramChangePool), 1000) + if maxSimultaneousParamChanges == 0 { + panic("param changes array is empty") + } - numChanges := simulation.RandIntBetween(r, 1, lenParamChange) + return func(r *rand.Rand, _ sdk.Context, _ []simulation.Account) simulation.Content { + numChanges := simulation.RandIntBetween(r, 1, maxSimultaneousParamChanges) paramChanges := make([]proposal.ParamChange, numChanges) - // map from key to empty struct; used only for look-up of the keys of the - // parameters that are already in the random set of changes. - paramChangesKeys := make(map[string]struct{}) + // perm here takes at most len(paramChangePool) calls to random + paramChoices := r.Perm(len(paramChangePool)) for i := 0; i < numChanges; i++ { - spc := paramChangePool[r.Intn(len(paramChangePool))] - - // do not include duplicate parameter changes for a given subspace/key - _, ok := paramChangesKeys[spc.ComposedKey()] - for ok { - spc = paramChangePool[r.Intn(len(paramChangePool))] - _, ok = paramChangesKeys[spc.ComposedKey()] - } - - // add a new distinct parameter to the set of changes and register the key - // to avoid further duplicates - paramChangesKeys[spc.ComposedKey()] = struct{}{} + spc := paramChangePool[paramChoices[i]] + // add a new distinct parameter to the set of changes paramChanges[i] = proposal.NewParamChange(spc.Subspace(), spc.Key(), spc.SimValue()(r)) } + title := fmt.Sprintf("title from SimulateParamChangeProposalContent-%d", numProposals) + desc := fmt.Sprintf("desc from SimulateParamChangeProposalContent-%d. Random short desc: %s", + numProposals, simulation.RandStringOfLength(r, 20)) + numProposals++ return proposal.NewParameterChangeProposal( - simulation.RandStringOfLength(r, 140), // title - simulation.RandStringOfLength(r, 5000), // description - paramChanges, // set of changes + title, // title + desc, // description + paramChanges, // set of changes ) } } diff --git a/x/params/simulation/operations_test.go b/x/params/simulation/operations_test.go index 54c90a6c2e3d..5ed1ba8a50fc 100644 --- a/x/params/simulation/operations_test.go +++ b/x/params/simulation/operations_test.go @@ -51,8 +51,8 @@ func TestSimulateParamChangeProposalContent(t *testing.T) { op := simulation.SimulateParamChangeProposalContent(paramChangePool) content := op(r, ctx, accounts) - require.Equal(t, "BrTEdFUqHtDtDBPzlahrrStzkUNxImpptHBIFDQfnxaTiOBJUgNzvqHbVcVJYlIFWFlzFqqRTTyFzDUMntPzyRamUFqeJAEaSHIuUHZoTWDjWXsYxYvwXwXZEsjRQKgKMselyUqWXMbHzRNDHnMzhWSirUgVggjiBxtWDfhzPDgrorEoNmDEiDdBldYegphCBTYWrmFFXNjxhtygsGBFHTejaKjMsqNdikEzDalEyWRHfJhKqifCKsedVuuJbQMbmRVuIPDluAWGpngjgBjOxuRFwSadayHNIhVVmNWBbfaTOldclxTTLUMvaBnLfwjHTtsKetEIvgrxLijhKJNablmvqpWIWsmhWQAYNLycREypoASHnyKWrxpoNLBJuyCGysZJgXbQAAmSIbGxMFXuwMVGZgBiZWfPWorAfjBeekCFvljHAtVZaTOsRxbPIioNxLTnWUTzGTvaNhplQQPmMADRRDuUIsiBpnGqPheKmLnopieVseFdTSAvOCacxaqFWFuXzsrVZzlGfeRpClwKuGEBujaPrzSLjVIOMvLlWxuznEOXlxbZroBRVEvEfBBAHOECribZNrYiFnzQqQmBnLksmFNAadusWAGltuqYNntgOlgOGwSdDjWdLboWyAWIcCfmpGJTfbljKPriLehwObuszICkaXNUkmeddeeRulbZBXJVLgteiKIfofGdNBregwUPlINQECatDSNXSIuefyMxxoKfcmjHEwbVtFiXtEnLJkLHUghmzFiymrgBChucZgOQUpGGVQEpRtIQjIBxYhtZPgUORdxXNWUMErWrUeriqYJPcgIDgLMWAyuuQnsHncCtjvHmvFbzYErxeunQllYDUVlXaRBveRUKeXwEGJFTSAqZtaBSDGDtzlADCnGjuTmYMJlapRsWfugmjwKEuoXJVpZvlcHeFvVvRRktRVGwzLfKezPEMABZtbLExQIjynSoahmkmoTHefdzFoBHMcQHFkKVHhpNtudPqJrYuQswzFuFHbSmpNltFnYJpvMrAYHFrNouZaanEUGHvbHIUUFTCtZrcpRHwgjblxlDNJWzHdBNpAXKJPHWQdrGYcAHSctgVlqwqHoLfHsXUdStwfefwzqLuKEhmMyYLdbZrcPgYqjNHxPexsruwEGStAneKbWkQDDIlCWBLSiAASNhZqNFlPtfqPJoxKsgMdzjWqLWdqKQuJqWPMvwPQWZUtVMOTMYKJbfdlZsjdsomuScvDmbDkgRualsxDvRJuCAmPOXitIbcyWsKGSdrEunFAOdmXnsuyFVgJqEjbklvmwrUlsxjRSfKZxGcpayDdgoFcnVSutxjRgOSFzPwidAjubMncNweqpbxhXGchpZUxuFDOtpnhNUycJICRYqsPhPSCjPTWZFLkstHWJxvdPEAyEIxXgLwbNOjrgzmaujiBABBIXvcXpLrbcEWNNQsbjvgJFgJkflpRohHUutvnaUqoopuKjTDaemDeSdqbnOzcfJpcTuAQtZoiLZOoAIlboFDAeGmSNwkvObPRvRWQgWkGkxwtPauYgdkmypLjbqhlHJIQTntgWjXwZdOyYEdQRRLfMSdnxqppqUofqLbLQDUjwKVKfZJUJQPsWIPwIVaSTrmKskoAhvmZyJgeRpkaTfGgrJzAigcxtfshmiDCFkuiluqtMOkidknnTBtumyJYlIsWLnCQclqdVmikUoMOPdPWwYbJxXyqUVicNxFxyqJTenNblyyKSdlCbiXxUiYUiMwXZASYfvMDPFgxniSjWaZTjHkqlJvtBsXqwPpyVxnJVGFWhfSxgOcduoxkiopJvFjMmFabrGYeVtTXLhxVUEiGwYUvndjFGzDVntUvibiyZhfMQdMhgsiuysLMiePBNXifRLMsSmXPkwlPloUbJveCvUlaalhZHuvdkCnkSHbMbmOnrfEGPwQiACiPlnihiaOdbjPqPiTXaHDoJXjSlZmltGqNHHNrcKdlFSCdmVOuvDcBLdSklyGJmcLTbSFtALdGlPkqqecJrpLCXNPWefoTJNgEJlyMEPneVaxxduAAEqQpHWZodWyRkDAxzyMnFMcjSVqeRXLqsNyNtQBbuRvunZflWSbbvXXdkyLikYqutQhLPONXbvhcQZJPSWnOulqQaXmbfFxAkqfYeseSHOQidHwbcsOaMnSrrmGjjRmEMQNuknupMxJiIeVjmgZvbmjPIQTEhQFULQLBMPrxcFPvBinaOPYWGvYGRKxLZdwamfRQQFngcdSlvwjfaPbURasIsGJVHtcEAxnIIrhSriiXLOlbEBLXFElXJFGxHJczRBIxAuPKtBisjKBwfzZFagdNmjdwIRvwzLkFKWRTDPxJCmpzHUcrPiiXXHnOIlqNVoGSXZewdnCRhuxeYGPVTfrNTQNOxZmxInOazUYNTNDgzsxlgiVEHPKMfbesvPHUqpNkUqbzeuzfdrsuLDpKHMUbBMKczKKWOdYoIXoPYtEjfOnlQLoGnbQUCuERdEFaptwnsHzTJDsuZkKtzMpFaZobynZdzNydEeJJHDYaQcwUxcqvwfWwNUsCiLvkZQiSfzAHftYgAmVsXgtmcYgTqJIawstRYJrZdSxlfRiqTufgEQVambeZZmaAyRQbcmdjVUZZCgqDrSeltJGXPMgZnGDZqISrGDOClxXCxMjmKqEPwKHoOfOeyGmqWqihqjINXLqnyTesZePQRqaWDQNqpLgNrAUKulklmckTijUltQKuWQDwpLmDyxLppPVMwsmBIpOwQttYFMjgJQZLYFPmxWFLIeZihkRNnkzoypBICIxgEuYsVWGIGRbbxqVasYnstWomJnHwmtOhAFSpttRYYzBmyEtZXiCthvKvWszTXDbiJbGXMcrYpKAgvUVFtdKUfvdMfhAryctklUCEdjetjuGNfJjajZtvzdYaqInKtFPPLYmRaXPdQzxdSQfmZDEVHlHGEGNSPRFJuIfKLLfUmnHxHnRjmzQPNlqrXgifUdzAGKVabYqvcDeYoTYgPsBUqehrBhmQUgTvDnsdpuhUoxskDdppTsYMcnDIPSwKIqhXDCIxOuXrywahvVavvHkPuaenjLmEbMgrkrQLHEAwrhHkPRNvonNQKqprqOFVZKAtpRSpvQUxMoXCMZLSSbnLEFsjVfANdQNQVwTmGxqVjVqRuxREAhuaDrFgEZpYKhwWPEKBevBfsOIcaZKyykQafzmGPLRAKDtTcJxJVgiiuUkmyMYuDUNEUhBEdoBLJnamtLmMJQgmLiUELIhLpiEvpOXOvXCPUeldLFqkKOwfacqIaRcnnZvERKRMCKUkMABbDHytQqQblrvoxOZkwzosQfDKGtIdfcXRJNqlBNwOCWoQBcEWyqrMlYZIAXYJmLfnjoJepgSFvrgajaBAIksoyeHqgqbGvpAstMIGmIhRYGGNPRIfOQKsGoKgxtsidhTaAePRCBFqZgPDWCIkqOJezGVkjfYUCZTlInbxBXwUAVRsxHTQtJFnnpmMvXDYCVlEmnZBKhmmxQOIQzxFWpJQkQoSAYzTEiDWEOsVLNrbfzeHFRyeYATakQQWmFDLPbVMCJcWjFGJjfqCoVzlbNNEsqxdSmNPjTjHYOkuEMFLkXYGaoJlraLqayMeCsTjWNRDPBywBJLAPVkGQqTwApVVwYAetlwSbzsdHWsTwSIcctkyKDuRWYDQikRqsKTMJchrliONJeaZIzwPQrNbTwxsGdwuduvibtYndRwpdsvyCktRHFalvUuEKMqXbItfGcNGWsGzubdPMYayOUOINjpcFBeESdwpdlTYmrPsLsVDhpTzoMegKrytNVZkfJRPuDCUXxSlSthOohmsuxmIZUedzxKmowKOdXTMcEtdpHaPWgIsIjrViKrQOCONlSuazmLuCUjLltOGXeNgJKedTVrrVCpWYWHyVrdXpKgNaMJVjbXxnVMSChdWKuZdqpisvrkBJPoURDYxWOtpjzZoOpWzyUuYNhCzRoHsMjmmWDcXzQiHIyjwdhPNwiPqFxeUfMVFQGImhykFgMIlQEoZCaRoqSBXTSWAeDumdbsOGtATwEdZlLfoBKiTvodQBGOEcuATWXfiinSjPmJKcWgQrTVYVrwlyMWhxqNbCMpIQNoSMGTiWfPTCezUjYcdWppnsYJihLQCqbNLRGgqrwHuIvsazapTpoPZIyZyeeSueJuTIhpHMEJfJpScshJubJGfkusuVBgfTWQoywSSliQQSfbvaHKiLnyjdSbpMkdBgXepoSsHnCQaYuHQqZsoEOmJCiuQUpJkmfyfbIShzlZpHFmLCsbknEAkKXKfRTRnuwdBeuOGgFbJLbDksHVapaRayWzwoYBEpmrlAxrUxYMUekKbpjPNfjUCjhbdMAnJmYQVZBQZkFVweHDAlaqJjRqoQPoOMLhyvYCzqEuQsAFoxWrzRnTVjStPadhsESlERnKhpEPsfDxNvxqcOyIulaCkmPdambLHvGhTZzysvqFauEgkFRItPfvisehFmoBhQqmkfbHVsgfHXDPJVyhwPllQpuYLRYvGodxKjkarnSNgsXoKEMlaSKxKdcVgvOkuLcfLFfdtXGTclqfPOfeoVLbqcjcXCUEBgAGplrkgsmIEhWRZLlGPGCwKWRaCKMkBHTAcypUrYjWwCLtOPVygMwMANGoQwFnCqFrUGMCRZUGJKTZIGPyldsifauoMnJPLTcDHmilcmahlqOELaAUYDBuzsVywnDQfwRLGIWozYaOAilMBcObErwgTDNGWnwQMUgFFSKtPDMEoEQCTKVREqrXZSGLqwTMcxHfWotDllNkIJPMbXzjDVjPOOjCFuIvTyhXKLyhUScOXvYthRXpPfKwMhptXaxIxgqBoUqzrWbaoLTVpQoottZyPFfNOoMioXHRuFwMRYUiKvcWPkrayyTLOCFJlAyslDameIuqVAuxErqFPEWIScKpBORIuZqoXlZuTvAjEdlEWDODFRregDTqGNoFBIHxvimmIZwLfFyKUfEWAnNBdtdzDmT", content.GetDescription()) - require.Equal(t, "tpHRGdIbuucfTjOygZsTxPjfweXhSUkMhPjMaxKlMIJMOXcnQfyzeOcbWwNbeHVIkPZBSpYuLyYggwexjxusrBqDOTtGTOWeLrQKjLxzIivHSlcxgdXhhuTSkuxKGLwQvuyNhYFmBZHe", content.GetTitle()) + require.Equal(t, "desc from SimulateParamChangeProposalContent-0. Random short desc: IivHSlcxgdXhhuTSkuxK", content.GetDescription()) + require.Equal(t, "title from SimulateParamChangeProposalContent-0", content.GetTitle()) require.Equal(t, "params", content.ProposalRoute()) require.Equal(t, "ParameterChange", content.ProposalType()) @@ -60,6 +60,6 @@ func TestSimulateParamChangeProposalContent(t *testing.T) { require.True(t, ok) require.Equal(t, "test-Key2", pcp.Changes[0].GetKey()) - require.Equal(t, "test-value 2610 ", pcp.Changes[0].GetValue()) + require.Equal(t, "test-value 2791 ", pcp.Changes[0].GetValue()) require.Equal(t, "test-Subspace2", pcp.Changes[0].GetSubspace()) } diff --git a/x/params/simulation/proposals_test.go b/x/params/simulation/proposals_test.go index e89bb668a489..2902cb08aa44 100644 --- a/x/params/simulation/proposals_test.go +++ b/x/params/simulation/proposals_test.go @@ -36,8 +36,8 @@ func TestProposalContents(t *testing.T) { content := w0.ContentSimulatorFn()(r, ctx, accounts) - require.Equal(t, "BrTEdFUqHtDtDBPzlahrrStzkUNxImpptHBIFDQfnxaTiOBJUgNzvqHbVcVJYlIFWFlzFqqRTTyFzDUMntPzyRamUFqeJAEaSHIuUHZoTWDjWXsYxYvwXwXZEsjRQKgKMselyUqWXMbHzRNDHnMzhWSirUgVggjiBxtWDfhzPDgrorEoNmDEiDdBldYegphCBTYWrmFFXNjxhtygsGBFHTejaKjMsqNdikEzDalEyWRHfJhKqifCKsedVuuJbQMbmRVuIPDluAWGpngjgBjOxuRFwSadayHNIhVVmNWBbfaTOldclxTTLUMvaBnLfwjHTtsKetEIvgrxLijhKJNablmvqpWIWsmhWQAYNLycREypoASHnyKWrxpoNLBJuyCGysZJgXbQAAmSIbGxMFXuwMVGZgBiZWfPWorAfjBeekCFvljHAtVZaTOsRxbPIioNxLTnWUTzGTvaNhplQQPmMADRRDuUIsiBpnGqPheKmLnopieVseFdTSAvOCacxaqFWFuXzsrVZzlGfeRpClwKuGEBujaPrzSLjVIOMvLlWxuznEOXlxbZroBRVEvEfBBAHOECribZNrYiFnzQqQmBnLksmFNAadusWAGltuqYNntgOlgOGwSdDjWdLboWyAWIcCfmpGJTfbljKPriLehwObuszICkaXNUkmeddeeRulbZBXJVLgteiKIfofGdNBregwUPlINQECatDSNXSIuefyMxxoKfcmjHEwbVtFiXtEnLJkLHUghmzFiymrgBChucZgOQUpGGVQEpRtIQjIBxYhtZPgUORdxXNWUMErWrUeriqYJPcgIDgLMWAyuuQnsHncCtjvHmvFbzYErxeunQllYDUVlXaRBveRUKeXwEGJFTSAqZtaBSDGDtzlADCnGjuTmYMJlapRsWfugmjwKEuoXJVpZvlcHeFvVvRRktRVGwzLfKezPEMABZtbLExQIjynSoahmkmoTHefdzFoBHMcQHFkKVHhpNtudPqJrYuQswzFuFHbSmpNltFnYJpvMrAYHFrNouZaanEUGHvbHIUUFTCtZrcpRHwgjblxlDNJWzHdBNpAXKJPHWQdrGYcAHSctgVlqwqHoLfHsXUdStwfefwzqLuKEhmMyYLdbZrcPgYqjNHxPexsruwEGStAneKbWkQDDIlCWBLSiAASNhZqNFlPtfqPJoxKsgMdzjWqLWdqKQuJqWPMvwPQWZUtVMOTMYKJbfdlZsjdsomuScvDmbDkgRualsxDvRJuCAmPOXitIbcyWsKGSdrEunFAOdmXnsuyFVgJqEjbklvmwrUlsxjRSfKZxGcpayDdgoFcnVSutxjRgOSFzPwidAjubMncNweqpbxhXGchpZUxuFDOtpnhNUycJICRYqsPhPSCjPTWZFLkstHWJxvdPEAyEIxXgLwbNOjrgzmaujiBABBIXvcXpLrbcEWNNQsbjvgJFgJkflpRohHUutvnaUqoopuKjTDaemDeSdqbnOzcfJpcTuAQtZoiLZOoAIlboFDAeGmSNwkvObPRvRWQgWkGkxwtPauYgdkmypLjbqhlHJIQTntgWjXwZdOyYEdQRRLfMSdnxqppqUofqLbLQDUjwKVKfZJUJQPsWIPwIVaSTrmKskoAhvmZyJgeRpkaTfGgrJzAigcxtfshmiDCFkuiluqtMOkidknnTBtumyJYlIsWLnCQclqdVmikUoMOPdPWwYbJxXyqUVicNxFxyqJTenNblyyKSdlCbiXxUiYUiMwXZASYfvMDPFgxniSjWaZTjHkqlJvtBsXqwPpyVxnJVGFWhfSxgOcduoxkiopJvFjMmFabrGYeVtTXLhxVUEiGwYUvndjFGzDVntUvibiyZhfMQdMhgsiuysLMiePBNXifRLMsSmXPkwlPloUbJveCvUlaalhZHuvdkCnkSHbMbmOnrfEGPwQiACiPlnihiaOdbjPqPiTXaHDoJXjSlZmltGqNHHNrcKdlFSCdmVOuvDcBLdSklyGJmcLTbSFtALdGlPkqqecJrpLCXNPWefoTJNgEJlyMEPneVaxxduAAEqQpHWZodWyRkDAxzyMnFMcjSVqeRXLqsNyNtQBbuRvunZflWSbbvXXdkyLikYqutQhLPONXbvhcQZJPSWnOulqQaXmbfFxAkqfYeseSHOQidHwbcsOaMnSrrmGjjRmEMQNuknupMxJiIeVjmgZvbmjPIQTEhQFULQLBMPrxcFPvBinaOPYWGvYGRKxLZdwamfRQQFngcdSlvwjfaPbURasIsGJVHtcEAxnIIrhSriiXLOlbEBLXFElXJFGxHJczRBIxAuPKtBisjKBwfzZFagdNmjdwIRvwzLkFKWRTDPxJCmpzHUcrPiiXXHnOIlqNVoGSXZewdnCRhuxeYGPVTfrNTQNOxZmxInOazUYNTNDgzsxlgiVEHPKMfbesvPHUqpNkUqbzeuzfdrsuLDpKHMUbBMKczKKWOdYoIXoPYtEjfOnlQLoGnbQUCuERdEFaptwnsHzTJDsuZkKtzMpFaZobynZdzNydEeJJHDYaQcwUxcqvwfWwNUsCiLvkZQiSfzAHftYgAmVsXgtmcYgTqJIawstRYJrZdSxlfRiqTufgEQVambeZZmaAyRQbcmdjVUZZCgqDrSeltJGXPMgZnGDZqISrGDOClxXCxMjmKqEPwKHoOfOeyGmqWqihqjINXLqnyTesZePQRqaWDQNqpLgNrAUKulklmckTijUltQKuWQDwpLmDyxLppPVMwsmBIpOwQttYFMjgJQZLYFPmxWFLIeZihkRNnkzoypBICIxgEuYsVWGIGRbbxqVasYnstWomJnHwmtOhAFSpttRYYzBmyEtZXiCthvKvWszTXDbiJbGXMcrYpKAgvUVFtdKUfvdMfhAryctklUCEdjetjuGNfJjajZtvzdYaqInKtFPPLYmRaXPdQzxdSQfmZDEVHlHGEGNSPRFJuIfKLLfUmnHxHnRjmzQPNlqrXgifUdzAGKVabYqvcDeYoTYgPsBUqehrBhmQUgTvDnsdpuhUoxskDdppTsYMcnDIPSwKIqhXDCIxOuXrywahvVavvHkPuaenjLmEbMgrkrQLHEAwrhHkPRNvonNQKqprqOFVZKAtpRSpvQUxMoXCMZLSSbnLEFsjVfANdQNQVwTmGxqVjVqRuxREAhuaDrFgEZpYKhwWPEKBevBfsOIcaZKyykQafzmGPLRAKDtTcJxJVgiiuUkmyMYuDUNEUhBEdoBLJnamtLmMJQgmLiUELIhLpiEvpOXOvXCPUeldLFqkKOwfacqIaRcnnZvERKRMCKUkMABbDHytQqQblrvoxOZkwzosQfDKGtIdfcXRJNqlBNwOCWoQBcEWyqrMlYZIAXYJmLfnjoJepgSFvrgajaBAIksoyeHqgqbGvpAstMIGmIhRYGGNPRIfOQKsGoKgxtsidhTaAePRCBFqZgPDWCIkqOJezGVkjfYUCZTlInbxBXwUAVRsxHTQtJFnnpmMvXDYCVlEmnZBKhmmxQOIQzxFWpJQkQoSAYzTEiDWEOsVLNrbfzeHFRyeYATakQQWmFDLPbVMCJcWjFGJjfqCoVzlbNNEsqxdSmNPjTjHYOkuEMFLkXYGaoJlraLqayMeCsTjWNRDPBywBJLAPVkGQqTwApVVwYAetlwSbzsdHWsTwSIcctkyKDuRWYDQikRqsKTMJchrliONJeaZIzwPQrNbTwxsGdwuduvibtYndRwpdsvyCktRHFalvUuEKMqXbItfGcNGWsGzubdPMYayOUOINjpcFBeESdwpdlTYmrPsLsVDhpTzoMegKrytNVZkfJRPuDCUXxSlSthOohmsuxmIZUedzxKmowKOdXTMcEtdpHaPWgIsIjrViKrQOCONlSuazmLuCUjLltOGXeNgJKedTVrrVCpWYWHyVrdXpKgNaMJVjbXxnVMSChdWKuZdqpisvrkBJPoURDYxWOtpjzZoOpWzyUuYNhCzRoHsMjmmWDcXzQiHIyjwdhPNwiPqFxeUfMVFQGImhykFgMIlQEoZCaRoqSBXTSWAeDumdbsOGtATwEdZlLfoBKiTvodQBGOEcuATWXfiinSjPmJKcWgQrTVYVrwlyMWhxqNbCMpIQNoSMGTiWfPTCezUjYcdWppnsYJihLQCqbNLRGgqrwHuIvsazapTpoPZIyZyeeSueJuTIhpHMEJfJpScshJubJGfkusuVBgfTWQoywSSliQQSfbvaHKiLnyjdSbpMkdBgXepoSsHnCQaYuHQqZsoEOmJCiuQUpJkmfyfbIShzlZpHFmLCsbknEAkKXKfRTRnuwdBeuOGgFbJLbDksHVapaRayWzwoYBEpmrlAxrUxYMUekKbpjPNfjUCjhbdMAnJmYQVZBQZkFVweHDAlaqJjRqoQPoOMLhyvYCzqEuQsAFoxWrzRnTVjStPadhsESlERnKhpEPsfDxNvxqcOyIulaCkmPdambLHvGhTZzysvqFauEgkFRItPfvisehFmoBhQqmkfbHVsgfHXDPJVyhwPllQpuYLRYvGodxKjkarnSNgsXoKEMlaSKxKdcVgvOkuLcfLFfdtXGTclqfPOfeoVLbqcjcXCUEBgAGplrkgsmIEhWRZLlGPGCwKWRaCKMkBHTAcypUrYjWwCLtOPVygMwMANGoQwFnCqFrUGMCRZUGJKTZIGPyldsifauoMnJPLTcDHmilcmahlqOELaAUYDBuzsVywnDQfwRLGIWozYaOAilMBcObErwgTDNGWnwQMUgFFSKtPDMEoEQCTKVREqrXZSGLqwTMcxHfWotDllNkIJPMbXzjDVjPOOjCFuIvTyhXKLyhUScOXvYthRXpPfKwMhptXaxIxgqBoUqzrWbaoLTVpQoottZyPFfNOoMioXHRuFwMRYUiKvcWPkrayyTLOCFJlAyslDameIuqVAuxErqFPEWIScKpBORIuZqoXlZuTvAjEdlEWDODFRregDTqGNoFBIHxvimmIZwLfFyKUfEWAnNBdtdzDmT", content.GetDescription()) - require.Equal(t, "tpHRGdIbuucfTjOygZsTxPjfweXhSUkMhPjMaxKlMIJMOXcnQfyzeOcbWwNbeHVIkPZBSpYuLyYggwexjxusrBqDOTtGTOWeLrQKjLxzIivHSlcxgdXhhuTSkuxKGLwQvuyNhYFmBZHe", content.GetTitle()) + require.Equal(t, "desc from SimulateParamChangeProposalContent-0. Random short desc: IivHSlcxgdXhhuTSkuxK", content.GetDescription()) + require.Equal(t, "title from SimulateParamChangeProposalContent-0", content.GetTitle()) require.Equal(t, "params", content.ProposalRoute()) require.Equal(t, "ParameterChange", content.ProposalType()) @@ -46,6 +46,6 @@ func TestProposalContents(t *testing.T) { require.Len(t, pcp.Changes, 1) require.Equal(t, "test-Key2", pcp.Changes[0].GetKey()) - require.Equal(t, "test-value 2610 ", pcp.Changes[0].GetValue()) + require.Equal(t, "test-value 2791 ", pcp.Changes[0].GetValue()) require.Equal(t, "test-Subspace2", pcp.Changes[0].GetSubspace()) } diff --git a/x/simulation/params.go b/x/simulation/params.go index e11e9764bc97..51dfb6439f10 100644 --- a/x/simulation/params.go +++ b/x/simulation/params.go @@ -119,7 +119,7 @@ func NewSimParamChange(subspace, key string, simVal simulation.SimValFn) simulat // ComposedKey creates a new composed key for the param change proposal func (spc ParamChange) ComposedKey() string { - return fmt.Sprintf("%s/%s", spc.Subspace(), spc.Key()) + return spc.Subspace() + "/" + spc.Key() } // Proposal Contents diff --git a/x/staking/client/testutil/suite.go b/x/staking/client/testutil/suite.go index 822082d32ae5..f24a1ad5a234 100644 --- a/x/staking/client/testutil/suite.go +++ b/x/staking/client/testutil/suite.go @@ -867,13 +867,12 @@ func (s *IntegrationTestSuite) TestGetCmdQueryParams() { historical_entries: 10000 max_entries: 7 max_validators: 100 -power_reduction: "1000000" unbonding_time: 1814400s`, }, { "with json output", []string{fmt.Sprintf("--%s=json", tmcli.OutputFlag)}, - `{"unbonding_time":"1814400s","max_validators":100,"max_entries":7,"historical_entries":10000,"bond_denom":"stake","power_reduction":"1000000"}`, + `{"unbonding_time":"1814400s","max_validators":100,"max_entries":7,"historical_entries":10000,"bond_denom":"stake"}`, }, } for _, tc := range testCases { diff --git a/x/staking/handler_test.go b/x/staking/handler_test.go index 995c0803914e..12dea7d7267a 100644 --- a/x/staking/handler_test.go +++ b/x/staking/handler_test.go @@ -42,51 +42,6 @@ func bootstrapHandlerGenesisTest(t *testing.T, power int64, numAddrs int, accAmo return app, ctx, addrDels, addrVals } -func TestPowerReductionChangeValidatorSetUpdates(t *testing.T) { - initPower := int64(1000000) - app, ctx, _, valAddrs := bootstrapHandlerGenesisTest(t, initPower, 10, sdk.TokensFromConsensusPower(initPower, sdk.DefaultPowerReduction)) - validatorAddr, validatorAddr3 := valAddrs[0], valAddrs[1] - tstaking := teststaking.NewHelper(t, ctx, app.StakingKeeper) - - // create validator - tstaking.CreateValidatorWithValPower(validatorAddr, PKs[0], initPower, true) - - // must end-block - updates, err := app.StakingKeeper.ApplyAndReturnValidatorSetUpdates(ctx) - require.NoError(t, err) - require.Equal(t, 1, len(updates)) - - // create a second validator keep it bonded - tstaking.CreateValidatorWithValPower(validatorAddr3, PKs[2], initPower, true) - - // must end-block - updates, err = app.StakingKeeper.ApplyAndReturnValidatorSetUpdates(ctx) - require.NoError(t, err) - require.Equal(t, 1, len(updates)) - - // modify power reduction to 10 times bigger one - params := app.StakingKeeper.GetParams(ctx) - params.PowerReduction = sdk.DefaultPowerReduction.Mul(sdk.NewInt(10)) - app.StakingKeeper.SetParams(ctx, params) - - // validator updates for tendermint power - updates, err = app.StakingKeeper.ApplyAndReturnValidatorSetUpdates(ctx) - require.NoError(t, err) - require.Equal(t, 2, len(updates)) - require.Equal(t, updates[0].Power, initPower/10) - require.Equal(t, updates[1].Power, initPower/10) - - // power reduction back to default - params = app.StakingKeeper.GetParams(ctx) - params.PowerReduction = sdk.DefaultPowerReduction - app.StakingKeeper.SetParams(ctx, params) - - // validator updates for tendermint power - updates, err = app.StakingKeeper.ApplyAndReturnValidatorSetUpdates(ctx) - require.NoError(t, err) - require.Equal(t, 2, len(updates)) -} - func TestValidatorByPowerIndex(t *testing.T) { initPower := int64(1000000) app, ctx, _, valAddrs := bootstrapHandlerGenesisTest(t, initPower, 10, sdk.TokensFromConsensusPower(initPower, sdk.DefaultPowerReduction)) diff --git a/x/staking/keeper/migrations.go b/x/staking/keeper/migrations.go index 859344918173..101ca195b390 100644 --- a/x/staking/keeper/migrations.go +++ b/x/staking/keeper/migrations.go @@ -17,5 +17,5 @@ func NewMigrator(keeper Keeper) Migrator { // Migrate1to2 migrates from version 1 to 2. func (m Migrator) Migrate1to2(ctx sdk.Context) error { - return v043.MigrateStore(ctx, m.keeper.storeKey, m.keeper.paramstore) + return v043.MigrateStore(ctx, m.keeper.storeKey) } diff --git a/x/staking/keeper/params.go b/x/staking/keeper/params.go index 37c433415b0d..10a8b7e8f03a 100644 --- a/x/staking/keeper/params.go +++ b/x/staking/keeper/params.go @@ -39,11 +39,12 @@ func (k Keeper) BondDenom(ctx sdk.Context) (res string) { return } -// PowerReduction - is the amount of staking tokens required for 1 unit of consensus-engine power -// governance can update it on a running chain -func (k Keeper) PowerReduction(ctx sdk.Context) (res sdk.Int) { - k.paramstore.Get(ctx, types.KeyPowerReduction, &res) - return +// PowerReduction - is the amount of staking tokens required for 1 unit of consensus-engine power. +// Currently, this returns a global variable that the app developer can tweak. +// TODO: we might turn this into an on-chain param: +// https://github.com/cosmos/cosmos-sdk/issues/8365 +func (k Keeper) PowerReduction(ctx sdk.Context) sdk.Int { + return sdk.DefaultPowerReduction } // Get all parameteras as types.Params @@ -54,7 +55,6 @@ func (k Keeper) GetParams(ctx sdk.Context) types.Params { k.MaxEntries(ctx), k.HistoricalEntries(ctx), k.BondDenom(ctx), - k.PowerReduction(ctx), ) } diff --git a/x/staking/keeper/power_reduction_test.go b/x/staking/keeper/power_reduction_test.go index b1e3c79429fd..e18230d854b2 100644 --- a/x/staking/keeper/power_reduction_test.go +++ b/x/staking/keeper/power_reduction_test.go @@ -1,22 +1,9 @@ package keeper_test import ( - "math/big" - sdk "github.com/cosmos/cosmos-sdk/types" ) -func (suite *KeeperTestSuite) TestPowerReductionChange() { - // modify power reduction - newPowerReduction := sdk.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(10), big.NewInt(12), nil)) - params := suite.app.StakingKeeper.GetParams(suite.ctx) - params.PowerReduction = newPowerReduction - suite.app.StakingKeeper.SetParams(suite.ctx, params) - - // check power reduction change - suite.Require().Equal(newPowerReduction, suite.app.StakingKeeper.PowerReduction(suite.ctx)) -} - func (suite *KeeperTestSuite) TestTokensToConsensusPower() { suite.Require().Equal(int64(0), suite.app.StakingKeeper.TokensToConsensusPower(suite.ctx, sdk.DefaultPowerReduction.Sub(sdk.NewInt(1)))) suite.Require().Equal(int64(1), suite.app.StakingKeeper.TokensToConsensusPower(suite.ctx, sdk.DefaultPowerReduction)) diff --git a/x/staking/keeper/val_state_change.go b/x/staking/keeper/val_state_change.go index 166688af5892..7392936f5421 100644 --- a/x/staking/keeper/val_state_change.go +++ b/x/staking/keeper/val_state_change.go @@ -112,7 +112,7 @@ func (k Keeper) BlockValidatorUpdates(ctx sdk.Context) []abci.ValidatorUpdate { func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []abci.ValidatorUpdate, err error) { params := k.GetParams(ctx) maxValidators := params.MaxValidators - powerReduction := params.PowerReduction + powerReduction := k.PowerReduction(ctx) totalPower := sdk.ZeroInt() amtFromBondedToNotBonded, amtFromNotBondedToBonded := sdk.ZeroInt(), sdk.ZeroInt() diff --git a/x/staking/legacy/v043/json.go b/x/staking/legacy/v043/json.go deleted file mode 100644 index a6334ee8b107..000000000000 --- a/x/staking/legacy/v043/json.go +++ /dev/null @@ -1,138 +0,0 @@ -package v043 - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - v040staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v040" - v043staking "github.com/cosmos/cosmos-sdk/x/staking/types" -) - -// MigrateJSON accepts exported v0.40 x/gov genesis state and migrates it to -// v0.43 x/gov genesis state. The migration includes: -// -// - Gov weighted votes. -func MigrateJSON(oldState *v040staking.GenesisState) *v043staking.GenesisState { - return &v043staking.GenesisState{ - Params: migrateParams(oldState.Params), - LastTotalPower: oldState.LastTotalPower, - LastValidatorPowers: migrateLastValidatorPowers(oldState.LastValidatorPowers), - Validators: migrateValidators(oldState.Validators), - Delegations: migrateDelegations(oldState.Delegations), - UnbondingDelegations: migrateUnbondingDelegations(oldState.UnbondingDelegations), - Redelegations: migrateRedelegations(oldState.Redelegations), - Exported: oldState.Exported, - } -} - -func migrateParams(oldParams v040staking.Params) v043staking.Params { - return v043staking.NewParams( - oldParams.UnbondingTime, - oldParams.MaxValidators, - oldParams.MaxEntries, - oldParams.HistoricalEntries, - oldParams.BondDenom, - sdk.DefaultPowerReduction, - ) -} - -func migrateLastValidatorPowers(oldLastValidatorPowers []v040staking.LastValidatorPower) []v043staking.LastValidatorPower { - newLastValidatorPowers := make([]v043staking.LastValidatorPower, len(oldLastValidatorPowers)) - for i, oldLastValidatorPower := range oldLastValidatorPowers { - newLastValidatorPowers[i] = v043staking.LastValidatorPower{ - Address: oldLastValidatorPower.Address, - Power: oldLastValidatorPower.Power, - } - } - return newLastValidatorPowers -} - -func migrateValidators(oldValidators []v040staking.Validator) []v043staking.Validator { - newValidators := make([]v043staking.Validator, len(oldValidators)) - - for i, oldValidator := range oldValidators { - newValidators[i] = v043staking.Validator{ - OperatorAddress: oldValidator.OperatorAddress, - ConsensusPubkey: oldValidator.ConsensusPubkey, - Jailed: oldValidator.Jailed, - Status: v043staking.BondStatus(oldValidator.Status), - Tokens: oldValidator.Tokens, - DelegatorShares: oldValidator.DelegatorShares, - Description: v043staking.Description{ - Moniker: oldValidator.Description.Moniker, - Identity: oldValidator.Description.Identity, - Website: oldValidator.Description.Website, - SecurityContact: oldValidator.Description.SecurityContact, - Details: oldValidator.Description.Details, - }, - UnbondingHeight: oldValidator.UnbondingHeight, - UnbondingTime: oldValidator.UnbondingTime, - Commission: v043staking.Commission{ - CommissionRates: v043staking.CommissionRates{ - Rate: oldValidator.Commission.CommissionRates.Rate, - MaxRate: oldValidator.Commission.CommissionRates.MaxRate, - MaxChangeRate: oldValidator.Commission.CommissionRates.MaxChangeRate, - }, - UpdateTime: oldValidator.Commission.UpdateTime, - }, - MinSelfDelegation: oldValidator.MinSelfDelegation, - } - } - - return newValidators -} - -func migrateDelegations(oldDelegations []v040staking.Delegation) []v043staking.Delegation { - newDelegations := make([]v043staking.Delegation, len(oldDelegations)) - for i, oldDelegation := range oldDelegations { - newDelegations[i] = v043staking.Delegation{ - DelegatorAddress: oldDelegation.DelegatorAddress, - ValidatorAddress: oldDelegation.ValidatorAddress, - Shares: oldDelegation.Shares, - } - } - return newDelegations -} - -func migrateUnbondingDelegations(oldUnbondingDelegations []v040staking.UnbondingDelegation) []v043staking.UnbondingDelegation { - newUnbondingDelegations := make([]v043staking.UnbondingDelegation, len(oldUnbondingDelegations)) - for i, oldUnbondingDelegation := range oldUnbondingDelegations { - newEntries := make([]v043staking.UnbondingDelegationEntry, len(oldUnbondingDelegation.Entries)) - for j, oldEntry := range oldUnbondingDelegation.Entries { - newEntries[j] = v043staking.UnbondingDelegationEntry{ - CreationHeight: oldEntry.CreationHeight, - CompletionTime: oldEntry.CompletionTime, - InitialBalance: oldEntry.InitialBalance, - Balance: oldEntry.Balance, - } - } - - newUnbondingDelegations[i] = v043staking.UnbondingDelegation{ - DelegatorAddress: oldUnbondingDelegation.DelegatorAddress, - ValidatorAddress: oldUnbondingDelegation.ValidatorAddress, - Entries: newEntries, - } - } - return newUnbondingDelegations -} - -func migrateRedelegations(oldRedelegations []v040staking.Redelegation) []v043staking.Redelegation { - newRedelegations := make([]v043staking.Redelegation, len(oldRedelegations)) - for i, oldRedelegation := range oldRedelegations { - newEntries := make([]v043staking.RedelegationEntry, len(oldRedelegation.Entries)) - for j, oldEntry := range oldRedelegation.Entries { - newEntries[j] = v043staking.RedelegationEntry{ - CreationHeight: oldEntry.CreationHeight, - CompletionTime: oldEntry.CompletionTime, - InitialBalance: oldEntry.InitialBalance, - SharesDst: oldEntry.SharesDst, - } - } - - newRedelegations[i] = v043staking.Redelegation{ - DelegatorAddress: oldRedelegation.DelegatorAddress, - ValidatorSrcAddress: oldRedelegation.ValidatorSrcAddress, - ValidatorDstAddress: oldRedelegation.ValidatorDstAddress, - Entries: newEntries, - } - } - return newRedelegations -} diff --git a/x/staking/legacy/v043/json_test.go b/x/staking/legacy/v043/json_test.go deleted file mode 100644 index 7eec5418b7c8..000000000000 --- a/x/staking/legacy/v043/json_test.go +++ /dev/null @@ -1,67 +0,0 @@ -package v043_test - -import ( - "encoding/json" - "fmt" - "testing" - - "github.com/stretchr/testify/require" - - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/simapp" - sdk "github.com/cosmos/cosmos-sdk/types" - v040staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v040" - v043staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v043" -) - -func TestMigrateJSON(t *testing.T) { - encodingConfig := simapp.MakeTestEncodingConfig() - clientCtx := client.Context{}. - WithInterfaceRegistry(encodingConfig.InterfaceRegistry). - WithTxConfig(encodingConfig.TxConfig). - WithJSONCodec(encodingConfig.Marshaler) - - // voter, err := sdk.AccAddressFromBech32("cosmos1fl48vsnmsdzcv85q5d2q4z5ajdha8yu34mf0eh") - // require.NoError(t, err) - stakingGenState := &v040staking.GenesisState{ - Params: v040staking.DefaultParams(), - } - - migrated := v043staking.MigrateJSON(stakingGenState) - - require.True(t, migrated.Params.PowerReduction.Equal(sdk.DefaultPowerReduction)) - - bz, err := clientCtx.Codec.MarshalJSON(migrated) - require.NoError(t, err) - - // Indent the JSON bz correctly. - var jsonObj map[string]interface{} - err = json.Unmarshal(bz, &jsonObj) - require.NoError(t, err) - indentedBz, err := json.MarshalIndent(jsonObj, "", "\t") - require.NoError(t, err) - - // Make sure about: - // - Votes are all ADR-037 weighted votes with weight 1. - expected := `{ - "delegations": [], - "exported": false, - "last_total_power": "0", - "last_validator_powers": [], - "params": { - "bond_denom": "stake", - "historical_entries": 10000, - "max_entries": 7, - "max_validators": 100, - "power_reduction": "1000000", - "unbonding_time": "1814400s" - }, - "redelegations": [], - "unbonding_delegations": [], - "validators": [] -}` - - fmt.Println(string(indentedBz)) - - require.Equal(t, expected, string(indentedBz)) -} diff --git a/x/staking/legacy/v043/store.go b/x/staking/legacy/v043/store.go index 6284f00d92a5..2e06d7d674ea 100644 --- a/x/staking/legacy/v043/store.go +++ b/x/staking/legacy/v043/store.go @@ -6,7 +6,6 @@ import ( "github.com/cosmos/cosmos-sdk/types/address" v040auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v040" v043distribution "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v043" - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" v040staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v040" "github.com/cosmos/cosmos-sdk/x/staking/types" ) @@ -55,20 +54,11 @@ func migrateValidatorsByPowerIndexKey(store sdk.KVStore) { } } -func migrateParamsStore(ctx sdk.Context, paramstore paramtypes.Subspace) { - if paramstore.HasKeyTable() { - paramstore.Set(ctx, types.KeyPowerReduction, sdk.DefaultPowerReduction) - } else { - paramstore.WithKeyTable(types.ParamKeyTable()) - paramstore.Set(ctx, types.KeyPowerReduction, sdk.DefaultPowerReduction) - } -} - // MigrateStore performs in-place store migrations from v0.40 to v0.43. The // migration includes: // // - Setting the Power Reduction param in the paramstore -func MigrateStore(ctx sdk.Context, storeKey sdk.StoreKey, paramstore paramtypes.Subspace) error { +func MigrateStore(ctx sdk.Context, storeKey sdk.StoreKey) error { store := ctx.KVStore(storeKey) v043distribution.MigratePrefixAddress(store, v040staking.LastValidatorPowerKey) @@ -84,7 +74,5 @@ func MigrateStore(ctx sdk.Context, storeKey sdk.StoreKey, paramstore paramtypes. migratePrefixAddressAddressAddress(store, v040staking.RedelegationByValSrcIndexKey) migratePrefixAddressAddressAddress(store, v040staking.RedelegationByValDstIndexKey) - migrateParamsStore(ctx, paramstore) - return nil } diff --git a/x/staking/legacy/v043/store_test.go b/x/staking/legacy/v043/store_test.go index 7d1422ebc014..099691115489 100644 --- a/x/staking/legacy/v043/store_test.go +++ b/x/staking/legacy/v043/store_test.go @@ -7,11 +7,9 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/cosmos-sdk/simapp" "github.com/cosmos/cosmos-sdk/testutil" "github.com/cosmos/cosmos-sdk/testutil/testdata" sdk "github.com/cosmos/cosmos-sdk/types" - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" v040staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v040" v043staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v043" "github.com/cosmos/cosmos-sdk/x/staking/teststaking" @@ -19,14 +17,11 @@ import ( ) func TestStoreMigration(t *testing.T) { - encCfg := simapp.MakeTestEncodingConfig() stakingKey := sdk.NewKVStoreKey("staking") tStakingKey := sdk.NewTransientStoreKey("transient_test") ctx := testutil.DefaultContext(stakingKey, tStakingKey) store := ctx.KVStore(stakingKey) - paramSubspace := paramtypes.NewSubspace(encCfg.Marshaler, encCfg.Amino, stakingKey, tStakingKey, types.ModuleName) - _, pk1, addr1 := testdata.KeyTestPubAddr() valAddr1 := sdk.ValAddress(addr1) val := teststaking.NewValidator(t, valAddr1, pk1) @@ -127,7 +122,7 @@ func TestStoreMigration(t *testing.T) { } // Run migrations. - err := v043staking.MigrateStore(ctx, stakingKey, paramSubspace) + err := v043staking.MigrateStore(ctx, stakingKey) require.NoError(t, err) // Make sure the new keys are set and old keys are deleted. @@ -140,8 +135,4 @@ func TestStoreMigration(t *testing.T) { require.Equal(t, value, store.Get(tc.newKey)) }) } - - powerReduction := sdk.NewInt(0) - paramSubspace.Get(ctx, types.KeyPowerReduction, &powerReduction) - require.True(t, powerReduction.Equal(sdk.DefaultPowerReduction)) } diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index 2f1caf2692f7..cf4e8e50c44d 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -63,7 +63,7 @@ func RandomizedGenState(simState *module.SimulationState) { // NOTE: the slashing module need to be defined after the staking module on the // NewSimulationManager constructor for this to work simState.UnbondTime = unbondTime - params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, sdk.DefaultBondDenom, sdk.DefaultPowerReduction) + params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, sdk.DefaultBondDenom) // validators & delegations var ( diff --git a/x/staking/simulation/genesis_test.go b/x/staking/simulation/genesis_test.go index f7b31b29e1e3..b7dae7dfb97f 100644 --- a/x/staking/simulation/genesis_test.go +++ b/x/staking/simulation/genesis_test.go @@ -10,7 +10,6 @@ import ( "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" "github.com/cosmos/cosmos-sdk/x/staking/simulation" @@ -47,7 +46,6 @@ func TestRandomizedGenState(t *testing.T) { require.Equal(t, uint32(8687), stakingGenesis.Params.HistoricalEntries) require.Equal(t, "stake", stakingGenesis.Params.BondDenom) require.Equal(t, float64(238280), stakingGenesis.Params.UnbondingTime.Seconds()) - require.Equal(t, sdk.DefaultPowerReduction, stakingGenesis.Params.PowerReduction) // check numbers of Delegations and Validators require.Len(t, stakingGenesis.Delegations, 3) require.Len(t, stakingGenesis.Validators, 3) diff --git a/x/staking/types/params.go b/x/staking/types/params.go index 1b5a4f1949b4..8ccae6b56500 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -49,14 +49,13 @@ func ParamKeyTable() paramtypes.KeyTable { } // NewParams creates a new Params instance -func NewParams(unbondingTime time.Duration, maxValidators, maxEntries, historicalEntries uint32, bondDenom string, powerReduction sdk.Int) Params { +func NewParams(unbondingTime time.Duration, maxValidators, maxEntries, historicalEntries uint32, bondDenom string) Params { return Params{ UnbondingTime: unbondingTime, MaxValidators: maxValidators, MaxEntries: maxEntries, HistoricalEntries: historicalEntries, BondDenom: bondDenom, - PowerReduction: powerReduction, } } @@ -68,7 +67,6 @@ func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { paramtypes.NewParamSetPair(KeyMaxEntries, &p.MaxEntries, validateMaxEntries), paramtypes.NewParamSetPair(KeyHistoricalEntries, &p.HistoricalEntries, validateHistoricalEntries), paramtypes.NewParamSetPair(KeyBondDenom, &p.BondDenom, validateBondDenom), - paramtypes.NewParamSetPair(KeyPowerReduction, &p.PowerReduction, ValidatePowerReduction), } } @@ -80,7 +78,6 @@ func DefaultParams() Params { DefaultMaxEntries, DefaultHistoricalEntries, sdk.DefaultBondDenom, - sdk.DefaultPowerReduction, ) } diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 2dfc8c11b719..618599edba36 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -844,8 +844,6 @@ type Params struct { HistoricalEntries uint32 `protobuf:"varint,4,opt,name=historical_entries,json=historicalEntries,proto3" json:"historical_entries,omitempty" yaml:"historical_entries"` // bond_denom defines the bondable coin denomination. BondDenom string `protobuf:"bytes,5,opt,name=bond_denom,json=bondDenom,proto3" json:"bond_denom,omitempty" yaml:"bond_denom"` - // power_reduction is the amount of staking tokens required for 1 unit of consensus-engine power - PowerReduction github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,6,opt,name=power_reduction,json=powerReduction,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"power_reduction" yaml:"power_reduction"` } func (m *Params) Reset() { *m = Params{} } @@ -1140,121 +1138,120 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 1822 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0x4f, 0x6c, 0x23, 0x57, - 0x19, 0xf7, 0xc4, 0xae, 0x63, 0x7f, 0x4e, 0xe2, 0xe4, 0x6d, 0x76, 0xeb, 0x98, 0xc5, 0xe3, 0x0e, - 0x55, 0x09, 0xa8, 0x75, 0xd8, 0x14, 0x15, 0x91, 0x0b, 0xac, 0xe3, 0x2c, 0xb1, 0x5a, 0x96, 0x30, - 0xc9, 0x06, 0x09, 0x2a, 0xac, 0xe7, 0x99, 0x17, 0x67, 0x88, 0x67, 0xc6, 0xcc, 0x7b, 0xde, 0xc6, - 0x52, 0x0f, 0x1c, 0xcb, 0x22, 0x44, 0xb9, 0xf5, 0xb2, 0xd2, 0x4a, 0xbd, 0x56, 0xe2, 0x82, 0xb8, - 0x72, 0x2d, 0x70, 0x59, 0x6e, 0x08, 0x21, 0x83, 0x76, 0x2f, 0xc0, 0x09, 0xf9, 0xc4, 0x0d, 0xf4, - 0xfe, 0xcc, 0x9f, 0x8c, 0xe3, 0xdd, 0xf5, 0xd2, 0x43, 0x25, 0x7a, 0x49, 0xfc, 0xbe, 0xf7, 0x7d, - 0xbf, 0xef, 0x7d, 0x7f, 0xdf, 0xf7, 0x06, 0x5e, 0xb6, 0x7c, 0xea, 0xfa, 0x74, 0x8b, 0x32, 0x7c, - 0xe6, 0x78, 0xbd, 0xad, 0xbb, 0x37, 0xba, 0x84, 0xe1, 0x1b, 0xe1, 0xba, 0x31, 0x08, 0x7c, 0xe6, - 0xa3, 0x6b, 0x92, 0xab, 0x11, 0x52, 0x15, 0x57, 0x75, 0xbd, 0xe7, 0xf7, 0x7c, 0xc1, 0xb2, 0xc5, - 0x7f, 0x49, 0xee, 0xea, 0x46, 0xcf, 0xf7, 0x7b, 0x7d, 0xb2, 0x25, 0x56, 0xdd, 0xe1, 0xc9, 0x16, - 0xf6, 0x46, 0x6a, 0xab, 0x96, 0xde, 0xb2, 0x87, 0x01, 0x66, 0x8e, 0xef, 0xa9, 0x7d, 0x3d, 0xbd, - 0xcf, 0x1c, 0x97, 0x50, 0x86, 0xdd, 0x41, 0x88, 0x2d, 0x4f, 0xd2, 0x91, 0x4a, 0xd5, 0xb1, 0x14, - 0xb6, 0x32, 0xa5, 0x8b, 0x29, 0x89, 0xec, 0xb0, 0x7c, 0x27, 0xc4, 0xbe, 0xce, 0x88, 0x67, 0x93, - 0xc0, 0x75, 0x3c, 0xb6, 0xc5, 0x46, 0x03, 0x42, 0xe5, 0x5f, 0xb9, 0x6b, 0xfc, 0x54, 0x83, 0x95, - 0x7d, 0x87, 0x32, 0x3f, 0x70, 0x2c, 0xdc, 0x6f, 0x7b, 0x27, 0x3e, 0x7a, 0x03, 0xf2, 0xa7, 0x04, - 0xdb, 0x24, 0xa8, 0x68, 0x75, 0x6d, 0xb3, 0xb4, 0x5d, 0x69, 0xc4, 0x08, 0x0d, 0x29, 0xbb, 0x2f, - 0xf6, 0x9b, 0xb9, 0x8f, 0xc7, 0x7a, 0xc6, 0x54, 0xdc, 0xe8, 0x1b, 0x90, 0xbf, 0x8b, 0xfb, 0x94, - 0xb0, 0xca, 0x42, 0x3d, 0xbb, 0x59, 0xda, 0x7e, 0xa9, 0x71, 0xb9, 0xfb, 0x1a, 0xc7, 0xb8, 0xef, - 0xd8, 0x98, 0xf9, 0x11, 0x80, 0x14, 0x33, 0x7e, 0xb5, 0x00, 0xe5, 0x5d, 0xdf, 0x75, 0x1d, 0x4a, - 0x1d, 0xdf, 0x33, 0x31, 0x23, 0x14, 0x35, 0x21, 0x17, 0x60, 0x46, 0xc4, 0x51, 0x8a, 0xcd, 0x06, - 0xe7, 0xff, 0xf3, 0x58, 0x7f, 0xa5, 0xe7, 0xb0, 0xd3, 0x61, 0xb7, 0x61, 0xf9, 0xae, 0x72, 0x86, - 0xfa, 0xf7, 0x1a, 0xb5, 0xcf, 0x94, 0x7d, 0x2d, 0x62, 0x99, 0x42, 0x16, 0xbd, 0x0d, 0x05, 0x17, - 0x9f, 0x77, 0x04, 0xce, 0x82, 0xc0, 0xb9, 0x39, 0x1f, 0xce, 0x64, 0xac, 0x97, 0x47, 0xd8, 0xed, - 0xef, 0x18, 0x21, 0x8e, 0x61, 0x2e, 0xba, 0xf8, 0x9c, 0x1f, 0x11, 0x0d, 0xa0, 0xcc, 0xa9, 0xd6, - 0x29, 0xf6, 0x7a, 0x44, 0x2a, 0xc9, 0x0a, 0x25, 0xfb, 0x73, 0x2b, 0xb9, 0x16, 0x2b, 0x49, 0xc0, - 0x19, 0xe6, 0xb2, 0x8b, 0xcf, 0x77, 0x05, 0x81, 0x6b, 0xdc, 0x29, 0x7c, 0xf0, 0x40, 0xcf, 0xfc, - 0xfd, 0x81, 0xae, 0x19, 0x7f, 0xd4, 0x00, 0x62, 0x8f, 0xa1, 0xb7, 0x61, 0xd5, 0x8a, 0x56, 0x42, - 0x96, 0xaa, 0x18, 0x7e, 0x71, 0x56, 0x2c, 0x52, 0xfe, 0x6e, 0x16, 0xf8, 0xa1, 0x1f, 0x8e, 0x75, - 0xcd, 0x2c, 0x5b, 0xa9, 0x50, 0xfc, 0x00, 0x4a, 0xc3, 0x81, 0x8d, 0x19, 0xe9, 0xf0, 0xec, 0x14, - 0x9e, 0x2c, 0x6d, 0x57, 0x1b, 0x32, 0x75, 0x1b, 0x61, 0xea, 0x36, 0x8e, 0xc2, 0xd4, 0x6d, 0xd6, - 0x38, 0xd6, 0x64, 0xac, 0x23, 0x69, 0x56, 0x42, 0xd8, 0x78, 0xff, 0xaf, 0xba, 0x66, 0x82, 0xa4, - 0x70, 0x81, 0x84, 0x4d, 0xbf, 0xd3, 0xa0, 0xd4, 0x22, 0xd4, 0x0a, 0x9c, 0x01, 0xaf, 0x10, 0x54, - 0x81, 0x45, 0xd7, 0xf7, 0x9c, 0x33, 0x95, 0x8f, 0x45, 0x33, 0x5c, 0xa2, 0x2a, 0x14, 0x1c, 0x9b, - 0x78, 0xcc, 0x61, 0x23, 0x19, 0x57, 0x33, 0x5a, 0x73, 0xa9, 0x77, 0x48, 0x97, 0x3a, 0x61, 0x34, - 0xcc, 0x70, 0x89, 0x6e, 0xc1, 0x2a, 0x25, 0xd6, 0x30, 0x70, 0xd8, 0xa8, 0x63, 0xf9, 0x1e, 0xc3, - 0x16, 0xab, 0xe4, 0x44, 0xc0, 0x3e, 0x37, 0x19, 0xeb, 0x2f, 0xca, 0xb3, 0xa6, 0x39, 0x0c, 0xb3, - 0x1c, 0x92, 0x76, 0x25, 0x85, 0x6b, 0xb0, 0x09, 0xc3, 0x4e, 0x9f, 0x56, 0x5e, 0x90, 0x1a, 0xd4, - 0x32, 0x61, 0xcb, 0x47, 0x8b, 0x50, 0x8c, 0xb2, 0x9d, 0x6b, 0xf6, 0x07, 0x24, 0xe0, 0xbf, 0x3b, - 0xd8, 0xb6, 0x03, 0x42, 0xa9, 0xca, 0xeb, 0x84, 0xe6, 0x34, 0x87, 0x61, 0x96, 0x43, 0xd2, 0x4d, - 0x49, 0x41, 0x8c, 0x87, 0xd9, 0xa3, 0xc4, 0xa3, 0x43, 0xda, 0x19, 0x0c, 0xbb, 0x67, 0x64, 0xa4, - 0xa2, 0xb1, 0x3e, 0x15, 0x8d, 0x9b, 0xde, 0xa8, 0xf9, 0x7a, 0x8c, 0x9e, 0x96, 0x33, 0x7e, 0xff, - 0xeb, 0xd7, 0xd6, 0x55, 0x6a, 0x58, 0xc1, 0x68, 0xc0, 0xfc, 0xc6, 0xc1, 0xb0, 0xfb, 0x26, 0x19, - 0xf1, 0xf0, 0x2b, 0xd6, 0x03, 0xc1, 0x89, 0xae, 0x41, 0xfe, 0x47, 0xd8, 0xe9, 0x13, 0x5b, 0x38, - 0xb4, 0x60, 0xaa, 0x15, 0xda, 0x81, 0x3c, 0x65, 0x98, 0x0d, 0xa9, 0xf0, 0xe2, 0xca, 0xb6, 0x31, - 0x2b, 0xd5, 0x9a, 0xbe, 0x67, 0x1f, 0x0a, 0x4e, 0x53, 0x49, 0xa0, 0x5b, 0x90, 0x67, 0xfe, 0x19, - 0xf1, 0x94, 0x0b, 0xe7, 0xaa, 0xef, 0xb6, 0xc7, 0x4c, 0x25, 0xcd, 0x3d, 0x62, 0x93, 0x3e, 0xe9, - 0x09, 0xc7, 0xd1, 0x53, 0x1c, 0x10, 0x5a, 0xc9, 0x0b, 0xc4, 0xf6, 0xdc, 0x45, 0xa8, 0x3c, 0x95, - 0xc6, 0x33, 0xcc, 0x72, 0x44, 0x3a, 0x14, 0x14, 0xf4, 0x26, 0x94, 0xec, 0x38, 0x51, 0x2b, 0x8b, - 0x22, 0x04, 0x5f, 0x98, 0x65, 0x7e, 0x22, 0xa7, 0x55, 0xdf, 0x4b, 0x4a, 0xf3, 0xe4, 0x18, 0x7a, - 0x5d, 0xdf, 0xb3, 0x1d, 0xaf, 0xd7, 0x39, 0x25, 0x4e, 0xef, 0x94, 0x55, 0x0a, 0x75, 0x6d, 0x33, - 0x9b, 0x4c, 0x8e, 0x34, 0x87, 0x61, 0x96, 0x23, 0xd2, 0xbe, 0xa0, 0x20, 0x1b, 0x56, 0x62, 0x2e, - 0x51, 0xa8, 0xc5, 0xa7, 0x16, 0xea, 0x4b, 0xaa, 0x50, 0xaf, 0xa6, 0xb5, 0xc4, 0xb5, 0xba, 0x1c, - 0x11, 0xb9, 0x18, 0xda, 0x07, 0x88, 0xdb, 0x43, 0x05, 0x84, 0x06, 0xe3, 0xe9, 0x3d, 0x46, 0x19, - 0x9e, 0x90, 0x45, 0xef, 0xc2, 0x15, 0xd7, 0xf1, 0x3a, 0x94, 0xf4, 0x4f, 0x3a, 0xca, 0xc1, 0x1c, - 0xb2, 0x24, 0xa2, 0xf7, 0xd6, 0x7c, 0xf9, 0x30, 0x19, 0xeb, 0x55, 0xd5, 0x42, 0xa7, 0x21, 0x0d, - 0x73, 0xcd, 0x75, 0xbc, 0x43, 0xd2, 0x3f, 0x69, 0x45, 0xb4, 0x9d, 0xa5, 0xf7, 0x1e, 0xe8, 0x19, - 0x55, 0xae, 0x19, 0xe3, 0x0d, 0x58, 0x3a, 0xc6, 0x7d, 0x55, 0x66, 0x84, 0xa2, 0xeb, 0x50, 0xc4, - 0xe1, 0xa2, 0xa2, 0xd5, 0xb3, 0x9b, 0x45, 0x33, 0x26, 0xc8, 0x32, 0xff, 0xc9, 0x5f, 0xea, 0x9a, - 0xf1, 0x91, 0x06, 0xf9, 0xd6, 0xf1, 0x01, 0x76, 0x02, 0xd4, 0x86, 0xb5, 0x38, 0x73, 0x2e, 0x16, - 0xf9, 0xf5, 0xc9, 0x58, 0xaf, 0xa4, 0x93, 0x2b, 0xaa, 0xf2, 0x38, 0x81, 0xc3, 0x32, 0x6f, 0xc3, - 0xda, 0xdd, 0xb0, 0x77, 0x44, 0x50, 0x0b, 0x69, 0xa8, 0x29, 0x16, 0xc3, 0x5c, 0x8d, 0x68, 0x0a, - 0x2a, 0x65, 0xe6, 0x1e, 0x2c, 0xca, 0xd3, 0x52, 0xb4, 0x03, 0x2f, 0x0c, 0xf8, 0x0f, 0x61, 0x5d, - 0x69, 0xbb, 0x36, 0x33, 0x79, 0x05, 0xbf, 0x0a, 0x9f, 0x14, 0x31, 0x7e, 0xb9, 0x00, 0xd0, 0x3a, - 0x3e, 0x3e, 0x0a, 0x9c, 0x41, 0x9f, 0xb0, 0x4f, 0xd2, 0xf2, 0x23, 0xb8, 0x1a, 0x9b, 0x45, 0x03, - 0x2b, 0x65, 0x7d, 0x7d, 0x32, 0xd6, 0xaf, 0xa7, 0xad, 0x4f, 0xb0, 0x19, 0xe6, 0x95, 0x88, 0x7e, - 0x18, 0x58, 0x97, 0xa2, 0xda, 0x94, 0x45, 0xa8, 0xd9, 0xd9, 0xa8, 0x09, 0xb6, 0x24, 0x6a, 0x8b, - 0xb2, 0xcb, 0x5d, 0x7b, 0x08, 0xa5, 0xd8, 0x25, 0x14, 0xb5, 0xa0, 0xc0, 0xd4, 0x6f, 0xe5, 0x61, - 0x63, 0xb6, 0x87, 0x43, 0x31, 0xe5, 0xe5, 0x48, 0xd2, 0xf8, 0xb7, 0x06, 0x10, 0xe7, 0xec, 0xa7, - 0x33, 0xc5, 0x78, 0x2b, 0x57, 0x8d, 0x37, 0xfb, 0x5c, 0xa3, 0x9a, 0x92, 0x4e, 0xf9, 0xf3, 0x67, - 0x0b, 0x70, 0xe5, 0x4e, 0xd8, 0x79, 0x3e, 0xf5, 0x3e, 0x38, 0x80, 0x45, 0xe2, 0xb1, 0xc0, 0x11, - 0x4e, 0xe0, 0xd1, 0xfe, 0xca, 0xac, 0x68, 0x5f, 0x62, 0xd3, 0x9e, 0xc7, 0x82, 0x91, 0x8a, 0x7d, - 0x08, 0x93, 0xf2, 0xc6, 0x2f, 0xb2, 0x50, 0x99, 0x25, 0x89, 0x76, 0xa1, 0x6c, 0x05, 0x44, 0x10, - 0xc2, 0xfb, 0x43, 0x13, 0xf7, 0x47, 0x35, 0x9e, 0x2c, 0x53, 0x0c, 0x86, 0xb9, 0x12, 0x52, 0xd4, - 0xed, 0xd1, 0x03, 0x3e, 0xf6, 0xf1, 0xb4, 0xe3, 0x5c, 0xcf, 0x38, 0xe7, 0x19, 0xea, 0xfa, 0x08, - 0x95, 0x5c, 0x04, 0x90, 0xf7, 0xc7, 0x4a, 0x4c, 0x15, 0x17, 0xc8, 0x8f, 0xa1, 0xec, 0x78, 0x0e, - 0x73, 0x70, 0xbf, 0xd3, 0xc5, 0x7d, 0xec, 0x59, 0xcf, 0x33, 0x35, 0xcb, 0x96, 0xaf, 0xd4, 0xa6, - 0xe0, 0x0c, 0x73, 0x45, 0x51, 0x9a, 0x92, 0x80, 0xf6, 0x61, 0x31, 0x54, 0x95, 0x7b, 0xae, 0x69, - 0x23, 0x14, 0x4f, 0x0c, 0x78, 0x3f, 0xcf, 0xc2, 0x9a, 0x49, 0xec, 0xcf, 0x42, 0x31, 0x5f, 0x28, - 0xbe, 0x0d, 0x20, 0xcb, 0x9d, 0x37, 0xd8, 0xe7, 0x88, 0x06, 0x6f, 0x18, 0x45, 0x89, 0xd0, 0xa2, - 0x2c, 0x11, 0x8f, 0xf1, 0x02, 0x2c, 0x25, 0xe3, 0xf1, 0x7f, 0x7a, 0x2b, 0xa1, 0x76, 0xdc, 0x89, - 0x72, 0xa2, 0x13, 0x7d, 0x69, 0x56, 0x27, 0x9a, 0xca, 0xde, 0x27, 0xb7, 0xa0, 0x7f, 0x64, 0x21, - 0x7f, 0x80, 0x03, 0xec, 0x52, 0x64, 0x4d, 0x4d, 0x9a, 0xf2, 0xad, 0xb9, 0x31, 0x95, 0x9f, 0x2d, - 0xf5, 0xb5, 0xe3, 0x29, 0x83, 0xe6, 0x07, 0x97, 0x0c, 0x9a, 0xdf, 0x84, 0x15, 0xfe, 0x1c, 0x8e, - 0x6c, 0x94, 0xde, 0x5e, 0x6e, 0x6e, 0xc4, 0x28, 0x17, 0xf7, 0xe5, 0x6b, 0x39, 0x7a, 0x74, 0x51, - 0xf4, 0x35, 0x28, 0x71, 0x8e, 0xb8, 0x31, 0x73, 0xf1, 0x6b, 0xf1, 0xb3, 0x34, 0xb1, 0x69, 0x98, - 0xe0, 0xe2, 0xf3, 0x3d, 0xb9, 0x40, 0x6f, 0x01, 0x3a, 0x8d, 0xbe, 0x8c, 0x74, 0x62, 0x77, 0x72, - 0xf9, 0xcf, 0x4f, 0xc6, 0xfa, 0x86, 0x94, 0x9f, 0xe6, 0x31, 0xcc, 0xb5, 0x98, 0x18, 0xa2, 0x7d, - 0x15, 0x80, 0xdb, 0xd5, 0xb1, 0x89, 0xe7, 0xbb, 0xea, 0xb9, 0x73, 0x75, 0x32, 0xd6, 0xd7, 0x24, - 0x4a, 0xbc, 0x67, 0x98, 0x45, 0xbe, 0x68, 0xf1, 0xdf, 0xbc, 0x36, 0x07, 0xfe, 0x3b, 0x24, 0xe8, - 0x04, 0xc4, 0x1e, 0x5a, 0x62, 0x32, 0xce, 0xff, 0x6f, 0xb5, 0x99, 0x82, 0x33, 0xcc, 0x15, 0x41, - 0x31, 0x43, 0x42, 0xa2, 0x98, 0x3e, 0xd4, 0x00, 0xc5, 0xb7, 0x8c, 0x49, 0xe8, 0x80, 0x3f, 0x09, - 0xf9, 0xec, 0x9f, 0x18, 0xd4, 0xb5, 0x27, 0xcf, 0xfe, 0xb1, 0x7c, 0x38, 0xfb, 0x27, 0x8a, 0xf3, - 0xeb, 0x71, 0x47, 0x5e, 0x50, 0xa9, 0xa3, 0x60, 0xba, 0x98, 0x92, 0xc4, 0xfb, 0xc1, 0x09, 0xa5, - 0xa7, 0x5a, 0x70, 0xc6, 0xf8, 0x83, 0x06, 0x1b, 0x53, 0x49, 0x1c, 0x1d, 0xf6, 0x87, 0x80, 0x82, - 0xc4, 0xa6, 0x08, 0xd1, 0x48, 0x1d, 0x7a, 0xee, 0x9a, 0x58, 0x0b, 0xa6, 0x5a, 0xfd, 0x27, 0x77, - 0xa9, 0xe4, 0x84, 0xcf, 0x7f, 0xab, 0xc1, 0x7a, 0x52, 0x7d, 0x64, 0xc8, 0x6d, 0x58, 0x4a, 0x6a, - 0x57, 0x26, 0xbc, 0xfc, 0x2c, 0x26, 0xa8, 0xd3, 0x5f, 0x90, 0x47, 0xdf, 0x8d, 0x3b, 0x84, 0xfc, - 0x5c, 0x77, 0xe3, 0x99, 0xbd, 0x11, 0x9e, 0x29, 0xdd, 0x29, 0x72, 0x22, 0x1e, 0xff, 0xd1, 0x20, - 0x77, 0xe0, 0xfb, 0x7d, 0xe4, 0xc3, 0x9a, 0xe7, 0xb3, 0x0e, 0x4f, 0x66, 0x62, 0x77, 0xd4, 0x3b, - 0x5f, 0xb6, 0xde, 0xdd, 0xf9, 0x9c, 0xf4, 0xcf, 0xb1, 0x3e, 0x0d, 0x65, 0x96, 0x3d, 0x9f, 0x35, - 0x05, 0xe5, 0x48, 0x7e, 0x05, 0x78, 0x17, 0x96, 0x2f, 0x2a, 0x93, 0x8d, 0xf9, 0x7b, 0x73, 0x2b, - 0xbb, 0x08, 0x33, 0x19, 0xeb, 0xeb, 0x71, 0x91, 0x46, 0x64, 0xc3, 0x5c, 0xea, 0x26, 0xb4, 0xef, - 0x14, 0x78, 0xfc, 0xfe, 0xf5, 0x40, 0xd7, 0xbe, 0xfc, 0x1b, 0x0d, 0x20, 0xfe, 0xd8, 0x81, 0x5e, - 0x85, 0x17, 0x9b, 0xdf, 0xb9, 0xdd, 0xea, 0x1c, 0x1e, 0xdd, 0x3c, 0xba, 0x73, 0xd8, 0xb9, 0x73, - 0xfb, 0xf0, 0x60, 0x6f, 0xb7, 0x7d, 0xab, 0xbd, 0xd7, 0x5a, 0xcd, 0x54, 0xcb, 0xf7, 0xee, 0xd7, - 0x4b, 0x77, 0x3c, 0x3a, 0x20, 0x96, 0x73, 0xe2, 0x10, 0x1b, 0xbd, 0x02, 0xeb, 0x17, 0xb9, 0xf9, - 0x6a, 0xaf, 0xb5, 0xaa, 0x55, 0x97, 0xee, 0xdd, 0xaf, 0x17, 0xe4, 0xf8, 0x47, 0x6c, 0xb4, 0x09, - 0x57, 0xa7, 0xf9, 0xda, 0xb7, 0xbf, 0xb5, 0xba, 0x50, 0x5d, 0xbe, 0x77, 0xbf, 0x5e, 0x8c, 0xe6, - 0x44, 0x64, 0x00, 0x4a, 0x72, 0x2a, 0xbc, 0x6c, 0x15, 0xee, 0xdd, 0xaf, 0xe7, 0xa5, 0x03, 0xab, - 0xb9, 0xf7, 0x3e, 0xac, 0x65, 0x9a, 0xb7, 0x3e, 0x7e, 0x54, 0xd3, 0x1e, 0x3e, 0xaa, 0x69, 0x7f, - 0x7b, 0x54, 0xd3, 0xde, 0x7f, 0x5c, 0xcb, 0x3c, 0x7c, 0x5c, 0xcb, 0xfc, 0xe9, 0x71, 0x2d, 0xf3, - 0xfd, 0x57, 0x9f, 0xe8, 0xbb, 0xf3, 0xe8, 0x3b, 0xba, 0xf0, 0x62, 0x37, 0x2f, 0x3a, 0xff, 0xeb, - 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x90, 0x8f, 0x24, 0x66, 0x17, 0x00, 0x00, + // 1796 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0x4d, 0x6c, 0x23, 0x49, + 0x15, 0x76, 0x3b, 0x5e, 0xc7, 0x7e, 0x4e, 0xe2, 0xa4, 0x26, 0x33, 0xeb, 0x98, 0xc1, 0xed, 0x6d, + 0x56, 0x4b, 0x40, 0xbb, 0x0e, 0x93, 0x45, 0x8b, 0xc8, 0x05, 0xc6, 0x71, 0x86, 0x58, 0xbb, 0x0c, + 0xa1, 0x93, 0x09, 0x12, 0xac, 0xb0, 0xca, 0xdd, 0x15, 0xa7, 0x89, 0xbb, 0xdb, 0x74, 0x95, 0x87, + 0x58, 0xda, 0x03, 0xc7, 0x65, 0x10, 0x62, 0xb9, 0xed, 0x65, 0xa4, 0x91, 0xf6, 0xba, 0x12, 0x17, + 0xc4, 0x95, 0xeb, 0x02, 0x97, 0xe1, 0x86, 0x10, 0x32, 0x68, 0xe6, 0x82, 0x38, 0x21, 0x1f, 0x10, + 0x37, 0x50, 0xfd, 0xf4, 0x4f, 0xda, 0xf1, 0xcc, 0x78, 0xb4, 0x87, 0x91, 0xd8, 0x4b, 0xe2, 0x7a, + 0xf5, 0xde, 0xf7, 0xea, 0xfd, 0xd6, 0xab, 0x86, 0x57, 0x2d, 0x9f, 0xba, 0x3e, 0xdd, 0xa2, 0x0c, + 0x9f, 0x39, 0x5e, 0x6f, 0xeb, 0xee, 0x8d, 0x2e, 0x61, 0xf8, 0x46, 0xb8, 0x6e, 0x0c, 0x02, 0x9f, + 0xf9, 0xe8, 0x9a, 0xe4, 0x6a, 0x84, 0x54, 0xc5, 0x55, 0x5d, 0xef, 0xf9, 0x3d, 0x5f, 0xb0, 0x6c, + 0xf1, 0x5f, 0x92, 0xbb, 0xba, 0xd1, 0xf3, 0xfd, 0x5e, 0x9f, 0x6c, 0x89, 0x55, 0x77, 0x78, 0xb2, + 0x85, 0xbd, 0x91, 0xda, 0xaa, 0xa5, 0xb7, 0xec, 0x61, 0x80, 0x99, 0xe3, 0x7b, 0x6a, 0x5f, 0x4f, + 0xef, 0x33, 0xc7, 0x25, 0x94, 0x61, 0x77, 0x10, 0x62, 0xcb, 0x93, 0x74, 0xa4, 0x52, 0x75, 0x2c, + 0x85, 0xad, 0x4c, 0xe9, 0x62, 0x4a, 0x22, 0x3b, 0x2c, 0xdf, 0x09, 0xb1, 0xaf, 0x33, 0xe2, 0xd9, + 0x24, 0x70, 0x1d, 0x8f, 0x6d, 0xb1, 0xd1, 0x80, 0x50, 0xf9, 0x57, 0xee, 0x1a, 0x3f, 0xd3, 0x60, + 0x65, 0xdf, 0xa1, 0xcc, 0x0f, 0x1c, 0x0b, 0xf7, 0xdb, 0xde, 0x89, 0x8f, 0xde, 0x82, 0xfc, 0x29, + 0xc1, 0x36, 0x09, 0x2a, 0x5a, 0x5d, 0xdb, 0x2c, 0x6d, 0x57, 0x1a, 0x31, 0x42, 0x43, 0xca, 0xee, + 0x8b, 0xfd, 0x66, 0xee, 0x93, 0xb1, 0x9e, 0x31, 0x15, 0x37, 0xfa, 0x06, 0xe4, 0xef, 0xe2, 0x3e, + 0x25, 0xac, 0x92, 0xad, 0x2f, 0x6c, 0x96, 0xb6, 0x5f, 0x69, 0x5c, 0xee, 0xbe, 0xc6, 0x31, 0xee, + 0x3b, 0x36, 0x66, 0x7e, 0x04, 0x20, 0xc5, 0x8c, 0x5f, 0x67, 0xa1, 0xbc, 0xeb, 0xbb, 0xae, 0x43, + 0xa9, 0xe3, 0x7b, 0x26, 0x66, 0x84, 0xa2, 0x26, 0xe4, 0x02, 0xcc, 0x88, 0x38, 0x4a, 0xb1, 0xd9, + 0xe0, 0xfc, 0x7f, 0x19, 0xeb, 0xaf, 0xf5, 0x1c, 0x76, 0x3a, 0xec, 0x36, 0x2c, 0xdf, 0x55, 0xce, + 0x50, 0xff, 0xde, 0xa0, 0xf6, 0x99, 0xb2, 0xaf, 0x45, 0x2c, 0x53, 0xc8, 0xa2, 0x77, 0xa1, 0xe0, + 0xe2, 0xf3, 0x8e, 0xc0, 0xc9, 0x0a, 0x9c, 0x9b, 0xf3, 0xe1, 0x4c, 0xc6, 0x7a, 0x79, 0x84, 0xdd, + 0xfe, 0x8e, 0x11, 0xe2, 0x18, 0xe6, 0xa2, 0x8b, 0xcf, 0xf9, 0x11, 0xd1, 0x00, 0xca, 0x9c, 0x6a, + 0x9d, 0x62, 0xaf, 0x47, 0xa4, 0x92, 0x05, 0xa1, 0x64, 0x7f, 0x6e, 0x25, 0xd7, 0x62, 0x25, 0x09, + 0x38, 0xc3, 0x5c, 0x76, 0xf1, 0xf9, 0xae, 0x20, 0x70, 0x8d, 0x3b, 0x85, 0x0f, 0x1f, 0xe8, 0x99, + 0x7f, 0x3c, 0xd0, 0x35, 0xe3, 0x4f, 0x1a, 0x40, 0xec, 0x31, 0xf4, 0x2e, 0xac, 0x5a, 0xd1, 0x4a, + 0xc8, 0x52, 0x15, 0xc3, 0x2f, 0xce, 0x8a, 0x45, 0xca, 0xdf, 0xcd, 0x02, 0x3f, 0xf4, 0xc3, 0xb1, + 0xae, 0x99, 0x65, 0x2b, 0x15, 0x8a, 0x1f, 0x40, 0x69, 0x38, 0xb0, 0x31, 0x23, 0x1d, 0x9e, 0x9d, + 0xc2, 0x93, 0xa5, 0xed, 0x6a, 0x43, 0xa6, 0x6e, 0x23, 0x4c, 0xdd, 0xc6, 0x51, 0x98, 0xba, 0xcd, + 0x1a, 0xc7, 0x9a, 0x8c, 0x75, 0x24, 0xcd, 0x4a, 0x08, 0x1b, 0x1f, 0xfc, 0x4d, 0xd7, 0x4c, 0x90, + 0x14, 0x2e, 0x90, 0xb0, 0xe9, 0xf7, 0x1a, 0x94, 0x5a, 0x84, 0x5a, 0x81, 0x33, 0xe0, 0x15, 0x82, + 0x2a, 0xb0, 0xe8, 0xfa, 0x9e, 0x73, 0xa6, 0xf2, 0xb1, 0x68, 0x86, 0x4b, 0x54, 0x85, 0x82, 0x63, + 0x13, 0x8f, 0x39, 0x6c, 0x24, 0xe3, 0x6a, 0x46, 0x6b, 0x2e, 0xf5, 0x13, 0xd2, 0xa5, 0x4e, 0x18, + 0x0d, 0x33, 0x5c, 0xa2, 0x5b, 0xb0, 0x4a, 0x89, 0x35, 0x0c, 0x1c, 0x36, 0xea, 0x58, 0xbe, 0xc7, + 0xb0, 0xc5, 0x2a, 0x39, 0x11, 0xb0, 0xcf, 0x4d, 0xc6, 0xfa, 0xcb, 0xf2, 0xac, 0x69, 0x0e, 0xc3, + 0x2c, 0x87, 0xa4, 0x5d, 0x49, 0xe1, 0x1a, 0x6c, 0xc2, 0xb0, 0xd3, 0xa7, 0x95, 0x97, 0xa4, 0x06, + 0xb5, 0x4c, 0xd8, 0xf2, 0xf1, 0x22, 0x14, 0xa3, 0x6c, 0xe7, 0x9a, 0xfd, 0x01, 0x09, 0xf8, 0xef, + 0x0e, 0xb6, 0xed, 0x80, 0x50, 0xaa, 0xf2, 0x3a, 0xa1, 0x39, 0xcd, 0x61, 0x98, 0xe5, 0x90, 0x74, + 0x53, 0x52, 0x10, 0xe3, 0x61, 0xf6, 0x28, 0xf1, 0xe8, 0x90, 0x76, 0x06, 0xc3, 0xee, 0x19, 0x19, + 0xa9, 0x68, 0xac, 0x4f, 0x45, 0xe3, 0xa6, 0x37, 0x6a, 0xbe, 0x19, 0xa3, 0xa7, 0xe5, 0x8c, 0x3f, + 0xfc, 0xe6, 0x8d, 0x75, 0x95, 0x1a, 0x56, 0x30, 0x1a, 0x30, 0xbf, 0x71, 0x30, 0xec, 0xbe, 0x4d, + 0x46, 0x3c, 0xfc, 0x8a, 0xf5, 0x40, 0x70, 0xa2, 0x6b, 0x90, 0xff, 0x11, 0x76, 0xfa, 0xc4, 0x16, + 0x0e, 0x2d, 0x98, 0x6a, 0x85, 0x76, 0x20, 0x4f, 0x19, 0x66, 0x43, 0x2a, 0xbc, 0xb8, 0xb2, 0x6d, + 0xcc, 0x4a, 0xb5, 0xa6, 0xef, 0xd9, 0x87, 0x82, 0xd3, 0x54, 0x12, 0xe8, 0x16, 0xe4, 0x99, 0x7f, + 0x46, 0x3c, 0xe5, 0xc2, 0xb9, 0xea, 0xbb, 0xed, 0x31, 0x53, 0x49, 0x73, 0x8f, 0xd8, 0xa4, 0x4f, + 0x7a, 0xc2, 0x71, 0xf4, 0x14, 0x07, 0x84, 0x56, 0xf2, 0x02, 0xb1, 0x3d, 0x77, 0x11, 0x2a, 0x4f, + 0xa5, 0xf1, 0x0c, 0xb3, 0x1c, 0x91, 0x0e, 0x05, 0x05, 0xbd, 0x0d, 0x25, 0x3b, 0x4e, 0xd4, 0xca, + 0xa2, 0x08, 0xc1, 0x17, 0x66, 0x99, 0x9f, 0xc8, 0x69, 0xd5, 0xf7, 0x92, 0xd2, 0x3c, 0x39, 0x86, + 0x5e, 0xd7, 0xf7, 0x6c, 0xc7, 0xeb, 0x75, 0x4e, 0x89, 0xd3, 0x3b, 0x65, 0x95, 0x42, 0x5d, 0xdb, + 0x5c, 0x48, 0x26, 0x47, 0x9a, 0xc3, 0x30, 0xcb, 0x11, 0x69, 0x5f, 0x50, 0x90, 0x0d, 0x2b, 0x31, + 0x97, 0x28, 0xd4, 0xe2, 0x53, 0x0b, 0xf5, 0x15, 0x55, 0xa8, 0x57, 0xd3, 0x5a, 0xe2, 0x5a, 0x5d, + 0x8e, 0x88, 0x5c, 0x0c, 0xed, 0x03, 0xc4, 0xed, 0xa1, 0x02, 0x42, 0x83, 0xf1, 0xf4, 0x1e, 0xa3, + 0x0c, 0x4f, 0xc8, 0xa2, 0xf7, 0xe0, 0x8a, 0xeb, 0x78, 0x1d, 0x4a, 0xfa, 0x27, 0x1d, 0xe5, 0x60, + 0x0e, 0x59, 0x12, 0xd1, 0x7b, 0x67, 0xbe, 0x7c, 0x98, 0x8c, 0xf5, 0xaa, 0x6a, 0xa1, 0xd3, 0x90, + 0x86, 0xb9, 0xe6, 0x3a, 0xde, 0x21, 0xe9, 0x9f, 0xb4, 0x22, 0xda, 0xce, 0xd2, 0xfb, 0x0f, 0xf4, + 0x8c, 0x2a, 0xd7, 0x8c, 0xf1, 0x16, 0x2c, 0x1d, 0xe3, 0xbe, 0x2a, 0x33, 0x42, 0xd1, 0x75, 0x28, + 0xe2, 0x70, 0x51, 0xd1, 0xea, 0x0b, 0x9b, 0x45, 0x33, 0x26, 0xc8, 0x32, 0xff, 0xe9, 0x5f, 0xeb, + 0x9a, 0xf1, 0xb1, 0x06, 0xf9, 0xd6, 0xf1, 0x01, 0x76, 0x02, 0xd4, 0x86, 0xb5, 0x38, 0x73, 0x2e, + 0x16, 0xf9, 0xf5, 0xc9, 0x58, 0xaf, 0xa4, 0x93, 0x2b, 0xaa, 0xf2, 0x38, 0x81, 0xc3, 0x32, 0x6f, + 0xc3, 0xda, 0xdd, 0xb0, 0x77, 0x44, 0x50, 0xd9, 0x34, 0xd4, 0x14, 0x8b, 0x61, 0xae, 0x46, 0x34, + 0x05, 0x95, 0x32, 0x73, 0x0f, 0x16, 0xe5, 0x69, 0x29, 0xda, 0x81, 0x97, 0x06, 0xfc, 0x87, 0xb0, + 0xae, 0xb4, 0x5d, 0x9b, 0x99, 0xbc, 0x82, 0x5f, 0x85, 0x4f, 0x8a, 0x18, 0xbf, 0xca, 0x02, 0xb4, + 0x8e, 0x8f, 0x8f, 0x02, 0x67, 0xd0, 0x27, 0xec, 0xd3, 0xb4, 0xfc, 0x08, 0xae, 0xc6, 0x66, 0xd1, + 0xc0, 0x4a, 0x59, 0x5f, 0x9f, 0x8c, 0xf5, 0xeb, 0x69, 0xeb, 0x13, 0x6c, 0x86, 0x79, 0x25, 0xa2, + 0x1f, 0x06, 0xd6, 0xa5, 0xa8, 0x36, 0x65, 0x11, 0xea, 0xc2, 0x6c, 0xd4, 0x04, 0x5b, 0x12, 0xb5, + 0x45, 0xd9, 0xe5, 0xae, 0x3d, 0x84, 0x52, 0xec, 0x12, 0x8a, 0x5a, 0x50, 0x60, 0xea, 0xb7, 0xf2, + 0xb0, 0x31, 0xdb, 0xc3, 0xa1, 0x98, 0xf2, 0x72, 0x24, 0x69, 0xfc, 0x47, 0x03, 0x88, 0x73, 0xf6, + 0xc5, 0x4c, 0x31, 0xde, 0xca, 0x55, 0xe3, 0x5d, 0x78, 0xae, 0x51, 0x4d, 0x49, 0xa7, 0xfc, 0xf9, + 0xf3, 0x2c, 0x5c, 0xb9, 0x13, 0x76, 0x9e, 0x17, 0xde, 0x07, 0x07, 0xb0, 0x48, 0x3c, 0x16, 0x38, + 0xc2, 0x09, 0x3c, 0xda, 0x5f, 0x99, 0x15, 0xed, 0x4b, 0x6c, 0xda, 0xf3, 0x58, 0x30, 0x52, 0xb1, + 0x0f, 0x61, 0x52, 0xde, 0xf8, 0xe5, 0x02, 0x54, 0x66, 0x49, 0xa2, 0x5d, 0x28, 0x5b, 0x01, 0x11, + 0x84, 0xf0, 0xfe, 0xd0, 0xc4, 0xfd, 0x51, 0x8d, 0x27, 0xcb, 0x14, 0x83, 0x61, 0xae, 0x84, 0x14, + 0x75, 0x7b, 0xf4, 0x80, 0x8f, 0x7d, 0x3c, 0xed, 0x38, 0xd7, 0x33, 0xce, 0x79, 0x86, 0xba, 0x3e, + 0x42, 0x25, 0x17, 0x01, 0xe4, 0xfd, 0xb1, 0x12, 0x53, 0xc5, 0x05, 0xf2, 0x63, 0x28, 0x3b, 0x9e, + 0xc3, 0x1c, 0xdc, 0xef, 0x74, 0x71, 0x1f, 0x7b, 0xd6, 0xf3, 0x4c, 0xcd, 0xb2, 0xe5, 0x2b, 0xb5, + 0x29, 0x38, 0xc3, 0x5c, 0x51, 0x94, 0xa6, 0x24, 0xa0, 0x7d, 0x58, 0x0c, 0x55, 0xe5, 0x9e, 0x6b, + 0xda, 0x08, 0xc5, 0x13, 0x03, 0xde, 0x2f, 0x16, 0x60, 0xcd, 0x24, 0xf6, 0x67, 0xa1, 0x98, 0x2f, + 0x14, 0xdf, 0x06, 0x90, 0xe5, 0xce, 0x1b, 0xec, 0x73, 0x44, 0x83, 0x37, 0x8c, 0xa2, 0x44, 0x68, + 0x51, 0x96, 0x88, 0xc7, 0x38, 0x0b, 0x4b, 0xc9, 0x78, 0xfc, 0x9f, 0xde, 0x4a, 0xa8, 0x1d, 0x77, + 0xa2, 0x9c, 0xe8, 0x44, 0x5f, 0x9a, 0xd5, 0x89, 0xa6, 0xb2, 0xf7, 0xc9, 0x2d, 0xe8, 0xdf, 0x59, + 0xc8, 0x1f, 0xe0, 0x00, 0xbb, 0x14, 0x59, 0x53, 0x93, 0xa6, 0x7c, 0x6b, 0x6e, 0x4c, 0xe5, 0x67, + 0x4b, 0x7d, 0xed, 0x78, 0xca, 0xa0, 0xf9, 0xe1, 0x25, 0x83, 0xe6, 0x37, 0x61, 0x85, 0x3f, 0x87, + 0x23, 0x1b, 0xa5, 0xb7, 0x97, 0x9b, 0x1b, 0x31, 0xca, 0xc5, 0x7d, 0xf9, 0x5a, 0x8e, 0x1e, 0x5d, + 0x14, 0x7d, 0x0d, 0x4a, 0x9c, 0x23, 0x6e, 0xcc, 0x5c, 0xfc, 0x5a, 0xfc, 0x2c, 0x4d, 0x6c, 0x1a, + 0x26, 0xb8, 0xf8, 0x7c, 0x4f, 0x2e, 0xd0, 0x3b, 0x80, 0x4e, 0xa3, 0x2f, 0x23, 0x9d, 0xd8, 0x9d, + 0x5c, 0xfe, 0xf3, 0x93, 0xb1, 0xbe, 0x21, 0xe5, 0xa7, 0x79, 0x0c, 0x73, 0x2d, 0x26, 0x86, 0x68, + 0x5f, 0x05, 0xe0, 0x76, 0x75, 0x6c, 0xe2, 0xf9, 0xae, 0x7a, 0xee, 0x5c, 0x9d, 0x8c, 0xf5, 0x35, + 0x89, 0x12, 0xef, 0x19, 0x66, 0x91, 0x2f, 0x5a, 0xfc, 0x77, 0x22, 0xb3, 0x3f, 0xd2, 0x00, 0xc5, + 0x2d, 0xdf, 0x24, 0x74, 0xc0, 0xdf, 0x67, 0x7c, 0x10, 0x4f, 0x4c, 0xcd, 0xda, 0x93, 0x07, 0xf1, + 0x58, 0x3e, 0x1c, 0xc4, 0x13, 0x95, 0xf2, 0xf5, 0xb8, 0x3d, 0x66, 0x55, 0x1c, 0x15, 0x4c, 0x17, + 0x53, 0x92, 0x18, 0xe6, 0x9d, 0x50, 0x7a, 0xaa, 0x1f, 0x66, 0x8c, 0x3f, 0x6a, 0xb0, 0x31, 0x95, + 0x51, 0xd1, 0x61, 0x7f, 0x08, 0x28, 0x48, 0x6c, 0x0a, 0x7f, 0x8d, 0xd4, 0xa1, 0xe7, 0x4e, 0xd0, + 0xb5, 0x60, 0xaa, 0xef, 0x7e, 0x7a, 0x1d, 0x3e, 0x27, 0x7c, 0xfe, 0x3b, 0x0d, 0xd6, 0x93, 0xea, + 0x23, 0x43, 0x6e, 0xc3, 0x52, 0x52, 0xbb, 0x32, 0xe1, 0xd5, 0x67, 0x31, 0x41, 0x9d, 0xfe, 0x82, + 0x3c, 0xfa, 0x6e, 0x5c, 0xae, 0xf2, 0xdb, 0xd9, 0x8d, 0x67, 0xf6, 0x46, 0x78, 0xa6, 0x74, 0xd9, + 0xe6, 0x44, 0x3c, 0xfe, 0xab, 0x41, 0xee, 0xc0, 0xf7, 0xfb, 0xc8, 0x87, 0x35, 0xcf, 0x67, 0x1d, + 0x9e, 0x59, 0xc4, 0xee, 0xa8, 0x47, 0xb7, 0xec, 0x83, 0xbb, 0xf3, 0x39, 0xe9, 0x9f, 0x63, 0x7d, + 0x1a, 0xca, 0x2c, 0x7b, 0x3e, 0x6b, 0x0a, 0xca, 0x91, 0x7c, 0x92, 0xbf, 0x07, 0xcb, 0x17, 0x95, + 0xc9, 0x2e, 0xf9, 0xbd, 0xb9, 0x95, 0x5d, 0x84, 0x99, 0x8c, 0xf5, 0xf5, 0xb8, 0x62, 0x22, 0xb2, + 0x61, 0x2e, 0x75, 0x13, 0xda, 0x77, 0x0a, 0x3c, 0x7e, 0xff, 0x7a, 0xa0, 0x6b, 0x5f, 0xfe, 0xad, + 0x06, 0x10, 0x7f, 0x79, 0x40, 0xaf, 0xc3, 0xcb, 0xcd, 0xef, 0xdc, 0x6e, 0x75, 0x0e, 0x8f, 0x6e, + 0x1e, 0xdd, 0x39, 0xec, 0xdc, 0xb9, 0x7d, 0x78, 0xb0, 0xb7, 0xdb, 0xbe, 0xd5, 0xde, 0x6b, 0xad, + 0x66, 0xaa, 0xe5, 0x7b, 0xf7, 0xeb, 0xa5, 0x3b, 0x1e, 0x1d, 0x10, 0xcb, 0x39, 0x71, 0x88, 0x8d, + 0x5e, 0x83, 0xf5, 0x8b, 0xdc, 0x7c, 0xb5, 0xd7, 0x5a, 0xd5, 0xaa, 0x4b, 0xf7, 0xee, 0xd7, 0x0b, + 0x72, 0x16, 0x23, 0x36, 0xda, 0x84, 0xab, 0xd3, 0x7c, 0xed, 0xdb, 0xdf, 0x5a, 0xcd, 0x56, 0x97, + 0xef, 0xdd, 0xaf, 0x17, 0xa3, 0xa1, 0x0d, 0x19, 0x80, 0x92, 0x9c, 0x0a, 0x6f, 0xa1, 0x0a, 0xf7, + 0xee, 0xd7, 0xf3, 0xd2, 0x81, 0xd5, 0xdc, 0xfb, 0x1f, 0xd5, 0x32, 0xcd, 0x5b, 0x9f, 0x3c, 0xaa, + 0x69, 0x0f, 0x1f, 0xd5, 0xb4, 0xbf, 0x3f, 0xaa, 0x69, 0x1f, 0x3c, 0xae, 0x65, 0x1e, 0x3e, 0xae, + 0x65, 0xfe, 0xfc, 0xb8, 0x96, 0xf9, 0xfe, 0xeb, 0x4f, 0xf4, 0xdd, 0x79, 0xf4, 0x51, 0x5b, 0x78, + 0xb1, 0x9b, 0x17, 0x6d, 0xf8, 0xcd, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x48, 0x4c, 0x86, + 0xf3, 0x16, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1263,624 +1260,622 @@ func (this *Pool) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_ func StakingDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 9862 bytes of a gzipped FileDescriptorSet + // 9834 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x70, 0x5c, 0xd7, 0x75, 0x18, 0xde, 0x7e, 0x00, 0xbb, 0x07, 0x0b, 0x60, 0x71, 0x01, 0x92, 0xcb, 0x25, 0x09, 0x40, - 0x4f, 0x5f, 0x14, 0x25, 0x81, 0x12, 0x25, 0x52, 0xd2, 0xd2, 0xb6, 0xbc, 0x8b, 0x5d, 0x82, 0x10, + 0x4f, 0x5f, 0x14, 0x25, 0x81, 0x12, 0x25, 0x52, 0xd2, 0x32, 0xb6, 0xbc, 0x8b, 0x5d, 0x82, 0x10, 0xf1, 0xa5, 0x07, 0x80, 0x92, 0x65, 0xa7, 0x3b, 0x0f, 0xbb, 0x17, 0x8b, 0x27, 0xec, 0xbe, 0xf7, - 0xf4, 0xde, 0x5b, 0x12, 0x90, 0xed, 0x8e, 0xfc, 0x51, 0xd7, 0x66, 0x26, 0x8d, 0x5d, 0x77, 0x1a, + 0xf4, 0xde, 0x5b, 0x12, 0xa0, 0xed, 0x8e, 0xfc, 0x51, 0xd7, 0x66, 0x26, 0x8d, 0x5d, 0x77, 0x1a, 0x5b, 0x36, 0x5d, 0x39, 0x4e, 0xeb, 0xd4, 0x71, 0x1b, 0x3b, 0x76, 0xdd, 0xa6, 0xed, 0x4c, 0xed, - 0xce, 0xa4, 0xb1, 0xdd, 0x26, 0x63, 0xb7, 0x99, 0x36, 0xcd, 0xa4, 0x74, 0x2a, 0x7b, 0x5c, 0xc5, - 0x75, 0x1b, 0x87, 0x75, 0xa7, 0xe9, 0x78, 0x3a, 0xed, 0xdc, 0xaf, 0xf7, 0xb5, 0x9f, 0x80, 0x48, - 0xcb, 0x69, 0xf2, 0x0b, 0x7b, 0xcf, 0x3d, 0xe7, 0xdc, 0x73, 0xcf, 0x3d, 0xe7, 0xdc, 0x73, 0xbf, - 0x1e, 0xe0, 0x8b, 0xe7, 0x61, 0xa6, 0x66, 0x18, 0xb5, 0x3a, 0x3e, 0x6d, 0x5a, 0x86, 0x63, 0x6c, - 0x36, 0xb7, 0x4e, 0x57, 0xb1, 0x5d, 0xb1, 0x34, 0xd3, 0x31, 0xac, 0x59, 0x0a, 0x43, 0x63, 0x0c, - 0x63, 0x56, 0x60, 0xc8, 0x4b, 0x30, 0x7e, 0x41, 0xab, 0xe3, 0xa2, 0x8b, 0xb8, 0x86, 0x1d, 0xf4, - 0x38, 0xc4, 0xb6, 0xb4, 0x3a, 0xce, 0x48, 0x33, 0xd1, 0x93, 0xc3, 0x67, 0xee, 0x9a, 0x0d, 0x11, - 0xcd, 0x06, 0x29, 0x56, 0x09, 0x58, 0xa1, 0x14, 0xf2, 0xf7, 0x62, 0x30, 0xd1, 0xa6, 0x16, 0x21, - 0x88, 0xe9, 0x6a, 0x83, 0x70, 0x94, 0x4e, 0x26, 0x15, 0xfa, 0x1b, 0x65, 0x60, 0xc8, 0x54, 0x2b, - 0x3b, 0x6a, 0x0d, 0x67, 0x22, 0x14, 0x2c, 0x8a, 0x68, 0x0a, 0xa0, 0x8a, 0x4d, 0xac, 0x57, 0xb1, - 0x5e, 0xd9, 0xcb, 0x44, 0x67, 0xa2, 0x27, 0x93, 0x8a, 0x0f, 0x82, 0xee, 0x87, 0x71, 0xb3, 0xb9, - 0x59, 0xd7, 0x2a, 0x65, 0x1f, 0x1a, 0xcc, 0x44, 0x4f, 0xc6, 0x95, 0x34, 0xab, 0x28, 0x7a, 0xc8, - 0xf7, 0xc2, 0xd8, 0x55, 0xac, 0xee, 0xf8, 0x51, 0x87, 0x29, 0xea, 0x28, 0x01, 0xfb, 0x10, 0xe7, - 0x20, 0xd5, 0xc0, 0xb6, 0xad, 0xd6, 0x70, 0xd9, 0xd9, 0x33, 0x71, 0x26, 0x46, 0x7b, 0x3f, 0xd3, - 0xd2, 0xfb, 0x70, 0xcf, 0x87, 0x39, 0xd5, 0xfa, 0x9e, 0x89, 0x51, 0x1e, 0x92, 0x58, 0x6f, 0x36, - 0x18, 0x87, 0x78, 0x07, 0xfd, 0x95, 0xf4, 0x66, 0x23, 0xcc, 0x25, 0x41, 0xc8, 0x38, 0x8b, 0x21, - 0x1b, 0x5b, 0x57, 0xb4, 0x0a, 0xce, 0x0c, 0x52, 0x06, 0xf7, 0xb6, 0x30, 0x58, 0x63, 0xf5, 0x61, - 0x1e, 0x82, 0x0e, 0xcd, 0x41, 0x12, 0xef, 0x3a, 0x58, 0xb7, 0x35, 0x43, 0xcf, 0x0c, 0x51, 0x26, - 0x77, 0xb7, 0x19, 0x45, 0x5c, 0xaf, 0x86, 0x59, 0x78, 0x74, 0xe8, 0x1c, 0x0c, 0x19, 0xa6, 0xa3, - 0x19, 0xba, 0x9d, 0x49, 0xcc, 0x48, 0x27, 0x87, 0xcf, 0x1c, 0x6f, 0x6b, 0x08, 0x2b, 0x0c, 0x47, - 0x11, 0xc8, 0x68, 0x01, 0xd2, 0xb6, 0xd1, 0xb4, 0x2a, 0xb8, 0x5c, 0x31, 0xaa, 0xb8, 0xac, 0xe9, - 0x5b, 0x46, 0x26, 0x49, 0x19, 0x4c, 0xb7, 0x76, 0x84, 0x22, 0xce, 0x19, 0x55, 0xbc, 0xa0, 0x6f, - 0x19, 0xca, 0xa8, 0x1d, 0x28, 0xa3, 0xc3, 0x30, 0x68, 0xef, 0xe9, 0x8e, 0xba, 0x9b, 0x49, 0x51, - 0x0b, 0xe1, 0x25, 0xf9, 0x37, 0x07, 0x61, 0xac, 0x1f, 0x13, 0x3b, 0x0f, 0xf1, 0x2d, 0xd2, 0xcb, - 0x4c, 0x64, 0x3f, 0x3a, 0x60, 0x34, 0x41, 0x25, 0x0e, 0x1e, 0x50, 0x89, 0x79, 0x18, 0xd6, 0xb1, - 0xed, 0xe0, 0x2a, 0xb3, 0x88, 0x68, 0x9f, 0x36, 0x05, 0x8c, 0xa8, 0xd5, 0xa4, 0x62, 0x07, 0x32, - 0xa9, 0x67, 0x61, 0xcc, 0x15, 0xa9, 0x6c, 0xa9, 0x7a, 0x4d, 0xd8, 0xe6, 0xe9, 0x5e, 0x92, 0xcc, - 0x96, 0x04, 0x9d, 0x42, 0xc8, 0x94, 0x51, 0x1c, 0x28, 0xa3, 0x22, 0x80, 0xa1, 0x63, 0x63, 0xab, - 0x5c, 0xc5, 0x95, 0x7a, 0x26, 0xd1, 0x41, 0x4b, 0x2b, 0x04, 0xa5, 0x45, 0x4b, 0x06, 0x83, 0x56, - 0xea, 0xe8, 0x09, 0xcf, 0xd4, 0x86, 0x3a, 0x58, 0xca, 0x12, 0x73, 0xb2, 0x16, 0x6b, 0xdb, 0x80, - 0x51, 0x0b, 0x13, 0xbb, 0xc7, 0x55, 0xde, 0xb3, 0x24, 0x15, 0x62, 0xb6, 0x67, 0xcf, 0x14, 0x4e, - 0xc6, 0x3a, 0x36, 0x62, 0xf9, 0x8b, 0xe8, 0x4e, 0x70, 0x01, 0x65, 0x6a, 0x56, 0x40, 0xa3, 0x50, - 0x4a, 0x00, 0x97, 0xd5, 0x06, 0xce, 0xbe, 0x08, 0xa3, 0x41, 0xf5, 0xa0, 0x49, 0x88, 0xdb, 0x8e, - 0x6a, 0x39, 0xd4, 0x0a, 0xe3, 0x0a, 0x2b, 0xa0, 0x34, 0x44, 0xb1, 0x5e, 0xa5, 0x51, 0x2e, 0xae, - 0x90, 0x9f, 0xe8, 0xad, 0x5e, 0x87, 0xa3, 0xb4, 0xc3, 0xf7, 0xb4, 0x8e, 0x68, 0x80, 0x73, 0xb8, - 0xdf, 0xd9, 0xc7, 0x60, 0x24, 0xd0, 0x81, 0x7e, 0x9b, 0x96, 0xdf, 0x05, 0x87, 0xda, 0xb2, 0x46, - 0xcf, 0xc2, 0x64, 0x53, 0xd7, 0x74, 0x07, 0x5b, 0xa6, 0x85, 0x89, 0xc5, 0xb2, 0xa6, 0x32, 0xff, - 0x65, 0xa8, 0x83, 0xcd, 0x6d, 0xf8, 0xb1, 0x19, 0x17, 0x65, 0xa2, 0xd9, 0x0a, 0x3c, 0x95, 0x4c, - 0xbc, 0x36, 0x94, 0x7e, 0xe9, 0xa5, 0x97, 0x5e, 0x8a, 0xc8, 0x5f, 0x1b, 0x84, 0xc9, 0x76, 0x3e, - 0xd3, 0xd6, 0x7d, 0x0f, 0xc3, 0xa0, 0xde, 0x6c, 0x6c, 0x62, 0x8b, 0x2a, 0x29, 0xae, 0xf0, 0x12, - 0xca, 0x43, 0xbc, 0xae, 0x6e, 0xe2, 0x7a, 0x26, 0x36, 0x23, 0x9d, 0x1c, 0x3d, 0x73, 0x7f, 0x5f, - 0x5e, 0x39, 0xbb, 0x48, 0x48, 0x14, 0x46, 0x89, 0xde, 0x02, 0x31, 0x1e, 0xa2, 0x09, 0x87, 0x53, - 0xfd, 0x71, 0x20, 0xbe, 0xa4, 0x50, 0x3a, 0x74, 0x0c, 0x92, 0xe4, 0x2f, 0xb3, 0x8d, 0x41, 0x2a, - 0x73, 0x82, 0x00, 0x88, 0x5d, 0xa0, 0x2c, 0x24, 0xa8, 0x9b, 0x54, 0xb1, 0x98, 0xda, 0xdc, 0x32, - 0x31, 0xac, 0x2a, 0xde, 0x52, 0x9b, 0x75, 0xa7, 0x7c, 0x45, 0xad, 0x37, 0x31, 0x35, 0xf8, 0xa4, - 0x92, 0xe2, 0xc0, 0xcb, 0x04, 0x86, 0xa6, 0x61, 0x98, 0x79, 0x95, 0xa6, 0x57, 0xf1, 0x2e, 0x8d, - 0x9e, 0x71, 0x85, 0x39, 0xda, 0x02, 0x81, 0x90, 0xe6, 0x9f, 0xb7, 0x0d, 0x5d, 0x98, 0x26, 0x6d, - 0x82, 0x00, 0x68, 0xf3, 0x8f, 0x85, 0x03, 0xf7, 0x89, 0xf6, 0xdd, 0x6b, 0xf1, 0xa5, 0x7b, 0x61, - 0x8c, 0x62, 0x3c, 0xc2, 0x87, 0x5e, 0xad, 0x67, 0xc6, 0x67, 0xa4, 0x93, 0x09, 0x65, 0x94, 0x81, - 0x57, 0x38, 0x54, 0xfe, 0x4a, 0x04, 0x62, 0x34, 0xb0, 0x8c, 0xc1, 0xf0, 0xfa, 0xdb, 0x56, 0x4b, - 0xe5, 0xe2, 0xca, 0x46, 0x61, 0xb1, 0x94, 0x96, 0xd0, 0x28, 0x00, 0x05, 0x5c, 0x58, 0x5c, 0xc9, - 0xaf, 0xa7, 0x23, 0x6e, 0x79, 0x61, 0x79, 0xfd, 0xdc, 0xa3, 0xe9, 0xa8, 0x4b, 0xb0, 0xc1, 0x00, - 0x31, 0x3f, 0xc2, 0x23, 0x67, 0xd2, 0x71, 0x94, 0x86, 0x14, 0x63, 0xb0, 0xf0, 0x6c, 0xa9, 0x78, - 0xee, 0xd1, 0xf4, 0x60, 0x10, 0xf2, 0xc8, 0x99, 0xf4, 0x10, 0x1a, 0x81, 0x24, 0x85, 0x14, 0x56, - 0x56, 0x16, 0xd3, 0x09, 0x97, 0xe7, 0xda, 0xba, 0xb2, 0xb0, 0x3c, 0x9f, 0x4e, 0xba, 0x3c, 0xe7, - 0x95, 0x95, 0x8d, 0xd5, 0x34, 0xb8, 0x1c, 0x96, 0x4a, 0x6b, 0x6b, 0xf9, 0xf9, 0x52, 0x7a, 0xd8, - 0xc5, 0x28, 0xbc, 0x6d, 0xbd, 0xb4, 0x96, 0x4e, 0x05, 0xc4, 0x7a, 0xe4, 0x4c, 0x7a, 0xc4, 0x6d, - 0xa2, 0xb4, 0xbc, 0xb1, 0x94, 0x1e, 0x45, 0xe3, 0x30, 0xc2, 0x9a, 0x10, 0x42, 0x8c, 0x85, 0x40, - 0xe7, 0x1e, 0x4d, 0xa7, 0x3d, 0x41, 0x18, 0x97, 0xf1, 0x00, 0xe0, 0xdc, 0xa3, 0x69, 0x24, 0xcf, - 0x41, 0x9c, 0x9a, 0x21, 0x42, 0x30, 0xba, 0x98, 0x2f, 0x94, 0x16, 0xcb, 0x2b, 0xab, 0xeb, 0x0b, - 0x2b, 0xcb, 0xf9, 0xc5, 0xb4, 0xe4, 0xc1, 0x94, 0xd2, 0xd3, 0x1b, 0x0b, 0x4a, 0xa9, 0x98, 0x8e, - 0xf8, 0x61, 0xab, 0xa5, 0xfc, 0x7a, 0xa9, 0x98, 0x8e, 0xca, 0x15, 0x98, 0x6c, 0x17, 0x50, 0xdb, - 0xba, 0x90, 0xcf, 0x16, 0x22, 0x1d, 0x6c, 0x81, 0xf2, 0x0a, 0xdb, 0x82, 0xfc, 0xdd, 0x08, 0x4c, - 0xb4, 0x99, 0x54, 0xda, 0x36, 0xf2, 0x24, 0xc4, 0x99, 0x2d, 0xb3, 0x69, 0xf6, 0xbe, 0xb6, 0xb3, - 0x13, 0xb5, 0xec, 0x96, 0xa9, 0x96, 0xd2, 0xf9, 0x53, 0x8d, 0x68, 0x87, 0x54, 0x83, 0xb0, 0x68, - 0x31, 0xd8, 0x9f, 0x6b, 0x09, 0xfe, 0x6c, 0x7e, 0x3c, 0xd7, 0xcf, 0xfc, 0x48, 0x61, 0xfb, 0x9b, - 0x04, 0xe2, 0x6d, 0x26, 0x81, 0xf3, 0x30, 0xde, 0xc2, 0xa8, 0xef, 0x60, 0xfc, 0x3e, 0x09, 0x32, - 0x9d, 0x94, 0xd3, 0x23, 0x24, 0x46, 0x02, 0x21, 0xf1, 0x7c, 0x58, 0x83, 0x77, 0x74, 0x1e, 0x84, - 0x96, 0xb1, 0xfe, 0xac, 0x04, 0x87, 0xdb, 0xa7, 0x94, 0x6d, 0x65, 0x78, 0x0b, 0x0c, 0x36, 0xb0, - 0xb3, 0x6d, 0x88, 0xb4, 0xea, 0x9e, 0x36, 0x93, 0x35, 0xa9, 0x0e, 0x0f, 0x36, 0xa7, 0xf2, 0xcf, - 0xf6, 0xd1, 0x4e, 0x79, 0x21, 0x93, 0xa6, 0x45, 0xd2, 0x0f, 0x45, 0xe0, 0x50, 0x5b, 0xe6, 0x6d, - 0x05, 0x3d, 0x01, 0xa0, 0xe9, 0x66, 0xd3, 0x61, 0xa9, 0x13, 0x8b, 0xc4, 0x49, 0x0a, 0xa1, 0xc1, - 0x8b, 0x44, 0xd9, 0xa6, 0xe3, 0xd6, 0x47, 0x69, 0x3d, 0x30, 0x10, 0x45, 0x78, 0xdc, 0x13, 0x34, - 0x46, 0x05, 0x9d, 0xea, 0xd0, 0xd3, 0x16, 0xc3, 0x7c, 0x08, 0xd2, 0x95, 0xba, 0x86, 0x75, 0xa7, - 0x6c, 0x3b, 0x16, 0x56, 0x1b, 0x9a, 0x5e, 0xa3, 0x53, 0x4d, 0x22, 0x17, 0xdf, 0x52, 0xeb, 0x36, - 0x56, 0xc6, 0x58, 0xf5, 0x9a, 0xa8, 0x25, 0x14, 0xd4, 0x80, 0x2c, 0x1f, 0xc5, 0x60, 0x80, 0x82, - 0x55, 0xbb, 0x14, 0xf2, 0x47, 0x92, 0x30, 0xec, 0x4b, 0xc0, 0xd1, 0x1d, 0x90, 0x7a, 0x5e, 0xbd, - 0xa2, 0x96, 0xc5, 0xa2, 0x8a, 0x69, 0x62, 0x98, 0xc0, 0x56, 0xf9, 0xc2, 0xea, 0x21, 0x98, 0xa4, - 0x28, 0x46, 0xd3, 0xc1, 0x56, 0xb9, 0x52, 0x57, 0x6d, 0x9b, 0x2a, 0x2d, 0x41, 0x51, 0x11, 0xa9, - 0x5b, 0x21, 0x55, 0x73, 0xa2, 0x06, 0x9d, 0x85, 0x09, 0x4a, 0xd1, 0x68, 0xd6, 0x1d, 0xcd, 0xac, - 0xe3, 0x32, 0x59, 0xe6, 0xd9, 0x74, 0xca, 0x71, 0x25, 0x1b, 0x27, 0x18, 0x4b, 0x1c, 0x81, 0x48, - 0x64, 0xa3, 0x22, 0x9c, 0xa0, 0x64, 0x35, 0xac, 0x63, 0x4b, 0x75, 0x70, 0x19, 0xbf, 0xd0, 0x54, - 0xeb, 0x76, 0x59, 0xd5, 0xab, 0xe5, 0x6d, 0xd5, 0xde, 0xce, 0x4c, 0x12, 0x06, 0x85, 0x48, 0x46, - 0x52, 0x8e, 0x12, 0xc4, 0x79, 0x8e, 0x57, 0xa2, 0x68, 0x79, 0xbd, 0x7a, 0x51, 0xb5, 0xb7, 0x51, - 0x0e, 0x0e, 0x53, 0x2e, 0xb6, 0x63, 0x69, 0x7a, 0xad, 0x5c, 0xd9, 0xc6, 0x95, 0x9d, 0x72, 0xd3, - 0xd9, 0x7a, 0x3c, 0x73, 0xcc, 0xdf, 0x3e, 0x95, 0x70, 0x8d, 0xe2, 0xcc, 0x11, 0x94, 0x0d, 0x67, - 0xeb, 0x71, 0xb4, 0x06, 0x29, 0x32, 0x18, 0x0d, 0xed, 0x45, 0x5c, 0xde, 0x32, 0x2c, 0x3a, 0x87, - 0x8e, 0xb6, 0x09, 0x4d, 0x3e, 0x0d, 0xce, 0xae, 0x70, 0x82, 0x25, 0xa3, 0x8a, 0x73, 0xf1, 0xb5, - 0xd5, 0x52, 0xa9, 0xa8, 0x0c, 0x0b, 0x2e, 0x17, 0x0c, 0x8b, 0x18, 0x54, 0xcd, 0x70, 0x15, 0x3c, - 0xcc, 0x0c, 0xaa, 0x66, 0x08, 0xf5, 0x9e, 0x85, 0x89, 0x4a, 0x85, 0xf5, 0x59, 0xab, 0x94, 0xf9, - 0x62, 0xcc, 0xce, 0xa4, 0x03, 0xca, 0xaa, 0x54, 0xe6, 0x19, 0x02, 0xb7, 0x71, 0x1b, 0x3d, 0x01, - 0x87, 0x3c, 0x65, 0xf9, 0x09, 0xc7, 0x5b, 0x7a, 0x19, 0x26, 0x3d, 0x0b, 0x13, 0xe6, 0x5e, 0x2b, - 0x21, 0x0a, 0xb4, 0x68, 0xee, 0x85, 0xc9, 0x1e, 0x83, 0x49, 0x73, 0xdb, 0x6c, 0xa5, 0x3b, 0xe5, - 0xa7, 0x43, 0xe6, 0xb6, 0x19, 0x26, 0xbc, 0x9b, 0xae, 0xcc, 0x2d, 0x5c, 0x51, 0x1d, 0x5c, 0xcd, - 0x1c, 0xf1, 0xa3, 0xfb, 0x2a, 0xd0, 0x2c, 0xa4, 0x2b, 0x95, 0x32, 0xd6, 0xd5, 0xcd, 0x3a, 0x2e, - 0xab, 0x16, 0xd6, 0x55, 0x3b, 0x33, 0x4d, 0x91, 0x63, 0x8e, 0xd5, 0xc4, 0xca, 0x68, 0xa5, 0x52, - 0xa2, 0x95, 0x79, 0x5a, 0x87, 0x4e, 0xc1, 0xb8, 0xb1, 0xf9, 0x7c, 0x85, 0x59, 0x64, 0xd9, 0xb4, - 0xf0, 0x96, 0xb6, 0x9b, 0xb9, 0x8b, 0xaa, 0x77, 0x8c, 0x54, 0x50, 0x7b, 0x5c, 0xa5, 0x60, 0x74, - 0x1f, 0xa4, 0x2b, 0xf6, 0xb6, 0x6a, 0x99, 0x34, 0x24, 0xdb, 0xa6, 0x5a, 0xc1, 0x99, 0xbb, 0x19, - 0x2a, 0x83, 0x2f, 0x0b, 0x30, 0xf1, 0x08, 0xfb, 0xaa, 0xb6, 0xe5, 0x08, 0x8e, 0xf7, 0x32, 0x8f, - 0xa0, 0x30, 0xce, 0xed, 0x24, 0xa4, 0x89, 0x26, 0x02, 0x0d, 0x9f, 0xa4, 0x68, 0xa3, 0xe6, 0xb6, - 0xe9, 0x6f, 0xf7, 0x4e, 0x18, 0x21, 0x98, 0x5e, 0xa3, 0xf7, 0xb1, 0xc4, 0xcd, 0xdc, 0xf6, 0xb5, - 0xf8, 0x28, 0x1c, 0x26, 0x48, 0x0d, 0xec, 0xa8, 0x55, 0xd5, 0x51, 0x7d, 0xd8, 0x0f, 0x50, 0x6c, - 0xa2, 0xf6, 0x25, 0x5e, 0x19, 0x90, 0xd3, 0x6a, 0x6e, 0xee, 0xb9, 0x86, 0xf5, 0x20, 0x93, 0x93, - 0xc0, 0x84, 0x69, 0xdd, 0xb6, 0xe4, 0x5c, 0xce, 0x41, 0xca, 0x6f, 0xf7, 0x28, 0x09, 0xcc, 0xf2, - 0xd3, 0x12, 0x49, 0x82, 0xe6, 0x56, 0x8a, 0x24, 0x7d, 0x79, 0xae, 0x94, 0x8e, 0x90, 0x34, 0x6a, - 0x71, 0x61, 0xbd, 0x54, 0x56, 0x36, 0x96, 0xd7, 0x17, 0x96, 0x4a, 0xe9, 0xa8, 0x2f, 0xb1, 0x7f, - 0x2a, 0x96, 0xb8, 0x27, 0x7d, 0xaf, 0xfc, 0xed, 0x08, 0x8c, 0x06, 0x57, 0x6a, 0xe8, 0x4d, 0x70, - 0x44, 0x6c, 0xab, 0xd8, 0xd8, 0x29, 0x5f, 0xd5, 0x2c, 0xea, 0x90, 0x0d, 0x95, 0x4d, 0x8e, 0xae, - 0xfd, 0x4c, 0x72, 0xac, 0x35, 0xec, 0x3c, 0xa3, 0x59, 0xc4, 0xdd, 0x1a, 0xaa, 0x83, 0x16, 0x61, - 0x5a, 0x37, 0xca, 0xb6, 0xa3, 0xea, 0x55, 0xd5, 0xaa, 0x96, 0xbd, 0x0d, 0xad, 0xb2, 0x5a, 0xa9, - 0x60, 0xdb, 0x36, 0xd8, 0x44, 0xe8, 0x72, 0x39, 0xae, 0x1b, 0x6b, 0x1c, 0xd9, 0x9b, 0x21, 0xf2, - 0x1c, 0x35, 0x64, 0xbe, 0xd1, 0x4e, 0xe6, 0x7b, 0x0c, 0x92, 0x0d, 0xd5, 0x2c, 0x63, 0xdd, 0xb1, - 0xf6, 0x68, 0x7e, 0x9e, 0x50, 0x12, 0x0d, 0xd5, 0x2c, 0x91, 0xf2, 0x4f, 0x65, 0x99, 0xf4, 0x54, - 0x2c, 0x91, 0x48, 0x27, 0x9f, 0x8a, 0x25, 0x92, 0x69, 0x90, 0x5f, 0x8d, 0x42, 0xca, 0x9f, 0xaf, - 0x93, 0xe5, 0x4f, 0x85, 0xce, 0x58, 0x12, 0x8d, 0x69, 0x77, 0x76, 0xcd, 0xee, 0x67, 0xe7, 0xc8, - 0x54, 0x96, 0x1b, 0x64, 0xc9, 0xb1, 0xc2, 0x28, 0x49, 0x1a, 0x41, 0x8c, 0x0d, 0xb3, 0x64, 0x24, - 0xa1, 0xf0, 0x12, 0x9a, 0x87, 0xc1, 0xe7, 0x6d, 0xca, 0x7b, 0x90, 0xf2, 0xbe, 0xab, 0x3b, 0xef, - 0xa7, 0xd6, 0x28, 0xf3, 0xe4, 0x53, 0x6b, 0xe5, 0xe5, 0x15, 0x65, 0x29, 0xbf, 0xa8, 0x70, 0x72, - 0x74, 0x14, 0x62, 0x75, 0xf5, 0xc5, 0xbd, 0xe0, 0xa4, 0x47, 0x41, 0xfd, 0x0e, 0xc2, 0x51, 0x88, - 0x5d, 0xc5, 0xea, 0x4e, 0x70, 0xaa, 0xa1, 0xa0, 0xdb, 0xe8, 0x0c, 0xa7, 0x21, 0x4e, 0xf5, 0x85, - 0x00, 0xb8, 0xc6, 0xd2, 0x03, 0x28, 0x01, 0xb1, 0xb9, 0x15, 0x85, 0x38, 0x44, 0x1a, 0x52, 0x0c, - 0x5a, 0x5e, 0x5d, 0x28, 0xcd, 0x95, 0xd2, 0x11, 0xf9, 0x2c, 0x0c, 0x32, 0x25, 0x10, 0x67, 0x71, - 0xd5, 0x90, 0x1e, 0xe0, 0x45, 0xce, 0x43, 0x12, 0xb5, 0x1b, 0x4b, 0x85, 0x92, 0x92, 0x8e, 0x04, - 0x87, 0x3a, 0x96, 0x8e, 0xcb, 0x36, 0xa4, 0xfc, 0x79, 0xf8, 0x4f, 0x67, 0x31, 0xfe, 0x55, 0x09, - 0x86, 0x7d, 0x79, 0x35, 0x49, 0x88, 0xd4, 0x7a, 0xdd, 0xb8, 0x5a, 0x56, 0xeb, 0x9a, 0x6a, 0x73, - 0xd3, 0x00, 0x0a, 0xca, 0x13, 0x48, 0xbf, 0x43, 0xf7, 0x53, 0x72, 0x91, 0x78, 0x7a, 0x50, 0xfe, - 0x94, 0x04, 0xe9, 0x70, 0x62, 0x1b, 0x12, 0x53, 0x7a, 0x23, 0xc5, 0x94, 0x3f, 0x29, 0xc1, 0x68, - 0x30, 0x9b, 0x0d, 0x89, 0x77, 0xc7, 0x1b, 0x2a, 0xde, 0x1f, 0x45, 0x60, 0x24, 0x90, 0xc3, 0xf6, - 0x2b, 0xdd, 0x0b, 0x30, 0xae, 0x55, 0x71, 0xc3, 0x34, 0x1c, 0xac, 0x57, 0xf6, 0xca, 0x75, 0x7c, - 0x05, 0xd7, 0x33, 0x32, 0x0d, 0x1a, 0xa7, 0xbb, 0x67, 0xc9, 0xb3, 0x0b, 0x1e, 0xdd, 0x22, 0x21, - 0xcb, 0x4d, 0x2c, 0x14, 0x4b, 0x4b, 0xab, 0x2b, 0xeb, 0xa5, 0xe5, 0xb9, 0xb7, 0x95, 0x37, 0x96, - 0x2f, 0x2d, 0xaf, 0x3c, 0xb3, 0xac, 0xa4, 0xb5, 0x10, 0xda, 0x6d, 0x74, 0xfb, 0x55, 0x48, 0x87, - 0x85, 0x42, 0x47, 0xa0, 0x9d, 0x58, 0xe9, 0x01, 0x34, 0x01, 0x63, 0xcb, 0x2b, 0xe5, 0xb5, 0x85, - 0x62, 0xa9, 0x5c, 0xba, 0x70, 0xa1, 0x34, 0xb7, 0xbe, 0xc6, 0xf6, 0x3d, 0x5c, 0xec, 0xf5, 0x80, - 0x83, 0xcb, 0x2f, 0x47, 0x61, 0xa2, 0x8d, 0x24, 0x28, 0xcf, 0x57, 0x2c, 0x6c, 0x11, 0xf5, 0x60, - 0x3f, 0xd2, 0xcf, 0x92, 0x9c, 0x61, 0x55, 0xb5, 0x1c, 0xbe, 0xc0, 0xb9, 0x0f, 0x88, 0x96, 0x74, - 0x47, 0xdb, 0xd2, 0xb0, 0xc5, 0xf7, 0x93, 0xd8, 0x32, 0x66, 0xcc, 0x83, 0xb3, 0x2d, 0xa5, 0x07, - 0x00, 0x99, 0x86, 0xad, 0x39, 0xda, 0x15, 0x5c, 0xd6, 0x74, 0xb1, 0xf9, 0x44, 0x96, 0x35, 0x31, - 0x25, 0x2d, 0x6a, 0x16, 0x74, 0xc7, 0xc5, 0xd6, 0x71, 0x4d, 0x0d, 0x61, 0x93, 0x60, 0x1e, 0x55, - 0xd2, 0xa2, 0xc6, 0xc5, 0xbe, 0x03, 0x52, 0x55, 0xa3, 0x49, 0x72, 0x3d, 0x86, 0x47, 0xe6, 0x0e, - 0x49, 0x19, 0x66, 0x30, 0x17, 0x85, 0x67, 0xf1, 0xde, 0xae, 0x57, 0x4a, 0x19, 0x66, 0x30, 0x86, - 0x72, 0x2f, 0x8c, 0xa9, 0xb5, 0x9a, 0x45, 0x98, 0x0b, 0x46, 0x6c, 0x5d, 0x32, 0xea, 0x82, 0x29, - 0x62, 0xf6, 0x29, 0x48, 0x08, 0x3d, 0x90, 0xa9, 0x9a, 0x68, 0xa2, 0x6c, 0xb2, 0xc5, 0x76, 0xe4, - 0x64, 0x52, 0x49, 0xe8, 0xa2, 0xf2, 0x0e, 0x48, 0x69, 0x76, 0xd9, 0xdb, 0xc4, 0x8f, 0xcc, 0x44, - 0x4e, 0x26, 0x94, 0x61, 0xcd, 0x76, 0x37, 0x40, 0xe5, 0xcf, 0x46, 0x60, 0x34, 0x78, 0x08, 0x81, - 0x8a, 0x90, 0xa8, 0x1b, 0x15, 0x95, 0x9a, 0x16, 0x3b, 0x01, 0x3b, 0xd9, 0xe3, 0xdc, 0x62, 0x76, - 0x91, 0xe3, 0x2b, 0x2e, 0x65, 0xf6, 0x77, 0x25, 0x48, 0x08, 0x30, 0x3a, 0x0c, 0x31, 0x53, 0x75, - 0xb6, 0x29, 0xbb, 0x78, 0x21, 0x92, 0x96, 0x14, 0x5a, 0x26, 0x70, 0xdb, 0x54, 0x75, 0x6a, 0x02, - 0x1c, 0x4e, 0xca, 0x64, 0x5c, 0xeb, 0x58, 0xad, 0xd2, 0x45, 0x8f, 0xd1, 0x68, 0x60, 0xdd, 0xb1, - 0xc5, 0xb8, 0x72, 0xf8, 0x1c, 0x07, 0xa3, 0xfb, 0x61, 0xdc, 0xb1, 0x54, 0xad, 0x1e, 0xc0, 0x8d, - 0x51, 0xdc, 0xb4, 0xa8, 0x70, 0x91, 0x73, 0x70, 0x54, 0xf0, 0xad, 0x62, 0x47, 0xad, 0x6c, 0xe3, - 0xaa, 0x47, 0x34, 0x48, 0x37, 0x37, 0x8e, 0x70, 0x84, 0x22, 0xaf, 0x17, 0xb4, 0xf2, 0xb7, 0x25, - 0x18, 0x17, 0xcb, 0xb4, 0xaa, 0xab, 0xac, 0x25, 0x00, 0x55, 0xd7, 0x0d, 0xc7, 0xaf, 0xae, 0x56, - 0x53, 0x6e, 0xa1, 0x9b, 0xcd, 0xbb, 0x44, 0x8a, 0x8f, 0x41, 0xb6, 0x01, 0xe0, 0xd5, 0x74, 0x54, - 0xdb, 0x34, 0x0c, 0xf3, 0x13, 0x26, 0x7a, 0x4c, 0xc9, 0x16, 0xf6, 0xc0, 0x40, 0x64, 0x3d, 0x87, - 0x26, 0x21, 0xbe, 0x89, 0x6b, 0x9a, 0xce, 0xf7, 0x8d, 0x59, 0x41, 0x6c, 0xbf, 0xc4, 0xdc, 0xed, - 0x97, 0xc2, 0x5f, 0x85, 0x89, 0x8a, 0xd1, 0x08, 0x8b, 0x5b, 0x48, 0x87, 0x36, 0x17, 0xec, 0x8b, - 0xd2, 0x73, 0x0f, 0x72, 0xa4, 0x9a, 0x51, 0x57, 0xf5, 0xda, 0xac, 0x61, 0xd5, 0xbc, 0x63, 0x56, - 0x92, 0xf1, 0xd8, 0xbe, 0xc3, 0x56, 0x73, 0xf3, 0xcf, 0x24, 0xe9, 0x97, 0x23, 0xd1, 0xf9, 0xd5, - 0xc2, 0xe7, 0x22, 0xd9, 0x79, 0x46, 0xb8, 0x2a, 0x94, 0xa1, 0xe0, 0xad, 0x3a, 0xae, 0x90, 0x0e, - 0xc2, 0x0f, 0xee, 0x87, 0xc9, 0x9a, 0x51, 0x33, 0x28, 0xa7, 0xd3, 0xe4, 0x17, 0x3f, 0xa7, 0x4d, - 0xba, 0xd0, 0x6c, 0xcf, 0x43, 0xdd, 0xdc, 0x32, 0x4c, 0x70, 0xe4, 0x32, 0x3d, 0x28, 0x62, 0xcb, - 0x18, 0xd4, 0x75, 0x0f, 0x2d, 0xf3, 0xc5, 0xef, 0xd1, 0xe9, 0x5b, 0x19, 0xe7, 0xa4, 0xa4, 0x8e, - 0xad, 0x74, 0x72, 0x0a, 0x1c, 0x0a, 0xf0, 0x63, 0x4e, 0x8a, 0xad, 0x1e, 0x1c, 0x7f, 0x8b, 0x73, - 0x9c, 0xf0, 0x71, 0x5c, 0xe3, 0xa4, 0xb9, 0x39, 0x18, 0xd9, 0x0f, 0xaf, 0x7f, 0xc5, 0x79, 0xa5, - 0xb0, 0x9f, 0xc9, 0x3c, 0x8c, 0x51, 0x26, 0x95, 0xa6, 0xed, 0x18, 0x0d, 0x1a, 0x01, 0xbb, 0xb3, - 0xf9, 0xed, 0xef, 0x31, 0xaf, 0x19, 0x25, 0x64, 0x73, 0x2e, 0x55, 0x2e, 0x07, 0xf4, 0x6c, 0xac, - 0x8a, 0x2b, 0xf5, 0x1e, 0x1c, 0xbe, 0xce, 0x05, 0x71, 0xf1, 0x73, 0x97, 0x61, 0x92, 0xfc, 0xa6, - 0x01, 0xca, 0x2f, 0x49, 0xef, 0x0d, 0xb7, 0xcc, 0xb7, 0xdf, 0xc7, 0x1c, 0x73, 0xc2, 0x65, 0xe0, - 0x93, 0xc9, 0x37, 0x8a, 0x35, 0xec, 0x38, 0xd8, 0xb2, 0xcb, 0x6a, 0xbd, 0x9d, 0x78, 0xbe, 0x1d, - 0x8b, 0xcc, 0xc7, 0x7f, 0x18, 0x1c, 0xc5, 0x79, 0x46, 0x99, 0xaf, 0xd7, 0x73, 0x1b, 0x70, 0xa4, - 0x8d, 0x55, 0xf4, 0xc1, 0xf3, 0x65, 0xce, 0x73, 0xb2, 0xc5, 0x32, 0x08, 0xdb, 0x55, 0x10, 0x70, - 0x77, 0x2c, 0xfb, 0xe0, 0xf9, 0x09, 0xce, 0x13, 0x71, 0x5a, 0x31, 0xa4, 0x84, 0xe3, 0x53, 0x30, - 0x7e, 0x05, 0x5b, 0x9b, 0x86, 0xcd, 0x77, 0x89, 0xfa, 0x60, 0xf7, 0x49, 0xce, 0x6e, 0x8c, 0x13, - 0xd2, 0x6d, 0x23, 0xc2, 0xeb, 0x09, 0x48, 0x6c, 0xa9, 0x15, 0xdc, 0x07, 0x8b, 0xeb, 0x9c, 0xc5, - 0x10, 0xc1, 0x27, 0xa4, 0x79, 0x48, 0xd5, 0x0c, 0x3e, 0x47, 0xf5, 0x26, 0xff, 0x14, 0x27, 0x1f, - 0x16, 0x34, 0x9c, 0x85, 0x69, 0x98, 0xcd, 0x3a, 0x99, 0xc0, 0x7a, 0xb3, 0xf8, 0x3b, 0x82, 0x85, - 0xa0, 0xe1, 0x2c, 0xf6, 0xa1, 0xd6, 0x57, 0x04, 0x0b, 0xdb, 0xa7, 0xcf, 0x27, 0x61, 0xd8, 0xd0, - 0xeb, 0x7b, 0x86, 0xde, 0x8f, 0x10, 0x9f, 0xe6, 0x1c, 0x80, 0x93, 0x10, 0x06, 0xe7, 0x21, 0xd9, - 0xef, 0x40, 0xfc, 0xdd, 0x1f, 0x0a, 0xf7, 0x10, 0x23, 0x30, 0x0f, 0x63, 0x22, 0x40, 0x69, 0x86, - 0xde, 0x07, 0x8b, 0xbf, 0xc7, 0x59, 0x8c, 0xfa, 0xc8, 0x78, 0x37, 0x1c, 0x6c, 0x3b, 0x35, 0xdc, - 0x0f, 0x93, 0xcf, 0x8a, 0x6e, 0x70, 0x12, 0xae, 0xca, 0x4d, 0xac, 0x57, 0xb6, 0xfb, 0xe3, 0xf0, - 0xab, 0x42, 0x95, 0x82, 0x86, 0xb0, 0x98, 0x83, 0x91, 0x86, 0x6a, 0xd9, 0xdb, 0x6a, 0xbd, 0xaf, - 0xe1, 0xf8, 0xfb, 0x9c, 0x47, 0xca, 0x25, 0xe2, 0x1a, 0x69, 0xea, 0xfb, 0x61, 0xf3, 0x39, 0xa1, - 0x11, 0x1f, 0x19, 0x77, 0x3d, 0xdb, 0xa1, 0x5b, 0x6a, 0xfb, 0xe1, 0xf6, 0x6b, 0xc2, 0xf5, 0x18, - 0xed, 0x92, 0x9f, 0xe3, 0x79, 0x48, 0xda, 0xda, 0x8b, 0x7d, 0xb1, 0xf9, 0xbc, 0x18, 0x69, 0x4a, - 0x40, 0x88, 0xdf, 0x06, 0x47, 0xdb, 0x4e, 0x13, 0x7d, 0x30, 0xfb, 0x07, 0x9c, 0xd9, 0xe1, 0x36, - 0x53, 0x05, 0x0f, 0x09, 0xfb, 0x65, 0xf9, 0x0f, 0x45, 0x48, 0xc0, 0x21, 0x5e, 0xab, 0x64, 0xd5, - 0x60, 0xab, 0x5b, 0xfb, 0xd3, 0xda, 0xaf, 0x0b, 0xad, 0x31, 0xda, 0x80, 0xd6, 0xd6, 0xe1, 0x30, - 0xe7, 0xb8, 0xbf, 0x71, 0xfd, 0x82, 0x08, 0xac, 0x8c, 0x7a, 0x23, 0x38, 0xba, 0x6f, 0x87, 0xac, - 0xab, 0x4e, 0x91, 0x9e, 0xda, 0xe5, 0x86, 0x6a, 0xf6, 0xc1, 0xf9, 0x8b, 0x9c, 0xb3, 0x88, 0xf8, - 0x6e, 0x7e, 0x6b, 0x2f, 0xa9, 0x26, 0x61, 0xfe, 0x2c, 0x64, 0x04, 0xf3, 0xa6, 0x6e, 0xe1, 0x8a, - 0x51, 0xd3, 0xb5, 0x17, 0x71, 0xb5, 0x0f, 0xd6, 0xbf, 0x11, 0x1a, 0xaa, 0x0d, 0x1f, 0x39, 0xe1, - 0xbc, 0x00, 0x69, 0x37, 0x57, 0x29, 0x6b, 0x0d, 0xd3, 0xb0, 0x9c, 0x1e, 0x1c, 0xbf, 0x24, 0x46, - 0xca, 0xa5, 0x5b, 0xa0, 0x64, 0xb9, 0x12, 0xb0, 0x73, 0xe6, 0x7e, 0x4d, 0xf2, 0xcb, 0x9c, 0xd1, - 0x88, 0x47, 0xc5, 0x03, 0x47, 0xc5, 0x68, 0x98, 0xaa, 0xd5, 0x4f, 0xfc, 0xfb, 0x47, 0x22, 0x70, - 0x70, 0x12, 0x1e, 0x38, 0x48, 0x46, 0x47, 0x66, 0xfb, 0x3e, 0x38, 0x7c, 0x45, 0x04, 0x0e, 0x41, - 0xc3, 0x59, 0x88, 0x84, 0xa1, 0x0f, 0x16, 0xff, 0x58, 0xb0, 0x10, 0x34, 0x84, 0xc5, 0xd3, 0xde, - 0x44, 0x6b, 0xe1, 0x9a, 0x66, 0x3b, 0x16, 0x4b, 0x8a, 0xbb, 0xb3, 0xfa, 0x27, 0x3f, 0x0c, 0x26, - 0x61, 0x8a, 0x8f, 0x94, 0x44, 0x22, 0xbe, 0xc9, 0x4a, 0xd7, 0x4c, 0xbd, 0x05, 0xfb, 0x4d, 0x11, - 0x89, 0x7c, 0x64, 0x44, 0x36, 0x5f, 0x86, 0x48, 0xd4, 0x5e, 0x21, 0x2b, 0x85, 0x3e, 0xd8, 0xfd, - 0xd3, 0x90, 0x70, 0x6b, 0x82, 0x96, 0xf0, 0xf4, 0xe5, 0x3f, 0x4d, 0x7d, 0x07, 0xef, 0xf5, 0x65, - 0x9d, 0xff, 0x2c, 0x94, 0xff, 0x6c, 0x30, 0x4a, 0x16, 0x43, 0xc6, 0x42, 0xf9, 0x14, 0xea, 0x75, - 0xab, 0x28, 0xf3, 0x9e, 0x1f, 0xf3, 0xfe, 0x06, 0xd3, 0xa9, 0xdc, 0x22, 0x31, 0xf2, 0x60, 0xd2, - 0xd3, 0x9b, 0xd9, 0xfb, 0x7e, 0xec, 0xda, 0x79, 0x20, 0xe7, 0xc9, 0x5d, 0x80, 0x91, 0x40, 0xc2, - 0xd3, 0x9b, 0xd5, 0xfb, 0x39, 0xab, 0x94, 0x3f, 0xdf, 0xc9, 0x9d, 0x85, 0x18, 0x49, 0x5e, 0x7a, - 0x93, 0xff, 0x35, 0x4e, 0x4e, 0xd1, 0x73, 0x6f, 0x86, 0x84, 0x48, 0x5a, 0x7a, 0x93, 0x7e, 0x80, - 0x93, 0xba, 0x24, 0x84, 0x5c, 0x24, 0x2c, 0xbd, 0xc9, 0xff, 0xba, 0x20, 0x17, 0x24, 0x84, 0xbc, - 0x7f, 0x15, 0x7e, 0xf5, 0xe7, 0x63, 0x7c, 0xd2, 0x11, 0xba, 0x3b, 0x0f, 0x43, 0x3c, 0x53, 0xe9, - 0x4d, 0xfd, 0x21, 0xde, 0xb8, 0xa0, 0xc8, 0x3d, 0x06, 0xf1, 0x3e, 0x15, 0xfe, 0x0b, 0x9c, 0x94, - 0xe1, 0xe7, 0xe6, 0x60, 0xd8, 0x97, 0x9d, 0xf4, 0x26, 0xff, 0x1b, 0x9c, 0xdc, 0x4f, 0x45, 0x44, - 0xe7, 0xd9, 0x49, 0x6f, 0x06, 0xbf, 0x28, 0x44, 0xe7, 0x14, 0x44, 0x6d, 0x22, 0x31, 0xe9, 0x4d, - 0xfd, 0x61, 0xa1, 0x75, 0x41, 0x92, 0x7b, 0x12, 0x92, 0xee, 0x64, 0xd3, 0x9b, 0xfe, 0x23, 0x9c, - 0xde, 0xa3, 0x21, 0x1a, 0xf0, 0x4d, 0x76, 0xbd, 0x59, 0xfc, 0x4d, 0xa1, 0x01, 0x1f, 0x15, 0x71, - 0xa3, 0x70, 0x02, 0xd3, 0x9b, 0xd3, 0x47, 0x85, 0x1b, 0x85, 0xf2, 0x17, 0x32, 0x9a, 0x34, 0xe6, - 0xf7, 0x66, 0xf1, 0xb7, 0xc4, 0x68, 0x52, 0x7c, 0x22, 0x46, 0x38, 0x23, 0xe8, 0xcd, 0xe3, 0x97, - 0x84, 0x18, 0xa1, 0x84, 0x20, 0xb7, 0x0a, 0xa8, 0x35, 0x1b, 0xe8, 0xcd, 0xef, 0x63, 0x9c, 0xdf, - 0x78, 0x4b, 0x32, 0x90, 0x7b, 0x06, 0x0e, 0xb7, 0xcf, 0x04, 0x7a, 0x73, 0xfd, 0xf8, 0x8f, 0x43, - 0x6b, 0x37, 0x7f, 0x22, 0x90, 0x5b, 0xf7, 0xa6, 0x14, 0x7f, 0x16, 0xd0, 0x9b, 0xed, 0xcb, 0x3f, - 0x0e, 0x06, 0x6e, 0x7f, 0x12, 0x90, 0xcb, 0x03, 0x78, 0x13, 0x70, 0x6f, 0x5e, 0x9f, 0xe4, 0xbc, - 0x7c, 0x44, 0xc4, 0x35, 0xf8, 0xfc, 0xdb, 0x9b, 0xfe, 0xba, 0x70, 0x0d, 0x4e, 0x41, 0x5c, 0x43, - 0x4c, 0xbd, 0xbd, 0xa9, 0x3f, 0x25, 0x5c, 0x43, 0x90, 0x10, 0xcb, 0xf6, 0xcd, 0x6e, 0xbd, 0x39, - 0x7c, 0x5a, 0x58, 0xb6, 0x8f, 0x2a, 0xb7, 0x0c, 0xe3, 0x2d, 0x13, 0x62, 0x6f, 0x56, 0xbf, 0xcc, - 0x59, 0xa5, 0xc3, 0xf3, 0xa1, 0x7f, 0xf2, 0xe2, 0x93, 0x61, 0x6f, 0x6e, 0x9f, 0x09, 0x4d, 0x5e, - 0x7c, 0x2e, 0xcc, 0x9d, 0x87, 0x84, 0xde, 0xac, 0xd7, 0x89, 0xf3, 0xa0, 0xee, 0x37, 0x01, 0x33, - 0x7f, 0xfc, 0x13, 0xae, 0x1d, 0x41, 0x90, 0x3b, 0x0b, 0x71, 0xdc, 0xd8, 0xc4, 0xd5, 0x5e, 0x94, - 0x3f, 0xf8, 0x89, 0x08, 0x98, 0x04, 0x3b, 0xf7, 0x24, 0x00, 0xdb, 0x1a, 0xa1, 0x87, 0x81, 0x3d, - 0x68, 0xff, 0xeb, 0x4f, 0xf8, 0xd5, 0x1b, 0x8f, 0xc4, 0x63, 0xc0, 0x2e, 0xf2, 0x74, 0x67, 0xf0, - 0xc3, 0x20, 0x03, 0x3a, 0x22, 0x4f, 0xc0, 0xd0, 0xf3, 0xb6, 0xa1, 0x3b, 0x6a, 0xad, 0x17, 0xf5, - 0x7f, 0xe3, 0xd4, 0x02, 0x9f, 0x28, 0xac, 0x61, 0x58, 0xd8, 0x51, 0x6b, 0x76, 0x2f, 0xda, 0xff, - 0xce, 0x69, 0x5d, 0x02, 0x42, 0x5c, 0x51, 0x6d, 0xa7, 0x9f, 0x7e, 0xff, 0x89, 0x20, 0x16, 0x04, - 0x44, 0x68, 0xf2, 0x7b, 0x07, 0xef, 0xf5, 0xa2, 0xfd, 0x91, 0x10, 0x9a, 0xe3, 0xe7, 0xde, 0x0c, - 0x49, 0xf2, 0x93, 0xdd, 0xa7, 0xeb, 0x41, 0xfc, 0xa7, 0x9c, 0xd8, 0xa3, 0x20, 0x2d, 0xdb, 0x4e, - 0xd5, 0xd1, 0x7a, 0x2b, 0xfb, 0x26, 0x1f, 0x69, 0x81, 0x9f, 0xcb, 0xc3, 0xb0, 0xed, 0x54, 0xab, - 0x4d, 0x9e, 0x9f, 0xf6, 0x20, 0xff, 0x1f, 0x3f, 0x71, 0xb7, 0x2c, 0x5c, 0x1a, 0x32, 0xda, 0x57, - 0x77, 0x1c, 0xd3, 0xa0, 0x07, 0x1e, 0xbd, 0x38, 0xfc, 0x98, 0x73, 0xf0, 0x91, 0xe4, 0xe6, 0x20, - 0x45, 0xfa, 0x62, 0x61, 0x13, 0xd3, 0xd3, 0xa9, 0x1e, 0x2c, 0xfe, 0x27, 0x57, 0x40, 0x80, 0xa8, - 0xf0, 0x73, 0x5f, 0x7f, 0x75, 0x4a, 0xfa, 0xd6, 0xab, 0x53, 0xd2, 0x1f, 0xbd, 0x3a, 0x25, 0x7d, - 0xf8, 0xbb, 0x53, 0x03, 0xdf, 0xfa, 0xee, 0xd4, 0xc0, 0xef, 0x7f, 0x77, 0x6a, 0xa0, 0xfd, 0x2e, - 0x31, 0xcc, 0x1b, 0xf3, 0x06, 0xdb, 0x1f, 0x7e, 0x4e, 0xae, 0x69, 0xce, 0x76, 0x73, 0x73, 0xb6, - 0x62, 0x34, 0xe8, 0x36, 0xae, 0xb7, 0x5b, 0xeb, 0x2e, 0x72, 0xe0, 0xbd, 0x51, 0x38, 0x5a, 0x31, - 0xec, 0x86, 0x61, 0x97, 0xd9, 0x7e, 0x2f, 0x2b, 0xf0, 0x1d, 0xdf, 0x94, 0xbf, 0xaa, 0x8f, 0x4d, - 0xdf, 0x8b, 0x30, 0x4a, 0xbb, 0x4e, 0xb7, 0xbb, 0xa8, 0xb5, 0xf5, 0x0c, 0x10, 0xdf, 0xf8, 0xf7, - 0x71, 0xda, 0xeb, 0x11, 0x97, 0x90, 0x9e, 0xde, 0xaf, 0xc3, 0xa4, 0xd6, 0x30, 0xeb, 0x98, 0x6e, - 0xf3, 0x97, 0xdd, 0xba, 0xde, 0xfc, 0xbe, 0xc9, 0xf9, 0x4d, 0x78, 0xe4, 0x0b, 0x82, 0x3a, 0xb7, - 0x08, 0xe3, 0x6a, 0xa5, 0x82, 0xcd, 0x00, 0xcb, 0x1e, 0xc3, 0x22, 0x04, 0x4c, 0x73, 0x4a, 0x97, - 0x5b, 0xe1, 0xc9, 0x4e, 0x43, 0xf3, 0xdc, 0xdd, 0x3e, 0xcd, 0x5b, 0xb8, 0x86, 0xf5, 0x07, 0x75, - 0xec, 0x5c, 0x35, 0xac, 0x1d, 0xae, 0xde, 0x07, 0x59, 0x53, 0x83, 0xec, 0x06, 0x33, 0xbc, 0x3f, - 0x0a, 0x53, 0xac, 0xe2, 0xf4, 0xa6, 0x6a, 0xe3, 0xd3, 0x57, 0x1e, 0xde, 0xc4, 0x8e, 0xfa, 0xf0, - 0xe9, 0x8a, 0xa1, 0xe9, 0x7c, 0x24, 0x26, 0xf8, 0xb8, 0x90, 0xfa, 0x59, 0x5e, 0x9f, 0x6d, 0xbb, - 0x4d, 0x2f, 0xcf, 0x43, 0x6c, 0xce, 0xd0, 0x74, 0x34, 0x09, 0xf1, 0x2a, 0xd6, 0x8d, 0x06, 0xbf, - 0x73, 0xc7, 0x0a, 0xe8, 0x4e, 0x18, 0x54, 0x1b, 0x46, 0x53, 0x77, 0xd8, 0x09, 0x45, 0x61, 0xf8, - 0xeb, 0x37, 0xa6, 0x07, 0xfe, 0xe0, 0xc6, 0x74, 0x74, 0x41, 0x77, 0x14, 0x5e, 0x95, 0x8b, 0xbd, - 0xf6, 0xca, 0xb4, 0x24, 0x3f, 0x05, 0x43, 0x45, 0x5c, 0x39, 0x08, 0xaf, 0x22, 0xae, 0x84, 0x78, - 0xdd, 0x07, 0x89, 0x05, 0xdd, 0x61, 0xb7, 0x22, 0x4f, 0x40, 0x54, 0xd3, 0xd9, 0x45, 0x9b, 0x50, - 0xfb, 0x04, 0x4e, 0x50, 0x8b, 0xb8, 0xe2, 0xa2, 0x56, 0x71, 0x25, 0x8c, 0x4a, 0xd8, 0x13, 0x78, - 0xa1, 0xf8, 0xfb, 0xff, 0x79, 0x6a, 0xe0, 0xa5, 0x57, 0xa7, 0x06, 0x3a, 0x8e, 0x84, 0xdf, 0x07, - 0xb8, 0x8a, 0xf9, 0x10, 0xd8, 0xd5, 0x1d, 0x76, 0x46, 0xe2, 0x0e, 0xc3, 0xef, 0x0c, 0x82, 0xcc, - 0x71, 0x6c, 0x47, 0xdd, 0xd1, 0xf4, 0x9a, 0x3b, 0x12, 0x6a, 0xd3, 0xd9, 0x7e, 0x91, 0x0f, 0xc5, - 0x61, 0x3e, 0x14, 0x1c, 0xa7, 0xfb, 0x68, 0x64, 0x3b, 0x7b, 0x57, 0xb6, 0xc7, 0x98, 0xcb, 0xff, - 0x26, 0x0a, 0x68, 0xcd, 0x51, 0x77, 0x70, 0xbe, 0xe9, 0x6c, 0x1b, 0x96, 0xf6, 0x22, 0x8b, 0x65, - 0x18, 0xa0, 0xa1, 0xee, 0x96, 0x1d, 0x63, 0x07, 0xeb, 0x36, 0x55, 0xcd, 0xf0, 0x99, 0xa3, 0xb3, - 0x6d, 0xec, 0x63, 0x96, 0x0c, 0x5d, 0xe1, 0xfe, 0xcf, 0x7d, 0x67, 0xfa, 0xde, 0xde, 0x5a, 0xa0, - 0xc8, 0x24, 0xb9, 0xde, 0x5d, 0xa7, 0x8c, 0xd1, 0x65, 0x60, 0x97, 0x2c, 0xca, 0x75, 0xcd, 0x76, - 0xf8, 0x3d, 0xed, 0xb3, 0xb3, 0xed, 0xfb, 0x3e, 0xdb, 0x2a, 0xe6, 0xec, 0x65, 0xb5, 0xae, 0x55, - 0x55, 0xc7, 0xb0, 0xec, 0x8b, 0x03, 0x4a, 0x92, 0xb2, 0x5a, 0xd4, 0x6c, 0x07, 0xad, 0x43, 0xb2, - 0x8a, 0xf5, 0x3d, 0xc6, 0x36, 0xfa, 0xfa, 0xd8, 0x26, 0x08, 0x27, 0xca, 0xf5, 0x59, 0x40, 0xaa, - 0x1f, 0x4f, 0x3c, 0x4c, 0x62, 0xf7, 0x2b, 0x3b, 0xb0, 0x0f, 0x70, 0xa6, 0xef, 0x28, 0xc6, 0xd5, - 0x30, 0x28, 0x7b, 0x0f, 0x80, 0xd7, 0x26, 0xca, 0xc0, 0x90, 0x5a, 0xad, 0x5a, 0xd8, 0xb6, 0xe9, - 0x01, 0x60, 0x52, 0x11, 0xc5, 0xdc, 0xf8, 0xbf, 0xfd, 0xf2, 0x83, 0x23, 0x01, 0x8e, 0x85, 0x14, - 0xc0, 0x15, 0x97, 0xf4, 0xd4, 0xa7, 0x24, 0x18, 0x6f, 0x69, 0x11, 0xc9, 0x30, 0x95, 0xdf, 0x58, - 0xbf, 0xb8, 0xa2, 0x2c, 0x3c, 0x97, 0x5f, 0x5f, 0x58, 0x59, 0x2e, 0xb3, 0x2b, 0xff, 0xcb, 0x6b, - 0xab, 0xa5, 0xb9, 0x85, 0x0b, 0x0b, 0xa5, 0x62, 0x7a, 0x00, 0x4d, 0xc3, 0xb1, 0x36, 0x38, 0xc5, - 0xd2, 0x62, 0x69, 0x3e, 0xbf, 0x5e, 0x4a, 0x4b, 0xe8, 0x0e, 0x38, 0xd1, 0x96, 0x89, 0x8b, 0x12, - 0xe9, 0x80, 0xa2, 0x94, 0x5c, 0x94, 0x68, 0xe1, 0x42, 0x47, 0x2f, 0x7a, 0xa0, 0xab, 0xfd, 0xec, - 0xba, 0xee, 0x12, 0xf4, 0xa7, 0xf7, 0x44, 0xe0, 0x68, 0x78, 0xca, 0x50, 0xf5, 0xbd, 0x0e, 0xaf, - 0x3e, 0x3b, 0x44, 0xb3, 0x8b, 0x10, 0xcd, 0xeb, 0x7b, 0xe8, 0x28, 0xcb, 0xa7, 0xcb, 0x4d, 0xab, - 0xce, 0x63, 0xd0, 0x10, 0x29, 0x6f, 0x58, 0x75, 0x12, 0x9b, 0xc4, 0x45, 0x7f, 0xe9, 0x64, 0x8a, - 0xdf, 0xde, 0xcf, 0xa5, 0x3f, 0xf6, 0xca, 0xf4, 0xc0, 0x17, 0x5e, 0x99, 0x1e, 0xf8, 0xd1, 0xa7, - 0xa7, 0x07, 0x5e, 0xfa, 0xc3, 0x99, 0x81, 0xc2, 0x4e, 0xb8, 0x7b, 0x5f, 0xed, 0x39, 0x9b, 0x26, - 0xf2, 0xfa, 0x1e, 0x0d, 0x44, 0xab, 0xd2, 0x73, 0x71, 0xda, 0x39, 0x71, 0x80, 0x3a, 0x15, 0x3e, - 0x40, 0x7d, 0x06, 0xd7, 0xeb, 0x97, 0x74, 0xe3, 0x2a, 0x1d, 0x55, 0x4f, 0x07, 0x1f, 0x8d, 0xc0, - 0x54, 0xcb, 0xb4, 0xc9, 0x33, 0x8c, 0x4e, 0xcf, 0x5f, 0x73, 0x90, 0x28, 0x8a, 0xc4, 0x25, 0x03, - 0x43, 0x36, 0xae, 0x18, 0x7a, 0x95, 0x79, 0x7a, 0x54, 0x11, 0x45, 0xd2, 0x6d, 0x5d, 0xd5, 0x0d, - 0x9b, 0xdf, 0xb9, 0x67, 0x85, 0xc2, 0x27, 0xa4, 0xfd, 0xe5, 0x0b, 0x23, 0xa2, 0x25, 0xd1, 0xcd, - 0x87, 0x7b, 0x1e, 0x29, 0xef, 0x90, 0x5e, 0xba, 0x9d, 0x08, 0x1c, 0x2b, 0xf7, 0xab, 0x95, 0x5f, - 0x8a, 0xc0, 0x74, 0x58, 0x2b, 0x24, 0x6d, 0xb3, 0x1d, 0xb5, 0x61, 0x76, 0x52, 0xcb, 0x79, 0x48, - 0xae, 0x0b, 0x9c, 0x7d, 0xeb, 0xe5, 0xfa, 0x3e, 0xf5, 0x32, 0xea, 0x36, 0x25, 0x14, 0x73, 0xa6, - 0x4f, 0xc5, 0xb8, 0xfd, 0x38, 0x90, 0x66, 0x3e, 0x17, 0x83, 0x13, 0xf4, 0x51, 0x96, 0xd5, 0xd0, - 0x74, 0xe7, 0x74, 0xc5, 0xda, 0x33, 0x1d, 0x9a, 0xb8, 0x19, 0x5b, 0x5c, 0x2f, 0xe3, 0x5e, 0xf5, - 0x2c, 0xab, 0xee, 0xe0, 0x39, 0x5b, 0x10, 0x5f, 0x25, 0x74, 0x44, 0x23, 0x8e, 0xe1, 0xa8, 0x75, - 0xae, 0x29, 0x56, 0x20, 0x50, 0xf6, 0x90, 0x2b, 0xc2, 0xa0, 0x9a, 0x78, 0xc3, 0x55, 0xc7, 0xea, - 0x16, 0xbb, 0x0f, 0x1f, 0xa5, 0x0e, 0x95, 0x20, 0x00, 0x7a, 0xf5, 0x7d, 0x12, 0xe2, 0x6a, 0x93, - 0x5d, 0xe5, 0x88, 0x12, 0x4f, 0xa3, 0x05, 0xf9, 0x12, 0x0c, 0xf1, 0x03, 0x65, 0x94, 0x86, 0xe8, - 0x0e, 0xde, 0xa3, 0xed, 0xa4, 0x14, 0xf2, 0x13, 0xcd, 0x42, 0x9c, 0x0a, 0xcf, 0x27, 0x90, 0xcc, - 0x6c, 0x8b, 0xf4, 0xb3, 0x54, 0x48, 0x85, 0xa1, 0xc9, 0x4f, 0x41, 0xa2, 0x68, 0x34, 0x34, 0xdd, - 0x08, 0x72, 0x4b, 0x32, 0x6e, 0x54, 0x66, 0xb3, 0xc9, 0xf3, 0x0d, 0x85, 0x15, 0xd0, 0x61, 0x18, - 0x64, 0xef, 0x23, 0xf8, 0x75, 0x14, 0x5e, 0x92, 0xe7, 0x60, 0x88, 0xf2, 0x5e, 0x31, 0x11, 0xe2, - 0x2f, 0xeb, 0xf8, 0x43, 0x0c, 0x9a, 0x9a, 0x72, 0xf6, 0x11, 0x4f, 0x58, 0x04, 0xb1, 0xaa, 0xea, - 0xa8, 0xbc, 0xdf, 0xf4, 0xb7, 0xfc, 0x16, 0x48, 0x70, 0x26, 0x36, 0x3a, 0x03, 0x51, 0xc3, 0xb4, - 0xf9, 0x85, 0x92, 0x6c, 0xa7, 0xae, 0xac, 0x98, 0x85, 0x18, 0xc9, 0x54, 0x14, 0x82, 0x5c, 0x50, - 0x3a, 0x06, 0xd5, 0xc7, 0x7d, 0x41, 0xd5, 0x37, 0xe4, 0xbe, 0x9f, 0x6c, 0x48, 0x5b, 0xcc, 0xc1, - 0x35, 0x96, 0x4f, 0x47, 0x60, 0xca, 0x57, 0x7b, 0x05, 0x5b, 0xb6, 0x66, 0xe8, 0x7c, 0x3e, 0x67, - 0xd6, 0x82, 0x7c, 0x42, 0xf2, 0xfa, 0x0e, 0xe6, 0xf2, 0x66, 0x88, 0xe6, 0x4d, 0x13, 0x65, 0x21, - 0x41, 0xcb, 0x15, 0x83, 0xd9, 0x4b, 0x4c, 0x71, 0xcb, 0xa4, 0xce, 0x36, 0xb6, 0x9c, 0xab, 0xaa, - 0xe5, 0x3e, 0x21, 0x14, 0x65, 0xf9, 0x09, 0x48, 0xce, 0x19, 0xba, 0x8d, 0x75, 0xbb, 0x49, 0x7d, - 0x70, 0xb3, 0x6e, 0x54, 0x76, 0x38, 0x07, 0x56, 0x20, 0x0a, 0x57, 0x4d, 0x93, 0x52, 0xc6, 0x14, - 0xf2, 0x93, 0xe5, 0x86, 0x85, 0xb5, 0x8e, 0x2a, 0x7a, 0x62, 0xff, 0x2a, 0xe2, 0x9d, 0x74, 0x75, - 0xf4, 0x7f, 0x24, 0x38, 0xde, 0xea, 0x50, 0x3b, 0x78, 0xcf, 0xde, 0xaf, 0x3f, 0x3d, 0x0b, 0xc9, - 0x55, 0xfa, 0x8e, 0xff, 0x12, 0xde, 0x43, 0x59, 0x18, 0xc2, 0xd5, 0x33, 0x67, 0xcf, 0x3e, 0xfc, - 0x04, 0xb3, 0xf6, 0x8b, 0x03, 0x8a, 0x00, 0xa0, 0x29, 0x48, 0xda, 0xb8, 0x62, 0x9e, 0x39, 0x7b, - 0x6e, 0xe7, 0x61, 0x66, 0x5e, 0x24, 0x03, 0x72, 0x41, 0xb9, 0x04, 0xe9, 0xf5, 0x6b, 0x9f, 0x9e, - 0x96, 0x0a, 0x71, 0x88, 0xda, 0xcd, 0xc6, 0x6d, 0xb5, 0x91, 0x97, 0xe3, 0x30, 0xe3, 0xa7, 0xa4, - 0x91, 0xca, 0xcd, 0x4a, 0xb8, 0x0e, 0xd2, 0x3e, 0x1d, 0x50, 0x8c, 0x0e, 0xc9, 0x6c, 0x57, 0x4d, - 0xca, 0xbf, 0x21, 0x41, 0xca, 0x4d, 0x95, 0xd6, 0xb0, 0x83, 0xce, 0xfb, 0xf3, 0x1f, 0xee, 0x36, - 0xc7, 0x66, 0xc3, 0x6d, 0x79, 0x29, 0x9d, 0xe2, 0x43, 0x47, 0x8f, 0x51, 0x43, 0x34, 0x0d, 0x9b, - 0x3f, 0x2b, 0xeb, 0x41, 0xea, 0x22, 0xa3, 0x07, 0x00, 0xd1, 0x08, 0x57, 0xbe, 0x62, 0x38, 0x9a, - 0x5e, 0x2b, 0x9b, 0xc6, 0x55, 0xfe, 0x58, 0x37, 0xaa, 0xa4, 0x69, 0xcd, 0x65, 0x5a, 0xb1, 0x4a, - 0xe0, 0x44, 0xe8, 0xa4, 0xcb, 0x25, 0x98, 0xde, 0x91, 0x20, 0x20, 0x8a, 0xe8, 0x3c, 0x0c, 0x99, - 0xcd, 0xcd, 0xb2, 0x88, 0x18, 0xc3, 0x67, 0x8e, 0xb7, 0xf3, 0x7f, 0x61, 0x1f, 0x3c, 0x02, 0x0c, - 0x9a, 0xcd, 0x4d, 0x62, 0x2d, 0x77, 0x40, 0xaa, 0x8d, 0x30, 0xc3, 0x57, 0x3c, 0x39, 0xe8, 0xe7, - 0x23, 0x78, 0x0f, 0xca, 0xa6, 0xa5, 0x19, 0x96, 0xe6, 0xec, 0xd1, 0xfc, 0x35, 0xaa, 0xa4, 0x45, - 0xc5, 0x2a, 0x87, 0xcb, 0x3b, 0x30, 0xb6, 0x46, 0xd7, 0xb7, 0x9e, 0xe4, 0x67, 0x3d, 0xf9, 0xa4, - 0xde, 0xf2, 0x75, 0x94, 0x2c, 0xd2, 0x22, 0x59, 0xe1, 0xe9, 0x8e, 0xd6, 0xf9, 0xd8, 0xfe, 0xad, - 0x33, 0x98, 0x21, 0xfe, 0xc9, 0xd1, 0x80, 0x73, 0x32, 0xe3, 0xf4, 0x87, 0xaf, 0x7e, 0x0d, 0xb3, - 0x57, 0x36, 0x91, 0xed, 0x3e, 0xa9, 0x66, 0x7b, 0x84, 0xd1, 0x6c, 0x4f, 0x17, 0x92, 0x9f, 0x80, - 0x91, 0x55, 0xd5, 0x72, 0xd6, 0xb0, 0x73, 0x11, 0xab, 0x55, 0x6c, 0x05, 0x67, 0xdd, 0x11, 0x31, - 0xeb, 0x22, 0x88, 0xd1, 0xa9, 0x95, 0xcd, 0x3a, 0xf4, 0xb7, 0xbc, 0x0d, 0x31, 0x7a, 0x33, 0xd4, - 0x9d, 0x91, 0x39, 0x05, 0x9b, 0x91, 0x49, 0x2c, 0xdd, 0x73, 0xb0, 0x2d, 0xd2, 0x5b, 0x5a, 0x40, - 0x8f, 0x8a, 0x79, 0x35, 0xda, 0x7d, 0x5e, 0xe5, 0x86, 0xc8, 0x67, 0xd7, 0x3a, 0x0c, 0x15, 0x48, - 0x28, 0x5e, 0x28, 0xba, 0x82, 0x48, 0x9e, 0x20, 0x68, 0x09, 0xc6, 0x4c, 0xd5, 0x72, 0xe8, 0x93, - 0x98, 0x6d, 0xda, 0x0b, 0x6e, 0xeb, 0xd3, 0xad, 0x9e, 0x17, 0xe8, 0x2c, 0x6f, 0x65, 0xc4, 0xf4, - 0x03, 0xe5, 0xef, 0xc7, 0x60, 0x90, 0x2b, 0xe3, 0xcd, 0x30, 0xc4, 0xd5, 0xca, 0xad, 0xf3, 0xc4, - 0x6c, 0xeb, 0xc4, 0x34, 0xeb, 0x4e, 0x20, 0x9c, 0x9f, 0xa0, 0x41, 0xf7, 0x40, 0xa2, 0xb2, 0xad, - 0x6a, 0x7a, 0x59, 0xab, 0x8a, 0xad, 0x86, 0x57, 0x6f, 0x4c, 0x0f, 0xcd, 0x11, 0xd8, 0x42, 0x51, - 0x19, 0xa2, 0x95, 0x0b, 0x55, 0x92, 0x09, 0x6c, 0x63, 0xad, 0xb6, 0xed, 0x70, 0x0f, 0xe3, 0x25, - 0xf4, 0x38, 0xc4, 0x88, 0x41, 0xf0, 0x07, 0x93, 0xd9, 0x96, 0x0d, 0x1f, 0x37, 0xd9, 0x2b, 0x24, - 0x48, 0xc3, 0x1f, 0xfe, 0xce, 0xb4, 0xa4, 0x50, 0x0a, 0x34, 0x07, 0x23, 0x75, 0xd5, 0x76, 0xca, - 0x74, 0x06, 0x23, 0xcd, 0xc7, 0xf9, 0x7a, 0xbb, 0x45, 0x21, 0x5c, 0xb1, 0x5c, 0xf4, 0x61, 0x42, - 0xc5, 0x40, 0x55, 0x74, 0x12, 0xd2, 0x94, 0x49, 0xc5, 0x68, 0x34, 0x34, 0x87, 0xe5, 0x56, 0x83, - 0x54, 0xef, 0xa3, 0x04, 0x3e, 0x47, 0xc1, 0x34, 0xc3, 0x3a, 0x06, 0x49, 0xfa, 0x44, 0x8b, 0xa2, - 0xb0, 0xeb, 0xc8, 0x09, 0x02, 0xa0, 0x95, 0xf7, 0xc2, 0x98, 0x17, 0x1f, 0x19, 0x4a, 0x82, 0x71, - 0xf1, 0xc0, 0x14, 0xf1, 0x21, 0x98, 0xd4, 0xf1, 0x2e, 0xbd, 0x20, 0x1d, 0xc0, 0x4e, 0x52, 0x6c, - 0x44, 0xea, 0x2e, 0x07, 0x29, 0xee, 0x86, 0xd1, 0x8a, 0x50, 0x3e, 0xc3, 0x05, 0x8a, 0x3b, 0xe2, - 0x42, 0x29, 0xda, 0x51, 0x48, 0xa8, 0xa6, 0xc9, 0x10, 0x86, 0x79, 0x7c, 0x34, 0x4d, 0x5a, 0x75, - 0x0a, 0xc6, 0x69, 0x1f, 0x2d, 0x6c, 0x37, 0xeb, 0x0e, 0x67, 0x92, 0xa2, 0x38, 0x63, 0xa4, 0x42, - 0x61, 0x70, 0x8a, 0x7b, 0x27, 0x8c, 0xe0, 0x2b, 0x5a, 0x15, 0xeb, 0x15, 0xcc, 0xf0, 0x46, 0x28, - 0x5e, 0x4a, 0x00, 0x29, 0xd2, 0x7d, 0xe0, 0xc6, 0xbd, 0xb2, 0x88, 0xc9, 0xa3, 0x8c, 0x9f, 0x80, - 0xe7, 0x19, 0x58, 0xce, 0x40, 0xac, 0xa8, 0x3a, 0x2a, 0x49, 0x30, 0x9c, 0x5d, 0x36, 0xd1, 0xa4, - 0x14, 0xf2, 0x53, 0x7e, 0x2d, 0x02, 0xb1, 0xcb, 0x86, 0x83, 0xd1, 0x23, 0xbe, 0x04, 0x70, 0xb4, - 0x9d, 0x3d, 0xaf, 0x69, 0x35, 0x1d, 0x57, 0x97, 0xec, 0x9a, 0xef, 0x7b, 0x0a, 0x9e, 0x39, 0x45, - 0x02, 0xe6, 0x34, 0x09, 0x71, 0xcb, 0x68, 0xea, 0x55, 0x71, 0x93, 0x97, 0x16, 0x50, 0x09, 0x12, - 0xae, 0x95, 0xc4, 0x7a, 0x59, 0xc9, 0x18, 0xb1, 0x12, 0x62, 0xc3, 0x1c, 0xa0, 0x0c, 0x6d, 0x72, - 0x63, 0x29, 0x40, 0xd2, 0x0d, 0x5e, 0xdc, 0xda, 0xfa, 0x33, 0x58, 0x8f, 0x8c, 0x4c, 0x26, 0xee, - 0xd8, 0xbb, 0xca, 0x63, 0x16, 0x97, 0x76, 0x2b, 0xb8, 0xf6, 0x02, 0x66, 0xc5, 0xbf, 0xed, 0x30, - 0x44, 0xfb, 0xe5, 0x99, 0x15, 0xfb, 0xbe, 0xc3, 0x71, 0x48, 0xda, 0x5a, 0x4d, 0x57, 0x9d, 0xa6, - 0x85, 0xb9, 0xe5, 0x79, 0x00, 0xf9, 0xab, 0x12, 0x0c, 0x32, 0x4b, 0xf6, 0xe9, 0x4d, 0x6a, 0xaf, - 0xb7, 0x48, 0x27, 0xbd, 0x45, 0x0f, 0xae, 0xb7, 0x3c, 0x80, 0x2b, 0x8c, 0xcd, 0x9f, 0xdc, 0xb7, - 0xc9, 0x18, 0x98, 0x88, 0x6b, 0x5a, 0x8d, 0x3b, 0xaa, 0x8f, 0x48, 0xfe, 0x4f, 0x12, 0x49, 0x62, - 0x79, 0x3d, 0xca, 0xc3, 0x88, 0x90, 0xab, 0xbc, 0x55, 0x57, 0x6b, 0xdc, 0x76, 0x4e, 0x74, 0x14, - 0xee, 0x42, 0x5d, 0xad, 0x29, 0xc3, 0x5c, 0x1e, 0x52, 0x68, 0x3f, 0x0e, 0x91, 0x0e, 0xe3, 0x10, - 0x18, 0xf8, 0xe8, 0xc1, 0x06, 0x3e, 0x30, 0x44, 0xb1, 0xf0, 0x10, 0x7d, 0x29, 0x42, 0x17, 0x33, - 0xa6, 0x61, 0xab, 0xf5, 0x9f, 0x86, 0x47, 0x1c, 0x83, 0xa4, 0x69, 0xd4, 0xcb, 0xac, 0x86, 0xdd, - 0x70, 0x4f, 0x98, 0x46, 0x5d, 0x69, 0x19, 0xf6, 0xf8, 0x2d, 0x72, 0x97, 0xc1, 0x5b, 0xa0, 0xb5, - 0xa1, 0xb0, 0xd6, 0x2c, 0x48, 0x31, 0x55, 0xf0, 0xb9, 0xec, 0x21, 0xa2, 0x03, 0x3a, 0x39, 0x4a, - 0xad, 0x73, 0x2f, 0x13, 0x9b, 0x61, 0x2a, 0x1c, 0x8f, 0x50, 0xb0, 0xd0, 0xdf, 0x6e, 0x15, 0xec, - 0x37, 0x4b, 0x85, 0xe3, 0xc9, 0x7f, 0x5b, 0x02, 0x58, 0x24, 0x9a, 0xa5, 0xfd, 0x25, 0xb3, 0x90, - 0x4d, 0x45, 0x28, 0x07, 0x5a, 0x9e, 0xea, 0x34, 0x68, 0xbc, 0xfd, 0x94, 0xed, 0x97, 0x7b, 0x0e, - 0x46, 0x3c, 0x63, 0xb4, 0xb1, 0x10, 0x66, 0xaa, 0x4b, 0x56, 0xbd, 0x86, 0x1d, 0x25, 0x75, 0xc5, - 0x57, 0x92, 0xff, 0xa5, 0x04, 0x49, 0x2a, 0xd3, 0x12, 0x76, 0xd4, 0xc0, 0x18, 0x4a, 0x07, 0x1f, - 0xc3, 0x13, 0x00, 0x8c, 0x8d, 0xad, 0xbd, 0x88, 0xb9, 0x65, 0x25, 0x29, 0x64, 0x4d, 0x7b, 0x11, - 0xa3, 0x73, 0xae, 0xc2, 0xa3, 0xdd, 0x15, 0x2e, 0xb2, 0x6e, 0xae, 0xf6, 0x23, 0x30, 0x44, 0x3f, - 0x51, 0xb5, 0x6b, 0xf3, 0x44, 0x7a, 0x50, 0x6f, 0x36, 0xd6, 0x77, 0x6d, 0xf9, 0x79, 0x18, 0x5a, - 0xdf, 0x65, 0x7b, 0x23, 0xc7, 0x20, 0x69, 0x19, 0x06, 0x9f, 0x93, 0x59, 0x2e, 0x94, 0x20, 0x00, - 0x3a, 0x05, 0x89, 0xfd, 0x80, 0x88, 0xb7, 0x1f, 0xe0, 0x6d, 0x68, 0x44, 0xfb, 0xda, 0xd0, 0x38, - 0xf5, 0x1f, 0x24, 0x18, 0xf6, 0xc5, 0x07, 0xf4, 0x30, 0x1c, 0x2a, 0x2c, 0xae, 0xcc, 0x5d, 0x2a, - 0x2f, 0x14, 0xcb, 0x17, 0x16, 0xf3, 0xf3, 0xde, 0x1b, 0xae, 0xec, 0xe1, 0x6b, 0xd7, 0x67, 0x90, - 0x0f, 0x77, 0x43, 0xa7, 0x3b, 0x4a, 0xe8, 0x34, 0x4c, 0x06, 0x49, 0xf2, 0x85, 0xb5, 0xd2, 0xf2, - 0x7a, 0x5a, 0xca, 0x1e, 0xba, 0x76, 0x7d, 0x66, 0xdc, 0x47, 0x91, 0xdf, 0xb4, 0xb1, 0xee, 0xb4, - 0x12, 0xcc, 0xad, 0x2c, 0x2d, 0x2d, 0xac, 0xa7, 0x23, 0x2d, 0x04, 0x3c, 0x60, 0xdf, 0x07, 0xe3, - 0x41, 0x82, 0xe5, 0x85, 0xc5, 0x74, 0x34, 0x8b, 0xae, 0x5d, 0x9f, 0x19, 0xf5, 0x61, 0x2f, 0x6b, - 0xf5, 0x6c, 0xe2, 0x83, 0x9f, 0x99, 0x1a, 0xf8, 0xd5, 0x5f, 0x99, 0x92, 0x48, 0xcf, 0x46, 0x02, - 0x31, 0x02, 0x3d, 0x00, 0x47, 0xd6, 0x16, 0xe6, 0x97, 0x4b, 0xc5, 0xf2, 0xd2, 0xda, 0xbc, 0xd8, - 0x83, 0x16, 0xbd, 0x1b, 0xbb, 0x76, 0x7d, 0x66, 0x98, 0x77, 0xa9, 0x13, 0xf6, 0xaa, 0x52, 0xba, - 0xbc, 0xb2, 0x5e, 0x4a, 0x4b, 0x0c, 0x7b, 0xd5, 0xc2, 0x57, 0x0c, 0x87, 0x7d, 0xc3, 0xee, 0x21, - 0x38, 0xda, 0x06, 0xdb, 0xed, 0xd8, 0xf8, 0xb5, 0xeb, 0x33, 0x23, 0xab, 0x16, 0x66, 0xfe, 0x43, - 0x29, 0x66, 0x21, 0xd3, 0x4a, 0xb1, 0xb2, 0xba, 0xb2, 0x96, 0x5f, 0x4c, 0xcf, 0x64, 0xd3, 0xd7, - 0xae, 0xcf, 0xa4, 0x44, 0x30, 0xa4, 0x1b, 0xfd, 0x6e, 0xcf, 0x6e, 0xe7, 0x8a, 0xe7, 0xfb, 0xb3, - 0x70, 0x57, 0x87, 0x33, 0x26, 0x71, 0x3a, 0x71, 0xa0, 0x53, 0xa6, 0x8e, 0xfb, 0xec, 0xd9, 0x1e, - 0xdb, 0xcf, 0xbd, 0x97, 0x4e, 0x07, 0x3f, 0xc1, 0xca, 0x76, 0x5d, 0xdc, 0xc9, 0x1f, 0x92, 0x60, - 0xf4, 0xa2, 0x66, 0x3b, 0x86, 0xa5, 0x55, 0xd4, 0x3a, 0x7d, 0xb9, 0x75, 0xae, 0xdf, 0xd8, 0x1a, - 0x72, 0xf5, 0x27, 0x61, 0xf0, 0x8a, 0x5a, 0x67, 0x41, 0x2d, 0x4a, 0x3f, 0x34, 0xd3, 0xe1, 0xc8, - 0xc7, 0x0d, 0x6d, 0x82, 0x01, 0x23, 0x93, 0x7f, 0x3d, 0x02, 0x63, 0xd4, 0x19, 0x6c, 0xf6, 0x09, - 0x32, 0xb2, 0xc6, 0x2a, 0x40, 0xcc, 0x52, 0x1d, 0xbe, 0x69, 0x58, 0x98, 0xe5, 0xa7, 0x8f, 0xf7, - 0xf4, 0x71, 0x96, 0x56, 0xc4, 0x15, 0x85, 0xd2, 0xa2, 0x77, 0x40, 0xa2, 0xa1, 0xee, 0x96, 0x29, - 0x1f, 0xb6, 0x72, 0xc9, 0xef, 0x8f, 0xcf, 0xcd, 0x1b, 0xd3, 0x63, 0x7b, 0x6a, 0xa3, 0x9e, 0x93, - 0x05, 0x1f, 0x59, 0x19, 0x6a, 0xa8, 0xbb, 0x44, 0x44, 0x64, 0xc2, 0x18, 0x81, 0x56, 0xb6, 0x55, - 0xbd, 0x86, 0x59, 0x23, 0x74, 0x0b, 0xb4, 0x70, 0x71, 0xdf, 0x8d, 0x1c, 0xf6, 0x1a, 0xf1, 0xb1, - 0x93, 0x95, 0x91, 0x86, 0xba, 0x3b, 0x47, 0x01, 0xa4, 0xc5, 0x5c, 0xe2, 0x63, 0xaf, 0x4c, 0x0f, - 0xd0, 0x13, 0xdd, 0x6f, 0x4b, 0x00, 0x9e, 0xc6, 0xd0, 0x3b, 0x20, 0x5d, 0x71, 0x4b, 0x94, 0x56, - 0x9c, 0x4d, 0xde, 0xdb, 0x69, 0x2c, 0x42, 0xfa, 0x66, 0x73, 0xf3, 0xb7, 0x6e, 0x4c, 0x4b, 0xca, - 0x58, 0x25, 0x34, 0x14, 0x6f, 0x87, 0xe1, 0xa6, 0x59, 0x55, 0x1d, 0x5c, 0xa6, 0xeb, 0xb8, 0x48, - 0xcf, 0x79, 0x7e, 0x8a, 0xf0, 0xba, 0x79, 0x63, 0x1a, 0xb1, 0x6e, 0xf9, 0x88, 0x65, 0x3a, 0xfb, - 0x03, 0x83, 0x10, 0x02, 0x5f, 0x9f, 0xbe, 0x21, 0xc1, 0x70, 0xd1, 0x77, 0xa7, 0x32, 0x03, 0x43, - 0x0d, 0x43, 0xd7, 0x76, 0xb8, 0x3d, 0x26, 0x15, 0x51, 0x44, 0x59, 0x48, 0xb0, 0xc7, 0xac, 0xce, - 0x9e, 0xd8, 0x0a, 0x15, 0x65, 0x42, 0x75, 0x15, 0x6f, 0xda, 0x9a, 0x18, 0x0d, 0x45, 0x14, 0xd1, - 0x05, 0x48, 0xdb, 0xb8, 0xd2, 0xb4, 0x34, 0x67, 0xaf, 0x5c, 0x31, 0x74, 0x47, 0xad, 0x38, 0xec, - 0x59, 0x64, 0xe1, 0xd8, 0xcd, 0x1b, 0xd3, 0x47, 0x98, 0xac, 0x61, 0x0c, 0x59, 0x19, 0x13, 0xa0, - 0x39, 0x06, 0x21, 0x2d, 0x54, 0xb1, 0xa3, 0x6a, 0x75, 0x3b, 0xc3, 0x2e, 0x27, 0x88, 0xa2, 0xaf, - 0x2f, 0x9f, 0x1f, 0xf2, 0x6f, 0x6c, 0x5d, 0x80, 0xb4, 0x61, 0x62, 0x2b, 0x90, 0x88, 0x4a, 0xe1, - 0x96, 0xc3, 0x18, 0xb2, 0x32, 0x26, 0x40, 0x22, 0x49, 0x75, 0xc8, 0x30, 0x8b, 0x85, 0xa2, 0xd9, - 0xdc, 0xf4, 0xf6, 0xc3, 0x26, 0x5b, 0x46, 0x23, 0xaf, 0xef, 0x15, 0x1e, 0xf1, 0xb8, 0x87, 0xe9, - 0xe4, 0x6f, 0x7e, 0xf9, 0xc1, 0x49, 0x6e, 0x1a, 0xde, 0xfe, 0xd4, 0x25, 0xbc, 0x47, 0x86, 0x9f, - 0xa3, 0xae, 0x52, 0x4c, 0x92, 0x76, 0x3e, 0xaf, 0x6a, 0x75, 0xf1, 0xbc, 0x5f, 0xe1, 0x25, 0x94, - 0x83, 0x41, 0xdb, 0x51, 0x9d, 0xa6, 0xcd, 0x4f, 0x7a, 0xe5, 0x4e, 0xa6, 0x56, 0x30, 0xf4, 0xea, - 0x1a, 0xc5, 0x54, 0x38, 0x05, 0xba, 0x00, 0x83, 0xfc, 0x08, 0x3d, 0xbe, 0x6f, 0xff, 0xa6, 0x77, - 0x25, 0x18, 0x35, 0xd1, 0x48, 0x15, 0xd7, 0x71, 0x8d, 0xa5, 0x55, 0xdb, 0x2a, 0x59, 0x7d, 0xd0, - 0x6f, 0xef, 0x15, 0x16, 0xf6, 0xed, 0x84, 0x5c, 0x53, 0x61, 0x7e, 0xb2, 0x32, 0xe6, 0x82, 0xd6, - 0x28, 0x04, 0x5d, 0x0a, 0x5c, 0xfe, 0xe5, 0x1f, 0xa8, 0xbc, 0xb3, 0x53, 0xf7, 0x7d, 0x36, 0x2d, - 0xf6, 0x27, 0xfc, 0x57, 0x87, 0x2f, 0x40, 0xba, 0xa9, 0x6f, 0x1a, 0x3a, 0x7d, 0x83, 0xcb, 0xf3, - 0x7b, 0xb2, 0xbe, 0x8b, 0xfa, 0x8d, 0x23, 0x8c, 0x21, 0x2b, 0x63, 0x2e, 0xe8, 0x22, 0x5b, 0x05, - 0x54, 0x61, 0xd4, 0xc3, 0xa2, 0x8e, 0x9a, 0xec, 0xe9, 0xa8, 0x77, 0x70, 0x47, 0x3d, 0x14, 0x6e, - 0xc5, 0xf3, 0xd5, 0x11, 0x17, 0x48, 0xc8, 0xd0, 0x45, 0x00, 0x2f, 0x3c, 0xd0, 0x7d, 0x8a, 0xe1, - 0xce, 0x03, 0xef, 0xc5, 0x18, 0xb1, 0xde, 0xf3, 0x68, 0xd1, 0xbb, 0x60, 0xa2, 0xa1, 0xe9, 0x65, - 0x1b, 0xd7, 0xb7, 0xca, 0x5c, 0xc1, 0x84, 0x25, 0xfd, 0x84, 0x52, 0x61, 0x71, 0x7f, 0xf6, 0x70, - 0xf3, 0xc6, 0x74, 0x96, 0x87, 0xd0, 0x56, 0x96, 0xb2, 0x32, 0xde, 0xd0, 0xf4, 0x35, 0x5c, 0xdf, - 0x2a, 0xba, 0xb0, 0x5c, 0xea, 0x83, 0xaf, 0x4c, 0x0f, 0x70, 0x77, 0x1d, 0x90, 0xcf, 0xd1, 0xbd, - 0x73, 0xee, 0x66, 0xd8, 0x26, 0x6b, 0x12, 0x55, 0x14, 0xf8, 0x55, 0x03, 0x0f, 0xc0, 0xdc, 0xfc, - 0xa5, 0x3f, 0x9c, 0x91, 0xe4, 0xcf, 0x4b, 0x30, 0x58, 0xbc, 0xbc, 0xaa, 0x6a, 0x16, 0x5a, 0x80, - 0x71, 0xcf, 0x72, 0x82, 0x4e, 0x7e, 0xfc, 0xe6, 0x8d, 0xe9, 0x4c, 0xd8, 0xb8, 0x5c, 0x2f, 0xf7, - 0x0c, 0x58, 0xb8, 0xf9, 0x42, 0xa7, 0x85, 0x6b, 0x80, 0x55, 0x0b, 0x8a, 0xdc, 0xba, 0xac, 0x0d, - 0x75, 0xb3, 0x04, 0x43, 0x4c, 0x5a, 0x1b, 0xe5, 0x20, 0x6e, 0x92, 0x1f, 0xfc, 0x60, 0x60, 0xaa, - 0xa3, 0xf1, 0x52, 0x7c, 0x77, 0x23, 0x93, 0x90, 0xc8, 0x1f, 0x89, 0x00, 0x14, 0x2f, 0x5f, 0x5e, - 0xb7, 0x34, 0xb3, 0x8e, 0x9d, 0x5b, 0xd9, 0xf3, 0x75, 0x38, 0xe4, 0x5b, 0x25, 0x59, 0x95, 0x50, - 0xef, 0x67, 0x6e, 0xde, 0x98, 0x3e, 0x1e, 0xee, 0xbd, 0x0f, 0x4d, 0x56, 0x26, 0xbc, 0xf5, 0x92, - 0x55, 0x69, 0xcb, 0xb5, 0x6a, 0x3b, 0x2e, 0xd7, 0x68, 0x67, 0xae, 0x3e, 0x34, 0x3f, 0xd7, 0xa2, - 0xed, 0xb4, 0x57, 0xed, 0x1a, 0x0c, 0x7b, 0x2a, 0xb1, 0x51, 0x11, 0x12, 0x0e, 0xff, 0xcd, 0x35, - 0x2c, 0x77, 0xd6, 0xb0, 0x20, 0xe3, 0x5a, 0x76, 0x29, 0xe5, 0x3f, 0x93, 0x00, 0x3c, 0x9b, 0xfd, - 0xd9, 0x34, 0x31, 0x12, 0xca, 0x79, 0xe0, 0x8d, 0x1e, 0x28, 0x55, 0xe3, 0xd4, 0x21, 0x7d, 0xfe, - 0x7c, 0x04, 0x26, 0x36, 0x44, 0xe4, 0xf9, 0x99, 0xd7, 0xc1, 0x2a, 0x0c, 0x61, 0xdd, 0xb1, 0x34, - 0xaa, 0x04, 0x32, 0xda, 0x0f, 0x75, 0x1a, 0xed, 0x36, 0x7d, 0xa2, 0x1f, 0x91, 0x12, 0x9b, 0xee, - 0x9c, 0x4d, 0x48, 0x1b, 0xbf, 0x18, 0x85, 0x4c, 0x27, 0x4a, 0x34, 0x07, 0x63, 0x15, 0x0b, 0xb3, - 0x8b, 0x57, 0xfe, 0x9d, 0xbf, 0x42, 0xd6, 0xcb, 0x2c, 0x43, 0x08, 0xb2, 0x32, 0x2a, 0x20, 0x7c, - 0xf6, 0xa8, 0x01, 0x49, 0xfb, 0x88, 0xd9, 0xd1, 0xfb, 0x5b, 0xfd, 0xe5, 0x79, 0x32, 0x9f, 0x3e, - 0x44, 0x23, 0x41, 0x06, 0x6c, 0xfe, 0x18, 0xf5, 0xa0, 0x74, 0x02, 0x79, 0x01, 0xc6, 0x34, 0x5d, - 0x73, 0x34, 0xb5, 0x5e, 0xde, 0x54, 0xeb, 0xaa, 0x5e, 0x39, 0x48, 0xd6, 0xcc, 0x42, 0x3e, 0x6f, - 0x36, 0xc4, 0x4e, 0x56, 0x46, 0x39, 0xa4, 0xc0, 0x00, 0xe8, 0x22, 0x0c, 0x89, 0xa6, 0x62, 0x07, - 0xca, 0x36, 0x04, 0xb9, 0x2f, 0xc1, 0xfb, 0x85, 0x28, 0x8c, 0x2b, 0xb8, 0xfa, 0x97, 0x43, 0xb1, - 0xbf, 0xa1, 0x58, 0x02, 0x60, 0xee, 0x4e, 0x02, 0xec, 0x01, 0x46, 0x83, 0x04, 0x8c, 0x24, 0xe3, - 0x50, 0xb4, 0x1d, 0xdf, 0x78, 0xdc, 0x88, 0x40, 0xca, 0x3f, 0x1e, 0x7f, 0x41, 0x67, 0x25, 0xb4, - 0xe0, 0x45, 0xa2, 0x18, 0xff, 0xf4, 0x6e, 0x87, 0x48, 0xd4, 0x62, 0xbd, 0xdd, 0x43, 0xd0, 0x1f, - 0x47, 0x61, 0x70, 0x55, 0xb5, 0xd4, 0x86, 0x8d, 0x2a, 0x2d, 0x99, 0xa6, 0xd8, 0x7e, 0x6c, 0xf9, - 0xc0, 0x3a, 0xdf, 0xed, 0xe8, 0x91, 0x68, 0x7e, 0xac, 0x4d, 0xa2, 0xf9, 0x56, 0x18, 0x25, 0xcb, - 0x61, 0xdf, 0x15, 0x06, 0xa2, 0xed, 0x91, 0xc2, 0x51, 0x8f, 0x4b, 0xb0, 0x9e, 0xad, 0x96, 0x2f, - 0xfb, 0xef, 0x30, 0x0c, 0x13, 0x0c, 0x2f, 0x30, 0x13, 0xf2, 0xc3, 0xde, 0xb2, 0xd4, 0x57, 0x29, - 0x2b, 0xd0, 0x50, 0x77, 0x4b, 0xac, 0x80, 0x16, 0x01, 0x6d, 0xbb, 0x3b, 0x23, 0x65, 0x4f, 0x9d, - 0x84, 0xfe, 0xc4, 0xcd, 0x1b, 0xd3, 0x47, 0x19, 0x7d, 0x2b, 0x8e, 0xac, 0x8c, 0x7b, 0x40, 0xc1, - 0xed, 0x51, 0x00, 0xd2, 0xaf, 0x32, 0xbb, 0xc2, 0xcd, 0x96, 0x3b, 0x87, 0x6e, 0xde, 0x98, 0x1e, - 0x67, 0x5c, 0xbc, 0x3a, 0x59, 0x49, 0x92, 0x42, 0x91, 0xde, 0xee, 0x7e, 0x01, 0xc6, 0xe8, 0x9d, - 0x80, 0xb2, 0x85, 0xab, 0x4d, 0xfa, 0x69, 0x18, 0xbe, 0xae, 0x39, 0xb0, 0x6f, 0x86, 0xd8, 0xc9, - 0xca, 0x28, 0x85, 0x28, 0x02, 0xe0, 0x73, 0xa6, 0xcf, 0x48, 0x80, 0xbc, 0x59, 0x46, 0xc1, 0xb6, - 0x49, 0x96, 0x84, 0x24, 0xf7, 0xf7, 0x25, 0xea, 0x52, 0xf7, 0xdc, 0xdf, 0xa3, 0x17, 0xb9, 0xbf, - 0xcf, 0x39, 0x9f, 0xf0, 0x22, 0x72, 0xa4, 0xd7, 0x15, 0x6a, 0x6e, 0x95, 0xe1, 0x10, 0x3c, 0x20, - 0xff, 0x6b, 0x09, 0x8e, 0xb6, 0x18, 0xb1, 0x2b, 0xec, 0x5f, 0x01, 0x64, 0xf9, 0x2a, 0xf9, 0xa7, - 0x1b, 0x99, 0xd0, 0xfb, 0xf6, 0x89, 0x71, 0xab, 0x25, 0xd4, 0xdf, 0xba, 0x49, 0x85, 0xdd, 0xd1, - 0xff, 0x17, 0x12, 0x4c, 0xfa, 0x9b, 0x77, 0x3b, 0xb2, 0x0c, 0x29, 0x7f, 0xeb, 0xbc, 0x0b, 0x77, - 0xf5, 0xd3, 0x05, 0x2e, 0x7d, 0x80, 0x1e, 0x3d, 0xed, 0x45, 0x08, 0xb6, 0x5d, 0xf7, 0x70, 0xdf, - 0xda, 0x10, 0x32, 0x85, 0x23, 0x45, 0x8c, 0x8e, 0xc7, 0xff, 0x95, 0x20, 0xb6, 0x6a, 0x18, 0x75, - 0x64, 0xc0, 0xb8, 0x6e, 0x38, 0x65, 0x62, 0xcc, 0xb8, 0xea, 0xbf, 0x2a, 0x9f, 0x2c, 0xcc, 0xed, - 0x4f, 0x49, 0x3f, 0xb8, 0x31, 0xdd, 0xca, 0x4a, 0x19, 0xd3, 0x0d, 0xa7, 0x40, 0x21, 0xfc, 0xb6, - 0xfc, 0xbb, 0x60, 0x24, 0xd8, 0x18, 0x0b, 0xcc, 0xcf, 0xec, 0xbb, 0xb1, 0x20, 0x9b, 0x9b, 0x37, - 0xa6, 0x27, 0x3d, 0x27, 0x75, 0xc1, 0xb2, 0x92, 0xda, 0xf4, 0xb5, 0xce, 0x6e, 0x94, 0xfd, 0xe8, - 0x95, 0x69, 0xe9, 0xd4, 0x57, 0x24, 0x00, 0x6f, 0xb3, 0x03, 0x3d, 0x00, 0x47, 0x0a, 0x2b, 0xcb, - 0xc5, 0xf2, 0xda, 0x7a, 0x7e, 0x7d, 0x63, 0x2d, 0x78, 0xad, 0x5c, 0xec, 0xc8, 0xdb, 0x26, 0xae, - 0x68, 0x5b, 0x1a, 0xae, 0xa2, 0x7b, 0x60, 0x32, 0x88, 0x4d, 0x4a, 0xa5, 0x62, 0x5a, 0xca, 0xa6, - 0xae, 0x5d, 0x9f, 0x49, 0xb0, 0xf4, 0x0f, 0x57, 0xd1, 0x49, 0x38, 0xd4, 0x8a, 0xb7, 0xb0, 0x3c, - 0x9f, 0x8e, 0x64, 0x47, 0xae, 0x5d, 0x9f, 0x49, 0xba, 0x79, 0x22, 0x92, 0x01, 0xf9, 0x31, 0x39, - 0xbf, 0x68, 0x16, 0xae, 0x5d, 0x9f, 0x19, 0x64, 0x0a, 0xcc, 0xc6, 0x3e, 0xf8, 0x99, 0xa9, 0x81, - 0x5b, 0x7e, 0xf9, 0xfc, 0x4f, 0x87, 0x3a, 0x6e, 0xb4, 0xd7, 0xb0, 0x8e, 0x6d, 0xcd, 0x3e, 0xd0, - 0x46, 0x7b, 0x5f, 0x9b, 0xf7, 0xf2, 0xef, 0xc5, 0x21, 0x35, 0xcf, 0x5a, 0x21, 0x03, 0x81, 0xd1, - 0x9b, 0x60, 0xd0, 0xa4, 0x33, 0x97, 0x7b, 0x72, 0xd7, 0xc1, 0xe0, 0xd9, 0xfc, 0xe6, 0x5e, 0x1f, - 0x63, 0xb3, 0x9d, 0xcd, 0xef, 0x8f, 0xb0, 0x6b, 0x6d, 0xde, 0x45, 0xad, 0xd4, 0xbe, 0xb6, 0x98, - 0x58, 0x28, 0xe6, 0xbb, 0x39, 0x61, 0x7e, 0x32, 0xbb, 0x8a, 0xb2, 0x4e, 0x20, 0xec, 0x42, 0xda, - 0xfb, 0x25, 0x38, 0x44, 0xb1, 0xbc, 0xb9, 0x9f, 0x62, 0x8a, 0xf5, 0xc5, 0xa9, 0x4e, 0x5d, 0x58, - 0x54, 0x6d, 0xef, 0x7a, 0x09, 0xbb, 0x42, 0x76, 0x17, 0x9f, 0x7b, 0x8f, 0xfb, 0x1a, 0x0f, 0xb3, - 0x95, 0x95, 0x89, 0x7a, 0x0b, 0xa5, 0x8d, 0xe6, 0x03, 0x77, 0x08, 0x63, 0xfb, 0xdb, 0xdd, 0xf7, - 0xdf, 0x27, 0x7c, 0x0a, 0x86, 0xbd, 0x58, 0x62, 0xf3, 0x7f, 0x35, 0xd3, 0xff, 0xdc, 0xe1, 0x27, - 0x46, 0x1f, 0x90, 0xe0, 0x90, 0x97, 0x40, 0xf8, 0xd9, 0xb2, 0x7f, 0xc9, 0x73, 0xff, 0x3e, 0xd6, - 0x5e, 0x61, 0xe5, 0xb4, 0xe5, 0x2b, 0x2b, 0x93, 0xcd, 0x56, 0x52, 0xb2, 0xea, 0x1b, 0xf1, 0x47, - 0x56, 0x3b, 0x23, 0xbe, 0x3a, 0xd9, 0x7f, 0x68, 0x0e, 0x32, 0x60, 0xff, 0x26, 0xc4, 0x34, 0x2c, - 0x07, 0x57, 0xe9, 0x1e, 0x60, 0x42, 0x71, 0xcb, 0xf2, 0x32, 0xa0, 0xd6, 0xc1, 0x0d, 0xdf, 0x99, - 0xf4, 0x9e, 0xc4, 0xa0, 0x49, 0x88, 0xfb, 0x6f, 0x15, 0xb2, 0x42, 0x2e, 0xf1, 0x41, 0x3e, 0x7d, - 0xde, 0x72, 0x9f, 0xff, 0x4e, 0x04, 0x4e, 0xf9, 0x4f, 0xa4, 0x5e, 0x68, 0x62, 0x6b, 0xcf, 0x75, - 0x51, 0x53, 0xad, 0x69, 0xba, 0xff, 0xe1, 0xc5, 0x51, 0xff, 0x84, 0x4f, 0x71, 0x85, 0x9e, 0xe4, - 0x0f, 0x4a, 0x30, 0xbc, 0xaa, 0xd6, 0xb0, 0x82, 0x5f, 0x68, 0x62, 0xdb, 0x69, 0x73, 0xb1, 0xfd, - 0x30, 0x0c, 0x1a, 0x5b, 0x5b, 0xe2, 0x18, 0x3d, 0xa6, 0xf0, 0x12, 0xe9, 0x73, 0x5d, 0x6b, 0x68, - 0xec, 0x06, 0x5a, 0x4c, 0x61, 0x05, 0x34, 0x0d, 0xc3, 0x15, 0xa3, 0xa9, 0x73, 0x97, 0xcb, 0xc4, - 0xc4, 0xe7, 0x5d, 0x9a, 0x3a, 0x73, 0x39, 0xa2, 0x44, 0x0b, 0x5f, 0xc1, 0x96, 0xcd, 0x3e, 0x68, - 0x99, 0x50, 0x44, 0x51, 0x7e, 0x12, 0x52, 0x4c, 0x12, 0x3e, 0x19, 0x1f, 0x85, 0x04, 0xbd, 0xdc, - 0xe5, 0xc9, 0x33, 0x44, 0xca, 0x97, 0xd8, 0xf5, 0x78, 0xc6, 0x9f, 0x89, 0xc4, 0x0a, 0x85, 0x42, - 0x47, 0x2d, 0x9f, 0xec, 0x1d, 0x35, 0x98, 0x0e, 0x5d, 0x0d, 0xff, 0x56, 0x1c, 0x0e, 0xf1, 0xf3, - 0x42, 0xd5, 0xd4, 0x4e, 0x6f, 0x3b, 0x8e, 0x78, 0xae, 0x01, 0x3c, 0xf1, 0x56, 0x4d, 0x4d, 0xde, - 0x83, 0xd8, 0x45, 0xc7, 0x31, 0xd1, 0x29, 0x88, 0x5b, 0xcd, 0x3a, 0x16, 0xfb, 0x4f, 0xee, 0x09, - 0x81, 0x6a, 0x6a, 0xb3, 0x04, 0x41, 0x69, 0xd6, 0xb1, 0xc2, 0x50, 0x50, 0x09, 0xa6, 0xb7, 0x9a, - 0xf5, 0xfa, 0x5e, 0xb9, 0x8a, 0xe9, 0x7f, 0xe8, 0x72, 0xff, 0xc7, 0x05, 0xde, 0x35, 0x55, 0xf1, - 0xa5, 0x4c, 0xa2, 0x98, 0xe3, 0x14, 0xad, 0x48, 0xb1, 0xc4, 0xff, 0xb7, 0x28, 0x09, 0x1c, 0xf9, - 0x0f, 0x22, 0x90, 0x10, 0xac, 0xe9, 0x7d, 0x75, 0x5c, 0xc7, 0x15, 0xc7, 0x10, 0xe7, 0x37, 0x6e, - 0x19, 0x21, 0x88, 0xd6, 0xf8, 0xe0, 0x25, 0x2f, 0x0e, 0x28, 0xa4, 0x40, 0x60, 0xee, 0x2b, 0x02, - 0x02, 0x33, 0x9b, 0x64, 0x3c, 0x63, 0xa6, 0x21, 0x16, 0x8a, 0x17, 0x07, 0x14, 0x5a, 0x42, 0x19, - 0x18, 0x24, 0x4e, 0xe3, 0xb0, 0xd1, 0x22, 0x70, 0x5e, 0x46, 0x87, 0x21, 0x6e, 0xaa, 0x4e, 0x85, - 0x5d, 0xf0, 0x23, 0x15, 0xac, 0x88, 0x1e, 0x83, 0x41, 0xf6, 0x10, 0x3c, 0xfc, 0xef, 0x6f, 0x88, - 0x32, 0xd8, 0x17, 0xf7, 0x88, 0xdc, 0xab, 0xaa, 0xe3, 0x60, 0x4b, 0x27, 0x0c, 0x19, 0x3a, 0x42, - 0x10, 0xdb, 0x34, 0xaa, 0x7b, 0xfc, 0x5f, 0xf2, 0xd0, 0xdf, 0xfc, 0x7f, 0x80, 0x50, 0x7b, 0x28, - 0xd3, 0x4a, 0xf6, 0x9f, 0xc8, 0x52, 0x02, 0x58, 0x20, 0x48, 0x25, 0x98, 0x50, 0xab, 0x55, 0x8d, - 0xfd, 0x77, 0x9c, 0xf2, 0xa6, 0x46, 0x83, 0x87, 0x4d, 0xff, 0xcf, 0x5c, 0xa7, 0xb1, 0x40, 0x1e, - 0x41, 0x81, 0xe3, 0x17, 0x92, 0x30, 0x64, 0x32, 0xa1, 0xe4, 0xf3, 0x30, 0xde, 0x22, 0x29, 0x91, - 0x6f, 0x47, 0xd3, 0xab, 0xe2, 0x69, 0x05, 0xf9, 0x4d, 0x60, 0xf4, 0x1b, 0x99, 0xec, 0x64, 0x8c, - 0xfe, 0x2e, 0xbc, 0xb7, 0xf3, 0x0b, 0x9c, 0x51, 0xdf, 0x0b, 0x1c, 0xd5, 0xd4, 0x0a, 0x49, 0xca, - 0x9f, 0xbf, 0xbb, 0xc9, 0xb7, 0xbe, 0xbb, 0xa9, 0x61, 0x5d, 0x4c, 0xcc, 0xa4, 0x4a, 0x35, 0x35, - 0x9b, 0x9a, 0xa3, 0xf7, 0xcd, 0x4e, 0xfb, 0xbc, 0xef, 0x37, 0x7d, 0x86, 0x13, 0x9b, 0xcf, 0xaf, - 0x2e, 0xb8, 0x76, 0xfc, 0xb5, 0x08, 0x1c, 0xf7, 0xd9, 0xb1, 0x0f, 0xb9, 0xd5, 0x9c, 0xb3, 0xed, - 0x2d, 0xbe, 0x8f, 0xe7, 0xd0, 0x97, 0x20, 0x46, 0xf0, 0x51, 0x8f, 0xff, 0xd0, 0x91, 0xf9, 0xc2, - 0x37, 0xff, 0xb9, 0x1c, 0x3c, 0x43, 0x0b, 0x8c, 0x0a, 0x65, 0x52, 0xf8, 0x40, 0xff, 0xfa, 0x4b, - 0x7b, 0x9f, 0x2b, 0xb5, 0x6f, 0x9d, 0x1a, 0xc3, 0x3a, 0xfc, 0xde, 0xd9, 0x8e, 0xcf, 0x65, 0x59, - 0x30, 0xed, 0x9e, 0x5f, 0xed, 0x23, 0x52, 0x77, 0x7a, 0x8d, 0xd0, 0x6d, 0x04, 0xfb, 0xcc, 0xd4, - 0x76, 0xe1, 0xf0, 0xd3, 0xa4, 0x6d, 0x6f, 0xd1, 0x2e, 0x42, 0xfe, 0x61, 0xf7, 0x6c, 0x51, 0xe2, - 0xff, 0xe6, 0x4f, 0x9c, 0x1b, 0x82, 0x27, 0x1f, 0x5f, 0x3b, 0xde, 0x33, 0xdb, 0x71, 0x2a, 0x99, - 0xf5, 0x4d, 0x23, 0x8a, 0x8f, 0x52, 0xfe, 0x35, 0x09, 0x8e, 0xb4, 0x34, 0xcd, 0x63, 0xfc, 0x7c, - 0x9b, 0x87, 0x13, 0x07, 0x4a, 0x7a, 0xe6, 0xdb, 0x08, 0x7b, 0x6f, 0x4f, 0x61, 0x99, 0x14, 0x01, - 0x69, 0xdf, 0x02, 0x87, 0x82, 0xc2, 0x0a, 0x35, 0xdd, 0x0d, 0xa3, 0xc1, 0xfd, 0x69, 0xae, 0xae, - 0x91, 0xc0, 0x0e, 0xb5, 0x5c, 0x0e, 0xeb, 0xd9, 0xed, 0x6b, 0x09, 0x92, 0x2e, 0x2a, 0xcf, 0x8e, - 0xfb, 0xee, 0xaa, 0x47, 0x29, 0x7f, 0x44, 0x82, 0x99, 0x60, 0x0b, 0xbe, 0x3c, 0x69, 0x7f, 0xc2, - 0xde, 0xb2, 0x21, 0x7e, 0x4d, 0x82, 0x3b, 0xba, 0xc8, 0xc4, 0x15, 0xf0, 0x22, 0x4c, 0xfa, 0x36, - 0x09, 0x44, 0x08, 0x17, 0xc3, 0x7e, 0xaa, 0x77, 0x86, 0xea, 0xae, 0x89, 0x8f, 0x11, 0xa5, 0x7c, - 0xee, 0x3b, 0xd3, 0x13, 0xad, 0x75, 0xb6, 0x32, 0xd1, 0xba, 0xb0, 0xbf, 0x85, 0xf6, 0xf1, 0xb2, - 0x04, 0xf7, 0x05, 0xbb, 0xda, 0x26, 0xd5, 0x7d, 0xa3, 0xc6, 0xe1, 0x3f, 0x4a, 0x70, 0xaa, 0x1f, - 0xe1, 0xf8, 0x80, 0x6c, 0xc2, 0x84, 0x97, 0x84, 0x87, 0xc7, 0x63, 0x5f, 0xa9, 0x3d, 0xb3, 0x52, - 0xe4, 0x72, 0xbb, 0x0d, 0x8a, 0x37, 0xb9, 0x63, 0xf9, 0x87, 0xdc, 0x55, 0x72, 0x70, 0x6f, 0x59, - 0x28, 0x39, 0xb0, 0xbb, 0xdc, 0x66, 0x2c, 0x22, 0x6d, 0xc6, 0xc2, 0xcb, 0xda, 0xe5, 0x2b, 0x3c, - 0x6e, 0xb5, 0xd9, 0x9e, 0x7b, 0x3b, 0x4c, 0xb4, 0x31, 0x65, 0xee, 0xd5, 0xfb, 0xb0, 0x64, 0x05, - 0xb5, 0x1a, 0xab, 0xbc, 0x07, 0xd3, 0xb4, 0xdd, 0x36, 0x8a, 0xbe, 0xdd, 0x5d, 0x6e, 0xf0, 0xd8, - 0xd2, 0xb6, 0x69, 0xde, 0xf7, 0x05, 0x18, 0x64, 0xe3, 0xcc, 0xbb, 0x7b, 0x00, 0x43, 0xe1, 0x0c, - 0xe4, 0x4f, 0x88, 0x58, 0x56, 0x14, 0x62, 0xb7, 0xf7, 0xa1, 0x7e, 0xfa, 0x7a, 0x8b, 0x7c, 0xc8, - 0xa7, 0x8c, 0x6f, 0x8b, 0xa8, 0xd6, 0x5e, 0x3a, 0xae, 0x8e, 0xca, 0x2d, 0x8b, 0x6a, 0x4c, 0x37, - 0xb7, 0x37, 0x7c, 0xfd, 0x8a, 0x08, 0x5f, 0x6e, 0x9f, 0x7a, 0x84, 0xaf, 0x37, 0x46, 0xf5, 0x6e, - 0x20, 0xeb, 0x21, 0xe6, 0x9f, 0xc7, 0x40, 0xf6, 0x23, 0x09, 0x8e, 0xd2, 0xbe, 0xf9, 0xf7, 0x28, - 0xf6, 0xab, 0xf2, 0x07, 0x00, 0xd9, 0x56, 0xa5, 0xdc, 0xd6, 0xbb, 0xd3, 0xb6, 0x55, 0xb9, 0x1c, - 0x98, 0x5f, 0x1e, 0x00, 0x54, 0x0d, 0xec, 0x44, 0x51, 0x6c, 0x76, 0x67, 0x2f, 0x5d, 0xf5, 0x6d, - 0x74, 0xb4, 0x19, 0xce, 0xd8, 0x2d, 0x18, 0xce, 0x6f, 0x49, 0x90, 0x6d, 0xd7, 0x65, 0x3e, 0x7c, - 0x1a, 0x1c, 0x0e, 0x9c, 0x1f, 0x84, 0x47, 0xf0, 0x81, 0x7e, 0x76, 0x79, 0x42, 0x6e, 0x74, 0xc8, - 0xc2, 0xb7, 0x3b, 0x0f, 0x98, 0x0e, 0x5a, 0x68, 0x6b, 0x66, 0xfd, 0x86, 0xb9, 0xcf, 0x97, 0x5b, - 0xe2, 0xea, 0x9f, 0x8b, 0xdc, 0x7b, 0x17, 0xa6, 0x3a, 0x48, 0x7d, 0xbb, 0xe7, 0xbd, 0xed, 0x8e, - 0x83, 0x79, 0xab, 0xd3, 0xf7, 0x47, 0xb9, 0x27, 0x04, 0xef, 0x83, 0xfb, 0xd6, 0x62, 0xed, 0x1e, - 0x94, 0xc9, 0x6f, 0x83, 0x63, 0x6d, 0xa9, 0xb8, 0x6c, 0x39, 0x88, 0x6d, 0x6b, 0xb6, 0xc3, 0xc5, - 0xba, 0xa7, 0x93, 0x58, 0x21, 0x6a, 0x4a, 0x23, 0x23, 0x48, 0x53, 0xd6, 0xab, 0x86, 0x51, 0xe7, - 0x62, 0xc8, 0x97, 0x60, 0xdc, 0x07, 0xe3, 0x8d, 0x9c, 0x83, 0x98, 0x69, 0xf0, 0x8f, 0x25, 0x0c, - 0x9f, 0x39, 0xde, 0x71, 0x63, 0xdf, 0x30, 0xea, 0xbc, 0xdb, 0x14, 0x5f, 0x9e, 0x04, 0xc4, 0x98, - 0xd1, 0x3d, 0x7e, 0xd1, 0xc4, 0x1a, 0x4c, 0x04, 0xa0, 0xbc, 0x91, 0xd7, 0x75, 0x7e, 0x70, 0xe6, - 0x07, 0x87, 0x20, 0x4e, 0xb9, 0xa2, 0x8f, 0x4b, 0x81, 0xaf, 0x19, 0xcd, 0x76, 0x62, 0xd3, 0x7e, - 0x4d, 0x9c, 0x3d, 0xdd, 0x37, 0x3e, 0xcf, 0xd9, 0x4e, 0xbd, 0xf7, 0xdf, 0x7d, 0xef, 0xa3, 0x91, - 0xbb, 0x90, 0x7c, 0xba, 0xc3, 0x6a, 0xdc, 0xe7, 0x2f, 0x9f, 0x0d, 0xbc, 0xc4, 0x7f, 0xb0, 0xbf, - 0xa6, 0x84, 0x64, 0xb3, 0xfd, 0xa2, 0x73, 0xc1, 0xce, 0x53, 0xc1, 0xce, 0xa2, 0x47, 0x7a, 0x0b, - 0x76, 0xfa, 0x9d, 0x41, 0xa7, 0x79, 0x37, 0xfa, 0x3d, 0x09, 0x26, 0xdb, 0x2d, 0xe9, 0xd0, 0xe3, - 0xfd, 0x49, 0xd1, 0x9a, 0x52, 0x64, 0x9f, 0x38, 0x00, 0x25, 0xef, 0xca, 0x3c, 0xed, 0x4a, 0x1e, - 0x3d, 0x79, 0x80, 0xae, 0x9c, 0xf6, 0x6f, 0xfd, 0xff, 0x6f, 0x09, 0x4e, 0x74, 0x5d, 0x21, 0xa1, - 0x7c, 0x7f, 0x52, 0x76, 0xc9, 0x9d, 0xb2, 0x85, 0xd7, 0xc3, 0x82, 0xf7, 0xf8, 0x69, 0xda, 0xe3, - 0x4b, 0x68, 0xe1, 0x20, 0x3d, 0x6e, 0x7b, 0xbe, 0x82, 0x7e, 0x3b, 0x78, 0xcf, 0xb1, 0xbb, 0x39, - 0xb5, 0x2c, 0x3c, 0x7a, 0x38, 0x46, 0x6b, 0x52, 0x2b, 0x3f, 0x4b, 0xbb, 0xa0, 0xa0, 0xd5, 0xd7, - 0x39, 0x68, 0xa7, 0xdf, 0x19, 0x0c, 0xfc, 0xef, 0x46, 0xff, 0x4b, 0x6a, 0x7f, 0x6d, 0xf1, 0xb1, - 0xae, 0x22, 0x76, 0x5e, 0x54, 0x65, 0x1f, 0xdf, 0x3f, 0x21, 0xef, 0x64, 0x83, 0x76, 0xb2, 0x86, - 0xf0, 0xad, 0xee, 0x64, 0xdb, 0x41, 0x44, 0xdf, 0x90, 0x60, 0xb2, 0xdd, 0x9a, 0xa4, 0x87, 0x5b, - 0x76, 0x59, 0x64, 0xf5, 0x70, 0xcb, 0x6e, 0x0b, 0x20, 0xf9, 0x4d, 0xb4, 0xf3, 0xe7, 0xd0, 0xa3, - 0x9d, 0x3a, 0xdf, 0x75, 0x14, 0x89, 0x2f, 0x76, 0x4d, 0xf2, 0x7b, 0xf8, 0x62, 0x3f, 0xeb, 0x98, - 0x1e, 0xbe, 0xd8, 0xd7, 0x1a, 0xa3, 0xb7, 0x2f, 0xba, 0x3d, 0xeb, 0x73, 0x18, 0x6d, 0xf4, 0x35, - 0x09, 0x46, 0x02, 0x19, 0x31, 0x7a, 0xb8, 0xab, 0xa0, 0xed, 0x16, 0x0c, 0xd9, 0x33, 0xfb, 0x21, - 0xe1, 0x7d, 0x59, 0xa0, 0x7d, 0x99, 0x43, 0xf9, 0x83, 0xf4, 0x25, 0x78, 0x8c, 0xfa, 0x2d, 0x09, - 0x26, 0xda, 0x64, 0x99, 0x3d, 0xbc, 0xb0, 0x73, 0xd2, 0x9c, 0x7d, 0x7c, 0xff, 0x84, 0xbc, 0x57, - 0x17, 0x68, 0xaf, 0xde, 0x8a, 0xde, 0x72, 0x90, 0x5e, 0xf9, 0xe6, 0xe7, 0x1b, 0xde, 0x95, 0x2c, - 0x5f, 0x3b, 0xe8, 0xdc, 0x3e, 0x05, 0x13, 0x1d, 0x7a, 0x6c, 0xdf, 0x74, 0xbc, 0x3f, 0xcf, 0xd0, - 0xfe, 0x3c, 0x8d, 0x56, 0x5e, 0x5f, 0x7f, 0x5a, 0xa7, 0xf5, 0x2f, 0xb5, 0xbe, 0x47, 0xec, 0x6e, - 0x45, 0x6d, 0x93, 0xd5, 0xec, 0x23, 0xfb, 0xa2, 0xe1, 0x9d, 0x7a, 0x9c, 0x76, 0xea, 0x0c, 0x7a, - 0xa8, 0x53, 0xa7, 0x7c, 0x57, 0xfd, 0x34, 0x7d, 0xcb, 0x38, 0xfd, 0x4e, 0x96, 0x02, 0xbf, 0x1b, - 0xbd, 0x47, 0xdc, 0x79, 0x3a, 0xd9, 0xb5, 0x5d, 0x5f, 0x1e, 0x9b, 0xbd, 0xaf, 0x0f, 0x4c, 0x2e, - 0xd7, 0x5d, 0x54, 0xae, 0x29, 0x74, 0xbc, 0x93, 0x5c, 0x24, 0x97, 0x45, 0x1f, 0x92, 0xdc, 0x9b, - 0x99, 0xa7, 0xba, 0xf3, 0xf6, 0x27, 0xbb, 0xd9, 0xfb, 0xfb, 0xc2, 0xe5, 0x92, 0xdc, 0x43, 0x25, - 0x99, 0x41, 0x53, 0x1d, 0x25, 0x61, 0xa9, 0xef, 0xad, 0xbe, 0x54, 0x70, 0xed, 0x08, 0x4c, 0x77, - 0x68, 0xd1, 0xd9, 0xed, 0x71, 0xc6, 0xd5, 0xe5, 0x59, 0x6e, 0xcf, 0x67, 0xb7, 0xb7, 0xfa, 0x73, - 0xb2, 0x7d, 0x1e, 0x88, 0xfd, 0x4e, 0x0c, 0xd0, 0x92, 0x5d, 0x9b, 0xb3, 0x30, 0xfb, 0xd7, 0x96, - 0xdc, 0xcb, 0x43, 0xef, 0xcd, 0xa4, 0xd7, 0xf5, 0xde, 0x6c, 0x29, 0xf0, 0x82, 0x2b, 0xb2, 0xbf, - 0x57, 0xa2, 0x7d, 0x3f, 0xe3, 0x8a, 0xfe, 0x54, 0x9e, 0x71, 0xb5, 0xbf, 0xe5, 0x1d, 0xbb, 0x75, - 0xcf, 0x41, 0xe2, 0x07, 0x7d, 0x12, 0xc3, 0x5f, 0x67, 0x0e, 0x76, 0x79, 0x9d, 0x99, 0xe9, 0xf8, - 0x04, 0x93, 0x53, 0xa3, 0xb3, 0xe2, 0xe3, 0xaa, 0x43, 0xfd, 0x5d, 0x92, 0xe5, 0x5f, 0x5f, 0xf5, - 0xb6, 0x10, 0x8e, 0x43, 0xb6, 0xd5, 0x9c, 0x5c, 0xa7, 0xfe, 0x68, 0x14, 0xd2, 0x4b, 0x76, 0xad, - 0x54, 0xd5, 0x9c, 0xdb, 0x64, 0x6b, 0x4f, 0x76, 0x7e, 0x62, 0x83, 0x6e, 0xde, 0x98, 0x1e, 0x65, - 0x3a, 0xed, 0xa2, 0xc9, 0x06, 0x8c, 0x85, 0x1e, 0x36, 0x73, 0xcb, 0x2a, 0x1e, 0xe4, 0x7d, 0x75, - 0x88, 0x95, 0x4c, 0x5f, 0x44, 0xf8, 0xec, 0x1b, 0xed, 0xb6, 0x37, 0x66, 0x66, 0x50, 0x17, 0x6f, - 0xe7, 0x7b, 0x44, 0x6f, 0xcc, 0xb2, 0x90, 0x09, 0x0f, 0x8a, 0x3b, 0x62, 0xdf, 0x97, 0x60, 0x78, - 0xc9, 0x16, 0xa9, 0x20, 0xfe, 0x19, 0x7d, 0x0d, 0xf5, 0x98, 0xfb, 0x65, 0xf2, 0x68, 0x7f, 0x76, - 0x2b, 0xbe, 0x56, 0xee, 0x29, 0xe1, 0x10, 0x4c, 0xf8, 0xfa, 0xe9, 0xf6, 0xff, 0x77, 0x23, 0x34, - 0x3e, 0x16, 0x70, 0x4d, 0xd3, 0xdd, 0x2c, 0x12, 0xff, 0x45, 0x7d, 0xeb, 0xe1, 0xe9, 0x39, 0x76, - 0x50, 0x3d, 0xef, 0xd0, 0x00, 0x11, 0xd2, 0xa7, 0xbb, 0xf1, 0xb5, 0xd4, 0xfa, 0x12, 0x49, 0xda, - 0xc7, 0x47, 0x7e, 0x42, 0xef, 0x8d, 0xe4, 0xd7, 0x24, 0x18, 0x59, 0xb2, 0x6b, 0x1b, 0x7a, 0xf5, - 0xff, 0x7b, 0xfb, 0xdd, 0x82, 0x43, 0x81, 0x9e, 0xde, 0x26, 0x95, 0x9e, 0x79, 0x39, 0x06, 0xd1, - 0x25, 0xbb, 0x86, 0x5e, 0x80, 0xb1, 0x70, 0xd2, 0xd0, 0x31, 0x17, 0x6c, 0x9d, 0x11, 0x3a, 0xaf, - 0xd7, 0x3a, 0xcf, 0x1e, 0x68, 0x07, 0x46, 0x82, 0x33, 0xc7, 0xc9, 0x2e, 0x4c, 0x02, 0x98, 0xd9, - 0x87, 0xfa, 0xc5, 0x74, 0x1b, 0x7b, 0x07, 0x24, 0xdc, 0xa0, 0x77, 0x67, 0x17, 0x6a, 0x81, 0xd4, - 0x39, 0xbb, 0x6d, 0x13, 0x56, 0x88, 0xf6, 0xc2, 0x21, 0xa5, 0x9b, 0xf6, 0x42, 0xb8, 0x5d, 0xb5, - 0xd7, 0xc9, 0xb5, 0x36, 0x01, 0x7c, 0x7e, 0x70, 0x77, 0x17, 0x0e, 0x1e, 0x5a, 0xf6, 0xc1, 0xbe, - 0xd0, 0xdc, 0x43, 0xa7, 0x5b, 0x9c, 0x8c, 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8d, 0xc7, - 0xe8, 0xef, 0x50, 0x98, 0x00, 0x00, + 0xce, 0xa4, 0xb1, 0xdd, 0x26, 0x63, 0xb7, 0x99, 0x36, 0xcd, 0xa4, 0x74, 0x2a, 0x7b, 0x52, 0xd5, + 0x75, 0x1b, 0x87, 0x71, 0xdb, 0x74, 0x3c, 0x9d, 0x76, 0xee, 0xd7, 0xfb, 0xda, 0x4f, 0x40, 0xa4, + 0xed, 0x34, 0xfd, 0x85, 0xbd, 0xe7, 0x9e, 0x73, 0xee, 0x39, 0xe7, 0x9e, 0x7b, 0xee, 0xb9, 0x5f, + 0x0f, 0xf0, 0x85, 0xf3, 0x30, 0x53, 0x33, 0x8c, 0x5a, 0x1d, 0x9f, 0x36, 0x2d, 0xc3, 0x31, 0x36, + 0x9b, 0x5b, 0xa7, 0xab, 0xd8, 0xae, 0x58, 0x9a, 0xe9, 0x18, 0xd6, 0x2c, 0x85, 0xa1, 0x31, 0x86, + 0x31, 0x2b, 0x30, 0xe4, 0x25, 0x18, 0xbf, 0xa0, 0xd5, 0x71, 0xd1, 0x45, 0x5c, 0xc3, 0x0e, 0x7a, + 0x12, 0x62, 0x5b, 0x5a, 0x1d, 0x67, 0xa4, 0x99, 0xe8, 0xc9, 0xe1, 0x33, 0xf7, 0xcc, 0x86, 0x88, + 0x66, 0x83, 0x14, 0xab, 0x04, 0xac, 0x50, 0x0a, 0xf9, 0xbb, 0x31, 0x98, 0x68, 0x53, 0x8b, 0x10, + 0xc4, 0x74, 0xb5, 0x41, 0x38, 0x4a, 0x27, 0x93, 0x0a, 0xfd, 0x8d, 0x32, 0x30, 0x64, 0xaa, 0x95, + 0x1d, 0xb5, 0x86, 0x33, 0x11, 0x0a, 0x16, 0x45, 0x34, 0x05, 0x50, 0xc5, 0x26, 0xd6, 0xab, 0x58, + 0xaf, 0xec, 0x65, 0xa2, 0x33, 0xd1, 0x93, 0x49, 0xc5, 0x07, 0x41, 0x0f, 0xc2, 0xb8, 0xd9, 0xdc, + 0xac, 0x6b, 0x95, 0xb2, 0x0f, 0x0d, 0x66, 0xa2, 0x27, 0xe3, 0x4a, 0x9a, 0x55, 0x14, 0x3d, 0xe4, + 0xfb, 0x61, 0xec, 0x2a, 0x56, 0x77, 0xfc, 0xa8, 0xc3, 0x14, 0x75, 0x94, 0x80, 0x7d, 0x88, 0x73, + 0x90, 0x6a, 0x60, 0xdb, 0x56, 0x6b, 0xb8, 0xec, 0xec, 0x99, 0x38, 0x13, 0xa3, 0xda, 0xcf, 0xb4, + 0x68, 0x1f, 0xd6, 0x7c, 0x98, 0x53, 0xad, 0xef, 0x99, 0x18, 0xe5, 0x21, 0x89, 0xf5, 0x66, 0x83, + 0x71, 0x88, 0x77, 0xb0, 0x5f, 0x49, 0x6f, 0x36, 0xc2, 0x5c, 0x12, 0x84, 0x8c, 0xb3, 0x18, 0xb2, + 0xb1, 0x75, 0x45, 0xab, 0xe0, 0xcc, 0x20, 0x65, 0x70, 0x7f, 0x0b, 0x83, 0x35, 0x56, 0x1f, 0xe6, + 0x21, 0xe8, 0xd0, 0x1c, 0x24, 0xf1, 0xae, 0x83, 0x75, 0x5b, 0x33, 0xf4, 0xcc, 0x10, 0x65, 0x72, + 0x6f, 0x9b, 0x5e, 0xc4, 0xf5, 0x6a, 0x98, 0x85, 0x47, 0x87, 0xce, 0xc1, 0x90, 0x61, 0x3a, 0x9a, + 0xa1, 0xdb, 0x99, 0xc4, 0x8c, 0x74, 0x72, 0xf8, 0xcc, 0xf1, 0xb6, 0x8e, 0xb0, 0xc2, 0x70, 0x14, + 0x81, 0x8c, 0x16, 0x20, 0x6d, 0x1b, 0x4d, 0xab, 0x82, 0xcb, 0x15, 0xa3, 0x8a, 0xcb, 0x9a, 0xbe, + 0x65, 0x64, 0x92, 0x94, 0xc1, 0x74, 0xab, 0x22, 0x14, 0x71, 0xce, 0xa8, 0xe2, 0x05, 0x7d, 0xcb, + 0x50, 0x46, 0xed, 0x40, 0x19, 0x1d, 0x86, 0x41, 0x7b, 0x4f, 0x77, 0xd4, 0xdd, 0x4c, 0x8a, 0x7a, + 0x08, 0x2f, 0xc9, 0xbf, 0x31, 0x08, 0x63, 0xfd, 0xb8, 0xd8, 0x79, 0x88, 0x6f, 0x11, 0x2d, 0x33, + 0x91, 0xfd, 0xd8, 0x80, 0xd1, 0x04, 0x8d, 0x38, 0x78, 0x40, 0x23, 0xe6, 0x61, 0x58, 0xc7, 0xb6, + 0x83, 0xab, 0xcc, 0x23, 0xa2, 0x7d, 0xfa, 0x14, 0x30, 0xa2, 0x56, 0x97, 0x8a, 0x1d, 0xc8, 0xa5, + 0x9e, 0x87, 0x31, 0x57, 0xa4, 0xb2, 0xa5, 0xea, 0x35, 0xe1, 0x9b, 0xa7, 0x7b, 0x49, 0x32, 0x5b, + 0x12, 0x74, 0x0a, 0x21, 0x53, 0x46, 0x71, 0xa0, 0x8c, 0x8a, 0x00, 0x86, 0x8e, 0x8d, 0xad, 0x72, + 0x15, 0x57, 0xea, 0x99, 0x44, 0x07, 0x2b, 0xad, 0x10, 0x94, 0x16, 0x2b, 0x19, 0x0c, 0x5a, 0xa9, + 0xa3, 0xa7, 0x3c, 0x57, 0x1b, 0xea, 0xe0, 0x29, 0x4b, 0x6c, 0x90, 0xb5, 0x78, 0xdb, 0x06, 0x8c, + 0x5a, 0x98, 0xf8, 0x3d, 0xae, 0x72, 0xcd, 0x92, 0x54, 0x88, 0xd9, 0x9e, 0x9a, 0x29, 0x9c, 0x8c, + 0x29, 0x36, 0x62, 0xf9, 0x8b, 0xe8, 0x6e, 0x70, 0x01, 0x65, 0xea, 0x56, 0x40, 0xa3, 0x50, 0x4a, + 0x00, 0x97, 0xd5, 0x06, 0xce, 0x5e, 0x83, 0xd1, 0xa0, 0x79, 0xd0, 0x24, 0xc4, 0x6d, 0x47, 0xb5, + 0x1c, 0xea, 0x85, 0x71, 0x85, 0x15, 0x50, 0x1a, 0xa2, 0x58, 0xaf, 0xd2, 0x28, 0x17, 0x57, 0xc8, + 0x4f, 0xf4, 0x16, 0x4f, 0xe1, 0x28, 0x55, 0xf8, 0xbe, 0xd6, 0x1e, 0x0d, 0x70, 0x0e, 0xeb, 0x9d, + 0x7d, 0x02, 0x46, 0x02, 0x0a, 0xf4, 0xdb, 0xb4, 0xfc, 0x4e, 0x38, 0xd4, 0x96, 0x35, 0x7a, 0x1e, + 0x26, 0x9b, 0xba, 0xa6, 0x3b, 0xd8, 0x32, 0x2d, 0x4c, 0x3c, 0x96, 0x35, 0x95, 0xf9, 0x4f, 0x43, + 0x1d, 0x7c, 0x6e, 0xc3, 0x8f, 0xcd, 0xb8, 0x28, 0x13, 0xcd, 0x56, 0xe0, 0xa9, 0x64, 0xe2, 0xf5, + 0xa1, 0xf4, 0xcb, 0x2f, 0xbf, 0xfc, 0x72, 0x44, 0xfe, 0xea, 0x20, 0x4c, 0xb6, 0x1b, 0x33, 0x6d, + 0x87, 0xef, 0x61, 0x18, 0xd4, 0x9b, 0x8d, 0x4d, 0x6c, 0x51, 0x23, 0xc5, 0x15, 0x5e, 0x42, 0x79, + 0x88, 0xd7, 0xd5, 0x4d, 0x5c, 0xcf, 0xc4, 0x66, 0xa4, 0x93, 0xa3, 0x67, 0x1e, 0xec, 0x6b, 0x54, + 0xce, 0x2e, 0x12, 0x12, 0x85, 0x51, 0xa2, 0x37, 0x43, 0x8c, 0x87, 0x68, 0xc2, 0xe1, 0x54, 0x7f, + 0x1c, 0xc8, 0x58, 0x52, 0x28, 0x1d, 0x3a, 0x06, 0x49, 0xf2, 0x97, 0xf9, 0xc6, 0x20, 0x95, 0x39, + 0x41, 0x00, 0xc4, 0x2f, 0x50, 0x16, 0x12, 0x74, 0x98, 0x54, 0xb1, 0x98, 0xda, 0xdc, 0x32, 0x71, + 0xac, 0x2a, 0xde, 0x52, 0x9b, 0x75, 0xa7, 0x7c, 0x45, 0xad, 0x37, 0x31, 0x75, 0xf8, 0xa4, 0x92, + 0xe2, 0xc0, 0xcb, 0x04, 0x86, 0xa6, 0x61, 0x98, 0x8d, 0x2a, 0x4d, 0xaf, 0xe2, 0x5d, 0x1a, 0x3d, + 0xe3, 0x0a, 0x1b, 0x68, 0x0b, 0x04, 0x42, 0x9a, 0x7f, 0xd1, 0x36, 0x74, 0xe1, 0x9a, 0xb4, 0x09, + 0x02, 0xa0, 0xcd, 0x3f, 0x11, 0x0e, 0xdc, 0x27, 0xda, 0xab, 0xd7, 0x32, 0x96, 0xee, 0x87, 0x31, + 0x8a, 0xf1, 0x18, 0xef, 0x7a, 0xb5, 0x9e, 0x19, 0x9f, 0x91, 0x4e, 0x26, 0x94, 0x51, 0x06, 0x5e, + 0xe1, 0x50, 0xf9, 0xcb, 0x11, 0x88, 0xd1, 0xc0, 0x32, 0x06, 0xc3, 0xeb, 0x6f, 0x5d, 0x2d, 0x95, + 0x8b, 0x2b, 0x1b, 0x85, 0xc5, 0x52, 0x5a, 0x42, 0xa3, 0x00, 0x14, 0x70, 0x61, 0x71, 0x25, 0xbf, + 0x9e, 0x8e, 0xb8, 0xe5, 0x85, 0xe5, 0xf5, 0x73, 0x8f, 0xa7, 0xa3, 0x2e, 0xc1, 0x06, 0x03, 0xc4, + 0xfc, 0x08, 0x8f, 0x9d, 0x49, 0xc7, 0x51, 0x1a, 0x52, 0x8c, 0xc1, 0xc2, 0xf3, 0xa5, 0xe2, 0xb9, + 0xc7, 0xd3, 0x83, 0x41, 0xc8, 0x63, 0x67, 0xd2, 0x43, 0x68, 0x04, 0x92, 0x14, 0x52, 0x58, 0x59, + 0x59, 0x4c, 0x27, 0x5c, 0x9e, 0x6b, 0xeb, 0xca, 0xc2, 0xf2, 0x7c, 0x3a, 0xe9, 0xf2, 0x9c, 0x57, + 0x56, 0x36, 0x56, 0xd3, 0xe0, 0x72, 0x58, 0x2a, 0xad, 0xad, 0xe5, 0xe7, 0x4b, 0xe9, 0x61, 0x17, + 0xa3, 0xf0, 0xd6, 0xf5, 0xd2, 0x5a, 0x3a, 0x15, 0x10, 0xeb, 0xb1, 0x33, 0xe9, 0x11, 0xb7, 0x89, + 0xd2, 0xf2, 0xc6, 0x52, 0x7a, 0x14, 0x8d, 0xc3, 0x08, 0x6b, 0x42, 0x08, 0x31, 0x16, 0x02, 0x9d, + 0x7b, 0x3c, 0x9d, 0xf6, 0x04, 0x61, 0x5c, 0xc6, 0x03, 0x80, 0x73, 0x8f, 0xa7, 0x91, 0x3c, 0x07, + 0x71, 0xea, 0x86, 0x08, 0xc1, 0xe8, 0x62, 0xbe, 0x50, 0x5a, 0x2c, 0xaf, 0xac, 0xae, 0x2f, 0xac, + 0x2c, 0xe7, 0x17, 0xd3, 0x92, 0x07, 0x53, 0x4a, 0xcf, 0x6e, 0x2c, 0x28, 0xa5, 0x62, 0x3a, 0xe2, + 0x87, 0xad, 0x96, 0xf2, 0xeb, 0xa5, 0x62, 0x3a, 0x2a, 0x57, 0x60, 0xb2, 0x5d, 0x40, 0x6d, 0x3b, + 0x84, 0x7c, 0xbe, 0x10, 0xe9, 0xe0, 0x0b, 0x94, 0x57, 0xd8, 0x17, 0xe4, 0xef, 0x44, 0x60, 0xa2, + 0xcd, 0xa4, 0xd2, 0xb6, 0x91, 0xa7, 0x21, 0xce, 0x7c, 0x99, 0x4d, 0xb3, 0x0f, 0xb4, 0x9d, 0x9d, + 0xa8, 0x67, 0xb7, 0x4c, 0xb5, 0x94, 0xce, 0x9f, 0x6a, 0x44, 0x3b, 0xa4, 0x1a, 0x84, 0x45, 0x8b, + 0xc3, 0xfe, 0x6c, 0x4b, 0xf0, 0x67, 0xf3, 0xe3, 0xb9, 0x7e, 0xe6, 0x47, 0x0a, 0xdb, 0xdf, 0x24, + 0x10, 0x6f, 0x33, 0x09, 0x9c, 0x87, 0xf1, 0x16, 0x46, 0x7d, 0x07, 0xe3, 0xf7, 0x4a, 0x90, 0xe9, + 0x64, 0x9c, 0x1e, 0x21, 0x31, 0x12, 0x08, 0x89, 0xe7, 0xc3, 0x16, 0xbc, 0xab, 0x73, 0x27, 0xb4, + 0xf4, 0xf5, 0x67, 0x24, 0x38, 0xdc, 0x3e, 0xa5, 0x6c, 0x2b, 0xc3, 0x9b, 0x61, 0xb0, 0x81, 0x9d, + 0x6d, 0x43, 0xa4, 0x55, 0xf7, 0xb5, 0x99, 0xac, 0x49, 0x75, 0xb8, 0xb3, 0x39, 0x95, 0x7f, 0xb6, + 0x8f, 0x76, 0xca, 0x0b, 0x99, 0x34, 0x2d, 0x92, 0x7e, 0x30, 0x02, 0x87, 0xda, 0x32, 0x6f, 0x2b, + 0xe8, 0x09, 0x00, 0x4d, 0x37, 0x9b, 0x0e, 0x4b, 0x9d, 0x58, 0x24, 0x4e, 0x52, 0x08, 0x0d, 0x5e, + 0x24, 0xca, 0x36, 0x1d, 0xb7, 0x3e, 0x4a, 0xeb, 0x81, 0x81, 0x28, 0xc2, 0x93, 0x9e, 0xa0, 0x31, + 0x2a, 0xe8, 0x54, 0x07, 0x4d, 0x5b, 0x1c, 0xf3, 0x11, 0x48, 0x57, 0xea, 0x1a, 0xd6, 0x9d, 0xb2, + 0xed, 0x58, 0x58, 0x6d, 0x68, 0x7a, 0x8d, 0x4e, 0x35, 0x89, 0x5c, 0x7c, 0x4b, 0xad, 0xdb, 0x58, + 0x19, 0x63, 0xd5, 0x6b, 0xa2, 0x96, 0x50, 0x50, 0x07, 0xb2, 0x7c, 0x14, 0x83, 0x01, 0x0a, 0x56, + 0xed, 0x52, 0xc8, 0x1f, 0x4e, 0xc2, 0xb0, 0x2f, 0x01, 0x47, 0x77, 0x41, 0xea, 0x45, 0xf5, 0x8a, + 0x5a, 0x16, 0x8b, 0x2a, 0x66, 0x89, 0x61, 0x02, 0x5b, 0xe5, 0x0b, 0xab, 0x47, 0x60, 0x92, 0xa2, + 0x18, 0x4d, 0x07, 0x5b, 0xe5, 0x4a, 0x5d, 0xb5, 0x6d, 0x6a, 0xb4, 0x04, 0x45, 0x45, 0xa4, 0x6e, + 0x85, 0x54, 0xcd, 0x89, 0x1a, 0x74, 0x16, 0x26, 0x28, 0x45, 0xa3, 0x59, 0x77, 0x34, 0xb3, 0x8e, + 0xcb, 0x64, 0x99, 0x67, 0xd3, 0x29, 0xc7, 0x95, 0x6c, 0x9c, 0x60, 0x2c, 0x71, 0x04, 0x22, 0x91, + 0x8d, 0x8a, 0x70, 0x82, 0x92, 0xd5, 0xb0, 0x8e, 0x2d, 0xd5, 0xc1, 0x65, 0xfc, 0x52, 0x53, 0xad, + 0xdb, 0x65, 0x55, 0xaf, 0x96, 0xb7, 0x55, 0x7b, 0x3b, 0x33, 0x49, 0x18, 0x14, 0x22, 0x19, 0x49, + 0x39, 0x4a, 0x10, 0xe7, 0x39, 0x5e, 0x89, 0xa2, 0xe5, 0xf5, 0xea, 0x45, 0xd5, 0xde, 0x46, 0x39, + 0x38, 0x4c, 0xb9, 0xd8, 0x8e, 0xa5, 0xe9, 0xb5, 0x72, 0x65, 0x1b, 0x57, 0x76, 0xca, 0x4d, 0x67, + 0xeb, 0xc9, 0xcc, 0x31, 0x7f, 0xfb, 0x54, 0xc2, 0x35, 0x8a, 0x33, 0x47, 0x50, 0x36, 0x9c, 0xad, + 0x27, 0xd1, 0x1a, 0xa4, 0x48, 0x67, 0x34, 0xb4, 0x6b, 0xb8, 0xbc, 0x65, 0x58, 0x74, 0x0e, 0x1d, + 0x6d, 0x13, 0x9a, 0x7c, 0x16, 0x9c, 0x5d, 0xe1, 0x04, 0x4b, 0x46, 0x15, 0xe7, 0xe2, 0x6b, 0xab, + 0xa5, 0x52, 0x51, 0x19, 0x16, 0x5c, 0x2e, 0x18, 0x16, 0x71, 0xa8, 0x9a, 0xe1, 0x1a, 0x78, 0x98, + 0x39, 0x54, 0xcd, 0x10, 0xe6, 0x3d, 0x0b, 0x13, 0x95, 0x0a, 0xd3, 0x59, 0xab, 0x94, 0xf9, 0x62, + 0xcc, 0xce, 0xa4, 0x03, 0xc6, 0xaa, 0x54, 0xe6, 0x19, 0x02, 0xf7, 0x71, 0x1b, 0x3d, 0x05, 0x87, + 0x3c, 0x63, 0xf9, 0x09, 0xc7, 0x5b, 0xb4, 0x0c, 0x93, 0x9e, 0x85, 0x09, 0x73, 0xaf, 0x95, 0x10, + 0x05, 0x5a, 0x34, 0xf7, 0xc2, 0x64, 0x4f, 0xc0, 0xa4, 0xb9, 0x6d, 0xb6, 0xd2, 0x9d, 0xf2, 0xd3, + 0x21, 0x73, 0xdb, 0x0c, 0x13, 0xde, 0x4b, 0x57, 0xe6, 0x16, 0xae, 0xa8, 0x0e, 0xae, 0x66, 0x8e, + 0xf8, 0xd1, 0x7d, 0x15, 0x68, 0x16, 0xd2, 0x95, 0x4a, 0x19, 0xeb, 0xea, 0x66, 0x1d, 0x97, 0x55, + 0x0b, 0xeb, 0xaa, 0x9d, 0x99, 0xa6, 0xc8, 0x31, 0xc7, 0x6a, 0x62, 0x65, 0xb4, 0x52, 0x29, 0xd1, + 0xca, 0x3c, 0xad, 0x43, 0xa7, 0x60, 0xdc, 0xd8, 0x7c, 0xb1, 0xc2, 0x3c, 0xb2, 0x6c, 0x5a, 0x78, + 0x4b, 0xdb, 0xcd, 0xdc, 0x43, 0xcd, 0x3b, 0x46, 0x2a, 0xa8, 0x3f, 0xae, 0x52, 0x30, 0x7a, 0x00, + 0xd2, 0x15, 0x7b, 0x5b, 0xb5, 0x4c, 0x1a, 0x92, 0x6d, 0x53, 0xad, 0xe0, 0xcc, 0xbd, 0x0c, 0x95, + 0xc1, 0x97, 0x05, 0x98, 0x8c, 0x08, 0xfb, 0xaa, 0xb6, 0xe5, 0x08, 0x8e, 0xf7, 0xb3, 0x11, 0x41, + 0x61, 0x9c, 0xdb, 0x49, 0x48, 0x13, 0x4b, 0x04, 0x1a, 0x3e, 0x49, 0xd1, 0x46, 0xcd, 0x6d, 0xd3, + 0xdf, 0xee, 0xdd, 0x30, 0x42, 0x30, 0xbd, 0x46, 0x1f, 0x60, 0x89, 0x9b, 0xb9, 0xed, 0x6b, 0xf1, + 0x71, 0x38, 0x4c, 0x90, 0x1a, 0xd8, 0x51, 0xab, 0xaa, 0xa3, 0xfa, 0xb0, 0x1f, 0xa2, 0xd8, 0xc4, + 0xec, 0x4b, 0xbc, 0x32, 0x20, 0xa7, 0xd5, 0xdc, 0xdc, 0x73, 0x1d, 0xeb, 0x61, 0x26, 0x27, 0x81, + 0x09, 0xd7, 0xba, 0x63, 0xc9, 0xb9, 0x9c, 0x83, 0x94, 0xdf, 0xef, 0x51, 0x12, 0x98, 0xe7, 0xa7, + 0x25, 0x92, 0x04, 0xcd, 0xad, 0x14, 0x49, 0xfa, 0xf2, 0x42, 0x29, 0x1d, 0x21, 0x69, 0xd4, 0xe2, + 0xc2, 0x7a, 0xa9, 0xac, 0x6c, 0x2c, 0xaf, 0x2f, 0x2c, 0x95, 0xd2, 0x51, 0x5f, 0x62, 0xff, 0x4c, + 0x2c, 0x71, 0x5f, 0xfa, 0x7e, 0xf9, 0x5b, 0x11, 0x18, 0x0d, 0xae, 0xd4, 0xd0, 0xcf, 0xc0, 0x11, + 0xb1, 0xad, 0x62, 0x63, 0xa7, 0x7c, 0x55, 0xb3, 0xe8, 0x80, 0x6c, 0xa8, 0x6c, 0x72, 0x74, 0xfd, + 0x67, 0x92, 0x63, 0xad, 0x61, 0xe7, 0x39, 0xcd, 0x22, 0xc3, 0xad, 0xa1, 0x3a, 0x68, 0x11, 0xa6, + 0x75, 0xa3, 0x6c, 0x3b, 0xaa, 0x5e, 0x55, 0xad, 0x6a, 0xd9, 0xdb, 0xd0, 0x2a, 0xab, 0x95, 0x0a, + 0xb6, 0x6d, 0x83, 0x4d, 0x84, 0x2e, 0x97, 0xe3, 0xba, 0xb1, 0xc6, 0x91, 0xbd, 0x19, 0x22, 0xcf, + 0x51, 0x43, 0xee, 0x1b, 0xed, 0xe4, 0xbe, 0xc7, 0x20, 0xd9, 0x50, 0xcd, 0x32, 0xd6, 0x1d, 0x6b, + 0x8f, 0xe6, 0xe7, 0x09, 0x25, 0xd1, 0x50, 0xcd, 0x12, 0x29, 0xff, 0x58, 0x96, 0x49, 0xcf, 0xc4, + 0x12, 0x89, 0x74, 0xf2, 0x99, 0x58, 0x22, 0x99, 0x06, 0xf9, 0xb5, 0x28, 0xa4, 0xfc, 0xf9, 0x3a, + 0x59, 0xfe, 0x54, 0xe8, 0x8c, 0x25, 0xd1, 0x98, 0x76, 0x77, 0xd7, 0xec, 0x7e, 0x76, 0x8e, 0x4c, + 0x65, 0xb9, 0x41, 0x96, 0x1c, 0x2b, 0x8c, 0x92, 0xa4, 0x11, 0xc4, 0xd9, 0x30, 0x4b, 0x46, 0x12, + 0x0a, 0x2f, 0xa1, 0x79, 0x18, 0x7c, 0xd1, 0xa6, 0xbc, 0x07, 0x29, 0xef, 0x7b, 0xba, 0xf3, 0x7e, + 0x66, 0x8d, 0x32, 0x4f, 0x3e, 0xb3, 0x56, 0x5e, 0x5e, 0x51, 0x96, 0xf2, 0x8b, 0x0a, 0x27, 0x47, + 0x47, 0x21, 0x56, 0x57, 0xaf, 0xed, 0x05, 0x27, 0x3d, 0x0a, 0xea, 0xb7, 0x13, 0x8e, 0x42, 0xec, + 0x2a, 0x56, 0x77, 0x82, 0x53, 0x0d, 0x05, 0xdd, 0xc1, 0xc1, 0x70, 0x1a, 0xe2, 0xd4, 0x5e, 0x08, + 0x80, 0x5b, 0x2c, 0x3d, 0x80, 0x12, 0x10, 0x9b, 0x5b, 0x51, 0xc8, 0x80, 0x48, 0x43, 0x8a, 0x41, + 0xcb, 0xab, 0x0b, 0xa5, 0xb9, 0x52, 0x3a, 0x22, 0x9f, 0x85, 0x41, 0x66, 0x04, 0x32, 0x58, 0x5c, + 0x33, 0xa4, 0x07, 0x78, 0x91, 0xf3, 0x90, 0x44, 0xed, 0xc6, 0x52, 0xa1, 0xa4, 0xa4, 0x23, 0xc1, + 0xae, 0x8e, 0xa5, 0xe3, 0xb2, 0x0d, 0x29, 0x7f, 0x1e, 0xfe, 0xe3, 0x59, 0x8c, 0x7f, 0x45, 0x82, + 0x61, 0x5f, 0x5e, 0x4d, 0x12, 0x22, 0xb5, 0x5e, 0x37, 0xae, 0x96, 0xd5, 0xba, 0xa6, 0xda, 0xdc, + 0x35, 0x80, 0x82, 0xf2, 0x04, 0xd2, 0x6f, 0xd7, 0xfd, 0x98, 0x86, 0x48, 0x3c, 0x3d, 0x28, 0x7f, + 0x52, 0x82, 0x74, 0x38, 0xb1, 0x0d, 0x89, 0x29, 0xfd, 0x24, 0xc5, 0x94, 0x3f, 0x21, 0xc1, 0x68, + 0x30, 0x9b, 0x0d, 0x89, 0x77, 0xd7, 0x4f, 0x54, 0xbc, 0x3f, 0x8c, 0xc0, 0x48, 0x20, 0x87, 0xed, + 0x57, 0xba, 0x97, 0x60, 0x5c, 0xab, 0xe2, 0x86, 0x69, 0x38, 0x58, 0xaf, 0xec, 0x95, 0xeb, 0xf8, + 0x0a, 0xae, 0x67, 0x64, 0x1a, 0x34, 0x4e, 0x77, 0xcf, 0x92, 0x67, 0x17, 0x3c, 0xba, 0x45, 0x42, + 0x96, 0x9b, 0x58, 0x28, 0x96, 0x96, 0x56, 0x57, 0xd6, 0x4b, 0xcb, 0x73, 0x6f, 0x2d, 0x6f, 0x2c, + 0x5f, 0x5a, 0x5e, 0x79, 0x6e, 0x59, 0x49, 0x6b, 0x21, 0xb4, 0x3b, 0x38, 0xec, 0x57, 0x21, 0x1d, + 0x16, 0x0a, 0x1d, 0x81, 0x76, 0x62, 0xa5, 0x07, 0xd0, 0x04, 0x8c, 0x2d, 0xaf, 0x94, 0xd7, 0x16, + 0x8a, 0xa5, 0x72, 0xe9, 0xc2, 0x85, 0xd2, 0xdc, 0xfa, 0x1a, 0xdb, 0xf7, 0x70, 0xb1, 0xd7, 0x03, + 0x03, 0x5c, 0x7e, 0x25, 0x0a, 0x13, 0x6d, 0x24, 0x41, 0x79, 0xbe, 0x62, 0x61, 0x8b, 0xa8, 0x87, + 0xfb, 0x91, 0x7e, 0x96, 0xe4, 0x0c, 0xab, 0xaa, 0xe5, 0xf0, 0x05, 0xce, 0x03, 0x40, 0xac, 0xa4, + 0x3b, 0xda, 0x96, 0x86, 0x2d, 0xbe, 0x9f, 0xc4, 0x96, 0x31, 0x63, 0x1e, 0x9c, 0x6d, 0x29, 0x3d, + 0x04, 0xc8, 0x34, 0x6c, 0xcd, 0xd1, 0xae, 0xe0, 0xb2, 0xa6, 0x8b, 0xcd, 0x27, 0xb2, 0xac, 0x89, + 0x29, 0x69, 0x51, 0xb3, 0xa0, 0x3b, 0x2e, 0xb6, 0x8e, 0x6b, 0x6a, 0x08, 0x9b, 0x04, 0xf3, 0xa8, + 0x92, 0x16, 0x35, 0x2e, 0xf6, 0x5d, 0x90, 0xaa, 0x1a, 0x4d, 0x92, 0xeb, 0x31, 0x3c, 0x32, 0x77, + 0x48, 0xca, 0x30, 0x83, 0xb9, 0x28, 0x3c, 0x8b, 0xf7, 0x76, 0xbd, 0x52, 0xca, 0x30, 0x83, 0x31, + 0x94, 0xfb, 0x61, 0x4c, 0xad, 0xd5, 0x2c, 0xc2, 0x5c, 0x30, 0x62, 0xeb, 0x92, 0x51, 0x17, 0x4c, + 0x11, 0xb3, 0xcf, 0x40, 0x42, 0xd8, 0x81, 0x4c, 0xd5, 0xc4, 0x12, 0x65, 0x93, 0x2d, 0xb6, 0x23, + 0x27, 0x93, 0x4a, 0x42, 0x17, 0x95, 0x77, 0x41, 0x4a, 0xb3, 0xcb, 0xde, 0x26, 0x7e, 0x64, 0x26, + 0x72, 0x32, 0xa1, 0x0c, 0x6b, 0xb6, 0xbb, 0x01, 0x2a, 0x7f, 0x26, 0x02, 0xa3, 0xc1, 0x43, 0x08, + 0x54, 0x84, 0x44, 0xdd, 0xa8, 0xa8, 0xd4, 0xb5, 0xd8, 0x09, 0xd8, 0xc9, 0x1e, 0xe7, 0x16, 0xb3, + 0x8b, 0x1c, 0x5f, 0x71, 0x29, 0xb3, 0xbf, 0x23, 0x41, 0x42, 0x80, 0xd1, 0x61, 0x88, 0x99, 0xaa, + 0xb3, 0x4d, 0xd9, 0xc5, 0x0b, 0x91, 0xb4, 0xa4, 0xd0, 0x32, 0x81, 0xdb, 0xa6, 0xaa, 0x53, 0x17, + 0xe0, 0x70, 0x52, 0x26, 0xfd, 0x5a, 0xc7, 0x6a, 0x95, 0x2e, 0x7a, 0x8c, 0x46, 0x03, 0xeb, 0x8e, + 0x2d, 0xfa, 0x95, 0xc3, 0xe7, 0x38, 0x18, 0x3d, 0x08, 0xe3, 0x8e, 0xa5, 0x6a, 0xf5, 0x00, 0x6e, + 0x8c, 0xe2, 0xa6, 0x45, 0x85, 0x8b, 0x9c, 0x83, 0xa3, 0x82, 0x6f, 0x15, 0x3b, 0x6a, 0x65, 0x1b, + 0x57, 0x3d, 0xa2, 0x41, 0xba, 0xb9, 0x71, 0x84, 0x23, 0x14, 0x79, 0xbd, 0xa0, 0x95, 0xbf, 0x25, + 0xc1, 0xb8, 0x58, 0xa6, 0x55, 0x5d, 0x63, 0x2d, 0x01, 0xa8, 0xba, 0x6e, 0x38, 0x7e, 0x73, 0xb5, + 0xba, 0x72, 0x0b, 0xdd, 0x6c, 0xde, 0x25, 0x52, 0x7c, 0x0c, 0xb2, 0x0d, 0x00, 0xaf, 0xa6, 0xa3, + 0xd9, 0xa6, 0x61, 0x98, 0x9f, 0x30, 0xd1, 0x63, 0x4a, 0xb6, 0xb0, 0x07, 0x06, 0x22, 0xeb, 0x39, + 0x34, 0x09, 0xf1, 0x4d, 0x5c, 0xd3, 0x74, 0xbe, 0x6f, 0xcc, 0x0a, 0x62, 0xfb, 0x25, 0xe6, 0x6e, + 0xbf, 0x14, 0xfe, 0x32, 0x4c, 0x54, 0x8c, 0x46, 0x58, 0xdc, 0x42, 0x3a, 0xb4, 0xb9, 0x60, 0x5f, + 0x94, 0x5e, 0x78, 0x98, 0x23, 0xd5, 0x8c, 0xba, 0xaa, 0xd7, 0x66, 0x0d, 0xab, 0xe6, 0x1d, 0xb3, + 0x92, 0x8c, 0xc7, 0xf6, 0x1d, 0xb6, 0x9a, 0x9b, 0x7f, 0x26, 0x49, 0xbf, 0x14, 0x89, 0xce, 0xaf, + 0x16, 0x3e, 0x1b, 0xc9, 0xce, 0x33, 0xc2, 0x55, 0x61, 0x0c, 0x05, 0x6f, 0xd5, 0x71, 0x85, 0x28, + 0x08, 0xdf, 0x7b, 0x10, 0x26, 0x6b, 0x46, 0xcd, 0xa0, 0x9c, 0x4e, 0x93, 0x5f, 0xfc, 0x9c, 0x36, + 0xe9, 0x42, 0xb3, 0x3d, 0x0f, 0x75, 0x73, 0xcb, 0x30, 0xc1, 0x91, 0xcb, 0xf4, 0xa0, 0x88, 0x2d, + 0x63, 0x50, 0xd7, 0x3d, 0xb4, 0xcc, 0x17, 0xbe, 0x4b, 0xa7, 0x6f, 0x65, 0x9c, 0x93, 0x92, 0x3a, + 0xb6, 0xd2, 0xc9, 0x29, 0x70, 0x28, 0xc0, 0x8f, 0x0d, 0x52, 0x6c, 0xf5, 0xe0, 0xf8, 0x9b, 0x9c, + 0xe3, 0x84, 0x8f, 0xe3, 0x1a, 0x27, 0xcd, 0xcd, 0xc1, 0xc8, 0x7e, 0x78, 0xfd, 0x0b, 0xce, 0x2b, + 0x85, 0xfd, 0x4c, 0xe6, 0x61, 0x8c, 0x32, 0xa9, 0x34, 0x6d, 0xc7, 0x68, 0xd0, 0x08, 0xd8, 0x9d, + 0xcd, 0x6f, 0x7d, 0x97, 0x8d, 0x9a, 0x51, 0x42, 0x36, 0xe7, 0x52, 0xe5, 0x72, 0x40, 0xcf, 0xc6, + 0xaa, 0xb8, 0x52, 0xef, 0xc1, 0xe1, 0x6b, 0x5c, 0x10, 0x17, 0x3f, 0x77, 0x19, 0x26, 0xc9, 0x6f, + 0x1a, 0xa0, 0xfc, 0x92, 0xf4, 0xde, 0x70, 0xcb, 0x7c, 0xeb, 0xbd, 0x6c, 0x60, 0x4e, 0xb8, 0x0c, + 0x7c, 0x32, 0xf9, 0x7a, 0xb1, 0x86, 0x1d, 0x07, 0x5b, 0x76, 0x59, 0xad, 0xb7, 0x13, 0xcf, 0xb7, + 0x63, 0x91, 0xf9, 0xd8, 0xf7, 0x83, 0xbd, 0x38, 0xcf, 0x28, 0xf3, 0xf5, 0x7a, 0x6e, 0x03, 0x8e, + 0xb4, 0xf1, 0x8a, 0x3e, 0x78, 0xbe, 0xc2, 0x79, 0x4e, 0xb6, 0x78, 0x06, 0x61, 0xbb, 0x0a, 0x02, + 0xee, 0xf6, 0x65, 0x1f, 0x3c, 0x3f, 0xce, 0x79, 0x22, 0x4e, 0x2b, 0xba, 0x94, 0x70, 0x7c, 0x06, + 0xc6, 0xaf, 0x60, 0x6b, 0xd3, 0xb0, 0xf9, 0x2e, 0x51, 0x1f, 0xec, 0x3e, 0xc1, 0xd9, 0x8d, 0x71, + 0x42, 0xba, 0x6d, 0x44, 0x78, 0x3d, 0x05, 0x89, 0x2d, 0xb5, 0x82, 0xfb, 0x60, 0x71, 0x83, 0xb3, + 0x18, 0x22, 0xf8, 0x84, 0x34, 0x0f, 0xa9, 0x9a, 0xc1, 0xe7, 0xa8, 0xde, 0xe4, 0x9f, 0xe4, 0xe4, + 0xc3, 0x82, 0x86, 0xb3, 0x30, 0x0d, 0xb3, 0x59, 0x27, 0x13, 0x58, 0x6f, 0x16, 0x7f, 0x4b, 0xb0, + 0x10, 0x34, 0x9c, 0xc5, 0x3e, 0xcc, 0xfa, 0xaa, 0x60, 0x61, 0xfb, 0xec, 0xf9, 0x34, 0x0c, 0x1b, + 0x7a, 0x7d, 0xcf, 0xd0, 0xfb, 0x11, 0xe2, 0x53, 0x9c, 0x03, 0x70, 0x12, 0xc2, 0xe0, 0x3c, 0x24, + 0xfb, 0xed, 0x88, 0xbf, 0xfd, 0x7d, 0x31, 0x3c, 0x44, 0x0f, 0xcc, 0xc3, 0x98, 0x08, 0x50, 0x9a, + 0xa1, 0xf7, 0xc1, 0xe2, 0xef, 0x70, 0x16, 0xa3, 0x3e, 0x32, 0xae, 0x86, 0x83, 0x6d, 0xa7, 0x86, + 0xfb, 0x61, 0xf2, 0x19, 0xa1, 0x06, 0x27, 0xe1, 0xa6, 0xdc, 0xc4, 0x7a, 0x65, 0xbb, 0x3f, 0x0e, + 0xbf, 0x22, 0x4c, 0x29, 0x68, 0x08, 0x8b, 0x39, 0x18, 0x69, 0xa8, 0x96, 0xbd, 0xad, 0xd6, 0xfb, + 0xea, 0x8e, 0xbf, 0xcb, 0x79, 0xa4, 0x5c, 0x22, 0x6e, 0x91, 0xa6, 0xbe, 0x1f, 0x36, 0x9f, 0x15, + 0x16, 0xf1, 0x91, 0xf1, 0xa1, 0x67, 0x3b, 0x74, 0x4b, 0x6d, 0x3f, 0xdc, 0x7e, 0x55, 0x0c, 0x3d, + 0x46, 0xbb, 0xe4, 0xe7, 0x78, 0x1e, 0x92, 0xb6, 0x76, 0xad, 0x2f, 0x36, 0x9f, 0x13, 0x3d, 0x4d, + 0x09, 0x08, 0xf1, 0x5b, 0xe1, 0x68, 0xdb, 0x69, 0xa2, 0x0f, 0x66, 0x7f, 0x8f, 0x33, 0x3b, 0xdc, + 0x66, 0xaa, 0xe0, 0x21, 0x61, 0xbf, 0x2c, 0xff, 0xbe, 0x08, 0x09, 0x38, 0xc4, 0x6b, 0x95, 0xac, + 0x1a, 0x6c, 0x75, 0x6b, 0x7f, 0x56, 0xfb, 0x35, 0x61, 0x35, 0x46, 0x1b, 0xb0, 0xda, 0x3a, 0x1c, + 0xe6, 0x1c, 0xf7, 0xd7, 0xaf, 0x9f, 0x17, 0x81, 0x95, 0x51, 0x6f, 0x04, 0x7b, 0xf7, 0x6d, 0x90, + 0x75, 0xcd, 0x29, 0xd2, 0x53, 0xbb, 0xdc, 0x50, 0xcd, 0x3e, 0x38, 0x7f, 0x81, 0x73, 0x16, 0x11, + 0xdf, 0xcd, 0x6f, 0xed, 0x25, 0xd5, 0x24, 0xcc, 0x9f, 0x87, 0x8c, 0x60, 0xde, 0xd4, 0x2d, 0x5c, + 0x31, 0x6a, 0xba, 0x76, 0x0d, 0x57, 0xfb, 0x60, 0xfd, 0xeb, 0xa1, 0xae, 0xda, 0xf0, 0x91, 0x13, + 0xce, 0x0b, 0x90, 0x76, 0x73, 0x95, 0xb2, 0xd6, 0x30, 0x0d, 0xcb, 0xe9, 0xc1, 0xf1, 0x8b, 0xa2, + 0xa7, 0x5c, 0xba, 0x05, 0x4a, 0x96, 0x2b, 0x01, 0x3b, 0x67, 0xee, 0xd7, 0x25, 0xbf, 0xc4, 0x19, + 0x8d, 0x78, 0x54, 0x3c, 0x70, 0x54, 0x8c, 0x86, 0xa9, 0x5a, 0xfd, 0xc4, 0xbf, 0x7f, 0x20, 0x02, + 0x07, 0x27, 0xe1, 0x81, 0x83, 0x64, 0x74, 0x64, 0xb6, 0xef, 0x83, 0xc3, 0x97, 0x45, 0xe0, 0x10, + 0x34, 0x9c, 0x85, 0x48, 0x18, 0xfa, 0x60, 0xf1, 0x0f, 0x05, 0x0b, 0x41, 0x43, 0x58, 0x3c, 0xeb, + 0x4d, 0xb4, 0x16, 0xae, 0x69, 0xb6, 0x63, 0xb1, 0xa4, 0xb8, 0x3b, 0xab, 0x7f, 0xf4, 0xfd, 0x60, + 0x12, 0xa6, 0xf8, 0x48, 0x49, 0x24, 0xe2, 0x9b, 0xac, 0x74, 0xcd, 0xd4, 0x5b, 0xb0, 0xdf, 0x10, + 0x91, 0xc8, 0x47, 0x46, 0x64, 0xf3, 0x65, 0x88, 0xc4, 0xec, 0x15, 0xb2, 0x52, 0xe8, 0x83, 0xdd, + 0x3f, 0x0e, 0x09, 0xb7, 0x26, 0x68, 0x09, 0x4f, 0x5f, 0xfe, 0xd3, 0xd4, 0x77, 0xf0, 0x5e, 0x5f, + 0xde, 0xf9, 0x4f, 0x42, 0xf9, 0xcf, 0x06, 0xa3, 0x64, 0x31, 0x64, 0x2c, 0x94, 0x4f, 0xa1, 0x5e, + 0xb7, 0x8a, 0x32, 0xef, 0xfe, 0x21, 0xd7, 0x37, 0x98, 0x4e, 0xe5, 0x16, 0x89, 0x93, 0x07, 0x93, + 0x9e, 0xde, 0xcc, 0xde, 0xfb, 0x43, 0xd7, 0xcf, 0x03, 0x39, 0x4f, 0xee, 0x02, 0x8c, 0x04, 0x12, + 0x9e, 0xde, 0xac, 0xde, 0xc7, 0x59, 0xa5, 0xfc, 0xf9, 0x4e, 0xee, 0x2c, 0xc4, 0x48, 0xf2, 0xd2, + 0x9b, 0xfc, 0xaf, 0x70, 0x72, 0x8a, 0x9e, 0x7b, 0x13, 0x24, 0x44, 0xd2, 0xd2, 0x9b, 0xf4, 0xfd, + 0x9c, 0xd4, 0x25, 0x21, 0xe4, 0x22, 0x61, 0xe9, 0x4d, 0xfe, 0x57, 0x05, 0xb9, 0x20, 0x21, 0xe4, + 0xfd, 0x9b, 0xf0, 0x2b, 0x3f, 0x17, 0xe3, 0x93, 0x8e, 0xb0, 0xdd, 0x79, 0x18, 0xe2, 0x99, 0x4a, + 0x6f, 0xea, 0x0f, 0xf2, 0xc6, 0x05, 0x45, 0xee, 0x09, 0x88, 0xf7, 0x69, 0xf0, 0x9f, 0xe7, 0xa4, + 0x0c, 0x3f, 0x37, 0x07, 0xc3, 0xbe, 0xec, 0xa4, 0x37, 0xf9, 0x5f, 0xe3, 0xe4, 0x7e, 0x2a, 0x22, + 0x3a, 0xcf, 0x4e, 0x7a, 0x33, 0xf8, 0x05, 0x21, 0x3a, 0xa7, 0x20, 0x66, 0x13, 0x89, 0x49, 0x6f, + 0xea, 0x0f, 0x09, 0xab, 0x0b, 0x92, 0xdc, 0xd3, 0x90, 0x74, 0x27, 0x9b, 0xde, 0xf4, 0x1f, 0xe6, + 0xf4, 0x1e, 0x0d, 0xb1, 0x80, 0x6f, 0xb2, 0xeb, 0xcd, 0xe2, 0xaf, 0x0b, 0x0b, 0xf8, 0xa8, 0xc8, + 0x30, 0x0a, 0x27, 0x30, 0xbd, 0x39, 0x7d, 0x44, 0x0c, 0xa3, 0x50, 0xfe, 0x42, 0x7a, 0x93, 0xc6, + 0xfc, 0xde, 0x2c, 0xfe, 0x86, 0xe8, 0x4d, 0x8a, 0x4f, 0xc4, 0x08, 0x67, 0x04, 0xbd, 0x79, 0xfc, + 0xa2, 0x10, 0x23, 0x94, 0x10, 0xe4, 0x56, 0x01, 0xb5, 0x66, 0x03, 0xbd, 0xf9, 0x7d, 0x94, 0xf3, + 0x1b, 0x6f, 0x49, 0x06, 0x72, 0xcf, 0xc1, 0xe1, 0xf6, 0x99, 0x40, 0x6f, 0xae, 0x1f, 0xfb, 0x61, + 0x68, 0xed, 0xe6, 0x4f, 0x04, 0x72, 0xeb, 0xde, 0x94, 0xe2, 0xcf, 0x02, 0x7a, 0xb3, 0x7d, 0xe5, + 0x87, 0xc1, 0xc0, 0xed, 0x4f, 0x02, 0x72, 0x79, 0x00, 0x6f, 0x02, 0xee, 0xcd, 0xeb, 0x13, 0x9c, + 0x97, 0x8f, 0x88, 0x0c, 0x0d, 0x3e, 0xff, 0xf6, 0xa6, 0xbf, 0x21, 0x86, 0x06, 0xa7, 0x20, 0x43, + 0x43, 0x4c, 0xbd, 0xbd, 0xa9, 0x3f, 0x29, 0x86, 0x86, 0x20, 0x21, 0x9e, 0xed, 0x9b, 0xdd, 0x7a, + 0x73, 0xf8, 0x94, 0xf0, 0x6c, 0x1f, 0x55, 0x6e, 0x19, 0xc6, 0x5b, 0x26, 0xc4, 0xde, 0xac, 0x7e, + 0x89, 0xb3, 0x4a, 0x87, 0xe7, 0x43, 0xff, 0xe4, 0xc5, 0x27, 0xc3, 0xde, 0xdc, 0x3e, 0x1d, 0x9a, + 0xbc, 0xf8, 0x5c, 0x98, 0x3b, 0x0f, 0x09, 0xbd, 0x59, 0xaf, 0x93, 0xc1, 0x83, 0xba, 0xdf, 0x04, + 0xcc, 0xfc, 0xe7, 0x1f, 0x71, 0xeb, 0x08, 0x82, 0xdc, 0x59, 0x88, 0xe3, 0xc6, 0x26, 0xae, 0xf6, + 0xa2, 0xfc, 0xde, 0x8f, 0x44, 0xc0, 0x24, 0xd8, 0xb9, 0xa7, 0x01, 0xd8, 0xd6, 0x08, 0x3d, 0x0c, + 0xec, 0x41, 0xfb, 0x5f, 0x7e, 0xc4, 0xaf, 0xde, 0x78, 0x24, 0x1e, 0x03, 0x76, 0x91, 0xa7, 0x3b, + 0x83, 0xef, 0x07, 0x19, 0xd0, 0x1e, 0x79, 0x0a, 0x86, 0x5e, 0xb4, 0x0d, 0xdd, 0x51, 0x6b, 0xbd, + 0xa8, 0xff, 0x2b, 0xa7, 0x16, 0xf8, 0xc4, 0x60, 0x0d, 0xc3, 0xc2, 0x8e, 0x5a, 0xb3, 0x7b, 0xd1, + 0xfe, 0x37, 0x4e, 0xeb, 0x12, 0x10, 0xe2, 0x8a, 0x6a, 0x3b, 0xfd, 0xe8, 0xfd, 0xc7, 0x82, 0x58, + 0x10, 0x10, 0xa1, 0xc9, 0xef, 0x1d, 0xbc, 0xd7, 0x8b, 0xf6, 0x07, 0x42, 0x68, 0x8e, 0x9f, 0x7b, + 0x13, 0x24, 0xc9, 0x4f, 0x76, 0x9f, 0xae, 0x07, 0xf1, 0x9f, 0x70, 0x62, 0x8f, 0x82, 0xb4, 0x6c, + 0x3b, 0x55, 0x47, 0xeb, 0x6d, 0xec, 0x5b, 0xbc, 0xa7, 0x05, 0x7e, 0x2e, 0x0f, 0xc3, 0xb6, 0x53, + 0xad, 0x36, 0x79, 0x7e, 0xda, 0x83, 0xfc, 0x4f, 0x7f, 0xe4, 0x6e, 0x59, 0xb8, 0x34, 0xa4, 0xb7, + 0xaf, 0xee, 0x38, 0xa6, 0x41, 0x0f, 0x3c, 0x7a, 0x71, 0xf8, 0x21, 0xe7, 0xe0, 0x23, 0xc9, 0xcd, + 0x41, 0x8a, 0xe8, 0x62, 0x61, 0x13, 0xd3, 0xd3, 0xa9, 0x1e, 0x2c, 0xfe, 0x3b, 0x37, 0x40, 0x80, + 0xa8, 0xf0, 0xb3, 0x5f, 0x7b, 0x6d, 0x4a, 0xfa, 0xe6, 0x6b, 0x53, 0xd2, 0x1f, 0xbe, 0x36, 0x25, + 0x7d, 0xe8, 0x3b, 0x53, 0x03, 0xdf, 0xfc, 0xce, 0xd4, 0xc0, 0xef, 0x7d, 0x67, 0x6a, 0xa0, 0xfd, + 0x2e, 0x31, 0xcc, 0x1b, 0xf3, 0x06, 0xdb, 0x1f, 0x7e, 0x41, 0xae, 0x69, 0xce, 0x76, 0x73, 0x73, + 0xb6, 0x62, 0x34, 0xe8, 0x36, 0xae, 0xb7, 0x5b, 0xeb, 0x2e, 0x72, 0xe0, 0x3d, 0x51, 0x38, 0x5a, + 0x31, 0xec, 0x86, 0x61, 0x97, 0xd9, 0x7e, 0x2f, 0x2b, 0xf0, 0x1d, 0xdf, 0x94, 0xbf, 0xaa, 0x8f, + 0x4d, 0xdf, 0x8b, 0x30, 0x4a, 0x55, 0xa7, 0xdb, 0x5d, 0xd4, 0xdb, 0x7a, 0x06, 0x88, 0xaf, 0xff, + 0xdb, 0x38, 0xd5, 0x7a, 0xc4, 0x25, 0xa4, 0xa7, 0xf7, 0xeb, 0x30, 0xa9, 0x35, 0xcc, 0x3a, 0xa6, + 0xdb, 0xfc, 0x65, 0xb7, 0xae, 0x37, 0xbf, 0x6f, 0x70, 0x7e, 0x13, 0x1e, 0xf9, 0x82, 0xa0, 0xce, + 0x2d, 0xc2, 0xb8, 0x5a, 0xa9, 0x60, 0x33, 0xc0, 0xb2, 0x47, 0xb7, 0x08, 0x01, 0xd3, 0x9c, 0xd2, + 0xe5, 0x56, 0x78, 0xba, 0x53, 0xd7, 0xbc, 0x70, 0xaf, 0xcf, 0xf2, 0x16, 0xae, 0x61, 0xfd, 0x61, + 0x1d, 0x3b, 0x57, 0x0d, 0x6b, 0x87, 0x9b, 0xf7, 0x61, 0xd6, 0xd4, 0x20, 0xbb, 0xc1, 0x0c, 0xef, + 0x8b, 0xc2, 0x14, 0xab, 0x38, 0xbd, 0xa9, 0xda, 0xf8, 0xf4, 0x95, 0x47, 0x37, 0xb1, 0xa3, 0x3e, + 0x7a, 0xba, 0x62, 0x68, 0x3a, 0xef, 0x89, 0x09, 0xde, 0x2f, 0xa4, 0x7e, 0x96, 0xd7, 0x67, 0xdb, + 0x6e, 0xd3, 0xcb, 0xf3, 0x10, 0x9b, 0x33, 0x34, 0x1d, 0x4d, 0x42, 0xbc, 0x8a, 0x75, 0xa3, 0xc1, + 0xef, 0xdc, 0xb1, 0x02, 0xba, 0x1b, 0x06, 0xd5, 0x86, 0xd1, 0xd4, 0x1d, 0x76, 0x42, 0x51, 0x18, + 0xfe, 0xda, 0xcd, 0xe9, 0x81, 0xdf, 0xbf, 0x39, 0x1d, 0x5d, 0xd0, 0x1d, 0x85, 0x57, 0xe5, 0x62, + 0xaf, 0xbf, 0x3a, 0x2d, 0xc9, 0xcf, 0xc0, 0x50, 0x11, 0x57, 0x0e, 0xc2, 0xab, 0x88, 0x2b, 0x21, + 0x5e, 0x0f, 0x40, 0x62, 0x41, 0x77, 0xd8, 0xad, 0xc8, 0x13, 0x10, 0xd5, 0x74, 0x76, 0xd1, 0x26, + 0xd4, 0x3e, 0x81, 0x13, 0xd4, 0x22, 0xae, 0xb8, 0xa8, 0x55, 0x5c, 0x09, 0xa3, 0x12, 0xf6, 0x04, + 0x5e, 0x28, 0xfe, 0xde, 0x7f, 0x9c, 0x1a, 0x78, 0xf9, 0xb5, 0xa9, 0x81, 0x8e, 0x3d, 0xe1, 0x1f, + 0x03, 0xdc, 0xc4, 0xbc, 0x0b, 0xec, 0xea, 0x0e, 0x3b, 0x23, 0x71, 0xbb, 0xe1, 0xb7, 0x07, 0x41, + 0xe6, 0x38, 0xb6, 0xa3, 0xee, 0x68, 0x7a, 0xcd, 0xed, 0x09, 0xb5, 0xe9, 0x6c, 0x5f, 0xe3, 0x5d, + 0x71, 0x98, 0x77, 0x05, 0xc7, 0xe9, 0xde, 0x1b, 0xd9, 0xce, 0xa3, 0x2b, 0xdb, 0xa3, 0xcf, 0xe5, + 0x7f, 0x15, 0x05, 0xb4, 0xe6, 0xa8, 0x3b, 0x38, 0xdf, 0x74, 0xb6, 0x0d, 0x4b, 0xbb, 0xc6, 0x62, + 0x19, 0x06, 0x68, 0xa8, 0xbb, 0x65, 0xc7, 0xd8, 0xc1, 0xba, 0x4d, 0x4d, 0x33, 0x7c, 0xe6, 0xe8, + 0x6c, 0x1b, 0xff, 0x98, 0x25, 0x5d, 0x57, 0x78, 0xf0, 0xb3, 0xdf, 0x9e, 0xbe, 0xbf, 0xb7, 0x15, + 0x28, 0x32, 0x49, 0xae, 0x77, 0xd7, 0x29, 0x63, 0x74, 0x19, 0xd8, 0x25, 0x8b, 0x72, 0x5d, 0xb3, + 0x1d, 0x7e, 0x4f, 0xfb, 0xec, 0x6c, 0x7b, 0xdd, 0x67, 0x5b, 0xc5, 0x9c, 0xbd, 0xac, 0xd6, 0xb5, + 0xaa, 0xea, 0x18, 0x96, 0x7d, 0x71, 0x40, 0x49, 0x52, 0x56, 0x8b, 0x9a, 0xed, 0xa0, 0x75, 0x48, + 0x56, 0xb1, 0xbe, 0xc7, 0xd8, 0x46, 0xdf, 0x18, 0xdb, 0x04, 0xe1, 0x44, 0xb9, 0x3e, 0x0f, 0x48, + 0xf5, 0xe3, 0x89, 0x87, 0x49, 0xec, 0x7e, 0x65, 0x07, 0xf6, 0x01, 0xce, 0xf4, 0x1d, 0xc5, 0xb8, + 0x1a, 0x06, 0x65, 0xef, 0x03, 0xf0, 0xda, 0x44, 0x19, 0x18, 0x52, 0xab, 0x55, 0x0b, 0xdb, 0x36, + 0x3d, 0x00, 0x4c, 0x2a, 0xa2, 0x98, 0x1b, 0xff, 0xd7, 0x5f, 0x7a, 0x78, 0x24, 0xc0, 0xb1, 0x90, + 0x02, 0xb8, 0xe2, 0x92, 0x9e, 0xfa, 0xa4, 0x04, 0xe3, 0x2d, 0x2d, 0x22, 0x19, 0xa6, 0xf2, 0x1b, + 0xeb, 0x17, 0x57, 0x94, 0x85, 0x17, 0xf2, 0xeb, 0x0b, 0x2b, 0xcb, 0x65, 0x76, 0xe5, 0x7f, 0x79, + 0x6d, 0xb5, 0x34, 0xb7, 0x70, 0x61, 0xa1, 0x54, 0x4c, 0x0f, 0xa0, 0x69, 0x38, 0xd6, 0x06, 0xa7, + 0x58, 0x5a, 0x2c, 0xcd, 0xe7, 0xd7, 0x4b, 0x69, 0x09, 0xdd, 0x05, 0x27, 0xda, 0x32, 0x71, 0x51, + 0x22, 0x1d, 0x50, 0x94, 0x92, 0x8b, 0x12, 0x2d, 0x5c, 0xe8, 0x38, 0x8a, 0x1e, 0xea, 0xea, 0x3f, + 0xbb, 0xee, 0x70, 0x09, 0x8e, 0xa7, 0x77, 0x47, 0xe0, 0x68, 0x78, 0xca, 0x50, 0xf5, 0xbd, 0x0e, + 0xaf, 0x3e, 0x3b, 0x44, 0xb3, 0x8b, 0x10, 0xcd, 0xeb, 0x7b, 0xe8, 0x28, 0xcb, 0xa7, 0xcb, 0x4d, + 0xab, 0xce, 0x63, 0xd0, 0x10, 0x29, 0x6f, 0x58, 0x75, 0x12, 0x9b, 0xc4, 0x45, 0x7f, 0xe9, 0x64, + 0x8a, 0xdf, 0xde, 0xcf, 0xa5, 0x3f, 0xfa, 0xea, 0xf4, 0xc0, 0xe7, 0x5f, 0x9d, 0x1e, 0xf8, 0xc1, + 0xa7, 0xa6, 0x07, 0x5e, 0xfe, 0x83, 0x99, 0x81, 0xc2, 0x4e, 0x58, 0xbd, 0xaf, 0xf4, 0x9c, 0x4d, + 0x13, 0x79, 0x7d, 0x8f, 0x06, 0xa2, 0x55, 0xe9, 0x85, 0x38, 0x55, 0x4e, 0x1c, 0xa0, 0x4e, 0x85, + 0x0f, 0x50, 0x9f, 0xc3, 0xf5, 0xfa, 0x25, 0xdd, 0xb8, 0x4a, 0x7b, 0xd5, 0xb3, 0xc1, 0x47, 0x22, + 0x30, 0xd5, 0x32, 0x6d, 0xf2, 0x0c, 0xa3, 0xd3, 0xf3, 0xd7, 0x1c, 0x24, 0x8a, 0x22, 0x71, 0xc9, + 0xc0, 0x90, 0x8d, 0x2b, 0x86, 0x5e, 0x65, 0x23, 0x3d, 0xaa, 0x88, 0x22, 0x51, 0x5b, 0x57, 0x75, + 0xc3, 0xe6, 0x77, 0xee, 0x59, 0xa1, 0xf0, 0x71, 0x69, 0x7f, 0xf9, 0xc2, 0x88, 0x68, 0x49, 0xa8, + 0xf9, 0x68, 0xcf, 0x23, 0xe5, 0x1d, 0xa2, 0xa5, 0xab, 0x44, 0xe0, 0x58, 0xb9, 0x5f, 0xab, 0xfc, + 0x62, 0x04, 0xa6, 0xc3, 0x56, 0x21, 0x69, 0x9b, 0xed, 0xa8, 0x0d, 0xb3, 0x93, 0x59, 0xce, 0x43, + 0x72, 0x5d, 0xe0, 0xec, 0xdb, 0x2e, 0x37, 0xf6, 0x69, 0x97, 0x51, 0xb7, 0x29, 0x61, 0x98, 0x33, + 0x7d, 0x1a, 0xc6, 0xd5, 0xe3, 0x40, 0x96, 0xf9, 0x6c, 0x0c, 0x4e, 0xd0, 0x47, 0x59, 0x56, 0x43, + 0xd3, 0x9d, 0xd3, 0x15, 0x6b, 0xcf, 0x74, 0x68, 0xe2, 0x66, 0x6c, 0x71, 0xbb, 0x8c, 0x7b, 0xd5, + 0xb3, 0xac, 0xba, 0xc3, 0xc8, 0xd9, 0x82, 0xf8, 0x2a, 0xa1, 0x23, 0x16, 0x71, 0x0c, 0x47, 0xad, + 0x73, 0x4b, 0xb1, 0x02, 0x81, 0xb2, 0x87, 0x5c, 0x11, 0x06, 0xd5, 0xc4, 0x1b, 0xae, 0x3a, 0x56, + 0xb7, 0xd8, 0x7d, 0xf8, 0x28, 0x1d, 0x50, 0x09, 0x02, 0xa0, 0x57, 0xdf, 0x27, 0x21, 0xae, 0x36, + 0xd9, 0x55, 0x8e, 0x28, 0x19, 0x69, 0xb4, 0x20, 0x5f, 0x82, 0x21, 0x7e, 0xa0, 0x8c, 0xd2, 0x10, + 0xdd, 0xc1, 0x7b, 0xb4, 0x9d, 0x94, 0x42, 0x7e, 0xa2, 0x59, 0x88, 0x53, 0xe1, 0xf9, 0x04, 0x92, + 0x99, 0x6d, 0x91, 0x7e, 0x96, 0x0a, 0xa9, 0x30, 0x34, 0xf9, 0x19, 0x48, 0x14, 0x8d, 0x86, 0xa6, + 0x1b, 0x41, 0x6e, 0x49, 0xc6, 0x8d, 0xca, 0x6c, 0x36, 0x79, 0xbe, 0xa1, 0xb0, 0x02, 0x3a, 0x0c, + 0x83, 0xec, 0x7d, 0x04, 0xbf, 0x8e, 0xc2, 0x4b, 0xf2, 0x1c, 0x0c, 0x51, 0xde, 0x2b, 0x26, 0x42, + 0xfc, 0x65, 0x1d, 0x7f, 0x88, 0x41, 0x53, 0x53, 0xce, 0x3e, 0xe2, 0x09, 0x8b, 0x20, 0x56, 0x55, + 0x1d, 0x95, 0xeb, 0x4d, 0x7f, 0xcb, 0x6f, 0x86, 0x04, 0x67, 0x62, 0xa3, 0x33, 0x10, 0x35, 0x4c, + 0x9b, 0x5f, 0x28, 0xc9, 0x76, 0x52, 0x65, 0xc5, 0x2c, 0xc4, 0x48, 0xa6, 0xa2, 0x10, 0xe4, 0x82, + 0xd2, 0x31, 0xa8, 0x3e, 0xe9, 0x0b, 0xaa, 0xbe, 0x2e, 0xf7, 0xfd, 0x64, 0x5d, 0xda, 0xe2, 0x0e, + 0xae, 0xb3, 0x7c, 0x2a, 0x02, 0x53, 0xbe, 0xda, 0x2b, 0xd8, 0xb2, 0x35, 0x43, 0xe7, 0xf3, 0x39, + 0xf3, 0x16, 0xe4, 0x13, 0x92, 0xd7, 0x77, 0x70, 0x97, 0x37, 0x41, 0x34, 0x6f, 0x9a, 0x28, 0x0b, + 0x09, 0x5a, 0xae, 0x18, 0xcc, 0x5f, 0x62, 0x8a, 0x5b, 0x26, 0x75, 0xb6, 0xb1, 0xe5, 0x5c, 0x55, + 0x2d, 0xf7, 0x09, 0xa1, 0x28, 0xcb, 0x4f, 0x41, 0x72, 0xce, 0xd0, 0x6d, 0xac, 0xdb, 0x4d, 0x3a, + 0x06, 0x37, 0xeb, 0x46, 0x65, 0x87, 0x73, 0x60, 0x05, 0x62, 0x70, 0xd5, 0x34, 0x29, 0x65, 0x4c, + 0x21, 0x3f, 0x59, 0x6e, 0x58, 0x58, 0xeb, 0x68, 0xa2, 0xa7, 0xf6, 0x6f, 0x22, 0xae, 0xa4, 0x6b, + 0xa3, 0xff, 0x2d, 0xc1, 0xf1, 0xd6, 0x01, 0xb5, 0x83, 0xf7, 0xec, 0xfd, 0x8e, 0xa7, 0xe7, 0x21, + 0xb9, 0x4a, 0xdf, 0xf1, 0x5f, 0xc2, 0x7b, 0x28, 0x0b, 0x43, 0xb8, 0x7a, 0xe6, 0xec, 0xd9, 0x47, + 0x9f, 0x62, 0xde, 0x7e, 0x71, 0x40, 0x11, 0x00, 0x34, 0x05, 0x49, 0x1b, 0x57, 0xcc, 0x33, 0x67, + 0xcf, 0xed, 0x3c, 0xca, 0xdc, 0x8b, 0x64, 0x40, 0x2e, 0x28, 0x97, 0x20, 0x5a, 0xbf, 0xfe, 0xa9, + 0x69, 0xa9, 0x10, 0x87, 0xa8, 0xdd, 0x6c, 0xdc, 0x51, 0x1f, 0x79, 0x25, 0x0e, 0x33, 0x7e, 0x4a, + 0x1a, 0xa9, 0xdc, 0xac, 0x84, 0xdb, 0x20, 0xed, 0xb3, 0x01, 0xc5, 0xe8, 0x90, 0xcc, 0x76, 0xb5, + 0xa4, 0xfc, 0xeb, 0x12, 0xa4, 0xdc, 0x54, 0x69, 0x0d, 0x3b, 0xe8, 0xbc, 0x3f, 0xff, 0xe1, 0xc3, + 0xe6, 0xd8, 0x6c, 0xb8, 0x2d, 0x2f, 0xa5, 0x53, 0x7c, 0xe8, 0xe8, 0x09, 0xea, 0x88, 0xa6, 0x61, + 0xf3, 0x67, 0x65, 0x3d, 0x48, 0x5d, 0x64, 0xf4, 0x10, 0x20, 0x1a, 0xe1, 0xca, 0x57, 0x0c, 0x47, + 0xd3, 0x6b, 0x65, 0xd3, 0xb8, 0xca, 0x1f, 0xeb, 0x46, 0x95, 0x34, 0xad, 0xb9, 0x4c, 0x2b, 0x56, + 0x09, 0x9c, 0x08, 0x9d, 0x74, 0xb9, 0x04, 0xd3, 0x3b, 0x12, 0x04, 0x44, 0x11, 0x9d, 0x87, 0x21, + 0xb3, 0xb9, 0x59, 0x16, 0x11, 0x63, 0xf8, 0xcc, 0xf1, 0x76, 0xe3, 0x5f, 0xf8, 0x07, 0x8f, 0x00, + 0x83, 0x66, 0x73, 0x93, 0x78, 0xcb, 0x5d, 0x90, 0x6a, 0x23, 0xcc, 0xf0, 0x15, 0x4f, 0x0e, 0xfa, + 0xf9, 0x08, 0xae, 0x41, 0xd9, 0xb4, 0x34, 0xc3, 0xd2, 0x9c, 0x3d, 0x9a, 0xbf, 0x46, 0x95, 0xb4, + 0xa8, 0x58, 0xe5, 0x70, 0x79, 0x07, 0xc6, 0xd6, 0xe8, 0xfa, 0xd6, 0x93, 0xfc, 0xac, 0x27, 0x9f, + 0xd4, 0x5b, 0xbe, 0x8e, 0x92, 0x45, 0x5a, 0x24, 0x2b, 0x3c, 0xdb, 0xd1, 0x3b, 0x9f, 0xd8, 0xbf, + 0x77, 0x06, 0x33, 0xc4, 0x3f, 0x3e, 0x1a, 0x18, 0x9c, 0xcc, 0x39, 0xfd, 0xe1, 0xab, 0x5f, 0xc7, + 0xec, 0x95, 0x4d, 0x64, 0xbb, 0x4f, 0xaa, 0xd9, 0x1e, 0x61, 0x34, 0xdb, 0x73, 0x08, 0xc9, 0x4f, + 0xc1, 0xc8, 0xaa, 0x6a, 0x39, 0x6b, 0xd8, 0xb9, 0x88, 0xd5, 0x2a, 0xb6, 0x82, 0xb3, 0xee, 0x88, + 0x98, 0x75, 0x11, 0xc4, 0xe8, 0xd4, 0xca, 0x66, 0x1d, 0xfa, 0x5b, 0xde, 0x86, 0x18, 0xbd, 0x19, + 0xea, 0xce, 0xc8, 0x9c, 0x82, 0xcd, 0xc8, 0x24, 0x96, 0xee, 0x39, 0xd8, 0x16, 0xe9, 0x2d, 0x2d, + 0xa0, 0xc7, 0xc5, 0xbc, 0x1a, 0xed, 0x3e, 0xaf, 0x72, 0x47, 0xe4, 0xb3, 0x6b, 0x1d, 0x86, 0x0a, + 0x24, 0x14, 0x2f, 0x14, 0x5d, 0x41, 0x24, 0x4f, 0x10, 0xb4, 0x04, 0x63, 0xa6, 0x6a, 0x39, 0xf4, + 0x49, 0xcc, 0x36, 0xd5, 0x82, 0xfb, 0xfa, 0x74, 0xeb, 0xc8, 0x0b, 0x28, 0xcb, 0x5b, 0x19, 0x31, + 0xfd, 0x40, 0xf9, 0x8f, 0x62, 0x30, 0xc8, 0x8d, 0xf1, 0x26, 0x18, 0xe2, 0x66, 0xe5, 0xde, 0x79, + 0x62, 0xb6, 0x75, 0x62, 0x9a, 0x75, 0x27, 0x10, 0xce, 0x4f, 0xd0, 0xa0, 0xfb, 0x20, 0x51, 0xd9, + 0x56, 0x35, 0xbd, 0xac, 0x55, 0xc5, 0x56, 0xc3, 0x6b, 0x37, 0xa7, 0x87, 0xe6, 0x08, 0x6c, 0xa1, + 0xa8, 0x0c, 0xd1, 0xca, 0x85, 0x2a, 0xc9, 0x04, 0xb6, 0xb1, 0x56, 0xdb, 0x76, 0xf8, 0x08, 0xe3, + 0x25, 0xf4, 0x24, 0xc4, 0x88, 0x43, 0xf0, 0x07, 0x93, 0xd9, 0x96, 0x0d, 0x1f, 0x37, 0xd9, 0x2b, + 0x24, 0x48, 0xc3, 0x1f, 0xfa, 0xf6, 0xb4, 0xa4, 0x50, 0x0a, 0x34, 0x07, 0x23, 0x75, 0xd5, 0x76, + 0xca, 0x74, 0x06, 0x23, 0xcd, 0xc7, 0xf9, 0x7a, 0xbb, 0xc5, 0x20, 0xdc, 0xb0, 0x5c, 0xf4, 0x61, + 0x42, 0xc5, 0x40, 0x55, 0x74, 0x12, 0xd2, 0x94, 0x49, 0xc5, 0x68, 0x34, 0x34, 0x87, 0xe5, 0x56, + 0x83, 0xd4, 0xee, 0xa3, 0x04, 0x3e, 0x47, 0xc1, 0x34, 0xc3, 0x3a, 0x06, 0x49, 0xfa, 0x44, 0x8b, + 0xa2, 0xb0, 0xeb, 0xc8, 0x09, 0x02, 0xa0, 0x95, 0xf7, 0xc3, 0x98, 0x17, 0x1f, 0x19, 0x4a, 0x82, + 0x71, 0xf1, 0xc0, 0x14, 0xf1, 0x11, 0x98, 0xd4, 0xf1, 0x2e, 0xbd, 0x20, 0x1d, 0xc0, 0x4e, 0x52, + 0x6c, 0x44, 0xea, 0x2e, 0x07, 0x29, 0xee, 0x85, 0xd1, 0x8a, 0x30, 0x3e, 0xc3, 0x05, 0x8a, 0x3b, + 0xe2, 0x42, 0x29, 0xda, 0x51, 0x48, 0xa8, 0xa6, 0xc9, 0x10, 0x86, 0x79, 0x7c, 0x34, 0x4d, 0x5a, + 0x75, 0x0a, 0xc6, 0xa9, 0x8e, 0x16, 0xb6, 0x9b, 0x75, 0x87, 0x33, 0x49, 0x51, 0x9c, 0x31, 0x52, + 0xa1, 0x30, 0x38, 0xc5, 0xbd, 0x1b, 0x46, 0xf0, 0x15, 0xad, 0x8a, 0xf5, 0x0a, 0x66, 0x78, 0x23, + 0x14, 0x2f, 0x25, 0x80, 0x14, 0xe9, 0x01, 0x70, 0xe3, 0x5e, 0x59, 0xc4, 0xe4, 0x51, 0xc6, 0x4f, + 0xc0, 0xf3, 0x0c, 0x2c, 0x67, 0x20, 0x56, 0x54, 0x1d, 0x95, 0x24, 0x18, 0xce, 0x2e, 0x9b, 0x68, + 0x52, 0x0a, 0xf9, 0x29, 0xbf, 0x1e, 0x81, 0xd8, 0x65, 0xc3, 0xc1, 0xe8, 0x31, 0x5f, 0x02, 0x38, + 0xda, 0xce, 0x9f, 0xd7, 0xb4, 0x9a, 0x8e, 0xab, 0x4b, 0x76, 0xcd, 0xf7, 0x3d, 0x05, 0xcf, 0x9d, + 0x22, 0x01, 0x77, 0x9a, 0x84, 0xb8, 0x65, 0x34, 0xf5, 0xaa, 0xb8, 0xc9, 0x4b, 0x0b, 0xa8, 0x04, + 0x09, 0xd7, 0x4b, 0x62, 0xbd, 0xbc, 0x64, 0x8c, 0x78, 0x09, 0xf1, 0x61, 0x0e, 0x50, 0x86, 0x36, + 0xb9, 0xb3, 0x14, 0x20, 0xe9, 0x06, 0x2f, 0xee, 0x6d, 0xfd, 0x39, 0xac, 0x47, 0x46, 0x26, 0x13, + 0xb7, 0xef, 0x5d, 0xe3, 0x31, 0x8f, 0x4b, 0xbb, 0x15, 0xdc, 0x7a, 0x01, 0xb7, 0xe2, 0xdf, 0x76, + 0x18, 0xa2, 0x7a, 0x79, 0x6e, 0xc5, 0xbe, 0xef, 0x70, 0x1c, 0x92, 0xb6, 0x56, 0xd3, 0x55, 0xa7, + 0x69, 0x61, 0xee, 0x79, 0x1e, 0x40, 0xfe, 0x8a, 0x04, 0x83, 0xcc, 0x93, 0x7d, 0x76, 0x93, 0xda, + 0xdb, 0x2d, 0xd2, 0xc9, 0x6e, 0xd1, 0x83, 0xdb, 0x2d, 0x0f, 0xe0, 0x0a, 0x63, 0xf3, 0x27, 0xf7, + 0x6d, 0x32, 0x06, 0x26, 0xe2, 0x9a, 0x56, 0xe3, 0x03, 0xd5, 0x47, 0x24, 0xff, 0x07, 0x89, 0x24, + 0xb1, 0xbc, 0x1e, 0xe5, 0x61, 0x44, 0xc8, 0x55, 0xde, 0xaa, 0xab, 0x35, 0xee, 0x3b, 0x27, 0x3a, + 0x0a, 0x77, 0xa1, 0xae, 0xd6, 0x94, 0x61, 0x2e, 0x0f, 0x29, 0xb4, 0xef, 0x87, 0x48, 0x87, 0x7e, + 0x08, 0x74, 0x7c, 0xf4, 0x60, 0x1d, 0x1f, 0xe8, 0xa2, 0x58, 0xb8, 0x8b, 0xbe, 0x18, 0xa1, 0x8b, + 0x19, 0xd3, 0xb0, 0xd5, 0xfa, 0x8f, 0x63, 0x44, 0x1c, 0x83, 0xa4, 0x69, 0xd4, 0xcb, 0xac, 0x86, + 0xdd, 0x70, 0x4f, 0x98, 0x46, 0x5d, 0x69, 0xe9, 0xf6, 0xf8, 0x6d, 0x1a, 0x2e, 0x83, 0xb7, 0xc1, + 0x6a, 0x43, 0x61, 0xab, 0x59, 0x90, 0x62, 0xa6, 0xe0, 0x73, 0xd9, 0x23, 0xc4, 0x06, 0x74, 0x72, + 0x94, 0x5a, 0xe7, 0x5e, 0x26, 0x36, 0xc3, 0x54, 0x38, 0x1e, 0xa1, 0x60, 0xa1, 0xbf, 0xdd, 0x2a, + 0xd8, 0xef, 0x96, 0x0a, 0xc7, 0x93, 0xff, 0xa6, 0x04, 0xb0, 0x48, 0x2c, 0x4b, 0xf5, 0x25, 0xb3, + 0x90, 0x4d, 0x45, 0x28, 0x07, 0x5a, 0x9e, 0xea, 0xd4, 0x69, 0xbc, 0xfd, 0x94, 0xed, 0x97, 0x7b, + 0x0e, 0x46, 0x3c, 0x67, 0xb4, 0xb1, 0x10, 0x66, 0xaa, 0x4b, 0x56, 0xbd, 0x86, 0x1d, 0x25, 0x75, + 0xc5, 0x57, 0x92, 0xff, 0xb9, 0x04, 0x49, 0x2a, 0xd3, 0x12, 0x76, 0xd4, 0x40, 0x1f, 0x4a, 0x07, + 0xef, 0xc3, 0x13, 0x00, 0x8c, 0x8d, 0xad, 0x5d, 0xc3, 0xdc, 0xb3, 0x92, 0x14, 0xb2, 0xa6, 0x5d, + 0xc3, 0xe8, 0x9c, 0x6b, 0xf0, 0x68, 0x77, 0x83, 0x8b, 0xac, 0x9b, 0x9b, 0xfd, 0x08, 0x0c, 0xd1, + 0x4f, 0x54, 0xed, 0xda, 0x3c, 0x91, 0x1e, 0xd4, 0x9b, 0x8d, 0xf5, 0x5d, 0x5b, 0x7e, 0x11, 0x86, + 0xd6, 0x77, 0xd9, 0xde, 0xc8, 0x31, 0x48, 0x5a, 0x86, 0xc1, 0xe7, 0x64, 0x96, 0x0b, 0x25, 0x08, + 0x80, 0x4e, 0x41, 0x62, 0x3f, 0x20, 0xe2, 0xed, 0x07, 0x78, 0x1b, 0x1a, 0xd1, 0xbe, 0x36, 0x34, + 0x4e, 0xfd, 0x3b, 0x09, 0x86, 0x7d, 0xf1, 0x01, 0x3d, 0x0a, 0x87, 0x0a, 0x8b, 0x2b, 0x73, 0x97, + 0xca, 0x0b, 0xc5, 0xf2, 0x85, 0xc5, 0xfc, 0xbc, 0xf7, 0x86, 0x2b, 0x7b, 0xf8, 0xfa, 0x8d, 0x19, + 0xe4, 0xc3, 0xdd, 0xd0, 0xe9, 0x8e, 0x12, 0x3a, 0x0d, 0x93, 0x41, 0x92, 0x7c, 0x61, 0xad, 0xb4, + 0xbc, 0x9e, 0x96, 0xb2, 0x87, 0xae, 0xdf, 0x98, 0x19, 0xf7, 0x51, 0xe4, 0x37, 0x6d, 0xac, 0x3b, + 0xad, 0x04, 0x73, 0x2b, 0x4b, 0x4b, 0x0b, 0xeb, 0xe9, 0x48, 0x0b, 0x01, 0x0f, 0xd8, 0x0f, 0xc0, + 0x78, 0x90, 0x60, 0x79, 0x61, 0x31, 0x1d, 0xcd, 0xa2, 0xeb, 0x37, 0x66, 0x46, 0x7d, 0xd8, 0xcb, + 0x5a, 0x3d, 0x9b, 0xf8, 0xc0, 0xa7, 0xa7, 0x06, 0x7e, 0xe5, 0x97, 0xa7, 0x24, 0xa2, 0xd9, 0x48, + 0x20, 0x46, 0xa0, 0x87, 0xe0, 0xc8, 0xda, 0xc2, 0xfc, 0x72, 0xa9, 0x58, 0x5e, 0x5a, 0x9b, 0x17, + 0x7b, 0xd0, 0x42, 0xbb, 0xb1, 0xeb, 0x37, 0x66, 0x86, 0xb9, 0x4a, 0x9d, 0xb0, 0x57, 0x95, 0xd2, + 0xe5, 0x95, 0xf5, 0x52, 0x5a, 0x62, 0xd8, 0xab, 0x16, 0xbe, 0x62, 0x38, 0xec, 0x1b, 0x76, 0x8f, + 0xc0, 0xd1, 0x36, 0xd8, 0xae, 0x62, 0xe3, 0xd7, 0x6f, 0xcc, 0x8c, 0xac, 0x5a, 0x98, 0x8d, 0x1f, + 0x4a, 0x31, 0x0b, 0x99, 0x56, 0x8a, 0x95, 0xd5, 0x95, 0xb5, 0xfc, 0x62, 0x7a, 0x26, 0x9b, 0xbe, + 0x7e, 0x63, 0x26, 0x25, 0x82, 0x21, 0xdd, 0xe8, 0x77, 0x35, 0xbb, 0x93, 0x2b, 0x9e, 0x3f, 0x7d, + 0x18, 0xee, 0xe9, 0x70, 0xc6, 0x24, 0x4e, 0x27, 0x0e, 0x74, 0xca, 0xd4, 0x71, 0x9f, 0x3d, 0xdb, + 0x63, 0xfb, 0xb9, 0xf7, 0xd2, 0xe9, 0xe0, 0x27, 0x58, 0xd9, 0xae, 0x8b, 0x3b, 0xf9, 0x83, 0x12, + 0x8c, 0x5e, 0xd4, 0x6c, 0xc7, 0xb0, 0xb4, 0x8a, 0x5a, 0xa7, 0x2f, 0xb7, 0xce, 0xf5, 0x1b, 0x5b, + 0x43, 0x43, 0xfd, 0x69, 0x18, 0xbc, 0xa2, 0xd6, 0x59, 0x50, 0x8b, 0xd2, 0x0f, 0xcd, 0x74, 0x38, + 0xf2, 0x71, 0x43, 0x9b, 0x60, 0xc0, 0xc8, 0xe4, 0x5f, 0x8b, 0xc0, 0x18, 0x1d, 0x0c, 0x36, 0xfb, + 0x04, 0x19, 0x59, 0x63, 0x15, 0x20, 0x66, 0xa9, 0x0e, 0xdf, 0x34, 0x2c, 0xcc, 0xf2, 0xd3, 0xc7, + 0xfb, 0xfa, 0x38, 0x4b, 0x2b, 0xe2, 0x8a, 0x42, 0x69, 0xd1, 0xdb, 0x21, 0xd1, 0x50, 0x77, 0xcb, + 0x94, 0x0f, 0x5b, 0xb9, 0xe4, 0xf7, 0xc7, 0xe7, 0xd6, 0xcd, 0xe9, 0xb1, 0x3d, 0xb5, 0x51, 0xcf, + 0xc9, 0x82, 0x8f, 0xac, 0x0c, 0x35, 0xd4, 0x5d, 0x22, 0x22, 0x32, 0x61, 0x8c, 0x40, 0x2b, 0xdb, + 0xaa, 0x5e, 0xc3, 0xac, 0x11, 0xba, 0x05, 0x5a, 0xb8, 0xb8, 0xef, 0x46, 0x0e, 0x7b, 0x8d, 0xf8, + 0xd8, 0xc9, 0xca, 0x48, 0x43, 0xdd, 0x9d, 0xa3, 0x00, 0xd2, 0x62, 0x2e, 0xf1, 0xd1, 0x57, 0xa7, + 0x07, 0xe8, 0x89, 0xee, 0xb7, 0x24, 0x00, 0xcf, 0x62, 0xe8, 0xed, 0x90, 0xae, 0xb8, 0x25, 0x4a, + 0x2b, 0xce, 0x26, 0xef, 0xef, 0xd4, 0x17, 0x21, 0x7b, 0xb3, 0xb9, 0xf9, 0x9b, 0x37, 0xa7, 0x25, + 0x65, 0xac, 0x12, 0xea, 0x8a, 0xb7, 0xc1, 0x70, 0xd3, 0xac, 0xaa, 0x0e, 0x2e, 0xd3, 0x75, 0x5c, + 0xa4, 0xe7, 0x3c, 0x3f, 0x45, 0x78, 0xdd, 0xba, 0x39, 0x8d, 0x98, 0x5a, 0x3e, 0x62, 0x99, 0xce, + 0xfe, 0xc0, 0x20, 0x84, 0xc0, 0xa7, 0xd3, 0xd7, 0x25, 0x18, 0x2e, 0xfa, 0xee, 0x54, 0x66, 0x60, + 0xa8, 0x61, 0xe8, 0xda, 0x0e, 0xf7, 0xc7, 0xa4, 0x22, 0x8a, 0x28, 0x0b, 0x09, 0xf6, 0x98, 0xd5, + 0xd9, 0x13, 0x5b, 0xa1, 0xa2, 0x4c, 0xa8, 0xae, 0xe2, 0x4d, 0x5b, 0x13, 0xbd, 0xa1, 0x88, 0x22, + 0xba, 0x00, 0x69, 0x1b, 0x57, 0x9a, 0x96, 0xe6, 0xec, 0x95, 0x2b, 0x86, 0xee, 0xa8, 0x15, 0x87, + 0x3d, 0x8b, 0x2c, 0x1c, 0xbb, 0x75, 0x73, 0xfa, 0x08, 0x93, 0x35, 0x8c, 0x21, 0x2b, 0x63, 0x02, + 0x34, 0xc7, 0x20, 0xa4, 0x85, 0x2a, 0x76, 0x54, 0xad, 0x6e, 0x67, 0xd8, 0xe5, 0x04, 0x51, 0xf4, + 0xe9, 0xf2, 0xb9, 0x21, 0xff, 0xc6, 0xd6, 0x05, 0x48, 0x1b, 0x26, 0xb6, 0x02, 0x89, 0xa8, 0x14, + 0x6e, 0x39, 0x8c, 0x21, 0x2b, 0x63, 0x02, 0x24, 0x92, 0x54, 0x87, 0x74, 0xb3, 0x58, 0x28, 0x9a, + 0xcd, 0x4d, 0x6f, 0x3f, 0x6c, 0xb2, 0xa5, 0x37, 0xf2, 0xfa, 0x5e, 0xe1, 0x31, 0x8f, 0x7b, 0x98, + 0x4e, 0xfe, 0xc6, 0x97, 0x1e, 0x9e, 0xe4, 0xae, 0xe1, 0xed, 0x4f, 0x5d, 0xc2, 0x7b, 0xa4, 0xfb, + 0x39, 0xea, 0x2a, 0xc5, 0x24, 0x69, 0xe7, 0x8b, 0xaa, 0x56, 0x17, 0xcf, 0xfb, 0x15, 0x5e, 0x42, + 0x39, 0x18, 0xb4, 0x1d, 0xd5, 0x69, 0xda, 0xfc, 0xa4, 0x57, 0xee, 0xe4, 0x6a, 0x05, 0x43, 0xaf, + 0xae, 0x51, 0x4c, 0x85, 0x53, 0xa0, 0x0b, 0x30, 0xc8, 0x8f, 0xd0, 0xe3, 0xfb, 0x1e, 0xdf, 0xf4, + 0xae, 0x04, 0xa3, 0x26, 0x16, 0xa9, 0xe2, 0x3a, 0xae, 0xb1, 0xb4, 0x6a, 0x5b, 0x25, 0xab, 0x0f, + 0xfa, 0xed, 0xbd, 0xc2, 0xc2, 0xbe, 0x07, 0x21, 0xb7, 0x54, 0x98, 0x9f, 0xac, 0x8c, 0xb9, 0xa0, + 0x35, 0x0a, 0x41, 0x97, 0x02, 0x97, 0x7f, 0xf9, 0x07, 0x2a, 0xef, 0xee, 0xa4, 0xbe, 0xcf, 0xa7, + 0xc5, 0xfe, 0x84, 0xff, 0xea, 0xf0, 0x05, 0x48, 0x37, 0xf5, 0x4d, 0x43, 0xa7, 0x6f, 0x70, 0x79, + 0x7e, 0x4f, 0xd6, 0x77, 0x51, 0xbf, 0x73, 0x84, 0x31, 0x64, 0x65, 0xcc, 0x05, 0x5d, 0x64, 0xab, + 0x80, 0x2a, 0x8c, 0x7a, 0x58, 0x74, 0xa0, 0x26, 0x7b, 0x0e, 0xd4, 0xbb, 0xf8, 0x40, 0x3d, 0x14, + 0x6e, 0xc5, 0x1b, 0xab, 0x23, 0x2e, 0x90, 0x90, 0xa1, 0x8b, 0x00, 0x5e, 0x78, 0xa0, 0xfb, 0x14, + 0xc3, 0x9d, 0x3b, 0xde, 0x8b, 0x31, 0x62, 0xbd, 0xe7, 0xd1, 0xa2, 0x77, 0xc2, 0x44, 0x43, 0xd3, + 0xcb, 0x36, 0xae, 0x6f, 0x95, 0xb9, 0x81, 0x09, 0x4b, 0xfa, 0x09, 0xa5, 0xc2, 0xe2, 0xfe, 0xfc, + 0xe1, 0xd6, 0xcd, 0xe9, 0x2c, 0x0f, 0xa1, 0xad, 0x2c, 0x65, 0x65, 0xbc, 0xa1, 0xe9, 0x6b, 0xb8, + 0xbe, 0x55, 0x74, 0x61, 0xb9, 0xd4, 0x07, 0x5e, 0x9d, 0x1e, 0xe0, 0xc3, 0x75, 0x40, 0x3e, 0x47, + 0xf7, 0xce, 0xf9, 0x30, 0xc3, 0x36, 0x59, 0x93, 0xa8, 0xa2, 0xc0, 0xaf, 0x1a, 0x78, 0x00, 0x36, + 0xcc, 0x5f, 0xfe, 0x83, 0x19, 0x49, 0xfe, 0x9c, 0x04, 0x83, 0xc5, 0xcb, 0xab, 0xaa, 0x66, 0xa1, + 0x05, 0x18, 0xf7, 0x3c, 0x27, 0x38, 0xc8, 0x8f, 0xdf, 0xba, 0x39, 0x9d, 0x09, 0x3b, 0x97, 0x3b, + 0xca, 0x3d, 0x07, 0x16, 0xc3, 0x7c, 0xa1, 0xd3, 0xc2, 0x35, 0xc0, 0xaa, 0x05, 0x45, 0x6e, 0x5d, + 0xd6, 0x86, 0xd4, 0x2c, 0xc1, 0x10, 0x93, 0xd6, 0x46, 0x39, 0x88, 0x9b, 0xe4, 0x07, 0x3f, 0x18, + 0x98, 0xea, 0xe8, 0xbc, 0x14, 0xdf, 0xdd, 0xc8, 0x24, 0x24, 0xf2, 0x87, 0x23, 0x00, 0xc5, 0xcb, + 0x97, 0xd7, 0x2d, 0xcd, 0xac, 0x63, 0xe7, 0x76, 0x6a, 0xbe, 0x0e, 0x87, 0x7c, 0xab, 0x24, 0xab, + 0x12, 0xd2, 0x7e, 0xe6, 0xd6, 0xcd, 0xe9, 0xe3, 0x61, 0xed, 0x7d, 0x68, 0xb2, 0x32, 0xe1, 0xad, + 0x97, 0xac, 0x4a, 0x5b, 0xae, 0x55, 0xdb, 0x71, 0xb9, 0x46, 0x3b, 0x73, 0xf5, 0xa1, 0xf9, 0xb9, + 0x16, 0x6d, 0xa7, 0xbd, 0x69, 0xd7, 0x60, 0xd8, 0x33, 0x89, 0x8d, 0x8a, 0x90, 0x70, 0xf8, 0x6f, + 0x6e, 0x61, 0xb9, 0xb3, 0x85, 0x05, 0x19, 0xb7, 0xb2, 0x4b, 0x29, 0xff, 0x99, 0x04, 0xe0, 0xf9, + 0xec, 0x4f, 0xa7, 0x8b, 0x91, 0x50, 0xce, 0x03, 0x6f, 0xf4, 0x40, 0xa9, 0x1a, 0xa7, 0x0e, 0xd9, + 0xf3, 0xe7, 0x22, 0x30, 0xb1, 0x21, 0x22, 0xcf, 0x4f, 0xbd, 0x0d, 0x56, 0x61, 0x08, 0xeb, 0x8e, + 0xa5, 0x51, 0x23, 0x90, 0xde, 0x7e, 0xa4, 0x53, 0x6f, 0xb7, 0xd1, 0x89, 0x7e, 0x44, 0x4a, 0x6c, + 0xba, 0x73, 0x36, 0x21, 0x6b, 0xfc, 0x42, 0x14, 0x32, 0x9d, 0x28, 0xd1, 0x1c, 0x8c, 0x55, 0x2c, + 0xcc, 0x2e, 0x5e, 0xf9, 0x77, 0xfe, 0x0a, 0x59, 0x2f, 0xb3, 0x0c, 0x21, 0xc8, 0xca, 0xa8, 0x80, + 0xf0, 0xd9, 0xa3, 0x06, 0x24, 0xed, 0x23, 0x6e, 0x47, 0xef, 0x6f, 0xf5, 0x97, 0xe7, 0xc9, 0x7c, + 0xfa, 0x10, 0x8d, 0x04, 0x19, 0xb0, 0xf9, 0x63, 0xd4, 0x83, 0xd2, 0x09, 0xe4, 0x25, 0x18, 0xd3, + 0x74, 0xcd, 0xd1, 0xd4, 0x7a, 0x79, 0x53, 0xad, 0xab, 0x7a, 0xe5, 0x20, 0x59, 0x33, 0x0b, 0xf9, + 0xbc, 0xd9, 0x10, 0x3b, 0x59, 0x19, 0xe5, 0x90, 0x02, 0x03, 0xa0, 0x8b, 0x30, 0x24, 0x9a, 0x8a, + 0x1d, 0x28, 0xdb, 0x10, 0xe4, 0xbe, 0x04, 0xef, 0xe7, 0xa3, 0x30, 0xae, 0xe0, 0xea, 0xff, 0xef, + 0x8a, 0xfd, 0x75, 0xc5, 0x12, 0x00, 0x1b, 0xee, 0x24, 0xc0, 0x1e, 0xa0, 0x37, 0x48, 0xc0, 0x48, + 0x32, 0x0e, 0x45, 0xdb, 0xf1, 0xf5, 0xc7, 0xcd, 0x08, 0xa4, 0xfc, 0xfd, 0xf1, 0x17, 0x74, 0x56, + 0x42, 0x0b, 0x5e, 0x24, 0x8a, 0xf1, 0x4f, 0xef, 0x76, 0x88, 0x44, 0x2d, 0xde, 0xdb, 0x3d, 0x04, + 0xfd, 0x8f, 0x08, 0x0c, 0xae, 0xaa, 0x96, 0xda, 0xb0, 0x51, 0xa5, 0x25, 0xd3, 0x14, 0xdb, 0x8f, + 0x2d, 0x1f, 0x58, 0xe7, 0xbb, 0x1d, 0x3d, 0x12, 0xcd, 0x8f, 0xb6, 0x49, 0x34, 0xdf, 0x02, 0xa3, + 0x64, 0x39, 0xec, 0xbb, 0xc2, 0x40, 0xac, 0x3d, 0x52, 0x38, 0xea, 0x71, 0x09, 0xd6, 0xb3, 0xd5, + 0xf2, 0x65, 0xff, 0x1d, 0x86, 0x61, 0x82, 0xe1, 0x05, 0x66, 0x42, 0x7e, 0xd8, 0x5b, 0x96, 0xfa, + 0x2a, 0x65, 0x05, 0x1a, 0xea, 0x6e, 0x89, 0x15, 0xd0, 0x22, 0xa0, 0x6d, 0x77, 0x67, 0xa4, 0xec, + 0x99, 0x93, 0xd0, 0x9f, 0xb8, 0x75, 0x73, 0xfa, 0x28, 0xa3, 0x6f, 0xc5, 0x91, 0x95, 0x71, 0x0f, + 0x28, 0xb8, 0x3d, 0x0e, 0x40, 0xf4, 0x2a, 0xb3, 0x2b, 0xdc, 0x6c, 0xb9, 0x73, 0xe8, 0xd6, 0xcd, + 0xe9, 0x71, 0xc6, 0xc5, 0xab, 0x93, 0x95, 0x24, 0x29, 0x14, 0xc9, 0x6f, 0x9f, 0x67, 0x7f, 0x5a, + 0x02, 0xe4, 0x85, 0x7c, 0x05, 0xdb, 0x26, 0x59, 0x9f, 0x91, 0x44, 0xdc, 0x97, 0x35, 0x4b, 0xdd, + 0x13, 0x71, 0x8f, 0x5e, 0x24, 0xe2, 0xbe, 0x91, 0xf2, 0x94, 0x17, 0x1e, 0x23, 0xbd, 0xee, 0x33, + 0x73, 0x17, 0x09, 0xc7, 0xc3, 0x01, 0xf9, 0x5f, 0x4a, 0x70, 0xb4, 0xc5, 0xa3, 0x5c, 0x61, 0xff, + 0x12, 0x20, 0xcb, 0x57, 0xc9, 0xbf, 0xa3, 0xc8, 0x84, 0xde, 0xb7, 0x83, 0x8e, 0x5b, 0x2d, 0x71, + 0xf7, 0xf6, 0x45, 0x78, 0x76, 0x61, 0xfe, 0x9f, 0x49, 0x30, 0xe9, 0x6f, 0xde, 0x55, 0x64, 0x19, + 0x52, 0xfe, 0xd6, 0xb9, 0x0a, 0xf7, 0xf4, 0xa3, 0x02, 0x97, 0x3e, 0x40, 0x8f, 0x9e, 0xf5, 0x86, + 0x2b, 0xdb, 0x3b, 0x7b, 0xb4, 0x6f, 0x6b, 0x08, 0x99, 0xc2, 0xc3, 0x36, 0x46, 0xfb, 0xe3, 0xff, + 0x48, 0x10, 0x5b, 0x35, 0x8c, 0x3a, 0x32, 0x60, 0x5c, 0x37, 0x9c, 0x32, 0xf1, 0x2c, 0x5c, 0xf5, + 0xdf, 0x5b, 0x4f, 0x16, 0xe6, 0xf6, 0x67, 0xa4, 0xef, 0xdd, 0x9c, 0x6e, 0x65, 0xa5, 0x8c, 0xe9, + 0x86, 0x53, 0xa0, 0x10, 0x7e, 0x75, 0xfd, 0x9d, 0x30, 0x12, 0x6c, 0x8c, 0x45, 0xc9, 0xe7, 0xf6, + 0xdd, 0x58, 0x90, 0xcd, 0xad, 0x9b, 0xd3, 0x93, 0xde, 0x88, 0x71, 0xc1, 0xb2, 0x92, 0xda, 0xf4, + 0xb5, 0xce, 0xae, 0x77, 0xfd, 0xe0, 0xd5, 0x69, 0xe9, 0xd4, 0x97, 0x25, 0x00, 0x6f, 0xe7, 0x01, + 0x3d, 0x04, 0x47, 0x0a, 0x2b, 0xcb, 0xc5, 0xf2, 0xda, 0x7a, 0x7e, 0x7d, 0x63, 0x2d, 0x78, 0xc7, + 0x5b, 0x6c, 0x8f, 0xdb, 0x26, 0xae, 0x68, 0x5b, 0x1a, 0xae, 0xa2, 0xfb, 0x60, 0x32, 0x88, 0x4d, + 0x4a, 0xa5, 0x62, 0x5a, 0xca, 0xa6, 0xae, 0xdf, 0x98, 0x49, 0xb0, 0x5c, 0x0c, 0x57, 0xd1, 0x49, + 0x38, 0xd4, 0x8a, 0xb7, 0xb0, 0x3c, 0x9f, 0x8e, 0x64, 0x47, 0xae, 0xdf, 0x98, 0x49, 0xba, 0x49, + 0x1b, 0x92, 0x01, 0xf9, 0x31, 0x39, 0xbf, 0x68, 0x16, 0xae, 0xdf, 0x98, 0x19, 0x64, 0x06, 0xcc, + 0xc6, 0x3e, 0xf0, 0xe9, 0xa9, 0x81, 0xdb, 0x7e, 0x13, 0xfc, 0x4f, 0x86, 0x3a, 0xee, 0x7a, 0xd7, + 0xb0, 0x8e, 0x6d, 0xcd, 0x3e, 0xd0, 0xae, 0x77, 0x5f, 0x3b, 0xe9, 0xf2, 0xef, 0xc6, 0x21, 0x35, + 0xcf, 0x5a, 0x21, 0x1d, 0x81, 0xd1, 0xcf, 0xc0, 0xa0, 0x49, 0xa7, 0x11, 0xf7, 0x18, 0xad, 0x83, + 0xc3, 0xb3, 0xc9, 0xc6, 0xbd, 0xcb, 0xc5, 0xa6, 0x1e, 0x9b, 0x5f, 0xe6, 0x60, 0x77, 0xcc, 0xbc, + 0x5b, 0x53, 0xa9, 0x7d, 0xed, 0xf7, 0xb0, 0x9c, 0x85, 0x6f, 0xad, 0x84, 0xf9, 0xc9, 0xec, 0x5e, + 0xc8, 0x3a, 0x81, 0xb0, 0xdb, 0x61, 0xef, 0x93, 0xe0, 0x10, 0xc5, 0xf2, 0x26, 0x62, 0x8a, 0x29, + 0x92, 0xfd, 0x53, 0x9d, 0x54, 0x58, 0x54, 0x6d, 0xef, 0xae, 0x07, 0xbb, 0xcf, 0x75, 0x0f, 0x9f, + 0x08, 0x8f, 0xfb, 0x1a, 0x0f, 0xb3, 0x95, 0x95, 0x89, 0x7a, 0x0b, 0xa5, 0x8d, 0xe6, 0x03, 0x17, + 0xfa, 0x62, 0xfb, 0xdb, 0x6a, 0xf7, 0x5f, 0xee, 0x7b, 0x06, 0x86, 0xbd, 0x58, 0x62, 0xf3, 0xff, + 0xfb, 0xd2, 0xff, 0xdc, 0xe1, 0x27, 0x46, 0xef, 0x97, 0xe0, 0x90, 0x37, 0x9b, 0xfb, 0xd9, 0xb2, + 0xff, 0x8f, 0xf3, 0xe0, 0x3e, 0x16, 0x42, 0x61, 0xe3, 0xb4, 0xe5, 0x2b, 0x2b, 0x93, 0xcd, 0x56, + 0x52, 0xb2, 0x04, 0x1b, 0xf1, 0x47, 0x56, 0x3b, 0x23, 0x3e, 0x01, 0xd9, 0x7f, 0x68, 0x0e, 0x32, + 0x60, 0xff, 0xb3, 0xc3, 0x34, 0x2c, 0x07, 0x57, 0xe9, 0x86, 0x5c, 0x42, 0x71, 0xcb, 0xf2, 0x32, + 0xa0, 0xd6, 0xce, 0x0d, 0x5f, 0x60, 0xf4, 0xde, 0xa7, 0xa0, 0x49, 0x88, 0xfb, 0xaf, 0xf8, 0xb1, + 0x42, 0x2e, 0xf1, 0x01, 0x3e, 0x7d, 0xde, 0xf6, 0x31, 0xff, 0xed, 0x08, 0x9c, 0xf2, 0x1f, 0x0f, + 0xbd, 0xd4, 0xc4, 0xd6, 0x9e, 0x3b, 0x44, 0x4d, 0xb5, 0xa6, 0xe9, 0xfe, 0x57, 0x10, 0x47, 0xfd, + 0x13, 0x3e, 0xc5, 0x15, 0x76, 0x92, 0x3f, 0x20, 0xc1, 0xf0, 0xaa, 0x5a, 0xc3, 0x0a, 0x7e, 0xa9, + 0x89, 0x6d, 0xa7, 0xcd, 0x2d, 0xf3, 0xc3, 0x30, 0x68, 0x6c, 0x6d, 0x89, 0x33, 0xed, 0x98, 0xc2, + 0x4b, 0x44, 0xe7, 0xba, 0xd6, 0xd0, 0xd8, 0x75, 0xb0, 0x98, 0xc2, 0x0a, 0x68, 0x1a, 0x86, 0x2b, + 0x46, 0x53, 0xe7, 0x43, 0x2e, 0x13, 0x13, 0xdf, 0x5a, 0x69, 0xea, 0x6c, 0xc8, 0x11, 0x23, 0x5a, + 0xf8, 0x0a, 0xb6, 0x6c, 0xf6, 0x75, 0xc9, 0x84, 0x22, 0x8a, 0xf2, 0xd3, 0x90, 0x62, 0x92, 0xf0, + 0xc9, 0xf8, 0x28, 0x24, 0xe8, 0x4d, 0x2b, 0x4f, 0x9e, 0x21, 0x52, 0xbe, 0xc4, 0xee, 0xaa, 0x33, + 0xfe, 0x4c, 0x24, 0x56, 0x28, 0x14, 0x3a, 0x5a, 0xf9, 0x64, 0xef, 0xa8, 0xc1, 0x6c, 0xe8, 0x5a, + 0xf8, 0x37, 0xe3, 0x70, 0x88, 0x1f, 0xde, 0xa9, 0xa6, 0x76, 0x7a, 0xdb, 0x71, 0xc4, 0xdb, 0x09, + 0xe0, 0x59, 0xb0, 0x6a, 0x6a, 0xf2, 0x1e, 0xc4, 0x2e, 0x3a, 0x8e, 0x89, 0x4e, 0x41, 0xdc, 0x6a, + 0xd6, 0xb1, 0xd8, 0x0c, 0x72, 0xb7, 0xeb, 0x55, 0x53, 0x9b, 0x25, 0x08, 0x4a, 0xb3, 0x8e, 0x15, + 0x86, 0x82, 0x4a, 0x30, 0xbd, 0xd5, 0xac, 0xd7, 0xf7, 0xca, 0x55, 0x4c, 0xff, 0x5d, 0x96, 0xfb, + 0x0f, 0x27, 0xf0, 0xae, 0xa9, 0x8a, 0xcf, 0x56, 0x12, 0xc3, 0x1c, 0xa7, 0x68, 0x45, 0x8a, 0x25, + 0xfe, 0xd9, 0x44, 0x49, 0xe0, 0xc8, 0xbf, 0x1f, 0x81, 0x84, 0x60, 0x4d, 0x2f, 0x8f, 0xe3, 0x3a, + 0xae, 0x38, 0x86, 0x38, 0x4c, 0x71, 0xcb, 0x08, 0x41, 0xb4, 0xc6, 0x3b, 0x2f, 0x79, 0x71, 0x40, + 0x21, 0x05, 0x02, 0x73, 0xaf, 0xf4, 0x13, 0x98, 0xd9, 0x24, 0xfd, 0x19, 0x33, 0x0d, 0xb1, 0x6a, + 0xbb, 0x38, 0xa0, 0xd0, 0x12, 0xca, 0xc0, 0x20, 0x19, 0x34, 0x0e, 0xeb, 0x2d, 0x02, 0xe7, 0x65, + 0x74, 0x18, 0xe2, 0xa6, 0xea, 0x54, 0xd8, 0x6d, 0x3b, 0x52, 0xc1, 0x8a, 0xe8, 0x09, 0x18, 0x64, + 0xaf, 0xb2, 0xc3, 0xff, 0x8b, 0x86, 0x18, 0x83, 0x7d, 0xfe, 0x8e, 0xc8, 0xbd, 0xaa, 0x3a, 0x0e, + 0xb6, 0x74, 0xc2, 0x90, 0xa1, 0x23, 0x04, 0xb1, 0x4d, 0xa3, 0xba, 0xc7, 0xff, 0x3f, 0x0e, 0xfd, + 0xcd, 0xff, 0x21, 0x07, 0xf5, 0x87, 0x32, 0xad, 0x64, 0xff, 0x16, 0x2c, 0x25, 0x80, 0x05, 0x82, + 0x54, 0x82, 0x09, 0xb5, 0x5a, 0xd5, 0xd8, 0xbf, 0xaa, 0x29, 0x6f, 0x6a, 0x34, 0x78, 0xd8, 0xf4, + 0x9f, 0xbe, 0x75, 0xea, 0x0b, 0xe4, 0x11, 0x14, 0x38, 0x7e, 0x21, 0x09, 0x43, 0x26, 0x13, 0x4a, + 0x3e, 0x0f, 0xe3, 0x2d, 0x92, 0x12, 0xf9, 0x76, 0x34, 0xbd, 0x2a, 0xde, 0x39, 0x90, 0xdf, 0x04, + 0x46, 0x3f, 0x58, 0xc9, 0x8e, 0xa9, 0xe8, 0xef, 0xc2, 0x7b, 0x3a, 0x3f, 0x87, 0x19, 0xf5, 0x3d, + 0x87, 0x51, 0x4d, 0xad, 0x90, 0xa4, 0xfc, 0xf9, 0x23, 0x98, 0x7c, 0xeb, 0x23, 0x98, 0x1a, 0xd6, + 0xc5, 0xc4, 0x4c, 0xaa, 0x54, 0x53, 0xb3, 0xa9, 0x3b, 0x7a, 0x1f, 0xd0, 0xb4, 0xcf, 0xfb, 0x7e, + 0xd3, 0x37, 0x31, 0xb1, 0xf9, 0xfc, 0xea, 0x82, 0xeb, 0xc7, 0x5f, 0x8d, 0xc0, 0x71, 0x9f, 0x1f, + 0xfb, 0x90, 0x5b, 0xdd, 0x39, 0xdb, 0xde, 0xe3, 0xfb, 0x78, 0x9b, 0x7c, 0x09, 0x62, 0x04, 0x1f, + 0xf5, 0xf8, 0x77, 0x19, 0x99, 0xcf, 0x7f, 0xe3, 0x9f, 0xca, 0xc1, 0x03, 0xad, 0x40, 0xaf, 0x50, + 0x26, 0x85, 0xf7, 0xf7, 0x6f, 0xbf, 0xb4, 0xf7, 0xed, 0x50, 0xfb, 0xf6, 0x99, 0x31, 0x6c, 0xc3, + 0xef, 0x9e, 0xed, 0xf8, 0x76, 0x95, 0x05, 0xd3, 0xee, 0xf9, 0xd5, 0x3e, 0x22, 0x75, 0xa7, 0xa7, + 0x01, 0xdd, 0x7a, 0xb0, 0xcf, 0x4c, 0x6d, 0x17, 0x0e, 0x3f, 0x4b, 0xda, 0xf6, 0x56, 0xd0, 0x22, + 0xe4, 0x1f, 0x76, 0x0f, 0xfa, 0x24, 0xfe, 0x3f, 0xf7, 0xc4, 0x21, 0x1e, 0x78, 0xf2, 0xf1, 0xb5, + 0xe3, 0x7d, 0xb3, 0x1d, 0xa7, 0x92, 0x59, 0xdf, 0x34, 0xa2, 0xf8, 0x28, 0xe5, 0x5f, 0x95, 0xe0, + 0x48, 0x4b, 0xd3, 0x3c, 0xc6, 0xcf, 0xb7, 0x79, 0xc5, 0x70, 0xa0, 0xa4, 0x67, 0xbe, 0x8d, 0xb0, + 0xf7, 0xf7, 0x14, 0x96, 0x49, 0x11, 0x90, 0xf6, 0xcd, 0x70, 0x28, 0x28, 0xac, 0x30, 0xd3, 0xbd, + 0x30, 0x1a, 0xdc, 0x2c, 0xe6, 0xe6, 0x1a, 0x09, 0x6c, 0x17, 0xcb, 0xe5, 0xb0, 0x9d, 0x5d, 0x5d, + 0x4b, 0x90, 0x74, 0x51, 0x79, 0x76, 0xdc, 0xb7, 0xaa, 0x1e, 0xa5, 0xfc, 0x61, 0x09, 0x66, 0x82, + 0x2d, 0xf8, 0xf2, 0xa4, 0xfd, 0x09, 0x7b, 0xdb, 0xba, 0xf8, 0x75, 0x09, 0xee, 0xea, 0x22, 0x13, + 0x37, 0xc0, 0x35, 0x98, 0xf4, 0x6d, 0x12, 0x88, 0x10, 0x2e, 0xba, 0xfd, 0x54, 0xef, 0x0c, 0xd5, + 0x5d, 0x13, 0x1f, 0x23, 0x46, 0xf9, 0xec, 0xb7, 0xa7, 0x27, 0x5a, 0xeb, 0x6c, 0x65, 0xa2, 0x75, + 0x61, 0x7f, 0x1b, 0xfd, 0xe3, 0x15, 0x09, 0x1e, 0x08, 0xaa, 0xda, 0x26, 0xd5, 0xfd, 0x49, 0xf5, + 0xc3, 0xbf, 0x97, 0xe0, 0x54, 0x3f, 0xc2, 0xf1, 0x0e, 0xd9, 0x84, 0x09, 0x2f, 0x09, 0x0f, 0xf7, + 0xc7, 0xbe, 0x52, 0x7b, 0xe6, 0xa5, 0xc8, 0xe5, 0x76, 0x07, 0x0c, 0x6f, 0xf2, 0x81, 0xe5, 0xef, + 0x72, 0xd7, 0xc8, 0xc1, 0x8d, 0x5e, 0x61, 0xe4, 0xc0, 0x56, 0x6f, 0x9b, 0xbe, 0x88, 0xb4, 0xe9, + 0x0b, 0x2f, 0x6b, 0x97, 0xaf, 0xf0, 0xb8, 0xd5, 0x66, 0x7b, 0xee, 0x6d, 0x30, 0xd1, 0xc6, 0x95, + 0xf9, 0xa8, 0xde, 0x87, 0x27, 0x2b, 0xa8, 0xd5, 0x59, 0xe5, 0x3d, 0x98, 0xa6, 0xed, 0xb6, 0x31, + 0xf4, 0x9d, 0x56, 0xb9, 0xc1, 0x63, 0x4b, 0xdb, 0xa6, 0xb9, 0xee, 0x0b, 0x30, 0xc8, 0xfa, 0x99, + 0xab, 0x7b, 0x00, 0x47, 0xe1, 0x0c, 0xe4, 0x8f, 0x8b, 0x58, 0x56, 0x14, 0x62, 0xb7, 0x1f, 0x43, + 0xfd, 0xe8, 0x7a, 0x9b, 0xc6, 0x90, 0xcf, 0x18, 0xdf, 0x12, 0x51, 0xad, 0xbd, 0x74, 0xdc, 0x1c, + 0x95, 0xdb, 0x16, 0xd5, 0x98, 0x6d, 0xee, 0x6c, 0xf8, 0xfa, 0x65, 0x11, 0xbe, 0x5c, 0x9d, 0x7a, + 0x84, 0xaf, 0x9f, 0x8c, 0xe9, 0xdd, 0x40, 0xd6, 0x43, 0xcc, 0x3f, 0x8f, 0x81, 0xec, 0x07, 0x12, + 0x1c, 0xa5, 0xba, 0xf9, 0xf7, 0x28, 0xf6, 0x6b, 0xf2, 0x87, 0x00, 0xd9, 0x56, 0xa5, 0xdc, 0x76, + 0x74, 0xa7, 0x6d, 0xab, 0x72, 0x39, 0x30, 0xbf, 0x3c, 0x04, 0xa8, 0x1a, 0xd8, 0x89, 0xa2, 0xd8, + 0xec, 0x02, 0x5d, 0xba, 0xea, 0xdb, 0xe8, 0x68, 0xd3, 0x9d, 0xb1, 0xdb, 0xd0, 0x9d, 0xdf, 0x94, + 0x20, 0xdb, 0x4e, 0x65, 0xde, 0x7d, 0x1a, 0x1c, 0x0e, 0x9c, 0x1f, 0x84, 0x7b, 0xf0, 0xa1, 0x7e, + 0x76, 0x79, 0x42, 0xc3, 0xe8, 0x90, 0x85, 0xef, 0x74, 0x1e, 0x30, 0x1d, 0xf4, 0xd0, 0xd6, 0xcc, + 0xfa, 0x27, 0x36, 0x7c, 0xbe, 0xd4, 0x12, 0x57, 0xff, 0x5c, 0xe4, 0xde, 0xbb, 0x30, 0xd5, 0x41, + 0xea, 0x3b, 0x3d, 0xef, 0x6d, 0x77, 0xec, 0xcc, 0xdb, 0x9d, 0xbe, 0x3f, 0xce, 0x47, 0x42, 0xf0, + 0x72, 0xb6, 0x6f, 0x2d, 0xd6, 0xee, 0x75, 0x97, 0xfc, 0x56, 0x38, 0xd6, 0x96, 0x8a, 0xcb, 0x96, + 0x83, 0xd8, 0xb6, 0x66, 0x3b, 0x5c, 0xac, 0xfb, 0x3a, 0x89, 0x15, 0xa2, 0xa6, 0x34, 0x32, 0x82, + 0x34, 0x65, 0xbd, 0x6a, 0x18, 0x75, 0x2e, 0x86, 0x7c, 0x09, 0xc6, 0x7d, 0x30, 0xde, 0xc8, 0x39, + 0x88, 0x99, 0x06, 0xff, 0x72, 0xc1, 0xf0, 0x99, 0xe3, 0x1d, 0x37, 0xf6, 0x0d, 0xa3, 0xce, 0xd5, + 0xa6, 0xf8, 0xf2, 0x24, 0x20, 0xc6, 0x8c, 0xee, 0xf1, 0x8b, 0x26, 0xd6, 0x60, 0x22, 0x00, 0xe5, + 0x8d, 0xbc, 0xa1, 0xf3, 0x83, 0x33, 0xdf, 0x3b, 0x04, 0x71, 0xca, 0x15, 0x7d, 0x4c, 0x0a, 0x7c, + 0x5a, 0x68, 0xb6, 0x13, 0x9b, 0xf6, 0x6b, 0xe2, 0xec, 0xe9, 0xbe, 0xf1, 0x79, 0xce, 0x76, 0xea, + 0x3d, 0xff, 0xe6, 0xbb, 0x1f, 0x89, 0xdc, 0x83, 0xe4, 0xd3, 0x1d, 0x56, 0xe3, 0xbe, 0xf1, 0xf2, + 0x99, 0xc0, 0xb3, 0xf8, 0x87, 0xfb, 0x6b, 0x4a, 0x48, 0x36, 0xdb, 0x2f, 0x3a, 0x17, 0xec, 0x3c, + 0x15, 0xec, 0x2c, 0x7a, 0xac, 0xb7, 0x60, 0xa7, 0xdf, 0x11, 0x1c, 0x34, 0xef, 0x42, 0xbf, 0x2b, + 0xc1, 0x64, 0xbb, 0x25, 0x1d, 0x7a, 0xb2, 0x3f, 0x29, 0x5a, 0x53, 0x8a, 0xec, 0x53, 0x07, 0xa0, + 0xe4, 0xaa, 0xcc, 0x53, 0x55, 0xf2, 0xe8, 0xe9, 0x03, 0xa8, 0x72, 0xda, 0xbf, 0xf5, 0xff, 0xbf, + 0x24, 0x38, 0xd1, 0x75, 0x85, 0x84, 0xf2, 0xfd, 0x49, 0xd9, 0x25, 0x77, 0xca, 0x16, 0xde, 0x08, + 0x0b, 0xae, 0xf1, 0xb3, 0x54, 0xe3, 0x4b, 0x68, 0xe1, 0x20, 0x1a, 0xb7, 0x3d, 0x5f, 0x41, 0xbf, + 0x15, 0xbc, 0x74, 0xd8, 0xdd, 0x9d, 0x5a, 0x16, 0x1e, 0x3d, 0x06, 0x46, 0x6b, 0x52, 0x2b, 0x3f, + 0x4f, 0x55, 0x50, 0xd0, 0xea, 0x1b, 0xec, 0xb4, 0xd3, 0xef, 0x08, 0x06, 0xfe, 0x77, 0xa1, 0xff, + 0x29, 0xb5, 0xbf, 0x43, 0xf8, 0x44, 0x57, 0x11, 0x3b, 0x2f, 0xaa, 0xb2, 0x4f, 0xee, 0x9f, 0x90, + 0x2b, 0xd9, 0xa0, 0x4a, 0xd6, 0x10, 0xbe, 0xdd, 0x4a, 0xb6, 0xed, 0x44, 0xf4, 0x75, 0x09, 0x26, + 0xdb, 0xad, 0x49, 0x7a, 0x0c, 0xcb, 0x2e, 0x8b, 0xac, 0x1e, 0xc3, 0xb2, 0xdb, 0x02, 0x48, 0xfe, + 0x19, 0xaa, 0xfc, 0x39, 0xf4, 0x78, 0x27, 0xe5, 0xbb, 0xf6, 0x22, 0x19, 0x8b, 0x5d, 0x93, 0xfc, + 0x1e, 0x63, 0xb1, 0x9f, 0x75, 0x4c, 0x8f, 0xb1, 0xd8, 0xd7, 0x1a, 0xa3, 0xf7, 0x58, 0x74, 0x35, + 0xeb, 0xb3, 0x1b, 0x6d, 0xf4, 0x55, 0x09, 0x46, 0x02, 0x19, 0x31, 0x7a, 0xb4, 0xab, 0xa0, 0xed, + 0x16, 0x0c, 0xd9, 0x33, 0xfb, 0x21, 0xe1, 0xba, 0x2c, 0x50, 0x5d, 0xe6, 0x50, 0xfe, 0x20, 0xba, + 0x04, 0x8f, 0x51, 0xbf, 0x29, 0xc1, 0x44, 0x9b, 0x2c, 0xb3, 0xc7, 0x28, 0xec, 0x9c, 0x34, 0x67, + 0x9f, 0xdc, 0x3f, 0x21, 0xd7, 0xea, 0x02, 0xd5, 0xea, 0x2d, 0xe8, 0xcd, 0x07, 0xd1, 0xca, 0x37, + 0x3f, 0xdf, 0xf4, 0xae, 0x64, 0xf9, 0xda, 0x41, 0xe7, 0xf6, 0x29, 0x98, 0x50, 0xe8, 0x89, 0x7d, + 0xd3, 0x71, 0x7d, 0x9e, 0xa3, 0xfa, 0x3c, 0x8b, 0x56, 0xde, 0x98, 0x3e, 0xad, 0xd3, 0xfa, 0x17, + 0x5b, 0x1f, 0x07, 0x76, 0xf7, 0xa2, 0xb6, 0xc9, 0x6a, 0xf6, 0xb1, 0x7d, 0xd1, 0x70, 0xa5, 0x9e, + 0xa4, 0x4a, 0x9d, 0x41, 0x8f, 0x74, 0x52, 0xca, 0x77, 0xef, 0x4e, 0xd3, 0xb7, 0x8c, 0xd3, 0xef, + 0x60, 0x29, 0xf0, 0xbb, 0xd0, 0xbb, 0xc5, 0x9d, 0xa7, 0x93, 0x5d, 0xdb, 0xf5, 0xe5, 0xb1, 0xd9, + 0x07, 0xfa, 0xc0, 0xe4, 0x72, 0xdd, 0x43, 0xe5, 0x9a, 0x42, 0xc7, 0x3b, 0xc9, 0x45, 0x72, 0x59, + 0xf4, 0x41, 0xc9, 0xbd, 0x26, 0x79, 0xaa, 0x3b, 0x6f, 0x7f, 0xb2, 0x9b, 0x7d, 0xb0, 0x2f, 0x5c, + 0x2e, 0xc9, 0x7d, 0x54, 0x92, 0x19, 0x34, 0xd5, 0x51, 0x12, 0x96, 0xfa, 0xde, 0xee, 0x4b, 0x05, + 0xd7, 0x8f, 0xc0, 0x74, 0x87, 0x16, 0x9d, 0xdd, 0x1e, 0x67, 0x5c, 0x5d, 0xde, 0xc8, 0xf6, 0x7c, + 0x03, 0x7b, 0xbb, 0xbf, 0xed, 0xda, 0xe7, 0x81, 0xd8, 0x6f, 0xc7, 0x00, 0x2d, 0xd9, 0xb5, 0x39, + 0x0b, 0xb3, 0xff, 0x33, 0xc9, 0x47, 0x79, 0xe8, 0xf1, 0x97, 0xf4, 0x86, 0x1e, 0x7f, 0x2d, 0x05, + 0x9e, 0x53, 0x45, 0xf6, 0xf7, 0x64, 0xb3, 0xef, 0x37, 0x55, 0xd1, 0x1f, 0xcb, 0x9b, 0xaa, 0xf6, + 0x57, 0xae, 0x63, 0xb7, 0xef, 0x6d, 0x46, 0xfc, 0xa0, 0xef, 0x53, 0xf8, 0x53, 0xc9, 0xc1, 0x2e, + 0x4f, 0x25, 0x33, 0x1d, 0xdf, 0x43, 0x72, 0x6a, 0x74, 0x56, 0x7c, 0xe9, 0x74, 0xa8, 0xbf, 0x4b, + 0xb2, 0xfc, 0x53, 0xa8, 0xde, 0x16, 0xc2, 0x71, 0xc8, 0xb6, 0xba, 0x93, 0x3b, 0xa8, 0x3f, 0x12, + 0x85, 0xf4, 0x92, 0x5d, 0x2b, 0x55, 0x35, 0xe7, 0x0e, 0xf9, 0xda, 0xd3, 0x9d, 0xdf, 0xbb, 0xa0, + 0x5b, 0x37, 0xa7, 0x47, 0x99, 0x4d, 0xbb, 0x58, 0xb2, 0x01, 0x63, 0xa1, 0x57, 0xc6, 0xdc, 0xb3, + 0x8a, 0x07, 0x79, 0xec, 0x1c, 0x62, 0x25, 0xd3, 0xe7, 0x09, 0x3e, 0xff, 0x46, 0xbb, 0xed, 0x9d, + 0x99, 0x39, 0xd4, 0xc5, 0x3b, 0xf9, 0x38, 0xd0, 0xeb, 0xb3, 0x2c, 0x64, 0xc2, 0x9d, 0xe2, 0xf6, + 0xd8, 0x1f, 0x49, 0x30, 0xbc, 0x64, 0x8b, 0x54, 0x10, 0xff, 0x94, 0x3e, 0x4d, 0x7a, 0xc2, 0xfd, + 0x4c, 0x78, 0xb4, 0x3f, 0xbf, 0x15, 0x9f, 0x0e, 0xf7, 0x8c, 0x70, 0x08, 0x26, 0x7c, 0x7a, 0xba, + 0xfa, 0xff, 0x4e, 0x84, 0xc6, 0xc7, 0x02, 0xae, 0x69, 0xba, 0x9b, 0x45, 0xe2, 0xbf, 0xa8, 0x0f, + 0x2f, 0x3c, 0x3b, 0xc7, 0x0e, 0x6a, 0xe7, 0x1d, 0x1a, 0x20, 0x42, 0xf6, 0x74, 0x37, 0xbe, 0x96, + 0x5a, 0x9f, 0x05, 0x49, 0xfb, 0xf8, 0xe2, 0x4e, 0xe8, 0xf1, 0x8f, 0xfc, 0xba, 0x04, 0x23, 0x4b, + 0x76, 0x6d, 0x43, 0xaf, 0xfe, 0x3f, 0xef, 0xbf, 0x5b, 0x70, 0x28, 0xa0, 0xe9, 0x1d, 0x32, 0xe9, + 0x99, 0x57, 0x62, 0x10, 0x5d, 0xb2, 0x6b, 0xe8, 0x25, 0x18, 0x0b, 0x27, 0x0d, 0x1d, 0x73, 0xc1, + 0xd6, 0x19, 0xa1, 0xf3, 0x7a, 0xad, 0xf3, 0xec, 0x81, 0x76, 0x60, 0x24, 0x38, 0x73, 0x9c, 0xec, + 0xc2, 0x24, 0x80, 0x99, 0x7d, 0xa4, 0x5f, 0x4c, 0xb7, 0xb1, 0xb7, 0x43, 0xc2, 0x0d, 0x7a, 0x77, + 0x77, 0xa1, 0x16, 0x48, 0x9d, 0xb3, 0xdb, 0x36, 0x61, 0x85, 0x58, 0x2f, 0x1c, 0x52, 0xba, 0x59, + 0x2f, 0x84, 0xdb, 0xd5, 0x7a, 0x9d, 0x86, 0xd6, 0x26, 0x80, 0x6f, 0x1c, 0xdc, 0xdb, 0x85, 0x83, + 0x87, 0x96, 0x7d, 0xb8, 0x2f, 0x34, 0xf7, 0xd0, 0xe9, 0x36, 0x27, 0xe3, 0xff, 0x37, 0x00, 0x00, + 0xff, 0xff, 0xb1, 0x48, 0x2a, 0x05, 0xdd, 0x97, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -2089,9 +2084,6 @@ func (this *Params) Equal(that interface{}) bool { if this.BondDenom != that1.BondDenom { return false } - if !this.PowerReduction.Equal(that1.PowerReduction) { - return false - } return true } func (this *RedelegationEntryResponse) Equal(that interface{}) bool { @@ -2942,16 +2934,6 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - { - size := m.PowerReduction.Size() - i -= size - if _, err := m.PowerReduction.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintStaking(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x32 if len(m.BondDenom) > 0 { i -= len(m.BondDenom) copy(dAtA[i:], m.BondDenom) @@ -3493,8 +3475,6 @@ func (m *Params) Size() (n int) { if l > 0 { n += 1 + l + sovStaking(uint64(l)) } - l = m.PowerReduction.Size() - n += 1 + l + sovStaking(uint64(l)) return n } @@ -6027,40 +6007,6 @@ func (m *Params) Unmarshal(dAtA []byte) error { } m.BondDenom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PowerReduction", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowStaking - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthStaking - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthStaking - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.PowerReduction.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipStaking(dAtA[iNdEx:])