From 43c5933295a39c4f7313d41dfb187e960a175f38 Mon Sep 17 00:00:00 2001 From: Freddy Caceres Date: Thu, 14 Apr 2022 11:53:32 -0400 Subject: [PATCH 1/4] fix block height context height --- x/evm/keeper/grpc_query.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/x/evm/keeper/grpc_query.go b/x/evm/keeper/grpc_query.go index 0400e3e511..61387c8872 100644 --- a/x/evm/keeper/grpc_query.go +++ b/x/evm/keeper/grpc_query.go @@ -362,8 +362,15 @@ func (k Keeper) TraceTx(c context.Context, req *types.QueryTraceTxRequest) (*typ return nil, status.Errorf(codes.InvalidArgument, "output limit cannot be negative, got %d", req.TraceConfig.Limit) } + // minus one to get the context of block beginning + contextHeight := req.BlockNumber - 1 + if contextHeight < 1 { + // 0 is a special value in `ContextWithHeight` + contextHeight = 1 + } + ctx := sdk.UnwrapSDKContext(c) - ctx = ctx.WithBlockHeight(req.BlockNumber) + ctx = ctx.WithBlockHeight(contextHeight) ctx = ctx.WithBlockTime(req.BlockTime) ctx = ctx.WithHeaderHash(common.Hex2Bytes(req.BlockHash)) @@ -420,8 +427,15 @@ func (k Keeper) TraceBlock(c context.Context, req *types.QueryTraceBlockRequest) return nil, status.Errorf(codes.InvalidArgument, "output limit cannot be negative, got %d", req.TraceConfig.Limit) } + // minus one to get the context of block beginning + contextHeight := req.BlockNumber - 1 + if contextHeight < 1 { + // 0 is a special value in `ContextWithHeight` + contextHeight = 1 + } + ctx := sdk.UnwrapSDKContext(c) - ctx = ctx.WithBlockHeight(req.BlockNumber) + ctx = ctx.WithBlockHeight(contextHeight) ctx = ctx.WithBlockTime(req.BlockTime) ctx = ctx.WithHeaderHash(common.Hex2Bytes(req.BlockHash)) From 0962c8f5d90799d941a02bbf98ba32a1b8455966 Mon Sep 17 00:00:00 2001 From: Freddy Caceres Date: Thu, 14 Apr 2022 11:58:28 -0400 Subject: [PATCH 2/4] remove txIndex from QueryTraceTxRequest --- docs/api/proto-docs.md | 1 - go.mod | 15 +- go.sum | 64 +++++++++ proto/ethermint/evm/v1/query.proto | 4 +- rpc/ethereum/namespaces/debug/api.go | 1 - x/evm/keeper/grpc_query_test.go | 8 -- x/evm/types/query.pb.go | 198 +++++++++++---------------- 7 files changed, 160 insertions(+), 131 deletions(-) diff --git a/docs/api/proto-docs.md b/docs/api/proto-docs.md index f3dac8b4cd..1954f88ea9 100644 --- a/docs/api/proto-docs.md +++ b/docs/api/proto-docs.md @@ -783,7 +783,6 @@ QueryTraceTxRequest defines TraceTx request | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `msg` | [MsgEthereumTx](#ethermint.evm.v1.MsgEthereumTx) | | msgEthereumTx for the requested transaction | -| `tx_index` | [uint64](#uint64) | | transaction index | | `trace_config` | [TraceConfig](#ethermint.evm.v1.TraceConfig) | | TraceConfig holds extra parameters to trace functions. | | `predecessors` | [MsgEthereumTx](#ethermint.evm.v1.MsgEthereumTx) | repeated | the predecessor transactions included in the same block need to be replayed first to get correct context for tracing. | | `block_number` | [int64](#int64) | | block number of requested transaction | diff --git a/go.mod b/go.mod index c76032368d..429e72e7ed 100644 --- a/go.mod +++ b/go.mod @@ -31,7 +31,7 @@ require ( github.com/tendermint/tendermint v0.34.19 github.com/tendermint/tm-db v0.6.7 github.com/tyler-smith/go-bip39 v1.1.0 - google.golang.org/genproto v0.0.0-20220401170504-314d38edb7de + google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9 google.golang.org/grpc v1.45.0 google.golang.org/protobuf v1.28.0 gopkg.in/yaml.v2 v2.4.0 @@ -42,9 +42,13 @@ require ( github.com/99designs/keyring v1.1.6 // indirect github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect github.com/DataDog/zstd v1.4.5 // indirect + github.com/Masterminds/goutils v1.1.1 // indirect + github.com/Masterminds/semver v1.5.0 // indirect + github.com/Masterminds/sprig v2.22.0+incompatible // indirect github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 // indirect github.com/VictoriaMetrics/fastcache v1.6.0 // indirect github.com/Workiva/go-datastructures v1.0.53 // indirect + github.com/aokoli/goutils v1.1.1 // indirect github.com/armon/go-metrics v0.3.10 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/speakeasy v0.1.0 // indirect @@ -67,6 +71,7 @@ require ( github.com/dustin/go-humanize v1.0.0 // indirect github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect github.com/edsrzf/mmap-go v1.0.0 // indirect + github.com/envoyproxy/protoc-gen-validate v0.6.7 // indirect github.com/felixge/httpsnoop v1.0.1 // indirect github.com/fsnotify/fsnotify v1.5.1 // indirect github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff // indirect @@ -93,7 +98,9 @@ require ( github.com/hashicorp/hcl v1.0.0 // indirect github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect github.com/holiman/bloomfilter/v2 v2.0.3 // indirect + github.com/huandu/xstrings v1.3.2 // indirect github.com/huin/goupnp v1.0.2 // indirect + github.com/imdario/mergo v0.3.12 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/jackpal/go-nat-pmp v1.0.2 // indirect github.com/jmhodges/levigo v1.0.0 // indirect @@ -107,8 +114,10 @@ require ( github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect github.com/minio/highwayhash v1.0.2 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/mapstructure v1.4.3 // indirect github.com/mtibben/percent v0.2.1 // indirect + github.com/mwitkow/go-proto-validators v0.3.2 // indirect github.com/nxadm/tail v1.4.8 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/pelletier/go-toml v1.9.4 // indirect @@ -119,6 +128,8 @@ require ( github.com/prometheus/common v0.32.1 // indirect github.com/prometheus/procfs v0.7.3 // indirect github.com/prometheus/tsdb v0.7.1 // indirect + github.com/pseudomuto/protoc-gen-doc v1.5.1 // indirect + github.com/pseudomuto/protokit v0.2.1 // indirect github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect github.com/rjeczalik/notify v0.9.1 // indirect github.com/rs/zerolog v1.23.0 // indirect @@ -136,7 +147,7 @@ require ( github.com/tklauser/numcpus v0.2.2 // indirect github.com/zondax/hid v0.9.0 // indirect go.etcd.io/bbolt v1.3.6 // indirect - golang.org/x/crypto v0.0.0-20220331220935-ae2d96664a29 // indirect + golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b // indirect golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect diff --git a/go.sum b/go.sum index 56a18bbf55..af3964e8f8 100644 --- a/go.sum +++ b/go.sum @@ -27,6 +27,7 @@ cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aD cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= 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= @@ -85,6 +86,14 @@ github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= +github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= +github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY= @@ -122,6 +131,9 @@ github.com/allegro/bigcache v1.2.1 h1:hg1sY1raCwic3Vnsvje6TT7/pnZba83LeFck5NrFKS github.com/allegro/bigcache v1.2.1/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= +github.com/aokoli/goutils v1.1.1 h1:/hA+Ywo3AxoDZY5ZMnkiEkUvkK4BPp927ax110KCqqg= +github.com/aokoli/goutils v1.1.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= @@ -161,6 +173,7 @@ github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= 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/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= @@ -242,6 +255,7 @@ github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfc github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= +github.com/cosmos/cosmos-sdk v0.45.1/go.mod h1:XXS/asyCqWNWkx2rW6pSuen+EVcpAFxq6khrhnZgHaQ= github.com/cosmos/cosmos-sdk v0.45.3 h1:PiVSU3IkNEDPhoxOZHk2lPnhwBBJgEYAtAR0jGXRN4g= github.com/cosmos/cosmos-sdk v0.45.3/go.mod h1:qYm5JEr0ZlbnmoP/Q3b+dYMOliHf4ddHirpILiwZzqg= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= @@ -321,17 +335,22 @@ github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaB github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.3.0-java/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= +github.com/envoyproxy/protoc-gen-validate v0.6.7 h1:qcZcULcd/abmQg6dwigimCNEyi4gg31M/xaciQlDml8= +github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= github.com/ethereum/go-ethereum v1.10.4/go.mod h1:nEE0TP5MtxGzOMd7egIrbPJMQBnhVU3ELNxhBglIzhg= github.com/ethereum/go-ethereum v1.10.16 h1:3oPrumn0bCW/idjcxMn5YYVCdK7VzJYIvwGZUGLEaoc= github.com/ethereum/go-ethereum v1.10.16/go.mod h1:Anj6cxczl+AHy63o4X9O8yWNHuN5wMpfb8MAnHkWn7Y= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= +github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= +github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= @@ -363,6 +382,7 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= +github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= @@ -437,6 +457,7 @@ github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71 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.0.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= 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= @@ -556,6 +577,7 @@ github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIv github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= +github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= @@ -610,6 +632,9 @@ github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25 github.com/holiman/uint256 v1.2.0 h1:gpSYcPLWGv4sG43I2mVLiDZCNDh/EpGjSk8tmtxitHM= github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= +github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= +github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= @@ -620,6 +645,9 @@ github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3 github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= 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/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/improbable-eng/grpc-web v0.14.1/go.mod h1:zEjGHa8DAlkoOXmswrNvhUGEYQA9UI7DhrGeHR1DMGU= github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= @@ -708,6 +736,7 @@ github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk= github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOSqcmlfs= @@ -716,6 +745,7 @@ github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-b github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= +github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= @@ -768,6 +798,8 @@ github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= @@ -782,6 +814,8 @@ github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGg github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= 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= @@ -798,6 +832,9 @@ github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ib github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= +github.com/mwitkow/go-proto-validators v0.3.2 h1:qRlmpTzm2pstMKKzTdvwPCF5QfBNURSlAgN/R+qbKos= +github.com/mwitkow/go-proto-validators v0.3.2/go.mod h1:ej0Qp0qMgHN/KtDyUt+Q1/tA7a5VarXUOUxD+oeD30w= github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= @@ -882,6 +919,7 @@ github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChl 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.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= @@ -935,6 +973,7 @@ github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB8 github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.15.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.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= @@ -952,6 +991,11 @@ github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/pseudomuto/protoc-gen-doc v1.5.1 h1:Ah259kcrio7Ix1Rhb6u8FCaOkzf9qRBqXnvAufg061w= +github.com/pseudomuto/protoc-gen-doc v1.5.1/go.mod h1:XpMKYg6zkcpgfpCfQ8GcWBDRtRxOmMR5w7pz4Xo+dYM= +github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= +github.com/pseudomuto/protokit v0.2.1 h1:kCYpE3thoR6Esm0CUvd5xbrDTOZPvQPTDeyXpZfrJdk= +github.com/pseudomuto/protokit v0.2.1/go.mod h1:gt7N5Rz2flBzYafvaxyIxMZC0TTF5jDZfRnw25hAAyo= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -979,6 +1023,7 @@ github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= @@ -1013,12 +1058,15 @@ github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY52 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/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= +github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= +github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= @@ -1032,6 +1080,8 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM 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/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= +github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= @@ -1049,6 +1099,7 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -1195,6 +1246,8 @@ golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220331220935-ae2d96664a29 h1:tkVvjkPTB7pnW3jnid7kNyAMPVWllTNOf/qKDze4p9o= golang.org/x/crypto v0.0.0-20220331220935-ae2d96664a29/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA= +golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1299,6 +1352,7 @@ golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b h1:MWaHNqZy3KTpuTMAGvv+Kw+ylsEpmyJZizz1dqxnu28= golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1312,6 +1366,7 @@ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ 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/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= @@ -1558,6 +1613,7 @@ google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34q 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/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= @@ -1566,8 +1622,10 @@ google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6 google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= 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= @@ -1576,6 +1634,7 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww 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-20180427144745-86e600f69ee4/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= 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= @@ -1644,11 +1703,15 @@ google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220401170504-314d38edb7de h1:9Ti5SG2U4cAcluryUo/sFay3TQKoxiFMfaT0pbizU7k= google.golang.org/genproto v0.0.0-20220401170504-314d38edb7de/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9 h1:XGQ6tc+EnM35IAazg4y6AHmUg4oK8NXsXaILte1vRlk= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= 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/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= @@ -1681,6 +1744,7 @@ 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.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU= diff --git a/proto/ethermint/evm/v1/query.proto b/proto/ethermint/evm/v1/query.proto index 11a1be2f73..fc4d088220 100644 --- a/proto/ethermint/evm/v1/query.proto +++ b/proto/ethermint/evm/v1/query.proto @@ -230,8 +230,8 @@ message EstimateGasResponse { message QueryTraceTxRequest { // msgEthereumTx for the requested transaction MsgEthereumTx msg = 1; - // transaction index - uint64 tx_index = 2; + // tx_index is not necessary anymore + reserved 2; // TraceConfig holds extra parameters to trace functions. TraceConfig trace_config = 3; // the predecessor transactions included in the same block diff --git a/rpc/ethereum/namespaces/debug/api.go b/rpc/ethereum/namespaces/debug/api.go index 5dacaeb2aa..03f8aa9f3a 100644 --- a/rpc/ethereum/namespaces/debug/api.go +++ b/rpc/ethereum/namespaces/debug/api.go @@ -140,7 +140,6 @@ func (a *API) TraceTransaction(hash common.Hash, config *evmtypes.TraceConfig) ( traceTxRequest := evmtypes.QueryTraceTxRequest{ Msg: ethMessage, - TxIndex: uint64(transaction.Index), Predecessors: predecessors, BlockNumber: blk.Block.Height, BlockTime: blk.Block.Time, diff --git a/x/evm/keeper/grpc_query_test.go b/x/evm/keeper/grpc_query_test.go index 690e67b709..82652b7cea 100644 --- a/x/evm/keeper/grpc_query_test.go +++ b/x/evm/keeper/grpc_query_test.go @@ -605,7 +605,6 @@ func (suite *KeeperTestSuite) TestTraceTx() { var ( txMsg *types.MsgEthereumTx traceConfig *types.TraceConfig - txIndex uint64 predecessors []*types.MsgEthereumTx ) @@ -619,7 +618,6 @@ func (suite *KeeperTestSuite) TestTraceTx() { { msg: "default trace", malleate: func() { - txIndex = 0 traceConfig = nil predecessors = []*types.MsgEthereumTx{} }, @@ -629,7 +627,6 @@ func (suite *KeeperTestSuite) TestTraceTx() { { msg: "default trace with filtered response", malleate: func() { - txIndex = 0 traceConfig = &types.TraceConfig{ DisableStack: true, DisableStorage: true, @@ -644,7 +641,6 @@ func (suite *KeeperTestSuite) TestTraceTx() { { msg: "javascript tracer", malleate: func() { - txIndex = 0 traceConfig = &types.TraceConfig{ Tracer: "{data: [], fault: function(log) {}, step: function(log) { if(log.op.toString() == \"CALL\") this.data.push(log.stack.peek(0)); }, result: function() { return this.data; }}", } @@ -656,7 +652,6 @@ func (suite *KeeperTestSuite) TestTraceTx() { { msg: "default trace with enableFeemarket", malleate: func() { - txIndex = 0 traceConfig = &types.TraceConfig{ DisableStack: true, DisableStorage: true, @@ -671,7 +666,6 @@ func (suite *KeeperTestSuite) TestTraceTx() { { msg: "javascript tracer with enableFeemarket", malleate: func() { - txIndex = 0 traceConfig = &types.TraceConfig{ Tracer: "{data: [], fault: function(log) {}, step: function(log) { if(log.op.toString() == \"CALL\") this.data.push(log.stack.peek(0)); }, result: function() { return this.data; }}", } @@ -684,7 +678,6 @@ func (suite *KeeperTestSuite) TestTraceTx() { { msg: "default tracer with predecessors", malleate: func() { - txIndex = 1 traceConfig = nil // increase nonce to avoid address collision @@ -722,7 +715,6 @@ func (suite *KeeperTestSuite) TestTraceTx() { traceReq := types.QueryTraceTxRequest{ Msg: txMsg, TraceConfig: traceConfig, - TxIndex: txIndex, Predecessors: predecessors, } res, err := suite.queryClient.TraceTx(sdk.WrapSDKContext(suite.ctx), &traceReq) diff --git a/x/evm/types/query.pb.go b/x/evm/types/query.pb.go index 65672721ed..eeaf24e04c 100644 --- a/x/evm/types/query.pb.go +++ b/x/evm/types/query.pb.go @@ -890,8 +890,6 @@ func (m *EstimateGasResponse) GetGas() uint64 { type QueryTraceTxRequest struct { // msgEthereumTx for the requested transaction Msg *MsgEthereumTx `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` - // transaction index - TxIndex uint64 `protobuf:"varint,2,opt,name=tx_index,json=txIndex,proto3" json:"tx_index,omitempty"` // TraceConfig holds extra parameters to trace functions. TraceConfig *TraceConfig `protobuf:"bytes,3,opt,name=trace_config,json=traceConfig,proto3" json:"trace_config,omitempty"` // the predecessor transactions included in the same block @@ -945,13 +943,6 @@ func (m *QueryTraceTxRequest) GetMsg() *MsgEthereumTx { return nil } -func (m *QueryTraceTxRequest) GetTxIndex() uint64 { - if m != nil { - return m.TxIndex - } - return 0 -} - func (m *QueryTraceTxRequest) GetTraceConfig() *TraceConfig { if m != nil { return m.TraceConfig @@ -1188,88 +1179,88 @@ func init() { func init() { proto.RegisterFile("ethermint/evm/v1/query.proto", fileDescriptor_e15a877459347994) } var fileDescriptor_e15a877459347994 = []byte{ - // 1295 bytes of a gzipped FileDescriptorProto + // 1286 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4d, 0x6f, 0x1b, 0xc5, - 0x1b, 0xcf, 0x26, 0x4e, 0x9c, 0x3e, 0x4e, 0xfb, 0xcf, 0x7f, 0x1a, 0xa8, 0xbb, 0x24, 0x76, 0xba, - 0x6d, 0xde, 0xda, 0xb0, 0x4b, 0x0c, 0xaa, 0x44, 0x25, 0x04, 0x4d, 0x54, 0x0a, 0x6a, 0x8b, 0x8a, - 0x89, 0x38, 0x70, 0xb1, 0xc6, 0xeb, 0xe9, 0xda, 0xaa, 0x77, 0xc7, 0xdd, 0x19, 0x9b, 0x4d, 0x4b, - 0x39, 0x20, 0x51, 0x15, 0xf5, 0x52, 0x09, 0xce, 0xa8, 0xdf, 0x80, 0xaf, 0xd1, 0x63, 0x25, 0x2e, - 0x9c, 0x00, 0xb5, 0x1c, 0xb8, 0xf6, 0x1b, 0xa0, 0x79, 0x59, 0x7b, 0xed, 0xf5, 0xc6, 0x29, 0xea, - 0x81, 0xdb, 0xbc, 0x3c, 0xf3, 0xfc, 0x7e, 0xcf, 0xcb, 0xcc, 0x6f, 0x60, 0x99, 0xf0, 0x26, 0x09, - 0xfd, 0x56, 0xc0, 0x1d, 0xd2, 0xf3, 0x9d, 0xde, 0x8e, 0x73, 0xa7, 0x4b, 0xc2, 0x03, 0xbb, 0x13, - 0x52, 0x4e, 0xd1, 0x62, 0x7f, 0xd7, 0x26, 0x3d, 0xdf, 0xee, 0xed, 0x98, 0x4b, 0x1e, 0xf5, 0xa8, - 0xdc, 0x74, 0xc4, 0x48, 0xd9, 0x99, 0xe7, 0x5d, 0xca, 0x7c, 0xca, 0x9c, 0x3a, 0x66, 0x44, 0x39, - 0x70, 0x7a, 0x3b, 0x75, 0xc2, 0xf1, 0x8e, 0xd3, 0xc1, 0x5e, 0x2b, 0xc0, 0xbc, 0x45, 0x03, 0x6d, - 0xbb, 0xec, 0x51, 0xea, 0xb5, 0x89, 0x83, 0x3b, 0x2d, 0x07, 0x07, 0x01, 0xe5, 0x72, 0x93, 0xe9, - 0x5d, 0x33, 0xc5, 0x47, 0x00, 0xab, 0xbd, 0xd3, 0xa9, 0x3d, 0x1e, 0xe9, 0xad, 0xb2, 0x76, 0x2a, - 0x67, 0xf5, 0xee, 0x2d, 0x87, 0xb7, 0x7c, 0xc2, 0x38, 0xf6, 0x3b, 0xca, 0xc0, 0x7a, 0x1f, 0x4e, - 0x7e, 0x2e, 0x78, 0x5d, 0x76, 0x5d, 0xda, 0x0d, 0x78, 0x95, 0xdc, 0xe9, 0x12, 0xc6, 0x51, 0x11, - 0xf2, 0xb8, 0xd1, 0x08, 0x09, 0x63, 0x45, 0x63, 0xd5, 0xd8, 0x3c, 0x56, 0x8d, 0xa7, 0x97, 0xe6, - 0x1f, 0x3e, 0x29, 0x4f, 0xfd, 0xfd, 0xa4, 0x3c, 0x65, 0xb9, 0xb0, 0x34, 0x7c, 0x94, 0x75, 0x68, - 0xc0, 0x88, 0x38, 0x5b, 0xc7, 0x6d, 0x1c, 0xb8, 0x24, 0x3e, 0xab, 0xa7, 0xe8, 0x2d, 0x38, 0xe6, - 0xd2, 0x06, 0xa9, 0x35, 0x31, 0x6b, 0x16, 0xa7, 0xe5, 0xde, 0xbc, 0x58, 0xf8, 0x04, 0xb3, 0x26, - 0x5a, 0x82, 0xd9, 0x80, 0x8a, 0x43, 0x33, 0xab, 0xc6, 0x66, 0xae, 0xaa, 0x26, 0xd6, 0x87, 0x70, - 0x5a, 0x82, 0xec, 0xc9, 0x44, 0xfe, 0x0b, 0x96, 0x0f, 0x0c, 0x30, 0xc7, 0x79, 0xd0, 0x64, 0xd7, - 0xe0, 0x84, 0xaa, 0x51, 0x6d, 0xd8, 0xd3, 0x71, 0xb5, 0x7a, 0x59, 0x2d, 0x22, 0x13, 0xe6, 0x99, - 0x00, 0x15, 0xfc, 0xa6, 0x25, 0xbf, 0xfe, 0x5c, 0xb8, 0xc0, 0xca, 0x6b, 0x2d, 0xe8, 0xfa, 0x75, - 0x12, 0xea, 0x08, 0x8e, 0xeb, 0xd5, 0xcf, 0xe4, 0xa2, 0x75, 0x0d, 0x96, 0x25, 0x8f, 0x2f, 0x71, - 0xbb, 0xd5, 0xc0, 0x9c, 0x86, 0x23, 0xc1, 0x9c, 0x81, 0x05, 0x97, 0x06, 0xa3, 0x3c, 0x0a, 0x62, - 0xed, 0x72, 0x2a, 0xaa, 0x47, 0x06, 0xac, 0x64, 0x78, 0xd3, 0x81, 0x6d, 0xc0, 0xff, 0x62, 0x56, - 0xc3, 0x1e, 0x63, 0xb2, 0xaf, 0x31, 0xb4, 0xb8, 0x89, 0x76, 0x55, 0x9d, 0x5f, 0xa5, 0x3c, 0xef, - 0xe8, 0x26, 0xea, 0x1f, 0x9d, 0xd4, 0x44, 0xd6, 0x35, 0x0d, 0xf6, 0x05, 0xa7, 0x21, 0xf6, 0x26, - 0x83, 0xa1, 0x45, 0x98, 0xb9, 0x4d, 0x0e, 0x74, 0xbf, 0x89, 0x61, 0x02, 0x7e, 0x5b, 0xc3, 0xf7, - 0x9d, 0x69, 0xf8, 0x25, 0x98, 0xed, 0xe1, 0x76, 0x37, 0x06, 0x57, 0x13, 0xeb, 0x22, 0x2c, 0xea, - 0x56, 0x6a, 0xbc, 0x52, 0x90, 0x1b, 0xf0, 0xff, 0xc4, 0x39, 0x0d, 0x81, 0x20, 0x27, 0x7a, 0x5f, - 0x9e, 0x5a, 0xa8, 0xca, 0xb1, 0x75, 0x17, 0x90, 0x34, 0xdc, 0x8f, 0xae, 0x53, 0x8f, 0xc5, 0x10, - 0x08, 0x72, 0xf2, 0xc6, 0x28, 0xff, 0x72, 0x8c, 0x3e, 0x06, 0x18, 0xbc, 0x20, 0x32, 0xb6, 0x42, - 0x65, 0xdd, 0x56, 0x4d, 0x6b, 0x8b, 0xe7, 0xc6, 0x56, 0xef, 0x95, 0x7e, 0x6e, 0xec, 0x9b, 0x83, - 0x54, 0x55, 0x13, 0x27, 0x13, 0x24, 0x7f, 0x30, 0x74, 0x62, 0x63, 0x70, 0xcd, 0x73, 0x0b, 0x72, - 0x6d, 0xea, 0x89, 0xe8, 0x66, 0x36, 0x0b, 0x95, 0x37, 0xec, 0xd1, 0xa7, 0xcf, 0xbe, 0x4e, 0xbd, - 0xaa, 0x34, 0x41, 0x57, 0xc7, 0x90, 0xda, 0x98, 0x48, 0x4a, 0xe1, 0x24, 0x59, 0x59, 0x4b, 0x3a, - 0x0f, 0x37, 0x71, 0x88, 0xfd, 0x38, 0x0f, 0xd6, 0x0d, 0x4d, 0x30, 0x5e, 0xd5, 0x04, 0x2f, 0xc2, - 0x5c, 0x47, 0xae, 0xc8, 0x04, 0x15, 0x2a, 0xc5, 0x34, 0x45, 0x75, 0x62, 0x37, 0xf7, 0xf4, 0xf7, - 0xf2, 0x54, 0x55, 0x5b, 0x5b, 0x1f, 0xc0, 0x89, 0x2b, 0xbc, 0xb9, 0x87, 0xdb, 0xed, 0x44, 0xa2, - 0x71, 0xe8, 0xb1, 0xb8, 0x24, 0x62, 0x8c, 0x4e, 0x41, 0xde, 0xc3, 0xac, 0xe6, 0xe2, 0x8e, 0xbe, - 0x1d, 0x73, 0x1e, 0x66, 0x7b, 0xb8, 0x63, 0x6d, 0xc0, 0xc9, 0x2b, 0x8c, 0xb7, 0x7c, 0xcc, 0xc9, - 0x55, 0x3c, 0x60, 0xb3, 0x08, 0x33, 0x1e, 0x56, 0x2e, 0x72, 0x55, 0x31, 0xb4, 0x5e, 0x4e, 0xc7, - 0x89, 0x0d, 0xb1, 0x4b, 0xf6, 0xa3, 0x18, 0x6d, 0x07, 0x66, 0x7c, 0xe6, 0x69, 0xd2, 0xe5, 0x34, - 0xe9, 0x1b, 0xcc, 0xbb, 0x22, 0xd6, 0x48, 0xd7, 0xdf, 0x8f, 0xaa, 0xc2, 0x16, 0x9d, 0x86, 0x79, - 0x1e, 0xd5, 0x5a, 0x41, 0x83, 0x44, 0x9a, 0x4d, 0x9e, 0x47, 0x9f, 0x8a, 0x29, 0xfa, 0x08, 0x16, - 0xb8, 0xf0, 0x5f, 0x73, 0x69, 0x70, 0xab, 0xe5, 0xc9, 0x8b, 0x5a, 0xa8, 0xac, 0xa4, 0xdd, 0x4a, - 0x16, 0x7b, 0xd2, 0xa8, 0x5a, 0xe0, 0x83, 0x09, 0xda, 0x83, 0x85, 0x4e, 0x48, 0x1a, 0xc4, 0x25, - 0x8c, 0xd1, 0x90, 0x15, 0x73, 0xb2, 0xe0, 0x13, 0x89, 0x0d, 0x1d, 0x12, 0xaf, 0x58, 0xbd, 0x4d, - 0xdd, 0xdb, 0xf1, 0x7b, 0x31, 0xbb, 0x6a, 0x6c, 0xce, 0x54, 0x0b, 0x72, 0x4d, 0xbd, 0x16, 0x68, - 0x05, 0x40, 0x99, 0xc8, 0xa6, 0x9e, 0x93, 0x4d, 0x7d, 0x4c, 0xae, 0x48, 0x1d, 0xd8, 0x8b, 0xb7, - 0x85, 0x54, 0x15, 0xf3, 0x32, 0x0c, 0xd3, 0x56, 0x3a, 0x66, 0xc7, 0x3a, 0x66, 0xef, 0xc7, 0x3a, - 0xb6, 0x3b, 0x2f, 0x8a, 0xfa, 0xf8, 0x8f, 0xb2, 0xa1, 0x9d, 0x88, 0x1d, 0xeb, 0xbc, 0xbe, 0xd7, - 0xfd, 0x94, 0x0f, 0x2e, 0x5d, 0x03, 0x73, 0x1c, 0x57, 0x58, 0x8c, 0xad, 0x9f, 0xa6, 0xe1, 0xcd, - 0x81, 0xf1, 0xae, 0xf0, 0x91, 0x28, 0x11, 0x8f, 0xe2, 0xd6, 0x9f, 0x5c, 0x22, 0x1e, 0xb1, 0xd7, - 0x50, 0x87, 0xff, 0x48, 0x0a, 0xdf, 0x86, 0x53, 0xa9, 0xac, 0x64, 0x67, 0xb1, 0xf2, 0xb2, 0x00, - 0xb3, 0xd2, 0x1e, 0x7d, 0x6f, 0x40, 0x5e, 0xab, 0x11, 0x5a, 0x4b, 0xc7, 0x3d, 0xe6, 0xbb, 0x61, - 0xae, 0x4f, 0x32, 0x53, 0xc0, 0xd6, 0x85, 0xef, 0x7e, 0xfd, 0xeb, 0xc7, 0xe9, 0x35, 0x74, 0xd6, - 0x49, 0x7d, 0x79, 0xb4, 0x22, 0x39, 0xf7, 0xf4, 0xf3, 0x7b, 0x1f, 0xfd, 0x6c, 0xc0, 0xf1, 0x21, - 0xd1, 0x47, 0x17, 0x32, 0x60, 0xc6, 0x7d, 0x2e, 0xcc, 0xed, 0xa3, 0x19, 0x6b, 0x66, 0x15, 0xc9, - 0x6c, 0x1b, 0x9d, 0x4f, 0x33, 0x8b, 0xff, 0x17, 0x29, 0x82, 0xbf, 0x18, 0xb0, 0x38, 0xaa, 0xdf, - 0xc8, 0xce, 0x80, 0xcd, 0xf8, 0x36, 0x98, 0xce, 0x91, 0xed, 0x35, 0xd3, 0x4b, 0x92, 0xe9, 0x7b, - 0xa8, 0x92, 0x66, 0xda, 0x8b, 0xcf, 0x0c, 0xc8, 0x26, 0xbf, 0x24, 0xf7, 0xd1, 0x03, 0x03, 0xf2, - 0x5a, 0xa9, 0x33, 0x4b, 0x3b, 0xfc, 0x09, 0xc8, 0x2c, 0xed, 0x88, 0xe0, 0x5b, 0xdb, 0x92, 0xd6, - 0x3a, 0x3a, 0x97, 0xa6, 0xa5, 0x95, 0x9f, 0x25, 0x52, 0xf7, 0xc8, 0x80, 0xbc, 0xd6, 0xec, 0x4c, - 0x22, 0xc3, 0x1f, 0x84, 0x4c, 0x22, 0x23, 0xd2, 0x6f, 0xed, 0x48, 0x22, 0x17, 0xd0, 0x56, 0x9a, - 0x08, 0x53, 0xa6, 0x03, 0x1e, 0xce, 0xbd, 0xdb, 0xe4, 0xe0, 0x3e, 0xba, 0x0b, 0x39, 0x21, 0xed, - 0xc8, 0xca, 0x6c, 0x99, 0xfe, 0x7f, 0xc1, 0x3c, 0x7b, 0xa8, 0x8d, 0xe6, 0xb0, 0x25, 0x39, 0x9c, - 0x45, 0x67, 0xc6, 0x75, 0x53, 0x63, 0x28, 0x13, 0x5f, 0xc3, 0x9c, 0x52, 0x37, 0x74, 0x2e, 0xc3, - 0xf3, 0x90, 0x88, 0x9a, 0x6b, 0x13, 0xac, 0x34, 0x83, 0x55, 0xc9, 0xc0, 0x44, 0xc5, 0x34, 0x03, - 0x25, 0x9f, 0x28, 0x82, 0xbc, 0x96, 0x4f, 0xb4, 0x9a, 0xf6, 0x39, 0xac, 0xac, 0xe6, 0xc6, 0xa4, - 0xb7, 0x33, 0xc6, 0xb5, 0x24, 0xee, 0x32, 0x32, 0xd3, 0xb8, 0x84, 0x37, 0x6b, 0xae, 0x80, 0xfb, - 0x16, 0x0a, 0x09, 0xe5, 0x3d, 0x02, 0xfa, 0x98, 0x98, 0xc7, 0x48, 0xb7, 0xb5, 0x2e, 0xb1, 0x57, - 0x51, 0x69, 0x0c, 0xb6, 0x36, 0xaf, 0x79, 0x98, 0xa1, 0x6f, 0x20, 0xaf, 0x75, 0x25, 0xb3, 0xf7, - 0x86, 0xa5, 0x3e, 0xb3, 0xf7, 0x46, 0xe4, 0xe9, 0xb0, 0xe8, 0x95, 0xa8, 0xf0, 0x08, 0x3d, 0x34, - 0x00, 0x06, 0x6f, 0x32, 0xda, 0x3c, 0xcc, 0x75, 0x52, 0xcc, 0xcc, 0xad, 0x23, 0x58, 0x6a, 0x1e, - 0x6b, 0x92, 0x47, 0x19, 0xad, 0x64, 0xf1, 0x90, 0x32, 0xb1, 0xbb, 0xfb, 0xf4, 0x79, 0xc9, 0x78, - 0xf6, 0xbc, 0x64, 0xfc, 0xf9, 0xbc, 0x64, 0x3c, 0x7e, 0x51, 0x9a, 0x7a, 0xf6, 0xa2, 0x34, 0xf5, - 0xdb, 0x8b, 0xd2, 0xd4, 0x57, 0x9b, 0x5e, 0x8b, 0x37, 0xbb, 0x75, 0xdb, 0xa5, 0xbe, 0xc3, 0x9b, - 0x38, 0x64, 0x2d, 0x96, 0x70, 0x15, 0x49, 0x67, 0xfc, 0xa0, 0x43, 0x58, 0x7d, 0x4e, 0xea, 0xd1, - 0xbb, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x05, 0x8b, 0x73, 0xeb, 0x71, 0x0f, 0x00, 0x00, + 0x1b, 0xcf, 0xc6, 0x4e, 0x9c, 0x3e, 0x4e, 0xfb, 0xcf, 0x7f, 0x1a, 0xa8, 0xbb, 0x24, 0x76, 0xba, + 0x6d, 0xde, 0xda, 0xb0, 0x4b, 0x0c, 0xaa, 0x44, 0x25, 0x04, 0x8d, 0x55, 0x8a, 0x68, 0x8b, 0x8a, + 0x89, 0x38, 0x70, 0xb1, 0xc6, 0xeb, 0xe9, 0xda, 0xaa, 0x77, 0xc7, 0xdd, 0x19, 0x1b, 0xa7, 0xa5, + 0x1c, 0x90, 0xa8, 0x8a, 0x7a, 0xa9, 0x04, 0x67, 0xd4, 0x6f, 0xc0, 0xd7, 0xe8, 0xb1, 0x12, 0x17, + 0x0e, 0x08, 0x50, 0xcb, 0x81, 0x2b, 0xdf, 0x00, 0xcd, 0xcb, 0xda, 0x6b, 0xaf, 0x37, 0x4e, 0x51, + 0x0f, 0xdc, 0x76, 0x66, 0x9e, 0x79, 0x7e, 0xbf, 0xe7, 0x65, 0x9f, 0xdf, 0xc0, 0x0a, 0xe1, 0x4d, + 0x12, 0xfa, 0xad, 0x80, 0x3b, 0xa4, 0xe7, 0x3b, 0xbd, 0x5d, 0xe7, 0x4e, 0x97, 0x84, 0x07, 0x76, + 0x27, 0xa4, 0x9c, 0xa2, 0xa5, 0xc1, 0xa9, 0x4d, 0x7a, 0xbe, 0xdd, 0xdb, 0x35, 0x97, 0x3d, 0xea, + 0x51, 0x79, 0xe8, 0x88, 0x2f, 0x65, 0x67, 0x9e, 0x77, 0x29, 0xf3, 0x29, 0x73, 0xea, 0x98, 0x11, + 0xe5, 0xc0, 0xe9, 0xed, 0xd6, 0x09, 0xc7, 0xbb, 0x4e, 0x07, 0x7b, 0xad, 0x00, 0xf3, 0x16, 0x0d, + 0xb4, 0xed, 0x8a, 0x47, 0xa9, 0xd7, 0x26, 0x0e, 0xee, 0xb4, 0x1c, 0x1c, 0x04, 0x94, 0xcb, 0x43, + 0xa6, 0x4f, 0xcd, 0x04, 0x1f, 0x01, 0xac, 0xce, 0x4e, 0x27, 0xce, 0x78, 0x5f, 0x1f, 0x95, 0xb4, + 0x53, 0xb9, 0xaa, 0x77, 0x6f, 0x39, 0xbc, 0xe5, 0x13, 0xc6, 0xb1, 0xdf, 0x51, 0x06, 0xd6, 0xbb, + 0x70, 0xf2, 0x53, 0xc1, 0xeb, 0xb2, 0xeb, 0xd2, 0x6e, 0xc0, 0xab, 0xe4, 0x4e, 0x97, 0x30, 0x8e, + 0x0a, 0x90, 0xc3, 0x8d, 0x46, 0x48, 0x18, 0x2b, 0x18, 0x6b, 0xc6, 0xd6, 0xb1, 0x6a, 0xb4, 0xbc, + 0xb4, 0xf0, 0xf0, 0x49, 0x69, 0xe6, 0xaf, 0x27, 0xa5, 0x19, 0xcb, 0x85, 0xe5, 0xd1, 0xab, 0xac, + 0x43, 0x03, 0x46, 0xc4, 0xdd, 0x3a, 0x6e, 0xe3, 0xc0, 0x25, 0xd1, 0x5d, 0xbd, 0x44, 0x6f, 0xc0, + 0x31, 0x97, 0x36, 0x48, 0xad, 0x89, 0x59, 0xb3, 0x30, 0x2b, 0xcf, 0x16, 0xc4, 0xc6, 0x47, 0x98, + 0x35, 0xd1, 0x32, 0xcc, 0x05, 0x54, 0x5c, 0xca, 0xac, 0x19, 0x5b, 0xd9, 0xaa, 0x5a, 0x58, 0xef, + 0xc3, 0x69, 0x09, 0x52, 0x91, 0x89, 0xfc, 0x17, 0x2c, 0x1f, 0x18, 0x60, 0x4e, 0xf2, 0xa0, 0xc9, + 0xae, 0xc3, 0x09, 0x55, 0xa3, 0xda, 0xa8, 0xa7, 0xe3, 0x6a, 0xf7, 0xb2, 0xda, 0x44, 0x26, 0x2c, + 0x30, 0x01, 0x2a, 0xf8, 0xcd, 0x4a, 0x7e, 0x83, 0xb5, 0x70, 0x81, 0x95, 0xd7, 0x5a, 0xd0, 0xf5, + 0xeb, 0x24, 0xd4, 0x11, 0x1c, 0xd7, 0xbb, 0x9f, 0xc8, 0x4d, 0xeb, 0x1a, 0xac, 0x48, 0x1e, 0x9f, + 0xe3, 0x76, 0xab, 0x81, 0x39, 0x0d, 0xc7, 0x82, 0x39, 0x03, 0x8b, 0x2e, 0x0d, 0xc6, 0x79, 0xe4, + 0xc5, 0xde, 0xe5, 0x44, 0x54, 0x8f, 0x0c, 0x58, 0x4d, 0xf1, 0xa6, 0x03, 0xdb, 0x84, 0xff, 0x45, + 0xac, 0x46, 0x3d, 0x46, 0x64, 0x5f, 0x61, 0x68, 0x51, 0x13, 0xed, 0xa9, 0x3a, 0xbf, 0x4c, 0x79, + 0xde, 0xd2, 0x4d, 0x34, 0xb8, 0x3a, 0xad, 0x89, 0xac, 0x6b, 0x1a, 0xec, 0x33, 0x4e, 0x43, 0xec, + 0x4d, 0x07, 0x43, 0x4b, 0x90, 0xb9, 0x4d, 0x0e, 0x74, 0xbf, 0x89, 0xcf, 0x18, 0xfc, 0x8e, 0x86, + 0x1f, 0x38, 0xd3, 0xf0, 0xcb, 0x30, 0xd7, 0xc3, 0xed, 0x6e, 0x04, 0xae, 0x16, 0xd6, 0x45, 0x58, + 0xd2, 0xad, 0xd4, 0x78, 0xa9, 0x20, 0x37, 0xe1, 0xff, 0xb1, 0x7b, 0x1a, 0x02, 0x41, 0x56, 0xf4, + 0xbe, 0xbc, 0xb5, 0x58, 0x95, 0xdf, 0xd6, 0x5d, 0x40, 0xd2, 0x70, 0xbf, 0x7f, 0x9d, 0x7a, 0x2c, + 0x82, 0x40, 0x90, 0x95, 0x7f, 0x8c, 0xf2, 0x2f, 0xbf, 0xd1, 0x87, 0x00, 0xc3, 0x09, 0x22, 0x63, + 0xcb, 0x97, 0x37, 0x6c, 0xd5, 0xb4, 0xb6, 0x18, 0x37, 0xb6, 0x9a, 0x57, 0x7a, 0xdc, 0xd8, 0x37, + 0x87, 0xa9, 0xaa, 0xc6, 0x6e, 0xc6, 0x48, 0x7e, 0x67, 0xe8, 0xc4, 0x46, 0xe0, 0x9a, 0xe7, 0x36, + 0x64, 0xdb, 0xd4, 0x13, 0xd1, 0x65, 0xb6, 0xf2, 0xe5, 0xd7, 0xec, 0xf1, 0xd1, 0x67, 0x5f, 0xa7, + 0x5e, 0x55, 0x9a, 0xa0, 0xab, 0x13, 0x48, 0x6d, 0x4e, 0x25, 0xa5, 0x70, 0xe2, 0xac, 0xac, 0x65, + 0x9d, 0x87, 0x9b, 0x38, 0xc4, 0x7e, 0x94, 0x07, 0xeb, 0x86, 0x26, 0x18, 0xed, 0x6a, 0x82, 0x17, + 0x61, 0xbe, 0x23, 0x77, 0x64, 0x82, 0xf2, 0xe5, 0x42, 0x92, 0xa2, 0xba, 0xb1, 0x97, 0x7d, 0xfa, + 0x5b, 0x69, 0xa6, 0xaa, 0xad, 0xad, 0xf7, 0xe0, 0xc4, 0x15, 0xde, 0xac, 0xe0, 0x76, 0x3b, 0x96, + 0x68, 0x1c, 0x7a, 0x2c, 0x2a, 0x89, 0xf8, 0x46, 0xa7, 0x20, 0xe7, 0x61, 0x56, 0x73, 0x71, 0x47, + 0xff, 0x1d, 0xf3, 0x1e, 0x66, 0x15, 0xdc, 0xb1, 0x36, 0xe1, 0xe4, 0x15, 0xc6, 0x5b, 0x3e, 0xe6, + 0xe4, 0x2a, 0x1e, 0xb2, 0x59, 0x82, 0x8c, 0x87, 0x95, 0x8b, 0x6c, 0x55, 0x7c, 0x5a, 0xbf, 0xce, + 0x46, 0x89, 0x0d, 0xb1, 0x4b, 0xf6, 0xfb, 0x11, 0xda, 0x2e, 0x64, 0x7c, 0xe6, 0x69, 0xd2, 0xa5, + 0x24, 0xe9, 0x1b, 0xcc, 0xbb, 0x22, 0xf6, 0x48, 0xd7, 0xdf, 0xef, 0x57, 0x85, 0x2d, 0xfa, 0x00, + 0x16, 0xb9, 0x70, 0x52, 0x73, 0x69, 0x70, 0xab, 0xe5, 0xc9, 0xbf, 0x31, 0x5f, 0x5e, 0x4d, 0xde, + 0x95, 0x50, 0x15, 0x69, 0x54, 0xcd, 0xf3, 0xe1, 0x02, 0x55, 0x60, 0xb1, 0x13, 0x92, 0x06, 0x71, + 0x09, 0x63, 0x34, 0x64, 0x85, 0xac, 0xac, 0xea, 0x54, 0xf4, 0x91, 0x4b, 0x62, 0x54, 0xd5, 0xdb, + 0xd4, 0xbd, 0x1d, 0x0d, 0x85, 0xb9, 0x35, 0x63, 0x2b, 0x53, 0xcd, 0xcb, 0x3d, 0x35, 0x12, 0xd0, + 0x2a, 0x80, 0x32, 0x91, 0x9d, 0x3b, 0x2f, 0x3b, 0xf7, 0x98, 0xdc, 0x91, 0xc3, 0xbe, 0x12, 0x1d, + 0x0b, 0x3d, 0x2a, 0xe4, 0x64, 0x18, 0xa6, 0xad, 0xc4, 0xca, 0x8e, 0xc4, 0xca, 0xde, 0x8f, 0xc4, + 0x6a, 0x6f, 0x41, 0x54, 0xee, 0xf1, 0xef, 0x25, 0x43, 0x3b, 0x11, 0x27, 0x1f, 0x67, 0x17, 0x66, + 0x97, 0x32, 0xd6, 0x79, 0xfd, 0x0b, 0x0f, 0xb2, 0x3b, 0xfc, 0xbf, 0x1a, 0x98, 0xe3, 0xa8, 0x98, + 0xe2, 0xdb, 0xfa, 0x61, 0x16, 0x5e, 0x1f, 0x1a, 0xef, 0x09, 0x4f, 0xb1, 0x6a, 0xf0, 0x7e, 0xd4, + 0xe5, 0xd3, 0xab, 0xc1, 0xfb, 0xec, 0x15, 0x54, 0xe3, 0xbf, 0x91, 0x48, 0xeb, 0x4d, 0x38, 0x95, + 0xc8, 0x4a, 0x7a, 0x16, 0xcb, 0x7f, 0xe7, 0x61, 0x4e, 0xda, 0xa3, 0x6f, 0x0d, 0xc8, 0x69, 0xe1, + 0x41, 0xeb, 0xc9, 0xb8, 0x27, 0xbc, 0x2c, 0xcc, 0x8d, 0x69, 0x66, 0x0a, 0xd8, 0xba, 0xf0, 0xcd, + 0xcf, 0x7f, 0x7e, 0x3f, 0xbb, 0x8e, 0xce, 0x3a, 0x89, 0xd7, 0x8d, 0x16, 0x1f, 0xe7, 0x9e, 0x9e, + 0xb4, 0xf7, 0xd1, 0x8f, 0x06, 0x1c, 0x1f, 0xd1, 0x77, 0x74, 0x21, 0x05, 0x66, 0xd2, 0x3b, 0xc2, + 0xdc, 0x39, 0x9a, 0xb1, 0x66, 0x56, 0x96, 0xcc, 0x76, 0xd0, 0xf9, 0x24, 0xb3, 0xe8, 0x29, 0x91, + 0x20, 0xf8, 0x93, 0x01, 0x4b, 0xe3, 0x52, 0x8d, 0xec, 0x14, 0xd8, 0x94, 0x17, 0x82, 0xe9, 0x1c, + 0xd9, 0x5e, 0x33, 0xbd, 0x24, 0x99, 0xbe, 0x83, 0xca, 0x49, 0xa6, 0xbd, 0xe8, 0xce, 0x90, 0x6c, + 0xfc, 0xf5, 0x71, 0x1f, 0x3d, 0x30, 0x20, 0xa7, 0x45, 0x39, 0xb5, 0xb4, 0xa3, 0x7a, 0x9f, 0x5a, + 0xda, 0x31, 0x6d, 0xb7, 0x76, 0x24, 0xad, 0x0d, 0x74, 0x2e, 0x49, 0x4b, 0x8b, 0x3c, 0x8b, 0xa5, + 0xee, 0x91, 0x01, 0x39, 0x2d, 0xcf, 0xa9, 0x44, 0x46, 0xdf, 0x02, 0xa9, 0x44, 0xc6, 0x54, 0xde, + 0xda, 0x95, 0x44, 0x2e, 0xa0, 0xed, 0x24, 0x11, 0xa6, 0x4c, 0x87, 0x3c, 0x9c, 0x7b, 0xb7, 0xc9, + 0xc1, 0x7d, 0x74, 0x17, 0xb2, 0x42, 0xc5, 0x91, 0x95, 0xda, 0x32, 0x83, 0xa7, 0x81, 0x79, 0xf6, + 0x50, 0x1b, 0xcd, 0x61, 0x5b, 0x72, 0x38, 0x8b, 0xce, 0x4c, 0xea, 0xa6, 0xc6, 0x48, 0x26, 0xbe, + 0x84, 0x79, 0x25, 0x64, 0xe8, 0x5c, 0x8a, 0xe7, 0x11, 0xbd, 0x34, 0xd7, 0xa7, 0x58, 0x69, 0x06, + 0x6b, 0x92, 0x81, 0x89, 0x0a, 0x49, 0x06, 0x4a, 0x29, 0x51, 0x1f, 0x72, 0x5a, 0x29, 0xd1, 0x5a, + 0xd2, 0xe7, 0xa8, 0x88, 0x9a, 0x9b, 0xd3, 0x66, 0x67, 0x84, 0x6b, 0x49, 0xdc, 0x15, 0x64, 0x26, + 0x71, 0x09, 0x6f, 0xd6, 0x5c, 0x01, 0xf7, 0x35, 0xe4, 0x63, 0x22, 0x7b, 0x04, 0xf4, 0x09, 0x31, + 0x4f, 0x50, 0x69, 0x6b, 0x43, 0x62, 0xaf, 0xa1, 0xe2, 0x04, 0x6c, 0x6d, 0x5e, 0xf3, 0x30, 0x43, + 0x5f, 0x41, 0x4e, 0xeb, 0x4a, 0x6a, 0xef, 0x8d, 0xaa, 0x7a, 0x6a, 0xef, 0x8d, 0xc9, 0xd3, 0x61, + 0xd1, 0x2b, 0x51, 0xe1, 0x7d, 0xf4, 0xd0, 0x00, 0x18, 0xce, 0x64, 0xb4, 0x75, 0x98, 0xeb, 0xb8, + 0x98, 0x99, 0xdb, 0x47, 0xb0, 0xd4, 0x3c, 0xd6, 0x25, 0x8f, 0x12, 0x5a, 0x4d, 0xe3, 0x21, 0x65, + 0x62, 0x6f, 0xef, 0xe9, 0xf3, 0xa2, 0xf1, 0xec, 0x79, 0xd1, 0xf8, 0xe3, 0x79, 0xd1, 0x78, 0xfc, + 0xa2, 0x38, 0xf3, 0xec, 0x45, 0x71, 0xe6, 0x97, 0x17, 0xc5, 0x99, 0x2f, 0xb6, 0xbc, 0x16, 0x6f, + 0x76, 0xeb, 0xb6, 0x4b, 0x7d, 0x87, 0x37, 0x71, 0xc8, 0x5a, 0x2c, 0xe6, 0xaa, 0x2f, 0x9d, 0xf1, + 0x83, 0x0e, 0x61, 0xf5, 0x79, 0xa9, 0x47, 0x6f, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xda, 0x5d, + 0x1f, 0x5c, 0x5c, 0x0f, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2413,11 +2404,6 @@ func (m *QueryTraceTxRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1a } - if m.TxIndex != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.TxIndex)) - i-- - dAtA[i] = 0x10 - } if m.Msg != nil { { size, err := m.Msg.MarshalToSizedBuffer(dAtA[:i]) @@ -2846,9 +2832,6 @@ func (m *QueryTraceTxRequest) Size() (n int) { l = m.Msg.Size() n += 1 + l + sovQuery(uint64(l)) } - if m.TxIndex != 0 { - n += 1 + sovQuery(uint64(m.TxIndex)) - } if m.TraceConfig != nil { l = m.TraceConfig.Size() n += 1 + l + sovQuery(uint64(l)) @@ -4684,25 +4667,6 @@ func (m *QueryTraceTxRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TxIndex", wireType) - } - m.TxIndex = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TxIndex |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field TraceConfig", wireType) From 5c3b15c835661bf3d10b73b05a18e7257a400777 Mon Sep 17 00:00:00 2001 From: Freddy Caceres Date: Thu, 14 Apr 2022 12:12:25 -0400 Subject: [PATCH 3/4] update changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd348e29d7..96b3cf04cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,9 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (deps) [tharsis#1046](https://github.com/tharsis/ethermint/pull/1046) Bump Cosmos SDK version to [`v0.45.3`](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.3) +### API Breaking +* (evm) [tharsis#1051](https://github.com/tharsis/ethermint/pull/1051) Context block height fix on TraceTx. Removes `tx_index` on `QueryTraceTxRequest` proto type. + ## [v0.13.0] - 2022-04-05 ### API Breaking From 475ffe1d70b19798c6b85df01ed42a072019b499 Mon Sep 17 00:00:00 2001 From: Freddy Caceres Date: Sat, 16 Apr 2022 11:15:13 -0400 Subject: [PATCH 4/4] reserve tx_index --- go.mod | 2 +- go.sum | 6 +- proto/ethermint/evm/v1/query.proto | 1 + x/evm/types/query.pb.go | 160 ++++++++++++++--------------- 4 files changed, 84 insertions(+), 85 deletions(-) diff --git a/go.mod b/go.mod index 429e72e7ed..b232821ed2 100644 --- a/go.mod +++ b/go.mod @@ -31,7 +31,7 @@ require ( github.com/tendermint/tendermint v0.34.19 github.com/tendermint/tm-db v0.6.7 github.com/tyler-smith/go-bip39 v1.1.0 - google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9 + google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4 google.golang.org/grpc v1.45.0 google.golang.org/protobuf v1.28.0 gopkg.in/yaml.v2 v2.4.0 diff --git a/go.sum b/go.sum index af3964e8f8..5e73c932e7 100644 --- a/go.sum +++ b/go.sum @@ -1244,8 +1244,6 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220331220935-ae2d96664a29 h1:tkVvjkPTB7pnW3jnid7kNyAMPVWllTNOf/qKDze4p9o= -golang.org/x/crypto v0.0.0-20220331220935-ae2d96664a29/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA= golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1708,10 +1706,10 @@ google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220401170504-314d38edb7de h1:9Ti5SG2U4cAcluryUo/sFay3TQKoxiFMfaT0pbizU7k= -google.golang.org/genproto v0.0.0-20220401170504-314d38edb7de/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9 h1:XGQ6tc+EnM35IAazg4y6AHmUg4oK8NXsXaILte1vRlk= google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4 h1:myaecH64R0bIEDjNORIel4iXubqzaHU1K2z8ajBwWcM= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= 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/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= diff --git a/proto/ethermint/evm/v1/query.proto b/proto/ethermint/evm/v1/query.proto index fc4d088220..812ed16611 100644 --- a/proto/ethermint/evm/v1/query.proto +++ b/proto/ethermint/evm/v1/query.proto @@ -232,6 +232,7 @@ message QueryTraceTxRequest { MsgEthereumTx msg = 1; // tx_index is not necessary anymore reserved 2; + reserved "tx_index"; // TraceConfig holds extra parameters to trace functions. TraceConfig trace_config = 3; // the predecessor transactions included in the same block diff --git a/x/evm/types/query.pb.go b/x/evm/types/query.pb.go index eeaf24e04c..481b0b7220 100644 --- a/x/evm/types/query.pb.go +++ b/x/evm/types/query.pb.go @@ -1179,88 +1179,88 @@ func init() { func init() { proto.RegisterFile("ethermint/evm/v1/query.proto", fileDescriptor_e15a877459347994) } var fileDescriptor_e15a877459347994 = []byte{ - // 1286 bytes of a gzipped FileDescriptorProto + // 1294 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4d, 0x6f, 0x1b, 0xc5, 0x1b, 0xcf, 0xc6, 0x4e, 0x9c, 0x3e, 0x4e, 0xfb, 0xcf, 0x7f, 0x1a, 0xa8, 0xbb, 0x24, 0x76, 0xba, - 0x6d, 0xde, 0xda, 0xb0, 0x4b, 0x0c, 0xaa, 0x44, 0x25, 0x04, 0x8d, 0x55, 0x8a, 0x68, 0x8b, 0x8a, - 0x89, 0x38, 0x70, 0xb1, 0xc6, 0xeb, 0xe9, 0xda, 0xaa, 0x77, 0xc7, 0xdd, 0x19, 0x1b, 0xa7, 0xa5, - 0x1c, 0x90, 0xa8, 0x8a, 0x7a, 0xa9, 0x04, 0x67, 0xd4, 0x6f, 0xc0, 0xd7, 0xe8, 0xb1, 0x12, 0x17, - 0x0e, 0x08, 0x50, 0xcb, 0x81, 0x2b, 0xdf, 0x00, 0xcd, 0xcb, 0xda, 0x6b, 0xaf, 0x37, 0x4e, 0x51, - 0x0f, 0xdc, 0x76, 0x66, 0x9e, 0x79, 0x7e, 0xbf, 0xe7, 0x65, 0x9f, 0xdf, 0xc0, 0x0a, 0xe1, 0x4d, - 0x12, 0xfa, 0xad, 0x80, 0x3b, 0xa4, 0xe7, 0x3b, 0xbd, 0x5d, 0xe7, 0x4e, 0x97, 0x84, 0x07, 0x76, - 0x27, 0xa4, 0x9c, 0xa2, 0xa5, 0xc1, 0xa9, 0x4d, 0x7a, 0xbe, 0xdd, 0xdb, 0x35, 0x97, 0x3d, 0xea, - 0x51, 0x79, 0xe8, 0x88, 0x2f, 0x65, 0x67, 0x9e, 0x77, 0x29, 0xf3, 0x29, 0x73, 0xea, 0x98, 0x11, - 0xe5, 0xc0, 0xe9, 0xed, 0xd6, 0x09, 0xc7, 0xbb, 0x4e, 0x07, 0x7b, 0xad, 0x00, 0xf3, 0x16, 0x0d, - 0xb4, 0xed, 0x8a, 0x47, 0xa9, 0xd7, 0x26, 0x0e, 0xee, 0xb4, 0x1c, 0x1c, 0x04, 0x94, 0xcb, 0x43, - 0xa6, 0x4f, 0xcd, 0x04, 0x1f, 0x01, 0xac, 0xce, 0x4e, 0x27, 0xce, 0x78, 0x5f, 0x1f, 0x95, 0xb4, - 0x53, 0xb9, 0xaa, 0x77, 0x6f, 0x39, 0xbc, 0xe5, 0x13, 0xc6, 0xb1, 0xdf, 0x51, 0x06, 0xd6, 0xbb, - 0x70, 0xf2, 0x53, 0xc1, 0xeb, 0xb2, 0xeb, 0xd2, 0x6e, 0xc0, 0xab, 0xe4, 0x4e, 0x97, 0x30, 0x8e, - 0x0a, 0x90, 0xc3, 0x8d, 0x46, 0x48, 0x18, 0x2b, 0x18, 0x6b, 0xc6, 0xd6, 0xb1, 0x6a, 0xb4, 0xbc, - 0xb4, 0xf0, 0xf0, 0x49, 0x69, 0xe6, 0xaf, 0x27, 0xa5, 0x19, 0xcb, 0x85, 0xe5, 0xd1, 0xab, 0xac, - 0x43, 0x03, 0x46, 0xc4, 0xdd, 0x3a, 0x6e, 0xe3, 0xc0, 0x25, 0xd1, 0x5d, 0xbd, 0x44, 0x6f, 0xc0, - 0x31, 0x97, 0x36, 0x48, 0xad, 0x89, 0x59, 0xb3, 0x30, 0x2b, 0xcf, 0x16, 0xc4, 0xc6, 0x47, 0x98, - 0x35, 0xd1, 0x32, 0xcc, 0x05, 0x54, 0x5c, 0xca, 0xac, 0x19, 0x5b, 0xd9, 0xaa, 0x5a, 0x58, 0xef, - 0xc3, 0x69, 0x09, 0x52, 0x91, 0x89, 0xfc, 0x17, 0x2c, 0x1f, 0x18, 0x60, 0x4e, 0xf2, 0xa0, 0xc9, - 0xae, 0xc3, 0x09, 0x55, 0xa3, 0xda, 0xa8, 0xa7, 0xe3, 0x6a, 0xf7, 0xb2, 0xda, 0x44, 0x26, 0x2c, - 0x30, 0x01, 0x2a, 0xf8, 0xcd, 0x4a, 0x7e, 0x83, 0xb5, 0x70, 0x81, 0x95, 0xd7, 0x5a, 0xd0, 0xf5, - 0xeb, 0x24, 0xd4, 0x11, 0x1c, 0xd7, 0xbb, 0x9f, 0xc8, 0x4d, 0xeb, 0x1a, 0xac, 0x48, 0x1e, 0x9f, - 0xe3, 0x76, 0xab, 0x81, 0x39, 0x0d, 0xc7, 0x82, 0x39, 0x03, 0x8b, 0x2e, 0x0d, 0xc6, 0x79, 0xe4, - 0xc5, 0xde, 0xe5, 0x44, 0x54, 0x8f, 0x0c, 0x58, 0x4d, 0xf1, 0xa6, 0x03, 0xdb, 0x84, 0xff, 0x45, - 0xac, 0x46, 0x3d, 0x46, 0x64, 0x5f, 0x61, 0x68, 0x51, 0x13, 0xed, 0xa9, 0x3a, 0xbf, 0x4c, 0x79, - 0xde, 0xd2, 0x4d, 0x34, 0xb8, 0x3a, 0xad, 0x89, 0xac, 0x6b, 0x1a, 0xec, 0x33, 0x4e, 0x43, 0xec, - 0x4d, 0x07, 0x43, 0x4b, 0x90, 0xb9, 0x4d, 0x0e, 0x74, 0xbf, 0x89, 0xcf, 0x18, 0xfc, 0x8e, 0x86, - 0x1f, 0x38, 0xd3, 0xf0, 0xcb, 0x30, 0xd7, 0xc3, 0xed, 0x6e, 0x04, 0xae, 0x16, 0xd6, 0x45, 0x58, - 0xd2, 0xad, 0xd4, 0x78, 0xa9, 0x20, 0x37, 0xe1, 0xff, 0xb1, 0x7b, 0x1a, 0x02, 0x41, 0x56, 0xf4, - 0xbe, 0xbc, 0xb5, 0x58, 0x95, 0xdf, 0xd6, 0x5d, 0x40, 0xd2, 0x70, 0xbf, 0x7f, 0x9d, 0x7a, 0x2c, - 0x82, 0x40, 0x90, 0x95, 0x7f, 0x8c, 0xf2, 0x2f, 0xbf, 0xd1, 0x87, 0x00, 0xc3, 0x09, 0x22, 0x63, - 0xcb, 0x97, 0x37, 0x6c, 0xd5, 0xb4, 0xb6, 0x18, 0x37, 0xb6, 0x9a, 0x57, 0x7a, 0xdc, 0xd8, 0x37, - 0x87, 0xa9, 0xaa, 0xc6, 0x6e, 0xc6, 0x48, 0x7e, 0x67, 0xe8, 0xc4, 0x46, 0xe0, 0x9a, 0xe7, 0x36, - 0x64, 0xdb, 0xd4, 0x13, 0xd1, 0x65, 0xb6, 0xf2, 0xe5, 0xd7, 0xec, 0xf1, 0xd1, 0x67, 0x5f, 0xa7, - 0x5e, 0x55, 0x9a, 0xa0, 0xab, 0x13, 0x48, 0x6d, 0x4e, 0x25, 0xa5, 0x70, 0xe2, 0xac, 0xac, 0x65, - 0x9d, 0x87, 0x9b, 0x38, 0xc4, 0x7e, 0x94, 0x07, 0xeb, 0x86, 0x26, 0x18, 0xed, 0x6a, 0x82, 0x17, - 0x61, 0xbe, 0x23, 0x77, 0x64, 0x82, 0xf2, 0xe5, 0x42, 0x92, 0xa2, 0xba, 0xb1, 0x97, 0x7d, 0xfa, - 0x5b, 0x69, 0xa6, 0xaa, 0xad, 0xad, 0xf7, 0xe0, 0xc4, 0x15, 0xde, 0xac, 0xe0, 0x76, 0x3b, 0x96, - 0x68, 0x1c, 0x7a, 0x2c, 0x2a, 0x89, 0xf8, 0x46, 0xa7, 0x20, 0xe7, 0x61, 0x56, 0x73, 0x71, 0x47, - 0xff, 0x1d, 0xf3, 0x1e, 0x66, 0x15, 0xdc, 0xb1, 0x36, 0xe1, 0xe4, 0x15, 0xc6, 0x5b, 0x3e, 0xe6, - 0xe4, 0x2a, 0x1e, 0xb2, 0x59, 0x82, 0x8c, 0x87, 0x95, 0x8b, 0x6c, 0x55, 0x7c, 0x5a, 0xbf, 0xce, - 0x46, 0x89, 0x0d, 0xb1, 0x4b, 0xf6, 0xfb, 0x11, 0xda, 0x2e, 0x64, 0x7c, 0xe6, 0x69, 0xd2, 0xa5, - 0x24, 0xe9, 0x1b, 0xcc, 0xbb, 0x22, 0xf6, 0x48, 0xd7, 0xdf, 0xef, 0x57, 0x85, 0x2d, 0xfa, 0x00, - 0x16, 0xb9, 0x70, 0x52, 0x73, 0x69, 0x70, 0xab, 0xe5, 0xc9, 0xbf, 0x31, 0x5f, 0x5e, 0x4d, 0xde, - 0x95, 0x50, 0x15, 0x69, 0x54, 0xcd, 0xf3, 0xe1, 0x02, 0x55, 0x60, 0xb1, 0x13, 0x92, 0x06, 0x71, - 0x09, 0x63, 0x34, 0x64, 0x85, 0xac, 0xac, 0xea, 0x54, 0xf4, 0x91, 0x4b, 0x62, 0x54, 0xd5, 0xdb, - 0xd4, 0xbd, 0x1d, 0x0d, 0x85, 0xb9, 0x35, 0x63, 0x2b, 0x53, 0xcd, 0xcb, 0x3d, 0x35, 0x12, 0xd0, - 0x2a, 0x80, 0x32, 0x91, 0x9d, 0x3b, 0x2f, 0x3b, 0xf7, 0x98, 0xdc, 0x91, 0xc3, 0xbe, 0x12, 0x1d, - 0x0b, 0x3d, 0x2a, 0xe4, 0x64, 0x18, 0xa6, 0xad, 0xc4, 0xca, 0x8e, 0xc4, 0xca, 0xde, 0x8f, 0xc4, - 0x6a, 0x6f, 0x41, 0x54, 0xee, 0xf1, 0xef, 0x25, 0x43, 0x3b, 0x11, 0x27, 0x1f, 0x67, 0x17, 0x66, - 0x97, 0x32, 0xd6, 0x79, 0xfd, 0x0b, 0x0f, 0xb2, 0x3b, 0xfc, 0xbf, 0x1a, 0x98, 0xe3, 0xa8, 0x98, - 0xe2, 0xdb, 0xfa, 0x61, 0x16, 0x5e, 0x1f, 0x1a, 0xef, 0x09, 0x4f, 0xb1, 0x6a, 0xf0, 0x7e, 0xd4, - 0xe5, 0xd3, 0xab, 0xc1, 0xfb, 0xec, 0x15, 0x54, 0xe3, 0xbf, 0x91, 0x48, 0xeb, 0x4d, 0x38, 0x95, - 0xc8, 0x4a, 0x7a, 0x16, 0xcb, 0x7f, 0xe7, 0x61, 0x4e, 0xda, 0xa3, 0x6f, 0x0d, 0xc8, 0x69, 0xe1, - 0x41, 0xeb, 0xc9, 0xb8, 0x27, 0xbc, 0x2c, 0xcc, 0x8d, 0x69, 0x66, 0x0a, 0xd8, 0xba, 0xf0, 0xcd, - 0xcf, 0x7f, 0x7e, 0x3f, 0xbb, 0x8e, 0xce, 0x3a, 0x89, 0xd7, 0x8d, 0x16, 0x1f, 0xe7, 0x9e, 0x9e, - 0xb4, 0xf7, 0xd1, 0x8f, 0x06, 0x1c, 0x1f, 0xd1, 0x77, 0x74, 0x21, 0x05, 0x66, 0xd2, 0x3b, 0xc2, - 0xdc, 0x39, 0x9a, 0xb1, 0x66, 0x56, 0x96, 0xcc, 0x76, 0xd0, 0xf9, 0x24, 0xb3, 0xe8, 0x29, 0x91, - 0x20, 0xf8, 0x93, 0x01, 0x4b, 0xe3, 0x52, 0x8d, 0xec, 0x14, 0xd8, 0x94, 0x17, 0x82, 0xe9, 0x1c, - 0xd9, 0x5e, 0x33, 0xbd, 0x24, 0x99, 0xbe, 0x83, 0xca, 0x49, 0xa6, 0xbd, 0xe8, 0xce, 0x90, 0x6c, - 0xfc, 0xf5, 0x71, 0x1f, 0x3d, 0x30, 0x20, 0xa7, 0x45, 0x39, 0xb5, 0xb4, 0xa3, 0x7a, 0x9f, 0x5a, - 0xda, 0x31, 0x6d, 0xb7, 0x76, 0x24, 0xad, 0x0d, 0x74, 0x2e, 0x49, 0x4b, 0x8b, 0x3c, 0x8b, 0xa5, - 0xee, 0x91, 0x01, 0x39, 0x2d, 0xcf, 0xa9, 0x44, 0x46, 0xdf, 0x02, 0xa9, 0x44, 0xc6, 0x54, 0xde, - 0xda, 0x95, 0x44, 0x2e, 0xa0, 0xed, 0x24, 0x11, 0xa6, 0x4c, 0x87, 0x3c, 0x9c, 0x7b, 0xb7, 0xc9, - 0xc1, 0x7d, 0x74, 0x17, 0xb2, 0x42, 0xc5, 0x91, 0x95, 0xda, 0x32, 0x83, 0xa7, 0x81, 0x79, 0xf6, - 0x50, 0x1b, 0xcd, 0x61, 0x5b, 0x72, 0x38, 0x8b, 0xce, 0x4c, 0xea, 0xa6, 0xc6, 0x48, 0x26, 0xbe, - 0x84, 0x79, 0x25, 0x64, 0xe8, 0x5c, 0x8a, 0xe7, 0x11, 0xbd, 0x34, 0xd7, 0xa7, 0x58, 0x69, 0x06, - 0x6b, 0x92, 0x81, 0x89, 0x0a, 0x49, 0x06, 0x4a, 0x29, 0x51, 0x1f, 0x72, 0x5a, 0x29, 0xd1, 0x5a, - 0xd2, 0xe7, 0xa8, 0x88, 0x9a, 0x9b, 0xd3, 0x66, 0x67, 0x84, 0x6b, 0x49, 0xdc, 0x15, 0x64, 0x26, - 0x71, 0x09, 0x6f, 0xd6, 0x5c, 0x01, 0xf7, 0x35, 0xe4, 0x63, 0x22, 0x7b, 0x04, 0xf4, 0x09, 0x31, - 0x4f, 0x50, 0x69, 0x6b, 0x43, 0x62, 0xaf, 0xa1, 0xe2, 0x04, 0x6c, 0x6d, 0x5e, 0xf3, 0x30, 0x43, - 0x5f, 0x41, 0x4e, 0xeb, 0x4a, 0x6a, 0xef, 0x8d, 0xaa, 0x7a, 0x6a, 0xef, 0x8d, 0xc9, 0xd3, 0x61, - 0xd1, 0x2b, 0x51, 0xe1, 0x7d, 0xf4, 0xd0, 0x00, 0x18, 0xce, 0x64, 0xb4, 0x75, 0x98, 0xeb, 0xb8, - 0x98, 0x99, 0xdb, 0x47, 0xb0, 0xd4, 0x3c, 0xd6, 0x25, 0x8f, 0x12, 0x5a, 0x4d, 0xe3, 0x21, 0x65, - 0x62, 0x6f, 0xef, 0xe9, 0xf3, 0xa2, 0xf1, 0xec, 0x79, 0xd1, 0xf8, 0xe3, 0x79, 0xd1, 0x78, 0xfc, - 0xa2, 0x38, 0xf3, 0xec, 0x45, 0x71, 0xe6, 0x97, 0x17, 0xc5, 0x99, 0x2f, 0xb6, 0xbc, 0x16, 0x6f, - 0x76, 0xeb, 0xb6, 0x4b, 0x7d, 0x87, 0x37, 0x71, 0xc8, 0x5a, 0x2c, 0xe6, 0xaa, 0x2f, 0x9d, 0xf1, - 0x83, 0x0e, 0x61, 0xf5, 0x79, 0xa9, 0x47, 0x6f, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xda, 0x5d, - 0x1f, 0x5c, 0x5c, 0x0f, 0x00, 0x00, + 0x6d, 0xde, 0xda, 0xb0, 0x4b, 0x0c, 0xaa, 0x44, 0x25, 0x04, 0x4d, 0x54, 0x8a, 0x68, 0x8b, 0xca, + 0x12, 0x71, 0xe0, 0x62, 0x8d, 0xd7, 0xd3, 0xb5, 0x55, 0xef, 0x8e, 0xbb, 0x33, 0x36, 0x4e, 0x4b, + 0x39, 0x20, 0x51, 0x15, 0xf5, 0x52, 0x09, 0xce, 0xa8, 0xdf, 0x80, 0xaf, 0xd1, 0x63, 0x25, 0x2e, + 0x9c, 0x00, 0xb5, 0x08, 0x71, 0xe5, 0x1b, 0xa0, 0x79, 0xd9, 0x78, 0xed, 0xf5, 0xc6, 0x29, 0xea, + 0x81, 0xdb, 0xce, 0xcc, 0x33, 0xcf, 0xef, 0xf7, 0xbc, 0xec, 0xf3, 0x1b, 0x58, 0x22, 0xbc, 0x49, + 0xa2, 0xa0, 0x15, 0x72, 0x87, 0xf4, 0x02, 0xa7, 0xb7, 0xed, 0xdc, 0xe9, 0x92, 0x68, 0xdf, 0xee, + 0x44, 0x94, 0x53, 0xb4, 0x70, 0x70, 0x6a, 0x93, 0x5e, 0x60, 0xf7, 0xb6, 0xcd, 0x45, 0x9f, 0xfa, + 0x54, 0x1e, 0x3a, 0xe2, 0x4b, 0xd9, 0x99, 0xe7, 0x3d, 0xca, 0x02, 0xca, 0x9c, 0x3a, 0x66, 0x44, + 0x39, 0x70, 0x7a, 0xdb, 0x75, 0xc2, 0xf1, 0xb6, 0xd3, 0xc1, 0x7e, 0x2b, 0xc4, 0xbc, 0x45, 0x43, + 0x6d, 0xbb, 0xe4, 0x53, 0xea, 0xb7, 0x89, 0x83, 0x3b, 0x2d, 0x07, 0x87, 0x21, 0xe5, 0xf2, 0x90, + 0xe9, 0x53, 0x33, 0xc5, 0x47, 0x00, 0xab, 0xb3, 0xd3, 0xa9, 0x33, 0xde, 0xd7, 0x47, 0x15, 0xed, + 0x54, 0xae, 0xea, 0xdd, 0x5b, 0x0e, 0x6f, 0x05, 0x84, 0x71, 0x1c, 0x74, 0x94, 0x81, 0xf5, 0x2e, + 0x9c, 0xfc, 0x54, 0xf0, 0xba, 0xec, 0x79, 0xb4, 0x1b, 0x72, 0x97, 0xdc, 0xe9, 0x12, 0xc6, 0x51, + 0x09, 0x0a, 0xb8, 0xd1, 0x88, 0x08, 0x63, 0x25, 0x63, 0xc5, 0xd8, 0x38, 0xe6, 0xc6, 0xcb, 0x4b, + 0x73, 0x0f, 0x9f, 0x54, 0xa6, 0xfe, 0x7a, 0x52, 0x99, 0xb2, 0x3c, 0x58, 0x1c, 0xbe, 0xca, 0x3a, + 0x34, 0x64, 0x44, 0xdc, 0xad, 0xe3, 0x36, 0x0e, 0x3d, 0x12, 0xdf, 0xd5, 0x4b, 0xf4, 0x06, 0x1c, + 0xf3, 0x68, 0x83, 0xd4, 0x9a, 0x98, 0x35, 0x4b, 0xd3, 0xf2, 0x6c, 0x4e, 0x6c, 0x7c, 0x84, 0x59, + 0x13, 0x2d, 0xc2, 0x4c, 0x48, 0xc5, 0xa5, 0xdc, 0x8a, 0xb1, 0x91, 0x77, 0xd5, 0xc2, 0x7a, 0x1f, + 0x4e, 0x4b, 0x90, 0x5d, 0x99, 0xc8, 0x7f, 0xc1, 0xf2, 0x81, 0x01, 0xe6, 0x38, 0x0f, 0x9a, 0xec, + 0x2a, 0x9c, 0x50, 0x35, 0xaa, 0x0d, 0x7b, 0x3a, 0xae, 0x76, 0x2f, 0xab, 0x4d, 0x64, 0xc2, 0x1c, + 0x13, 0xa0, 0x82, 0xdf, 0xb4, 0xe4, 0x77, 0xb0, 0x16, 0x2e, 0xb0, 0xf2, 0x5a, 0x0b, 0xbb, 0x41, + 0x9d, 0x44, 0x3a, 0x82, 0xe3, 0x7a, 0xf7, 0x13, 0xb9, 0x69, 0x5d, 0x83, 0x25, 0xc9, 0xe3, 0x73, + 0xdc, 0x6e, 0x35, 0x30, 0xa7, 0xd1, 0x48, 0x30, 0x67, 0x60, 0xde, 0xa3, 0xe1, 0x28, 0x8f, 0xa2, + 0xd8, 0xbb, 0x9c, 0x8a, 0xea, 0x91, 0x01, 0xcb, 0x19, 0xde, 0x74, 0x60, 0xeb, 0xf0, 0xbf, 0x98, + 0xd5, 0xb0, 0xc7, 0x98, 0xec, 0x2b, 0x0c, 0x2d, 0x6e, 0xa2, 0x1d, 0x55, 0xe7, 0x97, 0x29, 0xcf, + 0x5b, 0xba, 0x89, 0x0e, 0xae, 0x4e, 0x6a, 0x22, 0xeb, 0x9a, 0x06, 0xfb, 0x8c, 0xd3, 0x08, 0xfb, + 0x93, 0xc1, 0xd0, 0x02, 0xe4, 0x6e, 0x93, 0x7d, 0xdd, 0x6f, 0xe2, 0x33, 0x01, 0xbf, 0xa5, 0xe1, + 0x0f, 0x9c, 0x69, 0xf8, 0x45, 0x98, 0xe9, 0xe1, 0x76, 0x37, 0x06, 0x57, 0x0b, 0xeb, 0x22, 0x2c, + 0xe8, 0x56, 0x6a, 0xbc, 0x54, 0x90, 0xeb, 0xf0, 0xff, 0xc4, 0x3d, 0x0d, 0x81, 0x20, 0x2f, 0x7a, + 0x5f, 0xde, 0x9a, 0x77, 0xe5, 0xb7, 0x75, 0x17, 0x90, 0x34, 0xdc, 0xeb, 0x5f, 0xa7, 0x3e, 0x8b, + 0x21, 0x10, 0xe4, 0xe5, 0x1f, 0xa3, 0xfc, 0xcb, 0x6f, 0xf4, 0x21, 0xc0, 0x60, 0x82, 0xc8, 0xd8, + 0x8a, 0xd5, 0x35, 0x5b, 0x35, 0xad, 0x2d, 0xc6, 0x8d, 0xad, 0xe6, 0x95, 0x1e, 0x37, 0xf6, 0xcd, + 0x41, 0xaa, 0xdc, 0xc4, 0xcd, 0x04, 0xc9, 0xef, 0x0c, 0x9d, 0xd8, 0x18, 0x5c, 0xf3, 0xdc, 0x84, + 0x7c, 0x9b, 0xfa, 0x22, 0xba, 0xdc, 0x46, 0xb1, 0xfa, 0x9a, 0x3d, 0x3a, 0xfa, 0xec, 0xeb, 0xd4, + 0x77, 0xa5, 0x09, 0xba, 0x3a, 0x86, 0xd4, 0xfa, 0x44, 0x52, 0x0a, 0x27, 0xc9, 0xca, 0x5a, 0xd4, + 0x79, 0xb8, 0x89, 0x23, 0x1c, 0xc4, 0x79, 0xb0, 0x6e, 0x68, 0x82, 0xf1, 0xae, 0x26, 0x78, 0x11, + 0x66, 0x3b, 0x72, 0x47, 0x26, 0xa8, 0x58, 0x2d, 0xa5, 0x29, 0xaa, 0x1b, 0x3b, 0xf9, 0xa7, 0xbf, + 0x56, 0xa6, 0x5c, 0x6d, 0x6d, 0xbd, 0x07, 0x27, 0xae, 0xf0, 0xe6, 0x2e, 0x6e, 0xb7, 0x13, 0x89, + 0xc6, 0x91, 0xcf, 0xe2, 0x92, 0x88, 0x6f, 0x74, 0x0a, 0x0a, 0x3e, 0x66, 0x35, 0x0f, 0x77, 0xf4, + 0xdf, 0x31, 0xeb, 0x63, 0xb6, 0x8b, 0x3b, 0xd6, 0x3a, 0x9c, 0xbc, 0xc2, 0x78, 0x2b, 0xc0, 0x9c, + 0x5c, 0xc5, 0x03, 0x36, 0x0b, 0x90, 0xf3, 0xb1, 0x72, 0x91, 0x77, 0xc5, 0xa7, 0xf5, 0xe7, 0x74, + 0x9c, 0xd8, 0x08, 0x7b, 0x64, 0xaf, 0x1f, 0xa3, 0x6d, 0x43, 0x2e, 0x60, 0xbe, 0x26, 0x5d, 0x49, + 0x93, 0xbe, 0xc1, 0xfc, 0x2b, 0x62, 0x8f, 0x74, 0x83, 0xbd, 0xbe, 0x2b, 0x6c, 0xd1, 0x07, 0x30, + 0xcf, 0x85, 0x93, 0x9a, 0x47, 0xc3, 0x5b, 0x2d, 0x5f, 0xfe, 0x8d, 0xc5, 0xea, 0x72, 0xfa, 0xae, + 0x84, 0xda, 0x95, 0x46, 0x6e, 0x91, 0x0f, 0x16, 0x68, 0x17, 0xe6, 0x3b, 0x11, 0x69, 0x10, 0x8f, + 0x30, 0x46, 0x23, 0x56, 0xca, 0xcb, 0xaa, 0x4e, 0x44, 0x1f, 0xba, 0x24, 0x46, 0x55, 0xbd, 0x4d, + 0xbd, 0xdb, 0xf1, 0x50, 0x98, 0x59, 0x31, 0x36, 0x72, 0x6e, 0x51, 0xee, 0xa9, 0x91, 0x80, 0x96, + 0x01, 0x94, 0x89, 0xec, 0xdc, 0x59, 0xd9, 0xb9, 0xc7, 0xe4, 0x8e, 0x1c, 0xf6, 0xbb, 0xf1, 0xb1, + 0xd0, 0xa3, 0x52, 0x41, 0x86, 0x61, 0xda, 0x4a, 0xac, 0xec, 0x58, 0xac, 0xec, 0xbd, 0x58, 0xac, + 0x76, 0xe6, 0x44, 0xe5, 0x1e, 0xff, 0x56, 0x31, 0xb4, 0x13, 0x71, 0xf2, 0x71, 0x7e, 0x6e, 0x7a, + 0x21, 0xe7, 0xce, 0xf1, 0x7e, 0xad, 0x15, 0x36, 0x48, 0xdf, 0x3a, 0xaf, 0x7f, 0xe6, 0x83, 0x3c, + 0x0f, 0xfe, 0xb4, 0x06, 0xe6, 0x38, 0x2e, 0xab, 0xf8, 0xb6, 0x7e, 0x98, 0x86, 0xd7, 0x07, 0xc6, + 0x3b, 0xc2, 0x67, 0xa2, 0x2e, 0xbc, 0x1f, 0xf7, 0xfb, 0xe4, 0xba, 0xf0, 0x3e, 0x7b, 0x05, 0x75, + 0xf9, 0x6f, 0xa4, 0xd4, 0x7a, 0x13, 0x4e, 0xa5, 0xb2, 0x92, 0x9d, 0xc5, 0xea, 0xdf, 0x45, 0x98, + 0x91, 0xf6, 0xe8, 0x5b, 0x03, 0x0a, 0x5a, 0x82, 0xd0, 0x6a, 0x3a, 0xee, 0x31, 0x6f, 0x0c, 0x73, + 0x6d, 0x92, 0x99, 0x02, 0xb6, 0x2e, 0x7c, 0xf3, 0xf3, 0x1f, 0xdf, 0x4f, 0xaf, 0xa2, 0xb3, 0x4e, + 0xea, 0x9d, 0xa3, 0x65, 0xc8, 0xb9, 0xa7, 0x67, 0xee, 0x7d, 0xf4, 0xa3, 0x01, 0xc7, 0x87, 0x94, + 0x1e, 0x5d, 0xc8, 0x80, 0x19, 0xf7, 0xa2, 0x30, 0xb7, 0x8e, 0x66, 0xac, 0x99, 0x55, 0x25, 0xb3, + 0x2d, 0x74, 0x3e, 0xcd, 0x2c, 0x7e, 0x54, 0xa4, 0x08, 0xfe, 0x64, 0xc0, 0xc2, 0xa8, 0x68, 0x23, + 0x3b, 0x03, 0x36, 0xe3, 0xad, 0x60, 0x3a, 0x47, 0xb6, 0xd7, 0x4c, 0x2f, 0x49, 0xa6, 0xef, 0xa0, + 0x6a, 0x9a, 0x69, 0x2f, 0xbe, 0x33, 0x20, 0x9b, 0x7c, 0x87, 0xdc, 0x47, 0x0f, 0x0c, 0x28, 0x68, + 0x79, 0xce, 0x2c, 0xed, 0xb0, 0xf2, 0x67, 0x96, 0x76, 0x44, 0xe5, 0xad, 0x2d, 0x49, 0x6b, 0x0d, + 0x9d, 0x4b, 0xd3, 0xd2, 0x72, 0xcf, 0x12, 0xa9, 0x7b, 0x64, 0x40, 0x41, 0x0b, 0x75, 0x26, 0x91, + 0xe1, 0x57, 0x41, 0x26, 0x91, 0x11, 0xbd, 0xb7, 0xb6, 0x25, 0x91, 0x0b, 0x68, 0x33, 0x4d, 0x84, + 0x29, 0xd3, 0x01, 0x0f, 0xe7, 0xde, 0x6d, 0xb2, 0x7f, 0x1f, 0xdd, 0x85, 0xbc, 0xd0, 0x73, 0x64, + 0x65, 0xb6, 0xcc, 0xc1, 0x23, 0xc1, 0x3c, 0x7b, 0xa8, 0x8d, 0xe6, 0xb0, 0x29, 0x39, 0x9c, 0x45, + 0x67, 0xc6, 0x75, 0x53, 0x63, 0x28, 0x13, 0x5f, 0xc2, 0xac, 0x92, 0x34, 0x74, 0x2e, 0xc3, 0xf3, + 0x90, 0x72, 0x9a, 0xab, 0x13, 0xac, 0x34, 0x83, 0x15, 0xc9, 0xc0, 0x44, 0xa5, 0x34, 0x03, 0xa5, + 0x99, 0xa8, 0x0f, 0x05, 0xad, 0x99, 0x68, 0x25, 0xed, 0x73, 0x58, 0x4e, 0xcd, 0xf5, 0x49, 0xb3, + 0x33, 0xc6, 0xb5, 0x24, 0xee, 0x12, 0x32, 0xd3, 0xb8, 0x84, 0x37, 0x6b, 0x9e, 0x80, 0xfb, 0x1a, + 0x8a, 0x09, 0xb9, 0x3d, 0x02, 0xfa, 0x98, 0x98, 0xc7, 0xe8, 0xb5, 0xb5, 0x26, 0xb1, 0x57, 0x50, + 0x79, 0x0c, 0xb6, 0x36, 0xaf, 0xf9, 0x98, 0xa1, 0xaf, 0xa0, 0xa0, 0x75, 0x25, 0xb3, 0xf7, 0x86, + 0xf5, 0x3d, 0xb3, 0xf7, 0x46, 0xe4, 0xe9, 0xb0, 0xe8, 0x95, 0xa8, 0xf0, 0x3e, 0x7a, 0x68, 0x00, + 0x0c, 0x66, 0x32, 0xda, 0x38, 0xcc, 0x75, 0x52, 0xcc, 0xcc, 0xcd, 0x23, 0x58, 0x6a, 0x1e, 0xab, + 0x92, 0x47, 0x05, 0x2d, 0x67, 0xf1, 0x90, 0x32, 0xb1, 0xb3, 0xf3, 0xf4, 0x79, 0xd9, 0x78, 0xf6, + 0xbc, 0x6c, 0xfc, 0xfe, 0xbc, 0x6c, 0x3c, 0x7e, 0x51, 0x9e, 0x7a, 0xf6, 0xa2, 0x3c, 0xf5, 0xcb, + 0x8b, 0xf2, 0xd4, 0x17, 0x1b, 0x7e, 0x8b, 0x37, 0xbb, 0x75, 0xdb, 0xa3, 0x81, 0xc3, 0x9b, 0x38, + 0x62, 0x2d, 0x96, 0x70, 0xd5, 0x97, 0xce, 0xf8, 0x7e, 0x87, 0xb0, 0xfa, 0xac, 0xd4, 0xa3, 0xb7, + 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0xa1, 0xbb, 0x33, 0x6b, 0x66, 0x0f, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used.