diff --git a/app/app.go b/app/app.go index 3fdfca00..1674f4d4 100644 --- a/app/app.go +++ b/app/app.go @@ -310,7 +310,7 @@ func New( cardchainmoduletypes.SetsStoreKey, cardchainmoduletypes.SellOffersStoreKey, cardchainmoduletypes.PoolsStoreKey, cardchainmoduletypes.RunningAveragesStoreKey, cardchainmoduletypes.CouncilsStoreKey, cardchainmoduletypes.ImagesStoreKey, cardchainmoduletypes.InternalStoreKey, - cardchainmoduletypes.ServersStoreKey, + cardchainmoduletypes.ServersStoreKey, cardchainmoduletypes.ZealyStoreKey, featureflagmoduletypes.StoreKey, // this line is used by starport scaffolding # stargate/app/storeKey ) @@ -528,6 +528,7 @@ func New( keys[cardchainmoduletypes.RunningAveragesStoreKey], keys[cardchainmoduletypes.ImagesStoreKey], keys[cardchainmoduletypes.ServersStoreKey], + keys[cardchainmoduletypes.ZealyStoreKey], keys[cardchainmoduletypes.InternalStoreKey], app.GetSubspace(cardchainmoduletypes.ModuleName), app.FeatureflagKeeper, diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 37db7911..9612365e 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -32971,6 +32971,43 @@ paths: additionalProperties: {} tags: - Query + /DecentralCardGame/Cardchain/cardchain/q_account_from_zealy/{zealyId}: + get: + summary: Queries a list of QAccountFromZealy items. + operationId: DecentralCardGameCardchainCardchainQAccountFromZealy + responses: + '200': + description: A successful response. + schema: + type: object + properties: + address: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: zealyId + in: path + required: true + type: string + tags: + - Query /DecentralCardGame/Cardchain/cardchain/q_card/{cardId}: get: summary: Queries a list of QCard items. @@ -69073,6 +69110,8 @@ definitions: type: object DecentralCardGame.cardchain.cardchain.MsgConfirmMatchResponse: type: object + DecentralCardGame.cardchain.cardchain.MsgConnectZealyAccountResponse: + type: object DecentralCardGame.cardchain.cardchain.MsgCreateCouncilResponse: type: object DecentralCardGame.cardchain.cardchain.MsgCreateSellOfferResponse: @@ -69435,6 +69474,11 @@ definitions: type: string format: uint64 description: QueryParamsResponse is response type for the Query/Params RPC method. + DecentralCardGame.cardchain.cardchain.QueryQAccountFromZealyResponse: + type: object + properties: + address: + type: string DecentralCardGame.cardchain.cardchain.QueryQCardContentResponse: type: object properties: diff --git a/go.mod b/go.mod index 7cf98431..6e0f5864 100644 --- a/go.mod +++ b/go.mod @@ -19,17 +19,16 @@ require ( github.com/tendermint/tendermint v0.34.29 github.com/tendermint/tm-db v0.6.7 golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0 - google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe - google.golang.org/grpc v1.61.0 + google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8 + google.golang.org/grpc v1.64.0 gopkg.in/yaml.v2 v2.4.0 ) require ( - cloud.google.com/go v0.111.0 // indirect - cloud.google.com/go/compute v1.23.3 // indirect - cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.1.5 // indirect - cloud.google.com/go/storage v1.30.1 // indirect + cloud.google.com/go v0.112.1 // indirect + cloud.google.com/go/compute/metadata v0.3.0 // indirect + cloud.google.com/go/iam v1.1.6 // indirect + cloud.google.com/go/storage v1.38.0 // indirect cosmossdk.io/math v1.0.0-rc.0 // indirect filippo.io/edwards25519 v1.0.0-rc.1 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -67,25 +66,25 @@ require ( github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/fatih/camelcase v1.0.0 // indirect - github.com/felixge/httpsnoop v1.0.2 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect - github.com/go-logr/logr v1.2.4 // indirect + github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-playground/validator/v10 v10.4.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gogo/gateway v1.1.0 // indirect - github.com/golang/glog v1.1.2 // indirect + github.com/golang/glog v1.2.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/s2a-go v0.1.7 // indirect - github.com/google/uuid v1.4.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.0 // indirect + github.com/googleapis/gax-go/v2 v2.12.2 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect @@ -147,21 +146,23 @@ require ( github.com/zondax/ledger-go v0.14.1 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/otel v1.19.0 // indirect - go.opentelemetry.io/otel/metric v1.19.0 // indirect - go.opentelemetry.io/otel/trace v1.19.0 // indirect - golang.org/x/crypto v0.18.0 // indirect - golang.org/x/net v0.20.0 // indirect - golang.org/x/oauth2 v0.16.0 // indirect - golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.16.0 // indirect - golang.org/x/term v0.16.0 // indirect - golang.org/x/text v0.14.0 // indirect - google.golang.org/api v0.149.0 // indirect - google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe // indirect - google.golang.org/protobuf v1.33.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect + go.opentelemetry.io/otel v1.24.0 // indirect + go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/trace v1.24.0 // indirect + golang.org/x/crypto v0.21.0 // indirect + golang.org/x/net v0.23.0 // indirect + golang.org/x/oauth2 v0.20.0 // indirect + golang.org/x/sync v0.6.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect + golang.org/x/text v0.15.0 // indirect + golang.org/x/time v0.5.0 // indirect + google.golang.org/api v0.169.0 // indirect + google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8 // indirect + google.golang.org/protobuf v1.34.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect nhooyr.io/websocket v1.8.7 // indirect diff --git a/go.sum b/go.sum index 4737f10e..3f4778cd 100644 --- a/go.sum +++ b/go.sum @@ -47,64 +47,48 @@ cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+ cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= -cloud.google.com/go v0.111.0 h1:YHLKNupSD1KqjDbQ3+LVdQ81h/UJbJyZG203cEfnQgM= -cloud.google.com/go v0.111.0/go.mod h1:0mibmpKP1TyOOFYQY5izo0LnT+ecvOQ0Sg3OdmMiNRU= +cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= +cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= -cloud.google.com/go/accessapproval v1.7.4/go.mod h1:/aTEh45LzplQgFYdQdwPMR9YdX0UlhBmvB84uAmQKUc= cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= -cloud.google.com/go/accesscontextmanager v1.8.4/go.mod h1:ParU+WbMpD34s5JFEnGAnPBYAgUHozaTmDJU7aCU9+M= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= -cloud.google.com/go/aiplatform v1.58.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv65IHILGA//VEU= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= -cloud.google.com/go/analytics v0.22.0/go.mod h1:eiROFQKosh4hMaNhF85Oc9WO97Cpa7RggD40e/RBy8w= cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= -cloud.google.com/go/apigateway v1.6.4/go.mod h1:0EpJlVGH5HwAN4VF4Iec8TAzGN1aQgbxAWGJsnPCGGY= cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= -cloud.google.com/go/apigeeconnect v1.6.4/go.mod h1:CapQCWZ8TCjnU0d7PobxhpOdVz/OVJ2Hr/Zcuu1xFx0= -cloud.google.com/go/apigeeregistry v0.8.2/go.mod h1:h4v11TDGdeXJDJvImtgK2AFVvMIgGWjSb0HRnBSjcX8= cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= -cloud.google.com/go/appengine v1.8.4/go.mod h1:TZ24v+wXBujtkK77CXCpjZbnuTvsFNT41MUaZ28D6vg= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= -cloud.google.com/go/area120 v0.8.4/go.mod h1:jfawXjxf29wyBXr48+W+GyX/f8fflxp642D/bb9v68M= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= -cloud.google.com/go/artifactregistry v1.14.6/go.mod h1:np9LSFotNWHcjnOgh8UVK0RFPCTUGbO0ve3384xyHfE= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= -cloud.google.com/go/asset v1.17.0/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CMcM5ggXU= cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= -cloud.google.com/go/assuredworkloads v1.11.4/go.mod h1:4pwwGNwy1RP0m+y12ef3Q/8PaiWrIDQ6nD2E8kvWI9U= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= -cloud.google.com/go/automl v1.13.4/go.mod h1:ULqwX/OLZ4hBVfKQaMtxMSTlPx0GqGbWN8uA/1EqCP8= cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= -cloud.google.com/go/baremetalsolution v1.2.3/go.mod h1:/UAQ5xG3faDdy180rCUv47e0jvpp3BFxT+Cl0PFjw5g= cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= -cloud.google.com/go/batch v1.7.0/go.mod h1:J64gD4vsNSA2O5TtDB5AAux3nJ9iV8U3ilg3JDBYejU= cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= -cloud.google.com/go/beyondcorp v1.0.3/go.mod h1:HcBvnEd7eYr+HGDd5ZbuVmBYX019C6CEXBonXbCVwJo= 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= @@ -113,35 +97,27 @@ cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4g cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= -cloud.google.com/go/bigquery v1.57.1/go.mod h1:iYzC0tGVWt1jqSzBHqCr3lrRn0u13E8e+AqowBsDgug= cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= -cloud.google.com/go/billing v1.18.0/go.mod h1:5DOYQStCxquGprqfuid/7haD7th74kyMBHkjO/OvDtk= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= -cloud.google.com/go/binaryauthorization v1.8.0/go.mod h1:VQ/nUGRKhrStlGr+8GMS8f6/vznYLkdK5vaKfdCIpvU= cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= -cloud.google.com/go/certificatemanager v1.7.4/go.mod h1:FHAylPe/6IIKuaRmHbjbdLhGhVQ+CWHSD5Jq0k4+cCE= cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= -cloud.google.com/go/channel v1.17.4/go.mod h1:QcEBuZLGGrUMm7kNj9IbU1ZfmJq2apotsV83hbxX7eE= cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= -cloud.google.com/go/cloudbuild v1.15.0/go.mod h1:eIXYWmRt3UtggLnFGx4JvXcMj4kShhVzGndL1LwleEM= cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= -cloud.google.com/go/clouddms v1.7.3/go.mod h1:fkN2HQQNUYInAU3NQ3vRLkV2iWs8lIdmBKOx4nrL6Hc= cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= -cloud.google.com/go/cloudtasks v1.12.4/go.mod h1:BEPu0Gtt2dU6FxZHNqqNdGqIG86qyWKBPGnsb7udGY0= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= @@ -151,294 +127,218 @@ cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQH cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= -cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= -cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= -cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= +cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= -cloud.google.com/go/contactcenterinsights v1.12.1/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis= cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= -cloud.google.com/go/container v1.29.0/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ5+t4d/3N7O4= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= -cloud.google.com/go/containeranalysis v0.11.3/go.mod h1:kMeST7yWFQMGjiG9K7Eov+fPNQcGhb8mXj/UcTiWw9U= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= -cloud.google.com/go/datacatalog v1.19.0/go.mod h1:5FR6ZIF8RZrtml0VUao22FxhdjkoG+a0866rEnObryM= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= -cloud.google.com/go/dataflow v0.9.4/go.mod h1:4G8vAkHYCSzU8b/kmsoR2lWyHJD85oMJPHMtan40K8w= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= -cloud.google.com/go/dataform v0.9.1/go.mod h1:pWTg+zGQ7i16pyn0bS1ruqIE91SdL2FDMvEYu/8oQxs= cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= -cloud.google.com/go/datafusion v1.7.4/go.mod h1:BBs78WTOLYkT4GVZIXQCZT3GFpkpDN4aBY4NDX/jVlM= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= -cloud.google.com/go/datalabeling v0.8.4/go.mod h1:Z1z3E6LHtffBGrNUkKwbwbDxTiXEApLzIgmymj8A3S8= cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= -cloud.google.com/go/dataplex v1.14.0/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs5OOLffLX0c= cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= -cloud.google.com/go/dataproc/v2 v2.3.0/go.mod h1:G5R6GBc9r36SXv/RtZIVfB8SipI+xVn0bX5SxUzVYbY= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= -cloud.google.com/go/dataqna v0.8.4/go.mod h1:mySRKjKg5Lz784P6sCov3p1QD+RZQONRMRjzGNcFd0c= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= -cloud.google.com/go/datastream v1.10.3/go.mod h1:YR0USzgjhqA/Id0Ycu1VvZe8hEWwrkjuXrGbzeDOSEA= cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= -cloud.google.com/go/deploy v1.16.0/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88PtO9x/2g= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= -cloud.google.com/go/dialogflow v1.48.0/go.mod h1:mHly4vU7cPXVweuB5R0zsYKPMzy240aQdAu06SqBbAQ= cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= -cloud.google.com/go/dlp v1.11.1/go.mod h1:/PA2EnioBeXTL/0hInwgj0rfsQb3lpE3R8XUJxqUNKI= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= -cloud.google.com/go/documentai v1.23.7/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4GfooEcYKhN+g= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= -cloud.google.com/go/domains v0.9.4/go.mod h1:27jmJGShuXYdUNjyDG0SodTfT5RwLi7xmH334Gvi3fY= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= -cloud.google.com/go/edgecontainer v1.1.4/go.mod h1:AvFdVuZuVGdgaE5YvlL1faAoa1ndRR/5XhXZvPBHbsE= -cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= -cloud.google.com/go/essentialcontacts v1.6.5/go.mod h1:jjYbPzw0x+yglXC890l6ECJWdYeZ5dlYACTFL0U/VuM= cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= -cloud.google.com/go/eventarc v1.13.3/go.mod h1:RWH10IAZIRcj1s/vClXkBgMHwh59ts7hSWcqD3kaclg= cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= -cloud.google.com/go/filestore v1.8.0/go.mod h1:S5JCxIbFjeBhWMTfIYH2Jx24J6BqjwpkkPl+nBA5DlI= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= -cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= -cloud.google.com/go/functions v1.15.4/go.mod h1:CAsTc3VlRMVvx+XqXxKqVevguqJpnVip4DdonFsX28I= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= -cloud.google.com/go/gkebackup v1.3.4/go.mod h1:gLVlbM8h/nHIs09ns1qx3q3eaXcGSELgNu1DWXYz1HI= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= -cloud.google.com/go/gkeconnect v0.8.4/go.mod h1:84hZz4UMlDCKl8ifVW8layK4WHlMAFeq8vbzjU0yJkw= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= -cloud.google.com/go/gkehub v0.14.4/go.mod h1:Xispfu2MqnnFt8rV/2/3o73SK1snL8s9dYJ9G2oQMfc= cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= -cloud.google.com/go/gkemulticloud v1.1.0/go.mod h1:7NpJBN94U6DY1xHIbsDqB2+TFZUfjLUKLjUX8NGLor0= cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= -cloud.google.com/go/gsuiteaddons v1.6.4/go.mod h1:rxtstw7Fx22uLOXBpsvb9DUbC+fiXs7rF4U29KHM/pE= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= -cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= -cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= +cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= +cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= -cloud.google.com/go/iap v1.9.3/go.mod h1:DTdutSZBqkkOm2HEOTBzhZxh2mwwxshfD/h3yofAiCw= cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= -cloud.google.com/go/ids v1.4.4/go.mod h1:z+WUc2eEl6S/1aZWzwtVNWoSZslgzPxAboS0lZX0HjI= cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= -cloud.google.com/go/iot v1.7.4/go.mod h1:3TWqDVvsddYBG++nHSZmluoCAVGr1hAcabbWZNKEZLk= cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= -cloud.google.com/go/kms v1.15.5/go.mod h1:cU2H5jnp6G2TDpUGZyqTCoy1n16fbubHZjmVXSMtwDI= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= -cloud.google.com/go/language v1.12.2/go.mod h1:9idWapzr/JKXBBQ4lWqVX/hcadxB194ry20m/bTrhWc= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/lifesciences v0.9.4/go.mod h1:bhm64duKhMi7s9jR9WYJYvjAFJwRqNj+Nia7hF0Z7JA= -cloud.google.com/go/logging v1.9.0/go.mod h1:1Io0vnZv4onoUnsVUQY3HZ3Igb1nBchky0A0y7BBBhE= cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= -cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= -cloud.google.com/go/managedidentities v1.6.4/go.mod h1:WgyaECfHmF00t/1Uk8Oun3CQ2PGUtjc3e9Alh79wyiM= -cloud.google.com/go/maps v1.6.2/go.mod h1:4+buOHhYXFBp58Zj/K+Lc1rCmJssxxF4pJ5CJnhdz18= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= -cloud.google.com/go/mediatranslation v0.8.4/go.mod h1:9WstgtNVAdN53m6TQa5GjIjLqKQPXe74hwSCxUP6nj4= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= -cloud.google.com/go/memcache v1.10.4/go.mod h1:v/d8PuC8d1gD6Yn5+I3INzLR01IDn0N4Ym56RgikSI0= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= -cloud.google.com/go/metastore v1.13.3/go.mod h1:K+wdjXdtkdk7AQg4+sXS8bRrQa9gcOr+foOMF2tqINE= cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= -cloud.google.com/go/monitoring v1.17.0/go.mod h1:KwSsX5+8PnXv5NJnICZzW2R8pWTis8ypC4zmdRD63Tw= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= -cloud.google.com/go/networkconnectivity v1.14.3/go.mod h1:4aoeFdrJpYEXNvrnfyD5kIzs8YtHg945Og4koAjHQek= cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= -cloud.google.com/go/networkmanagement v1.9.3/go.mod h1:y7WMO1bRLaP5h3Obm4tey+NquUvB93Co1oh4wpL+XcU= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= -cloud.google.com/go/networksecurity v0.9.4/go.mod h1:E9CeMZ2zDsNBkr8axKSYm8XyTqNhiCHf1JO/Vb8mD1w= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= -cloud.google.com/go/notebooks v1.11.2/go.mod h1:z0tlHI/lREXC8BS2mIsUeR3agM1AkgLiS+Isov3SS70= cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= -cloud.google.com/go/optimization v1.6.2/go.mod h1:mWNZ7B9/EyMCcwNl1frUGEuY6CPijSkz88Fz2vwKPOY= cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= -cloud.google.com/go/orchestration v1.8.4/go.mod h1:d0lywZSVYtIoSZXb0iFjv9SaL13PGyVOKDxqGxEf/qI= cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= -cloud.google.com/go/orgpolicy v1.12.0/go.mod h1:0+aNV/nrfoTQ4Mytv+Aw+stBDBjNf4d8fYRA9herfJI= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= -cloud.google.com/go/osconfig v1.12.4/go.mod h1:B1qEwJ/jzqSRslvdOCI8Kdnp0gSng0xW4LOnIebQomA= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= -cloud.google.com/go/oslogin v1.12.2/go.mod h1:CQ3V8Jvw4Qo4WRhNPF0o+HAM4DiLuE27Ul9CX9g2QdY= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= -cloud.google.com/go/phishingprotection v0.8.4/go.mod h1:6b3kNPAc2AQ6jZfFHioZKg9MQNybDg4ixFd4RPZZ2nE= cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= -cloud.google.com/go/policytroubleshooter v1.10.2/go.mod h1:m4uF3f6LseVEnMV6nknlN2vYGRb+75ylQwJdnOXfnv0= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= -cloud.google.com/go/privatecatalog v0.9.4/go.mod h1:SOjm93f+5hp/U3PqMZAHTtBtluqLygrDrVO8X8tYtG0= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/pubsub v1.5.0/go.mod h1:ZEwJccE3z93Z2HWvstpri00jOg7oO4UZDtKhwDwqF0w= -cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= -cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= -cloud.google.com/go/recaptchaenterprise/v2 v2.9.0/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= -cloud.google.com/go/recommendationengine v0.8.4/go.mod h1:GEteCf1PATl5v5ZsQ60sTClUE0phbWmo3rQ1Js8louU= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= -cloud.google.com/go/recommender v1.12.0/go.mod h1:+FJosKKJSId1MBFeJ/TTyoGQZiEelQQIZMKYYD8ruK4= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= -cloud.google.com/go/redis v1.14.1/go.mod h1:MbmBxN8bEnQI4doZPC1BzADU4HGocHBk2de3SbgOkqs= cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= -cloud.google.com/go/resourcemanager v1.9.4/go.mod h1:N1dhP9RFvo3lUfwtfLWVxfUWq8+KUQ+XLlHLH3BoFJ0= cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= -cloud.google.com/go/resourcesettings v1.6.4/go.mod h1:pYTTkWdv2lmQcjsthbZLNBP4QW140cs7wqA3DuqErVI= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= -cloud.google.com/go/retail v1.14.4/go.mod h1:l/N7cMtY78yRnJqp5JW8emy7MB1nz8E4t2yfOmklYfg= cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= -cloud.google.com/go/run v1.3.3/go.mod h1:WSM5pGyJ7cfYyYbONVQBN4buz42zFqwG67Q3ch07iK4= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= -cloud.google.com/go/scheduler v1.10.5/go.mod h1:MTuXcrJC9tqOHhixdbHDFSIuh7xZF2IysiINDuiq6NI= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= -cloud.google.com/go/secretmanager v1.11.4/go.mod h1:wreJlbS9Zdq21lMzWmJ0XhWW2ZxgPeahsqeV/vZoJ3w= cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= -cloud.google.com/go/security v1.15.4/go.mod h1:oN7C2uIZKhxCLiAAijKUCuHLZbIt/ghYEo8MqwD/Ty4= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= -cloud.google.com/go/securitycenter v1.24.3/go.mod h1:l1XejOngggzqwr4Fa2Cn+iWZGf+aBLTXtB/vXjy5vXM= cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= -cloud.google.com/go/servicedirectory v1.11.3/go.mod h1:LV+cHkomRLr67YoQy3Xq2tUXBGOs5z5bPofdq7qtiAw= cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= -cloud.google.com/go/shell v1.7.4/go.mod h1:yLeXB8eKLxw0dpEmXQ/FjriYrBijNsONpwnWsdPqlKM= cloud.google.com/go/spanner v1.7.0/go.mod h1:sd3K2gZ9Fd0vMPLXzeCrF6fq4i63Q7aTLW/lBIfBkIk= -cloud.google.com/go/spanner v1.54.0/go.mod h1:wZvSQVBgngF0Gq86fKup6KIYmN2be7uOKjtK97X+bQU= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= -cloud.google.com/go/speech v1.21.0/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= @@ -448,62 +348,47 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= -cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= +cloud.google.com/go/storage v1.38.0 h1:Az68ZRGlnNTpIBbLjSMIV2BDcwwXYlRlQzis0llkpJg= +cloud.google.com/go/storage v1.38.0/go.mod h1:tlUADB0mAb9BgYls9lq+8MGkfzOXuLrnHXlpHmvFJoY= cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= -cloud.google.com/go/storagetransfer v1.10.3/go.mod h1:Up8LY2p6X68SZ+WToswpQbQHnJpOty/ACcMafuey8gc= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= -cloud.google.com/go/talent v1.6.5/go.mod h1:Mf5cma696HmE+P2BWJ/ZwYqeJXEeU0UqjHFXVLadEDI= cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= -cloud.google.com/go/texttospeech v1.7.4/go.mod h1:vgv0002WvR4liGuSd5BJbWy4nDn5Ozco0uJymY5+U74= cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= -cloud.google.com/go/tpu v1.6.4/go.mod h1:NAm9q3Rq2wIlGnOhpYICNI7+bpBebMJbh0yyp3aNw1Y= cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= -cloud.google.com/go/trace v1.10.4/go.mod h1:Nso99EDIK8Mj5/zmB+iGr9dosS/bzWCJ8wGmE6TXNWY= cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= -cloud.google.com/go/translate v1.10.0/go.mod h1:Kbq9RggWsbqZ9W5YpM94Q1Xv4dshw/gr/SHfsl5yCZ0= cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= -cloud.google.com/go/video v1.20.3/go.mod h1:TnH/mNZKVHeNtpamsSPygSR0iHtvrR/cW1/GDjN5+GU= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= -cloud.google.com/go/videointelligence v1.11.4/go.mod h1:kPBMAYsTPFiQxMLmmjpcZUMklJp3nC9+ipJJtprccD8= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= -cloud.google.com/go/vision/v2 v2.7.5/go.mod h1:GcviprJLFfK9OLf0z8Gm6lQb6ZFUulvpZws+mm6yPLM= cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= -cloud.google.com/go/vmmigration v1.7.4/go.mod h1:yBXCmiLaB99hEl/G9ZooNx2GyzgsjKnw5fWcINRgD70= -cloud.google.com/go/vmwareengine v1.0.3/go.mod h1:QSpdZ1stlbfKtyt6Iu19M6XRxjmXO+vb5a/R6Fvy2y4= cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= -cloud.google.com/go/vpcaccess v1.7.4/go.mod h1:lA0KTvhtEOb/VOdnH/gwPuOzGgM+CWsmGu6bb4IoMKk= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= -cloud.google.com/go/webrisk v1.9.4/go.mod h1:w7m4Ib4C+OseSr2GL66m0zMBywdrVNTDKsdEsfMl7X0= cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= -cloud.google.com/go/websecurityscanner v1.6.4/go.mod h1:mUiyMQ+dGpPPRkHgknIZeCzSHJ45+fY4F52nZFDHm2o= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= -cloud.google.com/go/workflows v1.12.3/go.mod h1:fmOUeeqEwPzIU81foMjTRQIdwQHADi/vEr1cx9R1m5g= code.gitea.io/sdk/gitea v0.12.0/go.mod h1:z3uwDV/b9Ls47NGukYM9XhnHtqPh/J+t40lsUrR6JDY= collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= contrib.go.opencensus.io/exporter/aws v0.0.0-20181029163544-2befc13012d0/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= @@ -691,13 +576,11 @@ github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alecthomas/kingpin v2.2.6+incompatible/go.mod h1:59OFYbFVLKQKq+mqrL6Rw5bR0c3ACQaawgXx0QYndlE= -github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= @@ -869,7 +752,6 @@ github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= @@ -912,14 +794,12 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= @@ -1088,7 +968,6 @@ github.com/cosmos/cosmos-sdk v0.44.2/go.mod h1:fwQJdw+aECatpTvQTo1tSfHEsxACdZYU8 github.com/cosmos/cosmos-sdk v0.44.3/go.mod h1:bA3+VenaR/l/vDiYzaiwbWvRPWHMBX2jG0ygiFtiBp0= github.com/cosmos/cosmos-sdk v0.46.15 h1:50QSEO4ZU9QUHJ8Ul9N/o/hn/IE5dL7DwL/OY1wcoMg= github.com/cosmos/cosmos-sdk v0.46.15/go.mod h1:9MRixWsgoJ2UmVsCRRePtENFPP3cM+gTC5azEpxgllo= -github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1/go.mod h1:JUMM2MxF9wuwzRWZJjb8BjXsn1BmPmdBd3a75pIct4I= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= @@ -1246,11 +1125,9 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= -github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/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 v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/esimonov/ifshort v1.0.2/go.mod h1:yZqNJUrNn20K8Q9n2CrjTKYyVEmX209Hgu+M1LBpeZE= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= @@ -1278,8 +1155,9 @@ github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGE github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= @@ -1359,8 +1237,8 @@ github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbV github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= @@ -1453,8 +1331,8 @@ github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+ github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -1559,7 +1437,6 @@ github.com/google/go-containerregistry v0.1.2/go.mod h1:GPivBPgdAyd2SU+vf6EpsgOt github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-github/v28 v28.1.1/go.mod h1:bsqJWQX05omyWVmc00nEUql9mhQyv38lDZ8kPZcQVoM= -github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/go-replayers/grpcreplay v0.1.0/go.mod h1:8Ig2Idjpr6gifRd6pNVggX6TC1Zw6Jx74AKp7QNH2QE= github.com/google/go-replayers/httpreplay v0.1.0/go.mod h1:YKZViNhiGgqdBlUbI2MwGpq4pXxNmhJLPHQ7cv2b5no= @@ -1610,8 +1487,8 @@ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= -github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/wire v0.3.0/go.mod h1:i1DMg/Lu8Sz5yYl25iOdmc5CT5qusaa+zmRWs16741s= github.com/google/wire v0.4.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= @@ -1630,8 +1507,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= -github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA= +github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.2.2/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= @@ -1718,7 +1595,6 @@ github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoP 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/api v1.15.3/go.mod h1:/g/qgcoBcEXALCNZgRRisyTW0nY86++L0KbeAMXYCeY= 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= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= @@ -1782,7 +1658,6 @@ github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/J github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= -github.com/hashicorp/serf v0.9.8/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/uuid v0.0.0-20160311170451-ebb0a03e909c/go.mod h1:fHzc09UnyJyqyW+bFuq864eh+wC7dj65aXmXLRe5to0= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= @@ -2497,7 +2372,6 @@ github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiB github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= github.com/sagikazarmark/crypt v0.6.0/go.mod h1:U8+INwJo3nBv1m6A/8OBXAq7Jnpspk5AxSgDyEQcea8= -github.com/sagikazarmark/crypt v0.8.0/go.mod h1:TmKwZAo97S4Fy4sfMH/HX/cQP5D+ijra2NyLpNNmttY= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= @@ -2792,7 +2666,6 @@ github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2 github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= @@ -2835,18 +2708,14 @@ go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3C go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= -go.etcd.io/etcd/api/v3 v3.5.5/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.5/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= go.etcd.io/etcd/client/v2 v2.305.4/go.mod h1:Ud+VUwIi9/uQHOMA+4ekToJ12lTxlv0zB/+DHwTGEbU= -go.etcd.io/etcd/client/v2 v2.305.5/go.mod h1:zQjKllfqfBVyVStbt4FaosoX2iYd8fV/GRy/PbowgP4= go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= -go.etcd.io/etcd/client/v3 v3.5.5/go.mod h1:aApjR4WGlSumpnJ2kloS75h6aHUmAyaPLjHMxpc7E7c= go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= @@ -2872,16 +2741,20 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.2 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0/go.mod h1:LsankqVDx4W+RhZNA5uWarULII/MBhF5qwCYxTuyXjs= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3/go.mod h1:Dts42MGkzZne2yCru741+bFiTMWkIj/LLRizad7b9tw= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.29.0/go.mod h1:vHItvsnJtp7ES++nFLLFBzUWny7fJQSvTlxFcqQGUr4= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0/go.mod h1:tLYsuf2v8fZreBVwp9gVMhefZlLFZaUiNVSq8QxXRII= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= go.opentelemetry.io/otel v1.4.0/go.mod h1:jeAqMFKy2uLIxCtKxoFj0FAL5zAPKQagc3+GtBWakzk= go.opentelemetry.io/otel v1.4.1/go.mod h1:StM6F/0fSwpd8dKWDCdRr7uRvEPYdW0hBSlbdTiUde4= go.opentelemetry.io/otel v1.11.0/go.mod h1:H2KtuEphyMvlhZ+F7tg9GRhAOe60moNx61Ex+WmiKkk= -go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs= -go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= go.opentelemetry.io/otel/exporters/jaeger v1.4.1/go.mod h1:ZW7vkOu9nC1CxsD8bHNHCia5JUbwP39vxgd1q4Z5rCI= go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= @@ -2896,14 +2769,14 @@ go.opentelemetry.io/otel/internal/metric v0.27.0/go.mod h1:n1CVxRqKqYZtqyTh9U/on go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= go.opentelemetry.io/otel/metric v0.27.0/go.mod h1:raXDJ7uP2/Jc0nVZWQjJtzoyssOYWu/+pjZqRzfvZ7g= go.opentelemetry.io/otel/metric v0.32.3/go.mod h1:pgiGmKohxHyTPHGOff+vrtIH39/R9fiO/WoenUQ3kcc= -go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE= -go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= go.opentelemetry.io/otel/sdk v1.4.1/go.mod h1:NBwHDgDIBYjwK2WNu1OPgsIc2IJzmBXNnvIJxJc8BpE= -go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o= -go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A= +go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw= +go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= @@ -2911,8 +2784,8 @@ go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKu go.opentelemetry.io/otel/trace v1.4.0/go.mod h1:uc3eRsqDfWs9R7b92xbQbU42/eTNz4N+gLP8qJCi4aE= go.opentelemetry.io/otel/trace v1.4.1/go.mod h1:iYEVbroFCNut9QkwEczV9vMRPHNKSSwYZjulEtsmhFc= go.opentelemetry.io/otel/trace v1.11.0/go.mod h1:nyYjis9jy0gytE9LXGU+/m1sHTKbRY0fX0hulNNDP1U= -go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg= -go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= go.opentelemetry.io/proto/otlp v0.12.0/go.mod h1:TsIjwGWIx5VFYv9KGVlOpxoBl5Dy+63SUguV7GGvlSQ= @@ -2995,8 +2868,8 @@ golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= 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= @@ -3161,8 +3034,8 @@ golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180724155351-3d292e4d0cdc/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -3196,8 +3069,8 @@ golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= -golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= +golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= +golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= 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= @@ -3217,8 +3090,8 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= -golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -3397,8 +3270,8 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -3412,8 +3285,8 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -3429,8 +3302,8 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -3440,7 +3313,8 @@ golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -3588,8 +3462,9 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= @@ -3665,8 +3540,8 @@ google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= -google.golang.org/api v0.149.0 h1:b2CqT6kG+zqJIVKRQ3ELJVLN1PwHZ6DJ3dW8yl82rgY= -google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI= +google.golang.org/api v0.169.0 h1:QwWPy71FgMWqJN/l6jVlFHUa29a7dcUy02I8o799nPY= +google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -3677,8 +3552,6 @@ google.golang.org/appengine v1.6.2/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/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -3815,13 +3688,12 @@ google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnp google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac h1:ZL/Teoy/ZGnzyrqK/Optxxp2pmVh+fmJ97slxSRyzUg= -google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:+Rvu7ElI+aLzyDQhpHMFMMltsD6m7nqpuWDd2CwJw3k= -google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe h1:0poefMBYvYbs7g5UkjS6HcxBPaTRAmznle9jnxYoAI8= -google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= -google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe h1:bQnxqljG/wqi4NTXu2+DJ3n7APcEA882QZ1JvhQAq9o= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= +google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= +google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= +google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8 h1:W5Xj/70xIA4x60O/IFyXivR5MGqblAb8R3w26pnD6No= +google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8/go.mod h1:vPrPUTsDCYxXWjP7clS81mZ6/803D8K4iM9Ma27VKas= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8 h1:mxSlqyb8ZAHsYDCfiXN1EDdNTdvjUJSLY+OnAUtYNYA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8/go.mod h1:I7Y+G38R2bu5j1aLzfFmQfTcU/WnFuqDwLZAbvKTKpM= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -3873,8 +3745,8 @@ google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCD google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= -google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= -google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -3893,8 +3765,8 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto index cbabbdf8..4c09a3ac 100644 --- a/proto/cardchain/cardchain/genesis.proto +++ b/proto/cardchain/cardchain/genesis.proto @@ -12,6 +12,7 @@ import "cardchain/cardchain/running_average.proto"; import "cardchain/cardchain/council.proto"; import "cardchain/cardchain/image.proto"; import "cardchain/cardchain/server.proto"; +import "cardchain/cardchain/zealy.proto"; import "cosmos/base/v1beta1/coin.proto"; // this line is used by starport scaffolding # genesis/proto/import @@ -33,5 +34,6 @@ message GenesisState { repeated Image images = 14; repeated Server Servers = 15; TimeStamp lastCardModified = 16; + repeated Zealy zealys = 17; // this line is used by starport scaffolding # genesis/proto/state } diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index d7ce30fd..8a77650d 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -126,6 +126,12 @@ service Query { option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_card_contents/{cardIds}"; } + + // Queries a list of QAccountFromZealy items. + rpc QAccountFromZealy (QueryQAccountFromZealyRequest) returns (QueryQAccountFromZealyResponse) { + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_account_from_zealy/{zealyId}"; + + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -173,18 +179,18 @@ message QueryQVotingResultsResponse { } message QueryQCardsRequest { - string owner = 1; - repeated Status statuses = 2; - repeated CardType cardTypes = 3; - repeated CardClass classes = 4; - string sortBy = 5; - string nameContains = 6; - string keywordsContains = 7; - string notesContains = 8; - bool onlyStarterCard = 9; - bool onlyBalanceAnchors = 10; - repeated CardRarity rarities = 11; - bool multiClassOnly = 12; + string owner = 1; + repeated Status statuses = 2; + repeated CardType cardTypes = 3; + repeated CardClass classes = 4; + string sortBy = 5; + string nameContains = 6; + string keywordsContains = 7; + string notesContains = 8; + bool onlyStarterCard = 9; + bool onlyBalanceAnchors = 10; + repeated CardRarity rarities = 11; + bool multiClassOnly = 12; } message QueryQCardsResponse { @@ -226,7 +232,6 @@ message QueryQMatchesResponse { repeated Match matches = 2; } - /* message QueryQSellOffersRequest { message Query { @@ -286,7 +291,6 @@ message QueryRarityDistributionResponse { repeated uint32 wanted = 2; } - // this line is used by starport scaffolding # 3 message QueryQCardContentsRequest { repeated uint64 cardIds = 1; @@ -296,3 +300,11 @@ message QueryQCardContentsResponse { repeated QueryQCardContentResponse cards = 1; } +message QueryQAccountFromZealyRequest { + string zealyId = 1; +} + +message QueryQAccountFromZealyResponse { + string address = 1; +} + diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 4b966cc0..57fb870b 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -60,6 +60,7 @@ service Msg { rpc ChangeAlias (MsgChangeAlias ) returns (MsgChangeAliasResponse ); rpc InviteEarlyAccess (MsgInviteEarlyAccess ) returns (MsgInviteEarlyAccessResponse ); rpc DisinviteEarlyAccess (MsgDisinviteEarlyAccess) returns (MsgDisinviteEarlyAccessResponse); + rpc ConnectZealyAccount (MsgConnectZealyAccount ) returns (MsgConnectZealyAccountResponse ); } message MsgCreateuser { string creator = 1; @@ -76,7 +77,7 @@ message MsgBuyCardScheme { cosmos.base.v1beta1.Coin bid = 2 [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coin"]; /* - string bid = 2; + string bid = 2; */} message MsgBuyCardSchemeResponse { @@ -423,3 +424,10 @@ message MsgDisinviteEarlyAccess { message MsgDisinviteEarlyAccessResponse {} +message MsgConnectZealyAccount { + string creator = 1; + string zealyId = 2; +} + +message MsgConnectZealyAccountResponse {} + diff --git a/proto/cardchain/cardchain/zealy.proto b/proto/cardchain/cardchain/zealy.proto new file mode 100644 index 00000000..d803f0c8 --- /dev/null +++ b/proto/cardchain/cardchain/zealy.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package DecentralCardGame.cardchain.cardchain; + +option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; + +message Zealy { + + string address = 1; + string zealyId = 2; +} diff --git a/testutil/keeper/cardchain.go b/testutil/keeper/cardchain.go index 974fa4b5..6d1153f0 100644 --- a/testutil/keeper/cardchain.go +++ b/testutil/keeper/cardchain.go @@ -27,6 +27,7 @@ func CardchainKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { sellOffersStoreKey := sdk.NewKVStoreKey(types.SellOffersStoreKey) poolsStoreKey := sdk.NewKVStoreKey(types.PoolsStoreKey) serversStoreKey := sdk.NewKVStoreKey(types.ServersStoreKey) + zealyStoreKey := sdk.NewKVStoreKey(types.ZealyStoreKey) runningAveragesStoreKey := sdk.NewKVStoreKey(types.RunningAveragesStoreKey) councilsStoreKey := sdk.NewKVStoreKey(types.CouncilsStoreKey) @@ -41,6 +42,7 @@ func CardchainKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { stateStore.MountStoreWithDB(sellOffersStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(poolsStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(serversStoreKey, sdk.StoreTypeIAVL, db) + stateStore.MountStoreWithDB(zealyStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(councilsStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(runningAveragesStoreKey, sdk.StoreTypeIAVL, db) require.NoError(t, stateStore.LoadLatestVersion()) @@ -65,6 +67,7 @@ func CardchainKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { councilsStoreKey, runningAveragesStoreKey, serversStoreKey, + zealyStoreKey, internalStoreKey, paramsSubspace, nil, // That's why minting fails diff --git a/x/cardchain/client/cli/query.go b/x/cardchain/client/cli/query.go index 643172a5..13885fb3 100644 --- a/x/cardchain/client/cli/query.go +++ b/x/cardchain/client/cli/query.go @@ -57,6 +57,8 @@ func GetQueryCmd(queryRoute string) *cobra.Command { cmd.AddCommand(CmdQCardContents()) + cmd.AddCommand(CmdQAccountFromZealy()) + // this line is used by starport scaffolding # 1 return cmd diff --git a/x/cardchain/client/cli/query_q_account_from_zealy.go b/x/cardchain/client/cli/query_q_account_from_zealy.go new file mode 100644 index 00000000..e3f9a997 --- /dev/null +++ b/x/cardchain/client/cli/query_q_account_from_zealy.go @@ -0,0 +1,46 @@ +package cli + +import ( + "strconv" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdQAccountFromZealy() *cobra.Command { + cmd := &cobra.Command{ + Use: "q-account-from-zealy [zealy-id]", + Short: "Query q_account_from_zealy", + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) (err error) { + reqZealyId := args[0] + + clientCtx, err := client.GetClientQueryContext(cmd) + if err != nil { + return err + } + + queryClient := types.NewQueryClient(clientCtx) + + params := &types.QueryQAccountFromZealyRequest{ + + ZealyId: reqZealyId, + } + + res, err := queryClient.QAccountFromZealy(cmd.Context(), params) + if err != nil { + return err + } + + return clientCtx.PrintProto(res) + }, + } + + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} diff --git a/x/cardchain/client/cli/tx.go b/x/cardchain/client/cli/tx.go index 561ded93..ba60a1a4 100644 --- a/x/cardchain/client/cli/tx.go +++ b/x/cardchain/client/cli/tx.go @@ -72,6 +72,7 @@ func GetTxCmd() *cobra.Command { cmd.AddCommand(CmdChangeAlias()) cmd.AddCommand(CmdInviteEarlyAccess()) cmd.AddCommand(CmdDisinviteEarlyAccess()) + cmd.AddCommand(CmdConnectZealyAccount()) // this line is used by starport scaffolding # 1 return cmd diff --git a/x/cardchain/client/cli/tx_connect_zealy_account.go b/x/cardchain/client/cli/tx_connect_zealy_account.go new file mode 100644 index 00000000..c57cc94f --- /dev/null +++ b/x/cardchain/client/cli/tx_connect_zealy_account.go @@ -0,0 +1,42 @@ +package cli + +import ( + "strconv" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/client/tx" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdConnectZealyAccount() *cobra.Command { + cmd := &cobra.Command{ + Use: "connect-zealy-account [zealy-id]", + Short: "Broadcast message connectZealyAccount", + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) (err error) { + argZealyId := args[0] + + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + msg := types.NewMsgConnectZealyAccount( + clientCtx.GetFromAddress().String(), + argZealyId, + ) + if err := msg.ValidateBasic(); err != nil { + return err + } + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + flags.AddTxFlagsToCmd(cmd) + + return cmd +} diff --git a/x/cardchain/genesis.go b/x/cardchain/genesis.go index b0bdc023..a6552e3b 100644 --- a/x/cardchain/genesis.go +++ b/x/cardchain/genesis.go @@ -1,112 +1,117 @@ package cardchain import ( - "fmt" + "fmt" - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/DecentralCardGame/cardobject/keywords" - sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardobject/keywords" + sdk "github.com/cosmos/cosmos-sdk/types" ) // InitGenesis initializes the capability module's state from a provided genesis // state. func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) { - // this line is used by starport scaffolding # genesis/module/init - for id := range genState.Users { - address, _ := sdk.AccAddressFromBech32(genState.Addresses[id]) - k.SetUser(ctx, address, *genState.Users[id]) - } - for id, match := range genState.Matches { - k.Matches.Set(ctx, uint64(id), match) - } - for id, council := range genState.Councils { - k.Councils.Set(ctx, uint64(id), council) - } - for id, sellOffer := range genState.SellOffers { - k.SellOffers.Set(ctx, uint64(id), sellOffer) - } - for id, image := range genState.Images { - k.Images.Set(ctx, uint64(id), image) - } - for id, server := range genState.Servers { - k.Servers.Set(ctx, uint64(id), server) - } - for id, pool := range genState.Pools { - k.Pools.Set(ctx, k.Pools.KeyWords[id], pool) - } - for idx, average := range genState.RunningAverages { - k.RunningAverages.Set(ctx, k.RunningAverages.KeyWords[idx], average) - } - if genState.CardAuctionPrice.Denom != "" { - k.SetCardAuctionPrice(ctx, genState.CardAuctionPrice) - } - if genState.LastCardModified != nil { - k.SetLastCardModified(ctx, *genState.LastCardModified) - } - k.Logger(ctx).Info("reading cards with id:") - for currId, record := range genState.CardRecords { - _, err := keywords.Unmarshal(record.Content) - if err != nil { - k.Logger(ctx).Error(fmt.Sprintf("%d :\n\t%s\n\t%s\n-----", currId, err.Error(), record.Content)) - } + // this line is used by starport scaffolding # genesis/module/init + for id := range genState.Users { + address, _ := sdk.AccAddressFromBech32(genState.Addresses[id]) + k.SetUser(ctx, address, *genState.Users[id]) + } + for id, match := range genState.Matches { + k.Matches.Set(ctx, uint64(id), match) + } + for id, council := range genState.Councils { + k.Councils.Set(ctx, uint64(id), council) + } + for id, sellOffer := range genState.SellOffers { + k.SellOffers.Set(ctx, uint64(id), sellOffer) + } + for id, image := range genState.Images { + k.Images.Set(ctx, uint64(id), image) + } + for id, server := range genState.Servers { + k.Servers.Set(ctx, uint64(id), server) + } + for id, pool := range genState.Pools { + k.Pools.Set(ctx, k.Pools.KeyWords[id], pool) + } + for idx, average := range genState.RunningAverages { + k.RunningAverages.Set(ctx, k.RunningAverages.KeyWords[idx], average) + } + if genState.CardAuctionPrice.Denom != "" { + k.SetCardAuctionPrice(ctx, genState.CardAuctionPrice) + } + if genState.LastCardModified != nil { + k.SetLastCardModified(ctx, *genState.LastCardModified) + } + for _, zealy := range genState.Zealys { + k.SetZealy(ctx, zealy.ZealyId, *zealy) + } + k.Logger(ctx).Info("reading cards with id:") + for currId, record := range genState.CardRecords { + _, err := keywords.Unmarshal(record.Content) + if err != nil { + k.Logger(ctx).Error(fmt.Sprintf("%d :\n\t%s\n\t%s\n-----", currId, err.Error(), record.Content)) + } - k.Cards.Set(ctx, uint64(currId), record) - } - k.Logger(ctx).Info("Params", genState.Params) - if genState.Params.AirDropValue.Denom == "" { - defaultParams := types.DefaultParams() - genState.Params.AirDropValue = defaultParams.AirDropValue - genState.Params.AirDropMaxBlockHeight = defaultParams.AirDropMaxBlockHeight - } - if genState.Params.MatchWorkerDelay == 0 { - genState.Params.MatchWorkerDelay = types.DefaultMatchWorkerDelay - } - k.SetParams(ctx, genState.Params) - for id, set := range genState.Sets { - if set.Status == types.CStatus_active || set.Status == types.CStatus_finalized { - set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) - set.Rarities = k.GetCardRaritiesInSet(ctx, set) - } - k.Sets.Set(ctx, uint64(id), set) - } + k.Cards.Set(ctx, uint64(currId), record) + } + k.Logger(ctx).Info("Params", genState.Params) + if genState.Params.AirDropValue.Denom == "" { + defaultParams := types.DefaultParams() + genState.Params.AirDropValue = defaultParams.AirDropValue + genState.Params.AirDropMaxBlockHeight = defaultParams.AirDropMaxBlockHeight + } + if genState.Params.MatchWorkerDelay == 0 { + genState.Params.MatchWorkerDelay = types.DefaultMatchWorkerDelay + } + k.SetParams(ctx, genState.Params) + for id, set := range genState.Sets { + if set.Status == types.CStatus_active || set.Status == types.CStatus_finalized { + set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) + set.Rarities = k.GetCardRaritiesInSet(ctx, set) + } + k.Sets.Set(ctx, uint64(id), set) + } } // ExportGenesis returns the capability module's exported genesis. func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { - // this line is used by starport scaffolding # genesis/module/export - params := k.GetParams(ctx) - // params := types.DefaultParams() - cardAuctionPrice := k.GetCardAuctionPrice(ctx) - lastCardModified := k.GetLastCardModified(ctx) - sellOffers := k.SellOffers.GetAll(ctx) - pools := k.Pools.GetAll(ctx) - records := k.Cards.GetAll(ctx) - matches := k.Matches.GetAll(ctx) - councils := k.Councils.GetAll(ctx) - runningAverages := k.RunningAverages.GetAll(ctx) - sets := k.Sets.GetAll(ctx) - images := k.Images.GetAll(ctx) - servers := k.Servers.GetAll(ctx) - users, accAddresses := k.GetAllUsers(ctx) - var addresses []string - for _, addr := range accAddresses { - addresses = append(addresses, addr.String()) - } - return &types.GenesisState{ - Params: params, - CardRecords: records, - Users: users, - Matches: matches, - Sets: sets, - SellOffers: sellOffers, - Pools: pools, - Councils: councils, - Addresses: addresses, - CardAuctionPrice: cardAuctionPrice, - Images: images, - RunningAverages: runningAverages, - Servers: servers, - LastCardModified: &lastCardModified, - } + // this line is used by starport scaffolding # genesis/module/export + params := k.GetParams(ctx) + // params := types.DefaultParams() + cardAuctionPrice := k.GetCardAuctionPrice(ctx) + lastCardModified := k.GetLastCardModified(ctx) + sellOffers := k.SellOffers.GetAll(ctx) + pools := k.Pools.GetAll(ctx) + records := k.Cards.GetAll(ctx) + matches := k.Matches.GetAll(ctx) + councils := k.Councils.GetAll(ctx) + runningAverages := k.RunningAverages.GetAll(ctx) + sets := k.Sets.GetAll(ctx) + images := k.Images.GetAll(ctx) + servers := k.Servers.GetAll(ctx) + users, accAddresses := k.GetAllUsers(ctx) + zealys, _ := k.GetAllZealys(ctx) + var addresses []string + for _, addr := range accAddresses { + addresses = append(addresses, addr.String()) + } + return &types.GenesisState{ + Params: params, + CardRecords: records, + Users: users, + Matches: matches, + Sets: sets, + SellOffers: sellOffers, + Pools: pools, + Councils: councils, + Addresses: addresses, + CardAuctionPrice: cardAuctionPrice, + Images: images, + RunningAverages: runningAverages, + Servers: servers, + LastCardModified: &lastCardModified, + Zealys: zealys, + } } diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index 64f681e8..d770e4cd 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -1,358 +1,361 @@ package keeper import ( - "encoding/json" - "fmt" - ffKeeper "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" - "github.com/cosmos/cosmos-sdk/types/errors" - "sort" - - gtk "github.com/DecentralCardGame/Cardchain/types/generic_type_keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/DecentralCardGame/cardobject/cardobject" - "github.com/DecentralCardGame/cardobject/keywords" - "github.com/cosmos/cosmos-sdk/codec" - storetypes "github.com/cosmos/cosmos-sdk/store/types" - sdk "github.com/cosmos/cosmos-sdk/types" - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "github.com/tendermint/tendermint/libs/log" + "encoding/json" + "fmt" + ffKeeper "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" + "github.com/cosmos/cosmos-sdk/types/errors" + "sort" + + gtk "github.com/DecentralCardGame/Cardchain/types/generic_type_keeper" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardobject/cardobject" + "github.com/DecentralCardGame/cardobject/keywords" + "github.com/cosmos/cosmos-sdk/codec" + storetypes "github.com/cosmos/cosmos-sdk/store/types" + sdk "github.com/cosmos/cosmos-sdk/types" + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/tendermint/tendermint/libs/log" ) // Keeper Yeah the keeper type Keeper struct { - cdc codec.BinaryCodec // The wire codec for binary encoding/decoding. - UsersStoreKey storetypes.StoreKey - InternalStoreKey storetypes.StoreKey - paramstore paramtypes.Subspace - - Cards gtk.GenericTypeKeeper[*types.Card] - Councils gtk.GenericTypeKeeper[*types.Council] - SellOffers gtk.GenericTypeKeeper[*types.SellOffer] - Sets gtk.GenericTypeKeeper[*types.Set] - Matches gtk.GenericTypeKeeper[*types.Match] - Servers gtk.GenericTypeKeeper[*types.Server] - RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] - Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] - Images gtk.GenericTypeKeeper[*types.Image] - - FeatureFlagModuleInstance ffKeeper.ModuleInstance - BankKeeper types.BankKeeper + cdc codec.BinaryCodec // The wire codec for binary encoding/decoding. + UsersStoreKey storetypes.StoreKey + zealyStoreKey storetypes.StoreKey + InternalStoreKey storetypes.StoreKey + paramstore paramtypes.Subspace + + Cards gtk.GenericTypeKeeper[*types.Card] + Councils gtk.GenericTypeKeeper[*types.Council] + SellOffers gtk.GenericTypeKeeper[*types.SellOffer] + Sets gtk.GenericTypeKeeper[*types.Set] + Matches gtk.GenericTypeKeeper[*types.Match] + Servers gtk.GenericTypeKeeper[*types.Server] + RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] + Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] + Images gtk.GenericTypeKeeper[*types.Image] + + FeatureFlagModuleInstance ffKeeper.ModuleInstance + BankKeeper types.BankKeeper } // NewKeeper Constructor for Keeper func NewKeeper( - cdc codec.BinaryCodec, - usersStoreKey, - cardsStoreKey storetypes.StoreKey, - matchesStorekey storetypes.StoreKey, - setsStoreKey storetypes.StoreKey, - sellOffersStoreKey storetypes.StoreKey, - poolsStoreKey storetypes.StoreKey, - councilsStoreKey storetypes.StoreKey, - runningAveragesStoreKey storetypes.StoreKey, - imagesStorekey storetypes.StoreKey, - serversStoreKey storetypes.StoreKey, - internalStoreKey storetypes.StoreKey, - ps paramtypes.Subspace, - - featureFlagKeeper types.FeatureFlagKeeper, - bankKeeper types.BankKeeper, + cdc codec.BinaryCodec, + usersStoreKey, + cardsStoreKey storetypes.StoreKey, + matchesStorekey storetypes.StoreKey, + setsStoreKey storetypes.StoreKey, + sellOffersStoreKey storetypes.StoreKey, + poolsStoreKey storetypes.StoreKey, + councilsStoreKey storetypes.StoreKey, + runningAveragesStoreKey storetypes.StoreKey, + imagesStorekey storetypes.StoreKey, + serversStoreKey storetypes.StoreKey, + zealyStoreKey storetypes.StoreKey, + internalStoreKey storetypes.StoreKey, + ps paramtypes.Subspace, + + featureFlagKeeper types.FeatureFlagKeeper, + bankKeeper types.BankKeeper, ) *Keeper { - // set KeyTable if it has not already been set - if !ps.HasKeyTable() { - ps = ps.WithKeyTable(types.ParamKeyTable()) - } - - return &Keeper{ - cdc: cdc, - UsersStoreKey: usersStoreKey, - InternalStoreKey: internalStoreKey, - paramstore: ps, - - Cards: gtk.NewGTK[*types.Card](cardsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Card]), - Councils: gtk.NewGTK[*types.Council](councilsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Council]), - SellOffers: gtk.NewGTK[*types.SellOffer](sellOffersStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.SellOffer]), - Sets: gtk.NewGTK[*types.Set](setsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Set]), - Matches: gtk.NewGTK[*types.Match](matchesStorekey, internalStoreKey, cdc, gtk.GetEmpty[types.Match]), - RunningAverages: gtk.NewKGTK[*types.RunningAverage](runningAveragesStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), - Pools: gtk.NewKGTK[*sdk.Coin](poolsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), - Images: gtk.NewGTK[*types.Image](imagesStorekey, internalStoreKey, cdc, gtk.GetEmpty[types.Image]), - Servers: gtk.NewGTK[*types.Server](serversStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Server]), - - FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), - BankKeeper: bankKeeper, - } + // set KeyTable if it has not already been set + if !ps.HasKeyTable() { + ps = ps.WithKeyTable(types.ParamKeyTable()) + } + + return &Keeper{ + cdc: cdc, + UsersStoreKey: usersStoreKey, + zealyStoreKey: zealyStoreKey, + InternalStoreKey: internalStoreKey, + paramstore: ps, + + Cards: gtk.NewGTK[*types.Card](cardsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Card]), + Councils: gtk.NewGTK[*types.Council](councilsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Council]), + SellOffers: gtk.NewGTK[*types.SellOffer](sellOffersStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.SellOffer]), + Sets: gtk.NewGTK[*types.Set](setsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Set]), + Matches: gtk.NewGTK[*types.Match](matchesStorekey, internalStoreKey, cdc, gtk.GetEmpty[types.Match]), + RunningAverages: gtk.NewKGTK[*types.RunningAverage](runningAveragesStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), + Pools: gtk.NewKGTK[*sdk.Coin](poolsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), + Images: gtk.NewGTK[*types.Image](imagesStorekey, internalStoreKey, cdc, gtk.GetEmpty[types.Image]), + Servers: gtk.NewGTK[*types.Server](serversStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Server]), + + FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), + BankKeeper: bankKeeper, + } } // Logger Tendermint logger for logging in the cosmos log func (k Keeper) Logger(ctx sdk.Context) log.Logger { - return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) + return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) } // TransferSchemeToCard Makes a users cardscheme a card func (k Keeper) TransferSchemeToCard(ctx sdk.Context, cardId uint64, user *User) (err error) { - user.OwnedCardSchemes, err = PopItemFromArr(cardId, user.OwnedCardSchemes) - if err != nil { - return errors.ErrUnauthorized - } + user.OwnedCardSchemes, err = PopItemFromArr(cardId, user.OwnedCardSchemes) + if err != nil { + return errors.ErrUnauthorized + } - user.OwnedPrototypes = append(user.OwnedPrototypes, cardId) - return nil + user.OwnedPrototypes = append(user.OwnedPrototypes, cardId) + return nil } type candidate struct { - id uint64 - votes int64 + id uint64 + votes int64 } // SetLastVotingResults Sets the last voting results func (k Keeper) SetLastVotingResults(ctx sdk.Context, results types.VotingResults) { - store := ctx.KVStore(k.InternalStoreKey) - store.Set([]byte("lastVotingResults"), k.cdc.MustMarshal(&results)) + store := ctx.KVStore(k.InternalStoreKey) + store.Set([]byte("lastVotingResults"), k.cdc.MustMarshal(&results)) } // GetLastVotingResults Returns the current price of the card scheme auction func (k Keeper) GetLastVotingResults(ctx sdk.Context) (results types.VotingResults) { - store := ctx.KVStore(k.InternalStoreKey) - bz := store.Get([]byte("lastVotingResults")) - k.cdc.MustUnmarshal(bz, &results) - return + store := ctx.KVStore(k.InternalStoreKey) + bz := store.Get([]byte("lastVotingResults")) + k.cdc.MustUnmarshal(bz, &results) + return } // NerfBuffCards Nerfes or buffs certain cards // TODO maybe the whole auto balancing stuff should be moved into its own file func (k Keeper) NerfBuffCards(ctx sdk.Context, cardIds []uint64, buff bool) { - if len(cardIds) > 0 { - k.SetLastCardModifiedNow(ctx) - } - - for _, val := range cardIds { - buffCard := k.Cards.Get(ctx, val) - - cardobj, err := keywords.Unmarshal(buffCard.Content) - if err != nil { - k.Logger(ctx).Error("error on card content:", err, "with card", buffCard.Content) - } - - if buffCard.BalanceAnchor { - continue - } - - buffnerfCost := func(cost *cardobject.CastingCost) { - update := *cost - if buff { - update -= 1 - } else { - update += 1 - } - // only apply the buffed/nerfed value if the new value validates without error - if update.ValidateType(nil) == nil { - *cost = update - } - } - - if cardobj.Action != nil { - buffnerfCost(&cardobj.Action.CastingCost) - } - if cardobj.Entity != nil { - buffnerfCost(&cardobj.Entity.CastingCost) - } - if cardobj.Place != nil { - buffnerfCost(&cardobj.Place.CastingCost) - } - if cardobj.Headquarter != nil { - updateHealth := cardobj.Headquarter.Health - updateDelay := cardobj.Headquarter.Delay - if buff { - updateDelay -= 1 - updateHealth += 1 - } else { - updateDelay += 1 - updateHealth -= 1 - } - if updateDelay.ValidateType(nil) == nil { - cardobj.Headquarter.Delay = updateDelay - } - if updateHealth.ValidateType(nil) == nil { - cardobj.Headquarter.Health = updateHealth - } - } - - cardJSON, _ := json.Marshal(cardobj) - buffCard.Content = cardJSON - - if buff { - buffCard.Nerflevel -= 1 - } else { - buffCard.Nerflevel += 1 - } - - k.Cards.Set(ctx, val, buffCard) - } + if len(cardIds) > 0 { + k.SetLastCardModifiedNow(ctx) + } + + for _, val := range cardIds { + buffCard := k.Cards.Get(ctx, val) + + cardobj, err := keywords.Unmarshal(buffCard.Content) + if err != nil { + k.Logger(ctx).Error("error on card content:", err, "with card", buffCard.Content) + } + + if buffCard.BalanceAnchor { + continue + } + + buffnerfCost := func(cost *cardobject.CastingCost) { + update := *cost + if buff { + update -= 1 + } else { + update += 1 + } + // only apply the buffed/nerfed value if the new value validates without error + if update.ValidateType(nil) == nil { + *cost = update + } + } + + if cardobj.Action != nil { + buffnerfCost(&cardobj.Action.CastingCost) + } + if cardobj.Entity != nil { + buffnerfCost(&cardobj.Entity.CastingCost) + } + if cardobj.Place != nil { + buffnerfCost(&cardobj.Place.CastingCost) + } + if cardobj.Headquarter != nil { + updateHealth := cardobj.Headquarter.Health + updateDelay := cardobj.Headquarter.Delay + if buff { + updateDelay -= 1 + updateHealth += 1 + } else { + updateDelay += 1 + updateHealth -= 1 + } + if updateDelay.ValidateType(nil) == nil { + cardobj.Headquarter.Delay = updateDelay + } + if updateHealth.ValidateType(nil) == nil { + cardobj.Headquarter.Health = updateHealth + } + } + + cardJSON, _ := json.Marshal(cardobj) + buffCard.Content = cardJSON + + if buff { + buffCard.Nerflevel -= 1 + } else { + buffCard.Nerflevel += 1 + } + + k.Cards.Set(ctx, val, buffCard) + } } // UpdateBanStatus Bans cards func (k Keeper) UpdateBanStatus(ctx sdk.Context, newBannedIds []uint64) { - var err error - // go through all cards and find already marked cards - iter := k.Cards.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - idx, gottenCard := iter.Value() - if gottenCard.Status == types.Status_bannedVerySoon { - gottenUser, _ := k.GetUserFromString(ctx, gottenCard.Owner) - - // remove the card from the Cards store - var emptyCard types.Card - k.Cards.Set(ctx, idx, &emptyCard) - - // remove the card from the ownedCards of the owner - gottenUser.OwnedPrototypes, err = PopItemFromArr(idx, gottenUser.OwnedPrototypes) - if err == nil { - k.SetUserFromUser(ctx, gottenUser) - } else { - k.Logger(ctx).Error(fmt.Sprintf("trying to delete card id: %d of owner %s but does not exist", idx, gottenUser.Addr)) - } - } else if gottenCard.Status == types.Status_bannedSoon { - gottenCard.Status = types.Status_bannedVerySoon - k.Cards.Set(ctx, idx, gottenCard) - } - } - - // mark freshly banned cards - for _, id := range newBannedIds { - banCard := k.Cards.Get(ctx, id) - banCard.Status = types.Status_bannedSoon - k.Cards.Set(ctx, id, banCard) - } - - if len(newBannedIds) > 0 { - k.SetLastCardModifiedNow(ctx) - } + var err error + // go through all cards and find already marked cards + iter := k.Cards.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + idx, gottenCard := iter.Value() + if gottenCard.Status == types.Status_bannedVerySoon { + gottenUser, _ := k.GetUserFromString(ctx, gottenCard.Owner) + + // remove the card from the Cards store + var emptyCard types.Card + k.Cards.Set(ctx, idx, &emptyCard) + + // remove the card from the ownedCards of the owner + gottenUser.OwnedPrototypes, err = PopItemFromArr(idx, gottenUser.OwnedPrototypes) + if err == nil { + k.SetUserFromUser(ctx, gottenUser) + } else { + k.Logger(ctx).Error(fmt.Sprintf("trying to delete card id: %d of owner %s but does not exist", idx, gottenUser.Addr)) + } + } else if gottenCard.Status == types.Status_bannedSoon { + gottenCard.Status = types.Status_bannedVerySoon + k.Cards.Set(ctx, idx, gottenCard) + } + } + + // mark freshly banned cards + for _, id := range newBannedIds { + banCard := k.Cards.Get(ctx, id) + banCard.Status = types.Status_bannedSoon + k.Cards.Set(ctx, id, banCard) + } + + if len(newBannedIds) > 0 { + k.SetLastCardModifiedNow(ctx) + } } // GetOPandUPCards Gets OP and UP cards func (k Keeper) GetOPandUPCards(ctx sdk.Context) (buffbois []uint64, nerfbois []uint64, fairbois []uint64, banbois []uint64) { - var OPcandidates []candidate - var UPcandidates []candidate - var IAcandidates []candidate - - //var votingResults VotingResults - votingResults := types.NewVotingResults() - - var uUP float64 = 0 - var uOP float64 = 0 - - // go through all cards and collect candidates - iter := k.Cards.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - id, gottenCard := iter.Value() - - nettoOP := int64(gottenCard.OverpoweredVotes - gottenCard.FairEnoughVotes - gottenCard.UnderpoweredVotes) - nettoUP := int64(gottenCard.UnderpoweredVotes - gottenCard.FairEnoughVotes - gottenCard.OverpoweredVotes) - nettoIA := int64(gottenCard.InappropriateVotes - gottenCard.FairEnoughVotes - gottenCard.OverpoweredVotes - gottenCard.UnderpoweredVotes) - - votingResults.TotalFairEnoughVotes += gottenCard.FairEnoughVotes - votingResults.TotalOverpoweredVotes += gottenCard.OverpoweredVotes - votingResults.TotalUnderpoweredVotes += gottenCard.UnderpoweredVotes - votingResults.TotalInappropriateVotes += gottenCard.InappropriateVotes - votingResults.TotalVotes += gottenCard.FairEnoughVotes + gottenCard.OverpoweredVotes + gottenCard.UnderpoweredVotes + gottenCard.InappropriateVotes - - // all candidates are added to the results log - if nettoIA > 0 || nettoOP > 0 || nettoUP > 0 { - votingResults.CardResults = append(votingResults.CardResults, &types.VotingResult{ - CardId: id, - FairEnoughVotes: gottenCard.FairEnoughVotes, - OverpoweredVotes: gottenCard.OverpoweredVotes, - UnderpoweredVotes: gottenCard.UnderpoweredVotes, - InappropriateVotes: gottenCard.InappropriateVotes, - Result: "fair_enough", - }) - - // sort candidates into the specific arrays - if nettoIA > 1 { - IAcandidates = append(IAcandidates, candidate{id: id, votes: nettoIA}) - } else if nettoOP > 0 { - uOP += float64(nettoOP) - OPcandidates = append(OPcandidates, candidate{id: id, votes: nettoOP}) - } else if nettoUP > 0 { - uUP += float64(nettoUP) - UPcandidates = append(UPcandidates, candidate{id: id, votes: nettoUP}) - } - } - } - - // go through all OP candidates and calculate the cutoff value and collect all above this value - if len(OPcandidates) > 0 { - // µ is the average, so it must be divided by n, but we can do this only after all cards are counted - uOP /= float64(len(OPcandidates)) - - sort.Slice(OPcandidates, func(i, j int) bool { - return OPcandidates[i].votes < OPcandidates[j].votes - }) - - var giniOPsum float64 - for i := 1; i <= len(OPcandidates); i++ { - giniOPsum += float64(OPcandidates[i-1].votes) * float64(2*i-len(OPcandidates)-1) - } - - giniOP := giniOPsum / float64(len(OPcandidates)*len(OPcandidates)) / uOP - cutvalue := giniOP * float64(OPcandidates[len(OPcandidates)-1].votes) - - for i := 0; i < len(OPcandidates); i++ { - if float64(OPcandidates[i].votes) > cutvalue { - nerfbois = append(nerfbois, OPcandidates[i].id) - } else { - fairbois = append(fairbois, OPcandidates[i].id) - } - } - } - // go through all UP candidates and calculate the cutoff value and collect all above this value - if len(UPcandidates) > 0 { - uUP /= float64(len(UPcandidates)) - - sort.Slice(UPcandidates, func(i, j int) bool { - return UPcandidates[i].votes < UPcandidates[j].votes - }) - - var giniUPsum float64 - for i := 1; i <= len(UPcandidates); i++ { - giniUPsum += float64(UPcandidates[i-1].votes) * float64(2*i-len(UPcandidates)-1) - } - - giniUP := giniUPsum / float64(len(UPcandidates)*len(UPcandidates)) / uUP - cutvalue := giniUP * float64(UPcandidates[len(UPcandidates)-1].votes) - - for i := 0; i < len(UPcandidates); i++ { - if float64(UPcandidates[i].votes) > cutvalue { - buffbois = append(buffbois, UPcandidates[i].id) - } else { - fairbois = append(fairbois, UPcandidates[i].id) - } - } - } - // go through all IA candidates and collect them (there is no cutoff here) - if len(IAcandidates) > 0 { - for i := 0; i < len(IAcandidates); i++ { - banbois = append(banbois, IAcandidates[i].id) - } - } - - // add the result to the voting log - allBois := [][]uint64{buffbois, nerfbois, banbois} - boisCodes := []string{"buff", "nerf", "ban"} - - for i := 0; i < len(votingResults.CardResults); i++ { - for idx, boisCode := range boisCodes { - for _, bois := range allBois[idx] { - if votingResults.CardResults[i].CardId == bois { - votingResults.CardResults[i].Result = boisCode - } - } - } - } - - // and save the log - k.SetLastVotingResults(ctx, votingResults) - - return + var OPcandidates []candidate + var UPcandidates []candidate + var IAcandidates []candidate + + //var votingResults VotingResults + votingResults := types.NewVotingResults() + + var uUP float64 = 0 + var uOP float64 = 0 + + // go through all cards and collect candidates + iter := k.Cards.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + id, gottenCard := iter.Value() + + nettoOP := int64(gottenCard.OverpoweredVotes - gottenCard.FairEnoughVotes - gottenCard.UnderpoweredVotes) + nettoUP := int64(gottenCard.UnderpoweredVotes - gottenCard.FairEnoughVotes - gottenCard.OverpoweredVotes) + nettoIA := int64(gottenCard.InappropriateVotes - gottenCard.FairEnoughVotes - gottenCard.OverpoweredVotes - gottenCard.UnderpoweredVotes) + + votingResults.TotalFairEnoughVotes += gottenCard.FairEnoughVotes + votingResults.TotalOverpoweredVotes += gottenCard.OverpoweredVotes + votingResults.TotalUnderpoweredVotes += gottenCard.UnderpoweredVotes + votingResults.TotalInappropriateVotes += gottenCard.InappropriateVotes + votingResults.TotalVotes += gottenCard.FairEnoughVotes + gottenCard.OverpoweredVotes + gottenCard.UnderpoweredVotes + gottenCard.InappropriateVotes + + // all candidates are added to the results log + if nettoIA > 0 || nettoOP > 0 || nettoUP > 0 { + votingResults.CardResults = append(votingResults.CardResults, &types.VotingResult{ + CardId: id, + FairEnoughVotes: gottenCard.FairEnoughVotes, + OverpoweredVotes: gottenCard.OverpoweredVotes, + UnderpoweredVotes: gottenCard.UnderpoweredVotes, + InappropriateVotes: gottenCard.InappropriateVotes, + Result: "fair_enough", + }) + + // sort candidates into the specific arrays + if nettoIA > 1 { + IAcandidates = append(IAcandidates, candidate{id: id, votes: nettoIA}) + } else if nettoOP > 0 { + uOP += float64(nettoOP) + OPcandidates = append(OPcandidates, candidate{id: id, votes: nettoOP}) + } else if nettoUP > 0 { + uUP += float64(nettoUP) + UPcandidates = append(UPcandidates, candidate{id: id, votes: nettoUP}) + } + } + } + + // go through all OP candidates and calculate the cutoff value and collect all above this value + if len(OPcandidates) > 0 { + // µ is the average, so it must be divided by n, but we can do this only after all cards are counted + uOP /= float64(len(OPcandidates)) + + sort.Slice(OPcandidates, func(i, j int) bool { + return OPcandidates[i].votes < OPcandidates[j].votes + }) + + var giniOPsum float64 + for i := 1; i <= len(OPcandidates); i++ { + giniOPsum += float64(OPcandidates[i-1].votes) * float64(2*i-len(OPcandidates)-1) + } + + giniOP := giniOPsum / float64(len(OPcandidates)*len(OPcandidates)) / uOP + cutvalue := giniOP * float64(OPcandidates[len(OPcandidates)-1].votes) + + for i := 0; i < len(OPcandidates); i++ { + if float64(OPcandidates[i].votes) > cutvalue { + nerfbois = append(nerfbois, OPcandidates[i].id) + } else { + fairbois = append(fairbois, OPcandidates[i].id) + } + } + } + // go through all UP candidates and calculate the cutoff value and collect all above this value + if len(UPcandidates) > 0 { + uUP /= float64(len(UPcandidates)) + + sort.Slice(UPcandidates, func(i, j int) bool { + return UPcandidates[i].votes < UPcandidates[j].votes + }) + + var giniUPsum float64 + for i := 1; i <= len(UPcandidates); i++ { + giniUPsum += float64(UPcandidates[i-1].votes) * float64(2*i-len(UPcandidates)-1) + } + + giniUP := giniUPsum / float64(len(UPcandidates)*len(UPcandidates)) / uUP + cutvalue := giniUP * float64(UPcandidates[len(UPcandidates)-1].votes) + + for i := 0; i < len(UPcandidates); i++ { + if float64(UPcandidates[i].votes) > cutvalue { + buffbois = append(buffbois, UPcandidates[i].id) + } else { + fairbois = append(fairbois, UPcandidates[i].id) + } + } + } + // go through all IA candidates and collect them (there is no cutoff here) + if len(IAcandidates) > 0 { + for i := 0; i < len(IAcandidates); i++ { + banbois = append(banbois, IAcandidates[i].id) + } + } + + // add the result to the voting log + allBois := [][]uint64{buffbois, nerfbois, banbois} + boisCodes := []string{"buff", "nerf", "ban"} + + for i := 0; i < len(votingResults.CardResults); i++ { + for idx, boisCode := range boisCodes { + for _, bois := range allBois[idx] { + if votingResults.CardResults[i].CardId == bois { + votingResults.CardResults[i].Result = boisCode + } + } + } + } + + // and save the log + k.SetLastVotingResults(ctx, votingResults) + + return } diff --git a/x/cardchain/keeper/msg_server_connect_zealy_account.go b/x/cardchain/keeper/msg_server_connect_zealy_account.go new file mode 100644 index 00000000..b7ab7888 --- /dev/null +++ b/x/cardchain/keeper/msg_server_connect_zealy_account.go @@ -0,0 +1,39 @@ +package keeper + +import ( + "context" + sdkerrors "cosmossdk.io/errors" + "github.com/cosmos/cosmos-sdk/types/errors" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) ConnectZealyAccount(goCtx context.Context, msg *types.MsgConnectZealyAccount) (*types.MsgConnectZealyAccountResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + _, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, msg.Creator) + } + + _, err = k.GetZealy(ctx, msg.ZealyId) + if err == nil { + return nil, sdkerrors.Wrapf(errors.ErrUnauthorized, "ZealyId `%s` is already registered", msg.ZealyId) + } + + iterator := k.GetZealyIterator(ctx) + for ; iterator.Valid(); iterator.Next() { + + var gotten types.Zealy + k.cdc.MustUnmarshal(iterator.Value(), &gotten) + + if gotten.Address == msg.Creator { + return nil, sdkerrors.Wrapf(errors.ErrUnauthorized, "User `%s` has already registered a zealyId", msg.Creator) + } + } + + k.SetZealy(ctx, msg.ZealyId, types.Zealy{Address: msg.Creator, ZealyId: msg.ZealyId}) + + return &types.MsgConnectZealyAccountResponse{}, nil +} diff --git a/x/cardchain/keeper/query_q_account_from_zealy.go b/x/cardchain/keeper/query_q_account_from_zealy.go new file mode 100644 index 00000000..fb82d509 --- /dev/null +++ b/x/cardchain/keeper/query_q_account_from_zealy.go @@ -0,0 +1,25 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (k Keeper) QAccountFromZealy(goCtx context.Context, req *types.QueryQAccountFromZealyRequest) (*types.QueryQAccountFromZealyResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + zealy, err := k.GetZealy(ctx, req.ZealyId) + if err != nil { + return nil, err + } + + return &types.QueryQAccountFromZealyResponse{Address: zealy.Address}, nil +} diff --git a/x/cardchain/keeper/zealy.go b/x/cardchain/keeper/zealy.go new file mode 100644 index 00000000..45800953 --- /dev/null +++ b/x/cardchain/keeper/zealy.go @@ -0,0 +1,47 @@ +package keeper + +import ( + "fmt" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// SetZealy Sets a zealy id +func (k Keeper) SetZealy(ctx sdk.Context, zealyId string, zealy types.Zealy) { + store := ctx.KVStore(k.zealyStoreKey) + store.Set([]byte(zealyId), k.cdc.MustMarshal(&zealy)) +} + +// GetZealy Gets a zealy from store +func (k Keeper) GetZealy(ctx sdk.Context, zealyId string) (zealy types.Zealy, err error) { + store := ctx.KVStore(k.zealyStoreKey) + bz := store.Get([]byte(zealyId)) + + if bz == nil { + err = fmt.Errorf("zealyId `%s` not in store", zealyId) + } else { + k.cdc.MustUnmarshal(bz, &zealy) + } + return +} + +// GetZealyIterator Returns an iterator for all zealys +func (k Keeper) GetZealyIterator(ctx sdk.Context) sdk.Iterator { + store := ctx.KVStore(k.zealyStoreKey) + return sdk.KVStorePrefixIterator(store, nil) +} + +// GetAllZealys Gets all zealys from store +func (k Keeper) GetAllZealys(ctx sdk.Context) (allZealys []*types.Zealy, allZealyIds []string) { + iterator := k.GetZealyIterator(ctx) + for ; iterator.Valid(); iterator.Next() { + + var gotten types.Zealy + k.cdc.MustUnmarshal(iterator.Value(), &gotten) + + allZealys = append(allZealys, &gotten) + allZealyIds = append(allZealyIds, string(iterator.Key())) + } + return +} diff --git a/x/cardchain/module_simulation.go b/x/cardchain/module_simulation.go index 2974582a..dae5899c 100644 --- a/x/cardchain/module_simulation.go +++ b/x/cardchain/module_simulation.go @@ -208,6 +208,10 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgDisinviteEarlyAccess int = 100 + opWeightMsgConnectZealyAccount = "op_weight_msg_connect_zealy_account" + // TODO: Determine the simulation weight value + defaultWeightMsgConnectZealyAccount int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -714,6 +718,17 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgDisinviteEarlyAccess(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgConnectZealyAccount int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgConnectZealyAccount, &weightMsgConnectZealyAccount, nil, + func(_ *rand.Rand) { + weightMsgConnectZealyAccount = defaultWeightMsgConnectZealyAccount + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgConnectZealyAccount, + cardchainsimulation.SimulateMsgConnectZealyAccount(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations diff --git a/x/cardchain/simulation/connect_zealy_account.go b/x/cardchain/simulation/connect_zealy_account.go new file mode 100644 index 00000000..fd011dbc --- /dev/null +++ b/x/cardchain/simulation/connect_zealy_account.go @@ -0,0 +1,29 @@ +package simulation + +import ( + "math/rand" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/baseapp" + sdk "github.com/cosmos/cosmos-sdk/types" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" +) + +func SimulateMsgConnectZealyAccount( + ak types.AccountKeeper, + bk types.BankKeeper, + k keeper.Keeper, +) simtypes.Operation { + return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, + ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { + simAccount, _ := simtypes.RandomAcc(r, accs) + msg := &types.MsgConnectZealyAccount{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the ConnectZealyAccount simulation + + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "ConnectZealyAccount simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 0f6b6794..d7ac0ac9 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -56,6 +56,7 @@ func RegisterCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgChangeAlias{}, "cardchain/ChangeAlias", nil) cdc.RegisterConcrete(&MsgInviteEarlyAccess{}, "cardchain/InviteEarlyAccess", nil) cdc.RegisterConcrete(&MsgDisinviteEarlyAccess{}, "cardchain/DisinviteEarlyAccess", nil) + cdc.RegisterConcrete(&MsgConnectZealyAccount{}, "cardchain/ConnectZealyAccount", nil) // this line is used by starport scaffolding # 2 } @@ -201,6 +202,9 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgDisinviteEarlyAccess{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgConnectZealyAccount{}, + ) // this line is used by starport scaffolding # 3 msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 68205b9d..3151738a 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -41,6 +41,7 @@ type GenesisState struct { Images []*Image `protobuf:"bytes,14,rep,name=images,proto3" json:"images,omitempty"` Servers []*Server `protobuf:"bytes,15,rep,name=Servers,proto3" json:"Servers,omitempty"` LastCardModified *TimeStamp `protobuf:"bytes,16,opt,name=lastCardModified,proto3" json:"lastCardModified,omitempty"` + Zealys []*Zealy `protobuf:"bytes,17,rep,name=zealys,proto3" json:"zealys,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -167,6 +168,13 @@ func (m *GenesisState) GetLastCardModified() *TimeStamp { return nil } +func (m *GenesisState) GetZealys() []*Zealy { + if m != nil { + return m.Zealys + } + return nil +} + func init() { proto.RegisterType((*GenesisState)(nil), "DecentralCardGame.cardchain.cardchain.GenesisState") } @@ -174,46 +182,47 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/genesis.proto", fileDescriptor_c4e78aa6e403ddd4) } var fileDescriptor_c4e78aa6e403ddd4 = []byte{ - // 613 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x4d, 0x6b, 0x14, 0x31, - 0x18, 0xc7, 0x77, 0x6d, 0xbb, 0xed, 0x66, 0xab, 0x2d, 0xc1, 0x43, 0x2c, 0x3a, 0x1d, 0x45, 0x71, - 0x7d, 0xe9, 0x8c, 0xad, 0x08, 0x9e, 0x84, 0xbe, 0x60, 0x51, 0x29, 0x96, 0xac, 0x5e, 0x54, 0x28, - 0xd9, 0x4c, 0x3a, 0x0d, 0xce, 0x4c, 0x96, 0x3c, 0xd9, 0xa2, 0x1f, 0x42, 0xf0, 0x63, 0xf5, 0xd8, - 0xa3, 0x78, 0x28, 0xd2, 0x7e, 0x11, 0x49, 0x32, 0xdd, 0x5d, 0xed, 0x50, 0xa6, 0xa7, 0x0d, 0xfb, - 0x3c, 0xbf, 0x5f, 0xc2, 0x3c, 0xff, 0x04, 0xdd, 0xe5, 0x4c, 0x27, 0xfc, 0x80, 0xc9, 0x22, 0x1e, - 0xaf, 0x52, 0x51, 0x08, 0x90, 0x10, 0x0d, 0xb4, 0x32, 0x0a, 0x3f, 0xd8, 0x12, 0x5c, 0x14, 0x46, - 0xb3, 0x6c, 0x93, 0xe9, 0x64, 0x9b, 0xe5, 0x22, 0x1a, 0xb5, 0x8e, 0x57, 0x4b, 0x37, 0x53, 0x95, - 0x2a, 0x47, 0xc4, 0x76, 0xe5, 0xe1, 0xa5, 0xb0, 0xca, 0x3f, 0x60, 0x9a, 0xe5, 0xa5, 0x7e, 0x29, - 0xa8, 0xea, 0xb0, 0xab, 0xcb, 0xea, 0x43, 0x10, 0xba, 0xac, 0x2f, 0x57, 0xd5, 0x73, 0x66, 0xf8, - 0x41, 0xd9, 0x70, 0xa7, 0xaa, 0x01, 0x84, 0x29, 0xcb, 0xf7, 0xab, 0xcb, 0x59, 0xb6, 0xa7, 0xf6, - 0xf7, 0x47, 0xbb, 0x3c, 0xaa, 0xea, 0xd2, 0xc3, 0xa2, 0x90, 0x45, 0xba, 0xc7, 0x0e, 0x85, 0x66, - 0xa9, 0x28, 0x5b, 0x2b, 0x3f, 0x29, 0x57, 0xc3, 0x82, 0xcb, 0xec, 0xb2, 0x33, 0xcb, 0x7c, 0xec, - 0x08, 0xab, 0x0f, 0xa5, 0x0f, 0x47, 0x07, 0x0a, 0xb8, 0x82, 0x5c, 0x41, 0xdc, 0x67, 0x20, 0xe2, - 0xc3, 0xd5, 0xbe, 0x30, 0x6c, 0x35, 0xe6, 0x4a, 0x16, 0xbe, 0x7e, 0xef, 0xc7, 0x1c, 0x9a, 0xdf, - 0xf6, 0x73, 0xec, 0x19, 0x66, 0x04, 0x7e, 0x87, 0x5a, 0xfe, 0xbb, 0x93, 0x66, 0xd8, 0xec, 0x76, - 0xd6, 0x56, 0xa2, 0x5a, 0x73, 0x8d, 0x76, 0x1d, 0xb4, 0x31, 0x7d, 0x74, 0xb2, 0xdc, 0xa0, 0xa5, - 0x02, 0xef, 0xa0, 0x8e, 0xed, 0xa0, 0x82, 0x2b, 0x9d, 0x00, 0xb9, 0x16, 0x4e, 0x75, 0x3b, 0x6b, - 0x4f, 0x6a, 0x1a, 0x6d, 0x91, 0x4e, 0xf2, 0x78, 0x1d, 0xcd, 0xd8, 0x89, 0x02, 0x99, 0xba, 0x92, - 0xe8, 0x23, 0x08, 0x4d, 0x3d, 0x89, 0x6f, 0xa3, 0x36, 0x4b, 0x12, 0x2d, 0x00, 0x04, 0x90, 0xe9, - 0x70, 0xaa, 0xdb, 0xa6, 0xe3, 0x3f, 0xf0, 0x6b, 0x34, 0xeb, 0x22, 0x21, 0x80, 0xb4, 0xdc, 0x16, - 0x4f, 0x6b, 0x6e, 0xb1, 0x63, 0x29, 0x7a, 0x0e, 0xe3, 0x57, 0x68, 0x1a, 0x84, 0x01, 0x32, 0xeb, - 0x24, 0x8f, 0x6b, 0x4a, 0x7a, 0xc2, 0x50, 0xc7, 0xe1, 0x5d, 0x84, 0x6c, 0xb4, 0xde, 0xdb, 0x64, - 0x01, 0x99, 0x73, 0x96, 0x67, 0xb5, 0x2d, 0x25, 0x48, 0x27, 0x1c, 0x38, 0x46, 0x33, 0x03, 0xa5, - 0x32, 0x20, 0x6d, 0x27, 0xbb, 0x15, 0xf9, 0x5c, 0x44, 0x36, 0x17, 0x51, 0x99, 0x8b, 0x68, 0x53, - 0xc9, 0x82, 0xfa, 0x3e, 0xfc, 0x19, 0x2d, 0x5a, 0xe7, 0xfa, 0x90, 0x1b, 0xa9, 0x8a, 0x5d, 0x2d, - 0xb9, 0x20, 0x9d, 0xb0, 0xd9, 0x6d, 0x6f, 0xc4, 0x76, 0xc4, 0xbf, 0x4f, 0x96, 0x1f, 0xa6, 0xd2, - 0x1c, 0x0c, 0xfb, 0x11, 0x57, 0x79, 0x5c, 0xa6, 0xcc, 0xff, 0xac, 0x40, 0xf2, 0x35, 0x36, 0xdf, - 0x07, 0x02, 0xbc, 0xf1, 0x82, 0x08, 0xbf, 0x45, 0x73, 0x65, 0xd2, 0x81, 0xcc, 0xbb, 0x03, 0x45, - 0x75, 0x43, 0xe1, 0x31, 0x3a, 0xe2, 0xf1, 0x1e, 0x5a, 0xa0, 0xfe, 0x82, 0xad, 0xfb, 0xfb, 0x05, - 0xe4, 0xba, 0x53, 0xbe, 0xa8, 0xa9, 0xfc, 0x97, 0xa6, 0xff, 0xdb, 0xf0, 0x16, 0x6a, 0xb9, 0x3b, - 0x07, 0xe4, 0xc6, 0x95, 0x32, 0xf1, 0xc6, 0x42, 0xb4, 0x64, 0xf1, 0x36, 0x9a, 0xed, 0xb9, 0x8b, - 0x09, 0x64, 0xc1, 0x69, 0x56, 0x6a, 0xcf, 0xd3, 0x52, 0xf4, 0x9c, 0xc6, 0x5f, 0xd0, 0x62, 0xc6, - 0xc0, 0x58, 0x66, 0x47, 0x25, 0x72, 0x5f, 0x8a, 0x84, 0x2c, 0xba, 0xab, 0x5a, 0x37, 0x21, 0x1f, - 0x64, 0x2e, 0x7a, 0x86, 0xe5, 0x03, 0x7a, 0xc1, 0xb4, 0x41, 0x8f, 0x4e, 0x83, 0xe6, 0xf1, 0x69, - 0xd0, 0xfc, 0x73, 0x1a, 0x34, 0x7f, 0x9e, 0x05, 0x8d, 0xe3, 0xb3, 0xa0, 0xf1, 0xeb, 0x2c, 0x68, - 0x7c, 0x7a, 0x39, 0x31, 0xee, 0x0b, 0xfb, 0xc4, 0x9b, 0xa3, 0xe7, 0xe7, 0xdb, 0xc4, 0x53, 0xe4, - 0x42, 0xd0, 0x6f, 0xb9, 0xa7, 0xe6, 0xf9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x09, 0xbc, 0x2f, - 0x1b, 0x45, 0x06, 0x00, 0x00, + // 634 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0xdf, 0x4e, 0x13, 0x41, + 0x14, 0xc6, 0x5b, 0x81, 0x42, 0xa7, 0x28, 0x38, 0xf1, 0x62, 0x24, 0xba, 0x54, 0xa3, 0xb1, 0xfe, + 0x61, 0x57, 0x30, 0x26, 0x5e, 0x99, 0xf0, 0x27, 0x12, 0x35, 0x44, 0x32, 0xd5, 0x1b, 0x34, 0x21, + 0xd3, 0xdd, 0xc3, 0x32, 0x71, 0x77, 0xa7, 0x99, 0x33, 0x25, 0xe2, 0x53, 0xf8, 0x58, 0x5c, 0x92, + 0x78, 0x63, 0xbc, 0x20, 0x06, 0x5e, 0xc4, 0xcc, 0xec, 0xd2, 0x56, 0xd9, 0x90, 0xe5, 0xaa, 0x93, + 0x9e, 0xef, 0xfb, 0xcd, 0xcc, 0x9e, 0xef, 0x0c, 0xb9, 0x17, 0x0a, 0x1d, 0x85, 0xfb, 0x42, 0x66, + 0xc1, 0x68, 0x15, 0x43, 0x06, 0x28, 0xd1, 0xef, 0x6b, 0x65, 0x14, 0x7d, 0xb8, 0x01, 0x21, 0x64, + 0x46, 0x8b, 0x64, 0x5d, 0xe8, 0x68, 0x53, 0xa4, 0xe0, 0x0f, 0xa5, 0xa3, 0xd5, 0xc2, 0xad, 0x58, + 0xc5, 0xca, 0x39, 0x02, 0xbb, 0xca, 0xcd, 0x0b, 0xed, 0x32, 0x7e, 0x5f, 0x68, 0x91, 0x16, 0xf8, + 0x05, 0xaf, 0x4c, 0x61, 0x57, 0x97, 0xd5, 0x07, 0x08, 0xba, 0xa8, 0x2f, 0x96, 0xd5, 0x53, 0x61, + 0xc2, 0xfd, 0x42, 0x70, 0xb7, 0x4c, 0x80, 0x60, 0x8a, 0xf2, 0x83, 0xf2, 0x72, 0x92, 0xec, 0xaa, + 0xbd, 0xbd, 0xe1, 0x2e, 0x8f, 0xcb, 0x54, 0x7a, 0x90, 0x65, 0x32, 0x8b, 0x77, 0xc5, 0x01, 0x68, + 0x11, 0x43, 0x21, 0x2d, 0xfd, 0xa4, 0xa1, 0x1a, 0x64, 0xa1, 0x4c, 0x2e, 0x3b, 0xb3, 0x4c, 0x47, + 0x8c, 0x76, 0xf9, 0xa1, 0xf4, 0xc1, 0xe5, 0xd7, 0xfe, 0x0e, 0x22, 0x39, 0x1c, 0x7e, 0x37, 0x85, + 0xa9, 0xc2, 0xa0, 0x27, 0x10, 0x82, 0x83, 0xe5, 0x1e, 0x18, 0xb1, 0x1c, 0x84, 0x4a, 0x66, 0x79, + 0xfd, 0xfe, 0xcf, 0x19, 0x32, 0xbb, 0x99, 0x37, 0xba, 0x6b, 0x84, 0x01, 0xfa, 0x9e, 0x34, 0xf2, + 0xc6, 0xb0, 0x7a, 0xbb, 0xde, 0x69, 0xad, 0x2c, 0xf9, 0x95, 0x1a, 0xef, 0x6f, 0x3b, 0xd3, 0xda, + 0xe4, 0xd1, 0xc9, 0x62, 0x8d, 0x17, 0x08, 0xba, 0x45, 0x5a, 0x56, 0xc1, 0x21, 0x54, 0x3a, 0x42, + 0x76, 0xad, 0x3d, 0xd1, 0x69, 0xad, 0x3c, 0xad, 0x48, 0xb4, 0x45, 0x3e, 0xee, 0xa7, 0xab, 0x64, + 0xca, 0xb6, 0x1c, 0xd9, 0xc4, 0x95, 0x40, 0x9f, 0x10, 0x34, 0xcf, 0x9d, 0xf4, 0x0e, 0x69, 0x8a, + 0x28, 0xd2, 0x80, 0x08, 0xc8, 0x26, 0xdb, 0x13, 0x9d, 0x26, 0x1f, 0xfd, 0x41, 0xdf, 0x90, 0x69, + 0x97, 0x19, 0x40, 0xd6, 0x70, 0x5b, 0x3c, 0xab, 0xb8, 0xc5, 0x96, 0x75, 0xf1, 0x73, 0x33, 0x7d, + 0x4d, 0x26, 0x11, 0x0c, 0xb2, 0x69, 0x07, 0x79, 0x52, 0x11, 0xd2, 0x05, 0xc3, 0x9d, 0x8f, 0x6e, + 0x13, 0x62, 0xb3, 0xf7, 0xc1, 0x46, 0x0f, 0xd9, 0x8c, 0xa3, 0x3c, 0xaf, 0x4c, 0x29, 0x8c, 0x7c, + 0x8c, 0x41, 0x03, 0x32, 0xd5, 0x57, 0x2a, 0x41, 0xd6, 0x74, 0xb0, 0xdb, 0x7e, 0x9e, 0x0b, 0xdf, + 0xe6, 0xc2, 0x2f, 0x72, 0xe1, 0xaf, 0x2b, 0x99, 0xf1, 0x5c, 0x47, 0x3f, 0x93, 0x79, 0xcb, 0x5c, + 0x1d, 0x84, 0x46, 0xaa, 0x6c, 0x5b, 0xcb, 0x10, 0x58, 0xab, 0x5d, 0xef, 0x34, 0xd7, 0x02, 0xdb, + 0xe2, 0xdf, 0x27, 0x8b, 0x8f, 0x62, 0x69, 0xf6, 0x07, 0x3d, 0x3f, 0x54, 0x69, 0x50, 0xa4, 0x2c, + 0xff, 0x59, 0xc2, 0xe8, 0x6b, 0x60, 0x0e, 0xfb, 0x80, 0x39, 0xf1, 0x02, 0x88, 0xbe, 0x23, 0x33, + 0xc5, 0x28, 0x20, 0x9b, 0x75, 0x07, 0xf2, 0xab, 0x86, 0x22, 0xb7, 0xf1, 0xa1, 0x9f, 0xee, 0x92, + 0x39, 0x9e, 0x4f, 0xe0, 0x6a, 0x3e, 0x80, 0xc8, 0xae, 0x3b, 0xe4, 0xcb, 0x8a, 0xc8, 0x7f, 0xdd, + 0xfc, 0x7f, 0x1a, 0xdd, 0x20, 0x0d, 0x37, 0x94, 0xc8, 0x6e, 0x5c, 0x29, 0x13, 0x6f, 0xad, 0x89, + 0x17, 0x5e, 0xba, 0x49, 0xa6, 0xbb, 0x6e, 0x72, 0x91, 0xcd, 0x39, 0xcc, 0x52, 0xe5, 0x7e, 0x5a, + 0x17, 0x3f, 0x77, 0xd3, 0x2f, 0x64, 0x3e, 0x11, 0x68, 0xac, 0x67, 0x4b, 0x45, 0x72, 0x4f, 0x42, + 0xc4, 0xe6, 0xdd, 0xa8, 0x56, 0x4d, 0xc8, 0x47, 0x99, 0x42, 0xd7, 0x88, 0xb4, 0xcf, 0x2f, 0x90, + 0xec, 0x65, 0xdd, 0xf3, 0x81, 0xec, 0xe6, 0x95, 0x2e, 0xbb, 0x63, 0x4d, 0xbc, 0xf0, 0xae, 0xf1, + 0xa3, 0x53, 0xaf, 0x7e, 0x7c, 0xea, 0xd5, 0xff, 0x9c, 0x7a, 0xf5, 0x1f, 0x67, 0x5e, 0xed, 0xf8, + 0xcc, 0xab, 0xfd, 0x3a, 0xf3, 0x6a, 0x3b, 0xaf, 0xc6, 0x42, 0x73, 0x81, 0x1c, 0xac, 0x0f, 0xdf, + 0xb0, 0x6f, 0x63, 0xef, 0x99, 0x8b, 0x52, 0xaf, 0xe1, 0x1e, 0xac, 0x17, 0x7f, 0x03, 0x00, 0x00, + 0xff, 0xff, 0xae, 0x6a, 0x8d, 0xa2, 0xac, 0x06, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -236,6 +245,22 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Zealys) > 0 { + for iNdEx := len(m.Zealys) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Zealys[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + } if m.LastCardModified != nil { { size, err := m.LastCardModified.MarshalToSizedBuffer(dAtA[:i]) @@ -513,6 +538,12 @@ func (m *GenesisState) Size() (n int) { l = m.LastCardModified.Size() n += 2 + l + sovGenesis(uint64(l)) } + if len(m.Zealys) > 0 { + for _, e := range m.Zealys { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } return n } @@ -1026,6 +1057,40 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Zealys", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Zealys = append(m.Zealys, &Zealy{}) + if err := m.Zealys[len(m.Zealys)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/x/cardchain/types/keys.go b/x/cardchain/types/keys.go index ba8d6aea..7ccbd5aa 100644 --- a/x/cardchain/types/keys.go +++ b/x/cardchain/types/keys.go @@ -14,6 +14,7 @@ const ( PoolsStoreKey = "Pools" CouncilsStoreKey = "Councils" ServersStoreKey = "Servers" + ZealyStoreKey = "Zealy" InternalStoreKey = "Internal" RunningAveragesStoreKey = "RunningAverages" ImagesStoreKey = "Images" diff --git a/x/cardchain/types/message_connect_zealy_account.go b/x/cardchain/types/message_connect_zealy_account.go new file mode 100644 index 00000000..5555f84e --- /dev/null +++ b/x/cardchain/types/message_connect_zealy_account.go @@ -0,0 +1,46 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgConnectZealyAccount = "connect_zealy_account" + +var _ sdk.Msg = &MsgConnectZealyAccount{} + +func NewMsgConnectZealyAccount(creator string, zealyId string) *MsgConnectZealyAccount { + return &MsgConnectZealyAccount{ + Creator: creator, + ZealyId: zealyId, + } +} + +func (msg *MsgConnectZealyAccount) Route() string { + return RouterKey +} + +func (msg *MsgConnectZealyAccount) Type() string { + return TypeMsgConnectZealyAccount +} + +func (msg *MsgConnectZealyAccount) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgConnectZealyAccount) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgConnectZealyAccount) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_connect_zealy_account_test.go b/x/cardchain/types/message_connect_zealy_account_test.go new file mode 100644 index 00000000..25be52f1 --- /dev/null +++ b/x/cardchain/types/message_connect_zealy_account_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgConnectZealyAccount_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgConnectZealyAccount + err error + }{ + { + name: "invalid address", + msg: MsgConnectZealyAccount{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgConnectZealyAccount{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 5ec13ef5..76859832 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -1631,6 +1631,94 @@ func (m *QueryQCardContentsResponse) GetCards() []*QueryQCardContentResponse { return nil } +type QueryQAccountFromZealyRequest struct { + ZealyId string `protobuf:"bytes,1,opt,name=zealyId,proto3" json:"zealyId,omitempty"` +} + +func (m *QueryQAccountFromZealyRequest) Reset() { *m = QueryQAccountFromZealyRequest{} } +func (m *QueryQAccountFromZealyRequest) String() string { return proto.CompactTextString(m) } +func (*QueryQAccountFromZealyRequest) ProtoMessage() {} +func (*QueryQAccountFromZealyRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{30} +} +func (m *QueryQAccountFromZealyRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryQAccountFromZealyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryQAccountFromZealyRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryQAccountFromZealyRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryQAccountFromZealyRequest.Merge(m, src) +} +func (m *QueryQAccountFromZealyRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryQAccountFromZealyRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryQAccountFromZealyRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryQAccountFromZealyRequest proto.InternalMessageInfo + +func (m *QueryQAccountFromZealyRequest) GetZealyId() string { + if m != nil { + return m.ZealyId + } + return "" +} + +type QueryQAccountFromZealyResponse struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` +} + +func (m *QueryQAccountFromZealyResponse) Reset() { *m = QueryQAccountFromZealyResponse{} } +func (m *QueryQAccountFromZealyResponse) String() string { return proto.CompactTextString(m) } +func (*QueryQAccountFromZealyResponse) ProtoMessage() {} +func (*QueryQAccountFromZealyResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{31} +} +func (m *QueryQAccountFromZealyResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryQAccountFromZealyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryQAccountFromZealyResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryQAccountFromZealyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryQAccountFromZealyResponse.Merge(m, src) +} +func (m *QueryQAccountFromZealyResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryQAccountFromZealyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryQAccountFromZealyResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryQAccountFromZealyResponse proto.InternalMessageInfo + +func (m *QueryQAccountFromZealyResponse) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryParamsResponse") @@ -1662,137 +1750,144 @@ func init() { proto.RegisterType((*QueryRarityDistributionResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryRarityDistributionResponse") proto.RegisterType((*QueryQCardContentsRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardContentsRequest") proto.RegisterType((*QueryQCardContentsResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardContentsResponse") + proto.RegisterType((*QueryQAccountFromZealyRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQAccountFromZealyRequest") + proto.RegisterType((*QueryQAccountFromZealyResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQAccountFromZealyResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 1999 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0x5f, 0x6f, 0x1b, 0xc7, - 0x11, 0xf7, 0xd1, 0x14, 0x25, 0xae, 0x2c, 0xd5, 0x99, 0xba, 0x2e, 0xcb, 0xba, 0xb4, 0xba, 0x70, - 0x5a, 0x35, 0x89, 0x79, 0xb6, 0xe2, 0xc8, 0xb2, 0xe3, 0xc8, 0xd6, 0x1f, 0x3b, 0x51, 0x1a, 0xc5, - 0xce, 0xa9, 0xc9, 0x43, 0xfb, 0x20, 0x1c, 0xc9, 0xb5, 0x74, 0x08, 0x79, 0x4b, 0xdf, 0x2e, 0xed, - 0x10, 0x02, 0x1f, 0xda, 0x4f, 0x50, 0xb4, 0x9f, 0xa3, 0x28, 0xd0, 0x16, 0xed, 0x53, 0xd1, 0x57, - 0x03, 0x7d, 0x09, 0xd0, 0x16, 0x48, 0xf3, 0xe0, 0x16, 0x76, 0xdf, 0xf3, 0x15, 0x8a, 0x9d, 0xdd, - 0xbd, 0x3f, 0x14, 0x2d, 0xdc, 0xd1, 0x4f, 0xba, 0x9d, 0x9d, 0x99, 0x9d, 0x3f, 0xbf, 0x9d, 0x9d, - 0xa1, 0xc8, 0xc5, 0xb6, 0x1f, 0x75, 0xda, 0x87, 0x7e, 0x10, 0xba, 0xc9, 0xd7, 0xa3, 0x01, 0x8b, - 0x86, 0xcd, 0x7e, 0xc4, 0x25, 0x87, 0xd7, 0xb7, 0x59, 0x9b, 0x85, 0x32, 0xf2, 0xbb, 0x5b, 0x7e, - 0xd4, 0x79, 0xdf, 0xef, 0xb1, 0x66, 0xcc, 0x98, 0x7c, 0xd5, 0xcf, 0x1d, 0xf0, 0x03, 0x8e, 0x12, - 0xae, 0xfa, 0xd2, 0xc2, 0xf5, 0x0b, 0x07, 0x9c, 0x1f, 0x74, 0x99, 0xeb, 0xf7, 0x03, 0xd7, 0x0f, - 0x43, 0x2e, 0x7d, 0x19, 0xf0, 0x50, 0x98, 0xdd, 0x37, 0xda, 0x5c, 0xf4, 0xb8, 0x70, 0x5b, 0xbe, - 0x60, 0xfa, 0x4c, 0xf7, 0xf1, 0xd5, 0x16, 0x93, 0xfe, 0x55, 0xb7, 0xef, 0x1f, 0x04, 0x21, 0x32, - 0x1b, 0xde, 0xa5, 0x49, 0x76, 0xf6, 0xfd, 0xc8, 0xef, 0x89, 0x93, 0x38, 0x1e, 0x73, 0x19, 0x84, - 0x07, 0x86, 0xa3, 0x31, 0x89, 0x43, 0x7d, 0x9d, 0xb4, 0x3f, 0x10, 0x2c, 0x32, 0xfb, 0x13, 0x63, - 0xd5, 0xf3, 0x65, 0xfb, 0xd0, 0x30, 0xfc, 0x60, 0x12, 0x83, 0x60, 0xd2, 0x6c, 0x5f, 0x9a, 0xbc, - 0xdd, 0xed, 0xee, 0xf3, 0x87, 0x0f, 0xe3, 0x53, 0x7e, 0x38, 0xd1, 0x4a, 0x3e, 0x08, 0xdb, 0x41, - 0xf7, 0x24, 0x57, 0x05, 0x8b, 0x1e, 0xc7, 0x4a, 0x2e, 0x4c, 0xe2, 0x90, 0x5f, 0xe8, 0x5d, 0x7a, - 0x8e, 0xc0, 0x27, 0x2a, 0xdc, 0x0f, 0x30, 0x7e, 0x1e, 0x7b, 0x34, 0x60, 0x42, 0xd2, 0x16, 0xf9, - 0x76, 0x86, 0x2a, 0xfa, 0x3c, 0x14, 0x0c, 0x7e, 0x4a, 0x2a, 0x3a, 0xce, 0x35, 0x67, 0xc9, 0x59, - 0x9e, 0x5f, 0xb9, 0xdc, 0xcc, 0x85, 0x88, 0xa6, 0x56, 0xb3, 0x59, 0x7e, 0xfa, 0xec, 0xe2, 0x29, - 0xcf, 0xa8, 0xa0, 0x6f, 0x92, 0xd7, 0xf0, 0x8c, 0x4f, 0x94, 0xa8, 0x39, 0x18, 0xce, 0x93, 0x8a, - 0x12, 0xdb, 0xe9, 0xe0, 0x09, 0x55, 0xcf, 0xac, 0xe8, 0x0a, 0xa9, 0x25, 0xcc, 0x5b, 0x3c, 0x94, - 0x2c, 0x94, 0x93, 0x65, 0xca, 0xb1, 0xcc, 0x0e, 0xf9, 0xde, 0x04, 0x19, 0xe3, 0x4a, 0x8d, 0xcc, - 0xb6, 0x35, 0xc9, 0x9c, 0x64, 0x97, 0x00, 0xa4, 0x7c, 0xe8, 0x8b, 0xc3, 0x5a, 0x09, 0xc9, 0xf8, - 0x4d, 0x2f, 0x5b, 0x5b, 0x3f, 0x15, 0x2c, 0xb2, 0xe7, 0xd6, 0xc8, 0xac, 0xdf, 0xe9, 0x44, 0x4c, - 0x08, 0xab, 0xc2, 0x2c, 0xe9, 0x05, 0x52, 0x4f, 0x4e, 0xc6, 0x10, 0xec, 0x84, 0x0f, 0xb9, 0x0d, - 0xee, 0xf3, 0x12, 0xf9, 0xfe, 0xc4, 0x6d, 0x63, 0xda, 0x2f, 0xc8, 0x59, 0xe5, 0xc1, 0xc6, 0xa0, - 0xad, 0x40, 0xff, 0x20, 0x0a, 0xda, 0x4c, 0x1f, 0xb0, 0xe9, 0xaa, 0x00, 0x7e, 0xfd, 0xec, 0xe2, - 0x8f, 0x0f, 0x02, 0x79, 0x38, 0x68, 0x35, 0xdb, 0xbc, 0xe7, 0x9a, 0x8b, 0xa3, 0xff, 0x5c, 0x16, - 0x9d, 0xcf, 0x5d, 0x39, 0xec, 0x33, 0xd1, 0xdc, 0xe2, 0x41, 0xe8, 0x1d, 0x53, 0x04, 0x0d, 0x42, - 0xfc, 0xb6, 0x0c, 0x1e, 0xb3, 0x3d, 0x26, 0x45, 0xad, 0xb4, 0x74, 0x7a, 0xb9, 0xec, 0xa5, 0x28, - 0xb0, 0x44, 0xe6, 0x95, 0x8c, 0xf8, 0x78, 0xd0, 0x6b, 0xb1, 0xa8, 0x76, 0x1a, 0x23, 0x9a, 0x26, - 0xc1, 0x25, 0xb2, 0x80, 0x40, 0x67, 0x96, 0xa7, 0x8c, 0x3c, 0x59, 0x22, 0xbc, 0x41, 0xce, 0x2a, - 0x38, 0xdf, 0x57, 0x68, 0xb6, 0x8c, 0x33, 0xc8, 0x78, 0x8c, 0x0e, 0x3f, 0x22, 0x8b, 0x06, 0xd4, - 0x96, 0xb3, 0x82, 0x9c, 0x63, 0x54, 0xa5, 0xb3, 0xeb, 0x0b, 0xa9, 0xa2, 0xb6, 0xcb, 0x3b, 0xc1, - 0xc3, 0x80, 0x75, 0x6a, 0xb3, 0x5a, 0xe7, 0x38, 0x3d, 0x49, 0xc1, 0x67, 0x78, 0xed, 0x3d, 0x26, - 0x06, 0x5d, 0x19, 0xe3, 0xfb, 0x97, 0x8e, 0x4d, 0xc1, 0xd8, 0xb6, 0x49, 0x41, 0x8b, 0xbc, 0xa6, - 0x34, 0x66, 0x36, 0x0d, 0xe6, 0xaf, 0xe5, 0xc4, 0x7c, 0x56, 0xf1, 0x71, 0x75, 0xf4, 0x9b, 0xb2, - 0xb9, 0x7a, 0x08, 0x03, 0x6b, 0x1a, 0x9c, 0x23, 0x33, 0xfc, 0x49, 0xc8, 0x22, 0x83, 0x29, 0xbd, - 0x80, 0x1d, 0x32, 0x27, 0xa4, 0x2f, 0x07, 0x82, 0xe9, 0xa4, 0x2d, 0xe6, 0xbe, 0x7b, 0x7b, 0x28, - 0xe6, 0xc5, 0xe2, 0xb0, 0x4b, 0xaa, 0x6a, 0xf7, 0x67, 0x0a, 0x25, 0xb5, 0xd3, 0xa8, 0xcb, 0xcd, - 0xa9, 0x6b, 0xcb, 0xc8, 0x79, 0x89, 0x06, 0xf8, 0x90, 0xcc, 0xb6, 0xbb, 0xbe, 0x50, 0x86, 0x95, - 0x51, 0xd9, 0x95, 0x02, 0xca, 0xb6, 0x94, 0xa4, 0x67, 0x15, 0xa8, 0x9b, 0x2c, 0x78, 0x24, 0x37, - 0x87, 0x08, 0x95, 0xaa, 0x67, 0x56, 0x40, 0xc9, 0x99, 0xd0, 0xef, 0x31, 0x75, 0x87, 0xfd, 0x20, - 0x14, 0x08, 0x8f, 0xaa, 0x97, 0xa1, 0x29, 0x70, 0x7c, 0xce, 0x86, 0x4f, 0x78, 0xd4, 0x11, 0x31, - 0xdf, 0x2c, 0xf2, 0x1d, 0xa3, 0x2b, 0x08, 0x87, 0x5c, 0xb2, 0x84, 0x71, 0x0e, 0x19, 0xb3, 0x44, - 0x58, 0x26, 0xdf, 0xe2, 0x61, 0x77, 0xb8, 0x27, 0xfd, 0x48, 0xb2, 0x48, 0x99, 0x5b, 0xab, 0x2e, - 0x39, 0xcb, 0x73, 0xde, 0x38, 0x19, 0x9a, 0x04, 0x14, 0x69, 0xd3, 0xef, 0xfa, 0x61, 0x9b, 0x6d, - 0x84, 0xed, 0x43, 0x1e, 0x89, 0x1a, 0x41, 0xe6, 0x09, 0x3b, 0xb0, 0x4b, 0xe6, 0x22, 0x3f, 0x0a, - 0x64, 0xc0, 0x44, 0x6d, 0x1e, 0x83, 0x76, 0xb5, 0x40, 0xd0, 0x3c, 0x25, 0x3a, 0xf4, 0x62, 0x15, - 0xea, 0xfe, 0xf4, 0x06, 0x5d, 0x19, 0x60, 0x34, 0xef, 0x87, 0xdd, 0x61, 0xed, 0x0c, 0x1e, 0x3d, - 0x46, 0xa5, 0x6f, 0x9b, 0xaa, 0x6e, 0x01, 0x67, 0xc0, 0x7e, 0x41, 0x03, 0x42, 0x7c, 0x14, 0x08, - 0x55, 0x0c, 0x55, 0x45, 0x48, 0x08, 0xb4, 0x69, 0x51, 0xba, 0xab, 0xee, 0x77, 0xaa, 0xf6, 0xe1, - 0x7d, 0x8f, 0x8b, 0xae, 0x5d, 0xd2, 0x65, 0x72, 0x56, 0xf3, 0xef, 0x31, 0x99, 0xc2, 0xb4, 0x60, - 0x32, 0xe6, 0xd5, 0x0b, 0x7a, 0x93, 0x9c, 0xb7, 0x9c, 0xa6, 0x20, 0x58, 0xfe, 0x25, 0x32, 0x1f, - 0x17, 0x89, 0x58, 0x2a, 0x4d, 0xa2, 0xd7, 0xc8, 0x39, 0xe3, 0x8a, 0x2e, 0x11, 0x56, 0x52, 0xf9, - 0xa2, 0x29, 0xb1, 0x5c, 0x42, 0xa0, 0x5f, 0x97, 0xac, 0xd8, 0xae, 0x2e, 0x56, 0x56, 0xec, 0x12, - 0x59, 0x90, 0x41, 0x8f, 0x09, 0xe9, 0xf7, 0xfa, 0xdb, 0xfc, 0x49, 0x68, 0x44, 0xb3, 0x44, 0x65, - 0x56, 0x4c, 0xf8, 0xb4, 0x8f, 0x0f, 0x44, 0xd9, 0x4b, 0x93, 0x94, 0x9e, 0xb6, 0x81, 0x8f, 0x7a, - 0x29, 0xf4, 0xfd, 0xaa, 0x7a, 0x59, 0x22, 0xd4, 0xc9, 0x5c, 0xc4, 0xfa, 0x5c, 0xc1, 0x07, 0x8b, - 0x67, 0xd5, 0x8b, 0xd7, 0xf0, 0x01, 0x99, 0xe5, 0x03, 0xd9, 0xe6, 0x3d, 0x86, 0x77, 0x60, 0x71, - 0xa5, 0x99, 0x13, 0x19, 0xf7, 0xb5, 0x94, 0x67, 0xc5, 0xe3, 0x4a, 0xfe, 0xa0, 0xeb, 0x0f, 0x59, - 0xa7, 0x56, 0xc1, 0xc4, 0xa6, 0x49, 0xf0, 0x11, 0xa9, 0x04, 0x07, 0x21, 0x8f, 0x18, 0x5e, 0x94, - 0xfc, 0xa5, 0x6d, 0x07, 0x85, 0x6c, 0x08, 0x8d, 0x0e, 0xfa, 0x13, 0xb2, 0x90, 0xd9, 0x50, 0x18, - 0xb1, 0xae, 0x38, 0x88, 0x47, 0xbb, 0x54, 0xe5, 0xf7, 0x3b, 0x63, 0x79, 0x30, 0x58, 0x5c, 0x22, - 0xf3, 0xe6, 0x1d, 0x49, 0xa1, 0x31, 0x4d, 0x82, 0x7b, 0x06, 0x79, 0xa6, 0x10, 0xce, 0xaf, 0xbc, - 0x95, 0xd3, 0x6a, 0x8d, 0x5f, 0x2b, 0x4c, 0xff, 0x54, 0x22, 0xdf, 0x1d, 0x83, 0x9f, 0x48, 0xa1, - 0xa8, 0xaf, 0x5e, 0xcb, 0x18, 0x0a, 0x55, 0x2f, 0x21, 0x28, 0xbf, 0x70, 0x61, 0x20, 0x50, 0xf5, - 0xec, 0x12, 0xeb, 0x17, 0xeb, 0x76, 0xcd, 0xbb, 0xa9, 0xea, 0x17, 0xae, 0x14, 0xfe, 0x5b, 0x83, - 0x61, 0x9c, 0x6d, 0xbd, 0x50, 0x8d, 0x86, 0xb2, 0xce, 0x3c, 0x8b, 0xf8, 0x0d, 0x1f, 0x93, 0x8a, - 0x2e, 0xd4, 0x58, 0xe3, 0x16, 0x57, 0x56, 0xf3, 0x56, 0x79, 0xeb, 0x83, 0x29, 0xf7, 0x46, 0x0b, - 0xdc, 0x1f, 0x4b, 0xf1, 0xf5, 0x42, 0x29, 0x4e, 0x45, 0xc6, 0x66, 0x79, 0x9d, 0x9c, 0x1d, 0xdf, - 0x43, 0xb7, 0xb5, 0xd1, 0x3a, 0xcf, 0xf6, 0x70, 0xeb, 0x60, 0x09, 0xa9, 0xf8, 0x4d, 0x7f, 0xe3, - 0xd8, 0x4e, 0x2e, 0x1d, 0x76, 0x93, 0xfd, 0x4b, 0x64, 0x21, 0x69, 0x0e, 0x76, 0x3a, 0xc2, 0xe4, - 0x3f, 0x4b, 0x84, 0x07, 0x84, 0x24, 0x04, 0x03, 0x82, 0x2b, 0x45, 0xe3, 0xe4, 0xa5, 0x74, 0xd0, - 0xd7, 0x6d, 0x61, 0xdc, 0xc3, 0xc6, 0xd9, 0xc2, 0x60, 0x91, 0x94, 0x02, 0x5b, 0x45, 0x4a, 0x41, - 0x87, 0x9e, 0xb7, 0xd5, 0xc3, 0xb2, 0x69, 0xb3, 0xe9, 0x7f, 0x1c, 0xdb, 0x1e, 0xaa, 0x16, 0xca, - 0x4a, 0xdf, 0xcb, 0x44, 0x25, 0xff, 0x45, 0xde, 0x1a, 0x4b, 0x21, 0x25, 0x67, 0x74, 0xec, 0x35, - 0xdd, 0x44, 0x33, 0x43, 0x53, 0x3c, 0xaa, 0xc4, 0x44, 0x41, 0x6b, 0x20, 0x79, 0x5c, 0x76, 0x32, - 0xb4, 0x74, 0x6d, 0xc2, 0xfa, 0x8f, 0xcf, 0x75, 0xd9, 0xcb, 0x12, 0x93, 0xf6, 0x63, 0x26, 0xd5, - 0x7e, 0xd0, 0xb7, 0xec, 0x23, 0xa0, 0x1d, 0x34, 0xe9, 0x42, 0xb8, 0xcb, 0x24, 0x4f, 0x66, 0x45, - 0x57, 0x49, 0x03, 0xb9, 0xf5, 0x43, 0xb5, 0x1d, 0x08, 0x6d, 0x44, 0xc0, 0xc3, 0x93, 0x1f, 0x84, - 0x3d, 0x72, 0xf1, 0xa5, 0x72, 0xa9, 0xb6, 0x7d, 0x10, 0x45, 0xba, 0x6d, 0x3f, 0xbd, 0xbc, 0xe0, - 0xd9, 0xa5, 0x32, 0xe6, 0x89, 0x1f, 0x4a, 0xd6, 0x41, 0x44, 0x2c, 0x78, 0x66, 0x45, 0xdf, 0x99, - 0x30, 0x05, 0x88, 0xd4, 0x33, 0xa6, 0x87, 0x05, 0xeb, 0x82, 0x5d, 0x52, 0x99, 0x6e, 0xe1, 0x13, - 0x31, 0x63, 0xc6, 0x67, 0x64, 0x06, 0x0b, 0x29, 0x4a, 0xcd, 0xaf, 0xdc, 0xc9, 0x99, 0xda, 0x97, - 0x8e, 0x23, 0x9e, 0x56, 0xb7, 0xf2, 0xcf, 0x3a, 0x99, 0x41, 0x26, 0xf8, 0xb3, 0x43, 0x2a, 0x7a, - 0x6c, 0x82, 0x1b, 0x45, 0xb4, 0x67, 0xe6, 0xb8, 0xfa, 0xcd, 0x69, 0x44, 0x0d, 0xaa, 0xdf, 0xf9, - 0xd5, 0x3f, 0xfe, 0xf7, 0xdb, 0x92, 0x0b, 0x97, 0xdd, 0x63, 0x3a, 0xdc, 0xad, 0x97, 0x4e, 0xe0, - 0xf0, 0x07, 0x87, 0xcc, 0xa0, 0x8b, 0xb0, 0x56, 0x38, 0x2a, 0xd6, 0x6c, 0x37, 0xff, 0x9b, 0xd7, - 0x57, 0x0c, 0x74, 0x1d, 0x6d, 0x5d, 0x83, 0xd5, 0x9c, 0xb6, 0x3e, 0xda, 0x57, 0xdf, 0xee, 0x91, - 0xce, 0xf6, 0x08, 0xfe, 0xed, 0x90, 0x33, 0xe9, 0xbc, 0xc0, 0xed, 0xe9, 0x33, 0xaa, 0x5d, 0x78, - 0x65, 0x48, 0xd0, 0x7b, 0xe8, 0xd3, 0x1d, 0x58, 0x2f, 0xe4, 0xd3, 0xbe, 0x19, 0x63, 0x13, 0xdf, - 0x7e, 0xaf, 0x12, 0xa2, 0x1a, 0x8f, 0x82, 0x09, 0x49, 0x8d, 0xba, 0xf5, 0x37, 0x73, 0x4a, 0x2a, - 0x19, 0x7a, 0x1b, 0x0d, 0xbf, 0x01, 0xd7, 0x73, 0x1b, 0x3e, 0x10, 0x2c, 0x72, 0x8f, 0xcc, 0xf4, - 0x3c, 0x82, 0xaf, 0x1c, 0xb2, 0x98, 0x9d, 0x8d, 0x61, 0xa3, 0x70, 0x38, 0xc7, 0xc7, 0xee, 0xfa, - 0xe6, 0xab, 0xa8, 0x30, 0x39, 0x29, 0xee, 0x5a, 0xfc, 0xbd, 0x1f, 0x28, 0x3f, 0xd0, 0xb5, 0xcc, - 0x1c, 0x58, 0xd0, 0xb5, 0x49, 0xe3, 0x6c, 0x41, 0xd7, 0x26, 0x8e, 0xbc, 0x53, 0xb8, 0xa6, 0x7f, - 0x50, 0xdb, 0x8f, 0x8c, 0x1f, 0x7f, 0x71, 0x48, 0x45, 0x4f, 0x16, 0xc5, 0x2a, 0x56, 0x66, 0xfc, - 0x2d, 0x56, 0xb1, 0xb2, 0x83, 0x0c, 0x5d, 0x45, 0x17, 0xae, 0x40, 0xb3, 0x50, 0x76, 0x04, 0xfc, - 0x51, 0x59, 0x8e, 0xed, 0x61, 0x41, 0xcb, 0xd3, 0x23, 0x51, 0xbd, 0x50, 0x1f, 0x4a, 0xef, 0xa0, - 0xad, 0x37, 0x61, 0x2d, 0xb7, 0xad, 0xd8, 0xb8, 0xba, 0x47, 0x66, 0xce, 0x1a, 0xc1, 0xef, 0x1c, - 0x52, 0x56, 0xef, 0x31, 0x5c, 0x2f, 0x64, 0x73, 0x32, 0x96, 0xd5, 0x0b, 0x8c, 0x16, 0xfd, 0x3d, - 0x26, 0xe9, 0x2d, 0xb4, 0x79, 0x15, 0xae, 0xe5, 0xb6, 0x59, 0x30, 0xe9, 0x1e, 0xe1, 0xe3, 0x3e, - 0x82, 0xa7, 0x0e, 0x21, 0x49, 0xd3, 0x07, 0xef, 0x15, 0xb4, 0x3a, 0x3b, 0x22, 0xd6, 0x0b, 0x37, - 0x7c, 0x74, 0x07, 0xad, 0xdf, 0x82, 0x8d, 0x02, 0xd6, 0xdb, 0xdf, 0x63, 0x95, 0x13, 0xf1, 0xf0, - 0x39, 0x82, 0xbf, 0x3a, 0x64, 0xce, 0x4e, 0x9e, 0xf0, 0x6e, 0x31, 0xc4, 0x66, 0xe6, 0xd5, 0xdc, - 0x29, 0x30, 0x62, 0x74, 0x1b, 0x9d, 0x58, 0x87, 0x5b, 0xf9, 0x21, 0xae, 0x25, 0xdd, 0xa3, 0x78, - 0x0c, 0x1e, 0xc1, 0xdf, 0x94, 0xfd, 0x76, 0x4c, 0x7b, 0xb7, 0x38, 0xe4, 0xe3, 0xc1, 0xb9, 0x7e, - 0x6b, 0x3a, 0x61, 0x73, 0x61, 0xd7, 0xd0, 0x9b, 0x15, 0xb8, 0x52, 0xec, 0x12, 0x30, 0x01, 0xff, - 0x72, 0xc8, 0x7c, 0x6a, 0x82, 0x80, 0xf5, 0xe9, 0xd0, 0x14, 0xfb, 0x71, 0x7b, 0x6a, 0x79, 0xe3, - 0xca, 0x5d, 0x74, 0xe5, 0x36, 0xbc, 0x37, 0x05, 0xba, 0x84, 0x7b, 0xa4, 0x7b, 0xfd, 0x91, 0xea, - 0x9e, 0x66, 0xcd, 0x78, 0x01, 0x37, 0x0b, 0xda, 0x94, 0x1a, 0x5d, 0xea, 0xb9, 0x7f, 0x1d, 0x44, - 0xa9, 0xa9, 0x6e, 0xb6, 0x12, 0x74, 0x8f, 0x82, 0xce, 0x08, 0xfe, 0xae, 0x3a, 0x0c, 0xfc, 0xf5, - 0x78, 0xad, 0x68, 0x29, 0x8a, 0x13, 0x70, 0x63, 0x0a, 0x49, 0x13, 0xfa, 0x5d, 0x34, 0xfe, 0x7d, - 0xb8, 0x5b, 0xa4, 0x2c, 0x25, 0x31, 0x77, 0x8f, 0xd2, 0xa3, 0xd4, 0x08, 0xbe, 0x71, 0x08, 0x1c, - 0x9f, 0x40, 0xe0, 0x6e, 0x11, 0x03, 0x5f, 0x3a, 0xf9, 0xd4, 0xef, 0xbd, 0xaa, 0x1a, 0xe3, 0xf4, - 0x87, 0xe8, 0xf4, 0x36, 0x6c, 0xe6, 0x74, 0x1a, 0x7f, 0x2c, 0x1c, 0xee, 0x77, 0x52, 0xba, 0xe2, - 0xca, 0xfc, 0xcc, 0x21, 0x0b, 0x99, 0x39, 0x07, 0xa6, 0xee, 0x5e, 0xe3, 0x7c, 0x6e, 0xbc, 0x82, - 0x06, 0xe3, 0xe2, 0x07, 0xe8, 0xe2, 0x26, 0xdc, 0x99, 0xaa, 0x01, 0x16, 0xb6, 0x03, 0x16, 0xa3, - 0x4d, 0xef, 0xe9, 0xf3, 0x86, 0xf3, 0xe5, 0xf3, 0x86, 0xf3, 0xdf, 0xe7, 0x0d, 0xe7, 0xd7, 0x2f, - 0x1a, 0xa7, 0xbe, 0x7c, 0xd1, 0x38, 0xf5, 0xd5, 0x8b, 0xc6, 0xa9, 0x9f, 0xaf, 0xa5, 0xfe, 0x93, - 0x72, 0xd2, 0x29, 0x5f, 0xa4, 0xff, 0x77, 0x36, 0xec, 0x33, 0xd1, 0xaa, 0xe0, 0xff, 0xcf, 0xde, - 0xfe, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa9, 0x67, 0x94, 0x1f, 0x36, 0x1d, 0x00, 0x00, + // 2071 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0x4f, 0x6f, 0x1b, 0xc7, + 0x15, 0xf7, 0xd2, 0x14, 0x25, 0x8e, 0x2c, 0xd5, 0x9e, 0xba, 0x2e, 0xcb, 0x2a, 0xb4, 0x3a, 0x70, + 0x5a, 0x35, 0x89, 0xb9, 0xb6, 0xe2, 0xc8, 0xb2, 0xe2, 0xc8, 0xd6, 0x1f, 0x2b, 0x51, 0x1a, 0xc5, + 0xce, 0xaa, 0xc9, 0x21, 0x3d, 0x08, 0xcb, 0xe5, 0x88, 0x5a, 0x84, 0xdc, 0xa1, 0x77, 0x86, 0x76, + 0x58, 0x82, 0x87, 0xf6, 0x13, 0x14, 0xed, 0xe7, 0x28, 0x0a, 0xb4, 0x45, 0x7b, 0x2a, 0x7a, 0x2b, + 0x0c, 0xf4, 0x12, 0xa0, 0x28, 0x90, 0xe6, 0xe0, 0x16, 0x76, 0xef, 0xfe, 0x0a, 0xc1, 0xbc, 0x99, + 0xd9, 0x3f, 0x14, 0x25, 0xec, 0x52, 0x27, 0xed, 0xbc, 0x79, 0xef, 0xcd, 0xfb, 0xf3, 0x9b, 0x37, + 0xef, 0x51, 0xe8, 0xaa, 0xe7, 0x86, 0x4d, 0xef, 0xc8, 0xf5, 0x03, 0x3b, 0xfe, 0x7a, 0xdc, 0xa3, + 0x61, 0xbf, 0xde, 0x0d, 0x99, 0x60, 0xf8, 0xf5, 0x6d, 0xea, 0xd1, 0x40, 0x84, 0x6e, 0x7b, 0xcb, + 0x0d, 0x9b, 0xef, 0xbb, 0x1d, 0x5a, 0x8f, 0x18, 0xe3, 0xaf, 0xea, 0xe5, 0x16, 0x6b, 0x31, 0x90, + 0xb0, 0xe5, 0x97, 0x12, 0xae, 0x2e, 0xb4, 0x18, 0x6b, 0xb5, 0xa9, 0xed, 0x76, 0x7d, 0xdb, 0x0d, + 0x02, 0x26, 0x5c, 0xe1, 0xb3, 0x80, 0xeb, 0xdd, 0x37, 0x3c, 0xc6, 0x3b, 0x8c, 0xdb, 0x0d, 0x97, + 0x53, 0x75, 0xa6, 0xfd, 0xe4, 0x66, 0x83, 0x0a, 0xf7, 0xa6, 0xdd, 0x75, 0x5b, 0x7e, 0x00, 0xcc, + 0x9a, 0x77, 0x71, 0x9c, 0x9d, 0x5d, 0x37, 0x74, 0x3b, 0xfc, 0x34, 0x8e, 0x27, 0x4c, 0xf8, 0x41, + 0x4b, 0x73, 0xd4, 0xc6, 0x71, 0xc8, 0xaf, 0xd3, 0xf6, 0x7b, 0x9c, 0x86, 0x7a, 0x7f, 0x6c, 0xac, + 0x3a, 0xae, 0xf0, 0x8e, 0x34, 0xc3, 0x6b, 0xe3, 0x18, 0x38, 0x15, 0x7a, 0xfb, 0xda, 0xf8, 0xed, + 0x76, 0xfb, 0x80, 0x1d, 0x1e, 0x46, 0xa7, 0xfc, 0x68, 0xac, 0x95, 0xac, 0x17, 0x78, 0x7e, 0xfb, + 0x34, 0x57, 0x39, 0x0d, 0x9f, 0x44, 0x4a, 0x16, 0xc6, 0x71, 0x88, 0x2f, 0xd5, 0x2e, 0xb9, 0x8c, + 0xf0, 0x27, 0x32, 0xdc, 0x8f, 0x20, 0x7e, 0x0e, 0x7d, 0xdc, 0xa3, 0x5c, 0x90, 0x06, 0xfa, 0x6e, + 0x8a, 0xca, 0xbb, 0x2c, 0xe0, 0x14, 0xff, 0x0c, 0x95, 0x54, 0x9c, 0x2b, 0xd6, 0xa2, 0xb5, 0x34, + 0xbb, 0x7c, 0xbd, 0x9e, 0x09, 0x11, 0x75, 0xa5, 0x66, 0xb3, 0xf8, 0xec, 0xf9, 0xd5, 0x73, 0x8e, + 0x56, 0x41, 0xde, 0x44, 0x97, 0xe0, 0x8c, 0x4f, 0xa4, 0xa8, 0x3e, 0x18, 0x5f, 0x41, 0x25, 0x29, + 0xb6, 0xdb, 0x84, 0x13, 0xca, 0x8e, 0x5e, 0x91, 0x65, 0x54, 0x89, 0x99, 0xb7, 0x58, 0x20, 0x68, + 0x20, 0xc6, 0xcb, 0x14, 0x23, 0x99, 0x5d, 0xf4, 0x83, 0x31, 0x32, 0xda, 0x95, 0x0a, 0x9a, 0xf6, + 0x14, 0x49, 0x9f, 0x64, 0x96, 0x18, 0xa3, 0xe2, 0x91, 0xcb, 0x8f, 0x2a, 0x05, 0x20, 0xc3, 0x37, + 0xb9, 0x6e, 0x6c, 0xfd, 0x94, 0xd3, 0xd0, 0x9c, 0x5b, 0x41, 0xd3, 0x6e, 0xb3, 0x19, 0x52, 0xce, + 0x8d, 0x0a, 0xbd, 0x24, 0x0b, 0xa8, 0x1a, 0x9f, 0x0c, 0x21, 0xd8, 0x0d, 0x0e, 0x99, 0x09, 0xee, + 0x8b, 0x02, 0xfa, 0xe1, 0xd8, 0x6d, 0x6d, 0xda, 0x2f, 0xd0, 0x45, 0xe9, 0xc1, 0x46, 0xcf, 0x93, + 0xa0, 0x7f, 0x14, 0xfa, 0x1e, 0x55, 0x07, 0x6c, 0xda, 0x32, 0x80, 0xdf, 0x3c, 0xbf, 0xfa, 0x93, + 0x96, 0x2f, 0x8e, 0x7a, 0x8d, 0xba, 0xc7, 0x3a, 0xb6, 0xbe, 0x38, 0xea, 0xcf, 0x75, 0xde, 0xfc, + 0xc2, 0x16, 0xfd, 0x2e, 0xe5, 0xf5, 0x2d, 0xe6, 0x07, 0xce, 0x31, 0x45, 0xb8, 0x86, 0x90, 0xeb, + 0x09, 0xff, 0x09, 0xdd, 0xa7, 0x82, 0x57, 0x0a, 0x8b, 0xe7, 0x97, 0x8a, 0x4e, 0x82, 0x82, 0x17, + 0xd1, 0xac, 0x94, 0xe1, 0x1f, 0xf7, 0x3a, 0x0d, 0x1a, 0x56, 0xce, 0x43, 0x44, 0x93, 0x24, 0x7c, + 0x0d, 0xcd, 0x01, 0xd0, 0xa9, 0xe1, 0x29, 0x02, 0x4f, 0x9a, 0x88, 0xdf, 0x40, 0x17, 0x25, 0x9c, + 0x1f, 0x4a, 0x34, 0x1b, 0xc6, 0x29, 0x60, 0x3c, 0x46, 0xc7, 0x3f, 0x46, 0xf3, 0x1a, 0xd4, 0x86, + 0xb3, 0x04, 0x9c, 0x23, 0x54, 0xa9, 0xb3, 0xed, 0x72, 0x21, 0xa3, 0xb6, 0xc7, 0x9a, 0xfe, 0xa1, + 0x4f, 0x9b, 0x95, 0x69, 0xa5, 0x73, 0x94, 0x1e, 0xa7, 0xe0, 0x33, 0xb8, 0xf6, 0x0e, 0xe5, 0xbd, + 0xb6, 0x88, 0xf0, 0xfd, 0x2b, 0xcb, 0xa4, 0x60, 0x64, 0x5b, 0xa7, 0xa0, 0x81, 0x2e, 0x49, 0x8d, + 0xa9, 0x4d, 0x8d, 0xf9, 0x5b, 0x19, 0x31, 0x9f, 0x56, 0x7c, 0x5c, 0x1d, 0x79, 0x55, 0xd4, 0x57, + 0x0f, 0x60, 0x60, 0x4c, 0xc3, 0x97, 0xd1, 0x14, 0x7b, 0x1a, 0xd0, 0x50, 0x63, 0x4a, 0x2d, 0xf0, + 0x2e, 0x9a, 0xe1, 0xc2, 0x15, 0x3d, 0x4e, 0x55, 0xd2, 0xe6, 0x33, 0xdf, 0xbd, 0x7d, 0x10, 0x73, + 0x22, 0x71, 0xbc, 0x87, 0xca, 0x72, 0xf7, 0xe7, 0x12, 0x25, 0x95, 0xf3, 0xa0, 0xcb, 0xce, 0xa8, + 0x6b, 0x4b, 0xcb, 0x39, 0xb1, 0x06, 0xfc, 0x21, 0x9a, 0xf6, 0xda, 0x2e, 0x97, 0x86, 0x15, 0x41, + 0xd9, 0x8d, 0x1c, 0xca, 0xb6, 0xa4, 0xa4, 0x63, 0x14, 0xc8, 0x9b, 0xcc, 0x59, 0x28, 0x36, 0xfb, + 0x00, 0x95, 0xb2, 0xa3, 0x57, 0x98, 0xa0, 0x0b, 0x81, 0xdb, 0xa1, 0xf2, 0x0e, 0xbb, 0x7e, 0xc0, + 0x01, 0x1e, 0x65, 0x27, 0x45, 0x93, 0xe0, 0xf8, 0x82, 0xf6, 0x9f, 0xb2, 0xb0, 0xc9, 0x23, 0xbe, + 0x69, 0xe0, 0x3b, 0x46, 0x97, 0x10, 0x0e, 0x98, 0xa0, 0x31, 0xe3, 0x0c, 0x30, 0xa6, 0x89, 0x78, + 0x09, 0x7d, 0x87, 0x05, 0xed, 0xfe, 0xbe, 0x70, 0x43, 0x41, 0x43, 0x69, 0x6e, 0xa5, 0xbc, 0x68, + 0x2d, 0xcd, 0x38, 0xa3, 0x64, 0x5c, 0x47, 0x58, 0x92, 0x36, 0xdd, 0xb6, 0x1b, 0x78, 0x74, 0x23, + 0xf0, 0x8e, 0x58, 0xc8, 0x2b, 0x08, 0x98, 0xc7, 0xec, 0xe0, 0x3d, 0x34, 0x13, 0xba, 0xa1, 0x2f, + 0x7c, 0xca, 0x2b, 0xb3, 0x10, 0xb4, 0x9b, 0x39, 0x82, 0xe6, 0x48, 0xd1, 0xbe, 0x13, 0xa9, 0x90, + 0xf7, 0xa7, 0xd3, 0x6b, 0x0b, 0x1f, 0xa2, 0xf9, 0x30, 0x68, 0xf7, 0x2b, 0x17, 0xe0, 0xe8, 0x11, + 0x2a, 0x79, 0x5b, 0x57, 0x75, 0x03, 0x38, 0x0d, 0xf6, 0x05, 0x05, 0x08, 0xfe, 0x91, 0xcf, 0x65, + 0x31, 0x94, 0x15, 0x21, 0x26, 0x90, 0xba, 0x41, 0xe9, 0x9e, 0xbc, 0xdf, 0x89, 0xda, 0x07, 0xf7, + 0x3d, 0x2a, 0xba, 0x66, 0x49, 0x96, 0xd0, 0x45, 0xc5, 0xbf, 0x4f, 0x45, 0x02, 0xd3, 0x9c, 0x8a, + 0x88, 0x57, 0x2d, 0xc8, 0x1a, 0xba, 0x62, 0x38, 0x75, 0x41, 0x30, 0xfc, 0x8b, 0x68, 0x36, 0x2a, + 0x12, 0x91, 0x54, 0x92, 0x44, 0x6e, 0xa1, 0xcb, 0xda, 0x15, 0x55, 0x22, 0x8c, 0xa4, 0xf4, 0x45, + 0x51, 0x22, 0xb9, 0x98, 0x40, 0xbe, 0x29, 0x18, 0xb1, 0x3d, 0x55, 0xac, 0x8c, 0xd8, 0x35, 0x34, + 0x27, 0xfc, 0x0e, 0xe5, 0xc2, 0xed, 0x74, 0xb7, 0xd9, 0xd3, 0x40, 0x8b, 0xa6, 0x89, 0xd2, 0xac, + 0x88, 0xf0, 0x69, 0x17, 0x1e, 0x88, 0xa2, 0x93, 0x24, 0x49, 0x3d, 0x9e, 0x86, 0x8f, 0x7c, 0x29, + 0xd4, 0xfd, 0x2a, 0x3b, 0x69, 0x22, 0xae, 0xa2, 0x99, 0x90, 0x76, 0x99, 0x84, 0x0f, 0x14, 0xcf, + 0xb2, 0x13, 0xad, 0xf1, 0x07, 0x68, 0x9a, 0xf5, 0x84, 0xc7, 0x3a, 0x14, 0xee, 0xc0, 0xfc, 0x72, + 0x3d, 0x23, 0x32, 0x1e, 0x2a, 0x29, 0xc7, 0x88, 0x47, 0x95, 0xfc, 0x51, 0xdb, 0xed, 0xd3, 0x66, + 0xa5, 0x04, 0x89, 0x4d, 0x92, 0xf0, 0x47, 0xa8, 0xe4, 0xb7, 0x02, 0x16, 0x52, 0xb8, 0x28, 0xd9, + 0x4b, 0xdb, 0x2e, 0x08, 0x99, 0x10, 0x6a, 0x1d, 0xe4, 0xa7, 0x68, 0x2e, 0xb5, 0x21, 0x31, 0x62, + 0x5c, 0xb1, 0x00, 0x8f, 0x66, 0x29, 0xcb, 0xef, 0xf7, 0x46, 0xf2, 0xa0, 0xb1, 0xb8, 0x88, 0x66, + 0xf5, 0x3b, 0x92, 0x40, 0x63, 0x92, 0x84, 0x77, 0x34, 0xf2, 0x74, 0x21, 0x9c, 0x5d, 0x7e, 0x2b, + 0xa3, 0xd5, 0x0a, 0xbf, 0x46, 0x98, 0xfc, 0xb9, 0x80, 0xbe, 0x3f, 0x02, 0x3f, 0x9e, 0x40, 0x51, + 0x57, 0xbe, 0x96, 0x11, 0x14, 0xca, 0x4e, 0x4c, 0x90, 0x7e, 0xc1, 0x42, 0x43, 0xa0, 0xec, 0x98, + 0x25, 0xd4, 0x2f, 0xda, 0x6e, 0xeb, 0x77, 0x53, 0xd6, 0x2f, 0x58, 0x49, 0xfc, 0x37, 0x7a, 0xfd, + 0x28, 0xdb, 0x6a, 0x21, 0x1b, 0x0d, 0x69, 0x9d, 0x7e, 0x16, 0xe1, 0x1b, 0x7f, 0x8c, 0x4a, 0xaa, + 0x50, 0x43, 0x8d, 0x9b, 0x5f, 0x5e, 0xc9, 0x5a, 0xe5, 0x8d, 0x0f, 0xba, 0xdc, 0x6b, 0x2d, 0xf8, + 0xe1, 0x48, 0x8a, 0x6f, 0xe7, 0x4a, 0x71, 0x22, 0x32, 0x26, 0xcb, 0xeb, 0xe8, 0xe2, 0xe8, 0x1e, + 0xb8, 0xad, 0x8c, 0x56, 0x79, 0x36, 0x87, 0x1b, 0x07, 0x0b, 0x40, 0x85, 0x6f, 0xf2, 0x5b, 0xcb, + 0x74, 0x72, 0xc9, 0xb0, 0xeb, 0xec, 0x5f, 0x43, 0x73, 0x71, 0x73, 0xb0, 0xdb, 0xe4, 0x3a, 0xff, + 0x69, 0x22, 0x7e, 0x84, 0x50, 0x4c, 0xd0, 0x20, 0xb8, 0x91, 0x37, 0x4e, 0x4e, 0x42, 0x07, 0x79, + 0xdd, 0x14, 0xc6, 0x7d, 0x68, 0x9c, 0x0d, 0x0c, 0xe6, 0x51, 0xc1, 0x37, 0x55, 0xa4, 0xe0, 0x37, + 0xc9, 0x15, 0x53, 0x3d, 0x0c, 0x9b, 0x32, 0x9b, 0xfc, 0xd7, 0x32, 0xed, 0xa1, 0x6c, 0xa1, 0x8c, + 0xf4, 0x4e, 0x2a, 0x2a, 0xd9, 0x2f, 0xf2, 0xd6, 0x48, 0x0a, 0x09, 0xba, 0xa0, 0x62, 0xaf, 0xe8, + 0x3a, 0x9a, 0x29, 0x9a, 0xe4, 0x91, 0x25, 0x26, 0xf4, 0x1b, 0x3d, 0xc1, 0xa2, 0xb2, 0x93, 0xa2, + 0x25, 0x6b, 0x13, 0xd4, 0x7f, 0x78, 0xae, 0x8b, 0x4e, 0x9a, 0x18, 0xb7, 0x1f, 0x53, 0x89, 0xf6, + 0x83, 0xbc, 0x65, 0x1e, 0x01, 0xe5, 0xa0, 0x4e, 0x17, 0xc0, 0x5d, 0xc4, 0x79, 0xd2, 0x2b, 0xb2, + 0x82, 0x6a, 0xc0, 0xad, 0x1e, 0xaa, 0x6d, 0x9f, 0x2b, 0x23, 0x7c, 0x16, 0x9c, 0xfe, 0x20, 0xec, + 0xa3, 0xab, 0x27, 0xca, 0x25, 0xda, 0xf6, 0x5e, 0x18, 0xaa, 0xb6, 0xfd, 0xfc, 0xd2, 0x9c, 0x63, + 0x96, 0xd2, 0x98, 0xa7, 0x6e, 0x20, 0x68, 0x13, 0x10, 0x31, 0xe7, 0xe8, 0x15, 0x79, 0x67, 0xcc, + 0x14, 0xc0, 0x13, 0xcf, 0x98, 0x1a, 0x16, 0x8c, 0x0b, 0x66, 0x49, 0x44, 0xb2, 0x85, 0x8f, 0xc5, + 0xb4, 0x19, 0x9f, 0xa1, 0x29, 0x28, 0xa4, 0x20, 0x35, 0xbb, 0x7c, 0x3f, 0x63, 0x6a, 0x4f, 0x1c, + 0x47, 0x1c, 0xa5, 0x8e, 0xdc, 0x41, 0xaf, 0x29, 0x9e, 0x0d, 0x4f, 0xbe, 0x5a, 0x62, 0x27, 0x64, + 0x9d, 0xcf, 0xa9, 0xdb, 0xee, 0x27, 0x0c, 0xfe, 0xa5, 0x5c, 0x47, 0x03, 0x92, 0x59, 0x92, 0x35, + 0x1d, 0xf4, 0x31, 0xa2, 0x71, 0xec, 0xc6, 0xcf, 0x2b, 0xcb, 0xff, 0x58, 0x40, 0x53, 0x20, 0x8c, + 0xff, 0x62, 0xa1, 0x92, 0x9a, 0xd6, 0xf0, 0x9d, 0x3c, 0x4e, 0xa5, 0xc6, 0xc7, 0xea, 0xda, 0x24, + 0xa2, 0xfa, 0x32, 0xbd, 0xf3, 0xeb, 0x7f, 0xfd, 0xff, 0x77, 0x05, 0x1b, 0x5f, 0xb7, 0x8f, 0xe9, + 0xb0, 0xb7, 0x4e, 0x1c, 0xfc, 0xf1, 0x1f, 0x2d, 0x34, 0x05, 0x91, 0xc5, 0xab, 0xb9, 0x93, 0x61, + 0xcc, 0xb6, 0xb3, 0x3f, 0xb5, 0x5d, 0xc9, 0x40, 0xd6, 0xc1, 0xd6, 0x55, 0xbc, 0x92, 0xd1, 0xd6, + 0xc7, 0x07, 0xf2, 0xdb, 0x1e, 0x28, 0x90, 0x0d, 0xf1, 0x7f, 0x2c, 0x74, 0x21, 0x09, 0x07, 0x7c, + 0x6f, 0x72, 0x20, 0x29, 0x17, 0xce, 0x8c, 0x44, 0xb2, 0x03, 0x3e, 0xdd, 0xc7, 0xeb, 0xb9, 0x7c, + 0x3a, 0xd0, 0xd3, 0x73, 0xec, 0xdb, 0x1f, 0x64, 0x42, 0x64, 0xbf, 0x93, 0x33, 0x21, 0x89, 0x09, + 0xbb, 0xfa, 0x66, 0x46, 0x49, 0x29, 0x43, 0xee, 0x81, 0xe1, 0x77, 0xf0, 0xed, 0xcc, 0x86, 0xf7, + 0x38, 0x0d, 0xed, 0x81, 0xbe, 0x04, 0x43, 0xfc, 0xb5, 0x85, 0xe6, 0xd3, 0x23, 0x39, 0xde, 0xc8, + 0x1d, 0xce, 0xd1, 0x69, 0xbf, 0xba, 0x79, 0x16, 0x15, 0x3a, 0x27, 0xf9, 0x5d, 0x8b, 0xbe, 0x0f, + 0x7c, 0xe9, 0x07, 0xb8, 0x96, 0x1a, 0x3f, 0x73, 0xba, 0x36, 0x6e, 0x8a, 0xce, 0xe9, 0xda, 0xd8, + 0x49, 0x7b, 0x02, 0xd7, 0xd4, 0xef, 0x78, 0x07, 0xa1, 0xf6, 0xe3, 0xaf, 0x16, 0x2a, 0xa9, 0x81, + 0x26, 0x5f, 0xc5, 0x4a, 0x4d, 0xdd, 0xf9, 0x2a, 0x56, 0x7a, 0x7e, 0x22, 0x2b, 0xe0, 0xc2, 0x0d, + 0x5c, 0xcf, 0x95, 0x1d, 0x8e, 0xff, 0x24, 0x2d, 0x87, 0xae, 0x34, 0xa7, 0xe5, 0xc9, 0x49, 0xac, + 0x9a, 0xab, 0xfd, 0x25, 0xf7, 0xc1, 0xd6, 0x35, 0xbc, 0x9a, 0xd9, 0x56, 0xe8, 0x97, 0xed, 0x81, + 0x1e, 0xef, 0x86, 0xf8, 0xf7, 0x16, 0x2a, 0xca, 0x36, 0x00, 0xdf, 0xce, 0x65, 0x73, 0x3c, 0x0d, + 0x56, 0x73, 0x4c, 0x34, 0xdd, 0x7d, 0x2a, 0xc8, 0x5d, 0xb0, 0x79, 0x05, 0xdf, 0xca, 0x6c, 0x33, + 0xa7, 0xc2, 0x1e, 0x40, 0x4f, 0x31, 0xc4, 0xcf, 0x2c, 0x84, 0xe2, 0x5e, 0x13, 0xbf, 0x97, 0xd3, + 0xea, 0xf4, 0x64, 0x5a, 0xcd, 0xdd, 0x67, 0x92, 0x5d, 0xb0, 0x7e, 0x0b, 0x6f, 0xe4, 0xb0, 0xde, + 0xfc, 0x0c, 0x2c, 0x9d, 0x88, 0x66, 0xde, 0x21, 0xfe, 0x9b, 0x85, 0x66, 0xcc, 0xc0, 0x8b, 0xdf, + 0xcd, 0x87, 0xd8, 0xd4, 0x98, 0x9c, 0x39, 0x05, 0x5a, 0x8c, 0x6c, 0x83, 0x13, 0xeb, 0xf8, 0x6e, + 0x76, 0x88, 0x2b, 0x49, 0x7b, 0x10, 0x4d, 0xdf, 0x43, 0xfc, 0x77, 0x69, 0xbf, 0x99, 0x0e, 0xdf, + 0xcd, 0x0f, 0xf9, 0x68, 0x5e, 0xaf, 0xde, 0x9d, 0x4c, 0x58, 0x5f, 0xd8, 0x55, 0xf0, 0x66, 0x19, + 0xdf, 0xc8, 0x77, 0x09, 0x28, 0xc7, 0xff, 0xb6, 0xd0, 0x6c, 0x62, 0x70, 0xc1, 0xeb, 0x93, 0xa1, + 0x29, 0xf2, 0xe3, 0xde, 0xc4, 0xf2, 0xda, 0x95, 0x07, 0xe0, 0xca, 0x3d, 0xfc, 0xde, 0x04, 0xe8, + 0xe2, 0xf6, 0x40, 0x8d, 0x18, 0x43, 0xd9, 0x3d, 0x4d, 0xeb, 0xa9, 0x06, 0xaf, 0xe5, 0xb4, 0x29, + 0x31, 0x31, 0x55, 0x33, 0xff, 0x28, 0x09, 0x52, 0x13, 0xdd, 0x6c, 0x29, 0x68, 0x0f, 0xfc, 0xe6, + 0x10, 0xff, 0x53, 0x76, 0x18, 0xf0, 0xa3, 0xf5, 0x6a, 0xde, 0x52, 0x14, 0x25, 0xe0, 0xce, 0x04, + 0x92, 0x3a, 0xf4, 0x7b, 0x60, 0xfc, 0xfb, 0xf8, 0x41, 0x9e, 0xb2, 0x14, 0xc7, 0xdc, 0x1e, 0x24, + 0x27, 0xb8, 0x21, 0x7e, 0x65, 0x21, 0x7c, 0x7c, 0xf0, 0xc1, 0x0f, 0xf2, 0x18, 0x78, 0xe2, 0xc0, + 0x55, 0xdd, 0x39, 0xab, 0x1a, 0xed, 0xf4, 0x87, 0xe0, 0xf4, 0x36, 0xde, 0xcc, 0xe8, 0x34, 0xfc, + 0x46, 0xd9, 0x3f, 0x68, 0x26, 0x74, 0x45, 0x95, 0xf9, 0xb9, 0x85, 0xe6, 0x52, 0xe3, 0x15, 0x9e, + 0xb8, 0x7b, 0x8d, 0xf2, 0xb9, 0x71, 0x06, 0x0d, 0xda, 0xc5, 0x0f, 0xc0, 0xc5, 0x4d, 0x7c, 0x7f, + 0xa2, 0x06, 0x98, 0x9b, 0x0e, 0x58, 0xa5, 0xf4, 0xd2, 0xb1, 0x71, 0x0c, 0x6f, 0xe7, 0x32, 0xf1, + 0x84, 0x41, 0xb0, 0xfa, 0xe0, 0x8c, 0x5a, 0x26, 0x06, 0xb1, 0xab, 0x54, 0x1d, 0x1c, 0x86, 0xac, + 0x73, 0x00, 0xc3, 0xa7, 0x3d, 0xd0, 0x33, 0xe8, 0x70, 0xd3, 0x79, 0xf6, 0xa2, 0x66, 0x7d, 0xf5, + 0xa2, 0x66, 0xfd, 0xef, 0x45, 0xcd, 0xfa, 0xcd, 0xcb, 0xda, 0xb9, 0xaf, 0x5e, 0xd6, 0xce, 0x7d, + 0xfd, 0xb2, 0x76, 0xee, 0xf3, 0xd5, 0xc4, 0xbf, 0xac, 0x4e, 0x3b, 0xea, 0xcb, 0xe4, 0x3f, 0x29, + 0xfb, 0x5d, 0xca, 0x1b, 0x25, 0xf8, 0x47, 0xe5, 0xdb, 0xdf, 0x06, 0x00, 0x00, 0xff, 0xff, 0x21, + 0x83, 0x28, 0x4e, 0x9f, 0x1e, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1841,6 +1936,8 @@ type QueryClient interface { RarityDistribution(ctx context.Context, in *QueryRarityDistributionRequest, opts ...grpc.CallOption) (*QueryRarityDistributionResponse, error) // Queries a list of QCardContents items. QCardContents(ctx context.Context, in *QueryQCardContentsRequest, opts ...grpc.CallOption) (*QueryQCardContentsResponse, error) + // Queries a list of QAccountFromZealy items. + QAccountFromZealy(ctx context.Context, in *QueryQAccountFromZealyRequest, opts ...grpc.CallOption) (*QueryQAccountFromZealyResponse, error) } type queryClient struct { @@ -2004,6 +2101,15 @@ func (c *queryClient) QCardContents(ctx context.Context, in *QueryQCardContentsR return out, nil } +func (c *queryClient) QAccountFromZealy(ctx context.Context, in *QueryQAccountFromZealyRequest, opts ...grpc.CallOption) (*QueryQAccountFromZealyResponse, error) { + out := new(QueryQAccountFromZealyResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QAccountFromZealy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. type QueryServer interface { // Parameters queries the parameters of the module. @@ -2040,6 +2146,8 @@ type QueryServer interface { RarityDistribution(context.Context, *QueryRarityDistributionRequest) (*QueryRarityDistributionResponse, error) // Queries a list of QCardContents items. QCardContents(context.Context, *QueryQCardContentsRequest) (*QueryQCardContentsResponse, error) + // Queries a list of QAccountFromZealy items. + QAccountFromZealy(context.Context, *QueryQAccountFromZealyRequest) (*QueryQAccountFromZealyResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -2097,6 +2205,9 @@ func (*UnimplementedQueryServer) RarityDistribution(ctx context.Context, req *Qu func (*UnimplementedQueryServer) QCardContents(ctx context.Context, req *QueryQCardContentsRequest) (*QueryQCardContentsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method QCardContents not implemented") } +func (*UnimplementedQueryServer) QAccountFromZealy(ctx context.Context, req *QueryQAccountFromZealyRequest) (*QueryQAccountFromZealyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QAccountFromZealy not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -2408,6 +2519,24 @@ func _Query_QCardContents_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Query_QAccountFromZealy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryQAccountFromZealyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).QAccountFromZealy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QAccountFromZealy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).QAccountFromZealy(ctx, req.(*QueryQAccountFromZealyRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "DecentralCardGame.cardchain.cardchain.Query", HandlerType: (*QueryServer)(nil), @@ -2480,6 +2609,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "QCardContents", Handler: _Query_QCardContents_Handler, }, + { + MethodName: "QAccountFromZealy", + Handler: _Query_QAccountFromZealy_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -3808,6 +3941,66 @@ func (m *QueryQCardContentsResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } +func (m *QueryQAccountFromZealyRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryQAccountFromZealyRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryQAccountFromZealyRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ZealyId) > 0 { + i -= len(m.ZealyId) + copy(dAtA[i:], m.ZealyId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ZealyId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryQAccountFromZealyResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryQAccountFromZealyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryQAccountFromZealyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { offset -= sovQuery(v) base := offset @@ -4368,6 +4561,32 @@ func (m *QueryQCardContentsResponse) Size() (n int) { return n } +func (m *QueryQAccountFromZealyRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ZealyId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryQAccountFromZealyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -8213,6 +8432,170 @@ func (m *QueryQCardContentsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryQAccountFromZealyRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryQAccountFromZealyRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryQAccountFromZealyRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ZealyId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + 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 ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ZealyId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryQAccountFromZealyResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryQAccountFromZealyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryQAccountFromZealyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + 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 ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 87affe52..a79bd419 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -877,6 +877,60 @@ func local_request_Query_QCardContents_0(ctx context.Context, marshaler runtime. } +func request_Query_QAccountFromZealy_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryQAccountFromZealyRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["zealyId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "zealyId") + } + + protoReq.ZealyId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "zealyId", err) + } + + msg, err := client.QAccountFromZealy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_QAccountFromZealy_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryQAccountFromZealyRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["zealyId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "zealyId") + } + + protoReq.ZealyId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "zealyId", err) + } + + msg, err := server.QAccountFromZealy(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterQueryHandlerServer registers the http handlers for service Query to "mux". // UnaryRPC :call QueryServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -1274,6 +1328,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_QAccountFromZealy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_QAccountFromZealy_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_QAccountFromZealy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1655,6 +1732,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_QAccountFromZealy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_QAccountFromZealy_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_QAccountFromZealy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1692,6 +1789,8 @@ var ( pattern_Query_RarityDistribution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "rarity_distribution", "setId"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Query_QCardContents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_card_contents", "cardIds"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_Query_QAccountFromZealy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_account_from_zealy", "zealyId"}, "", runtime.AssumeColonVerbOpt(true))) ) var ( @@ -1728,4 +1827,6 @@ var ( forward_Query_RarityDistribution_0 = runtime.ForwardResponseMessage forward_Query_QCardContents_0 = runtime.ForwardResponseMessage + + forward_Query_QAccountFromZealy_0 = runtime.ForwardResponseMessage ) diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index c90de918..9bdff0fd 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -4142,6 +4142,94 @@ func (m *MsgDisinviteEarlyAccessResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgDisinviteEarlyAccessResponse proto.InternalMessageInfo +type MsgConnectZealyAccount struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + ZealyId string `protobuf:"bytes,2,opt,name=zealyId,proto3" json:"zealyId,omitempty"` +} + +func (m *MsgConnectZealyAccount) Reset() { *m = MsgConnectZealyAccount{} } +func (m *MsgConnectZealyAccount) String() string { return proto.CompactTextString(m) } +func (*MsgConnectZealyAccount) ProtoMessage() {} +func (*MsgConnectZealyAccount) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{86} +} +func (m *MsgConnectZealyAccount) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgConnectZealyAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgConnectZealyAccount.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgConnectZealyAccount) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgConnectZealyAccount.Merge(m, src) +} +func (m *MsgConnectZealyAccount) XXX_Size() int { + return m.Size() +} +func (m *MsgConnectZealyAccount) XXX_DiscardUnknown() { + xxx_messageInfo_MsgConnectZealyAccount.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgConnectZealyAccount proto.InternalMessageInfo + +func (m *MsgConnectZealyAccount) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgConnectZealyAccount) GetZealyId() string { + if m != nil { + return m.ZealyId + } + return "" +} + +type MsgConnectZealyAccountResponse struct { +} + +func (m *MsgConnectZealyAccountResponse) Reset() { *m = MsgConnectZealyAccountResponse{} } +func (m *MsgConnectZealyAccountResponse) String() string { return proto.CompactTextString(m) } +func (*MsgConnectZealyAccountResponse) ProtoMessage() {} +func (*MsgConnectZealyAccountResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{87} +} +func (m *MsgConnectZealyAccountResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgConnectZealyAccountResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgConnectZealyAccountResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgConnectZealyAccountResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgConnectZealyAccountResponse.Merge(m, src) +} +func (m *MsgConnectZealyAccountResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgConnectZealyAccountResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgConnectZealyAccountResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgConnectZealyAccountResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgCreateuser)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateuser") proto.RegisterType((*MsgCreateuserResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateuserResponse") @@ -4229,167 +4317,173 @@ func init() { proto.RegisterType((*MsgInviteEarlyAccessResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgInviteEarlyAccessResponse") proto.RegisterType((*MsgDisinviteEarlyAccess)(nil), "DecentralCardGame.cardchain.cardchain.MsgDisinviteEarlyAccess") proto.RegisterType((*MsgDisinviteEarlyAccessResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgDisinviteEarlyAccessResponse") + proto.RegisterType((*MsgConnectZealyAccount)(nil), "DecentralCardGame.cardchain.cardchain.MsgConnectZealyAccount") + proto.RegisterType((*MsgConnectZealyAccountResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgConnectZealyAccountResponse") } func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2476 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x5b, 0xe1, 0x6f, 0x1c, 0x47, - 0x15, 0xf7, 0xe6, 0x6c, 0xd7, 0x99, 0x24, 0x6e, 0xbb, 0x75, 0xd3, 0xcb, 0x36, 0x3d, 0xbb, 0x4b, - 0x5b, 0xf2, 0x85, 0xbb, 0xc6, 0x69, 0x93, 0x38, 0x21, 0xa4, 0x77, 0x67, 0xc7, 0x0d, 0x91, 0x9b, - 0x70, 0xe7, 0xb6, 0xb4, 0x54, 0xa0, 0xf5, 0xde, 0xf8, 0xbc, 0xf2, 0xdd, 0xce, 0x31, 0x3b, 0x67, - 0xd7, 0x95, 0x90, 0x90, 0x90, 0x10, 0x95, 0x22, 0x40, 0x08, 0x24, 0x04, 0x12, 0x0a, 0x1f, 0xf8, - 0x52, 0x89, 0x4f, 0x20, 0xf1, 0x2f, 0xf4, 0x63, 0x3f, 0x21, 0xc4, 0x87, 0x82, 0x92, 0x2f, 0xfc, - 0x19, 0x68, 0xdf, 0xcc, 0xce, 0xce, 0xec, 0xed, 0x9d, 0x6f, 0xd6, 0x91, 0x90, 0xb8, 0x99, 0x9d, - 0xdf, 0x7b, 0x6f, 0x66, 0xde, 0x9b, 0xf7, 0xde, 0x2f, 0x35, 0xba, 0xe8, 0x7b, 0xb4, 0xe3, 0xef, - 0x79, 0x41, 0x58, 0x4b, 0x7f, 0xb1, 0x4f, 0xab, 0x03, 0x4a, 0x18, 0xb1, 0x5f, 0x5f, 0xc7, 0x3e, - 0x0e, 0x19, 0xf5, 0x7a, 0x4d, 0x8f, 0x76, 0x36, 0xbd, 0x3e, 0xae, 0xca, 0x55, 0xe9, 0x2f, 0x67, - 0xa9, 0x4b, 0xba, 0x04, 0x10, 0xb5, 0xf8, 0x17, 0x07, 0x3b, 0xaf, 0xe6, 0x89, 0xf6, 0xc9, 0x30, - 0xf4, 0x83, 0x9e, 0x58, 0xb2, 0x9c, 0xb7, 0xa4, 0xef, 0x31, 0x7f, 0x4f, 0x2c, 0x58, 0xc9, 0x5b, - 0x70, 0x40, 0x58, 0x10, 0x76, 0xc5, 0x8a, 0x4a, 0xae, 0x16, 0x8f, 0x76, 0xe4, 0x77, 0x12, 0xf5, - 0x49, 0x54, 0xdb, 0xf1, 0x22, 0x5c, 0x3b, 0xb8, 0xbc, 0x83, 0x99, 0x77, 0xb9, 0xe6, 0x93, 0x20, - 0xe4, 0xdf, 0xdd, 0x8f, 0xd0, 0xb9, 0xad, 0xa8, 0xdb, 0xa4, 0xd8, 0x63, 0x78, 0x18, 0x61, 0x6a, - 0x97, 0xd1, 0x33, 0x7e, 0x3c, 0x22, 0xb4, 0x6c, 0xad, 0x58, 0x97, 0x4e, 0xb7, 0x92, 0x61, 0xfc, - 0x25, 0xc4, 0x87, 0xef, 0x47, 0x98, 0x96, 0x4f, 0xf1, 0x2f, 0x62, 0x68, 0x2f, 0xa1, 0x39, 0xaf, - 0x17, 0x78, 0x51, 0xb9, 0x04, 0xf3, 0x7c, 0xe0, 0xbe, 0x84, 0x5e, 0xd4, 0x44, 0xb7, 0x70, 0x34, - 0x20, 0x61, 0x84, 0xdd, 0xdf, 0x5a, 0xe8, 0xb9, 0xad, 0xa8, 0xdb, 0x18, 0x1e, 0xc5, 0xc7, 0xda, - 0xf6, 0xf7, 0x70, 0x1f, 0x4f, 0xd0, 0xfb, 0x09, 0x2a, 0xed, 0x04, 0x1d, 0xd0, 0x79, 0x66, 0xf5, - 0x42, 0x95, 0x6f, 0xa8, 0x1a, 0x6f, 0xa8, 0x2a, 0x36, 0x54, 0x6d, 0x92, 0x20, 0x6c, 0xd4, 0xbe, - 0xfc, 0x7a, 0x79, 0xe6, 0x8b, 0xff, 0x2c, 0x7f, 0xb3, 0x1b, 0xb0, 0xbd, 0xe1, 0x4e, 0xd5, 0x27, - 0xfd, 0x9a, 0xd8, 0x3d, 0xff, 0xbf, 0x6f, 0x45, 0x9d, 0xfd, 0x1a, 0x3b, 0x1a, 0xe0, 0x08, 0x00, - 0xad, 0x58, 0xec, 0x8d, 0x85, 0x5f, 0x3c, 0x5a, 0x9e, 0xf9, 0xdf, 0xa3, 0xe5, 0x19, 0x77, 0x15, - 0x95, 0xb3, 0x56, 0x25, 0x26, 0xdb, 0xe7, 0xd1, 0x7c, 0x7c, 0xa8, 0x77, 0x3b, 0x60, 0xdc, 0x6c, - 0x4b, 0x8c, 0xdc, 0x87, 0x16, 0x3a, 0xb3, 0x15, 0x75, 0x3f, 0x20, 0x0c, 0xc7, 0xa8, 0x09, 0xbb, - 0x48, 0x25, 0x9c, 0x52, 0x25, 0xd8, 0xf7, 0xd0, 0xc2, 0x01, 0x61, 0x78, 0xfb, 0x68, 0x80, 0xe1, - 0xf8, 0x16, 0x57, 0x6b, 0xd5, 0xa9, 0xdc, 0xae, 0xfa, 0x81, 0x80, 0xb5, 0xa4, 0x00, 0xf7, 0x16, - 0x7a, 0x41, 0xb1, 0x46, 0x5a, 0xff, 0x06, 0x5a, 0xf4, 0x02, 0xda, 0xa1, 0x64, 0xd0, 0xec, 0x79, - 0x41, 0x1f, 0xf3, 0x5d, 0x2c, 0xb4, 0x32, 0xb3, 0xee, 0xdf, 0x2d, 0x64, 0x6f, 0x45, 0xdd, 0xb6, - 0x77, 0x00, 0xf8, 0x26, 0x09, 0x19, 0x0e, 0x59, 0x81, 0x4d, 0xc5, 0x08, 0x0e, 0x86, 0x3d, 0x9d, - 0x6d, 0x25, 0xc3, 0xd8, 0x55, 0x42, 0xc2, 0x70, 0x54, 0x9e, 0xe5, 0xae, 0x02, 0x83, 0x58, 0x8e, - 0x47, 0x59, 0x10, 0xb1, 0xf2, 0x1c, 0x4c, 0x8b, 0x91, 0xfd, 0x1a, 0x3a, 0xb7, 0xe3, 0xf5, 0xbc, - 0xd0, 0xc7, 0xf5, 0xd0, 0xdf, 0x23, 0xb4, 0x3c, 0x0f, 0x76, 0xeb, 0x93, 0xee, 0x3a, 0x72, 0x46, - 0xad, 0x36, 0xde, 0xfc, 0x8f, 0xd0, 0xb3, 0x5b, 0x51, 0x77, 0x9b, 0x7a, 0x61, 0xb4, 0x8b, 0x69, - 0xc1, 0xdb, 0x74, 0xd0, 0x02, 0xc5, 0x3e, 0x0e, 0x0e, 0x30, 0x15, 0x3b, 0x94, 0x63, 0xf7, 0x02, - 0x7a, 0x29, 0xa3, 0x40, 0x46, 0xc4, 0x43, 0x0b, 0x94, 0xaf, 0x93, 0xd0, 0x63, 0x78, 0x9b, 0x14, - 0x54, 0xbe, 0x89, 0xe6, 0xbd, 0x3e, 0x19, 0x8a, 0x43, 0x3f, 0xcd, 0x03, 0xe2, 0xdf, 0x5f, 0x4f, - 0x1f, 0x10, 0x02, 0x2e, 0x2c, 0x55, 0xad, 0x91, 0x96, 0xfe, 0x18, 0xde, 0x8b, 0x7a, 0xa7, 0x53, - 0xa7, 0xec, 0x90, 0xd0, 0xfd, 0x02, 0x66, 0x2e, 0xa1, 0xb9, 0xa0, 0xef, 0x75, 0xb1, 0x70, 0x0d, - 0x3e, 0x88, 0xe5, 0xec, 0x0e, 0x7b, 0xbd, 0x3a, 0x65, 0x70, 0x70, 0x0b, 0xad, 0x64, 0x28, 0xde, - 0x91, 0x54, 0xa5, 0xb4, 0xe5, 0x07, 0x70, 0x68, 0xcd, 0x3d, 0x2f, 0xec, 0xe2, 0x3a, 0x77, 0x98, - 0xe3, 0xad, 0x59, 0xd7, 0xac, 0x59, 0x57, 0x5c, 0xaf, 0xa4, 0xba, 0x9e, 0x38, 0x03, 0x55, 0xb8, - 0xd4, 0x7b, 0x19, 0x0c, 0x6a, 0xe1, 0x6e, 0x10, 0x31, 0x4c, 0xef, 0x10, 0xda, 0xe4, 0xaf, 0xfa, - 0x78, 0xed, 0xee, 0x32, 0x7a, 0x25, 0x17, 0x22, 0x65, 0xfe, 0xd3, 0x42, 0x8b, 0xb0, 0x62, 0x40, - 0x28, 0xdb, 0x8a, 0x53, 0xc0, 0xe4, 0x97, 0x18, 0xb2, 0x84, 0x3c, 0xda, 0x64, 0x68, 0xbb, 0xe8, - 0xec, 0xa0, 0xe7, 0x1d, 0xe1, 0x4e, 0x7c, 0x69, 0x51, 0xbd, 0x5c, 0x5a, 0x29, 0x5d, 0x9a, 0x6d, - 0x69, 0x73, 0x99, 0x35, 0x8d, 0xf2, 0xec, 0xc8, 0x9a, 0x86, 0xfd, 0x2e, 0x7a, 0x86, 0x0c, 0x99, - 0x4f, 0xfa, 0x18, 0x22, 0x72, 0x71, 0xb5, 0x3a, 0xe5, 0xa3, 0x74, 0x9f, 0xa3, 0x5a, 0x09, 0xdc, - 0x5d, 0x45, 0xe7, 0xf5, 0x7d, 0xc9, 0xc0, 0x54, 0x76, 0x61, 0x69, 0xbb, 0x70, 0xdf, 0x03, 0x4c, - 0x7d, 0x40, 0x82, 0x30, 0xc1, 0xc4, 0xf0, 0x89, 0xd9, 0x09, 0x22, 0x8f, 0xaf, 0x12, 0xe9, 0x49, - 0x8e, 0xdd, 0x15, 0x54, 0xc9, 0x97, 0x27, 0x8f, 0xff, 0x0f, 0x16, 0x3a, 0x2b, 0x93, 0x55, 0x1b, - 0x4f, 0x72, 0x24, 0x1b, 0xcd, 0x86, 0x5e, 0x1f, 0x0b, 0x25, 0xf0, 0x7b, 0x9c, 0x13, 0xd9, 0x2b, - 0xe8, 0x4c, 0xc4, 0x08, 0x3d, 0xfa, 0x90, 0x06, 0x4c, 0xbe, 0x08, 0xea, 0x54, 0x7c, 0x19, 0xf1, - 0xd3, 0x48, 0x83, 0x9d, 0x21, 0x23, 0x34, 0x2a, 0xcf, 0xad, 0x94, 0x2e, 0x9d, 0x6e, 0x69, 0x73, - 0xee, 0x79, 0xb4, 0xa4, 0xda, 0x26, 0x8d, 0xfe, 0x08, 0xfc, 0xbf, 0xde, 0x81, 0x4b, 0xdb, 0x26, - 0x93, 0xcd, 0x5e, 0x42, 0x73, 0x11, 0x66, 0xd2, 0x63, 0xf8, 0x40, 0x89, 0xd1, 0x92, 0x96, 0xd7, - 0xb8, 0xf7, 0xab, 0xa2, 0xa5, 0xd6, 0x77, 0xc0, 0x51, 0xef, 0x04, 0xa1, 0xd7, 0x0b, 0x3e, 0xc3, - 0x05, 0x94, 0xba, 0x65, 0xb8, 0x5e, 0x45, 0x82, 0x94, 0xdd, 0x44, 0xcf, 0xf3, 0x14, 0xdc, 0x20, - 0x24, 0x0e, 0x94, 0x07, 0x9e, 0xbf, 0x6f, 0x2c, 0xbe, 0x89, 0x2e, 0x8c, 0x08, 0x31, 0xce, 0x06, - 0x3f, 0x84, 0x33, 0x6f, 0xe1, 0x3e, 0xe1, 0x59, 0xe5, 0x0e, 0x25, 0xfd, 0xa7, 0x79, 0xc0, 0x15, - 0x74, 0x31, 0x4f, 0xbe, 0x3c, 0x09, 0x0f, 0xbd, 0x9c, 0x7e, 0x4f, 0x9d, 0xa1, 0xa8, 0x19, 0x36, - 0x9a, 0x8d, 0x4b, 0x30, 0xe1, 0x9e, 0xf0, 0xdb, 0x7d, 0x1d, 0x7d, 0x63, 0x82, 0x0a, 0x69, 0xc9, - 0x27, 0x3c, 0x18, 0x3b, 0x1d, 0x65, 0x4d, 0x31, 0x67, 0xcb, 0x33, 0x42, 0x84, 0xe6, 0xa8, 0x74, - 0xa9, 0xff, 0x73, 0x5e, 0x94, 0x24, 0xee, 0xdf, 0xeb, 0xdd, 0xdf, 0xdd, 0x9d, 0xf8, 0x12, 0xd8, - 0x68, 0x36, 0x3e, 0x64, 0xa1, 0x1b, 0x7e, 0xdb, 0x1b, 0x68, 0x6e, 0x40, 0x03, 0x1f, 0x17, 0xcd, - 0x8c, 0x1c, 0xed, 0x5e, 0x84, 0x4a, 0x23, 0x63, 0x8a, 0xb4, 0xf4, 0x5d, 0x84, 0xd2, 0x02, 0x72, - 0x82, 0x81, 0xf1, 0xab, 0x90, 0x80, 0xe5, 0x19, 0xa9, 0x53, 0xee, 0x12, 0x6c, 0x59, 0x48, 0x92, - 0xf2, 0x1f, 0xc0, 0x2c, 0xbf, 0xb0, 0x69, 0x0e, 0xe2, 0x78, 0x3d, 0x7c, 0x3f, 0x19, 0x89, 0x52, - 0xdf, 0xc7, 0xa0, 0x2f, 0x4d, 0xbc, 0xc5, 0x6e, 0x3d, 0x37, 0xdd, 0x0b, 0xcd, 0x19, 0xd9, 0x52, - 0xf3, 0xf7, 0xa1, 0x41, 0xa8, 0x77, 0x3a, 0xed, 0xf8, 0xa9, 0x2c, 0xac, 0x17, 0x1e, 0xda, 0xa4, - 0x29, 0x81, 0x81, 0xeb, 0x40, 0x91, 0xaf, 0x49, 0x96, 0x5a, 0xff, 0xc2, 0xfb, 0x92, 0x36, 0x66, - 0x70, 0xec, 0x1e, 0x0d, 0xd8, 0x51, 0xb1, 0xfa, 0x86, 0x9b, 0x53, 0x52, 0xcd, 0xb9, 0x8b, 0xe6, - 0x29, 0x48, 0x84, 0x2c, 0xb0, 0xb8, 0x7a, 0x79, 0xca, 0x84, 0x9a, 0x9a, 0xd2, 0x12, 0x02, 0xc4, - 0x1e, 0x34, 0x33, 0xe5, 0x1e, 0xd6, 0x61, 0x0b, 0xdc, 0x43, 0x8f, 0x2d, 0x4b, 0xc6, 0x6d, 0x41, - 0x68, 0xd0, 0xa4, 0x48, 0x0d, 0xbf, 0xb4, 0xf8, 0x47, 0xd2, 0xef, 0x07, 0x2c, 0xf3, 0xf1, 0xb8, - 0xfc, 0xcc, 0x57, 0xa5, 0xf9, 0x59, 0xa0, 0x2e, 0xa2, 0xd3, 0xa2, 0x31, 0x96, 0xa7, 0x96, 0x4e, - 0xd8, 0x15, 0x84, 0xa2, 0x61, 0xb7, 0x8b, 0x23, 0x16, 0x90, 0x50, 0xe4, 0x50, 0x65, 0xc6, 0x75, - 0xd1, 0xca, 0x38, 0x7b, 0xa4, 0xd1, 0xff, 0xe0, 0x46, 0xb7, 0xf0, 0x01, 0xf6, 0x7a, 0xd3, 0x1b, - 0x7d, 0x2f, 0x63, 0xf4, 0xf4, 0xcd, 0x99, 0xb4, 0x20, 0xdd, 0xe5, 0x79, 0x34, 0x1f, 0x61, 0x9f, - 0x62, 0x59, 0x24, 0xf0, 0x91, 0xbe, 0xfb, 0xd9, 0xcc, 0xee, 0xc5, 0xee, 0x72, 0x0d, 0x97, 0xbb, - 0xbb, 0x07, 0x69, 0xb3, 0x85, 0x23, 0xe6, 0x51, 0x76, 0xfc, 0xad, 0x6b, 0x0a, 0x4f, 0x65, 0x15, - 0xbe, 0x0c, 0xe9, 0x53, 0x17, 0x26, 0x35, 0x5d, 0x17, 0x69, 0xeb, 0x90, 0xec, 0xa7, 0x8e, 0x11, - 0x17, 0xb5, 0xd4, 0x8b, 0xef, 0x62, 0x42, 0x05, 0xfc, 0x06, 0x7a, 0x6d, 0x12, 0x52, 0x6a, 0x78, - 0xcc, 0x5b, 0xa1, 0x26, 0x09, 0x77, 0x03, 0xda, 0x2f, 0x5e, 0x09, 0x2b, 0x15, 0x6c, 0xe9, 0x44, - 0x15, 0xac, 0xfd, 0x3d, 0x84, 0xe2, 0x06, 0x9b, 0x97, 0xc6, 0x50, 0x2d, 0x9f, 0x99, 0x3a, 0x7a, - 0xdb, 0x41, 0xd8, 0xed, 0xe1, 0xb8, 0x21, 0x6f, 0x29, 0x42, 0x92, 0xe6, 0x42, 0xd9, 0xa3, 0xdc, - 0xff, 0x06, 0xdc, 0x65, 0x1b, 0xb3, 0x07, 0x94, 0xec, 0x06, 0xbd, 0x82, 0xb4, 0x82, 0xb8, 0x45, - 0x5d, 0x8c, 0xd4, 0xb1, 0x0d, 0x0f, 0xfb, 0xfd, 0x01, 0x0e, 0xa7, 0xab, 0xb3, 0xe2, 0x36, 0x3c, - 0x5d, 0x28, 0x75, 0xe9, 0x93, 0xee, 0x55, 0x78, 0xd2, 0x33, 0x52, 0xb5, 0x20, 0x03, 0xd3, 0xa2, - 0xb2, 0x05, 0x0d, 0x47, 0x32, 0x74, 0x19, 0x14, 0x18, 0x49, 0x5f, 0xfc, 0x14, 0x2d, 0xd2, 0xba, - 0xf1, 0x52, 0xa6, 0x1b, 0xe7, 0x85, 0x47, 0x8e, 0x56, 0x79, 0x4a, 0x7b, 0x50, 0x02, 0xb6, 0x31, - 0x8b, 0xff, 0xa7, 0x94, 0xec, 0xa6, 0x89, 0x28, 0xd3, 0x04, 0x94, 0x46, 0x9a, 0x00, 0x51, 0x0c, - 0x8e, 0x68, 0xca, 0x14, 0xfa, 0xfc, 0xfb, 0xb1, 0x8d, 0xee, 0xd8, 0x3a, 0x74, 0x42, 0x9b, 0xab, - 0x8a, 0x96, 0x5a, 0x37, 0x13, 0x4f, 0x7c, 0x3f, 0xc2, 0xf4, 0x43, 0xbc, 0x13, 0x05, 0x0c, 0x4f, - 0x0e, 0xc5, 0x43, 0xbe, 0x28, 0xa1, 0x07, 0xc5, 0x30, 0xf5, 0x45, 0x45, 0x90, 0xd4, 0xb2, 0x05, - 0x94, 0x95, 0xf8, 0xd8, 0x08, 0x48, 0x97, 0x7a, 0x83, 0xbd, 0xa3, 0xc9, 0xaf, 0xd7, 0x4e, 0xb2, - 0x4c, 0x68, 0x4a, 0x27, 0xdc, 0x57, 0xa0, 0x6e, 0xce, 0x8a, 0x93, 0xda, 0x86, 0x90, 0x1e, 0xb7, - 0x86, 0x3d, 0x16, 0x4c, 0xc1, 0xd9, 0x6d, 0xa2, 0xb9, 0x03, 0x20, 0xab, 0x4e, 0x15, 0x0d, 0x7a, - 0x8e, 0x17, 0xf9, 0x54, 0x53, 0x2b, 0x4d, 0x7a, 0xc4, 0x5b, 0xcf, 0x38, 0x6e, 0xa6, 0x78, 0xed, - 0xa0, 0x4b, 0xa7, 0xf5, 0xe4, 0x88, 0xc5, 0x30, 0xfd, 0xd2, 0x10, 0xf7, 0x9b, 0x0c, 0x63, 0xef, - 0x13, 0x8b, 0xd6, 0xb1, 0xbf, 0x2f, 0x9a, 0x7d, 0x75, 0x2a, 0x5d, 0xd1, 0x80, 0x15, 0x73, 0xea, - 0x0a, 0x98, 0x72, 0xdf, 0x84, 0x48, 0x90, 0x16, 0x4e, 0xd1, 0xc1, 0xb7, 0x81, 0x26, 0xe2, 0x6e, - 0xf5, 0x9e, 0x37, 0x91, 0xde, 0x1d, 0xdb, 0x2b, 0x40, 0x97, 0x5d, 0x4a, 0xbb, 0x6c, 0x41, 0x04, - 0xa5, 0x42, 0x33, 0x2d, 0xa9, 0xe0, 0x6a, 0x7a, 0x81, 0x17, 0x4d, 0x56, 0xc7, 0xb9, 0xea, 0x53, - 0x2a, 0x57, 0xcd, 0x5b, 0x52, 0x45, 0x82, 0x52, 0x50, 0xc5, 0x7b, 0xbf, 0x1b, 0x1e, 0x04, 0x0c, - 0x6f, 0x78, 0xb4, 0x77, 0x54, 0xf7, 0x7d, 0x1c, 0x45, 0x93, 0xfb, 0x8f, 0x61, 0x4a, 0x92, 0xf3, - 0x36, 0x87, 0x47, 0xf8, 0x88, 0x14, 0x25, 0xd6, 0x80, 0x71, 0x0b, 0xa2, 0xe0, 0x84, 0x8a, 0x5e, - 0x45, 0xcb, 0x63, 0x04, 0x25, 0xba, 0x56, 0xff, 0xf6, 0x26, 0x2a, 0x6d, 0x45, 0x5d, 0xfb, 0xa7, - 0x16, 0x42, 0x0a, 0xf1, 0xff, 0xd6, 0x94, 0xde, 0xad, 0x71, 0xfa, 0xce, 0xb7, 0x8b, 0xa0, 0xa4, - 0x03, 0x7d, 0x6e, 0xa1, 0x73, 0xfa, 0x3f, 0x03, 0x5c, 0x9b, 0x5e, 0x9e, 0x06, 0x74, 0x6e, 0x17, - 0x04, 0x4a, 0x5b, 0x3e, 0x43, 0x0b, 0xf2, 0x49, 0x58, 0x9d, 0x5e, 0x58, 0x82, 0x71, 0x6e, 0x98, - 0x63, 0xa4, 0xee, 0x5f, 0x59, 0xe8, 0xd9, 0x2c, 0xeb, 0xbe, 0x36, 0xbd, 0xbc, 0x0c, 0xd4, 0xa9, - 0x17, 0x86, 0x4a, 0x8b, 0x7e, 0x6e, 0xa1, 0xb3, 0x1a, 0x17, 0x7e, 0x75, 0x7a, 0x99, 0x2a, 0xce, - 0xf9, 0x4e, 0x31, 0x9c, 0x66, 0x88, 0xc6, 0x8b, 0x1b, 0x18, 0xa2, 0xe2, 0x4c, 0x0c, 0xc9, 0x63, - 0xbe, 0x21, 0x5c, 0x14, 0xde, 0xdb, 0x20, 0x5c, 0x52, 0x94, 0x49, 0xb8, 0x8c, 0x12, 0xde, 0x70, - 0x16, 0x1a, 0xdd, 0x6d, 0x70, 0x16, 0x2a, 0xce, 0xe4, 0x2c, 0xf2, 0x18, 0x70, 0xfb, 0xf7, 0x16, - 0xb2, 0x73, 0xf8, 0x6f, 0x83, 0xdd, 0x8d, 0xa2, 0x9d, 0xf5, 0x93, 0xa0, 0xa5, 0x69, 0x3f, 0xb3, - 0xd0, 0x19, 0x95, 0x45, 0x7f, 0xdb, 0x44, 0xaa, 0x84, 0x39, 0xb7, 0x0a, 0xc1, 0xa4, 0x15, 0x7f, - 0xb4, 0xd0, 0x0b, 0x79, 0xfc, 0xb5, 0x81, 0xd8, 0x1c, 0xb8, 0xb3, 0x71, 0x22, 0xb8, 0xb4, 0xee, - 0x27, 0xe8, 0x74, 0xca, 0x74, 0x5f, 0x31, 0x7d, 0xc1, 0xdb, 0x98, 0x39, 0x37, 0x0b, 0x80, 0x34, - 0x37, 0xd6, 0x58, 0xeb, 0xab, 0x46, 0x51, 0x21, 0x71, 0x26, 0x6e, 0x9c, 0x47, 0x65, 0x83, 0xaf, - 0xa8, 0x44, 0xb6, 0x81, 0xaf, 0x28, 0x30, 0x13, 0x5f, 0xc9, 0x21, 0xbd, 0xed, 0x87, 0x16, 0x5a, - 0xcc, 0x50, 0xde, 0xd7, 0x8d, 0x92, 0x99, 0x82, 0x74, 0xde, 0x29, 0x8a, 0x94, 0xe6, 0xfc, 0xce, - 0x42, 0xcf, 0x8f, 0xf2, 0xde, 0x37, 0x4d, 0xe2, 0x21, 0x03, 0x76, 0x9a, 0x27, 0x00, 0x4b, 0xbb, - 0xbe, 0xb0, 0x50, 0x79, 0x2c, 0x1f, 0xde, 0x30, 0xd6, 0x30, 0x22, 0xc3, 0xf9, 0xee, 0xc9, 0x65, - 0xe8, 0xf1, 0x9f, 0x43, 0x99, 0xdf, 0x32, 0xf3, 0xd8, 0x0c, 0xdc, 0x28, 0xfe, 0xc7, 0x53, 0xea, - 0x50, 0x6e, 0x64, 0xf9, 0xf4, 0x35, 0xf3, 0x88, 0x16, 0x50, 0x93, 0x72, 0x63, 0x0c, 0x75, 0x6e, - 0x1f, 0xa2, 0x67, 0x12, 0xde, 0xfc, 0xb2, 0x71, 0x21, 0xe7, 0xac, 0x19, 0x43, 0xb4, 0xa3, 0xc8, - 0x32, 0xea, 0x6b, 0xa6, 0x8e, 0x50, 0xe8, 0x28, 0xc6, 0xb0, 0xee, 0x60, 0x51, 0x96, 0x73, 0x5f, - 0x2b, 0x52, 0x36, 0x70, 0x97, 0xa9, 0x17, 0x86, 0x6a, 0x55, 0xba, 0xce, 0xc5, 0x5f, 0x33, 0x12, - 0x9a, 0x02, 0x4d, 0xaa, 0xf4, 0x5c, 0x8e, 0x1e, 0x6c, 0xd1, 0x09, 0x7a, 0x03, 0x5b, 0x34, 0xa0, - 0x89, 0x2d, 0xb9, 0x5c, 0x3b, 0xd8, 0xa2, 0x33, 0xed, 0xd7, 0x4c, 0x23, 0x21, 0xa9, 0x7d, 0x6e, - 0x17, 0x04, 0x4a, 0x5b, 0xfe, 0x6c, 0xa1, 0x17, 0xf3, 0x29, 0x79, 0x13, 0xd1, 0x79, 0x02, 0x9c, - 0xcd, 0x13, 0x0a, 0xd0, 0x6c, 0xcc, 0x67, 0xe0, 0x6f, 0x9b, 0x84, 0x4d, 0x8e, 0x00, 0x13, 0x1b, - 0x27, 0x52, 0xe9, 0x90, 0x8c, 0x33, 0x44, 0xfa, 0x75, 0x13, 0xd9, 0x2a, 0xd2, 0x24, 0x19, 0xe7, - 0xf3, 0xed, 0xf6, 0x5f, 0x2d, 0x74, 0x61, 0x3c, 0xdb, 0x6e, 0x94, 0x57, 0xc7, 0x08, 0x71, 0xee, - 0x3d, 0x05, 0x21, 0x7a, 0x87, 0xa2, 0x52, 0xf7, 0x26, 0x1d, 0x8a, 0x82, 0x33, 0xea, 0x50, 0x72, - 0x68, 0x74, 0xb8, 0xc7, 0x0c, 0x89, 0x7e, 0xdd, 0x28, 0xde, 0x15, 0xa4, 0xc9, 0x3d, 0xe6, 0x33, - 0xee, 0xf0, 0xa8, 0x67, 0xf9, 0x76, 0x83, 0x47, 0x3d, 0x03, 0x35, 0x79, 0xd4, 0xc7, 0xf1, 0xf1, - 0x71, 0x85, 0x92, 0xc7, 0xb9, 0xdf, 0x32, 0xef, 0xd7, 0x55, 0xcb, 0x36, 0x4e, 0x04, 0xd7, 0x8a, - 0xd0, 0x51, 0xe6, 0xfd, 0xa6, 0xd1, 0x3d, 0xe8, 0x60, 0x93, 0x22, 0x74, 0x2c, 0x13, 0x0f, 0xfe, - 0xad, 0xf1, 0xf0, 0x57, 0x4d, 0xa5, 0x9a, 0x77, 0xe0, 0x79, 0xe4, 0x7c, 0xe2, 0xdf, 0x2a, 0x35, - 0x6f, 0xe6, 0xdf, 0x0a, 0xd2, 0xd0, 0xbf, 0x73, 0x58, 0x7c, 0xfb, 0x37, 0x16, 0x7a, 0x6e, 0x84, - 0xc3, 0xbf, 0x61, 0x2c, 0x56, 0x62, 0x9d, 0x46, 0x71, 0xac, 0x96, 0x9f, 0x75, 0xaa, 0xdf, 0x20, - 0x3f, 0x6b, 0x40, 0x93, 0xfc, 0x9c, 0xcb, 0xf2, 0xc7, 0x2d, 0x77, 0xca, 0xf0, 0x5f, 0x31, 0x0b, - 0x5f, 0xfe, 0x22, 0xde, 0x2c, 0x00, 0xd2, 0xc8, 0x2b, 0x85, 0x8d, 0x7f, 0xcb, 0xd4, 0xfb, 0x62, - 0x94, 0x09, 0x79, 0x35, 0x4a, 0xd2, 0x43, 0xb3, 0xad, 0x52, 0xf4, 0x6f, 0x1b, 0x73, 0x50, 0x31, - 0xcc, 0xa4, 0xd9, 0xce, 0xa1, 0xf3, 0xe1, 0x61, 0x19, 0x25, 0xf3, 0x0d, 0xce, 0x76, 0x04, 0x6c, - 0xf2, 0xb0, 0x8c, 0xfd, 0x07, 0x00, 0xfb, 0x4f, 0x16, 0x5a, 0xca, 0xa5, 0xff, 0x4d, 0x68, 0xcb, - 0x1c, 0xbc, 0x73, 0xe7, 0x64, 0xf8, 0xc4, 0xc0, 0x46, 0xeb, 0xcb, 0xc7, 0x15, 0xeb, 0xab, 0xc7, - 0x15, 0xeb, 0xbf, 0x8f, 0x2b, 0xd6, 0xaf, 0x9f, 0x54, 0x66, 0xbe, 0x7a, 0x52, 0x99, 0xf9, 0xd7, - 0x93, 0xca, 0xcc, 0xc7, 0xd7, 0x95, 0xff, 0x88, 0x6a, 0x44, 0x57, 0xad, 0x29, 0xff, 0x2a, 0xe1, - 0x53, 0xf5, 0x4f, 0x2c, 0x8e, 0x06, 0x38, 0xda, 0x99, 0x87, 0xbf, 0x41, 0xb8, 0xf2, 0xff, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x74, 0x52, 0xb5, 0x13, 0x86, 0x31, 0x00, 0x00, + // 2531 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x5b, 0xd1, 0x6f, 0x1c, 0x47, + 0x19, 0xf7, 0xfa, 0x6c, 0xc7, 0x1e, 0x27, 0x6e, 0xbb, 0x75, 0xd3, 0xcb, 0x36, 0x3d, 0xbb, 0x4b, + 0x5b, 0xf2, 0xc2, 0x1d, 0x76, 0xda, 0xc4, 0x4e, 0x30, 0xe9, 0xdd, 0xd9, 0x71, 0x43, 0x70, 0x13, + 0xf6, 0xdc, 0x96, 0x86, 0x0a, 0xb4, 0xde, 0x1b, 0x9f, 0x57, 0xbe, 0xdb, 0x39, 0x66, 0xe7, 0xec, + 0x3a, 0x12, 0x12, 0x12, 0x12, 0xa2, 0x52, 0x04, 0x08, 0x81, 0x84, 0x40, 0x42, 0xe1, 0x81, 0x97, + 0x4a, 0xbc, 0x21, 0xf1, 0x2f, 0xf4, 0xb1, 0xbc, 0x20, 0xc4, 0x43, 0x40, 0xc9, 0x0b, 0x7f, 0x06, + 0xda, 0x99, 0xd9, 0xd9, 0x99, 0xbd, 0xbd, 0xf5, 0xcd, 0x3a, 0x52, 0xa5, 0xde, 0xec, 0xce, 0xef, + 0xfb, 0xbe, 0x99, 0xfd, 0xbe, 0xf9, 0xbe, 0xef, 0x37, 0x31, 0xb8, 0xec, 0xb9, 0xb8, 0xed, 0x1d, + 0xb8, 0x7e, 0x50, 0x4b, 0x7e, 0x91, 0xcf, 0xaa, 0x7d, 0x8c, 0x08, 0x32, 0xdf, 0xda, 0x84, 0x1e, + 0x0c, 0x08, 0x76, 0xbb, 0x4d, 0x17, 0xb7, 0xb7, 0xdd, 0x1e, 0xac, 0x8a, 0x59, 0xc9, 0x2f, 0x6b, + 0xb1, 0x83, 0x3a, 0x88, 0x22, 0x6a, 0xd1, 0x2f, 0x06, 0xb6, 0xde, 0xc8, 0x12, 0xed, 0xa1, 0x41, + 0xe0, 0xf9, 0x5d, 0x3e, 0x65, 0x29, 0x6b, 0x4a, 0xcf, 0x25, 0xde, 0x01, 0x9f, 0xb0, 0x9c, 0x35, + 0xe1, 0x08, 0x11, 0x3f, 0xe8, 0xf0, 0x19, 0x95, 0x4c, 0x2d, 0x2e, 0x6e, 0x8b, 0xf7, 0x28, 0xec, + 0xa1, 0xb0, 0xb6, 0xe7, 0x86, 0xb0, 0x76, 0xb4, 0xb2, 0x07, 0x89, 0xbb, 0x52, 0xf3, 0x90, 0x1f, + 0xb0, 0xf7, 0xf6, 0x27, 0xe0, 0xc2, 0x4e, 0xd8, 0x69, 0x62, 0xe8, 0x12, 0x38, 0x08, 0x21, 0x36, + 0xcb, 0xe0, 0x9c, 0x17, 0x8d, 0x10, 0x2e, 0x1b, 0xcb, 0xc6, 0x95, 0x39, 0x27, 0x1e, 0x46, 0x6f, + 0x02, 0x78, 0xfc, 0x61, 0x08, 0x71, 0x79, 0x92, 0xbd, 0xe1, 0x43, 0x73, 0x11, 0x4c, 0xbb, 0x5d, + 0xdf, 0x0d, 0xcb, 0x25, 0xfa, 0x9c, 0x0d, 0xec, 0x57, 0xc1, 0x2b, 0x8a, 0x68, 0x07, 0x86, 0x7d, + 0x14, 0x84, 0xd0, 0xfe, 0xad, 0x01, 0x5e, 0xdc, 0x09, 0x3b, 0x8d, 0xc1, 0x49, 0xb4, 0xad, 0x2d, + 0xef, 0x00, 0xf6, 0x60, 0x8e, 0xde, 0x4f, 0x41, 0x69, 0xcf, 0x6f, 0x53, 0x9d, 0xf3, 0xab, 0x97, + 0xaa, 0x6c, 0x41, 0xd5, 0x68, 0x41, 0x55, 0xbe, 0xa0, 0x6a, 0x13, 0xf9, 0x41, 0xa3, 0xf6, 0xe5, + 0x93, 0xa5, 0x89, 0x2f, 0xfe, 0xb3, 0xf4, 0xf5, 0x8e, 0x4f, 0x0e, 0x06, 0x7b, 0x55, 0x0f, 0xf5, + 0x6a, 0x7c, 0xf5, 0xec, 0x7f, 0xdf, 0x08, 0xdb, 0x87, 0x35, 0x72, 0xd2, 0x87, 0x21, 0x05, 0x38, + 0x91, 0xd8, 0x1b, 0xb3, 0xbf, 0x78, 0xbc, 0x34, 0xf1, 0xbf, 0xc7, 0x4b, 0x13, 0xf6, 0x2a, 0x28, + 0xa7, 0xad, 0x8a, 0x4d, 0x36, 0x2f, 0x82, 0x99, 0x68, 0x53, 0xef, 0xb4, 0xa9, 0x71, 0x53, 0x0e, + 0x1f, 0xd9, 0x8f, 0x0c, 0x30, 0xbf, 0x13, 0x76, 0x3e, 0x42, 0x04, 0x46, 0xa8, 0x9c, 0x55, 0x24, + 0x12, 0x26, 0x65, 0x09, 0xe6, 0x5d, 0x30, 0x7b, 0x84, 0x08, 0xdc, 0x3d, 0xe9, 0x43, 0xba, 0x7d, + 0x0b, 0xab, 0xb5, 0xea, 0x58, 0x6e, 0x57, 0xfd, 0x88, 0xc3, 0x1c, 0x21, 0xc0, 0xde, 0x00, 0x2f, + 0x4b, 0xd6, 0x08, 0xeb, 0xdf, 0x06, 0x0b, 0xae, 0x8f, 0xdb, 0x18, 0xf5, 0x9b, 0x5d, 0xd7, 0xef, + 0x41, 0xb6, 0x8a, 0x59, 0x27, 0xf5, 0xd4, 0xfe, 0x9b, 0x01, 0xcc, 0x9d, 0xb0, 0xd3, 0x72, 0x8f, + 0x28, 0xbe, 0x89, 0x02, 0x02, 0x03, 0x52, 0x60, 0x51, 0x11, 0x82, 0x81, 0xe9, 0x9a, 0xce, 0x3b, + 0xf1, 0x30, 0x72, 0x95, 0x00, 0x11, 0x18, 0x96, 0xa7, 0x98, 0xab, 0xd0, 0x41, 0x24, 0xc7, 0xc5, + 0xc4, 0x0f, 0x49, 0x79, 0x9a, 0x3e, 0xe6, 0x23, 0xf3, 0x4d, 0x70, 0x61, 0xcf, 0xed, 0xba, 0x81, + 0x07, 0xeb, 0x81, 0x77, 0x80, 0x70, 0x79, 0x86, 0xda, 0xad, 0x3e, 0xb4, 0x37, 0x81, 0x35, 0x6c, + 0xb5, 0xf6, 0xe2, 0x7f, 0x04, 0x5e, 0xd8, 0x09, 0x3b, 0xbb, 0xd8, 0x0d, 0xc2, 0x7d, 0x88, 0x0b, + 0x7e, 0x4d, 0x0b, 0xcc, 0x62, 0xe8, 0x41, 0xff, 0x08, 0x62, 0xbe, 0x42, 0x31, 0xb6, 0x2f, 0x81, + 0x57, 0x53, 0x0a, 0x44, 0x44, 0x3c, 0x32, 0xa8, 0xf2, 0x4d, 0x14, 0xb8, 0x04, 0xee, 0xa2, 0x82, + 0xca, 0xb7, 0xc1, 0x8c, 0xdb, 0x43, 0x03, 0xbe, 0xe9, 0x73, 0x2c, 0x20, 0xfe, 0xfd, 0x64, 0xfc, + 0x80, 0xe0, 0x70, 0x6e, 0xa9, 0x6c, 0x8d, 0xb0, 0xf4, 0xc7, 0xf4, 0xbc, 0xa8, 0xb7, 0xdb, 0x75, + 0x4c, 0x8e, 0x11, 0x3e, 0x2c, 0x60, 0xe6, 0x22, 0x98, 0xf6, 0x7b, 0x6e, 0x07, 0x72, 0xd7, 0x60, + 0x83, 0x48, 0xce, 0xfe, 0xa0, 0xdb, 0xad, 0x63, 0x42, 0x37, 0x6e, 0xd6, 0x89, 0x87, 0xfc, 0x1c, + 0x49, 0x54, 0x0a, 0x5b, 0x7e, 0x40, 0x37, 0xad, 0x79, 0xe0, 0x06, 0x1d, 0x58, 0x67, 0x0e, 0x73, + 0xba, 0x35, 0x9b, 0x8a, 0x35, 0x9b, 0x92, 0xeb, 0x95, 0x64, 0xd7, 0xe3, 0x7b, 0x20, 0x0b, 0x17, + 0x7a, 0x57, 0xa8, 0x41, 0x0e, 0xec, 0xf8, 0x21, 0x81, 0xf8, 0x36, 0xc2, 0x4d, 0x76, 0xaa, 0x8f, + 0xd6, 0x6e, 0x2f, 0x81, 0xd7, 0x33, 0x21, 0x42, 0xe6, 0x3f, 0x0d, 0xb0, 0x40, 0x67, 0xf4, 0x11, + 0x26, 0x3b, 0x51, 0x0a, 0xc8, 0x3f, 0x89, 0x69, 0x96, 0x10, 0x5b, 0x1b, 0x0f, 0x4d, 0x1b, 0x9c, + 0xef, 0x77, 0xdd, 0x13, 0xd8, 0x8e, 0x3e, 0x5a, 0x58, 0x2f, 0x97, 0x96, 0x4b, 0x57, 0xa6, 0x1c, + 0xe5, 0x59, 0x6a, 0x4e, 0xa3, 0x3c, 0x35, 0x34, 0xa7, 0x61, 0xbe, 0x0f, 0xce, 0xa1, 0x01, 0xf1, + 0x50, 0x0f, 0xd2, 0x88, 0x5c, 0x58, 0xad, 0x8e, 0x79, 0x28, 0xdd, 0x63, 0x28, 0x27, 0x86, 0xdb, + 0xab, 0xe0, 0xa2, 0xba, 0x2e, 0x11, 0x98, 0xd2, 0x2a, 0x0c, 0x65, 0x15, 0xf6, 0x07, 0x14, 0x53, + 0xef, 0x23, 0x3f, 0x88, 0x31, 0x11, 0x3c, 0x37, 0x3b, 0xd1, 0xc8, 0x63, 0xb3, 0x78, 0x7a, 0x12, + 0x63, 0x7b, 0x19, 0x54, 0xb2, 0xe5, 0x89, 0xed, 0xff, 0x83, 0x01, 0xce, 0x8b, 0x64, 0xd5, 0x82, + 0x79, 0x8e, 0x64, 0x82, 0xa9, 0xc0, 0xed, 0x41, 0xae, 0x84, 0xfe, 0x1e, 0xe5, 0x44, 0xe6, 0x32, + 0x98, 0x0f, 0x09, 0xc2, 0x27, 0x1f, 0x63, 0x9f, 0x88, 0x13, 0x41, 0x7e, 0x14, 0x7d, 0x8c, 0xe8, + 0x68, 0xc4, 0xfe, 0xde, 0x80, 0x20, 0x1c, 0x96, 0xa7, 0x97, 0x4b, 0x57, 0xe6, 0x1c, 0xe5, 0x99, + 0x7d, 0x11, 0x2c, 0xca, 0xb6, 0x09, 0xa3, 0x3f, 0xa1, 0xfe, 0x5f, 0x6f, 0xd3, 0x8f, 0xb6, 0x8b, + 0xf2, 0xcd, 0x5e, 0x04, 0xd3, 0x21, 0x24, 0xc2, 0x63, 0xd8, 0x40, 0x8a, 0xd1, 0x92, 0x92, 0xd7, + 0x98, 0xf7, 0xcb, 0xa2, 0x85, 0xd6, 0xf7, 0xa8, 0xa3, 0xde, 0xf6, 0x03, 0xb7, 0xeb, 0x3f, 0x84, + 0x05, 0x94, 0xda, 0x65, 0xfa, 0x79, 0x25, 0x09, 0x42, 0x76, 0x13, 0xbc, 0xc4, 0x52, 0x70, 0x03, + 0xa1, 0x28, 0x50, 0xee, 0xbb, 0xde, 0xa1, 0xb6, 0xf8, 0x26, 0xb8, 0x34, 0x24, 0x44, 0x3b, 0x1b, + 0xfc, 0x90, 0xee, 0xb9, 0x03, 0x7b, 0x88, 0x65, 0x95, 0xdb, 0x18, 0xf5, 0x9e, 0xe7, 0x06, 0x57, + 0xc0, 0xe5, 0x2c, 0xf9, 0x62, 0x27, 0x5c, 0xf0, 0x5a, 0xf2, 0x3e, 0x71, 0x86, 0xa2, 0x66, 0x98, + 0x60, 0x2a, 0x2a, 0xc1, 0xb8, 0x7b, 0xd2, 0xdf, 0xf6, 0x5b, 0xe0, 0x6b, 0x39, 0x2a, 0x84, 0x25, + 0x9f, 0xb2, 0x60, 0x6c, 0xb7, 0xa5, 0x39, 0xc5, 0x9c, 0x2d, 0xcb, 0x08, 0x1e, 0x9a, 0xc3, 0xd2, + 0x85, 0xfe, 0xcf, 0x59, 0x51, 0x12, 0xbb, 0x7f, 0xb7, 0x7b, 0x6f, 0x7f, 0x3f, 0xf7, 0x24, 0x30, + 0xc1, 0x54, 0xb4, 0xc9, 0x5c, 0x37, 0xfd, 0x6d, 0x6e, 0x81, 0xe9, 0x3e, 0xf6, 0x3d, 0x58, 0x34, + 0x33, 0x32, 0xb4, 0x7d, 0x99, 0x56, 0x1a, 0x29, 0x53, 0x84, 0xa5, 0xef, 0x03, 0x90, 0x14, 0x90, + 0x39, 0x06, 0x46, 0xa7, 0x42, 0x0c, 0x16, 0x7b, 0x24, 0x3f, 0xb2, 0x17, 0xe9, 0x92, 0xb9, 0x24, + 0x21, 0xff, 0x3e, 0x7d, 0xca, 0x3e, 0xd8, 0x38, 0x1b, 0x71, 0xba, 0x1e, 0xb6, 0x9e, 0x94, 0x44, + 0xa1, 0xef, 0x01, 0xd5, 0x97, 0x24, 0xde, 0x62, 0x5f, 0x3d, 0x33, 0xdd, 0x73, 0xcd, 0x29, 0xd9, + 0x42, 0xf3, 0xf7, 0x69, 0x83, 0x50, 0x6f, 0xb7, 0x5b, 0xd1, 0x51, 0x59, 0x58, 0x2f, 0x3d, 0x68, + 0xe3, 0xa6, 0x84, 0x0e, 0x6c, 0x8b, 0x16, 0xf9, 0x8a, 0x64, 0xa1, 0xf5, 0x2f, 0xac, 0x2f, 0x69, + 0x41, 0x42, 0xb7, 0xdd, 0xc5, 0x3e, 0x39, 0x29, 0x56, 0xdf, 0x30, 0x73, 0x4a, 0xb2, 0x39, 0x77, + 0xc0, 0x0c, 0xa6, 0x12, 0x69, 0x16, 0x58, 0x58, 0x5d, 0x19, 0x33, 0xa1, 0x26, 0xa6, 0x38, 0x5c, + 0x00, 0x5f, 0x83, 0x62, 0xa6, 0x58, 0xc3, 0x26, 0x5d, 0x02, 0xf3, 0xd0, 0x53, 0xcb, 0x92, 0x51, + 0x4b, 0xe0, 0x1a, 0x14, 0x29, 0x42, 0xc3, 0x2f, 0x0d, 0xf6, 0x12, 0xf5, 0x7a, 0x3e, 0x49, 0xbd, + 0x3c, 0x2d, 0x3f, 0xb3, 0x59, 0x49, 0x7e, 0xe6, 0xa8, 0xcb, 0x60, 0x8e, 0x37, 0xc6, 0x62, 0xd7, + 0x92, 0x07, 0x66, 0x05, 0x80, 0x70, 0xd0, 0xe9, 0xc0, 0x90, 0xf8, 0x28, 0xe0, 0x39, 0x54, 0x7a, + 0x62, 0xdb, 0x60, 0x79, 0x94, 0x3d, 0xc2, 0xe8, 0xbf, 0x33, 0xa3, 0x1d, 0x78, 0x04, 0xdd, 0xee, + 0xf8, 0x46, 0xdf, 0x4d, 0x19, 0x3d, 0x7e, 0x73, 0x26, 0x2c, 0x48, 0x56, 0x79, 0x11, 0xcc, 0x84, + 0xd0, 0xc3, 0x50, 0x14, 0x09, 0x6c, 0xa4, 0xae, 0x7e, 0x2a, 0xb5, 0x7a, 0xbe, 0xba, 0x4c, 0xc3, + 0xc5, 0xea, 0xee, 0xd2, 0xb4, 0xe9, 0xc0, 0x90, 0xb8, 0x98, 0x9c, 0xfe, 0xd5, 0x15, 0x85, 0x93, + 0x69, 0x85, 0xaf, 0xd1, 0xf4, 0xa9, 0x0a, 0x13, 0x9a, 0xd6, 0x78, 0xda, 0x3a, 0x46, 0x87, 0x89, + 0x63, 0x44, 0x45, 0x2d, 0x76, 0xa3, 0x6f, 0x91, 0x53, 0x01, 0xbf, 0x0d, 0xde, 0xcc, 0x43, 0x0a, + 0x0d, 0x4f, 0x59, 0x2b, 0xd4, 0x44, 0xc1, 0xbe, 0x8f, 0x7b, 0xc5, 0x2b, 0x61, 0xa9, 0x82, 0x2d, + 0x9d, 0xa9, 0x82, 0x35, 0xbf, 0x07, 0x40, 0xd4, 0x60, 0xb3, 0xd2, 0x98, 0x56, 0xcb, 0xf3, 0x63, + 0x47, 0x6f, 0xcb, 0x0f, 0x3a, 0x5d, 0x18, 0x35, 0xe4, 0x8e, 0x24, 0x24, 0x6e, 0x2e, 0xa4, 0x35, + 0x8a, 0xf5, 0x6f, 0xd1, 0x6f, 0xd9, 0x82, 0xe4, 0x3e, 0x46, 0xfb, 0x7e, 0xb7, 0x20, 0xad, 0xc0, + 0xbf, 0xa2, 0x2a, 0x46, 0xe8, 0xd8, 0xa5, 0x07, 0xfb, 0xbd, 0x3e, 0x0c, 0xc6, 0xab, 0xb3, 0xa2, + 0x36, 0x3c, 0x99, 0x28, 0x74, 0xa9, 0x0f, 0xed, 0x6b, 0xf4, 0x48, 0x4f, 0x49, 0x55, 0x82, 0x8c, + 0x9a, 0x16, 0x96, 0x0d, 0xda, 0x70, 0xc4, 0x43, 0x9b, 0xd0, 0x02, 0x23, 0xee, 0x8b, 0x9f, 0xa3, + 0x45, 0x4a, 0x37, 0x5e, 0x4a, 0x75, 0xe3, 0xac, 0xf0, 0xc8, 0xd0, 0x2a, 0x76, 0xe9, 0x80, 0x96, + 0x80, 0x2d, 0x48, 0xa2, 0xff, 0xa4, 0x92, 0x5d, 0x37, 0x11, 0xa5, 0x9a, 0x80, 0xd2, 0x50, 0x13, + 0xc0, 0x8b, 0xc1, 0x21, 0x4d, 0xa9, 0x42, 0x9f, 0xbd, 0x3f, 0xb5, 0xd1, 0x1d, 0x59, 0x87, 0xe6, + 0xb4, 0xb9, 0xb2, 0x68, 0xa1, 0x75, 0x3b, 0xf6, 0xc4, 0x0f, 0x43, 0x88, 0x3f, 0x86, 0x7b, 0xa1, + 0x4f, 0x60, 0x7e, 0x28, 0x1e, 0xb3, 0x49, 0x31, 0x3d, 0xc8, 0x87, 0x89, 0x2f, 0x4a, 0x82, 0x84, + 0x96, 0x1d, 0x4a, 0x59, 0xf1, 0x97, 0x0d, 0x1f, 0x75, 0xb0, 0xdb, 0x3f, 0x38, 0xc9, 0x3f, 0xbd, + 0xf6, 0xe2, 0x69, 0x5c, 0x53, 0xf2, 0xc0, 0x7e, 0x9d, 0xd6, 0xcd, 0x69, 0x71, 0x42, 0xdb, 0x80, + 0xa6, 0xc7, 0x9d, 0x41, 0x97, 0xf8, 0x63, 0x70, 0x76, 0xdb, 0x60, 0xfa, 0x88, 0x92, 0x55, 0x93, + 0x45, 0x83, 0x9e, 0xe1, 0x79, 0x3e, 0x55, 0xd4, 0x0a, 0x93, 0x1e, 0xb3, 0xd6, 0x33, 0x8a, 0x9b, + 0x31, 0x4e, 0x3b, 0xda, 0xa5, 0xe3, 0x7a, 0xbc, 0xc5, 0x7c, 0x98, 0xbc, 0x69, 0xf0, 0xef, 0x1b, + 0x0f, 0x23, 0xef, 0xe3, 0x93, 0x36, 0xa1, 0x77, 0xc8, 0x9b, 0x7d, 0xf9, 0x51, 0x32, 0xa3, 0x41, + 0x67, 0x4c, 0xcb, 0x33, 0xe8, 0x23, 0xfb, 0x9b, 0x34, 0x12, 0x84, 0x85, 0x63, 0x74, 0xf0, 0x2d, + 0x4a, 0x13, 0x31, 0xb7, 0xfa, 0xc0, 0xcd, 0xa5, 0x77, 0x47, 0xf6, 0x0a, 0xb4, 0xcb, 0x2e, 0x25, + 0x5d, 0x36, 0x27, 0x82, 0x12, 0xa1, 0xa9, 0x96, 0x94, 0x73, 0x35, 0x5d, 0xdf, 0x0d, 0xf3, 0xd5, + 0x31, 0xae, 0x7a, 0x52, 0xe6, 0xaa, 0x59, 0x4b, 0x2a, 0x49, 0x90, 0x0a, 0xaa, 0x68, 0xed, 0x77, + 0x82, 0x23, 0x9f, 0xc0, 0x2d, 0x17, 0x77, 0x4f, 0xea, 0x9e, 0x07, 0xc3, 0x30, 0xbf, 0xff, 0x18, + 0x24, 0x24, 0x39, 0x6b, 0x73, 0x58, 0x84, 0x0f, 0x49, 0x91, 0x62, 0x8d, 0x32, 0x6e, 0x7e, 0xe8, + 0x9f, 0x51, 0xd1, 0x1b, 0x60, 0x69, 0x84, 0x20, 0xa1, 0xeb, 0xbb, 0x6c, 0xad, 0x28, 0x08, 0xa0, + 0x47, 0x1e, 0x40, 0x97, 0x4e, 0x40, 0x83, 0x5c, 0xa2, 0xb7, 0x0c, 0xce, 0x3d, 0x8c, 0x66, 0xf2, + 0xcf, 0x34, 0xe7, 0xc4, 0x43, 0x7e, 0x8e, 0x66, 0x48, 0x8b, 0xf5, 0xad, 0xfe, 0x63, 0x05, 0x94, + 0x76, 0xc2, 0x8e, 0xf9, 0x53, 0x03, 0x00, 0xe9, 0xa2, 0xe1, 0x9d, 0x31, 0xa3, 0x49, 0xb9, 0x43, + 0xb0, 0xbe, 0x55, 0x04, 0x25, 0x1c, 0xf6, 0x73, 0x03, 0x5c, 0x50, 0xaf, 0x1d, 0xae, 0x8f, 0x2f, + 0x4f, 0x01, 0x5a, 0xb7, 0x0a, 0x02, 0x85, 0x2d, 0x0f, 0xc1, 0xac, 0x38, 0x82, 0x56, 0xc7, 0x17, + 0x16, 0x63, 0xac, 0x1b, 0xfa, 0x18, 0xa1, 0xfb, 0x57, 0x06, 0x78, 0x21, 0xcd, 0xf2, 0xaf, 0x8f, + 0x2f, 0x2f, 0x05, 0xb5, 0xea, 0x85, 0xa1, 0xc2, 0xa2, 0x9f, 0x1b, 0xe0, 0xbc, 0xc2, 0xbd, 0x5f, + 0x1b, 0x5f, 0xa6, 0x8c, 0xb3, 0xbe, 0x5d, 0x0c, 0xa7, 0x18, 0xa2, 0xf0, 0xf0, 0x1a, 0x86, 0xc8, + 0x38, 0x1d, 0x43, 0xb2, 0x98, 0x76, 0x1a, 0x2e, 0x12, 0xcf, 0xae, 0x11, 0x2e, 0x09, 0x4a, 0x27, + 0x5c, 0x86, 0x09, 0x76, 0xba, 0x17, 0x0a, 0xbd, 0xae, 0xb1, 0x17, 0x32, 0x4e, 0x67, 0x2f, 0xb2, + 0x18, 0x77, 0xf3, 0xf7, 0x06, 0x30, 0x33, 0xf8, 0x76, 0x8d, 0xd5, 0x0d, 0xa3, 0xad, 0xcd, 0xb3, + 0xa0, 0x85, 0x69, 0x3f, 0x33, 0xc0, 0xbc, 0xcc, 0xda, 0xbf, 0xab, 0x23, 0x55, 0xc0, 0xac, 0x8d, + 0x42, 0x30, 0x61, 0xc5, 0x1f, 0x0d, 0xf0, 0x72, 0x16, 0x5f, 0xae, 0x21, 0x36, 0x03, 0x6e, 0x6d, + 0x9d, 0x09, 0x2e, 0xac, 0xfb, 0x09, 0x98, 0x4b, 0x98, 0xf5, 0xab, 0xba, 0x27, 0x78, 0x0b, 0x12, + 0xeb, 0x66, 0x01, 0x90, 0xe2, 0xc6, 0x0a, 0x4b, 0x7e, 0x4d, 0x2b, 0x2a, 0x04, 0x4e, 0xc7, 0x8d, + 0xb3, 0xa8, 0x73, 0xea, 0x2b, 0x32, 0x71, 0xae, 0xe1, 0x2b, 0x12, 0x4c, 0xc7, 0x57, 0x32, 0x48, + 0x76, 0xf3, 0x91, 0x01, 0x16, 0x52, 0x14, 0xfb, 0x9a, 0x56, 0x32, 0x93, 0x90, 0xd6, 0x7b, 0x45, + 0x91, 0xc2, 0x9c, 0xdf, 0x19, 0xe0, 0xa5, 0x61, 0x9e, 0xfd, 0xa6, 0x4e, 0x3c, 0xa4, 0xc0, 0x56, + 0xf3, 0x0c, 0x60, 0x61, 0xd7, 0x17, 0x06, 0x28, 0x8f, 0xe4, 0xdf, 0x1b, 0xda, 0x1a, 0x86, 0x64, + 0x58, 0xdf, 0x39, 0xbb, 0x0c, 0x35, 0xfe, 0x33, 0x28, 0xfa, 0x0d, 0x3d, 0x8f, 0x4d, 0xc1, 0xb5, + 0xe2, 0x7f, 0x34, 0x85, 0x4f, 0xcb, 0x8d, 0x34, 0x7f, 0xbf, 0xae, 0x1f, 0xd1, 0x1c, 0xaa, 0x53, + 0x6e, 0x8c, 0xa0, 0xea, 0xcd, 0x63, 0x70, 0x2e, 0xe6, 0xe9, 0x57, 0xb4, 0x0b, 0x39, 0x6b, 0x5d, + 0x1b, 0xa2, 0x6c, 0x45, 0x9a, 0xc1, 0x5f, 0xd7, 0x75, 0x84, 0x42, 0x5b, 0x31, 0x82, 0xe5, 0xa7, + 0x16, 0xa5, 0x39, 0xfe, 0xf5, 0x22, 0x65, 0x03, 0x73, 0x99, 0x7a, 0x61, 0xa8, 0x52, 0xa5, 0xab, + 0xdc, 0xff, 0x75, 0x2d, 0xa1, 0x09, 0x50, 0xa7, 0x4a, 0xcf, 0xbc, 0x13, 0xa0, 0xb6, 0xa8, 0x17, + 0x02, 0x1a, 0xb6, 0x28, 0x40, 0x1d, 0x5b, 0x32, 0xb9, 0x7d, 0x6a, 0x8b, 0xca, 0xec, 0x5f, 0xd7, + 0x8d, 0x84, 0xb8, 0xf6, 0xb9, 0x55, 0x10, 0x28, 0x6c, 0xf9, 0xb3, 0x01, 0x5e, 0xc9, 0xbe, 0x02, + 0xd0, 0x11, 0x9d, 0x25, 0xc0, 0xda, 0x3e, 0xa3, 0x00, 0xc5, 0xc6, 0x6c, 0xc6, 0xff, 0x96, 0x4e, + 0xd8, 0x64, 0x08, 0xd0, 0xb1, 0x31, 0x97, 0xba, 0xa7, 0xc9, 0x38, 0x45, 0xdc, 0xaf, 0xe9, 0xc8, + 0x96, 0x91, 0x3a, 0xc9, 0x38, 0x9b, 0xdf, 0x37, 0xff, 0x6a, 0x80, 0x4b, 0xa3, 0xd9, 0x7d, 0xad, + 0xbc, 0x3a, 0x42, 0x88, 0x75, 0xf7, 0x39, 0x08, 0x51, 0x3b, 0x14, 0xf9, 0xaa, 0x40, 0xa7, 0x43, + 0x91, 0x70, 0x5a, 0x1d, 0x4a, 0x06, 0x6d, 0x4f, 0xbf, 0x63, 0x8a, 0xb4, 0x5f, 0xd3, 0x8a, 0x77, + 0x09, 0xa9, 0xf3, 0x1d, 0xb3, 0x19, 0x7e, 0x7a, 0xa8, 0xa7, 0xf9, 0x7d, 0x8d, 0x43, 0x3d, 0x05, + 0xd5, 0x39, 0xd4, 0x47, 0xf1, 0xff, 0x51, 0x85, 0x92, 0xc5, 0xf1, 0x6f, 0xe8, 0xf7, 0xeb, 0xb2, + 0x65, 0x5b, 0x67, 0x82, 0x2b, 0x45, 0xe8, 0x30, 0xd3, 0x7f, 0x53, 0xeb, 0x3b, 0xa8, 0x60, 0x9d, + 0x22, 0x74, 0x24, 0xf3, 0x4f, 0xfd, 0x5b, 0xe1, 0xfd, 0xaf, 0xe9, 0x4a, 0xd5, 0xef, 0xc0, 0xb3, + 0x2e, 0x03, 0x62, 0xff, 0x96, 0xaf, 0x02, 0xf4, 0xfc, 0x5b, 0x42, 0x6a, 0xfa, 0x77, 0xc6, 0xad, + 0x81, 0xf9, 0x1b, 0x03, 0xbc, 0x38, 0x74, 0x67, 0x70, 0x43, 0x5b, 0xac, 0xc0, 0x5a, 0x8d, 0xe2, + 0x58, 0x25, 0x3f, 0xab, 0x57, 0x0b, 0x1a, 0xf9, 0x59, 0x01, 0xea, 0xe4, 0xe7, 0xcc, 0x5b, 0x85, + 0xa8, 0xe5, 0x4e, 0x6e, 0x14, 0xae, 0xea, 0x85, 0x2f, 0x3b, 0x11, 0x6f, 0x16, 0x00, 0x29, 0xe4, + 0x95, 0xc4, 0xfe, 0xbf, 0xa3, 0xeb, 0x7d, 0x11, 0x4a, 0x87, 0xbc, 0x1a, 0xbe, 0x14, 0xa0, 0xcd, + 0xb6, 0x7c, 0x25, 0xf0, 0xae, 0x36, 0x07, 0x15, 0xc1, 0x74, 0x9a, 0xed, 0x8c, 0xeb, 0x03, 0x7a, + 0xb0, 0x0c, 0x5f, 0x1e, 0x68, 0xec, 0xed, 0x10, 0x58, 0xe7, 0x60, 0x19, 0x79, 0xe1, 0x60, 0xfe, + 0xc9, 0x00, 0x8b, 0x99, 0xd7, 0x0d, 0x3a, 0xb4, 0x65, 0x06, 0xde, 0xba, 0x7d, 0x36, 0xbc, 0x92, + 0x2f, 0xb2, 0xee, 0x28, 0x36, 0xb4, 0x12, 0x75, 0x1a, 0xae, 0x93, 0x2f, 0x72, 0xee, 0x34, 0x1a, + 0xce, 0x97, 0x4f, 0x2b, 0xc6, 0x57, 0x4f, 0x2b, 0xc6, 0x7f, 0x9f, 0x56, 0x8c, 0x5f, 0x3f, 0xab, + 0x4c, 0x7c, 0xf5, 0xac, 0x32, 0xf1, 0xaf, 0x67, 0x95, 0x89, 0x07, 0x6b, 0xd2, 0x3f, 0x29, 0x1b, + 0x52, 0x55, 0x6b, 0x8a, 0xbf, 0xd1, 0xf8, 0x4c, 0xfe, 0x83, 0x93, 0x93, 0x3e, 0x0c, 0xf7, 0x66, + 0xe8, 0x5f, 0x64, 0x5c, 0xfd, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb4, 0x5a, 0xa1, 0xc1, 0x94, + 0x32, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -4448,6 +4542,7 @@ type MsgClient interface { ChangeAlias(ctx context.Context, in *MsgChangeAlias, opts ...grpc.CallOption) (*MsgChangeAliasResponse, error) InviteEarlyAccess(ctx context.Context, in *MsgInviteEarlyAccess, opts ...grpc.CallOption) (*MsgInviteEarlyAccessResponse, error) DisinviteEarlyAccess(ctx context.Context, in *MsgDisinviteEarlyAccess, opts ...grpc.CallOption) (*MsgDisinviteEarlyAccessResponse, error) + ConnectZealyAccount(ctx context.Context, in *MsgConnectZealyAccount, opts ...grpc.CallOption) (*MsgConnectZealyAccountResponse, error) } type msgClient struct { @@ -4845,6 +4940,15 @@ func (c *msgClient) DisinviteEarlyAccess(ctx context.Context, in *MsgDisinviteEa return out, nil } +func (c *msgClient) ConnectZealyAccount(ctx context.Context, in *MsgConnectZealyAccount, opts ...grpc.CallOption) (*MsgConnectZealyAccountResponse, error) { + out := new(MsgConnectZealyAccountResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/ConnectZealyAccount", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { Createuser(context.Context, *MsgCreateuser) (*MsgCreateuserResponse, error) @@ -4891,6 +4995,7 @@ type MsgServer interface { ChangeAlias(context.Context, *MsgChangeAlias) (*MsgChangeAliasResponse, error) InviteEarlyAccess(context.Context, *MsgInviteEarlyAccess) (*MsgInviteEarlyAccessResponse, error) DisinviteEarlyAccess(context.Context, *MsgDisinviteEarlyAccess) (*MsgDisinviteEarlyAccessResponse, error) + ConnectZealyAccount(context.Context, *MsgConnectZealyAccount) (*MsgConnectZealyAccountResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -5026,6 +5131,9 @@ func (*UnimplementedMsgServer) InviteEarlyAccess(ctx context.Context, req *MsgIn func (*UnimplementedMsgServer) DisinviteEarlyAccess(ctx context.Context, req *MsgDisinviteEarlyAccess) (*MsgDisinviteEarlyAccessResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DisinviteEarlyAccess not implemented") } +func (*UnimplementedMsgServer) ConnectZealyAccount(ctx context.Context, req *MsgConnectZealyAccount) (*MsgConnectZealyAccountResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ConnectZealyAccount not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -5805,6 +5913,24 @@ func _Msg_DisinviteEarlyAccess_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Msg_ConnectZealyAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgConnectZealyAccount) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ConnectZealyAccount(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/ConnectZealyAccount", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ConnectZealyAccount(ctx, req.(*MsgConnectZealyAccount)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "DecentralCardGame.cardchain.cardchain.Msg", HandlerType: (*MsgServer)(nil), @@ -5981,6 +6107,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "DisinviteEarlyAccess", Handler: _Msg_DisinviteEarlyAccess_Handler, }, + { + MethodName: "ConnectZealyAccount", + Handler: _Msg_ConnectZealyAccount_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", @@ -8887,6 +9017,66 @@ func (m *MsgDisinviteEarlyAccessResponse) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } +func (m *MsgConnectZealyAccount) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgConnectZealyAccount) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgConnectZealyAccount) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ZealyId) > 0 { + i -= len(m.ZealyId) + copy(dAtA[i:], m.ZealyId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ZealyId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgConnectZealyAccountResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgConnectZealyAccountResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgConnectZealyAccountResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -10161,6 +10351,32 @@ func (m *MsgDisinviteEarlyAccessResponse) Size() (n int) { return n } +func (m *MsgConnectZealyAccount) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ZealyId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgConnectZealyAccountResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -18269,6 +18485,170 @@ func (m *MsgDisinviteEarlyAccessResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgConnectZealyAccount) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgConnectZealyAccount: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgConnectZealyAccount: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + 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 ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ZealyId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + 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 ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ZealyId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgConnectZealyAccountResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgConnectZealyAccountResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgConnectZealyAccountResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go new file mode 100644 index 00000000..9be91a0e --- /dev/null +++ b/x/cardchain/types/zealy.pb.go @@ -0,0 +1,366 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/zealy.proto + +package types + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type Zealy struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + ZealyId string `protobuf:"bytes,2,opt,name=zealyId,proto3" json:"zealyId,omitempty"` +} + +func (m *Zealy) Reset() { *m = Zealy{} } +func (m *Zealy) String() string { return proto.CompactTextString(m) } +func (*Zealy) ProtoMessage() {} +func (*Zealy) Descriptor() ([]byte, []int) { + return fileDescriptor_1558e1909559da0f, []int{0} +} +func (m *Zealy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Zealy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Zealy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Zealy) XXX_Merge(src proto.Message) { + xxx_messageInfo_Zealy.Merge(m, src) +} +func (m *Zealy) XXX_Size() int { + return m.Size() +} +func (m *Zealy) XXX_DiscardUnknown() { + xxx_messageInfo_Zealy.DiscardUnknown(m) +} + +var xxx_messageInfo_Zealy proto.InternalMessageInfo + +func (m *Zealy) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func (m *Zealy) GetZealyId() string { + if m != nil { + return m.ZealyId + } + return "" +} + +func init() { + proto.RegisterType((*Zealy)(nil), "DecentralCardGame.cardchain.cardchain.Zealy") +} + +func init() { proto.RegisterFile("cardchain/cardchain/zealy.proto", fileDescriptor_1558e1909559da0f) } + +var fileDescriptor_1558e1909559da0f = []byte{ + // 172 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xaa, 0x52, 0x13, 0x73, 0x2a, 0xf5, 0x0a, 0x8a, + 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x5d, 0x52, 0x93, 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x9c, 0x13, + 0x8b, 0x52, 0xdc, 0x13, 0x73, 0x53, 0xf5, 0xe0, 0x0a, 0x11, 0x2c, 0x25, 0x6b, 0x2e, 0xd6, 0x28, + 0x90, 0x2e, 0x21, 0x09, 0x2e, 0xf6, 0xc4, 0x94, 0x94, 0xa2, 0xd4, 0xe2, 0x62, 0x09, 0x46, 0x05, + 0x46, 0x0d, 0xce, 0x20, 0x18, 0x17, 0x24, 0x03, 0x36, 0xd8, 0x33, 0x45, 0x82, 0x09, 0x22, 0x03, + 0xe5, 0x3a, 0x05, 0x9d, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, + 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70, 0xe3, 0xb1, 0x1c, 0x43, 0x94, 0x45, 0x7a, + 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x3e, 0x86, 0x43, 0xf4, 0x9d, 0xe1, 0x2e, + 0xae, 0x40, 0x72, 0x7d, 0x49, 0x65, 0x41, 0x6a, 0x71, 0x12, 0x1b, 0xd8, 0xf9, 0xc6, 0x80, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x60, 0x21, 0x6b, 0x02, 0xe1, 0x00, 0x00, 0x00, +} + +func (m *Zealy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Zealy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Zealy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ZealyId) > 0 { + i -= len(m.ZealyId) + copy(dAtA[i:], m.ZealyId) + i = encodeVarintZealy(dAtA, i, uint64(len(m.ZealyId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintZealy(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintZealy(dAtA []byte, offset int, v uint64) int { + offset -= sovZealy(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Zealy) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovZealy(uint64(l)) + } + l = len(m.ZealyId) + if l > 0 { + n += 1 + l + sovZealy(uint64(l)) + } + return n +} + +func sovZealy(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozZealy(x uint64) (n int) { + return sovZealy(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Zealy) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowZealy + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Zealy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Zealy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowZealy + } + 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 ErrInvalidLengthZealy + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthZealy + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ZealyId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowZealy + } + 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 ErrInvalidLengthZealy + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthZealy + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ZealyId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipZealy(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthZealy + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipZealy(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowZealy + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowZealy + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowZealy + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthZealy + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupZealy + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthZealy + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthZealy = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowZealy = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupZealy = fmt.Errorf("proto: unexpected end of group") +)