From 2146e970ee168e53373b1da2d37c9d702a734df7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Duffeck?= Date: Fri, 6 Mar 2026 14:56:27 +0100 Subject: [PATCH 1/2] Bump reva --- go.mod | 22 +- go.sum | 48 +- vendor/filippo.io/edwards25519/extra.go | 1 + .../circl/internal/sha3/xor_unaligned.go | 6 +- .../github.com/cloudflare/circl/sign/sign.go | 6 + .../cs3/app/provider/v1beta1/resources.pb.go | 50 +- .../cs3/gateway/v1beta1/gateway_api.pb.go | 2818 +++++++++-------- .../gateway/v1beta1/gateway_api_grpc.pb.go | 303 +- .../cs3/gateway/v1beta1/resources.pb.go | 330 +- .../identity/group/v1beta1/group_api.pb.go | 436 ++- .../group/v1beta1/group_api_grpc.pb.go | 6 +- .../cs3/identity/user/v1beta1/user_api.pb.go | 191 +- .../identity/user/v1beta1/user_api_grpc.pb.go | 8 +- .../ocm/core/v1beta1/ocm_core_api_grpc.pb.go | 18 +- .../incoming/v1beta1/ocm_incoming_api.pb.go | 957 ++++++ .../v1beta1/ocm_incoming_api_grpc.pb.go | 211 ++ .../cs3/sharing/ocm/v1beta1/ocm_api.pb.go | 726 +++-- .../sharing/ocm/v1beta1/ocm_api_grpc.pb.go | 48 +- .../cs3/sharing/ocm/v1beta1/resources.pb.go | 1028 +++--- vendor/github.com/mattn/go-sqlite3/README.md | 1 + .../mattn/go-sqlite3/sqlite3-binding.c | 158 +- .../mattn/go-sqlite3/sqlite3-binding.h | 10 +- .../go-sqlite3/sqlite3_opt_percentile.go | 15 + .../applicationauth/applicationauth.go | 5 +- .../grpc/services/gateway/ocmshareprovider.go | 29 +- .../services/groupprovider/groupprovider.go | 6 +- .../ocmshareprovider/ocmshareprovider.go | 34 - .../storageprovider/storageprovider.go | 6 +- .../services/userprovider/userprovider.go | 6 +- .../v2/internal/http/interceptors/log/log.go | 6 +- .../internal/http/services/ocmd/protocols.go | 13 - .../http/services/owncloud/ocdav/dav.go | 4 +- .../http/services/owncloud/ocdav/delete.go | 4 +- .../http/services/owncloud/ocdav/locks.go | 14 +- .../http/services/owncloud/ocdav/mkcol.go | 8 +- .../owncloud/ocdav/propfind/propfind.go | 2 +- .../http/services/owncloud/ocdav/proppatch.go | 4 +- .../http/services/owncloud/ocdav/report.go | 8 +- .../http/services/owncloud/ocdav/tpc.go | 2 +- .../services/owncloud/ocdav/validation.go | 13 +- .../handlers/apps/sharing/sharees/sharees.go | 23 +- .../handlers/apps/sharing/shares/shares.go | 23 +- .../ocs/handlers/cloud/users/users.go | 6 +- .../reva/v2/pkg/app/provider/wopi/wopi.go | 5 +- .../reva/v2/pkg/app/registry/micro/manager.go | 2 +- .../reva/v2/pkg/appauth/manager/json/json.go | 2 +- .../v2/pkg/appauth/manager/jsoncs3/jsoncs3.go | 79 +- .../v2/pkg/auth/registry/static/static.go | 2 +- .../reva/v2/pkg/cbox/share/sql/sql.go | 4 +- .../reva/v2/pkg/cbox/utils/conversions.go | 5 +- .../reva/v2/pkg/conversions/main.go | 9 +- .../reva/v2/pkg/conversions/permissions.go | 2 +- .../v2/pkg/eosclient/eosbinary/eosbinary.go | 15 +- .../exchangers/exporters/metrics/metrics.go | 9 +- .../reva/v2/pkg/metrics/driver/json/json.go | 2 +- .../v2/pkg/ocm/share/repository/json/json.go | 25 +- .../share/repository/nextcloud/nextcloud.go | 2 +- .../reva/v2/pkg/ocm/share/utils.go | 22 - .../reva/v2/pkg/ocm/storage/received/ocm.go | 2 +- .../v2/pkg/ocm/storage/received/upload.go | 6 +- .../v2/pkg/publicshare/manager/json/json.go | 2 +- .../manager/owncloudsql/conversions.go | 5 +- .../v2/pkg/share/manager/jsoncs3/jsoncs3.go | 2 +- .../share/manager/owncloudsql/conversions.go | 3 +- .../share/manager/owncloudsql/owncloudsql.go | 12 +- .../reva/v2/pkg/siteacc/endpoints.go | 4 +- .../reva/v2/pkg/siteacc/siteacc.go | 2 +- .../reva/v2/pkg/storage/cache/cache.go | 4 +- .../v2/pkg/storage/fs/hello/unimplemented.go | 2 + .../pkg/storage/fs/owncloudsql/owncloudsql.go | 4 +- .../v2/pkg/storage/fs/owncloudsql/upload.go | 7 +- .../v2/pkg/storage/fs/posix/lookup/lookup.go | 8 +- .../pkg/storage/fs/posix/tree/assimilation.go | 36 +- .../v2/pkg/storage/pkg/decomposedfs/grants.go | 8 +- .../storage/pkg/decomposedfs/lookup/lookup.go | 3 +- .../v2/pkg/storage/pkg/decomposedfs/spaces.go | 12 +- .../reva/v2/pkg/storage/storage.go | 2 + .../reva/v2/pkg/storage/uploads.go | 1 + .../reva/v2/pkg/storage/utils/acl/acl.go | 2 +- .../pkg/storage/utils/decomposedfs/grants.go | 8 +- .../utils/decomposedfs/lookup/lookup.go | 2 +- .../utils/decomposedfs/migrator/migrator.go | 2 +- .../pkg/storage/utils/decomposedfs/spaces.go | 12 +- .../reva/v2/pkg/storage/utils/eosfs/eosfs.go | 6 +- .../v2/pkg/storage/utils/localfs/localfs.go | 15 +- .../reva/v2/pkg/storage/utils/metadata/cs3.go | 6 + .../storage/utils/middleware/middleware.go | 4 +- .../opencloud-eu/reva/v2/pkg/store/store.go | 5 +- .../opencloud-eu/reva/v2/pkg/utils/grpc.go | 1 + .../reva/v2/pkg/utils/ldap/identity.go | 4 +- .../tests/cs3mocks/mocks/GatewayAPIClient.go | 294 ++ .../go.etcd.io/etcd/api/v3/version/version.go | 2 +- .../internal/observ/instrumentation.go | 32 +- .../otlptracegrpc/internal/version.go | 2 +- .../otel/exporters/otlp/otlptrace/version.go | 2 +- .../otel/sdk/resource/host_id_readfile.go | 2 +- .../go.opentelemetry.io/otel/sdk/version.go | 2 +- vendor/modules.txt | 23 +- 98 files changed, 5480 insertions(+), 2869 deletions(-) create mode 100644 vendor/github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1/ocm_incoming_api.pb.go create mode 100644 vendor/github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1/ocm_incoming_api_grpc.pb.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_opt_percentile.go diff --git a/go.mod b/go.mod index b6f11c67e1..bd31797ee4 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/blevesearch/bleve/v2 v2.5.7 github.com/cenkalti/backoff v2.2.1+incompatible github.com/coreos/go-oidc/v3 v3.17.0 - github.com/cs3org/go-cs3apis v0.0.0-20250908152307-4ca807afe54e + github.com/cs3org/go-cs3apis v0.0.0-20260130145416-2dc593dc27e7 github.com/davidbyttow/govips/v2 v2.17.0 github.com/dhowden/tag v0.0.0-20240417053706-3d75831295e8 github.com/dutchcoders/go-clamd v0.0.0-20170520113014-b970184f4d9e @@ -65,7 +65,7 @@ require ( github.com/open-policy-agent/opa v1.13.2 github.com/opencloud-eu/icap-client v0.0.0-20250930132611-28a2afe62d89 github.com/opencloud-eu/libre-graph-api-go v1.0.8-0.20260204102724-10bcda1b3068 - github.com/opencloud-eu/reva/v2 v2.42.4 + github.com/opencloud-eu/reva/v2 v2.42.5-0.20260306135406-7dc643429c82 github.com/opensearch-project/opensearch-go/v4 v4.6.0 github.com/orcaman/concurrent-map v1.0.0 github.com/pkg/errors v0.9.1 @@ -99,9 +99,9 @@ require ( go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.65.0 go.opentelemetry.io/contrib/zpages v0.65.0 go.opentelemetry.io/otel v1.41.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.41.0 go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.40.0 - go.opentelemetry.io/otel/sdk v1.40.0 + go.opentelemetry.io/otel/sdk v1.41.0 go.opentelemetry.io/otel/trace v1.41.0 golang.org/x/crypto v0.48.0 golang.org/x/exp v0.0.0-20250210185358-939b2ce775ac @@ -122,7 +122,7 @@ require ( require ( contrib.go.opencensus.io/exporter/prometheus v0.4.2 // indirect - filippo.io/edwards25519 v1.1.0 // indirect + filippo.io/edwards25519 v1.1.1 // indirect github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect github.com/BurntSushi/toml v1.6.0 // indirect @@ -169,7 +169,7 @@ require ( github.com/clipperhouse/displaywidth v0.6.2 // indirect github.com/clipperhouse/stringish v0.1.1 // indirect github.com/clipperhouse/uax29/v2 v2.3.0 // indirect - github.com/cloudflare/circl v1.6.1 // indirect + github.com/cloudflare/circl v1.6.3 // indirect github.com/containerd/errdefs v1.0.0 // indirect github.com/containerd/errdefs/pkg v0.3.0 // indirect github.com/containerd/log v0.1.0 // indirect @@ -283,7 +283,7 @@ require ( github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.19 // indirect - github.com/mattn/go-sqlite3 v1.14.33 // indirect + github.com/mattn/go-sqlite3 v1.14.34 // indirect github.com/maxymania/go-system v0.0.0-20170110133659-647cc364bf0b // indirect github.com/mendsley/gojwk v0.0.0-20141217222730-4d5ec6e58103 // indirect github.com/miekg/dns v1.1.68 // indirect @@ -378,12 +378,12 @@ require ( github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect github.com/yashtewari/glob-intersection v0.2.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.etcd.io/etcd/api/v3 v3.6.7 // indirect - go.etcd.io/etcd/client/pkg/v3 v3.6.7 // indirect - go.etcd.io/etcd/client/v3 v3.6.7 // indirect + go.etcd.io/etcd/api/v3 v3.6.8 // indirect + go.etcd.io/etcd/client/pkg/v3 v3.6.8 // indirect + go.etcd.io/etcd/client/v3 v3.6.8 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.41.0 // indirect go.opentelemetry.io/otel/metric v1.41.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.uber.org/multierr v1.11.0 // indirect diff --git a/go.sum b/go.sum index b3c7adbece..1eee4e44be 100644 --- a/go.sum +++ b/go.sum @@ -39,8 +39,8 @@ contrib.go.opencensus.io/exporter/prometheus v0.4.2/go.mod h1:dvEHbiKmgvbr5pjaF9 dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= -filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= +filippo.io/edwards25519 v1.1.1 h1:YpjwWWlNmGIDyXOn8zLzqiD+9TyIlPhGFG96P39uBpw= +filippo.io/edwards25519 v1.1.1/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/Acconut/go-httptest-recorder v1.0.0 h1:TAv2dfnqp/l+SUvIaMAUK4GeN4+wqb6KZsFFFTGhoJg= github.com/Acconut/go-httptest-recorder v1.0.0/go.mod h1:CwQyhTH1kq/gLyWiRieo7c0uokpu3PXeyF/nZjUNtmM= github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk= @@ -229,8 +229,8 @@ github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfa github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA= github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4= github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= -github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= -github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= +github.com/cloudflare/circl v1.6.3 h1:9GPOhQGF9MCYUeXyMYlqTR6a5gTrgR/fBLXvUgtVcg8= +github.com/cloudflare/circl v1.6.3/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4= github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= @@ -269,8 +269,8 @@ github.com/crewjam/httperr v0.2.0 h1:b2BfXR8U3AlIHwNeFFvZ+BV1LFvKLlzMjzaTnZMybNo github.com/crewjam/httperr v0.2.0/go.mod h1:Jlz+Sg/XqBQhyMjdDiC+GNNRzZTD7x39Gu3pglZ5oH4= github.com/crewjam/saml v0.4.14 h1:g9FBNx62osKusnFzs3QTN5L9CVA/Egfgm+stJShzw/c= github.com/crewjam/saml v0.4.14/go.mod h1:UVSZCf18jJkk6GpWNVqcyQJMD5HsRugBPf4I1nl2mME= -github.com/cs3org/go-cs3apis v0.0.0-20250908152307-4ca807afe54e h1:fC/BWMVWNFlSbzvSp2xTaH0qpJiq7ScRrOsCzpgi1xI= -github.com/cs3org/go-cs3apis v0.0.0-20250908152307-4ca807afe54e/go.mod h1:DedpcqXl193qF/08Y04IO0PpxyyMu8+GrkD6kWK2MEQ= +github.com/cs3org/go-cs3apis v0.0.0-20260130145416-2dc593dc27e7 h1:ez+InorrZ2HXkPmPeeDstPSTkjNmySUZXaT7xEJNOkk= +github.com/cs3org/go-cs3apis v0.0.0-20260130145416-2dc593dc27e7/go.mod h1:DedpcqXl193qF/08Y04IO0PpxyyMu8+GrkD6kWK2MEQ= github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= github.com/cyphar/filepath-securejoin v0.5.1 h1:eYgfMq5yryL4fbWfkLpFFy2ukSELzaJOTaUTuh+oF48= github.com/cyphar/filepath-securejoin v0.5.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= @@ -833,8 +833,8 @@ github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw= github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= -github.com/mattn/go-sqlite3 v1.14.33 h1:A5blZ5ulQo2AtayQ9/limgHEkFreKj1Dv226a1K73s0= -github.com/mattn/go-sqlite3 v1.14.33/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/mattn/go-sqlite3 v1.14.34 h1:3NtcvcUnFBPsuRcno8pUtupspG/GM+9nZ88zgJcp6Zk= +github.com/mattn/go-sqlite3 v1.14.34/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/mattn/go-tty v0.0.0-20180219170247-931426f7535a/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -965,8 +965,8 @@ github.com/opencloud-eu/inotifywaitgo v0.0.0-20251111171128-a390bae3c5e9 h1:dIft github.com/opencloud-eu/inotifywaitgo v0.0.0-20251111171128-a390bae3c5e9/go.mod h1:JWyDC6H+5oZRdUJUgKuaye+8Ph5hEs6HVzVoPKzWSGI= github.com/opencloud-eu/libre-graph-api-go v1.0.8-0.20260204102724-10bcda1b3068 h1:i09YEVYbiUBMhxyak93REn/ZJOTRhAN4I3PXp2nCXgU= github.com/opencloud-eu/libre-graph-api-go v1.0.8-0.20260204102724-10bcda1b3068/go.mod h1:pzatilMEHZFT3qV7C/X3MqOa3NlRQuYhlRhZTL+hN6Q= -github.com/opencloud-eu/reva/v2 v2.42.4 h1:e1jNg5IGtRul7JUnrqMIa4lYFjAfbGzNZaSSJL/4h5U= -github.com/opencloud-eu/reva/v2 v2.42.4/go.mod h1:uYGfaWGUxQOKnLSbu8tFUHBz2AFib263VGfyapuxILA= +github.com/opencloud-eu/reva/v2 v2.42.5-0.20260306135406-7dc643429c82 h1:6KovbISmxW54FEKy/1TOSYDA7SZ035pOA6ZNHuACzmQ= +github.com/opencloud-eu/reva/v2 v2.42.5-0.20260306135406-7dc643429c82/go.mod h1:4aBKDa49LC+OQFvJgAPY4ZQIwi0Fuh3vJPcRt/DPL7w= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= @@ -1290,12 +1290,12 @@ github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQ go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.4.3 h1:dEadXpI6G79deX5prL3QRNP6JB8UxVkqo4UPnHaNXJo= go.etcd.io/bbolt v1.4.3/go.mod h1:tKQlpPaYCVFctUIgFKFnAlvbmB3tpy1vkTnDWohtc0E= -go.etcd.io/etcd/api/v3 v3.6.7 h1:7BNJ2gQmc3DNM+9cRkv7KkGQDayElg8x3X+tFDYS+E0= -go.etcd.io/etcd/api/v3 v3.6.7/go.mod h1:xJ81TLj9hxrYYEDmXTeKURMeY3qEDN24hqe+q7KhbnI= -go.etcd.io/etcd/client/pkg/v3 v3.6.7 h1:vvzgyozz46q+TyeGBuFzVuI53/yd133CHceNb/AhBVs= -go.etcd.io/etcd/client/pkg/v3 v3.6.7/go.mod h1:2IVulJ3FZ/czIGl9T4lMF1uxzrhRahLqe+hSgy+Kh7Q= -go.etcd.io/etcd/client/v3 v3.6.7 h1:9WqA5RpIBtdMxAy1ukXLAdtg2pAxNqW5NUoO2wQrE6U= -go.etcd.io/etcd/client/v3 v3.6.7/go.mod h1:2XfROY56AXnUqGsvl+6k29wrwsSbEh1lAouQB1vHpeE= +go.etcd.io/etcd/api/v3 v3.6.8 h1:gqb1VN92TAI6G2FiBvWcqKtHiIjr4SU2GdXxTwyexbM= +go.etcd.io/etcd/api/v3 v3.6.8/go.mod h1:qyQj1HZPUV3B5cbAL8scG62+fyz5dSxxu0w8pn28N6Q= +go.etcd.io/etcd/client/pkg/v3 v3.6.8 h1:Qs/5C0LNFiqXxYf2GU8MVjYUEXJ6sZaYOz0zEqQgy50= +go.etcd.io/etcd/client/pkg/v3 v3.6.8/go.mod h1:GsiTRUZE2318PggZkAo6sWb6l8JLVrnckTNfbG8PWtw= +go.etcd.io/etcd/client/v3 v3.6.8 h1:B3G76t1UykqAOrbio7s/EPatixQDkQBevN8/mwiplrY= +go.etcd.io/etcd/client/v3 v3.6.8/go.mod h1:MVG4BpSIuumPi+ELF7wYtySETmoTWBHVcDoHdVupwt8= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -1316,20 +1316,20 @@ go.opentelemetry.io/contrib/zpages v0.65.0 h1:mi6aZS4PRSDIOYmr8DB7mdKpuyL+Q7ivIh go.opentelemetry.io/contrib/zpages v0.65.0/go.mod h1:eMI6Q53htJ08b8+QxQsIjofw+oUSsT4ieNGu5fcimoU= go.opentelemetry.io/otel v1.41.0 h1:YlEwVsGAlCvczDILpUXpIpPSL/VPugt7zHThEMLce1c= go.opentelemetry.io/otel v1.41.0/go.mod h1:Yt4UwgEKeT05QbLwbyHXEwhnjxNO6D8L5PQP51/46dE= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0 h1:QKdN8ly8zEMrByybbQgv8cWBcdAarwmIPZ6FThrWXJs= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0/go.mod h1:bTdK1nhqF76qiPoCCdyFIV+N/sRHYXYCTQc+3VCi3MI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 h1:DvJDOPmSWQHWywQS6lKL+pb8s3gBLOZUtw4N+mavW1I= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0/go.mod h1:EtekO9DEJb4/jRyN4v4Qjc2yA7AtfCBuz2FynRUWTXs= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.41.0 h1:ao6Oe+wSebTlQ1OEht7jlYTzQKE+pnx/iNywFvTbuuI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.41.0/go.mod h1:u3T6vz0gh/NVzgDgiwkgLxpsSF6PaPmo2il0apGJbls= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.41.0 h1:mq/Qcf28TWz719lE3/hMB4KkyDuLJIvgJnFGcd0kEUI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.41.0/go.mod h1:yk5LXEYhsL2htyDNJbEq7fWzNEigeEdV5xBF/Y+kAv0= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.39.0 h1:Ckwye2FpXkYgiHX7fyVrN1uA/UYd9ounqqTuSNAv0k4= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.39.0/go.mod h1:teIFJh5pW2y+AN7riv6IBPX2DuesS3HgP39mwOspKwU= go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.40.0 h1:MzfofMZN8ulNqobCmCAVbqVL5syHw+eB2qPRkCMA/fQ= go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.40.0/go.mod h1:E73G9UFtKRXrxhBsHtG00TB5WxX57lpsQzogDkqBTz8= go.opentelemetry.io/otel/metric v1.41.0 h1:rFnDcs4gRzBcsO9tS8LCpgR0dxg4aaxWlJxCno7JlTQ= go.opentelemetry.io/otel/metric v1.41.0/go.mod h1:xPvCwd9pU0VN8tPZYzDZV/BMj9CM9vs00GuBjeKhJps= -go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8= -go.opentelemetry.io/otel/sdk v1.40.0/go.mod h1:Ph7EFdYvxq72Y8Li9q8KebuYUr2KoeyHx0DRMKrYBUE= -go.opentelemetry.io/otel/sdk/metric v1.40.0 h1:mtmdVqgQkeRxHgRv4qhyJduP3fYJRMX4AtAlbuWdCYw= -go.opentelemetry.io/otel/sdk/metric v1.40.0/go.mod h1:4Z2bGMf0KSK3uRjlczMOeMhKU2rhUqdWNoKcYrtcBPg= +go.opentelemetry.io/otel/sdk v1.41.0 h1:YPIEXKmiAwkGl3Gu1huk1aYWwtpRLeskpV+wPisxBp8= +go.opentelemetry.io/otel/sdk v1.41.0/go.mod h1:ahFdU0G5y8IxglBf0QBJXgSe7agzjE4GiTJ6HT9ud90= +go.opentelemetry.io/otel/sdk/metric v1.41.0 h1:siZQIYBAUd1rlIWQT2uCxWJxcCO7q3TriaMlf08rXw8= +go.opentelemetry.io/otel/sdk/metric v1.41.0/go.mod h1:HNBuSvT7ROaGtGI50ArdRLUnvRTRGniSUZbxiWxSO8Y= go.opentelemetry.io/otel/trace v1.41.0 h1:Vbk2co6bhj8L59ZJ6/xFTskY+tGAbOnCtQGVVa9TIN0= go.opentelemetry.io/otel/trace v1.41.0/go.mod h1:U1NU4ULCoxeDKc09yCWdWe+3QoyweJcISEVa1RBzOis= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= diff --git a/vendor/filippo.io/edwards25519/extra.go b/vendor/filippo.io/edwards25519/extra.go index d152d68ff4..ab2e44a518 100644 --- a/vendor/filippo.io/edwards25519/extra.go +++ b/vendor/filippo.io/edwards25519/extra.go @@ -265,6 +265,7 @@ func (v *Point) MultiScalarMult(scalars []*Scalar, points []*Point) *Point { tmp1 := &projP1xP1{} tmp2 := &projP2{} // Lookup-and-add the appropriate multiple of each input point + v.Set(NewIdentityPoint()) for j := range tables { tables[j].SelectInto(multiple, digits[j][63]) tmp1.Add(v, multiple) // tmp1 = v + x_(j,63)*Q in P1xP1 coords diff --git a/vendor/github.com/cloudflare/circl/internal/sha3/xor_unaligned.go b/vendor/github.com/cloudflare/circl/internal/sha3/xor_unaligned.go index 052fc8d32d..0910613465 100644 --- a/vendor/github.com/cloudflare/circl/internal/sha3/xor_unaligned.go +++ b/vendor/github.com/cloudflare/circl/internal/sha3/xor_unaligned.go @@ -14,14 +14,14 @@ import "unsafe" type storageBuf [maxRate / 8]uint64 func (b *storageBuf) asBytes() *[maxRate]byte { - return (*[maxRate]byte)(unsafe.Pointer(b)) + return (*[maxRate]byte)(unsafe.Pointer(b)) //nolint:gosec } // xorInuses unaligned reads and writes to update d.a to contain d.a // XOR buf. func xorIn(d *State, buf []byte) { n := len(buf) - bw := (*[maxRate / 8]uint64)(unsafe.Pointer(&buf[0]))[: n/8 : n/8] + bw := (*[maxRate / 8]uint64)(unsafe.Pointer(&buf[0]))[: n/8 : n/8] //nolint:gosec if n >= 72 { d.a[0] ^= bw[0] d.a[1] ^= bw[1] @@ -56,6 +56,6 @@ func xorIn(d *State, buf []byte) { } func copyOut(d *State, buf []byte) { - ab := (*[maxRate]uint8)(unsafe.Pointer(&d.a[0])) + ab := (*[maxRate]uint8)(unsafe.Pointer(&d.a[0])) //nolint:gosec copy(buf, ab[:]) } diff --git a/vendor/github.com/cloudflare/circl/sign/sign.go b/vendor/github.com/cloudflare/circl/sign/sign.go index 557d6f0960..1247f1b626 100644 --- a/vendor/github.com/cloudflare/circl/sign/sign.go +++ b/vendor/github.com/cloudflare/circl/sign/sign.go @@ -38,6 +38,12 @@ type PrivateKey interface { encoding.BinaryMarshaler } +// A private key that retains the seed with which it was generated. +type Seeded interface { + // returns the seed if retained, otherwise nil + Seed() []byte +} + // A Scheme represents a specific instance of a signature scheme. type Scheme interface { // Name of the scheme. diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1/resources.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1/resources.pb.go index b1c0479a5f..a48504a7e6 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1/resources.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1/resources.pb.go @@ -55,6 +55,8 @@ const ( // or if in a view-only mode users are not allowed to switch to edit mode, // then this mode MUST fall back to READ_WRITE. ViewMode_VIEW_MODE_PREVIEW ViewMode = 4 + // The resource can be viewed in embedded mode. Editing is disabled. + ViewMode_VIEW_MODE_EMBEDDED ViewMode = 5 ) // Enum value maps for ViewMode. @@ -65,6 +67,7 @@ var ( 2: "VIEW_MODE_READ_ONLY", 3: "VIEW_MODE_READ_WRITE", 4: "VIEW_MODE_PREVIEW", + 5: "VIEW_MODE_EMBEDDED", } ViewMode_value = map[string]int32{ "VIEW_MODE_INVALID": 0, @@ -72,6 +75,7 @@ var ( "VIEW_MODE_READ_ONLY": 2, "VIEW_MODE_READ_WRITE": 3, "VIEW_MODE_PREVIEW": 4, + "VIEW_MODE_EMBEDDED": 5, } ) @@ -280,7 +284,7 @@ var file_cs3_app_provider_v1beta1_resources_proto_rawDesc = []byte{ 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x2a, 0x84, 0x01, 0x0a, 0x08, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, + 0x02, 0x38, 0x01, 0x2a, 0x9c, 0x01, 0x0a, 0x08, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, @@ -288,27 +292,29 @@ var file_cs3_app_provider_v1beta1_resources_proto_rawDesc = []byte{ 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x50, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x04, 0x2a, 0x41, 0x0a, 0x06, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x41, 0x52, 0x47, - 0x45, 0x54, 0x5f, 0x49, 0x46, 0x52, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x54, - 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x41, 0x4e, 0x4b, 0x10, 0x02, 0x42, 0xf8, 0x01, - 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, - 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, - 0x73, 0x33, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x50, 0xaa, 0x02, 0x18, - 0x43, 0x73, 0x33, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x18, 0x43, 0x73, 0x33, 0x5c, 0x41, - 0x70, 0x70, 0x5c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0xe2, 0x02, 0x24, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x43, 0x73, 0x33, - 0x3a, 0x3a, 0x41, 0x70, 0x70, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x5f, 0x50, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, + 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x45, 0x44, + 0x10, 0x05, 0x2a, 0x41, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x0e, + 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, + 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x46, 0x52, 0x41, 0x4d, + 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4c, + 0x41, 0x4e, 0x4b, 0x10, 0x02, 0x42, 0xf8, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, + 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, + 0x02, 0x03, 0x43, 0x41, 0x50, 0xaa, 0x02, 0x18, 0x43, 0x73, 0x33, 0x2e, 0x41, 0x70, 0x70, 0x2e, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xca, 0x02, 0x18, 0x43, 0x73, 0x33, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x24, 0x43, 0x73, + 0x33, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x1b, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x41, 0x70, 0x70, 0x3a, 0x3a, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1/gateway_api.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1/gateway_api.pb.go index 7787213dd0..50503408d4 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1/gateway_api.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1/gateway_api.pb.go @@ -25,23 +25,24 @@ package gatewayv1beta1 import ( - v1beta117 "github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1" + v1beta118 "github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1" v1beta19 "github.com/cs3org/go-cs3apis/cs3/app/registry/v1beta1" v1beta14 "github.com/cs3org/go-cs3apis/cs3/auth/applications/v1beta1" v1beta111 "github.com/cs3org/go-cs3apis/cs3/auth/registry/v1beta1" v1beta110 "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1" v1beta12 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" - v1beta114 "github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1" + v1beta115 "github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1" + v1beta114 "github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1" v1beta112 "github.com/cs3org/go-cs3apis/cs3/ocm/invite/v1beta1" v1beta113 "github.com/cs3org/go-cs3apis/cs3/ocm/provider/v1beta1" - v1beta116 "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1" + v1beta117 "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1" v1beta16 "github.com/cs3org/go-cs3apis/cs3/preferences/v1beta1" v1beta11 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" v1beta15 "github.com/cs3org/go-cs3apis/cs3/sharing/collaboration/v1beta1" v1beta17 "github.com/cs3org/go-cs3apis/cs3/sharing/link/v1beta1" v1beta18 "github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1" v1beta13 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" - v1beta115 "github.com/cs3org/go-cs3apis/cs3/tx/v1beta1" + v1beta116 "github.com/cs3org/go-cs3apis/cs3/tx/v1beta1" v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -74,6 +75,8 @@ const ( // or if in a view-only mode users are not allowed to switch to edit mode, // then this mode MUST fall back to READ_WRITE. OpenInAppRequest_VIEW_MODE_PREVIEW OpenInAppRequest_ViewMode = 4 + // The resource can be viewed in embedded mode. Editing is disabled. + OpenInAppRequest_VIEW_MODE_EMBEDDED OpenInAppRequest_ViewMode = 5 ) // Enum value maps for OpenInAppRequest_ViewMode. @@ -84,6 +87,7 @@ var ( 2: "VIEW_MODE_READ_ONLY", 3: "VIEW_MODE_READ_WRITE", 4: "VIEW_MODE_PREVIEW", + 5: "VIEW_MODE_EMBEDDED", } OpenInAppRequest_ViewMode_value = map[string]int32{ "VIEW_MODE_INVALID": 0, @@ -91,6 +95,7 @@ var ( "VIEW_MODE_READ_ONLY": 2, "VIEW_MODE_READ_WRITE": 3, "VIEW_MODE_PREVIEW": 4, + "VIEW_MODE_EMBEDDED": 5, } ) @@ -118,7 +123,7 @@ func (x OpenInAppRequest_ViewMode) Number() protoreflect.EnumNumber { // Deprecated: Use OpenInAppRequest_ViewMode.Descriptor instead. func (OpenInAppRequest_ViewMode) EnumDescriptor() ([]byte, []int) { - return file_cs3_gateway_v1beta1_gateway_api_proto_rawDescGZIP(), []int{11, 0} + return file_cs3_gateway_v1beta1_gateway_api_proto_rawDescGZIP(), []int{12, 0} } type AuthenticateRequest struct { @@ -920,6 +925,87 @@ func (x *ListExistingPublicSharesResponse) GetNextPageToken() string { return "" } +type ListExistingOCMSharesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + // The response status. + Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // OPTIONAL. + // Opaque information. + Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"` + // REQUIRED. + // The shares encapsulating both the share metadata and the storage metadata. + ShareInfos []*OCMShareResourceInfo `protobuf:"bytes,3,rep,name=share_infos,json=shareInfos,proto3" json:"share_infos,omitempty"` + // OPTIONAL. + // This field represents the pagination token to retrieve the next page of results. + // If the value is "", it means no further results for the request. + // see https://cloud.google.com/apis/design/design_patterns#list_pagination + NextPageToken string `protobuf:"bytes,4,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListExistingOCMSharesResponse) Reset() { + *x = ListExistingOCMSharesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_gateway_v1beta1_gateway_api_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListExistingOCMSharesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListExistingOCMSharesResponse) ProtoMessage() {} + +func (x *ListExistingOCMSharesResponse) ProtoReflect() protoreflect.Message { + mi := &file_cs3_gateway_v1beta1_gateway_api_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListExistingOCMSharesResponse.ProtoReflect.Descriptor instead. +func (*ListExistingOCMSharesResponse) Descriptor() ([]byte, []int) { + return file_cs3_gateway_v1beta1_gateway_api_proto_rawDescGZIP(), []int{11} +} + +func (x *ListExistingOCMSharesResponse) GetStatus() *v1beta11.Status { + if x != nil { + return x.Status + } + return nil +} + +func (x *ListExistingOCMSharesResponse) GetOpaque() *v1beta1.Opaque { + if x != nil { + return x.Opaque + } + return nil +} + +func (x *ListExistingOCMSharesResponse) GetShareInfos() []*OCMShareResourceInfo { + if x != nil { + return x.ShareInfos + } + return nil +} + +func (x *ListExistingOCMSharesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + type OpenInAppRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -948,7 +1034,7 @@ type OpenInAppRequest struct { func (x *OpenInAppRequest) Reset() { *x = OpenInAppRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cs3_gateway_v1beta1_gateway_api_proto_msgTypes[11] + mi := &file_cs3_gateway_v1beta1_gateway_api_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -961,7 +1047,7 @@ func (x *OpenInAppRequest) String() string { func (*OpenInAppRequest) ProtoMessage() {} func (x *OpenInAppRequest) ProtoReflect() protoreflect.Message { - mi := &file_cs3_gateway_v1beta1_gateway_api_proto_msgTypes[11] + mi := &file_cs3_gateway_v1beta1_gateway_api_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -974,7 +1060,7 @@ func (x *OpenInAppRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OpenInAppRequest.ProtoReflect.Descriptor instead. func (*OpenInAppRequest) Descriptor() ([]byte, []int) { - return file_cs3_gateway_v1beta1_gateway_api_proto_rawDescGZIP(), []int{11} + return file_cs3_gateway_v1beta1_gateway_api_proto_rawDescGZIP(), []int{12} } func (x *OpenInAppRequest) GetOpaque() *v1beta1.Opaque { @@ -1043,143 +1129,178 @@ var file_cs3_gateway_v1beta1_gateway_api_proto_rawDesc = []byte{ 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x63, 0x6d, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x73, 0x33, 0x2f, 0x6f, - 0x63, 0x6d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x2b, 0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x2d, 0x63, 0x73, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, - 0x63, 0x73, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x63, - 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x63, 0x73, 0x33, - 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, - 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, - 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x73, 0x33, 0x2f, 0x73, - 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x25, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, - 0x6f, 0x63, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x63, 0x6d, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x63, 0x73, 0x33, 0x2f, + 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x6f, + 0x63, 0x6d, 0x2f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x63, 0x6d, 0x5f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x73, 0x33, 0x2f, + 0x6f, 0x63, 0x6d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x2d, 0x63, 0x73, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x2d, 0x63, 0x73, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x63, 0x73, + 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, + 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x73, 0x33, 0x2f, + 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, + 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x63, 0x6d, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x63, 0x73, 0x33, 0x2f, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x78, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x01, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, - 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x22, 0xc5, 0x01, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, - 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x63, 0x73, 0x33, + 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x63, 0x73, 0x33, 0x2f, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x78, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x01, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, + 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xc5, 0x01, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, + 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, + 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x33, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x58, 0x0a, + 0x0d, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, + 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x33, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x58, 0x0a, 0x0d, - 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, - 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa9, 0x01, 0x0a, 0x0e, 0x57, 0x68, 0x6f, 0x41, 0x6d, - 0x49, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, - 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, - 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x33, 0x0a, - 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, - 0x65, 0x72, 0x22, 0x7f, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x03, - 0x72, 0x65, 0x66, 0x22, 0xcb, 0x01, 0x0a, 0x1c, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, - 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, 0x69, - 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, - 0x61, 0x71, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, - 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x19, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, - 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, - 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x22, 0xf1, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, - 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, - 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, - 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x81, 0x02, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa9, 0x01, 0x0a, 0x0e, 0x57, 0x68, 0x6f, 0x41, + 0x6d, 0x49, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x33, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, + 0x73, 0x65, 0x72, 0x22, 0x7f, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x03, 0x72, 0x65, 0x66, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x03, 0x72, 0x65, 0x66, 0x22, 0xcb, 0x01, 0x0a, 0x1c, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, + 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, + 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x95, 0x01, 0x0a, + 0x19, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x22, 0xf1, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, + 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, + 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x81, 0x02, 0x0a, 0x22, 0x4c, 0x69, 0x73, + 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, + 0x71, 0x75, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfd, 0x01, 0x0a, + 0x20, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf7, 0x01, 0x0a, + 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, @@ -1187,826 +1308,846 @@ var file_cs3_gateway_v1beta1_gateway_api_proto_rawDesc = []byte{ 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, - 0x75, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfd, 0x01, 0x0a, 0x20, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, - 0x61, 0x71, 0x75, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x6e, - 0x66, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xff, 0x02, 0x0a, 0x10, - 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, - 0x71, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x4b, - 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, - 0x65, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, - 0x70, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x70, 0x70, 0x12, 0x17, 0x0a, - 0x07, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x08, 0x56, 0x69, 0x65, 0x77, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x49, - 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4f, 0x4e, 0x4c, - 0x59, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, - 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, - 0x52, 0x49, 0x54, 0x45, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, - 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x04, 0x32, 0xd7, 0x5e, - 0x0a, 0x0a, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x50, 0x49, 0x12, 0x63, 0x0a, 0x0c, - 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x28, 0x2e, 0x63, + 0x75, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x43, + 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x97, 0x03, 0x0a, 0x10, 0x4f, 0x70, 0x65, 0x6e, 0x49, + 0x6e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x39, + 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x4b, 0x0a, 0x09, 0x76, 0x69, 0x65, + 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, - 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x51, 0x0a, 0x06, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x12, 0x22, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x23, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x39, 0x2e, 0x63, - 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, - 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, - 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, - 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x15, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x12, 0x3b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, + 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x76, 0x69, + 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x70, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x49, + 0x64, 0x22, 0x9c, 0x01, 0x0a, 0x08, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x15, + 0x0a, 0x11, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x17, + 0x0a, 0x13, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, + 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x49, 0x45, 0x57, 0x5f, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, + 0x03, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x45, 0x57, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x45, 0x44, 0x10, 0x05, + 0x32, 0xfd, 0x62, 0x0a, 0x0a, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x50, 0x49, 0x12, + 0x63, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, + 0x28, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x12, 0x22, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, + 0x39, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x92, 0x01, 0x0a, + 0x15, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x3b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, + 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, - 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x50, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x12, 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, - 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, - 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x12, 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, - 0x09, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x46, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x46, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x06, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x66, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, - 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x51, - 0x75, 0x6f, 0x74, 0x61, 0x12, 0x24, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, - 0x6f, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, - 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x14, 0x49, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x12, 0x39, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7d, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x12, 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, + 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x61, 0x75, 0x74, 0x68, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, + 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x7e, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, - 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x7e, 0x0a, 0x12, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, - 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, - 0x12, 0x78, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6c, 0x0a, 0x09, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2e, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x75, + 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x75, + 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, + 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x10, 0x4c, - 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x08, 0x47, + 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x24, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, + 0x0a, 0x14, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x39, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, - 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x12, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, + 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x12, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, + 0x46, 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x72, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x78, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x79, - 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x04, 0x4d, - 0x6f, 0x76, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0c, 0x50, 0x75, - 0x72, 0x67, 0x65, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x52, - 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, + 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, + 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x86, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x72, 0x0a, 0x0b, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, + 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, + 0x0a, 0x04, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, + 0x0c, 0x50, 0x75, 0x72, 0x67, 0x65, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x72, - 0x67, 0x65, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x87, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x69, 0x6c, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x12, - 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x49, 0x74, - 0x65, 0x6d, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, + 0x67, 0x65, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x75, 0x72, 0x67, 0x65, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x46, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, 0x12, 0x29, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x79, - 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x72, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, + 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6d, 0x6c, 0x69, - 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, - 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8d, - 0x01, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x41, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x39, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x72, 0x62, 0x69, 0x74, 0x72, - 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x93, - 0x01, 0x0a, 0x16, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x41, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, - 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, + 0x12, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x79, + 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x41, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, + 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x39, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x72, 0x62, + 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, + 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x93, 0x01, 0x0a, 0x16, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x41, 0x72, 0x62, 0x69, 0x74, + 0x72, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, + 0x74, 0x41, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x41, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x41, 0x72, 0x62, 0x69, 0x74, - 0x72, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x12, - 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, - 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0b, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4c, - 0x6f, 0x63, 0x6b, 0x12, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x06, 0x55, 0x6e, 0x6c, 0x6f, - 0x63, 0x6b, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x4c, 0x6f, + 0x63, 0x6b, 0x12, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, - 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, - 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6d, 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, - 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, - 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x66, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x2c, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0b, 0x52, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4c, 0x6f, 0x63, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4c, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x06, 0x55, + 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6f, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6d, 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x36, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x87, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x12, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x65, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x87, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x11, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x12, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, 0x70, - 0x12, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, + 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, + 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, + 0x41, 0x70, 0x70, 0x12, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, + 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x41, 0x70, 0x70, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, + 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, + 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, + 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, + 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x12, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, - 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x73, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x32, 0x2e, 0x63, - 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, - 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, - 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7b, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, - 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, - 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x63, + 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x7c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, + 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, + 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x91, + 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x12, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, - 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x93, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x3c, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, - 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, - 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x3d, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, - 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, - 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, - 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, - 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x12, 0x3a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x73, 0x12, 0x3c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, - 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x06, 0x53, 0x65, - 0x74, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, - 0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, - 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x72, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x12, 0x3d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, + 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, + 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x8b, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x12, 0x3a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, + 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, + 0x06, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7c, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, - 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, - 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x0e, - 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2f, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4b, + 0x65, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, + 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7c, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x73, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x42, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, - 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x88, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x42, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x42, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x42, 0x79, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x10, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, - 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, - 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, + 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x42, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x42, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x79, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, - 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2e, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, - 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, - 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x71, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, + 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7c, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x71, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x43, 0x4d, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, - 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x12, + 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x7d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x42, 0x79, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x42, 0x79, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x42, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x42, 0x79, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0d, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x63, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x42, + 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, + 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, + 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x43, + 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x43, 0x4d, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, + 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x43, + 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, + 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2e, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, - 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, - 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, - 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, - 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, - 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, - 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, - 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, 0x01, + 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, + 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, + 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, + 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x12, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x12, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x73, 0x33, + 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, - 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, - 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, - 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, - 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x73, 0x33, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, + 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, - 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, + 0x0e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, + 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x70, + 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, + 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x79, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4d, 0x69, 0x6d, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa9, 0x01, 0x0a, - 0x20, 0x47, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x41, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x46, 0x6f, 0x72, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, + 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4d, + 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa9, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa9, 0x01, 0x0a, 0x20, 0x53, 0x65, 0x74, - 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x46, 0x6f, 0x72, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x6f, - 0x72, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x42, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, + 0x12, 0x41, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x46, 0x6f, 0x72, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x43, 0x6c, - 0x61, 0x69, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, - 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, - 0x0d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2f, + 0x72, 0x46, 0x6f, 0x72, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa9, 0x01, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x46, 0x6f, 0x72, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x6f, 0x72, + 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x42, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x46, 0x6f, 0x72, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x66, 0x0a, 0x09, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x2b, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x43, 0x6c, 0x61, + 0x69, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x43, + 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0d, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2f, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x08, 0x47, 0x65, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x66, 0x0a, 0x09, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x7a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6c, 0x61, + 0x69, 0x6d, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6c, - 0x61, 0x69, 0x6d, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, - 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0a, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6c, + 0x61, 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0a, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x09, 0x48, 0x61, 0x73, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x48, 0x61, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x48, 0x61, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0a, 0x46, 0x69, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, - 0x69, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x09, 0x48, 0x61, 0x73, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x48, 0x61, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x48, 0x61, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0a, 0x46, 0x69, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x12, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, - 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x78, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, - 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, + 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x78, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x47, 0x65, - 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x75, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x47, 0x65, 0x74, + 0x48, 0x6f, 0x6d, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7e, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, + 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x75, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, - 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0d, 0x46, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, - 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x65, 0x70, - 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, - 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, - 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, - 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x65, 0x70, - 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7b, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, - 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, - 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0d, 0x46, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, - 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, - 0x11, 0x49, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x73, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, + 0x61, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, + 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, + 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x63, + 0x65, 0x70, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x72, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, + 0x65, 0x70, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x7b, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, + 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, + 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x11, + 0x49, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x49, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x42, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x42, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x79, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x49, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x30, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, - 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, - 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x6f, 0x63, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, + 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, + 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, + 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, + 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x16, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, + 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, + 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, + 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x16, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, + 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, + 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, + 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x77, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, + 0x12, 0x77, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, - 0x6d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x73, + 0x6d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x12, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, + 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, + 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, + 0x4d, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x11, 0x47, 0x65, - 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x28, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, + 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, + 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, + 0x0e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, + 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, - 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0d, 0x52, 0x65, 0x74, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, - 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x74, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd9, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x42, 0x0f, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x70, 0x69, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, - 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x47, 0x58, 0xaa, 0x02, 0x13, - 0x43, 0x73, 0x33, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0xca, 0x02, 0x13, 0x43, 0x73, 0x33, 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x1f, 0x43, 0x73, 0x33, 0x5c, - 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x43, 0x73, - 0x33, 0x3a, 0x3a, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, + 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, + 0x24, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0d, + 0x52, 0x65, 0x74, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, + 0x65, 0x74, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0f, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x42, 0xd9, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0f, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, + 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, + 0x33, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x3b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xa2, 0x02, 0x03, 0x43, 0x47, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x73, 0x33, 0x2e, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x13, 0x43, + 0x73, 0x33, 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0xe2, 0x02, 0x1f, 0x43, 0x73, 0x33, 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2022,7 +2163,7 @@ func file_cs3_gateway_v1beta1_gateway_api_proto_rawDescGZIP() []byte { } var file_cs3_gateway_v1beta1_gateway_api_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_cs3_gateway_v1beta1_gateway_api_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_cs3_gateway_v1beta1_gateway_api_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_cs3_gateway_v1beta1_gateway_api_proto_goTypes = []interface{}{ (OpenInAppRequest_ViewMode)(0), // 0: cs3.gateway.v1beta1.OpenInAppRequest.ViewMode (*AuthenticateRequest)(nil), // 1: cs3.gateway.v1beta1.AuthenticateRequest @@ -2036,438 +2177,457 @@ var file_cs3_gateway_v1beta1_gateway_api_proto_goTypes = []interface{}{ (*ListExistingSharesResponse)(nil), // 9: cs3.gateway.v1beta1.ListExistingSharesResponse (*ListExistingReceivedSharesResponse)(nil), // 10: cs3.gateway.v1beta1.ListExistingReceivedSharesResponse (*ListExistingPublicSharesResponse)(nil), // 11: cs3.gateway.v1beta1.ListExistingPublicSharesResponse - (*OpenInAppRequest)(nil), // 12: cs3.gateway.v1beta1.OpenInAppRequest - (*v1beta1.Opaque)(nil), // 13: cs3.types.v1beta1.Opaque - (*v1beta11.Status)(nil), // 14: cs3.rpc.v1beta1.Status - (*v1beta12.User)(nil), // 15: cs3.identity.user.v1beta1.User - (*v1beta13.Reference)(nil), // 16: cs3.storage.provider.v1beta1.Reference - (*FileDownloadProtocol)(nil), // 17: cs3.gateway.v1beta1.FileDownloadProtocol - (*FileUploadProtocol)(nil), // 18: cs3.gateway.v1beta1.FileUploadProtocol - (*ShareResourceInfo)(nil), // 19: cs3.gateway.v1beta1.ShareResourceInfo - (*ReceivedShareResourceInfo)(nil), // 20: cs3.gateway.v1beta1.ReceivedShareResourceInfo - (*PublicShareResourceInfo)(nil), // 21: cs3.gateway.v1beta1.PublicShareResourceInfo - (*v1beta14.GenerateAppPasswordRequest)(nil), // 22: cs3.auth.applications.v1beta1.GenerateAppPasswordRequest - (*v1beta14.ListAppPasswordsRequest)(nil), // 23: cs3.auth.applications.v1beta1.ListAppPasswordsRequest - (*v1beta14.InvalidateAppPasswordRequest)(nil), // 24: cs3.auth.applications.v1beta1.InvalidateAppPasswordRequest - (*v1beta14.GetAppPasswordRequest)(nil), // 25: cs3.auth.applications.v1beta1.GetAppPasswordRequest - (*v1beta13.CreateContainerRequest)(nil), // 26: cs3.storage.provider.v1beta1.CreateContainerRequest - (*v1beta13.TouchFileRequest)(nil), // 27: cs3.storage.provider.v1beta1.TouchFileRequest - (*v1beta13.DeleteRequest)(nil), // 28: cs3.storage.provider.v1beta1.DeleteRequest - (*v1beta13.GetPathRequest)(nil), // 29: cs3.storage.provider.v1beta1.GetPathRequest - (*v1beta13.InitiateFileDownloadRequest)(nil), // 30: cs3.storage.provider.v1beta1.InitiateFileDownloadRequest - (*v1beta13.InitiateFileUploadRequest)(nil), // 31: cs3.storage.provider.v1beta1.InitiateFileUploadRequest - (*v1beta13.ListContainerStreamRequest)(nil), // 32: cs3.storage.provider.v1beta1.ListContainerStreamRequest - (*v1beta13.ListContainerRequest)(nil), // 33: cs3.storage.provider.v1beta1.ListContainerRequest - (*v1beta13.ListFileVersionsRequest)(nil), // 34: cs3.storage.provider.v1beta1.ListFileVersionsRequest - (*v1beta13.ListRecycleStreamRequest)(nil), // 35: cs3.storage.provider.v1beta1.ListRecycleStreamRequest - (*v1beta13.ListRecycleRequest)(nil), // 36: cs3.storage.provider.v1beta1.ListRecycleRequest - (*v1beta13.MoveRequest)(nil), // 37: cs3.storage.provider.v1beta1.MoveRequest - (*v1beta13.PurgeRecycleRequest)(nil), // 38: cs3.storage.provider.v1beta1.PurgeRecycleRequest - (*v1beta13.RestoreFileVersionRequest)(nil), // 39: cs3.storage.provider.v1beta1.RestoreFileVersionRequest - (*v1beta13.RestoreRecycleItemRequest)(nil), // 40: cs3.storage.provider.v1beta1.RestoreRecycleItemRequest - (*v1beta13.StatRequest)(nil), // 41: cs3.storage.provider.v1beta1.StatRequest - (*v1beta13.CreateSymlinkRequest)(nil), // 42: cs3.storage.provider.v1beta1.CreateSymlinkRequest - (*v1beta13.SetArbitraryMetadataRequest)(nil), // 43: cs3.storage.provider.v1beta1.SetArbitraryMetadataRequest - (*v1beta13.UnsetArbitraryMetadataRequest)(nil), // 44: cs3.storage.provider.v1beta1.UnsetArbitraryMetadataRequest - (*v1beta13.SetLockRequest)(nil), // 45: cs3.storage.provider.v1beta1.SetLockRequest - (*v1beta13.GetLockRequest)(nil), // 46: cs3.storage.provider.v1beta1.GetLockRequest - (*v1beta13.RefreshLockRequest)(nil), // 47: cs3.storage.provider.v1beta1.RefreshLockRequest - (*v1beta13.UnlockRequest)(nil), // 48: cs3.storage.provider.v1beta1.UnlockRequest - (*v1beta13.CreateHomeRequest)(nil), // 49: cs3.storage.provider.v1beta1.CreateHomeRequest - (*v1beta13.CreateStorageSpaceRequest)(nil), // 50: cs3.storage.provider.v1beta1.CreateStorageSpaceRequest - (*v1beta13.ListStorageSpacesRequest)(nil), // 51: cs3.storage.provider.v1beta1.ListStorageSpacesRequest - (*v1beta13.UpdateStorageSpaceRequest)(nil), // 52: cs3.storage.provider.v1beta1.UpdateStorageSpaceRequest - (*v1beta13.DeleteStorageSpaceRequest)(nil), // 53: cs3.storage.provider.v1beta1.DeleteStorageSpaceRequest - (*v1beta15.CreateShareRequest)(nil), // 54: cs3.sharing.collaboration.v1beta1.CreateShareRequest - (*v1beta15.RemoveShareRequest)(nil), // 55: cs3.sharing.collaboration.v1beta1.RemoveShareRequest - (*v1beta15.GetShareRequest)(nil), // 56: cs3.sharing.collaboration.v1beta1.GetShareRequest - (*v1beta15.ListSharesRequest)(nil), // 57: cs3.sharing.collaboration.v1beta1.ListSharesRequest - (*v1beta15.UpdateShareRequest)(nil), // 58: cs3.sharing.collaboration.v1beta1.UpdateShareRequest - (*v1beta15.ListReceivedSharesRequest)(nil), // 59: cs3.sharing.collaboration.v1beta1.ListReceivedSharesRequest - (*v1beta15.UpdateReceivedShareRequest)(nil), // 60: cs3.sharing.collaboration.v1beta1.UpdateReceivedShareRequest - (*v1beta15.GetReceivedShareRequest)(nil), // 61: cs3.sharing.collaboration.v1beta1.GetReceivedShareRequest - (*v1beta16.SetKeyRequest)(nil), // 62: cs3.preferences.v1beta1.SetKeyRequest - (*v1beta16.GetKeyRequest)(nil), // 63: cs3.preferences.v1beta1.GetKeyRequest - (*v1beta17.CreatePublicShareRequest)(nil), // 64: cs3.sharing.link.v1beta1.CreatePublicShareRequest - (*v1beta17.RemovePublicShareRequest)(nil), // 65: cs3.sharing.link.v1beta1.RemovePublicShareRequest - (*v1beta17.GetPublicShareRequest)(nil), // 66: cs3.sharing.link.v1beta1.GetPublicShareRequest - (*v1beta17.GetPublicShareByTokenRequest)(nil), // 67: cs3.sharing.link.v1beta1.GetPublicShareByTokenRequest - (*v1beta17.ListPublicSharesRequest)(nil), // 68: cs3.sharing.link.v1beta1.ListPublicSharesRequest - (*v1beta17.UpdatePublicShareRequest)(nil), // 69: cs3.sharing.link.v1beta1.UpdatePublicShareRequest - (*v1beta18.CreateOCMShareRequest)(nil), // 70: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest - (*v1beta18.RemoveOCMShareRequest)(nil), // 71: cs3.sharing.ocm.v1beta1.RemoveOCMShareRequest - (*v1beta18.GetOCMShareRequest)(nil), // 72: cs3.sharing.ocm.v1beta1.GetOCMShareRequest - (*v1beta18.GetOCMShareByTokenRequest)(nil), // 73: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenRequest - (*v1beta18.ListOCMSharesRequest)(nil), // 74: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest - (*v1beta18.UpdateOCMShareRequest)(nil), // 75: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest - (*v1beta18.ListReceivedOCMSharesRequest)(nil), // 76: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest - (*v1beta18.UpdateReceivedOCMShareRequest)(nil), // 77: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest - (*v1beta18.GetReceivedOCMShareRequest)(nil), // 78: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareRequest - (*v1beta19.GetAppProvidersRequest)(nil), // 79: cs3.app.registry.v1beta1.GetAppProvidersRequest - (*v1beta19.AddAppProviderRequest)(nil), // 80: cs3.app.registry.v1beta1.AddAppProviderRequest - (*v1beta19.ListAppProvidersRequest)(nil), // 81: cs3.app.registry.v1beta1.ListAppProvidersRequest - (*v1beta19.ListSupportedMimeTypesRequest)(nil), // 82: cs3.app.registry.v1beta1.ListSupportedMimeTypesRequest - (*v1beta19.GetDefaultAppProviderForMimeTypeRequest)(nil), // 83: cs3.app.registry.v1beta1.GetDefaultAppProviderForMimeTypeRequest - (*v1beta19.SetDefaultAppProviderForMimeTypeRequest)(nil), // 84: cs3.app.registry.v1beta1.SetDefaultAppProviderForMimeTypeRequest - (*v1beta12.GetUserRequest)(nil), // 85: cs3.identity.user.v1beta1.GetUserRequest - (*v1beta12.GetUserByClaimRequest)(nil), // 86: cs3.identity.user.v1beta1.GetUserByClaimRequest - (*v1beta12.GetUserGroupsRequest)(nil), // 87: cs3.identity.user.v1beta1.GetUserGroupsRequest - (*v1beta12.FindUsersRequest)(nil), // 88: cs3.identity.user.v1beta1.FindUsersRequest - (*v1beta110.GetGroupRequest)(nil), // 89: cs3.identity.group.v1beta1.GetGroupRequest - (*v1beta110.GetGroupByClaimRequest)(nil), // 90: cs3.identity.group.v1beta1.GetGroupByClaimRequest - (*v1beta110.GetMembersRequest)(nil), // 91: cs3.identity.group.v1beta1.GetMembersRequest - (*v1beta110.HasMemberRequest)(nil), // 92: cs3.identity.group.v1beta1.HasMemberRequest - (*v1beta110.FindGroupsRequest)(nil), // 93: cs3.identity.group.v1beta1.FindGroupsRequest - (*v1beta111.ListAuthProvidersRequest)(nil), // 94: cs3.auth.registry.v1beta1.ListAuthProvidersRequest - (*v1beta13.GetHomeRequest)(nil), // 95: cs3.storage.provider.v1beta1.GetHomeRequest - (*v1beta112.GenerateInviteTokenRequest)(nil), // 96: cs3.ocm.invite.v1beta1.GenerateInviteTokenRequest - (*v1beta112.ListInviteTokensRequest)(nil), // 97: cs3.ocm.invite.v1beta1.ListInviteTokensRequest - (*v1beta112.ForwardInviteRequest)(nil), // 98: cs3.ocm.invite.v1beta1.ForwardInviteRequest - (*v1beta112.AcceptInviteRequest)(nil), // 99: cs3.ocm.invite.v1beta1.AcceptInviteRequest - (*v1beta112.GetAcceptedUserRequest)(nil), // 100: cs3.ocm.invite.v1beta1.GetAcceptedUserRequest - (*v1beta112.FindAcceptedUsersRequest)(nil), // 101: cs3.ocm.invite.v1beta1.FindAcceptedUsersRequest - (*v1beta112.DeleteAcceptedUserRequest)(nil), // 102: cs3.ocm.invite.v1beta1.DeleteAcceptedUserRequest - (*v1beta113.IsProviderAllowedRequest)(nil), // 103: cs3.ocm.provider.v1beta1.IsProviderAllowedRequest - (*v1beta113.GetInfoByDomainRequest)(nil), // 104: cs3.ocm.provider.v1beta1.GetInfoByDomainRequest - (*v1beta113.ListAllProvidersRequest)(nil), // 105: cs3.ocm.provider.v1beta1.ListAllProvidersRequest - (*v1beta114.CreateOCMCoreShareRequest)(nil), // 106: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest - (*v1beta114.UpdateOCMCoreShareRequest)(nil), // 107: cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest - (*v1beta114.DeleteOCMCoreShareRequest)(nil), // 108: cs3.ocm.core.v1beta1.DeleteOCMCoreShareRequest - (*v1beta115.CreateTransferRequest)(nil), // 109: cs3.tx.v1beta1.CreateTransferRequest - (*v1beta115.GetTransferStatusRequest)(nil), // 110: cs3.tx.v1beta1.GetTransferStatusRequest - (*v1beta115.CancelTransferRequest)(nil), // 111: cs3.tx.v1beta1.CancelTransferRequest - (*v1beta115.ListTransfersRequest)(nil), // 112: cs3.tx.v1beta1.ListTransfersRequest - (*v1beta115.RetryTransferRequest)(nil), // 113: cs3.tx.v1beta1.RetryTransferRequest - (*v1beta116.CheckPermissionRequest)(nil), // 114: cs3.permissions.v1beta1.CheckPermissionRequest - (*v1beta14.GenerateAppPasswordResponse)(nil), // 115: cs3.auth.applications.v1beta1.GenerateAppPasswordResponse - (*v1beta14.ListAppPasswordsResponse)(nil), // 116: cs3.auth.applications.v1beta1.ListAppPasswordsResponse - (*v1beta14.InvalidateAppPasswordResponse)(nil), // 117: cs3.auth.applications.v1beta1.InvalidateAppPasswordResponse - (*v1beta14.GetAppPasswordResponse)(nil), // 118: cs3.auth.applications.v1beta1.GetAppPasswordResponse - (*v1beta13.CreateContainerResponse)(nil), // 119: cs3.storage.provider.v1beta1.CreateContainerResponse - (*v1beta13.TouchFileResponse)(nil), // 120: cs3.storage.provider.v1beta1.TouchFileResponse - (*v1beta13.DeleteResponse)(nil), // 121: cs3.storage.provider.v1beta1.DeleteResponse - (*v1beta13.GetPathResponse)(nil), // 122: cs3.storage.provider.v1beta1.GetPathResponse - (*v1beta13.GetQuotaResponse)(nil), // 123: cs3.storage.provider.v1beta1.GetQuotaResponse - (*v1beta13.ListContainerStreamResponse)(nil), // 124: cs3.storage.provider.v1beta1.ListContainerStreamResponse - (*v1beta13.ListContainerResponse)(nil), // 125: cs3.storage.provider.v1beta1.ListContainerResponse - (*v1beta13.ListFileVersionsResponse)(nil), // 126: cs3.storage.provider.v1beta1.ListFileVersionsResponse - (*v1beta13.ListRecycleStreamResponse)(nil), // 127: cs3.storage.provider.v1beta1.ListRecycleStreamResponse - (*v1beta13.ListRecycleResponse)(nil), // 128: cs3.storage.provider.v1beta1.ListRecycleResponse - (*v1beta13.MoveResponse)(nil), // 129: cs3.storage.provider.v1beta1.MoveResponse - (*v1beta13.PurgeRecycleResponse)(nil), // 130: cs3.storage.provider.v1beta1.PurgeRecycleResponse - (*v1beta13.RestoreFileVersionResponse)(nil), // 131: cs3.storage.provider.v1beta1.RestoreFileVersionResponse - (*v1beta13.RestoreRecycleItemResponse)(nil), // 132: cs3.storage.provider.v1beta1.RestoreRecycleItemResponse - (*v1beta13.StatResponse)(nil), // 133: cs3.storage.provider.v1beta1.StatResponse - (*v1beta13.CreateSymlinkResponse)(nil), // 134: cs3.storage.provider.v1beta1.CreateSymlinkResponse - (*v1beta13.SetArbitraryMetadataResponse)(nil), // 135: cs3.storage.provider.v1beta1.SetArbitraryMetadataResponse - (*v1beta13.UnsetArbitraryMetadataResponse)(nil), // 136: cs3.storage.provider.v1beta1.UnsetArbitraryMetadataResponse - (*v1beta13.SetLockResponse)(nil), // 137: cs3.storage.provider.v1beta1.SetLockResponse - (*v1beta13.GetLockResponse)(nil), // 138: cs3.storage.provider.v1beta1.GetLockResponse - (*v1beta13.RefreshLockResponse)(nil), // 139: cs3.storage.provider.v1beta1.RefreshLockResponse - (*v1beta13.UnlockResponse)(nil), // 140: cs3.storage.provider.v1beta1.UnlockResponse - (*v1beta13.CreateHomeResponse)(nil), // 141: cs3.storage.provider.v1beta1.CreateHomeResponse - (*v1beta13.CreateStorageSpaceResponse)(nil), // 142: cs3.storage.provider.v1beta1.CreateStorageSpaceResponse - (*v1beta13.ListStorageSpacesResponse)(nil), // 143: cs3.storage.provider.v1beta1.ListStorageSpacesResponse - (*v1beta13.UpdateStorageSpaceResponse)(nil), // 144: cs3.storage.provider.v1beta1.UpdateStorageSpaceResponse - (*v1beta13.DeleteStorageSpaceResponse)(nil), // 145: cs3.storage.provider.v1beta1.DeleteStorageSpaceResponse - (*v1beta117.OpenInAppResponse)(nil), // 146: cs3.app.provider.v1beta1.OpenInAppResponse - (*v1beta15.CreateShareResponse)(nil), // 147: cs3.sharing.collaboration.v1beta1.CreateShareResponse - (*v1beta15.RemoveShareResponse)(nil), // 148: cs3.sharing.collaboration.v1beta1.RemoveShareResponse - (*v1beta15.GetShareResponse)(nil), // 149: cs3.sharing.collaboration.v1beta1.GetShareResponse - (*v1beta15.ListSharesResponse)(nil), // 150: cs3.sharing.collaboration.v1beta1.ListSharesResponse - (*v1beta15.UpdateShareResponse)(nil), // 151: cs3.sharing.collaboration.v1beta1.UpdateShareResponse - (*v1beta15.ListReceivedSharesResponse)(nil), // 152: cs3.sharing.collaboration.v1beta1.ListReceivedSharesResponse - (*v1beta15.UpdateReceivedShareResponse)(nil), // 153: cs3.sharing.collaboration.v1beta1.UpdateReceivedShareResponse - (*v1beta15.GetReceivedShareResponse)(nil), // 154: cs3.sharing.collaboration.v1beta1.GetReceivedShareResponse - (*v1beta16.SetKeyResponse)(nil), // 155: cs3.preferences.v1beta1.SetKeyResponse - (*v1beta16.GetKeyResponse)(nil), // 156: cs3.preferences.v1beta1.GetKeyResponse - (*v1beta17.CreatePublicShareResponse)(nil), // 157: cs3.sharing.link.v1beta1.CreatePublicShareResponse - (*v1beta17.RemovePublicShareResponse)(nil), // 158: cs3.sharing.link.v1beta1.RemovePublicShareResponse - (*v1beta17.GetPublicShareResponse)(nil), // 159: cs3.sharing.link.v1beta1.GetPublicShareResponse - (*v1beta17.GetPublicShareByTokenResponse)(nil), // 160: cs3.sharing.link.v1beta1.GetPublicShareByTokenResponse - (*v1beta17.ListPublicSharesResponse)(nil), // 161: cs3.sharing.link.v1beta1.ListPublicSharesResponse - (*v1beta17.UpdatePublicShareResponse)(nil), // 162: cs3.sharing.link.v1beta1.UpdatePublicShareResponse - (*v1beta18.CreateOCMShareResponse)(nil), // 163: cs3.sharing.ocm.v1beta1.CreateOCMShareResponse - (*v1beta18.RemoveOCMShareResponse)(nil), // 164: cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse - (*v1beta18.GetOCMShareResponse)(nil), // 165: cs3.sharing.ocm.v1beta1.GetOCMShareResponse - (*v1beta18.GetOCMShareByTokenResponse)(nil), // 166: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse - (*v1beta18.ListOCMSharesResponse)(nil), // 167: cs3.sharing.ocm.v1beta1.ListOCMSharesResponse - (*v1beta18.UpdateOCMShareResponse)(nil), // 168: cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse - (*v1beta18.ListReceivedOCMSharesResponse)(nil), // 169: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse - (*v1beta18.UpdateReceivedOCMShareResponse)(nil), // 170: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse - (*v1beta18.GetReceivedOCMShareResponse)(nil), // 171: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse - (*v1beta19.GetAppProvidersResponse)(nil), // 172: cs3.app.registry.v1beta1.GetAppProvidersResponse - (*v1beta19.AddAppProviderResponse)(nil), // 173: cs3.app.registry.v1beta1.AddAppProviderResponse - (*v1beta19.ListAppProvidersResponse)(nil), // 174: cs3.app.registry.v1beta1.ListAppProvidersResponse - (*v1beta19.ListSupportedMimeTypesResponse)(nil), // 175: cs3.app.registry.v1beta1.ListSupportedMimeTypesResponse - (*v1beta19.GetDefaultAppProviderForMimeTypeResponse)(nil), // 176: cs3.app.registry.v1beta1.GetDefaultAppProviderForMimeTypeResponse - (*v1beta19.SetDefaultAppProviderForMimeTypeResponse)(nil), // 177: cs3.app.registry.v1beta1.SetDefaultAppProviderForMimeTypeResponse - (*v1beta12.GetUserResponse)(nil), // 178: cs3.identity.user.v1beta1.GetUserResponse - (*v1beta12.GetUserByClaimResponse)(nil), // 179: cs3.identity.user.v1beta1.GetUserByClaimResponse - (*v1beta12.GetUserGroupsResponse)(nil), // 180: cs3.identity.user.v1beta1.GetUserGroupsResponse - (*v1beta12.FindUsersResponse)(nil), // 181: cs3.identity.user.v1beta1.FindUsersResponse - (*v1beta110.GetGroupResponse)(nil), // 182: cs3.identity.group.v1beta1.GetGroupResponse - (*v1beta110.GetGroupByClaimResponse)(nil), // 183: cs3.identity.group.v1beta1.GetGroupByClaimResponse - (*v1beta110.GetMembersResponse)(nil), // 184: cs3.identity.group.v1beta1.GetMembersResponse - (*v1beta110.HasMemberResponse)(nil), // 185: cs3.identity.group.v1beta1.HasMemberResponse - (*v1beta110.FindGroupsResponse)(nil), // 186: cs3.identity.group.v1beta1.FindGroupsResponse - (*v1beta13.GetHomeResponse)(nil), // 187: cs3.storage.provider.v1beta1.GetHomeResponse - (*v1beta112.GenerateInviteTokenResponse)(nil), // 188: cs3.ocm.invite.v1beta1.GenerateInviteTokenResponse - (*v1beta112.ListInviteTokensResponse)(nil), // 189: cs3.ocm.invite.v1beta1.ListInviteTokensResponse - (*v1beta112.ForwardInviteResponse)(nil), // 190: cs3.ocm.invite.v1beta1.ForwardInviteResponse - (*v1beta112.AcceptInviteResponse)(nil), // 191: cs3.ocm.invite.v1beta1.AcceptInviteResponse - (*v1beta112.GetAcceptedUserResponse)(nil), // 192: cs3.ocm.invite.v1beta1.GetAcceptedUserResponse - (*v1beta112.FindAcceptedUsersResponse)(nil), // 193: cs3.ocm.invite.v1beta1.FindAcceptedUsersResponse - (*v1beta112.DeleteAcceptedUserResponse)(nil), // 194: cs3.ocm.invite.v1beta1.DeleteAcceptedUserResponse - (*v1beta113.IsProviderAllowedResponse)(nil), // 195: cs3.ocm.provider.v1beta1.IsProviderAllowedResponse - (*v1beta113.GetInfoByDomainResponse)(nil), // 196: cs3.ocm.provider.v1beta1.GetInfoByDomainResponse - (*v1beta113.ListAllProvidersResponse)(nil), // 197: cs3.ocm.provider.v1beta1.ListAllProvidersResponse - (*v1beta114.CreateOCMCoreShareResponse)(nil), // 198: cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse - (*v1beta114.UpdateOCMCoreShareResponse)(nil), // 199: cs3.ocm.core.v1beta1.UpdateOCMCoreShareResponse - (*v1beta114.DeleteOCMCoreShareResponse)(nil), // 200: cs3.ocm.core.v1beta1.DeleteOCMCoreShareResponse - (*v1beta115.CreateTransferResponse)(nil), // 201: cs3.tx.v1beta1.CreateTransferResponse - (*v1beta115.GetTransferStatusResponse)(nil), // 202: cs3.tx.v1beta1.GetTransferStatusResponse - (*v1beta115.CancelTransferResponse)(nil), // 203: cs3.tx.v1beta1.CancelTransferResponse - (*v1beta115.ListTransfersResponse)(nil), // 204: cs3.tx.v1beta1.ListTransfersResponse - (*v1beta115.RetryTransferResponse)(nil), // 205: cs3.tx.v1beta1.RetryTransferResponse - (*v1beta116.CheckPermissionResponse)(nil), // 206: cs3.permissions.v1beta1.CheckPermissionResponse + (*ListExistingOCMSharesResponse)(nil), // 12: cs3.gateway.v1beta1.ListExistingOCMSharesResponse + (*OpenInAppRequest)(nil), // 13: cs3.gateway.v1beta1.OpenInAppRequest + (*v1beta1.Opaque)(nil), // 14: cs3.types.v1beta1.Opaque + (*v1beta11.Status)(nil), // 15: cs3.rpc.v1beta1.Status + (*v1beta12.User)(nil), // 16: cs3.identity.user.v1beta1.User + (*v1beta13.Reference)(nil), // 17: cs3.storage.provider.v1beta1.Reference + (*FileDownloadProtocol)(nil), // 18: cs3.gateway.v1beta1.FileDownloadProtocol + (*FileUploadProtocol)(nil), // 19: cs3.gateway.v1beta1.FileUploadProtocol + (*ShareResourceInfo)(nil), // 20: cs3.gateway.v1beta1.ShareResourceInfo + (*ReceivedShareResourceInfo)(nil), // 21: cs3.gateway.v1beta1.ReceivedShareResourceInfo + (*PublicShareResourceInfo)(nil), // 22: cs3.gateway.v1beta1.PublicShareResourceInfo + (*OCMShareResourceInfo)(nil), // 23: cs3.gateway.v1beta1.OCMShareResourceInfo + (*v1beta14.GenerateAppPasswordRequest)(nil), // 24: cs3.auth.applications.v1beta1.GenerateAppPasswordRequest + (*v1beta14.ListAppPasswordsRequest)(nil), // 25: cs3.auth.applications.v1beta1.ListAppPasswordsRequest + (*v1beta14.InvalidateAppPasswordRequest)(nil), // 26: cs3.auth.applications.v1beta1.InvalidateAppPasswordRequest + (*v1beta14.GetAppPasswordRequest)(nil), // 27: cs3.auth.applications.v1beta1.GetAppPasswordRequest + (*v1beta13.CreateContainerRequest)(nil), // 28: cs3.storage.provider.v1beta1.CreateContainerRequest + (*v1beta13.TouchFileRequest)(nil), // 29: cs3.storage.provider.v1beta1.TouchFileRequest + (*v1beta13.DeleteRequest)(nil), // 30: cs3.storage.provider.v1beta1.DeleteRequest + (*v1beta13.GetPathRequest)(nil), // 31: cs3.storage.provider.v1beta1.GetPathRequest + (*v1beta13.InitiateFileDownloadRequest)(nil), // 32: cs3.storage.provider.v1beta1.InitiateFileDownloadRequest + (*v1beta13.InitiateFileUploadRequest)(nil), // 33: cs3.storage.provider.v1beta1.InitiateFileUploadRequest + (*v1beta13.ListContainerStreamRequest)(nil), // 34: cs3.storage.provider.v1beta1.ListContainerStreamRequest + (*v1beta13.ListContainerRequest)(nil), // 35: cs3.storage.provider.v1beta1.ListContainerRequest + (*v1beta13.ListFileVersionsRequest)(nil), // 36: cs3.storage.provider.v1beta1.ListFileVersionsRequest + (*v1beta13.ListRecycleStreamRequest)(nil), // 37: cs3.storage.provider.v1beta1.ListRecycleStreamRequest + (*v1beta13.ListRecycleRequest)(nil), // 38: cs3.storage.provider.v1beta1.ListRecycleRequest + (*v1beta13.MoveRequest)(nil), // 39: cs3.storage.provider.v1beta1.MoveRequest + (*v1beta13.PurgeRecycleRequest)(nil), // 40: cs3.storage.provider.v1beta1.PurgeRecycleRequest + (*v1beta13.RestoreFileVersionRequest)(nil), // 41: cs3.storage.provider.v1beta1.RestoreFileVersionRequest + (*v1beta13.RestoreRecycleItemRequest)(nil), // 42: cs3.storage.provider.v1beta1.RestoreRecycleItemRequest + (*v1beta13.StatRequest)(nil), // 43: cs3.storage.provider.v1beta1.StatRequest + (*v1beta13.CreateSymlinkRequest)(nil), // 44: cs3.storage.provider.v1beta1.CreateSymlinkRequest + (*v1beta13.SetArbitraryMetadataRequest)(nil), // 45: cs3.storage.provider.v1beta1.SetArbitraryMetadataRequest + (*v1beta13.UnsetArbitraryMetadataRequest)(nil), // 46: cs3.storage.provider.v1beta1.UnsetArbitraryMetadataRequest + (*v1beta13.SetLockRequest)(nil), // 47: cs3.storage.provider.v1beta1.SetLockRequest + (*v1beta13.GetLockRequest)(nil), // 48: cs3.storage.provider.v1beta1.GetLockRequest + (*v1beta13.RefreshLockRequest)(nil), // 49: cs3.storage.provider.v1beta1.RefreshLockRequest + (*v1beta13.UnlockRequest)(nil), // 50: cs3.storage.provider.v1beta1.UnlockRequest + (*v1beta13.CreateHomeRequest)(nil), // 51: cs3.storage.provider.v1beta1.CreateHomeRequest + (*v1beta13.CreateStorageSpaceRequest)(nil), // 52: cs3.storage.provider.v1beta1.CreateStorageSpaceRequest + (*v1beta13.ListStorageSpacesRequest)(nil), // 53: cs3.storage.provider.v1beta1.ListStorageSpacesRequest + (*v1beta13.UpdateStorageSpaceRequest)(nil), // 54: cs3.storage.provider.v1beta1.UpdateStorageSpaceRequest + (*v1beta13.DeleteStorageSpaceRequest)(nil), // 55: cs3.storage.provider.v1beta1.DeleteStorageSpaceRequest + (*v1beta15.CreateShareRequest)(nil), // 56: cs3.sharing.collaboration.v1beta1.CreateShareRequest + (*v1beta15.RemoveShareRequest)(nil), // 57: cs3.sharing.collaboration.v1beta1.RemoveShareRequest + (*v1beta15.GetShareRequest)(nil), // 58: cs3.sharing.collaboration.v1beta1.GetShareRequest + (*v1beta15.ListSharesRequest)(nil), // 59: cs3.sharing.collaboration.v1beta1.ListSharesRequest + (*v1beta15.UpdateShareRequest)(nil), // 60: cs3.sharing.collaboration.v1beta1.UpdateShareRequest + (*v1beta15.ListReceivedSharesRequest)(nil), // 61: cs3.sharing.collaboration.v1beta1.ListReceivedSharesRequest + (*v1beta15.UpdateReceivedShareRequest)(nil), // 62: cs3.sharing.collaboration.v1beta1.UpdateReceivedShareRequest + (*v1beta15.GetReceivedShareRequest)(nil), // 63: cs3.sharing.collaboration.v1beta1.GetReceivedShareRequest + (*v1beta16.SetKeyRequest)(nil), // 64: cs3.preferences.v1beta1.SetKeyRequest + (*v1beta16.GetKeyRequest)(nil), // 65: cs3.preferences.v1beta1.GetKeyRequest + (*v1beta17.CreatePublicShareRequest)(nil), // 66: cs3.sharing.link.v1beta1.CreatePublicShareRequest + (*v1beta17.RemovePublicShareRequest)(nil), // 67: cs3.sharing.link.v1beta1.RemovePublicShareRequest + (*v1beta17.GetPublicShareRequest)(nil), // 68: cs3.sharing.link.v1beta1.GetPublicShareRequest + (*v1beta17.GetPublicShareByTokenRequest)(nil), // 69: cs3.sharing.link.v1beta1.GetPublicShareByTokenRequest + (*v1beta17.ListPublicSharesRequest)(nil), // 70: cs3.sharing.link.v1beta1.ListPublicSharesRequest + (*v1beta17.UpdatePublicShareRequest)(nil), // 71: cs3.sharing.link.v1beta1.UpdatePublicShareRequest + (*v1beta18.CreateOCMShareRequest)(nil), // 72: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest + (*v1beta18.RemoveOCMShareRequest)(nil), // 73: cs3.sharing.ocm.v1beta1.RemoveOCMShareRequest + (*v1beta18.GetOCMShareRequest)(nil), // 74: cs3.sharing.ocm.v1beta1.GetOCMShareRequest + (*v1beta18.GetOCMShareByTokenRequest)(nil), // 75: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenRequest + (*v1beta18.ListOCMSharesRequest)(nil), // 76: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest + (*v1beta18.UpdateOCMShareRequest)(nil), // 77: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest + (*v1beta18.ListReceivedOCMSharesRequest)(nil), // 78: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest + (*v1beta18.UpdateReceivedOCMShareRequest)(nil), // 79: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest + (*v1beta18.GetReceivedOCMShareRequest)(nil), // 80: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareRequest + (*v1beta19.GetAppProvidersRequest)(nil), // 81: cs3.app.registry.v1beta1.GetAppProvidersRequest + (*v1beta19.AddAppProviderRequest)(nil), // 82: cs3.app.registry.v1beta1.AddAppProviderRequest + (*v1beta19.ListAppProvidersRequest)(nil), // 83: cs3.app.registry.v1beta1.ListAppProvidersRequest + (*v1beta19.ListSupportedMimeTypesRequest)(nil), // 84: cs3.app.registry.v1beta1.ListSupportedMimeTypesRequest + (*v1beta19.GetDefaultAppProviderForMimeTypeRequest)(nil), // 85: cs3.app.registry.v1beta1.GetDefaultAppProviderForMimeTypeRequest + (*v1beta19.SetDefaultAppProviderForMimeTypeRequest)(nil), // 86: cs3.app.registry.v1beta1.SetDefaultAppProviderForMimeTypeRequest + (*v1beta12.GetUserRequest)(nil), // 87: cs3.identity.user.v1beta1.GetUserRequest + (*v1beta12.GetUserByClaimRequest)(nil), // 88: cs3.identity.user.v1beta1.GetUserByClaimRequest + (*v1beta12.GetUserGroupsRequest)(nil), // 89: cs3.identity.user.v1beta1.GetUserGroupsRequest + (*v1beta12.FindUsersRequest)(nil), // 90: cs3.identity.user.v1beta1.FindUsersRequest + (*v1beta110.GetGroupRequest)(nil), // 91: cs3.identity.group.v1beta1.GetGroupRequest + (*v1beta110.GetGroupByClaimRequest)(nil), // 92: cs3.identity.group.v1beta1.GetGroupByClaimRequest + (*v1beta110.GetMembersRequest)(nil), // 93: cs3.identity.group.v1beta1.GetMembersRequest + (*v1beta110.HasMemberRequest)(nil), // 94: cs3.identity.group.v1beta1.HasMemberRequest + (*v1beta110.FindGroupsRequest)(nil), // 95: cs3.identity.group.v1beta1.FindGroupsRequest + (*v1beta111.ListAuthProvidersRequest)(nil), // 96: cs3.auth.registry.v1beta1.ListAuthProvidersRequest + (*v1beta13.GetHomeRequest)(nil), // 97: cs3.storage.provider.v1beta1.GetHomeRequest + (*v1beta112.GenerateInviteTokenRequest)(nil), // 98: cs3.ocm.invite.v1beta1.GenerateInviteTokenRequest + (*v1beta112.ListInviteTokensRequest)(nil), // 99: cs3.ocm.invite.v1beta1.ListInviteTokensRequest + (*v1beta112.ForwardInviteRequest)(nil), // 100: cs3.ocm.invite.v1beta1.ForwardInviteRequest + (*v1beta112.AcceptInviteRequest)(nil), // 101: cs3.ocm.invite.v1beta1.AcceptInviteRequest + (*v1beta112.GetAcceptedUserRequest)(nil), // 102: cs3.ocm.invite.v1beta1.GetAcceptedUserRequest + (*v1beta112.FindAcceptedUsersRequest)(nil), // 103: cs3.ocm.invite.v1beta1.FindAcceptedUsersRequest + (*v1beta112.DeleteAcceptedUserRequest)(nil), // 104: cs3.ocm.invite.v1beta1.DeleteAcceptedUserRequest + (*v1beta113.IsProviderAllowedRequest)(nil), // 105: cs3.ocm.provider.v1beta1.IsProviderAllowedRequest + (*v1beta113.GetInfoByDomainRequest)(nil), // 106: cs3.ocm.provider.v1beta1.GetInfoByDomainRequest + (*v1beta113.ListAllProvidersRequest)(nil), // 107: cs3.ocm.provider.v1beta1.ListAllProvidersRequest + (*v1beta114.CreateOCMIncomingShareRequest)(nil), // 108: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest + (*v1beta114.UpdateOCMIncomingShareRequest)(nil), // 109: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest + (*v1beta114.DeleteOCMIncomingShareRequest)(nil), // 110: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareRequest + (*v1beta115.CreateOCMCoreShareRequest)(nil), // 111: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest + (*v1beta115.UpdateOCMCoreShareRequest)(nil), // 112: cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest + (*v1beta115.DeleteOCMCoreShareRequest)(nil), // 113: cs3.ocm.core.v1beta1.DeleteOCMCoreShareRequest + (*v1beta116.CreateTransferRequest)(nil), // 114: cs3.tx.v1beta1.CreateTransferRequest + (*v1beta116.GetTransferStatusRequest)(nil), // 115: cs3.tx.v1beta1.GetTransferStatusRequest + (*v1beta116.CancelTransferRequest)(nil), // 116: cs3.tx.v1beta1.CancelTransferRequest + (*v1beta116.ListTransfersRequest)(nil), // 117: cs3.tx.v1beta1.ListTransfersRequest + (*v1beta116.RetryTransferRequest)(nil), // 118: cs3.tx.v1beta1.RetryTransferRequest + (*v1beta117.CheckPermissionRequest)(nil), // 119: cs3.permissions.v1beta1.CheckPermissionRequest + (*v1beta14.GenerateAppPasswordResponse)(nil), // 120: cs3.auth.applications.v1beta1.GenerateAppPasswordResponse + (*v1beta14.ListAppPasswordsResponse)(nil), // 121: cs3.auth.applications.v1beta1.ListAppPasswordsResponse + (*v1beta14.InvalidateAppPasswordResponse)(nil), // 122: cs3.auth.applications.v1beta1.InvalidateAppPasswordResponse + (*v1beta14.GetAppPasswordResponse)(nil), // 123: cs3.auth.applications.v1beta1.GetAppPasswordResponse + (*v1beta13.CreateContainerResponse)(nil), // 124: cs3.storage.provider.v1beta1.CreateContainerResponse + (*v1beta13.TouchFileResponse)(nil), // 125: cs3.storage.provider.v1beta1.TouchFileResponse + (*v1beta13.DeleteResponse)(nil), // 126: cs3.storage.provider.v1beta1.DeleteResponse + (*v1beta13.GetPathResponse)(nil), // 127: cs3.storage.provider.v1beta1.GetPathResponse + (*v1beta13.GetQuotaResponse)(nil), // 128: cs3.storage.provider.v1beta1.GetQuotaResponse + (*v1beta13.ListContainerStreamResponse)(nil), // 129: cs3.storage.provider.v1beta1.ListContainerStreamResponse + (*v1beta13.ListContainerResponse)(nil), // 130: cs3.storage.provider.v1beta1.ListContainerResponse + (*v1beta13.ListFileVersionsResponse)(nil), // 131: cs3.storage.provider.v1beta1.ListFileVersionsResponse + (*v1beta13.ListRecycleStreamResponse)(nil), // 132: cs3.storage.provider.v1beta1.ListRecycleStreamResponse + (*v1beta13.ListRecycleResponse)(nil), // 133: cs3.storage.provider.v1beta1.ListRecycleResponse + (*v1beta13.MoveResponse)(nil), // 134: cs3.storage.provider.v1beta1.MoveResponse + (*v1beta13.PurgeRecycleResponse)(nil), // 135: cs3.storage.provider.v1beta1.PurgeRecycleResponse + (*v1beta13.RestoreFileVersionResponse)(nil), // 136: cs3.storage.provider.v1beta1.RestoreFileVersionResponse + (*v1beta13.RestoreRecycleItemResponse)(nil), // 137: cs3.storage.provider.v1beta1.RestoreRecycleItemResponse + (*v1beta13.StatResponse)(nil), // 138: cs3.storage.provider.v1beta1.StatResponse + (*v1beta13.CreateSymlinkResponse)(nil), // 139: cs3.storage.provider.v1beta1.CreateSymlinkResponse + (*v1beta13.SetArbitraryMetadataResponse)(nil), // 140: cs3.storage.provider.v1beta1.SetArbitraryMetadataResponse + (*v1beta13.UnsetArbitraryMetadataResponse)(nil), // 141: cs3.storage.provider.v1beta1.UnsetArbitraryMetadataResponse + (*v1beta13.SetLockResponse)(nil), // 142: cs3.storage.provider.v1beta1.SetLockResponse + (*v1beta13.GetLockResponse)(nil), // 143: cs3.storage.provider.v1beta1.GetLockResponse + (*v1beta13.RefreshLockResponse)(nil), // 144: cs3.storage.provider.v1beta1.RefreshLockResponse + (*v1beta13.UnlockResponse)(nil), // 145: cs3.storage.provider.v1beta1.UnlockResponse + (*v1beta13.CreateHomeResponse)(nil), // 146: cs3.storage.provider.v1beta1.CreateHomeResponse + (*v1beta13.CreateStorageSpaceResponse)(nil), // 147: cs3.storage.provider.v1beta1.CreateStorageSpaceResponse + (*v1beta13.ListStorageSpacesResponse)(nil), // 148: cs3.storage.provider.v1beta1.ListStorageSpacesResponse + (*v1beta13.UpdateStorageSpaceResponse)(nil), // 149: cs3.storage.provider.v1beta1.UpdateStorageSpaceResponse + (*v1beta13.DeleteStorageSpaceResponse)(nil), // 150: cs3.storage.provider.v1beta1.DeleteStorageSpaceResponse + (*v1beta118.OpenInAppResponse)(nil), // 151: cs3.app.provider.v1beta1.OpenInAppResponse + (*v1beta15.CreateShareResponse)(nil), // 152: cs3.sharing.collaboration.v1beta1.CreateShareResponse + (*v1beta15.RemoveShareResponse)(nil), // 153: cs3.sharing.collaboration.v1beta1.RemoveShareResponse + (*v1beta15.GetShareResponse)(nil), // 154: cs3.sharing.collaboration.v1beta1.GetShareResponse + (*v1beta15.ListSharesResponse)(nil), // 155: cs3.sharing.collaboration.v1beta1.ListSharesResponse + (*v1beta15.UpdateShareResponse)(nil), // 156: cs3.sharing.collaboration.v1beta1.UpdateShareResponse + (*v1beta15.ListReceivedSharesResponse)(nil), // 157: cs3.sharing.collaboration.v1beta1.ListReceivedSharesResponse + (*v1beta15.UpdateReceivedShareResponse)(nil), // 158: cs3.sharing.collaboration.v1beta1.UpdateReceivedShareResponse + (*v1beta15.GetReceivedShareResponse)(nil), // 159: cs3.sharing.collaboration.v1beta1.GetReceivedShareResponse + (*v1beta16.SetKeyResponse)(nil), // 160: cs3.preferences.v1beta1.SetKeyResponse + (*v1beta16.GetKeyResponse)(nil), // 161: cs3.preferences.v1beta1.GetKeyResponse + (*v1beta17.CreatePublicShareResponse)(nil), // 162: cs3.sharing.link.v1beta1.CreatePublicShareResponse + (*v1beta17.RemovePublicShareResponse)(nil), // 163: cs3.sharing.link.v1beta1.RemovePublicShareResponse + (*v1beta17.GetPublicShareResponse)(nil), // 164: cs3.sharing.link.v1beta1.GetPublicShareResponse + (*v1beta17.GetPublicShareByTokenResponse)(nil), // 165: cs3.sharing.link.v1beta1.GetPublicShareByTokenResponse + (*v1beta17.ListPublicSharesResponse)(nil), // 166: cs3.sharing.link.v1beta1.ListPublicSharesResponse + (*v1beta17.UpdatePublicShareResponse)(nil), // 167: cs3.sharing.link.v1beta1.UpdatePublicShareResponse + (*v1beta18.CreateOCMShareResponse)(nil), // 168: cs3.sharing.ocm.v1beta1.CreateOCMShareResponse + (*v1beta18.RemoveOCMShareResponse)(nil), // 169: cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse + (*v1beta18.GetOCMShareResponse)(nil), // 170: cs3.sharing.ocm.v1beta1.GetOCMShareResponse + (*v1beta18.GetOCMShareByTokenResponse)(nil), // 171: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse + (*v1beta18.ListOCMSharesResponse)(nil), // 172: cs3.sharing.ocm.v1beta1.ListOCMSharesResponse + (*v1beta18.UpdateOCMShareResponse)(nil), // 173: cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse + (*v1beta18.ListReceivedOCMSharesResponse)(nil), // 174: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse + (*v1beta18.UpdateReceivedOCMShareResponse)(nil), // 175: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse + (*v1beta18.GetReceivedOCMShareResponse)(nil), // 176: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse + (*v1beta19.GetAppProvidersResponse)(nil), // 177: cs3.app.registry.v1beta1.GetAppProvidersResponse + (*v1beta19.AddAppProviderResponse)(nil), // 178: cs3.app.registry.v1beta1.AddAppProviderResponse + (*v1beta19.ListAppProvidersResponse)(nil), // 179: cs3.app.registry.v1beta1.ListAppProvidersResponse + (*v1beta19.ListSupportedMimeTypesResponse)(nil), // 180: cs3.app.registry.v1beta1.ListSupportedMimeTypesResponse + (*v1beta19.GetDefaultAppProviderForMimeTypeResponse)(nil), // 181: cs3.app.registry.v1beta1.GetDefaultAppProviderForMimeTypeResponse + (*v1beta19.SetDefaultAppProviderForMimeTypeResponse)(nil), // 182: cs3.app.registry.v1beta1.SetDefaultAppProviderForMimeTypeResponse + (*v1beta12.GetUserResponse)(nil), // 183: cs3.identity.user.v1beta1.GetUserResponse + (*v1beta12.GetUserByClaimResponse)(nil), // 184: cs3.identity.user.v1beta1.GetUserByClaimResponse + (*v1beta12.GetUserGroupsResponse)(nil), // 185: cs3.identity.user.v1beta1.GetUserGroupsResponse + (*v1beta12.FindUsersResponse)(nil), // 186: cs3.identity.user.v1beta1.FindUsersResponse + (*v1beta110.GetGroupResponse)(nil), // 187: cs3.identity.group.v1beta1.GetGroupResponse + (*v1beta110.GetGroupByClaimResponse)(nil), // 188: cs3.identity.group.v1beta1.GetGroupByClaimResponse + (*v1beta110.GetMembersResponse)(nil), // 189: cs3.identity.group.v1beta1.GetMembersResponse + (*v1beta110.HasMemberResponse)(nil), // 190: cs3.identity.group.v1beta1.HasMemberResponse + (*v1beta110.FindGroupsResponse)(nil), // 191: cs3.identity.group.v1beta1.FindGroupsResponse + (*v1beta13.GetHomeResponse)(nil), // 192: cs3.storage.provider.v1beta1.GetHomeResponse + (*v1beta112.GenerateInviteTokenResponse)(nil), // 193: cs3.ocm.invite.v1beta1.GenerateInviteTokenResponse + (*v1beta112.ListInviteTokensResponse)(nil), // 194: cs3.ocm.invite.v1beta1.ListInviteTokensResponse + (*v1beta112.ForwardInviteResponse)(nil), // 195: cs3.ocm.invite.v1beta1.ForwardInviteResponse + (*v1beta112.AcceptInviteResponse)(nil), // 196: cs3.ocm.invite.v1beta1.AcceptInviteResponse + (*v1beta112.GetAcceptedUserResponse)(nil), // 197: cs3.ocm.invite.v1beta1.GetAcceptedUserResponse + (*v1beta112.FindAcceptedUsersResponse)(nil), // 198: cs3.ocm.invite.v1beta1.FindAcceptedUsersResponse + (*v1beta112.DeleteAcceptedUserResponse)(nil), // 199: cs3.ocm.invite.v1beta1.DeleteAcceptedUserResponse + (*v1beta113.IsProviderAllowedResponse)(nil), // 200: cs3.ocm.provider.v1beta1.IsProviderAllowedResponse + (*v1beta113.GetInfoByDomainResponse)(nil), // 201: cs3.ocm.provider.v1beta1.GetInfoByDomainResponse + (*v1beta113.ListAllProvidersResponse)(nil), // 202: cs3.ocm.provider.v1beta1.ListAllProvidersResponse + (*v1beta114.CreateOCMIncomingShareResponse)(nil), // 203: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse + (*v1beta114.UpdateOCMIncomingShareResponse)(nil), // 204: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse + (*v1beta114.DeleteOCMIncomingShareResponse)(nil), // 205: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse + (*v1beta115.CreateOCMCoreShareResponse)(nil), // 206: cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse + (*v1beta115.UpdateOCMCoreShareResponse)(nil), // 207: cs3.ocm.core.v1beta1.UpdateOCMCoreShareResponse + (*v1beta115.DeleteOCMCoreShareResponse)(nil), // 208: cs3.ocm.core.v1beta1.DeleteOCMCoreShareResponse + (*v1beta116.CreateTransferResponse)(nil), // 209: cs3.tx.v1beta1.CreateTransferResponse + (*v1beta116.GetTransferStatusResponse)(nil), // 210: cs3.tx.v1beta1.GetTransferStatusResponse + (*v1beta116.CancelTransferResponse)(nil), // 211: cs3.tx.v1beta1.CancelTransferResponse + (*v1beta116.ListTransfersResponse)(nil), // 212: cs3.tx.v1beta1.ListTransfersResponse + (*v1beta116.RetryTransferResponse)(nil), // 213: cs3.tx.v1beta1.RetryTransferResponse + (*v1beta117.CheckPermissionResponse)(nil), // 214: cs3.permissions.v1beta1.CheckPermissionResponse } var file_cs3_gateway_v1beta1_gateway_api_proto_depIdxs = []int32{ - 13, // 0: cs3.gateway.v1beta1.AuthenticateRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 14, // 1: cs3.gateway.v1beta1.AuthenticateResponse.status:type_name -> cs3.rpc.v1beta1.Status - 13, // 2: cs3.gateway.v1beta1.AuthenticateResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 15, // 3: cs3.gateway.v1beta1.AuthenticateResponse.user:type_name -> cs3.identity.user.v1beta1.User - 13, // 4: cs3.gateway.v1beta1.WhoAmIRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 14, // 5: cs3.gateway.v1beta1.WhoAmIResponse.status:type_name -> cs3.rpc.v1beta1.Status - 13, // 6: cs3.gateway.v1beta1.WhoAmIResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 15, // 7: cs3.gateway.v1beta1.WhoAmIResponse.user:type_name -> cs3.identity.user.v1beta1.User - 13, // 8: cs3.gateway.v1beta1.GetQuotaRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 16, // 9: cs3.gateway.v1beta1.GetQuotaRequest.ref:type_name -> cs3.storage.provider.v1beta1.Reference - 14, // 10: cs3.gateway.v1beta1.InitiateFileDownloadResponse.status:type_name -> cs3.rpc.v1beta1.Status - 13, // 11: cs3.gateway.v1beta1.InitiateFileDownloadResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 17, // 12: cs3.gateway.v1beta1.InitiateFileDownloadResponse.protocols:type_name -> cs3.gateway.v1beta1.FileDownloadProtocol - 14, // 13: cs3.gateway.v1beta1.InitiateFileUploadResponse.status:type_name -> cs3.rpc.v1beta1.Status - 13, // 14: cs3.gateway.v1beta1.InitiateFileUploadResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 18, // 15: cs3.gateway.v1beta1.InitiateFileUploadResponse.protocols:type_name -> cs3.gateway.v1beta1.FileUploadProtocol - 14, // 16: cs3.gateway.v1beta1.ListAuthProvidersResponse.status:type_name -> cs3.rpc.v1beta1.Status - 13, // 17: cs3.gateway.v1beta1.ListAuthProvidersResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 14, // 18: cs3.gateway.v1beta1.ListExistingSharesResponse.status:type_name -> cs3.rpc.v1beta1.Status - 13, // 19: cs3.gateway.v1beta1.ListExistingSharesResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 19, // 20: cs3.gateway.v1beta1.ListExistingSharesResponse.share_infos:type_name -> cs3.gateway.v1beta1.ShareResourceInfo - 14, // 21: cs3.gateway.v1beta1.ListExistingReceivedSharesResponse.status:type_name -> cs3.rpc.v1beta1.Status - 13, // 22: cs3.gateway.v1beta1.ListExistingReceivedSharesResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 20, // 23: cs3.gateway.v1beta1.ListExistingReceivedSharesResponse.share_infos:type_name -> cs3.gateway.v1beta1.ReceivedShareResourceInfo - 14, // 24: cs3.gateway.v1beta1.ListExistingPublicSharesResponse.status:type_name -> cs3.rpc.v1beta1.Status - 13, // 25: cs3.gateway.v1beta1.ListExistingPublicSharesResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 21, // 26: cs3.gateway.v1beta1.ListExistingPublicSharesResponse.share_infos:type_name -> cs3.gateway.v1beta1.PublicShareResourceInfo - 13, // 27: cs3.gateway.v1beta1.OpenInAppRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 16, // 28: cs3.gateway.v1beta1.OpenInAppRequest.ref:type_name -> cs3.storage.provider.v1beta1.Reference - 0, // 29: cs3.gateway.v1beta1.OpenInAppRequest.view_mode:type_name -> cs3.gateway.v1beta1.OpenInAppRequest.ViewMode - 1, // 30: cs3.gateway.v1beta1.GatewayAPI.Authenticate:input_type -> cs3.gateway.v1beta1.AuthenticateRequest - 3, // 31: cs3.gateway.v1beta1.GatewayAPI.WhoAmI:input_type -> cs3.gateway.v1beta1.WhoAmIRequest - 22, // 32: cs3.gateway.v1beta1.GatewayAPI.GenerateAppPassword:input_type -> cs3.auth.applications.v1beta1.GenerateAppPasswordRequest - 23, // 33: cs3.gateway.v1beta1.GatewayAPI.ListAppPasswords:input_type -> cs3.auth.applications.v1beta1.ListAppPasswordsRequest - 24, // 34: cs3.gateway.v1beta1.GatewayAPI.InvalidateAppPassword:input_type -> cs3.auth.applications.v1beta1.InvalidateAppPasswordRequest - 25, // 35: cs3.gateway.v1beta1.GatewayAPI.GetAppPassword:input_type -> cs3.auth.applications.v1beta1.GetAppPasswordRequest - 26, // 36: cs3.gateway.v1beta1.GatewayAPI.CreateContainer:input_type -> cs3.storage.provider.v1beta1.CreateContainerRequest - 27, // 37: cs3.gateway.v1beta1.GatewayAPI.TouchFile:input_type -> cs3.storage.provider.v1beta1.TouchFileRequest - 28, // 38: cs3.gateway.v1beta1.GatewayAPI.Delete:input_type -> cs3.storage.provider.v1beta1.DeleteRequest - 29, // 39: cs3.gateway.v1beta1.GatewayAPI.GetPath:input_type -> cs3.storage.provider.v1beta1.GetPathRequest - 5, // 40: cs3.gateway.v1beta1.GatewayAPI.GetQuota:input_type -> cs3.gateway.v1beta1.GetQuotaRequest - 30, // 41: cs3.gateway.v1beta1.GatewayAPI.InitiateFileDownload:input_type -> cs3.storage.provider.v1beta1.InitiateFileDownloadRequest - 31, // 42: cs3.gateway.v1beta1.GatewayAPI.InitiateFileUpload:input_type -> cs3.storage.provider.v1beta1.InitiateFileUploadRequest - 32, // 43: cs3.gateway.v1beta1.GatewayAPI.ListContainerStream:input_type -> cs3.storage.provider.v1beta1.ListContainerStreamRequest - 33, // 44: cs3.gateway.v1beta1.GatewayAPI.ListContainer:input_type -> cs3.storage.provider.v1beta1.ListContainerRequest - 34, // 45: cs3.gateway.v1beta1.GatewayAPI.ListFileVersions:input_type -> cs3.storage.provider.v1beta1.ListFileVersionsRequest - 35, // 46: cs3.gateway.v1beta1.GatewayAPI.ListRecycleStream:input_type -> cs3.storage.provider.v1beta1.ListRecycleStreamRequest - 36, // 47: cs3.gateway.v1beta1.GatewayAPI.ListRecycle:input_type -> cs3.storage.provider.v1beta1.ListRecycleRequest - 37, // 48: cs3.gateway.v1beta1.GatewayAPI.Move:input_type -> cs3.storage.provider.v1beta1.MoveRequest - 38, // 49: cs3.gateway.v1beta1.GatewayAPI.PurgeRecycle:input_type -> cs3.storage.provider.v1beta1.PurgeRecycleRequest - 39, // 50: cs3.gateway.v1beta1.GatewayAPI.RestoreFileVersion:input_type -> cs3.storage.provider.v1beta1.RestoreFileVersionRequest - 40, // 51: cs3.gateway.v1beta1.GatewayAPI.RestoreRecycleItem:input_type -> cs3.storage.provider.v1beta1.RestoreRecycleItemRequest - 41, // 52: cs3.gateway.v1beta1.GatewayAPI.Stat:input_type -> cs3.storage.provider.v1beta1.StatRequest - 42, // 53: cs3.gateway.v1beta1.GatewayAPI.CreateSymlink:input_type -> cs3.storage.provider.v1beta1.CreateSymlinkRequest - 43, // 54: cs3.gateway.v1beta1.GatewayAPI.SetArbitraryMetadata:input_type -> cs3.storage.provider.v1beta1.SetArbitraryMetadataRequest - 44, // 55: cs3.gateway.v1beta1.GatewayAPI.UnsetArbitraryMetadata:input_type -> cs3.storage.provider.v1beta1.UnsetArbitraryMetadataRequest - 45, // 56: cs3.gateway.v1beta1.GatewayAPI.SetLock:input_type -> cs3.storage.provider.v1beta1.SetLockRequest - 46, // 57: cs3.gateway.v1beta1.GatewayAPI.GetLock:input_type -> cs3.storage.provider.v1beta1.GetLockRequest - 47, // 58: cs3.gateway.v1beta1.GatewayAPI.RefreshLock:input_type -> cs3.storage.provider.v1beta1.RefreshLockRequest - 48, // 59: cs3.gateway.v1beta1.GatewayAPI.Unlock:input_type -> cs3.storage.provider.v1beta1.UnlockRequest - 49, // 60: cs3.gateway.v1beta1.GatewayAPI.CreateHome:input_type -> cs3.storage.provider.v1beta1.CreateHomeRequest - 50, // 61: cs3.gateway.v1beta1.GatewayAPI.CreateStorageSpace:input_type -> cs3.storage.provider.v1beta1.CreateStorageSpaceRequest - 51, // 62: cs3.gateway.v1beta1.GatewayAPI.ListStorageSpaces:input_type -> cs3.storage.provider.v1beta1.ListStorageSpacesRequest - 52, // 63: cs3.gateway.v1beta1.GatewayAPI.UpdateStorageSpace:input_type -> cs3.storage.provider.v1beta1.UpdateStorageSpaceRequest - 53, // 64: cs3.gateway.v1beta1.GatewayAPI.DeleteStorageSpace:input_type -> cs3.storage.provider.v1beta1.DeleteStorageSpaceRequest - 12, // 65: cs3.gateway.v1beta1.GatewayAPI.OpenInApp:input_type -> cs3.gateway.v1beta1.OpenInAppRequest - 54, // 66: cs3.gateway.v1beta1.GatewayAPI.CreateShare:input_type -> cs3.sharing.collaboration.v1beta1.CreateShareRequest - 55, // 67: cs3.gateway.v1beta1.GatewayAPI.RemoveShare:input_type -> cs3.sharing.collaboration.v1beta1.RemoveShareRequest - 56, // 68: cs3.gateway.v1beta1.GatewayAPI.GetShare:input_type -> cs3.sharing.collaboration.v1beta1.GetShareRequest - 57, // 69: cs3.gateway.v1beta1.GatewayAPI.ListShares:input_type -> cs3.sharing.collaboration.v1beta1.ListSharesRequest - 57, // 70: cs3.gateway.v1beta1.GatewayAPI.ListExistingShares:input_type -> cs3.sharing.collaboration.v1beta1.ListSharesRequest - 58, // 71: cs3.gateway.v1beta1.GatewayAPI.UpdateShare:input_type -> cs3.sharing.collaboration.v1beta1.UpdateShareRequest - 59, // 72: cs3.gateway.v1beta1.GatewayAPI.ListReceivedShares:input_type -> cs3.sharing.collaboration.v1beta1.ListReceivedSharesRequest - 59, // 73: cs3.gateway.v1beta1.GatewayAPI.ListExistingReceivedShares:input_type -> cs3.sharing.collaboration.v1beta1.ListReceivedSharesRequest - 60, // 74: cs3.gateway.v1beta1.GatewayAPI.UpdateReceivedShare:input_type -> cs3.sharing.collaboration.v1beta1.UpdateReceivedShareRequest - 61, // 75: cs3.gateway.v1beta1.GatewayAPI.GetReceivedShare:input_type -> cs3.sharing.collaboration.v1beta1.GetReceivedShareRequest - 62, // 76: cs3.gateway.v1beta1.GatewayAPI.SetKey:input_type -> cs3.preferences.v1beta1.SetKeyRequest - 63, // 77: cs3.gateway.v1beta1.GatewayAPI.GetKey:input_type -> cs3.preferences.v1beta1.GetKeyRequest - 64, // 78: cs3.gateway.v1beta1.GatewayAPI.CreatePublicShare:input_type -> cs3.sharing.link.v1beta1.CreatePublicShareRequest - 65, // 79: cs3.gateway.v1beta1.GatewayAPI.RemovePublicShare:input_type -> cs3.sharing.link.v1beta1.RemovePublicShareRequest - 66, // 80: cs3.gateway.v1beta1.GatewayAPI.GetPublicShare:input_type -> cs3.sharing.link.v1beta1.GetPublicShareRequest - 67, // 81: cs3.gateway.v1beta1.GatewayAPI.GetPublicShareByToken:input_type -> cs3.sharing.link.v1beta1.GetPublicShareByTokenRequest - 68, // 82: cs3.gateway.v1beta1.GatewayAPI.ListPublicShares:input_type -> cs3.sharing.link.v1beta1.ListPublicSharesRequest - 68, // 83: cs3.gateway.v1beta1.GatewayAPI.ListExistingPublicShares:input_type -> cs3.sharing.link.v1beta1.ListPublicSharesRequest - 69, // 84: cs3.gateway.v1beta1.GatewayAPI.UpdatePublicShare:input_type -> cs3.sharing.link.v1beta1.UpdatePublicShareRequest - 70, // 85: cs3.gateway.v1beta1.GatewayAPI.CreateOCMShare:input_type -> cs3.sharing.ocm.v1beta1.CreateOCMShareRequest - 71, // 86: cs3.gateway.v1beta1.GatewayAPI.RemoveOCMShare:input_type -> cs3.sharing.ocm.v1beta1.RemoveOCMShareRequest - 72, // 87: cs3.gateway.v1beta1.GatewayAPI.GetOCMShare:input_type -> cs3.sharing.ocm.v1beta1.GetOCMShareRequest - 73, // 88: cs3.gateway.v1beta1.GatewayAPI.GetOCMShareByToken:input_type -> cs3.sharing.ocm.v1beta1.GetOCMShareByTokenRequest - 74, // 89: cs3.gateway.v1beta1.GatewayAPI.ListOCMShares:input_type -> cs3.sharing.ocm.v1beta1.ListOCMSharesRequest - 75, // 90: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMShare:input_type -> cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest - 76, // 91: cs3.gateway.v1beta1.GatewayAPI.ListReceivedOCMShares:input_type -> cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest - 77, // 92: cs3.gateway.v1beta1.GatewayAPI.UpdateReceivedOCMShare:input_type -> cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest - 78, // 93: cs3.gateway.v1beta1.GatewayAPI.GetReceivedOCMShare:input_type -> cs3.sharing.ocm.v1beta1.GetReceivedOCMShareRequest - 79, // 94: cs3.gateway.v1beta1.GatewayAPI.GetAppProviders:input_type -> cs3.app.registry.v1beta1.GetAppProvidersRequest - 80, // 95: cs3.gateway.v1beta1.GatewayAPI.AddAppProvider:input_type -> cs3.app.registry.v1beta1.AddAppProviderRequest - 81, // 96: cs3.gateway.v1beta1.GatewayAPI.ListAppProviders:input_type -> cs3.app.registry.v1beta1.ListAppProvidersRequest - 82, // 97: cs3.gateway.v1beta1.GatewayAPI.ListSupportedMimeTypes:input_type -> cs3.app.registry.v1beta1.ListSupportedMimeTypesRequest - 83, // 98: cs3.gateway.v1beta1.GatewayAPI.GetDefaultAppProviderForMimeType:input_type -> cs3.app.registry.v1beta1.GetDefaultAppProviderForMimeTypeRequest - 84, // 99: cs3.gateway.v1beta1.GatewayAPI.SetDefaultAppProviderForMimeType:input_type -> cs3.app.registry.v1beta1.SetDefaultAppProviderForMimeTypeRequest - 85, // 100: cs3.gateway.v1beta1.GatewayAPI.GetUser:input_type -> cs3.identity.user.v1beta1.GetUserRequest - 86, // 101: cs3.gateway.v1beta1.GatewayAPI.GetUserByClaim:input_type -> cs3.identity.user.v1beta1.GetUserByClaimRequest - 87, // 102: cs3.gateway.v1beta1.GatewayAPI.GetUserGroups:input_type -> cs3.identity.user.v1beta1.GetUserGroupsRequest - 88, // 103: cs3.gateway.v1beta1.GatewayAPI.FindUsers:input_type -> cs3.identity.user.v1beta1.FindUsersRequest - 89, // 104: cs3.gateway.v1beta1.GatewayAPI.GetGroup:input_type -> cs3.identity.group.v1beta1.GetGroupRequest - 90, // 105: cs3.gateway.v1beta1.GatewayAPI.GetGroupByClaim:input_type -> cs3.identity.group.v1beta1.GetGroupByClaimRequest - 91, // 106: cs3.gateway.v1beta1.GatewayAPI.GetMembers:input_type -> cs3.identity.group.v1beta1.GetMembersRequest - 92, // 107: cs3.gateway.v1beta1.GatewayAPI.HasMember:input_type -> cs3.identity.group.v1beta1.HasMemberRequest - 93, // 108: cs3.gateway.v1beta1.GatewayAPI.FindGroups:input_type -> cs3.identity.group.v1beta1.FindGroupsRequest - 94, // 109: cs3.gateway.v1beta1.GatewayAPI.ListAuthProviders:input_type -> cs3.auth.registry.v1beta1.ListAuthProvidersRequest - 95, // 110: cs3.gateway.v1beta1.GatewayAPI.GetHome:input_type -> cs3.storage.provider.v1beta1.GetHomeRequest - 96, // 111: cs3.gateway.v1beta1.GatewayAPI.GenerateInviteToken:input_type -> cs3.ocm.invite.v1beta1.GenerateInviteTokenRequest - 97, // 112: cs3.gateway.v1beta1.GatewayAPI.ListInviteTokens:input_type -> cs3.ocm.invite.v1beta1.ListInviteTokensRequest - 98, // 113: cs3.gateway.v1beta1.GatewayAPI.ForwardInvite:input_type -> cs3.ocm.invite.v1beta1.ForwardInviteRequest - 99, // 114: cs3.gateway.v1beta1.GatewayAPI.AcceptInvite:input_type -> cs3.ocm.invite.v1beta1.AcceptInviteRequest - 100, // 115: cs3.gateway.v1beta1.GatewayAPI.GetAcceptedUser:input_type -> cs3.ocm.invite.v1beta1.GetAcceptedUserRequest - 101, // 116: cs3.gateway.v1beta1.GatewayAPI.FindAcceptedUsers:input_type -> cs3.ocm.invite.v1beta1.FindAcceptedUsersRequest - 102, // 117: cs3.gateway.v1beta1.GatewayAPI.DeleteAcceptedUser:input_type -> cs3.ocm.invite.v1beta1.DeleteAcceptedUserRequest - 103, // 118: cs3.gateway.v1beta1.GatewayAPI.IsProviderAllowed:input_type -> cs3.ocm.provider.v1beta1.IsProviderAllowedRequest - 104, // 119: cs3.gateway.v1beta1.GatewayAPI.GetInfoByDomain:input_type -> cs3.ocm.provider.v1beta1.GetInfoByDomainRequest - 105, // 120: cs3.gateway.v1beta1.GatewayAPI.ListAllProviders:input_type -> cs3.ocm.provider.v1beta1.ListAllProvidersRequest - 106, // 121: cs3.gateway.v1beta1.GatewayAPI.CreateOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest - 107, // 122: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest - 108, // 123: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.DeleteOCMCoreShareRequest - 109, // 124: cs3.gateway.v1beta1.GatewayAPI.CreateTransfer:input_type -> cs3.tx.v1beta1.CreateTransferRequest - 110, // 125: cs3.gateway.v1beta1.GatewayAPI.GetTransferStatus:input_type -> cs3.tx.v1beta1.GetTransferStatusRequest - 111, // 126: cs3.gateway.v1beta1.GatewayAPI.CancelTransfer:input_type -> cs3.tx.v1beta1.CancelTransferRequest - 112, // 127: cs3.gateway.v1beta1.GatewayAPI.ListTransfers:input_type -> cs3.tx.v1beta1.ListTransfersRequest - 113, // 128: cs3.gateway.v1beta1.GatewayAPI.RetryTransfer:input_type -> cs3.tx.v1beta1.RetryTransferRequest - 114, // 129: cs3.gateway.v1beta1.GatewayAPI.CheckPermission:input_type -> cs3.permissions.v1beta1.CheckPermissionRequest - 2, // 130: cs3.gateway.v1beta1.GatewayAPI.Authenticate:output_type -> cs3.gateway.v1beta1.AuthenticateResponse - 4, // 131: cs3.gateway.v1beta1.GatewayAPI.WhoAmI:output_type -> cs3.gateway.v1beta1.WhoAmIResponse - 115, // 132: cs3.gateway.v1beta1.GatewayAPI.GenerateAppPassword:output_type -> cs3.auth.applications.v1beta1.GenerateAppPasswordResponse - 116, // 133: cs3.gateway.v1beta1.GatewayAPI.ListAppPasswords:output_type -> cs3.auth.applications.v1beta1.ListAppPasswordsResponse - 117, // 134: cs3.gateway.v1beta1.GatewayAPI.InvalidateAppPassword:output_type -> cs3.auth.applications.v1beta1.InvalidateAppPasswordResponse - 118, // 135: cs3.gateway.v1beta1.GatewayAPI.GetAppPassword:output_type -> cs3.auth.applications.v1beta1.GetAppPasswordResponse - 119, // 136: cs3.gateway.v1beta1.GatewayAPI.CreateContainer:output_type -> cs3.storage.provider.v1beta1.CreateContainerResponse - 120, // 137: cs3.gateway.v1beta1.GatewayAPI.TouchFile:output_type -> cs3.storage.provider.v1beta1.TouchFileResponse - 121, // 138: cs3.gateway.v1beta1.GatewayAPI.Delete:output_type -> cs3.storage.provider.v1beta1.DeleteResponse - 122, // 139: cs3.gateway.v1beta1.GatewayAPI.GetPath:output_type -> cs3.storage.provider.v1beta1.GetPathResponse - 123, // 140: cs3.gateway.v1beta1.GatewayAPI.GetQuota:output_type -> cs3.storage.provider.v1beta1.GetQuotaResponse - 6, // 141: cs3.gateway.v1beta1.GatewayAPI.InitiateFileDownload:output_type -> cs3.gateway.v1beta1.InitiateFileDownloadResponse - 7, // 142: cs3.gateway.v1beta1.GatewayAPI.InitiateFileUpload:output_type -> cs3.gateway.v1beta1.InitiateFileUploadResponse - 124, // 143: cs3.gateway.v1beta1.GatewayAPI.ListContainerStream:output_type -> cs3.storage.provider.v1beta1.ListContainerStreamResponse - 125, // 144: cs3.gateway.v1beta1.GatewayAPI.ListContainer:output_type -> cs3.storage.provider.v1beta1.ListContainerResponse - 126, // 145: cs3.gateway.v1beta1.GatewayAPI.ListFileVersions:output_type -> cs3.storage.provider.v1beta1.ListFileVersionsResponse - 127, // 146: cs3.gateway.v1beta1.GatewayAPI.ListRecycleStream:output_type -> cs3.storage.provider.v1beta1.ListRecycleStreamResponse - 128, // 147: cs3.gateway.v1beta1.GatewayAPI.ListRecycle:output_type -> cs3.storage.provider.v1beta1.ListRecycleResponse - 129, // 148: cs3.gateway.v1beta1.GatewayAPI.Move:output_type -> cs3.storage.provider.v1beta1.MoveResponse - 130, // 149: cs3.gateway.v1beta1.GatewayAPI.PurgeRecycle:output_type -> cs3.storage.provider.v1beta1.PurgeRecycleResponse - 131, // 150: cs3.gateway.v1beta1.GatewayAPI.RestoreFileVersion:output_type -> cs3.storage.provider.v1beta1.RestoreFileVersionResponse - 132, // 151: cs3.gateway.v1beta1.GatewayAPI.RestoreRecycleItem:output_type -> cs3.storage.provider.v1beta1.RestoreRecycleItemResponse - 133, // 152: cs3.gateway.v1beta1.GatewayAPI.Stat:output_type -> cs3.storage.provider.v1beta1.StatResponse - 134, // 153: cs3.gateway.v1beta1.GatewayAPI.CreateSymlink:output_type -> cs3.storage.provider.v1beta1.CreateSymlinkResponse - 135, // 154: cs3.gateway.v1beta1.GatewayAPI.SetArbitraryMetadata:output_type -> cs3.storage.provider.v1beta1.SetArbitraryMetadataResponse - 136, // 155: cs3.gateway.v1beta1.GatewayAPI.UnsetArbitraryMetadata:output_type -> cs3.storage.provider.v1beta1.UnsetArbitraryMetadataResponse - 137, // 156: cs3.gateway.v1beta1.GatewayAPI.SetLock:output_type -> cs3.storage.provider.v1beta1.SetLockResponse - 138, // 157: cs3.gateway.v1beta1.GatewayAPI.GetLock:output_type -> cs3.storage.provider.v1beta1.GetLockResponse - 139, // 158: cs3.gateway.v1beta1.GatewayAPI.RefreshLock:output_type -> cs3.storage.provider.v1beta1.RefreshLockResponse - 140, // 159: cs3.gateway.v1beta1.GatewayAPI.Unlock:output_type -> cs3.storage.provider.v1beta1.UnlockResponse - 141, // 160: cs3.gateway.v1beta1.GatewayAPI.CreateHome:output_type -> cs3.storage.provider.v1beta1.CreateHomeResponse - 142, // 161: cs3.gateway.v1beta1.GatewayAPI.CreateStorageSpace:output_type -> cs3.storage.provider.v1beta1.CreateStorageSpaceResponse - 143, // 162: cs3.gateway.v1beta1.GatewayAPI.ListStorageSpaces:output_type -> cs3.storage.provider.v1beta1.ListStorageSpacesResponse - 144, // 163: cs3.gateway.v1beta1.GatewayAPI.UpdateStorageSpace:output_type -> cs3.storage.provider.v1beta1.UpdateStorageSpaceResponse - 145, // 164: cs3.gateway.v1beta1.GatewayAPI.DeleteStorageSpace:output_type -> cs3.storage.provider.v1beta1.DeleteStorageSpaceResponse - 146, // 165: cs3.gateway.v1beta1.GatewayAPI.OpenInApp:output_type -> cs3.app.provider.v1beta1.OpenInAppResponse - 147, // 166: cs3.gateway.v1beta1.GatewayAPI.CreateShare:output_type -> cs3.sharing.collaboration.v1beta1.CreateShareResponse - 148, // 167: cs3.gateway.v1beta1.GatewayAPI.RemoveShare:output_type -> cs3.sharing.collaboration.v1beta1.RemoveShareResponse - 149, // 168: cs3.gateway.v1beta1.GatewayAPI.GetShare:output_type -> cs3.sharing.collaboration.v1beta1.GetShareResponse - 150, // 169: cs3.gateway.v1beta1.GatewayAPI.ListShares:output_type -> cs3.sharing.collaboration.v1beta1.ListSharesResponse - 9, // 170: cs3.gateway.v1beta1.GatewayAPI.ListExistingShares:output_type -> cs3.gateway.v1beta1.ListExistingSharesResponse - 151, // 171: cs3.gateway.v1beta1.GatewayAPI.UpdateShare:output_type -> cs3.sharing.collaboration.v1beta1.UpdateShareResponse - 152, // 172: cs3.gateway.v1beta1.GatewayAPI.ListReceivedShares:output_type -> cs3.sharing.collaboration.v1beta1.ListReceivedSharesResponse - 10, // 173: cs3.gateway.v1beta1.GatewayAPI.ListExistingReceivedShares:output_type -> cs3.gateway.v1beta1.ListExistingReceivedSharesResponse - 153, // 174: cs3.gateway.v1beta1.GatewayAPI.UpdateReceivedShare:output_type -> cs3.sharing.collaboration.v1beta1.UpdateReceivedShareResponse - 154, // 175: cs3.gateway.v1beta1.GatewayAPI.GetReceivedShare:output_type -> cs3.sharing.collaboration.v1beta1.GetReceivedShareResponse - 155, // 176: cs3.gateway.v1beta1.GatewayAPI.SetKey:output_type -> cs3.preferences.v1beta1.SetKeyResponse - 156, // 177: cs3.gateway.v1beta1.GatewayAPI.GetKey:output_type -> cs3.preferences.v1beta1.GetKeyResponse - 157, // 178: cs3.gateway.v1beta1.GatewayAPI.CreatePublicShare:output_type -> cs3.sharing.link.v1beta1.CreatePublicShareResponse - 158, // 179: cs3.gateway.v1beta1.GatewayAPI.RemovePublicShare:output_type -> cs3.sharing.link.v1beta1.RemovePublicShareResponse - 159, // 180: cs3.gateway.v1beta1.GatewayAPI.GetPublicShare:output_type -> cs3.sharing.link.v1beta1.GetPublicShareResponse - 160, // 181: cs3.gateway.v1beta1.GatewayAPI.GetPublicShareByToken:output_type -> cs3.sharing.link.v1beta1.GetPublicShareByTokenResponse - 161, // 182: cs3.gateway.v1beta1.GatewayAPI.ListPublicShares:output_type -> cs3.sharing.link.v1beta1.ListPublicSharesResponse - 11, // 183: cs3.gateway.v1beta1.GatewayAPI.ListExistingPublicShares:output_type -> cs3.gateway.v1beta1.ListExistingPublicSharesResponse - 162, // 184: cs3.gateway.v1beta1.GatewayAPI.UpdatePublicShare:output_type -> cs3.sharing.link.v1beta1.UpdatePublicShareResponse - 163, // 185: cs3.gateway.v1beta1.GatewayAPI.CreateOCMShare:output_type -> cs3.sharing.ocm.v1beta1.CreateOCMShareResponse - 164, // 186: cs3.gateway.v1beta1.GatewayAPI.RemoveOCMShare:output_type -> cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse - 165, // 187: cs3.gateway.v1beta1.GatewayAPI.GetOCMShare:output_type -> cs3.sharing.ocm.v1beta1.GetOCMShareResponse - 166, // 188: cs3.gateway.v1beta1.GatewayAPI.GetOCMShareByToken:output_type -> cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse - 167, // 189: cs3.gateway.v1beta1.GatewayAPI.ListOCMShares:output_type -> cs3.sharing.ocm.v1beta1.ListOCMSharesResponse - 168, // 190: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMShare:output_type -> cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse - 169, // 191: cs3.gateway.v1beta1.GatewayAPI.ListReceivedOCMShares:output_type -> cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse - 170, // 192: cs3.gateway.v1beta1.GatewayAPI.UpdateReceivedOCMShare:output_type -> cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse - 171, // 193: cs3.gateway.v1beta1.GatewayAPI.GetReceivedOCMShare:output_type -> cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse - 172, // 194: cs3.gateway.v1beta1.GatewayAPI.GetAppProviders:output_type -> cs3.app.registry.v1beta1.GetAppProvidersResponse - 173, // 195: cs3.gateway.v1beta1.GatewayAPI.AddAppProvider:output_type -> cs3.app.registry.v1beta1.AddAppProviderResponse - 174, // 196: cs3.gateway.v1beta1.GatewayAPI.ListAppProviders:output_type -> cs3.app.registry.v1beta1.ListAppProvidersResponse - 175, // 197: cs3.gateway.v1beta1.GatewayAPI.ListSupportedMimeTypes:output_type -> cs3.app.registry.v1beta1.ListSupportedMimeTypesResponse - 176, // 198: cs3.gateway.v1beta1.GatewayAPI.GetDefaultAppProviderForMimeType:output_type -> cs3.app.registry.v1beta1.GetDefaultAppProviderForMimeTypeResponse - 177, // 199: cs3.gateway.v1beta1.GatewayAPI.SetDefaultAppProviderForMimeType:output_type -> cs3.app.registry.v1beta1.SetDefaultAppProviderForMimeTypeResponse - 178, // 200: cs3.gateway.v1beta1.GatewayAPI.GetUser:output_type -> cs3.identity.user.v1beta1.GetUserResponse - 179, // 201: cs3.gateway.v1beta1.GatewayAPI.GetUserByClaim:output_type -> cs3.identity.user.v1beta1.GetUserByClaimResponse - 180, // 202: cs3.gateway.v1beta1.GatewayAPI.GetUserGroups:output_type -> cs3.identity.user.v1beta1.GetUserGroupsResponse - 181, // 203: cs3.gateway.v1beta1.GatewayAPI.FindUsers:output_type -> cs3.identity.user.v1beta1.FindUsersResponse - 182, // 204: cs3.gateway.v1beta1.GatewayAPI.GetGroup:output_type -> cs3.identity.group.v1beta1.GetGroupResponse - 183, // 205: cs3.gateway.v1beta1.GatewayAPI.GetGroupByClaim:output_type -> cs3.identity.group.v1beta1.GetGroupByClaimResponse - 184, // 206: cs3.gateway.v1beta1.GatewayAPI.GetMembers:output_type -> cs3.identity.group.v1beta1.GetMembersResponse - 185, // 207: cs3.gateway.v1beta1.GatewayAPI.HasMember:output_type -> cs3.identity.group.v1beta1.HasMemberResponse - 186, // 208: cs3.gateway.v1beta1.GatewayAPI.FindGroups:output_type -> cs3.identity.group.v1beta1.FindGroupsResponse - 8, // 209: cs3.gateway.v1beta1.GatewayAPI.ListAuthProviders:output_type -> cs3.gateway.v1beta1.ListAuthProvidersResponse - 187, // 210: cs3.gateway.v1beta1.GatewayAPI.GetHome:output_type -> cs3.storage.provider.v1beta1.GetHomeResponse - 188, // 211: cs3.gateway.v1beta1.GatewayAPI.GenerateInviteToken:output_type -> cs3.ocm.invite.v1beta1.GenerateInviteTokenResponse - 189, // 212: cs3.gateway.v1beta1.GatewayAPI.ListInviteTokens:output_type -> cs3.ocm.invite.v1beta1.ListInviteTokensResponse - 190, // 213: cs3.gateway.v1beta1.GatewayAPI.ForwardInvite:output_type -> cs3.ocm.invite.v1beta1.ForwardInviteResponse - 191, // 214: cs3.gateway.v1beta1.GatewayAPI.AcceptInvite:output_type -> cs3.ocm.invite.v1beta1.AcceptInviteResponse - 192, // 215: cs3.gateway.v1beta1.GatewayAPI.GetAcceptedUser:output_type -> cs3.ocm.invite.v1beta1.GetAcceptedUserResponse - 193, // 216: cs3.gateway.v1beta1.GatewayAPI.FindAcceptedUsers:output_type -> cs3.ocm.invite.v1beta1.FindAcceptedUsersResponse - 194, // 217: cs3.gateway.v1beta1.GatewayAPI.DeleteAcceptedUser:output_type -> cs3.ocm.invite.v1beta1.DeleteAcceptedUserResponse - 195, // 218: cs3.gateway.v1beta1.GatewayAPI.IsProviderAllowed:output_type -> cs3.ocm.provider.v1beta1.IsProviderAllowedResponse - 196, // 219: cs3.gateway.v1beta1.GatewayAPI.GetInfoByDomain:output_type -> cs3.ocm.provider.v1beta1.GetInfoByDomainResponse - 197, // 220: cs3.gateway.v1beta1.GatewayAPI.ListAllProviders:output_type -> cs3.ocm.provider.v1beta1.ListAllProvidersResponse - 198, // 221: cs3.gateway.v1beta1.GatewayAPI.CreateOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse - 199, // 222: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.UpdateOCMCoreShareResponse - 200, // 223: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.DeleteOCMCoreShareResponse - 201, // 224: cs3.gateway.v1beta1.GatewayAPI.CreateTransfer:output_type -> cs3.tx.v1beta1.CreateTransferResponse - 202, // 225: cs3.gateway.v1beta1.GatewayAPI.GetTransferStatus:output_type -> cs3.tx.v1beta1.GetTransferStatusResponse - 203, // 226: cs3.gateway.v1beta1.GatewayAPI.CancelTransfer:output_type -> cs3.tx.v1beta1.CancelTransferResponse - 204, // 227: cs3.gateway.v1beta1.GatewayAPI.ListTransfers:output_type -> cs3.tx.v1beta1.ListTransfersResponse - 205, // 228: cs3.gateway.v1beta1.GatewayAPI.RetryTransfer:output_type -> cs3.tx.v1beta1.RetryTransferResponse - 206, // 229: cs3.gateway.v1beta1.GatewayAPI.CheckPermission:output_type -> cs3.permissions.v1beta1.CheckPermissionResponse - 130, // [130:230] is the sub-list for method output_type - 30, // [30:130] is the sub-list for method input_type - 30, // [30:30] is the sub-list for extension type_name - 30, // [30:30] is the sub-list for extension extendee - 0, // [0:30] is the sub-list for field type_name + 14, // 0: cs3.gateway.v1beta1.AuthenticateRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 15, // 1: cs3.gateway.v1beta1.AuthenticateResponse.status:type_name -> cs3.rpc.v1beta1.Status + 14, // 2: cs3.gateway.v1beta1.AuthenticateResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 16, // 3: cs3.gateway.v1beta1.AuthenticateResponse.user:type_name -> cs3.identity.user.v1beta1.User + 14, // 4: cs3.gateway.v1beta1.WhoAmIRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 15, // 5: cs3.gateway.v1beta1.WhoAmIResponse.status:type_name -> cs3.rpc.v1beta1.Status + 14, // 6: cs3.gateway.v1beta1.WhoAmIResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 16, // 7: cs3.gateway.v1beta1.WhoAmIResponse.user:type_name -> cs3.identity.user.v1beta1.User + 14, // 8: cs3.gateway.v1beta1.GetQuotaRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 17, // 9: cs3.gateway.v1beta1.GetQuotaRequest.ref:type_name -> cs3.storage.provider.v1beta1.Reference + 15, // 10: cs3.gateway.v1beta1.InitiateFileDownloadResponse.status:type_name -> cs3.rpc.v1beta1.Status + 14, // 11: cs3.gateway.v1beta1.InitiateFileDownloadResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 18, // 12: cs3.gateway.v1beta1.InitiateFileDownloadResponse.protocols:type_name -> cs3.gateway.v1beta1.FileDownloadProtocol + 15, // 13: cs3.gateway.v1beta1.InitiateFileUploadResponse.status:type_name -> cs3.rpc.v1beta1.Status + 14, // 14: cs3.gateway.v1beta1.InitiateFileUploadResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 19, // 15: cs3.gateway.v1beta1.InitiateFileUploadResponse.protocols:type_name -> cs3.gateway.v1beta1.FileUploadProtocol + 15, // 16: cs3.gateway.v1beta1.ListAuthProvidersResponse.status:type_name -> cs3.rpc.v1beta1.Status + 14, // 17: cs3.gateway.v1beta1.ListAuthProvidersResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 15, // 18: cs3.gateway.v1beta1.ListExistingSharesResponse.status:type_name -> cs3.rpc.v1beta1.Status + 14, // 19: cs3.gateway.v1beta1.ListExistingSharesResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 20, // 20: cs3.gateway.v1beta1.ListExistingSharesResponse.share_infos:type_name -> cs3.gateway.v1beta1.ShareResourceInfo + 15, // 21: cs3.gateway.v1beta1.ListExistingReceivedSharesResponse.status:type_name -> cs3.rpc.v1beta1.Status + 14, // 22: cs3.gateway.v1beta1.ListExistingReceivedSharesResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 21, // 23: cs3.gateway.v1beta1.ListExistingReceivedSharesResponse.share_infos:type_name -> cs3.gateway.v1beta1.ReceivedShareResourceInfo + 15, // 24: cs3.gateway.v1beta1.ListExistingPublicSharesResponse.status:type_name -> cs3.rpc.v1beta1.Status + 14, // 25: cs3.gateway.v1beta1.ListExistingPublicSharesResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 22, // 26: cs3.gateway.v1beta1.ListExistingPublicSharesResponse.share_infos:type_name -> cs3.gateway.v1beta1.PublicShareResourceInfo + 15, // 27: cs3.gateway.v1beta1.ListExistingOCMSharesResponse.status:type_name -> cs3.rpc.v1beta1.Status + 14, // 28: cs3.gateway.v1beta1.ListExistingOCMSharesResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 23, // 29: cs3.gateway.v1beta1.ListExistingOCMSharesResponse.share_infos:type_name -> cs3.gateway.v1beta1.OCMShareResourceInfo + 14, // 30: cs3.gateway.v1beta1.OpenInAppRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 17, // 31: cs3.gateway.v1beta1.OpenInAppRequest.ref:type_name -> cs3.storage.provider.v1beta1.Reference + 0, // 32: cs3.gateway.v1beta1.OpenInAppRequest.view_mode:type_name -> cs3.gateway.v1beta1.OpenInAppRequest.ViewMode + 1, // 33: cs3.gateway.v1beta1.GatewayAPI.Authenticate:input_type -> cs3.gateway.v1beta1.AuthenticateRequest + 3, // 34: cs3.gateway.v1beta1.GatewayAPI.WhoAmI:input_type -> cs3.gateway.v1beta1.WhoAmIRequest + 24, // 35: cs3.gateway.v1beta1.GatewayAPI.GenerateAppPassword:input_type -> cs3.auth.applications.v1beta1.GenerateAppPasswordRequest + 25, // 36: cs3.gateway.v1beta1.GatewayAPI.ListAppPasswords:input_type -> cs3.auth.applications.v1beta1.ListAppPasswordsRequest + 26, // 37: cs3.gateway.v1beta1.GatewayAPI.InvalidateAppPassword:input_type -> cs3.auth.applications.v1beta1.InvalidateAppPasswordRequest + 27, // 38: cs3.gateway.v1beta1.GatewayAPI.GetAppPassword:input_type -> cs3.auth.applications.v1beta1.GetAppPasswordRequest + 28, // 39: cs3.gateway.v1beta1.GatewayAPI.CreateContainer:input_type -> cs3.storage.provider.v1beta1.CreateContainerRequest + 29, // 40: cs3.gateway.v1beta1.GatewayAPI.TouchFile:input_type -> cs3.storage.provider.v1beta1.TouchFileRequest + 30, // 41: cs3.gateway.v1beta1.GatewayAPI.Delete:input_type -> cs3.storage.provider.v1beta1.DeleteRequest + 31, // 42: cs3.gateway.v1beta1.GatewayAPI.GetPath:input_type -> cs3.storage.provider.v1beta1.GetPathRequest + 5, // 43: cs3.gateway.v1beta1.GatewayAPI.GetQuota:input_type -> cs3.gateway.v1beta1.GetQuotaRequest + 32, // 44: cs3.gateway.v1beta1.GatewayAPI.InitiateFileDownload:input_type -> cs3.storage.provider.v1beta1.InitiateFileDownloadRequest + 33, // 45: cs3.gateway.v1beta1.GatewayAPI.InitiateFileUpload:input_type -> cs3.storage.provider.v1beta1.InitiateFileUploadRequest + 34, // 46: cs3.gateway.v1beta1.GatewayAPI.ListContainerStream:input_type -> cs3.storage.provider.v1beta1.ListContainerStreamRequest + 35, // 47: cs3.gateway.v1beta1.GatewayAPI.ListContainer:input_type -> cs3.storage.provider.v1beta1.ListContainerRequest + 36, // 48: cs3.gateway.v1beta1.GatewayAPI.ListFileVersions:input_type -> cs3.storage.provider.v1beta1.ListFileVersionsRequest + 37, // 49: cs3.gateway.v1beta1.GatewayAPI.ListRecycleStream:input_type -> cs3.storage.provider.v1beta1.ListRecycleStreamRequest + 38, // 50: cs3.gateway.v1beta1.GatewayAPI.ListRecycle:input_type -> cs3.storage.provider.v1beta1.ListRecycleRequest + 39, // 51: cs3.gateway.v1beta1.GatewayAPI.Move:input_type -> cs3.storage.provider.v1beta1.MoveRequest + 40, // 52: cs3.gateway.v1beta1.GatewayAPI.PurgeRecycle:input_type -> cs3.storage.provider.v1beta1.PurgeRecycleRequest + 41, // 53: cs3.gateway.v1beta1.GatewayAPI.RestoreFileVersion:input_type -> cs3.storage.provider.v1beta1.RestoreFileVersionRequest + 42, // 54: cs3.gateway.v1beta1.GatewayAPI.RestoreRecycleItem:input_type -> cs3.storage.provider.v1beta1.RestoreRecycleItemRequest + 43, // 55: cs3.gateway.v1beta1.GatewayAPI.Stat:input_type -> cs3.storage.provider.v1beta1.StatRequest + 44, // 56: cs3.gateway.v1beta1.GatewayAPI.CreateSymlink:input_type -> cs3.storage.provider.v1beta1.CreateSymlinkRequest + 45, // 57: cs3.gateway.v1beta1.GatewayAPI.SetArbitraryMetadata:input_type -> cs3.storage.provider.v1beta1.SetArbitraryMetadataRequest + 46, // 58: cs3.gateway.v1beta1.GatewayAPI.UnsetArbitraryMetadata:input_type -> cs3.storage.provider.v1beta1.UnsetArbitraryMetadataRequest + 47, // 59: cs3.gateway.v1beta1.GatewayAPI.SetLock:input_type -> cs3.storage.provider.v1beta1.SetLockRequest + 48, // 60: cs3.gateway.v1beta1.GatewayAPI.GetLock:input_type -> cs3.storage.provider.v1beta1.GetLockRequest + 49, // 61: cs3.gateway.v1beta1.GatewayAPI.RefreshLock:input_type -> cs3.storage.provider.v1beta1.RefreshLockRequest + 50, // 62: cs3.gateway.v1beta1.GatewayAPI.Unlock:input_type -> cs3.storage.provider.v1beta1.UnlockRequest + 51, // 63: cs3.gateway.v1beta1.GatewayAPI.CreateHome:input_type -> cs3.storage.provider.v1beta1.CreateHomeRequest + 52, // 64: cs3.gateway.v1beta1.GatewayAPI.CreateStorageSpace:input_type -> cs3.storage.provider.v1beta1.CreateStorageSpaceRequest + 53, // 65: cs3.gateway.v1beta1.GatewayAPI.ListStorageSpaces:input_type -> cs3.storage.provider.v1beta1.ListStorageSpacesRequest + 54, // 66: cs3.gateway.v1beta1.GatewayAPI.UpdateStorageSpace:input_type -> cs3.storage.provider.v1beta1.UpdateStorageSpaceRequest + 55, // 67: cs3.gateway.v1beta1.GatewayAPI.DeleteStorageSpace:input_type -> cs3.storage.provider.v1beta1.DeleteStorageSpaceRequest + 13, // 68: cs3.gateway.v1beta1.GatewayAPI.OpenInApp:input_type -> cs3.gateway.v1beta1.OpenInAppRequest + 56, // 69: cs3.gateway.v1beta1.GatewayAPI.CreateShare:input_type -> cs3.sharing.collaboration.v1beta1.CreateShareRequest + 57, // 70: cs3.gateway.v1beta1.GatewayAPI.RemoveShare:input_type -> cs3.sharing.collaboration.v1beta1.RemoveShareRequest + 58, // 71: cs3.gateway.v1beta1.GatewayAPI.GetShare:input_type -> cs3.sharing.collaboration.v1beta1.GetShareRequest + 59, // 72: cs3.gateway.v1beta1.GatewayAPI.ListShares:input_type -> cs3.sharing.collaboration.v1beta1.ListSharesRequest + 59, // 73: cs3.gateway.v1beta1.GatewayAPI.ListExistingShares:input_type -> cs3.sharing.collaboration.v1beta1.ListSharesRequest + 60, // 74: cs3.gateway.v1beta1.GatewayAPI.UpdateShare:input_type -> cs3.sharing.collaboration.v1beta1.UpdateShareRequest + 61, // 75: cs3.gateway.v1beta1.GatewayAPI.ListReceivedShares:input_type -> cs3.sharing.collaboration.v1beta1.ListReceivedSharesRequest + 61, // 76: cs3.gateway.v1beta1.GatewayAPI.ListExistingReceivedShares:input_type -> cs3.sharing.collaboration.v1beta1.ListReceivedSharesRequest + 62, // 77: cs3.gateway.v1beta1.GatewayAPI.UpdateReceivedShare:input_type -> cs3.sharing.collaboration.v1beta1.UpdateReceivedShareRequest + 63, // 78: cs3.gateway.v1beta1.GatewayAPI.GetReceivedShare:input_type -> cs3.sharing.collaboration.v1beta1.GetReceivedShareRequest + 64, // 79: cs3.gateway.v1beta1.GatewayAPI.SetKey:input_type -> cs3.preferences.v1beta1.SetKeyRequest + 65, // 80: cs3.gateway.v1beta1.GatewayAPI.GetKey:input_type -> cs3.preferences.v1beta1.GetKeyRequest + 66, // 81: cs3.gateway.v1beta1.GatewayAPI.CreatePublicShare:input_type -> cs3.sharing.link.v1beta1.CreatePublicShareRequest + 67, // 82: cs3.gateway.v1beta1.GatewayAPI.RemovePublicShare:input_type -> cs3.sharing.link.v1beta1.RemovePublicShareRequest + 68, // 83: cs3.gateway.v1beta1.GatewayAPI.GetPublicShare:input_type -> cs3.sharing.link.v1beta1.GetPublicShareRequest + 69, // 84: cs3.gateway.v1beta1.GatewayAPI.GetPublicShareByToken:input_type -> cs3.sharing.link.v1beta1.GetPublicShareByTokenRequest + 70, // 85: cs3.gateway.v1beta1.GatewayAPI.ListPublicShares:input_type -> cs3.sharing.link.v1beta1.ListPublicSharesRequest + 70, // 86: cs3.gateway.v1beta1.GatewayAPI.ListExistingPublicShares:input_type -> cs3.sharing.link.v1beta1.ListPublicSharesRequest + 71, // 87: cs3.gateway.v1beta1.GatewayAPI.UpdatePublicShare:input_type -> cs3.sharing.link.v1beta1.UpdatePublicShareRequest + 72, // 88: cs3.gateway.v1beta1.GatewayAPI.CreateOCMShare:input_type -> cs3.sharing.ocm.v1beta1.CreateOCMShareRequest + 73, // 89: cs3.gateway.v1beta1.GatewayAPI.RemoveOCMShare:input_type -> cs3.sharing.ocm.v1beta1.RemoveOCMShareRequest + 74, // 90: cs3.gateway.v1beta1.GatewayAPI.GetOCMShare:input_type -> cs3.sharing.ocm.v1beta1.GetOCMShareRequest + 75, // 91: cs3.gateway.v1beta1.GatewayAPI.GetOCMShareByToken:input_type -> cs3.sharing.ocm.v1beta1.GetOCMShareByTokenRequest + 76, // 92: cs3.gateway.v1beta1.GatewayAPI.ListOCMShares:input_type -> cs3.sharing.ocm.v1beta1.ListOCMSharesRequest + 76, // 93: cs3.gateway.v1beta1.GatewayAPI.ListExistingOCMShares:input_type -> cs3.sharing.ocm.v1beta1.ListOCMSharesRequest + 77, // 94: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMShare:input_type -> cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest + 78, // 95: cs3.gateway.v1beta1.GatewayAPI.ListReceivedOCMShares:input_type -> cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest + 79, // 96: cs3.gateway.v1beta1.GatewayAPI.UpdateReceivedOCMShare:input_type -> cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest + 80, // 97: cs3.gateway.v1beta1.GatewayAPI.GetReceivedOCMShare:input_type -> cs3.sharing.ocm.v1beta1.GetReceivedOCMShareRequest + 81, // 98: cs3.gateway.v1beta1.GatewayAPI.GetAppProviders:input_type -> cs3.app.registry.v1beta1.GetAppProvidersRequest + 82, // 99: cs3.gateway.v1beta1.GatewayAPI.AddAppProvider:input_type -> cs3.app.registry.v1beta1.AddAppProviderRequest + 83, // 100: cs3.gateway.v1beta1.GatewayAPI.ListAppProviders:input_type -> cs3.app.registry.v1beta1.ListAppProvidersRequest + 84, // 101: cs3.gateway.v1beta1.GatewayAPI.ListSupportedMimeTypes:input_type -> cs3.app.registry.v1beta1.ListSupportedMimeTypesRequest + 85, // 102: cs3.gateway.v1beta1.GatewayAPI.GetDefaultAppProviderForMimeType:input_type -> cs3.app.registry.v1beta1.GetDefaultAppProviderForMimeTypeRequest + 86, // 103: cs3.gateway.v1beta1.GatewayAPI.SetDefaultAppProviderForMimeType:input_type -> cs3.app.registry.v1beta1.SetDefaultAppProviderForMimeTypeRequest + 87, // 104: cs3.gateway.v1beta1.GatewayAPI.GetUser:input_type -> cs3.identity.user.v1beta1.GetUserRequest + 88, // 105: cs3.gateway.v1beta1.GatewayAPI.GetUserByClaim:input_type -> cs3.identity.user.v1beta1.GetUserByClaimRequest + 89, // 106: cs3.gateway.v1beta1.GatewayAPI.GetUserGroups:input_type -> cs3.identity.user.v1beta1.GetUserGroupsRequest + 90, // 107: cs3.gateway.v1beta1.GatewayAPI.FindUsers:input_type -> cs3.identity.user.v1beta1.FindUsersRequest + 91, // 108: cs3.gateway.v1beta1.GatewayAPI.GetGroup:input_type -> cs3.identity.group.v1beta1.GetGroupRequest + 92, // 109: cs3.gateway.v1beta1.GatewayAPI.GetGroupByClaim:input_type -> cs3.identity.group.v1beta1.GetGroupByClaimRequest + 93, // 110: cs3.gateway.v1beta1.GatewayAPI.GetMembers:input_type -> cs3.identity.group.v1beta1.GetMembersRequest + 94, // 111: cs3.gateway.v1beta1.GatewayAPI.HasMember:input_type -> cs3.identity.group.v1beta1.HasMemberRequest + 95, // 112: cs3.gateway.v1beta1.GatewayAPI.FindGroups:input_type -> cs3.identity.group.v1beta1.FindGroupsRequest + 96, // 113: cs3.gateway.v1beta1.GatewayAPI.ListAuthProviders:input_type -> cs3.auth.registry.v1beta1.ListAuthProvidersRequest + 97, // 114: cs3.gateway.v1beta1.GatewayAPI.GetHome:input_type -> cs3.storage.provider.v1beta1.GetHomeRequest + 98, // 115: cs3.gateway.v1beta1.GatewayAPI.GenerateInviteToken:input_type -> cs3.ocm.invite.v1beta1.GenerateInviteTokenRequest + 99, // 116: cs3.gateway.v1beta1.GatewayAPI.ListInviteTokens:input_type -> cs3.ocm.invite.v1beta1.ListInviteTokensRequest + 100, // 117: cs3.gateway.v1beta1.GatewayAPI.ForwardInvite:input_type -> cs3.ocm.invite.v1beta1.ForwardInviteRequest + 101, // 118: cs3.gateway.v1beta1.GatewayAPI.AcceptInvite:input_type -> cs3.ocm.invite.v1beta1.AcceptInviteRequest + 102, // 119: cs3.gateway.v1beta1.GatewayAPI.GetAcceptedUser:input_type -> cs3.ocm.invite.v1beta1.GetAcceptedUserRequest + 103, // 120: cs3.gateway.v1beta1.GatewayAPI.FindAcceptedUsers:input_type -> cs3.ocm.invite.v1beta1.FindAcceptedUsersRequest + 104, // 121: cs3.gateway.v1beta1.GatewayAPI.DeleteAcceptedUser:input_type -> cs3.ocm.invite.v1beta1.DeleteAcceptedUserRequest + 105, // 122: cs3.gateway.v1beta1.GatewayAPI.IsProviderAllowed:input_type -> cs3.ocm.provider.v1beta1.IsProviderAllowedRequest + 106, // 123: cs3.gateway.v1beta1.GatewayAPI.GetInfoByDomain:input_type -> cs3.ocm.provider.v1beta1.GetInfoByDomainRequest + 107, // 124: cs3.gateway.v1beta1.GatewayAPI.ListAllProviders:input_type -> cs3.ocm.provider.v1beta1.ListAllProvidersRequest + 108, // 125: cs3.gateway.v1beta1.GatewayAPI.CreateOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest + 109, // 126: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest + 110, // 127: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareRequest + 111, // 128: cs3.gateway.v1beta1.GatewayAPI.CreateOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest + 112, // 129: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest + 113, // 130: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.DeleteOCMCoreShareRequest + 114, // 131: cs3.gateway.v1beta1.GatewayAPI.CreateTransfer:input_type -> cs3.tx.v1beta1.CreateTransferRequest + 115, // 132: cs3.gateway.v1beta1.GatewayAPI.GetTransferStatus:input_type -> cs3.tx.v1beta1.GetTransferStatusRequest + 116, // 133: cs3.gateway.v1beta1.GatewayAPI.CancelTransfer:input_type -> cs3.tx.v1beta1.CancelTransferRequest + 117, // 134: cs3.gateway.v1beta1.GatewayAPI.ListTransfers:input_type -> cs3.tx.v1beta1.ListTransfersRequest + 118, // 135: cs3.gateway.v1beta1.GatewayAPI.RetryTransfer:input_type -> cs3.tx.v1beta1.RetryTransferRequest + 119, // 136: cs3.gateway.v1beta1.GatewayAPI.CheckPermission:input_type -> cs3.permissions.v1beta1.CheckPermissionRequest + 2, // 137: cs3.gateway.v1beta1.GatewayAPI.Authenticate:output_type -> cs3.gateway.v1beta1.AuthenticateResponse + 4, // 138: cs3.gateway.v1beta1.GatewayAPI.WhoAmI:output_type -> cs3.gateway.v1beta1.WhoAmIResponse + 120, // 139: cs3.gateway.v1beta1.GatewayAPI.GenerateAppPassword:output_type -> cs3.auth.applications.v1beta1.GenerateAppPasswordResponse + 121, // 140: cs3.gateway.v1beta1.GatewayAPI.ListAppPasswords:output_type -> cs3.auth.applications.v1beta1.ListAppPasswordsResponse + 122, // 141: cs3.gateway.v1beta1.GatewayAPI.InvalidateAppPassword:output_type -> cs3.auth.applications.v1beta1.InvalidateAppPasswordResponse + 123, // 142: cs3.gateway.v1beta1.GatewayAPI.GetAppPassword:output_type -> cs3.auth.applications.v1beta1.GetAppPasswordResponse + 124, // 143: cs3.gateway.v1beta1.GatewayAPI.CreateContainer:output_type -> cs3.storage.provider.v1beta1.CreateContainerResponse + 125, // 144: cs3.gateway.v1beta1.GatewayAPI.TouchFile:output_type -> cs3.storage.provider.v1beta1.TouchFileResponse + 126, // 145: cs3.gateway.v1beta1.GatewayAPI.Delete:output_type -> cs3.storage.provider.v1beta1.DeleteResponse + 127, // 146: cs3.gateway.v1beta1.GatewayAPI.GetPath:output_type -> cs3.storage.provider.v1beta1.GetPathResponse + 128, // 147: cs3.gateway.v1beta1.GatewayAPI.GetQuota:output_type -> cs3.storage.provider.v1beta1.GetQuotaResponse + 6, // 148: cs3.gateway.v1beta1.GatewayAPI.InitiateFileDownload:output_type -> cs3.gateway.v1beta1.InitiateFileDownloadResponse + 7, // 149: cs3.gateway.v1beta1.GatewayAPI.InitiateFileUpload:output_type -> cs3.gateway.v1beta1.InitiateFileUploadResponse + 129, // 150: cs3.gateway.v1beta1.GatewayAPI.ListContainerStream:output_type -> cs3.storage.provider.v1beta1.ListContainerStreamResponse + 130, // 151: cs3.gateway.v1beta1.GatewayAPI.ListContainer:output_type -> cs3.storage.provider.v1beta1.ListContainerResponse + 131, // 152: cs3.gateway.v1beta1.GatewayAPI.ListFileVersions:output_type -> cs3.storage.provider.v1beta1.ListFileVersionsResponse + 132, // 153: cs3.gateway.v1beta1.GatewayAPI.ListRecycleStream:output_type -> cs3.storage.provider.v1beta1.ListRecycleStreamResponse + 133, // 154: cs3.gateway.v1beta1.GatewayAPI.ListRecycle:output_type -> cs3.storage.provider.v1beta1.ListRecycleResponse + 134, // 155: cs3.gateway.v1beta1.GatewayAPI.Move:output_type -> cs3.storage.provider.v1beta1.MoveResponse + 135, // 156: cs3.gateway.v1beta1.GatewayAPI.PurgeRecycle:output_type -> cs3.storage.provider.v1beta1.PurgeRecycleResponse + 136, // 157: cs3.gateway.v1beta1.GatewayAPI.RestoreFileVersion:output_type -> cs3.storage.provider.v1beta1.RestoreFileVersionResponse + 137, // 158: cs3.gateway.v1beta1.GatewayAPI.RestoreRecycleItem:output_type -> cs3.storage.provider.v1beta1.RestoreRecycleItemResponse + 138, // 159: cs3.gateway.v1beta1.GatewayAPI.Stat:output_type -> cs3.storage.provider.v1beta1.StatResponse + 139, // 160: cs3.gateway.v1beta1.GatewayAPI.CreateSymlink:output_type -> cs3.storage.provider.v1beta1.CreateSymlinkResponse + 140, // 161: cs3.gateway.v1beta1.GatewayAPI.SetArbitraryMetadata:output_type -> cs3.storage.provider.v1beta1.SetArbitraryMetadataResponse + 141, // 162: cs3.gateway.v1beta1.GatewayAPI.UnsetArbitraryMetadata:output_type -> cs3.storage.provider.v1beta1.UnsetArbitraryMetadataResponse + 142, // 163: cs3.gateway.v1beta1.GatewayAPI.SetLock:output_type -> cs3.storage.provider.v1beta1.SetLockResponse + 143, // 164: cs3.gateway.v1beta1.GatewayAPI.GetLock:output_type -> cs3.storage.provider.v1beta1.GetLockResponse + 144, // 165: cs3.gateway.v1beta1.GatewayAPI.RefreshLock:output_type -> cs3.storage.provider.v1beta1.RefreshLockResponse + 145, // 166: cs3.gateway.v1beta1.GatewayAPI.Unlock:output_type -> cs3.storage.provider.v1beta1.UnlockResponse + 146, // 167: cs3.gateway.v1beta1.GatewayAPI.CreateHome:output_type -> cs3.storage.provider.v1beta1.CreateHomeResponse + 147, // 168: cs3.gateway.v1beta1.GatewayAPI.CreateStorageSpace:output_type -> cs3.storage.provider.v1beta1.CreateStorageSpaceResponse + 148, // 169: cs3.gateway.v1beta1.GatewayAPI.ListStorageSpaces:output_type -> cs3.storage.provider.v1beta1.ListStorageSpacesResponse + 149, // 170: cs3.gateway.v1beta1.GatewayAPI.UpdateStorageSpace:output_type -> cs3.storage.provider.v1beta1.UpdateStorageSpaceResponse + 150, // 171: cs3.gateway.v1beta1.GatewayAPI.DeleteStorageSpace:output_type -> cs3.storage.provider.v1beta1.DeleteStorageSpaceResponse + 151, // 172: cs3.gateway.v1beta1.GatewayAPI.OpenInApp:output_type -> cs3.app.provider.v1beta1.OpenInAppResponse + 152, // 173: cs3.gateway.v1beta1.GatewayAPI.CreateShare:output_type -> cs3.sharing.collaboration.v1beta1.CreateShareResponse + 153, // 174: cs3.gateway.v1beta1.GatewayAPI.RemoveShare:output_type -> cs3.sharing.collaboration.v1beta1.RemoveShareResponse + 154, // 175: cs3.gateway.v1beta1.GatewayAPI.GetShare:output_type -> cs3.sharing.collaboration.v1beta1.GetShareResponse + 155, // 176: cs3.gateway.v1beta1.GatewayAPI.ListShares:output_type -> cs3.sharing.collaboration.v1beta1.ListSharesResponse + 9, // 177: cs3.gateway.v1beta1.GatewayAPI.ListExistingShares:output_type -> cs3.gateway.v1beta1.ListExistingSharesResponse + 156, // 178: cs3.gateway.v1beta1.GatewayAPI.UpdateShare:output_type -> cs3.sharing.collaboration.v1beta1.UpdateShareResponse + 157, // 179: cs3.gateway.v1beta1.GatewayAPI.ListReceivedShares:output_type -> cs3.sharing.collaboration.v1beta1.ListReceivedSharesResponse + 10, // 180: cs3.gateway.v1beta1.GatewayAPI.ListExistingReceivedShares:output_type -> cs3.gateway.v1beta1.ListExistingReceivedSharesResponse + 158, // 181: cs3.gateway.v1beta1.GatewayAPI.UpdateReceivedShare:output_type -> cs3.sharing.collaboration.v1beta1.UpdateReceivedShareResponse + 159, // 182: cs3.gateway.v1beta1.GatewayAPI.GetReceivedShare:output_type -> cs3.sharing.collaboration.v1beta1.GetReceivedShareResponse + 160, // 183: cs3.gateway.v1beta1.GatewayAPI.SetKey:output_type -> cs3.preferences.v1beta1.SetKeyResponse + 161, // 184: cs3.gateway.v1beta1.GatewayAPI.GetKey:output_type -> cs3.preferences.v1beta1.GetKeyResponse + 162, // 185: cs3.gateway.v1beta1.GatewayAPI.CreatePublicShare:output_type -> cs3.sharing.link.v1beta1.CreatePublicShareResponse + 163, // 186: cs3.gateway.v1beta1.GatewayAPI.RemovePublicShare:output_type -> cs3.sharing.link.v1beta1.RemovePublicShareResponse + 164, // 187: cs3.gateway.v1beta1.GatewayAPI.GetPublicShare:output_type -> cs3.sharing.link.v1beta1.GetPublicShareResponse + 165, // 188: cs3.gateway.v1beta1.GatewayAPI.GetPublicShareByToken:output_type -> cs3.sharing.link.v1beta1.GetPublicShareByTokenResponse + 166, // 189: cs3.gateway.v1beta1.GatewayAPI.ListPublicShares:output_type -> cs3.sharing.link.v1beta1.ListPublicSharesResponse + 11, // 190: cs3.gateway.v1beta1.GatewayAPI.ListExistingPublicShares:output_type -> cs3.gateway.v1beta1.ListExistingPublicSharesResponse + 167, // 191: cs3.gateway.v1beta1.GatewayAPI.UpdatePublicShare:output_type -> cs3.sharing.link.v1beta1.UpdatePublicShareResponse + 168, // 192: cs3.gateway.v1beta1.GatewayAPI.CreateOCMShare:output_type -> cs3.sharing.ocm.v1beta1.CreateOCMShareResponse + 169, // 193: cs3.gateway.v1beta1.GatewayAPI.RemoveOCMShare:output_type -> cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse + 170, // 194: cs3.gateway.v1beta1.GatewayAPI.GetOCMShare:output_type -> cs3.sharing.ocm.v1beta1.GetOCMShareResponse + 171, // 195: cs3.gateway.v1beta1.GatewayAPI.GetOCMShareByToken:output_type -> cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse + 172, // 196: cs3.gateway.v1beta1.GatewayAPI.ListOCMShares:output_type -> cs3.sharing.ocm.v1beta1.ListOCMSharesResponse + 12, // 197: cs3.gateway.v1beta1.GatewayAPI.ListExistingOCMShares:output_type -> cs3.gateway.v1beta1.ListExistingOCMSharesResponse + 173, // 198: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMShare:output_type -> cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse + 174, // 199: cs3.gateway.v1beta1.GatewayAPI.ListReceivedOCMShares:output_type -> cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse + 175, // 200: cs3.gateway.v1beta1.GatewayAPI.UpdateReceivedOCMShare:output_type -> cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse + 176, // 201: cs3.gateway.v1beta1.GatewayAPI.GetReceivedOCMShare:output_type -> cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse + 177, // 202: cs3.gateway.v1beta1.GatewayAPI.GetAppProviders:output_type -> cs3.app.registry.v1beta1.GetAppProvidersResponse + 178, // 203: cs3.gateway.v1beta1.GatewayAPI.AddAppProvider:output_type -> cs3.app.registry.v1beta1.AddAppProviderResponse + 179, // 204: cs3.gateway.v1beta1.GatewayAPI.ListAppProviders:output_type -> cs3.app.registry.v1beta1.ListAppProvidersResponse + 180, // 205: cs3.gateway.v1beta1.GatewayAPI.ListSupportedMimeTypes:output_type -> cs3.app.registry.v1beta1.ListSupportedMimeTypesResponse + 181, // 206: cs3.gateway.v1beta1.GatewayAPI.GetDefaultAppProviderForMimeType:output_type -> cs3.app.registry.v1beta1.GetDefaultAppProviderForMimeTypeResponse + 182, // 207: cs3.gateway.v1beta1.GatewayAPI.SetDefaultAppProviderForMimeType:output_type -> cs3.app.registry.v1beta1.SetDefaultAppProviderForMimeTypeResponse + 183, // 208: cs3.gateway.v1beta1.GatewayAPI.GetUser:output_type -> cs3.identity.user.v1beta1.GetUserResponse + 184, // 209: cs3.gateway.v1beta1.GatewayAPI.GetUserByClaim:output_type -> cs3.identity.user.v1beta1.GetUserByClaimResponse + 185, // 210: cs3.gateway.v1beta1.GatewayAPI.GetUserGroups:output_type -> cs3.identity.user.v1beta1.GetUserGroupsResponse + 186, // 211: cs3.gateway.v1beta1.GatewayAPI.FindUsers:output_type -> cs3.identity.user.v1beta1.FindUsersResponse + 187, // 212: cs3.gateway.v1beta1.GatewayAPI.GetGroup:output_type -> cs3.identity.group.v1beta1.GetGroupResponse + 188, // 213: cs3.gateway.v1beta1.GatewayAPI.GetGroupByClaim:output_type -> cs3.identity.group.v1beta1.GetGroupByClaimResponse + 189, // 214: cs3.gateway.v1beta1.GatewayAPI.GetMembers:output_type -> cs3.identity.group.v1beta1.GetMembersResponse + 190, // 215: cs3.gateway.v1beta1.GatewayAPI.HasMember:output_type -> cs3.identity.group.v1beta1.HasMemberResponse + 191, // 216: cs3.gateway.v1beta1.GatewayAPI.FindGroups:output_type -> cs3.identity.group.v1beta1.FindGroupsResponse + 8, // 217: cs3.gateway.v1beta1.GatewayAPI.ListAuthProviders:output_type -> cs3.gateway.v1beta1.ListAuthProvidersResponse + 192, // 218: cs3.gateway.v1beta1.GatewayAPI.GetHome:output_type -> cs3.storage.provider.v1beta1.GetHomeResponse + 193, // 219: cs3.gateway.v1beta1.GatewayAPI.GenerateInviteToken:output_type -> cs3.ocm.invite.v1beta1.GenerateInviteTokenResponse + 194, // 220: cs3.gateway.v1beta1.GatewayAPI.ListInviteTokens:output_type -> cs3.ocm.invite.v1beta1.ListInviteTokensResponse + 195, // 221: cs3.gateway.v1beta1.GatewayAPI.ForwardInvite:output_type -> cs3.ocm.invite.v1beta1.ForwardInviteResponse + 196, // 222: cs3.gateway.v1beta1.GatewayAPI.AcceptInvite:output_type -> cs3.ocm.invite.v1beta1.AcceptInviteResponse + 197, // 223: cs3.gateway.v1beta1.GatewayAPI.GetAcceptedUser:output_type -> cs3.ocm.invite.v1beta1.GetAcceptedUserResponse + 198, // 224: cs3.gateway.v1beta1.GatewayAPI.FindAcceptedUsers:output_type -> cs3.ocm.invite.v1beta1.FindAcceptedUsersResponse + 199, // 225: cs3.gateway.v1beta1.GatewayAPI.DeleteAcceptedUser:output_type -> cs3.ocm.invite.v1beta1.DeleteAcceptedUserResponse + 200, // 226: cs3.gateway.v1beta1.GatewayAPI.IsProviderAllowed:output_type -> cs3.ocm.provider.v1beta1.IsProviderAllowedResponse + 201, // 227: cs3.gateway.v1beta1.GatewayAPI.GetInfoByDomain:output_type -> cs3.ocm.provider.v1beta1.GetInfoByDomainResponse + 202, // 228: cs3.gateway.v1beta1.GatewayAPI.ListAllProviders:output_type -> cs3.ocm.provider.v1beta1.ListAllProvidersResponse + 203, // 229: cs3.gateway.v1beta1.GatewayAPI.CreateOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse + 204, // 230: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse + 205, // 231: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse + 206, // 232: cs3.gateway.v1beta1.GatewayAPI.CreateOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse + 207, // 233: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.UpdateOCMCoreShareResponse + 208, // 234: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.DeleteOCMCoreShareResponse + 209, // 235: cs3.gateway.v1beta1.GatewayAPI.CreateTransfer:output_type -> cs3.tx.v1beta1.CreateTransferResponse + 210, // 236: cs3.gateway.v1beta1.GatewayAPI.GetTransferStatus:output_type -> cs3.tx.v1beta1.GetTransferStatusResponse + 211, // 237: cs3.gateway.v1beta1.GatewayAPI.CancelTransfer:output_type -> cs3.tx.v1beta1.CancelTransferResponse + 212, // 238: cs3.gateway.v1beta1.GatewayAPI.ListTransfers:output_type -> cs3.tx.v1beta1.ListTransfersResponse + 213, // 239: cs3.gateway.v1beta1.GatewayAPI.RetryTransfer:output_type -> cs3.tx.v1beta1.RetryTransferResponse + 214, // 240: cs3.gateway.v1beta1.GatewayAPI.CheckPermission:output_type -> cs3.permissions.v1beta1.CheckPermissionResponse + 137, // [137:241] is the sub-list for method output_type + 33, // [33:137] is the sub-list for method input_type + 33, // [33:33] is the sub-list for extension type_name + 33, // [33:33] is the sub-list for extension extendee + 0, // [0:33] is the sub-list for field type_name } func init() { file_cs3_gateway_v1beta1_gateway_api_proto_init() } @@ -2610,6 +2770,18 @@ func file_cs3_gateway_v1beta1_gateway_api_proto_init() { } } file_cs3_gateway_v1beta1_gateway_api_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListExistingOCMSharesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs3_gateway_v1beta1_gateway_api_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OpenInAppRequest); i { case 0: return &v.state @@ -2628,7 +2800,7 @@ func file_cs3_gateway_v1beta1_gateway_api_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cs3_gateway_v1beta1_gateway_api_proto_rawDesc, NumEnums: 1, - NumMessages: 12, + NumMessages: 13, NumExtensions: 0, NumServices: 1, }, diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1/gateway_api_grpc.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1/gateway_api_grpc.pb.go index 4f1ad916eb..9858404108 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1/gateway_api_grpc.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1/gateway_api_grpc.pb.go @@ -32,16 +32,17 @@ import ( v1beta110 "github.com/cs3org/go-cs3apis/cs3/auth/registry/v1beta1" v1beta19 "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1" v1beta18 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" - v1beta113 "github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1" + v1beta114 "github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1" + v1beta113 "github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1" v1beta111 "github.com/cs3org/go-cs3apis/cs3/ocm/invite/v1beta1" v1beta112 "github.com/cs3org/go-cs3apis/cs3/ocm/provider/v1beta1" - v1beta115 "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1" + v1beta116 "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1" v1beta14 "github.com/cs3org/go-cs3apis/cs3/preferences/v1beta1" v1beta13 "github.com/cs3org/go-cs3apis/cs3/sharing/collaboration/v1beta1" v1beta15 "github.com/cs3org/go-cs3apis/cs3/sharing/link/v1beta1" v1beta16 "github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1" v1beta11 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" - v1beta114 "github.com/cs3org/go-cs3apis/cs3/tx/v1beta1" + v1beta115 "github.com/cs3org/go-cs3apis/cs3/tx/v1beta1" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -113,6 +114,7 @@ const ( GatewayAPI_GetOCMShare_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/GetOCMShare" GatewayAPI_GetOCMShareByToken_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/GetOCMShareByToken" GatewayAPI_ListOCMShares_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/ListOCMShares" + GatewayAPI_ListExistingOCMShares_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/ListExistingOCMShares" GatewayAPI_UpdateOCMShare_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/UpdateOCMShare" GatewayAPI_ListReceivedOCMShares_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/ListReceivedOCMShares" GatewayAPI_UpdateReceivedOCMShare_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/UpdateReceivedOCMShare" @@ -144,6 +146,9 @@ const ( GatewayAPI_IsProviderAllowed_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/IsProviderAllowed" GatewayAPI_GetInfoByDomain_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/GetInfoByDomain" GatewayAPI_ListAllProviders_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/ListAllProviders" + GatewayAPI_CreateOCMIncomingShare_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/CreateOCMIncomingShare" + GatewayAPI_UpdateOCMIncomingShare_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/UpdateOCMIncomingShare" + GatewayAPI_DeleteOCMIncomingShare_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/DeleteOCMIncomingShare" GatewayAPI_CreateOCMCoreShare_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/CreateOCMCoreShare" GatewayAPI_UpdateOCMCoreShare_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/UpdateOCMCoreShare" GatewayAPI_DeleteOCMCoreShare_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/DeleteOCMCoreShare" @@ -371,6 +376,9 @@ type GatewayAPIClient interface { // both as owner and creator. If a filter is specified, only // shares satisfying the filter MUST be returned. ListOCMShares(ctx context.Context, in *v1beta16.ListOCMSharesRequest, opts ...grpc.CallOption) (*v1beta16.ListOCMSharesResponse, error) + // List all existing shares the authenticated principal has created, + // including their storage resource information. + ListExistingOCMShares(ctx context.Context, in *v1beta16.ListOCMSharesRequest, opts ...grpc.CallOption) (*ListExistingOCMSharesResponse, error) // Updates a share. // MUST return CODE_NOT_FOUND if the share reference does not exist. UpdateOCMShare(ctx context.Context, in *v1beta16.UpdateOCMShareRequest, opts ...grpc.CallOption) (*v1beta16.UpdateOCMShareResponse, error) @@ -442,24 +450,30 @@ type GatewayAPIClient interface { GetInfoByDomain(ctx context.Context, in *v1beta112.GetInfoByDomainRequest, opts ...grpc.CallOption) (*v1beta112.GetInfoByDomainResponse, error) // Get the information of all the providers registered in the mesh. ListAllProviders(ctx context.Context, in *v1beta112.ListAllProvidersRequest, opts ...grpc.CallOption) (*v1beta112.ListAllProvidersResponse, error) - // Creates a new OCM share. - CreateOCMCoreShare(ctx context.Context, in *v1beta113.CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta113.CreateOCMCoreShareResponse, error) - // Updates an OCM share. - UpdateOCMCoreShare(ctx context.Context, in *v1beta113.UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta113.UpdateOCMCoreShareResponse, error) - // Deletes an OCM share. - DeleteOCMCoreShare(ctx context.Context, in *v1beta113.DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta113.DeleteOCMCoreShareResponse, error) + // Creates a new incoming OCM share. + CreateOCMIncomingShare(ctx context.Context, in *v1beta113.CreateOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta113.CreateOCMIncomingShareResponse, error) + // Updates an incoming OCM share. + UpdateOCMIncomingShare(ctx context.Context, in *v1beta113.UpdateOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta113.UpdateOCMIncomingShareResponse, error) + // Deletes an incoming OCM share. + DeleteOCMIncomingShare(ctx context.Context, in *v1beta113.DeleteOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta113.DeleteOCMIncomingShareResponse, error) + // Deprecated. Creates a new OCM share. + CreateOCMCoreShare(ctx context.Context, in *v1beta114.CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta114.CreateOCMCoreShareResponse, error) + // Deprecated. Updates an OCM share. + UpdateOCMCoreShare(ctx context.Context, in *v1beta114.UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta114.UpdateOCMCoreShareResponse, error) + // Deprecated. Deletes an OCM share. + DeleteOCMCoreShare(ctx context.Context, in *v1beta114.DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta114.DeleteOCMCoreShareResponse, error) // Requests creation of a transfer. - CreateTransfer(ctx context.Context, in *v1beta114.CreateTransferRequest, opts ...grpc.CallOption) (*v1beta114.CreateTransferResponse, error) + CreateTransfer(ctx context.Context, in *v1beta115.CreateTransferRequest, opts ...grpc.CallOption) (*v1beta115.CreateTransferResponse, error) // Requests a transfer status. - GetTransferStatus(ctx context.Context, in *v1beta114.GetTransferStatusRequest, opts ...grpc.CallOption) (*v1beta114.GetTransferStatusResponse, error) + GetTransferStatus(ctx context.Context, in *v1beta115.GetTransferStatusRequest, opts ...grpc.CallOption) (*v1beta115.GetTransferStatusResponse, error) // Requests to cancel a transfer. - CancelTransfer(ctx context.Context, in *v1beta114.CancelTransferRequest, opts ...grpc.CallOption) (*v1beta114.CancelTransferResponse, error) + CancelTransfer(ctx context.Context, in *v1beta115.CancelTransferRequest, opts ...grpc.CallOption) (*v1beta115.CancelTransferResponse, error) // Requests a list of transfers received by the authenticated principle. - ListTransfers(ctx context.Context, in *v1beta114.ListTransfersRequest, opts ...grpc.CallOption) (*v1beta114.ListTransfersResponse, error) + ListTransfers(ctx context.Context, in *v1beta115.ListTransfersRequest, opts ...grpc.CallOption) (*v1beta115.ListTransfersResponse, error) // Requests retrying a transfer. - RetryTransfer(ctx context.Context, in *v1beta114.RetryTransferRequest, opts ...grpc.CallOption) (*v1beta114.RetryTransferResponse, error) + RetryTransfer(ctx context.Context, in *v1beta115.RetryTransferRequest, opts ...grpc.CallOption) (*v1beta115.RetryTransferResponse, error) // CheckPermission checks if a user or group has a certain permission. - CheckPermission(ctx context.Context, in *v1beta115.CheckPermissionRequest, opts ...grpc.CallOption) (*v1beta115.CheckPermissionResponse, error) + CheckPermission(ctx context.Context, in *v1beta116.CheckPermissionRequest, opts ...grpc.CallOption) (*v1beta116.CheckPermissionResponse, error) } type gatewayAPIClient struct { @@ -1056,6 +1070,15 @@ func (c *gatewayAPIClient) ListOCMShares(ctx context.Context, in *v1beta16.ListO return out, nil } +func (c *gatewayAPIClient) ListExistingOCMShares(ctx context.Context, in *v1beta16.ListOCMSharesRequest, opts ...grpc.CallOption) (*ListExistingOCMSharesResponse, error) { + out := new(ListExistingOCMSharesResponse) + err := c.cc.Invoke(ctx, GatewayAPI_ListExistingOCMShares_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *gatewayAPIClient) UpdateOCMShare(ctx context.Context, in *v1beta16.UpdateOCMShareRequest, opts ...grpc.CallOption) (*v1beta16.UpdateOCMShareResponse, error) { out := new(v1beta16.UpdateOCMShareResponse) err := c.cc.Invoke(ctx, GatewayAPI_UpdateOCMShare_FullMethodName, in, out, opts...) @@ -1335,8 +1358,35 @@ func (c *gatewayAPIClient) ListAllProviders(ctx context.Context, in *v1beta112.L return out, nil } -func (c *gatewayAPIClient) CreateOCMCoreShare(ctx context.Context, in *v1beta113.CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta113.CreateOCMCoreShareResponse, error) { - out := new(v1beta113.CreateOCMCoreShareResponse) +func (c *gatewayAPIClient) CreateOCMIncomingShare(ctx context.Context, in *v1beta113.CreateOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta113.CreateOCMIncomingShareResponse, error) { + out := new(v1beta113.CreateOCMIncomingShareResponse) + err := c.cc.Invoke(ctx, GatewayAPI_CreateOCMIncomingShare_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gatewayAPIClient) UpdateOCMIncomingShare(ctx context.Context, in *v1beta113.UpdateOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta113.UpdateOCMIncomingShareResponse, error) { + out := new(v1beta113.UpdateOCMIncomingShareResponse) + err := c.cc.Invoke(ctx, GatewayAPI_UpdateOCMIncomingShare_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gatewayAPIClient) DeleteOCMIncomingShare(ctx context.Context, in *v1beta113.DeleteOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta113.DeleteOCMIncomingShareResponse, error) { + out := new(v1beta113.DeleteOCMIncomingShareResponse) + err := c.cc.Invoke(ctx, GatewayAPI_DeleteOCMIncomingShare_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gatewayAPIClient) CreateOCMCoreShare(ctx context.Context, in *v1beta114.CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta114.CreateOCMCoreShareResponse, error) { + out := new(v1beta114.CreateOCMCoreShareResponse) err := c.cc.Invoke(ctx, GatewayAPI_CreateOCMCoreShare_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1344,8 +1394,8 @@ func (c *gatewayAPIClient) CreateOCMCoreShare(ctx context.Context, in *v1beta113 return out, nil } -func (c *gatewayAPIClient) UpdateOCMCoreShare(ctx context.Context, in *v1beta113.UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta113.UpdateOCMCoreShareResponse, error) { - out := new(v1beta113.UpdateOCMCoreShareResponse) +func (c *gatewayAPIClient) UpdateOCMCoreShare(ctx context.Context, in *v1beta114.UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta114.UpdateOCMCoreShareResponse, error) { + out := new(v1beta114.UpdateOCMCoreShareResponse) err := c.cc.Invoke(ctx, GatewayAPI_UpdateOCMCoreShare_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1353,8 +1403,8 @@ func (c *gatewayAPIClient) UpdateOCMCoreShare(ctx context.Context, in *v1beta113 return out, nil } -func (c *gatewayAPIClient) DeleteOCMCoreShare(ctx context.Context, in *v1beta113.DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta113.DeleteOCMCoreShareResponse, error) { - out := new(v1beta113.DeleteOCMCoreShareResponse) +func (c *gatewayAPIClient) DeleteOCMCoreShare(ctx context.Context, in *v1beta114.DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta114.DeleteOCMCoreShareResponse, error) { + out := new(v1beta114.DeleteOCMCoreShareResponse) err := c.cc.Invoke(ctx, GatewayAPI_DeleteOCMCoreShare_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1362,8 +1412,8 @@ func (c *gatewayAPIClient) DeleteOCMCoreShare(ctx context.Context, in *v1beta113 return out, nil } -func (c *gatewayAPIClient) CreateTransfer(ctx context.Context, in *v1beta114.CreateTransferRequest, opts ...grpc.CallOption) (*v1beta114.CreateTransferResponse, error) { - out := new(v1beta114.CreateTransferResponse) +func (c *gatewayAPIClient) CreateTransfer(ctx context.Context, in *v1beta115.CreateTransferRequest, opts ...grpc.CallOption) (*v1beta115.CreateTransferResponse, error) { + out := new(v1beta115.CreateTransferResponse) err := c.cc.Invoke(ctx, GatewayAPI_CreateTransfer_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1371,8 +1421,8 @@ func (c *gatewayAPIClient) CreateTransfer(ctx context.Context, in *v1beta114.Cre return out, nil } -func (c *gatewayAPIClient) GetTransferStatus(ctx context.Context, in *v1beta114.GetTransferStatusRequest, opts ...grpc.CallOption) (*v1beta114.GetTransferStatusResponse, error) { - out := new(v1beta114.GetTransferStatusResponse) +func (c *gatewayAPIClient) GetTransferStatus(ctx context.Context, in *v1beta115.GetTransferStatusRequest, opts ...grpc.CallOption) (*v1beta115.GetTransferStatusResponse, error) { + out := new(v1beta115.GetTransferStatusResponse) err := c.cc.Invoke(ctx, GatewayAPI_GetTransferStatus_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1380,8 +1430,8 @@ func (c *gatewayAPIClient) GetTransferStatus(ctx context.Context, in *v1beta114. return out, nil } -func (c *gatewayAPIClient) CancelTransfer(ctx context.Context, in *v1beta114.CancelTransferRequest, opts ...grpc.CallOption) (*v1beta114.CancelTransferResponse, error) { - out := new(v1beta114.CancelTransferResponse) +func (c *gatewayAPIClient) CancelTransfer(ctx context.Context, in *v1beta115.CancelTransferRequest, opts ...grpc.CallOption) (*v1beta115.CancelTransferResponse, error) { + out := new(v1beta115.CancelTransferResponse) err := c.cc.Invoke(ctx, GatewayAPI_CancelTransfer_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1389,8 +1439,8 @@ func (c *gatewayAPIClient) CancelTransfer(ctx context.Context, in *v1beta114.Can return out, nil } -func (c *gatewayAPIClient) ListTransfers(ctx context.Context, in *v1beta114.ListTransfersRequest, opts ...grpc.CallOption) (*v1beta114.ListTransfersResponse, error) { - out := new(v1beta114.ListTransfersResponse) +func (c *gatewayAPIClient) ListTransfers(ctx context.Context, in *v1beta115.ListTransfersRequest, opts ...grpc.CallOption) (*v1beta115.ListTransfersResponse, error) { + out := new(v1beta115.ListTransfersResponse) err := c.cc.Invoke(ctx, GatewayAPI_ListTransfers_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1398,8 +1448,8 @@ func (c *gatewayAPIClient) ListTransfers(ctx context.Context, in *v1beta114.List return out, nil } -func (c *gatewayAPIClient) RetryTransfer(ctx context.Context, in *v1beta114.RetryTransferRequest, opts ...grpc.CallOption) (*v1beta114.RetryTransferResponse, error) { - out := new(v1beta114.RetryTransferResponse) +func (c *gatewayAPIClient) RetryTransfer(ctx context.Context, in *v1beta115.RetryTransferRequest, opts ...grpc.CallOption) (*v1beta115.RetryTransferResponse, error) { + out := new(v1beta115.RetryTransferResponse) err := c.cc.Invoke(ctx, GatewayAPI_RetryTransfer_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1407,8 +1457,8 @@ func (c *gatewayAPIClient) RetryTransfer(ctx context.Context, in *v1beta114.Retr return out, nil } -func (c *gatewayAPIClient) CheckPermission(ctx context.Context, in *v1beta115.CheckPermissionRequest, opts ...grpc.CallOption) (*v1beta115.CheckPermissionResponse, error) { - out := new(v1beta115.CheckPermissionResponse) +func (c *gatewayAPIClient) CheckPermission(ctx context.Context, in *v1beta116.CheckPermissionRequest, opts ...grpc.CallOption) (*v1beta116.CheckPermissionResponse, error) { + out := new(v1beta116.CheckPermissionResponse) err := c.cc.Invoke(ctx, GatewayAPI_CheckPermission_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1632,6 +1682,9 @@ type GatewayAPIServer interface { // both as owner and creator. If a filter is specified, only // shares satisfying the filter MUST be returned. ListOCMShares(context.Context, *v1beta16.ListOCMSharesRequest) (*v1beta16.ListOCMSharesResponse, error) + // List all existing shares the authenticated principal has created, + // including their storage resource information. + ListExistingOCMShares(context.Context, *v1beta16.ListOCMSharesRequest) (*ListExistingOCMSharesResponse, error) // Updates a share. // MUST return CODE_NOT_FOUND if the share reference does not exist. UpdateOCMShare(context.Context, *v1beta16.UpdateOCMShareRequest) (*v1beta16.UpdateOCMShareResponse, error) @@ -1703,24 +1756,30 @@ type GatewayAPIServer interface { GetInfoByDomain(context.Context, *v1beta112.GetInfoByDomainRequest) (*v1beta112.GetInfoByDomainResponse, error) // Get the information of all the providers registered in the mesh. ListAllProviders(context.Context, *v1beta112.ListAllProvidersRequest) (*v1beta112.ListAllProvidersResponse, error) - // Creates a new OCM share. - CreateOCMCoreShare(context.Context, *v1beta113.CreateOCMCoreShareRequest) (*v1beta113.CreateOCMCoreShareResponse, error) - // Updates an OCM share. - UpdateOCMCoreShare(context.Context, *v1beta113.UpdateOCMCoreShareRequest) (*v1beta113.UpdateOCMCoreShareResponse, error) - // Deletes an OCM share. - DeleteOCMCoreShare(context.Context, *v1beta113.DeleteOCMCoreShareRequest) (*v1beta113.DeleteOCMCoreShareResponse, error) + // Creates a new incoming OCM share. + CreateOCMIncomingShare(context.Context, *v1beta113.CreateOCMIncomingShareRequest) (*v1beta113.CreateOCMIncomingShareResponse, error) + // Updates an incoming OCM share. + UpdateOCMIncomingShare(context.Context, *v1beta113.UpdateOCMIncomingShareRequest) (*v1beta113.UpdateOCMIncomingShareResponse, error) + // Deletes an incoming OCM share. + DeleteOCMIncomingShare(context.Context, *v1beta113.DeleteOCMIncomingShareRequest) (*v1beta113.DeleteOCMIncomingShareResponse, error) + // Deprecated. Creates a new OCM share. + CreateOCMCoreShare(context.Context, *v1beta114.CreateOCMCoreShareRequest) (*v1beta114.CreateOCMCoreShareResponse, error) + // Deprecated. Updates an OCM share. + UpdateOCMCoreShare(context.Context, *v1beta114.UpdateOCMCoreShareRequest) (*v1beta114.UpdateOCMCoreShareResponse, error) + // Deprecated. Deletes an OCM share. + DeleteOCMCoreShare(context.Context, *v1beta114.DeleteOCMCoreShareRequest) (*v1beta114.DeleteOCMCoreShareResponse, error) // Requests creation of a transfer. - CreateTransfer(context.Context, *v1beta114.CreateTransferRequest) (*v1beta114.CreateTransferResponse, error) + CreateTransfer(context.Context, *v1beta115.CreateTransferRequest) (*v1beta115.CreateTransferResponse, error) // Requests a transfer status. - GetTransferStatus(context.Context, *v1beta114.GetTransferStatusRequest) (*v1beta114.GetTransferStatusResponse, error) + GetTransferStatus(context.Context, *v1beta115.GetTransferStatusRequest) (*v1beta115.GetTransferStatusResponse, error) // Requests to cancel a transfer. - CancelTransfer(context.Context, *v1beta114.CancelTransferRequest) (*v1beta114.CancelTransferResponse, error) + CancelTransfer(context.Context, *v1beta115.CancelTransferRequest) (*v1beta115.CancelTransferResponse, error) // Requests a list of transfers received by the authenticated principle. - ListTransfers(context.Context, *v1beta114.ListTransfersRequest) (*v1beta114.ListTransfersResponse, error) + ListTransfers(context.Context, *v1beta115.ListTransfersRequest) (*v1beta115.ListTransfersResponse, error) // Requests retrying a transfer. - RetryTransfer(context.Context, *v1beta114.RetryTransferRequest) (*v1beta114.RetryTransferResponse, error) + RetryTransfer(context.Context, *v1beta115.RetryTransferRequest) (*v1beta115.RetryTransferResponse, error) // CheckPermission checks if a user or group has a certain permission. - CheckPermission(context.Context, *v1beta115.CheckPermissionRequest) (*v1beta115.CheckPermissionResponse, error) + CheckPermission(context.Context, *v1beta116.CheckPermissionRequest) (*v1beta116.CheckPermissionResponse, error) } // UnimplementedGatewayAPIServer should be embedded to have forward compatible implementations. @@ -1907,6 +1966,9 @@ func (UnimplementedGatewayAPIServer) GetOCMShareByToken(context.Context, *v1beta func (UnimplementedGatewayAPIServer) ListOCMShares(context.Context, *v1beta16.ListOCMSharesRequest) (*v1beta16.ListOCMSharesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListOCMShares not implemented") } +func (UnimplementedGatewayAPIServer) ListExistingOCMShares(context.Context, *v1beta16.ListOCMSharesRequest) (*ListExistingOCMSharesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListExistingOCMShares not implemented") +} func (UnimplementedGatewayAPIServer) UpdateOCMShare(context.Context, *v1beta16.UpdateOCMShareRequest) (*v1beta16.UpdateOCMShareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateOCMShare not implemented") } @@ -2000,31 +2062,40 @@ func (UnimplementedGatewayAPIServer) GetInfoByDomain(context.Context, *v1beta112 func (UnimplementedGatewayAPIServer) ListAllProviders(context.Context, *v1beta112.ListAllProvidersRequest) (*v1beta112.ListAllProvidersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListAllProviders not implemented") } -func (UnimplementedGatewayAPIServer) CreateOCMCoreShare(context.Context, *v1beta113.CreateOCMCoreShareRequest) (*v1beta113.CreateOCMCoreShareResponse, error) { +func (UnimplementedGatewayAPIServer) CreateOCMIncomingShare(context.Context, *v1beta113.CreateOCMIncomingShareRequest) (*v1beta113.CreateOCMIncomingShareResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateOCMIncomingShare not implemented") +} +func (UnimplementedGatewayAPIServer) UpdateOCMIncomingShare(context.Context, *v1beta113.UpdateOCMIncomingShareRequest) (*v1beta113.UpdateOCMIncomingShareResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateOCMIncomingShare not implemented") +} +func (UnimplementedGatewayAPIServer) DeleteOCMIncomingShare(context.Context, *v1beta113.DeleteOCMIncomingShareRequest) (*v1beta113.DeleteOCMIncomingShareResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteOCMIncomingShare not implemented") +} +func (UnimplementedGatewayAPIServer) CreateOCMCoreShare(context.Context, *v1beta114.CreateOCMCoreShareRequest) (*v1beta114.CreateOCMCoreShareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateOCMCoreShare not implemented") } -func (UnimplementedGatewayAPIServer) UpdateOCMCoreShare(context.Context, *v1beta113.UpdateOCMCoreShareRequest) (*v1beta113.UpdateOCMCoreShareResponse, error) { +func (UnimplementedGatewayAPIServer) UpdateOCMCoreShare(context.Context, *v1beta114.UpdateOCMCoreShareRequest) (*v1beta114.UpdateOCMCoreShareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateOCMCoreShare not implemented") } -func (UnimplementedGatewayAPIServer) DeleteOCMCoreShare(context.Context, *v1beta113.DeleteOCMCoreShareRequest) (*v1beta113.DeleteOCMCoreShareResponse, error) { +func (UnimplementedGatewayAPIServer) DeleteOCMCoreShare(context.Context, *v1beta114.DeleteOCMCoreShareRequest) (*v1beta114.DeleteOCMCoreShareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteOCMCoreShare not implemented") } -func (UnimplementedGatewayAPIServer) CreateTransfer(context.Context, *v1beta114.CreateTransferRequest) (*v1beta114.CreateTransferResponse, error) { +func (UnimplementedGatewayAPIServer) CreateTransfer(context.Context, *v1beta115.CreateTransferRequest) (*v1beta115.CreateTransferResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateTransfer not implemented") } -func (UnimplementedGatewayAPIServer) GetTransferStatus(context.Context, *v1beta114.GetTransferStatusRequest) (*v1beta114.GetTransferStatusResponse, error) { +func (UnimplementedGatewayAPIServer) GetTransferStatus(context.Context, *v1beta115.GetTransferStatusRequest) (*v1beta115.GetTransferStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetTransferStatus not implemented") } -func (UnimplementedGatewayAPIServer) CancelTransfer(context.Context, *v1beta114.CancelTransferRequest) (*v1beta114.CancelTransferResponse, error) { +func (UnimplementedGatewayAPIServer) CancelTransfer(context.Context, *v1beta115.CancelTransferRequest) (*v1beta115.CancelTransferResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CancelTransfer not implemented") } -func (UnimplementedGatewayAPIServer) ListTransfers(context.Context, *v1beta114.ListTransfersRequest) (*v1beta114.ListTransfersResponse, error) { +func (UnimplementedGatewayAPIServer) ListTransfers(context.Context, *v1beta115.ListTransfersRequest) (*v1beta115.ListTransfersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListTransfers not implemented") } -func (UnimplementedGatewayAPIServer) RetryTransfer(context.Context, *v1beta114.RetryTransferRequest) (*v1beta114.RetryTransferResponse, error) { +func (UnimplementedGatewayAPIServer) RetryTransfer(context.Context, *v1beta115.RetryTransferRequest) (*v1beta115.RetryTransferResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RetryTransfer not implemented") } -func (UnimplementedGatewayAPIServer) CheckPermission(context.Context, *v1beta115.CheckPermissionRequest) (*v1beta115.CheckPermissionResponse, error) { +func (UnimplementedGatewayAPIServer) CheckPermission(context.Context, *v1beta116.CheckPermissionRequest) (*v1beta116.CheckPermissionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CheckPermission not implemented") } @@ -3125,6 +3196,24 @@ func _GatewayAPI_ListOCMShares_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _GatewayAPI_ListExistingOCMShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v1beta16.ListOCMSharesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GatewayAPIServer).ListExistingOCMShares(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GatewayAPI_ListExistingOCMShares_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GatewayAPIServer).ListExistingOCMShares(ctx, req.(*v1beta16.ListOCMSharesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _GatewayAPI_UpdateOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v1beta16.UpdateOCMShareRequest) if err := dec(in); err != nil { @@ -3683,8 +3772,62 @@ func _GatewayAPI_ListAllProviders_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _GatewayAPI_CreateOCMIncomingShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v1beta113.CreateOCMIncomingShareRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GatewayAPIServer).CreateOCMIncomingShare(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GatewayAPI_CreateOCMIncomingShare_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GatewayAPIServer).CreateOCMIncomingShare(ctx, req.(*v1beta113.CreateOCMIncomingShareRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GatewayAPI_UpdateOCMIncomingShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v1beta113.UpdateOCMIncomingShareRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GatewayAPIServer).UpdateOCMIncomingShare(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GatewayAPI_UpdateOCMIncomingShare_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GatewayAPIServer).UpdateOCMIncomingShare(ctx, req.(*v1beta113.UpdateOCMIncomingShareRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GatewayAPI_DeleteOCMIncomingShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v1beta113.DeleteOCMIncomingShareRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GatewayAPIServer).DeleteOCMIncomingShare(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GatewayAPI_DeleteOCMIncomingShare_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GatewayAPIServer).DeleteOCMIncomingShare(ctx, req.(*v1beta113.DeleteOCMIncomingShareRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _GatewayAPI_CreateOCMCoreShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta113.CreateOCMCoreShareRequest) + in := new(v1beta114.CreateOCMCoreShareRequest) if err := dec(in); err != nil { return nil, err } @@ -3696,13 +3839,13 @@ func _GatewayAPI_CreateOCMCoreShare_Handler(srv interface{}, ctx context.Context FullMethod: GatewayAPI_CreateOCMCoreShare_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).CreateOCMCoreShare(ctx, req.(*v1beta113.CreateOCMCoreShareRequest)) + return srv.(GatewayAPIServer).CreateOCMCoreShare(ctx, req.(*v1beta114.CreateOCMCoreShareRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_UpdateOCMCoreShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta113.UpdateOCMCoreShareRequest) + in := new(v1beta114.UpdateOCMCoreShareRequest) if err := dec(in); err != nil { return nil, err } @@ -3714,13 +3857,13 @@ func _GatewayAPI_UpdateOCMCoreShare_Handler(srv interface{}, ctx context.Context FullMethod: GatewayAPI_UpdateOCMCoreShare_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).UpdateOCMCoreShare(ctx, req.(*v1beta113.UpdateOCMCoreShareRequest)) + return srv.(GatewayAPIServer).UpdateOCMCoreShare(ctx, req.(*v1beta114.UpdateOCMCoreShareRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_DeleteOCMCoreShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta113.DeleteOCMCoreShareRequest) + in := new(v1beta114.DeleteOCMCoreShareRequest) if err := dec(in); err != nil { return nil, err } @@ -3732,13 +3875,13 @@ func _GatewayAPI_DeleteOCMCoreShare_Handler(srv interface{}, ctx context.Context FullMethod: GatewayAPI_DeleteOCMCoreShare_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).DeleteOCMCoreShare(ctx, req.(*v1beta113.DeleteOCMCoreShareRequest)) + return srv.(GatewayAPIServer).DeleteOCMCoreShare(ctx, req.(*v1beta114.DeleteOCMCoreShareRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_CreateTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta114.CreateTransferRequest) + in := new(v1beta115.CreateTransferRequest) if err := dec(in); err != nil { return nil, err } @@ -3750,13 +3893,13 @@ func _GatewayAPI_CreateTransfer_Handler(srv interface{}, ctx context.Context, de FullMethod: GatewayAPI_CreateTransfer_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).CreateTransfer(ctx, req.(*v1beta114.CreateTransferRequest)) + return srv.(GatewayAPIServer).CreateTransfer(ctx, req.(*v1beta115.CreateTransferRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_GetTransferStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta114.GetTransferStatusRequest) + in := new(v1beta115.GetTransferStatusRequest) if err := dec(in); err != nil { return nil, err } @@ -3768,13 +3911,13 @@ func _GatewayAPI_GetTransferStatus_Handler(srv interface{}, ctx context.Context, FullMethod: GatewayAPI_GetTransferStatus_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).GetTransferStatus(ctx, req.(*v1beta114.GetTransferStatusRequest)) + return srv.(GatewayAPIServer).GetTransferStatus(ctx, req.(*v1beta115.GetTransferStatusRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_CancelTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta114.CancelTransferRequest) + in := new(v1beta115.CancelTransferRequest) if err := dec(in); err != nil { return nil, err } @@ -3786,13 +3929,13 @@ func _GatewayAPI_CancelTransfer_Handler(srv interface{}, ctx context.Context, de FullMethod: GatewayAPI_CancelTransfer_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).CancelTransfer(ctx, req.(*v1beta114.CancelTransferRequest)) + return srv.(GatewayAPIServer).CancelTransfer(ctx, req.(*v1beta115.CancelTransferRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_ListTransfers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta114.ListTransfersRequest) + in := new(v1beta115.ListTransfersRequest) if err := dec(in); err != nil { return nil, err } @@ -3804,13 +3947,13 @@ func _GatewayAPI_ListTransfers_Handler(srv interface{}, ctx context.Context, dec FullMethod: GatewayAPI_ListTransfers_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).ListTransfers(ctx, req.(*v1beta114.ListTransfersRequest)) + return srv.(GatewayAPIServer).ListTransfers(ctx, req.(*v1beta115.ListTransfersRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_RetryTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta114.RetryTransferRequest) + in := new(v1beta115.RetryTransferRequest) if err := dec(in); err != nil { return nil, err } @@ -3822,13 +3965,13 @@ func _GatewayAPI_RetryTransfer_Handler(srv interface{}, ctx context.Context, dec FullMethod: GatewayAPI_RetryTransfer_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).RetryTransfer(ctx, req.(*v1beta114.RetryTransferRequest)) + return srv.(GatewayAPIServer).RetryTransfer(ctx, req.(*v1beta115.RetryTransferRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_CheckPermission_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta115.CheckPermissionRequest) + in := new(v1beta116.CheckPermissionRequest) if err := dec(in); err != nil { return nil, err } @@ -3840,7 +3983,7 @@ func _GatewayAPI_CheckPermission_Handler(srv interface{}, ctx context.Context, d FullMethod: GatewayAPI_CheckPermission_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).CheckPermission(ctx, req.(*v1beta115.CheckPermissionRequest)) + return srv.(GatewayAPIServer).CheckPermission(ctx, req.(*v1beta116.CheckPermissionRequest)) } return interceptor(ctx, in, info, handler) } @@ -4084,6 +4227,10 @@ var GatewayAPI_ServiceDesc = grpc.ServiceDesc{ MethodName: "ListOCMShares", Handler: _GatewayAPI_ListOCMShares_Handler, }, + { + MethodName: "ListExistingOCMShares", + Handler: _GatewayAPI_ListExistingOCMShares_Handler, + }, { MethodName: "UpdateOCMShare", Handler: _GatewayAPI_UpdateOCMShare_Handler, @@ -4208,6 +4355,18 @@ var GatewayAPI_ServiceDesc = grpc.ServiceDesc{ MethodName: "ListAllProviders", Handler: _GatewayAPI_ListAllProviders_Handler, }, + { + MethodName: "CreateOCMIncomingShare", + Handler: _GatewayAPI_CreateOCMIncomingShare_Handler, + }, + { + MethodName: "UpdateOCMIncomingShare", + Handler: _GatewayAPI_UpdateOCMIncomingShare_Handler, + }, + { + MethodName: "DeleteOCMIncomingShare", + Handler: _GatewayAPI_DeleteOCMIncomingShare_Handler, + }, { MethodName: "CreateOCMCoreShare", Handler: _GatewayAPI_CreateOCMCoreShare_Handler, diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1/resources.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1/resources.pb.go index 0e9347bd3e..ad4a211855 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1/resources.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1/resources.pb.go @@ -27,6 +27,7 @@ package gatewayv1beta1 import ( v1beta12 "github.com/cs3org/go-cs3apis/cs3/sharing/collaboration/v1beta1" v1beta13 "github.com/cs3org/go-cs3apis/cs3/sharing/link/v1beta1" + v1beta14 "github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1" v1beta11 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -435,6 +436,77 @@ func (x *PublicShareResourceInfo) GetResourceInfo() *v1beta11.ResourceInfo { return nil } +// OCMShareResourceInfo includes the sharing information +// and the storage-related information about an OCM share resource. +type OCMShareResourceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // OPTIONAL. + // Opaque information. + Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"` + // REQUIRED. + // The underlying share as returned by the collaboration service. + OcmShare *v1beta14.Share `protobuf:"bytes,2,opt,name=ocm_share,json=ocmShare,proto3" json:"ocm_share,omitempty"` + // REQUIRED. + // The corresponding resource information as returned by the storage provider. + ResourceInfo *v1beta11.ResourceInfo `protobuf:"bytes,3,opt,name=resource_info,json=resourceInfo,proto3" json:"resource_info,omitempty"` +} + +func (x *OCMShareResourceInfo) Reset() { + *x = OCMShareResourceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_gateway_v1beta1_resources_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OCMShareResourceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OCMShareResourceInfo) ProtoMessage() {} + +func (x *OCMShareResourceInfo) ProtoReflect() protoreflect.Message { + mi := &file_cs3_gateway_v1beta1_resources_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OCMShareResourceInfo.ProtoReflect.Descriptor instead. +func (*OCMShareResourceInfo) Descriptor() ([]byte, []int) { + return file_cs3_gateway_v1beta1_resources_proto_rawDescGZIP(), []int{5} +} + +func (x *OCMShareResourceInfo) GetOpaque() *v1beta1.Opaque { + if x != nil { + return x.Opaque + } + return nil +} + +func (x *OCMShareResourceInfo) GetOcmShare() *v1beta14.Share { + if x != nil { + return x.OcmShare + } + return nil +} + +func (x *OCMShareResourceInfo) GetResourceInfo() *v1beta11.ResourceInfo { + if x != nil { + return x.ResourceInfo + } + return nil +} + var File_cs3_gateway_v1beta1_resources_proto protoreflect.FileDescriptor var file_cs3_gateway_v1beta1_resources_proto_rawDesc = []byte{ @@ -447,97 +519,114 @@ var file_cs3_gateway_v1beta1_resources_proto_rawDesc = []byte{ 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x63, 0x73, 0x33, - 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x02, 0x0a, 0x12, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x31, 0x0a, 0x06, 0x6f, - 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x13, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x22, 0xa8, 0x01, 0x0a, 0x14, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x31, 0x0a, 0x06, 0x6f, - 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd7, 0x01, - 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, - 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, - 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xf8, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, - 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, - 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x22, 0xe7, 0x01, 0x0a, 0x17, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x73, 0x33, + 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, + 0x67, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, + 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x02, + 0x0a, 0x12, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, + 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x13, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, + 0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x52, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa8, 0x01, 0x0a, 0x14, + 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, + 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd7, 0x01, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x06, + 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, + 0x3e, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, + 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, + 0x4f, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x22, 0xf8, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, - 0x65, 0x12, 0x48, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, - 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x0b, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0xd8, 0x01, 0x0a, - 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, - 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x67, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x67, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x47, - 0x58, 0xaa, 0x02, 0x13, 0x43, 0x73, 0x33, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, - 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x13, 0x43, 0x73, 0x33, 0x5c, 0x47, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x1f, - 0x43, 0x73, 0x33, 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5c, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x15, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x3a, 0x3a, - 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xe7, 0x01, 0x0a, 0x17, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, + 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x0c, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, + 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd7, 0x01, 0x0a, 0x14, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, + 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x6f, 0x63, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x52, 0x08, 0x6f, 0x63, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x4f, + 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, + 0xd8, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, + 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, + 0x03, 0x43, 0x47, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x73, 0x33, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x13, 0x43, 0x73, 0x33, + 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xe2, 0x02, 0x1f, 0x43, 0x73, 0x33, 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x15, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -552,38 +641,43 @@ func file_cs3_gateway_v1beta1_resources_proto_rawDescGZIP() []byte { return file_cs3_gateway_v1beta1_resources_proto_rawDescData } -var file_cs3_gateway_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_cs3_gateway_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_cs3_gateway_v1beta1_resources_proto_goTypes = []interface{}{ (*FileUploadProtocol)(nil), // 0: cs3.gateway.v1beta1.FileUploadProtocol (*FileDownloadProtocol)(nil), // 1: cs3.gateway.v1beta1.FileDownloadProtocol (*ShareResourceInfo)(nil), // 2: cs3.gateway.v1beta1.ShareResourceInfo (*ReceivedShareResourceInfo)(nil), // 3: cs3.gateway.v1beta1.ReceivedShareResourceInfo (*PublicShareResourceInfo)(nil), // 4: cs3.gateway.v1beta1.PublicShareResourceInfo - (*v1beta1.Opaque)(nil), // 5: cs3.types.v1beta1.Opaque - (*v1beta11.ResourceChecksumPriority)(nil), // 6: cs3.storage.provider.v1beta1.ResourceChecksumPriority - (*v1beta12.Share)(nil), // 7: cs3.sharing.collaboration.v1beta1.Share - (*v1beta11.ResourceInfo)(nil), // 8: cs3.storage.provider.v1beta1.ResourceInfo - (*v1beta12.ReceivedShare)(nil), // 9: cs3.sharing.collaboration.v1beta1.ReceivedShare - (*v1beta13.PublicShare)(nil), // 10: cs3.sharing.link.v1beta1.PublicShare + (*OCMShareResourceInfo)(nil), // 5: cs3.gateway.v1beta1.OCMShareResourceInfo + (*v1beta1.Opaque)(nil), // 6: cs3.types.v1beta1.Opaque + (*v1beta11.ResourceChecksumPriority)(nil), // 7: cs3.storage.provider.v1beta1.ResourceChecksumPriority + (*v1beta12.Share)(nil), // 8: cs3.sharing.collaboration.v1beta1.Share + (*v1beta11.ResourceInfo)(nil), // 9: cs3.storage.provider.v1beta1.ResourceInfo + (*v1beta12.ReceivedShare)(nil), // 10: cs3.sharing.collaboration.v1beta1.ReceivedShare + (*v1beta13.PublicShare)(nil), // 11: cs3.sharing.link.v1beta1.PublicShare + (*v1beta14.Share)(nil), // 12: cs3.sharing.ocm.v1beta1.Share } var file_cs3_gateway_v1beta1_resources_proto_depIdxs = []int32{ - 5, // 0: cs3.gateway.v1beta1.FileUploadProtocol.opaque:type_name -> cs3.types.v1beta1.Opaque - 6, // 1: cs3.gateway.v1beta1.FileUploadProtocol.available_checksums:type_name -> cs3.storage.provider.v1beta1.ResourceChecksumPriority - 5, // 2: cs3.gateway.v1beta1.FileDownloadProtocol.opaque:type_name -> cs3.types.v1beta1.Opaque - 5, // 3: cs3.gateway.v1beta1.ShareResourceInfo.opaque:type_name -> cs3.types.v1beta1.Opaque - 7, // 4: cs3.gateway.v1beta1.ShareResourceInfo.share:type_name -> cs3.sharing.collaboration.v1beta1.Share - 8, // 5: cs3.gateway.v1beta1.ShareResourceInfo.resource_info:type_name -> cs3.storage.provider.v1beta1.ResourceInfo - 5, // 6: cs3.gateway.v1beta1.ReceivedShareResourceInfo.opaque:type_name -> cs3.types.v1beta1.Opaque - 9, // 7: cs3.gateway.v1beta1.ReceivedShareResourceInfo.received_share:type_name -> cs3.sharing.collaboration.v1beta1.ReceivedShare - 8, // 8: cs3.gateway.v1beta1.ReceivedShareResourceInfo.resource_info:type_name -> cs3.storage.provider.v1beta1.ResourceInfo - 5, // 9: cs3.gateway.v1beta1.PublicShareResourceInfo.opaque:type_name -> cs3.types.v1beta1.Opaque - 10, // 10: cs3.gateway.v1beta1.PublicShareResourceInfo.public_share:type_name -> cs3.sharing.link.v1beta1.PublicShare - 8, // 11: cs3.gateway.v1beta1.PublicShareResourceInfo.resource_info:type_name -> cs3.storage.provider.v1beta1.ResourceInfo - 12, // [12:12] is the sub-list for method output_type - 12, // [12:12] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 6, // 0: cs3.gateway.v1beta1.FileUploadProtocol.opaque:type_name -> cs3.types.v1beta1.Opaque + 7, // 1: cs3.gateway.v1beta1.FileUploadProtocol.available_checksums:type_name -> cs3.storage.provider.v1beta1.ResourceChecksumPriority + 6, // 2: cs3.gateway.v1beta1.FileDownloadProtocol.opaque:type_name -> cs3.types.v1beta1.Opaque + 6, // 3: cs3.gateway.v1beta1.ShareResourceInfo.opaque:type_name -> cs3.types.v1beta1.Opaque + 8, // 4: cs3.gateway.v1beta1.ShareResourceInfo.share:type_name -> cs3.sharing.collaboration.v1beta1.Share + 9, // 5: cs3.gateway.v1beta1.ShareResourceInfo.resource_info:type_name -> cs3.storage.provider.v1beta1.ResourceInfo + 6, // 6: cs3.gateway.v1beta1.ReceivedShareResourceInfo.opaque:type_name -> cs3.types.v1beta1.Opaque + 10, // 7: cs3.gateway.v1beta1.ReceivedShareResourceInfo.received_share:type_name -> cs3.sharing.collaboration.v1beta1.ReceivedShare + 9, // 8: cs3.gateway.v1beta1.ReceivedShareResourceInfo.resource_info:type_name -> cs3.storage.provider.v1beta1.ResourceInfo + 6, // 9: cs3.gateway.v1beta1.PublicShareResourceInfo.opaque:type_name -> cs3.types.v1beta1.Opaque + 11, // 10: cs3.gateway.v1beta1.PublicShareResourceInfo.public_share:type_name -> cs3.sharing.link.v1beta1.PublicShare + 9, // 11: cs3.gateway.v1beta1.PublicShareResourceInfo.resource_info:type_name -> cs3.storage.provider.v1beta1.ResourceInfo + 6, // 12: cs3.gateway.v1beta1.OCMShareResourceInfo.opaque:type_name -> cs3.types.v1beta1.Opaque + 12, // 13: cs3.gateway.v1beta1.OCMShareResourceInfo.ocm_share:type_name -> cs3.sharing.ocm.v1beta1.Share + 9, // 14: cs3.gateway.v1beta1.OCMShareResourceInfo.resource_info:type_name -> cs3.storage.provider.v1beta1.ResourceInfo + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_cs3_gateway_v1beta1_resources_proto_init() } @@ -652,6 +746,18 @@ func file_cs3_gateway_v1beta1_resources_proto_init() { return nil } } + file_cs3_gateway_v1beta1_resources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OCMShareResourceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -659,7 +765,7 @@ func file_cs3_gateway_v1beta1_resources_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cs3_gateway_v1beta1_resources_proto_rawDesc, NumEnums: 0, - NumMessages: 5, + NumMessages: 6, NumExtensions: 0, NumServices: 0, }, diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1/group_api.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1/group_api.pb.go index 4d597fc025..06c139245a 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1/group_api.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1/group_api.pb.go @@ -41,6 +41,58 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// The filter to apply. +type Filter_Type int32 + +const ( + Filter_TYPE_INVALID Filter_Type = 0 + // extract all groups of a given GroupType + Filter_TYPE_GROUPTYPE Filter_Type = 1 + // extract all groups matching the given query + Filter_TYPE_QUERY Filter_Type = 2 +) + +// Enum value maps for Filter_Type. +var ( + Filter_Type_name = map[int32]string{ + 0: "TYPE_INVALID", + 1: "TYPE_GROUPTYPE", + 2: "TYPE_QUERY", + } + Filter_Type_value = map[string]int32{ + "TYPE_INVALID": 0, + "TYPE_GROUPTYPE": 1, + "TYPE_QUERY": 2, + } +) + +func (x Filter_Type) Enum() *Filter_Type { + p := new(Filter_Type) + *p = x + return p +} + +func (x Filter_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Filter_Type) Descriptor() protoreflect.EnumDescriptor { + return file_cs3_identity_group_v1beta1_group_api_proto_enumTypes[0].Descriptor() +} + +func (Filter_Type) Type() protoreflect.EnumType { + return &file_cs3_identity_group_v1beta1_group_api_proto_enumTypes[0] +} + +func (x Filter_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Filter_Type.Descriptor instead. +func (Filter_Type) EnumDescriptor() ([]byte, []int) { + return file_cs3_identity_group_v1beta1_group_api_proto_rawDescGZIP(), []int{10, 0} +} + type GetGroupRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -602,8 +654,8 @@ type FindGroupsRequest struct { // Opaque information. Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"` // REQUIRED. - // The filter to apply. - Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The filters to apply. + Filters []*Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` // OPTIONAL. // Whether to skip fetching members along with the group object. SkipFetchingMembers bool `protobuf:"varint,3,opt,name=skip_fetching_members,json=skipFetchingMembers,proto3" json:"skip_fetching_members,omitempty"` @@ -648,11 +700,11 @@ func (x *FindGroupsRequest) GetOpaque() *v1beta1.Opaque { return nil } -func (x *FindGroupsRequest) GetFilter() string { +func (x *FindGroupsRequest) GetFilters() []*Filter { if x != nil { - return x.Filter + return x.Filters } - return "" + return nil } func (x *FindGroupsRequest) GetSkipFetchingMembers() bool { @@ -731,6 +783,97 @@ func (x *FindGroupsResponse) GetGroups() []*Group { return nil } +// Represents a filter to apply to the request. +type Filter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + Type Filter_Type `protobuf:"varint,1,opt,name=type,proto3,enum=cs3.identity.group.v1beta1.Filter_Type" json:"type,omitempty"` + // Types that are assignable to Term: + // + // *Filter_Grouptype + // *Filter_Query + Term isFilter_Term `protobuf_oneof:"term"` +} + +func (x *Filter) Reset() { + *x = Filter{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_identity_group_v1beta1_group_api_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Filter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Filter) ProtoMessage() {} + +func (x *Filter) ProtoReflect() protoreflect.Message { + mi := &file_cs3_identity_group_v1beta1_group_api_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Filter.ProtoReflect.Descriptor instead. +func (*Filter) Descriptor() ([]byte, []int) { + return file_cs3_identity_group_v1beta1_group_api_proto_rawDescGZIP(), []int{10} +} + +func (x *Filter) GetType() Filter_Type { + if x != nil { + return x.Type + } + return Filter_TYPE_INVALID +} + +func (m *Filter) GetTerm() isFilter_Term { + if m != nil { + return m.Term + } + return nil +} + +func (x *Filter) GetGrouptype() GroupType { + if x, ok := x.GetTerm().(*Filter_Grouptype); ok { + return x.Grouptype + } + return GroupType_GROUP_TYPE_INVALID +} + +func (x *Filter) GetQuery() string { + if x, ok := x.GetTerm().(*Filter_Query); ok { + return x.Query + } + return "" +} + +type isFilter_Term interface { + isFilter_Term() +} + +type Filter_Grouptype struct { + Grouptype GroupType `protobuf:"varint,2,opt,name=grouptype,proto3,enum=cs3.identity.group.v1beta1.GroupType,oneof"` +} + +type Filter_Query struct { + Query string `protobuf:"bytes,3,opt,name=query,proto3,oneof"` +} + +func (*Filter_Grouptype) isFilter_Term() {} + +func (*Filter_Query) isFilter_Term() {} + var File_cs3_identity_group_v1beta1_group_api_proto protoreflect.FileDescriptor var file_cs3_identity_group_v1beta1_group_api_proto_rawDesc = []byte{ @@ -834,79 +977,96 @@ var file_cs3_identity_group_v1beta1_group_api_proto_rawDesc = []byte{ 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, - 0x92, 0x01, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, + 0xb8, 0x01, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x12, 0x32, 0x0a, 0x15, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, - 0x67, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x13, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, - 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, - 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, - 0x39, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x32, 0xb1, 0x04, 0x0a, 0x08, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x41, 0x50, 0x49, 0x12, 0x65, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, - 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, - 0x6d, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x66, + 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x65, 0x74, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x12, 0x46, + 0x69, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6c, 0x61, - 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0a, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, + 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x22, 0xea, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, + 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x16, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x3c, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, + 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x54, + 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x51, 0x55, + 0x45, 0x52, 0x59, 0x10, 0x02, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x32, 0xb1, 0x04, + 0x0a, 0x08, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x50, 0x49, 0x12, 0x65, 0x0a, 0x08, 0x47, 0x65, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, + 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, + 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, + 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, + 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x09, 0x48, 0x61, + 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x09, 0x48, 0x61, 0x73, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x48, 0x61, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x61, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x48, 0x61, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0a, 0x46, 0x69, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x48, 0x61, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6b, 0x0a, 0x0a, 0x46, 0x69, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, - 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x80, - 0x02, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x42, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, - 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, - 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x49, 0x47, 0xaa, 0x02, - 0x1a, 0x43, 0x73, 0x33, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1a, 0x43, 0x73, + 0x46, 0x69, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x42, 0x80, 0x02, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x69, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, + 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x49, + 0x47, 0xaa, 0x02, 0x1a, 0x43, 0x73, 0x33, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x1a, 0x43, 0x73, 0x33, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x26, 0x43, 0x73, 0x33, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x26, 0x43, 0x73, 0x33, 0x5c, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5c, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x1d, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x3a, 0x3a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x3a, 0x3a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -921,63 +1081,70 @@ func file_cs3_identity_group_v1beta1_group_api_proto_rawDescGZIP() []byte { return file_cs3_identity_group_v1beta1_group_api_proto_rawDescData } -var file_cs3_identity_group_v1beta1_group_api_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_cs3_identity_group_v1beta1_group_api_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_cs3_identity_group_v1beta1_group_api_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_cs3_identity_group_v1beta1_group_api_proto_goTypes = []interface{}{ - (*GetGroupRequest)(nil), // 0: cs3.identity.group.v1beta1.GetGroupRequest - (*GetGroupResponse)(nil), // 1: cs3.identity.group.v1beta1.GetGroupResponse - (*GetGroupByClaimRequest)(nil), // 2: cs3.identity.group.v1beta1.GetGroupByClaimRequest - (*GetGroupByClaimResponse)(nil), // 3: cs3.identity.group.v1beta1.GetGroupByClaimResponse - (*GetMembersRequest)(nil), // 4: cs3.identity.group.v1beta1.GetMembersRequest - (*GetMembersResponse)(nil), // 5: cs3.identity.group.v1beta1.GetMembersResponse - (*HasMemberRequest)(nil), // 6: cs3.identity.group.v1beta1.HasMemberRequest - (*HasMemberResponse)(nil), // 7: cs3.identity.group.v1beta1.HasMemberResponse - (*FindGroupsRequest)(nil), // 8: cs3.identity.group.v1beta1.FindGroupsRequest - (*FindGroupsResponse)(nil), // 9: cs3.identity.group.v1beta1.FindGroupsResponse - (*v1beta1.Opaque)(nil), // 10: cs3.types.v1beta1.Opaque - (*GroupId)(nil), // 11: cs3.identity.group.v1beta1.GroupId - (*v1beta11.Status)(nil), // 12: cs3.rpc.v1beta1.Status - (*Group)(nil), // 13: cs3.identity.group.v1beta1.Group - (*v1beta12.UserId)(nil), // 14: cs3.identity.user.v1beta1.UserId + (Filter_Type)(0), // 0: cs3.identity.group.v1beta1.Filter.Type + (*GetGroupRequest)(nil), // 1: cs3.identity.group.v1beta1.GetGroupRequest + (*GetGroupResponse)(nil), // 2: cs3.identity.group.v1beta1.GetGroupResponse + (*GetGroupByClaimRequest)(nil), // 3: cs3.identity.group.v1beta1.GetGroupByClaimRequest + (*GetGroupByClaimResponse)(nil), // 4: cs3.identity.group.v1beta1.GetGroupByClaimResponse + (*GetMembersRequest)(nil), // 5: cs3.identity.group.v1beta1.GetMembersRequest + (*GetMembersResponse)(nil), // 6: cs3.identity.group.v1beta1.GetMembersResponse + (*HasMemberRequest)(nil), // 7: cs3.identity.group.v1beta1.HasMemberRequest + (*HasMemberResponse)(nil), // 8: cs3.identity.group.v1beta1.HasMemberResponse + (*FindGroupsRequest)(nil), // 9: cs3.identity.group.v1beta1.FindGroupsRequest + (*FindGroupsResponse)(nil), // 10: cs3.identity.group.v1beta1.FindGroupsResponse + (*Filter)(nil), // 11: cs3.identity.group.v1beta1.Filter + (*v1beta1.Opaque)(nil), // 12: cs3.types.v1beta1.Opaque + (*GroupId)(nil), // 13: cs3.identity.group.v1beta1.GroupId + (*v1beta11.Status)(nil), // 14: cs3.rpc.v1beta1.Status + (*Group)(nil), // 15: cs3.identity.group.v1beta1.Group + (*v1beta12.UserId)(nil), // 16: cs3.identity.user.v1beta1.UserId + (GroupType)(0), // 17: cs3.identity.group.v1beta1.GroupType } var file_cs3_identity_group_v1beta1_group_api_proto_depIdxs = []int32{ - 10, // 0: cs3.identity.group.v1beta1.GetGroupRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 11, // 1: cs3.identity.group.v1beta1.GetGroupRequest.group_id:type_name -> cs3.identity.group.v1beta1.GroupId - 12, // 2: cs3.identity.group.v1beta1.GetGroupResponse.status:type_name -> cs3.rpc.v1beta1.Status - 10, // 3: cs3.identity.group.v1beta1.GetGroupResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 13, // 4: cs3.identity.group.v1beta1.GetGroupResponse.group:type_name -> cs3.identity.group.v1beta1.Group - 10, // 5: cs3.identity.group.v1beta1.GetGroupByClaimRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 12, // 6: cs3.identity.group.v1beta1.GetGroupByClaimResponse.status:type_name -> cs3.rpc.v1beta1.Status - 10, // 7: cs3.identity.group.v1beta1.GetGroupByClaimResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 13, // 8: cs3.identity.group.v1beta1.GetGroupByClaimResponse.group:type_name -> cs3.identity.group.v1beta1.Group - 10, // 9: cs3.identity.group.v1beta1.GetMembersRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 11, // 10: cs3.identity.group.v1beta1.GetMembersRequest.group_id:type_name -> cs3.identity.group.v1beta1.GroupId - 12, // 11: cs3.identity.group.v1beta1.GetMembersResponse.status:type_name -> cs3.rpc.v1beta1.Status - 10, // 12: cs3.identity.group.v1beta1.GetMembersResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 14, // 13: cs3.identity.group.v1beta1.GetMembersResponse.members:type_name -> cs3.identity.user.v1beta1.UserId - 10, // 14: cs3.identity.group.v1beta1.HasMemberRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 11, // 15: cs3.identity.group.v1beta1.HasMemberRequest.group_id:type_name -> cs3.identity.group.v1beta1.GroupId - 14, // 16: cs3.identity.group.v1beta1.HasMemberRequest.user_id:type_name -> cs3.identity.user.v1beta1.UserId - 12, // 17: cs3.identity.group.v1beta1.HasMemberResponse.status:type_name -> cs3.rpc.v1beta1.Status - 10, // 18: cs3.identity.group.v1beta1.HasMemberResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 10, // 19: cs3.identity.group.v1beta1.FindGroupsRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 12, // 20: cs3.identity.group.v1beta1.FindGroupsResponse.status:type_name -> cs3.rpc.v1beta1.Status - 10, // 21: cs3.identity.group.v1beta1.FindGroupsResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 13, // 22: cs3.identity.group.v1beta1.FindGroupsResponse.groups:type_name -> cs3.identity.group.v1beta1.Group - 0, // 23: cs3.identity.group.v1beta1.GroupAPI.GetGroup:input_type -> cs3.identity.group.v1beta1.GetGroupRequest - 2, // 24: cs3.identity.group.v1beta1.GroupAPI.GetGroupByClaim:input_type -> cs3.identity.group.v1beta1.GetGroupByClaimRequest - 4, // 25: cs3.identity.group.v1beta1.GroupAPI.GetMembers:input_type -> cs3.identity.group.v1beta1.GetMembersRequest - 6, // 26: cs3.identity.group.v1beta1.GroupAPI.HasMember:input_type -> cs3.identity.group.v1beta1.HasMemberRequest - 8, // 27: cs3.identity.group.v1beta1.GroupAPI.FindGroups:input_type -> cs3.identity.group.v1beta1.FindGroupsRequest - 1, // 28: cs3.identity.group.v1beta1.GroupAPI.GetGroup:output_type -> cs3.identity.group.v1beta1.GetGroupResponse - 3, // 29: cs3.identity.group.v1beta1.GroupAPI.GetGroupByClaim:output_type -> cs3.identity.group.v1beta1.GetGroupByClaimResponse - 5, // 30: cs3.identity.group.v1beta1.GroupAPI.GetMembers:output_type -> cs3.identity.group.v1beta1.GetMembersResponse - 7, // 31: cs3.identity.group.v1beta1.GroupAPI.HasMember:output_type -> cs3.identity.group.v1beta1.HasMemberResponse - 9, // 32: cs3.identity.group.v1beta1.GroupAPI.FindGroups:output_type -> cs3.identity.group.v1beta1.FindGroupsResponse - 28, // [28:33] is the sub-list for method output_type - 23, // [23:28] is the sub-list for method input_type - 23, // [23:23] is the sub-list for extension type_name - 23, // [23:23] is the sub-list for extension extendee - 0, // [0:23] is the sub-list for field type_name + 12, // 0: cs3.identity.group.v1beta1.GetGroupRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 13, // 1: cs3.identity.group.v1beta1.GetGroupRequest.group_id:type_name -> cs3.identity.group.v1beta1.GroupId + 14, // 2: cs3.identity.group.v1beta1.GetGroupResponse.status:type_name -> cs3.rpc.v1beta1.Status + 12, // 3: cs3.identity.group.v1beta1.GetGroupResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 15, // 4: cs3.identity.group.v1beta1.GetGroupResponse.group:type_name -> cs3.identity.group.v1beta1.Group + 12, // 5: cs3.identity.group.v1beta1.GetGroupByClaimRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 14, // 6: cs3.identity.group.v1beta1.GetGroupByClaimResponse.status:type_name -> cs3.rpc.v1beta1.Status + 12, // 7: cs3.identity.group.v1beta1.GetGroupByClaimResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 15, // 8: cs3.identity.group.v1beta1.GetGroupByClaimResponse.group:type_name -> cs3.identity.group.v1beta1.Group + 12, // 9: cs3.identity.group.v1beta1.GetMembersRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 13, // 10: cs3.identity.group.v1beta1.GetMembersRequest.group_id:type_name -> cs3.identity.group.v1beta1.GroupId + 14, // 11: cs3.identity.group.v1beta1.GetMembersResponse.status:type_name -> cs3.rpc.v1beta1.Status + 12, // 12: cs3.identity.group.v1beta1.GetMembersResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 16, // 13: cs3.identity.group.v1beta1.GetMembersResponse.members:type_name -> cs3.identity.user.v1beta1.UserId + 12, // 14: cs3.identity.group.v1beta1.HasMemberRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 13, // 15: cs3.identity.group.v1beta1.HasMemberRequest.group_id:type_name -> cs3.identity.group.v1beta1.GroupId + 16, // 16: cs3.identity.group.v1beta1.HasMemberRequest.user_id:type_name -> cs3.identity.user.v1beta1.UserId + 14, // 17: cs3.identity.group.v1beta1.HasMemberResponse.status:type_name -> cs3.rpc.v1beta1.Status + 12, // 18: cs3.identity.group.v1beta1.HasMemberResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 12, // 19: cs3.identity.group.v1beta1.FindGroupsRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 11, // 20: cs3.identity.group.v1beta1.FindGroupsRequest.filters:type_name -> cs3.identity.group.v1beta1.Filter + 14, // 21: cs3.identity.group.v1beta1.FindGroupsResponse.status:type_name -> cs3.rpc.v1beta1.Status + 12, // 22: cs3.identity.group.v1beta1.FindGroupsResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 15, // 23: cs3.identity.group.v1beta1.FindGroupsResponse.groups:type_name -> cs3.identity.group.v1beta1.Group + 0, // 24: cs3.identity.group.v1beta1.Filter.type:type_name -> cs3.identity.group.v1beta1.Filter.Type + 17, // 25: cs3.identity.group.v1beta1.Filter.grouptype:type_name -> cs3.identity.group.v1beta1.GroupType + 1, // 26: cs3.identity.group.v1beta1.GroupAPI.GetGroup:input_type -> cs3.identity.group.v1beta1.GetGroupRequest + 3, // 27: cs3.identity.group.v1beta1.GroupAPI.GetGroupByClaim:input_type -> cs3.identity.group.v1beta1.GetGroupByClaimRequest + 5, // 28: cs3.identity.group.v1beta1.GroupAPI.GetMembers:input_type -> cs3.identity.group.v1beta1.GetMembersRequest + 7, // 29: cs3.identity.group.v1beta1.GroupAPI.HasMember:input_type -> cs3.identity.group.v1beta1.HasMemberRequest + 9, // 30: cs3.identity.group.v1beta1.GroupAPI.FindGroups:input_type -> cs3.identity.group.v1beta1.FindGroupsRequest + 2, // 31: cs3.identity.group.v1beta1.GroupAPI.GetGroup:output_type -> cs3.identity.group.v1beta1.GetGroupResponse + 4, // 32: cs3.identity.group.v1beta1.GroupAPI.GetGroupByClaim:output_type -> cs3.identity.group.v1beta1.GetGroupByClaimResponse + 6, // 33: cs3.identity.group.v1beta1.GroupAPI.GetMembers:output_type -> cs3.identity.group.v1beta1.GetMembersResponse + 8, // 34: cs3.identity.group.v1beta1.GroupAPI.HasMember:output_type -> cs3.identity.group.v1beta1.HasMemberResponse + 10, // 35: cs3.identity.group.v1beta1.GroupAPI.FindGroups:output_type -> cs3.identity.group.v1beta1.FindGroupsResponse + 31, // [31:36] is the sub-list for method output_type + 26, // [26:31] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name } func init() { file_cs3_identity_group_v1beta1_group_api_proto_init() } @@ -1107,19 +1274,36 @@ func file_cs3_identity_group_v1beta1_group_api_proto_init() { return nil } } + file_cs3_identity_group_v1beta1_group_api_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Filter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_cs3_identity_group_v1beta1_group_api_proto_msgTypes[10].OneofWrappers = []interface{}{ + (*Filter_Grouptype)(nil), + (*Filter_Query)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cs3_identity_group_v1beta1_group_api_proto_rawDesc, - NumEnums: 0, - NumMessages: 10, + NumEnums: 1, + NumMessages: 11, NumExtensions: 0, NumServices: 1, }, GoTypes: file_cs3_identity_group_v1beta1_group_api_proto_goTypes, DependencyIndexes: file_cs3_identity_group_v1beta1_group_api_proto_depIdxs, + EnumInfos: file_cs3_identity_group_v1beta1_group_api_proto_enumTypes, MessageInfos: file_cs3_identity_group_v1beta1_group_api_proto_msgTypes, }.Build() File_cs3_identity_group_v1beta1_group_api_proto = out.File diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1/group_api_grpc.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1/group_api_grpc.pb.go index 8881cffcea..ec60660dd3 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1/group_api_grpc.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1/group_api_grpc.pb.go @@ -56,7 +56,8 @@ type GroupAPIClient interface { GetMembers(ctx context.Context, in *GetMembersRequest, opts ...grpc.CallOption) (*GetMembersResponse, error) // Tells if the group has certain member. HasMember(ctx context.Context, in *HasMemberRequest, opts ...grpc.CallOption) (*HasMemberResponse, error) - // Finds groups whose names match the specified filter. + // Finds groups whose names match the specified filters. + // MAY return CODE_RESOURCE_EXHAUSTED if the filters return too many responses. FindGroups(ctx context.Context, in *FindGroupsRequest, opts ...grpc.CallOption) (*FindGroupsResponse, error) } @@ -125,7 +126,8 @@ type GroupAPIServer interface { GetMembers(context.Context, *GetMembersRequest) (*GetMembersResponse, error) // Tells if the group has certain member. HasMember(context.Context, *HasMemberRequest) (*HasMemberResponse, error) - // Finds groups whose names match the specified filter. + // Finds groups whose names match the specified filters. + // MAY return CODE_RESOURCE_EXHAUSTED if the filters return too many responses. FindGroups(context.Context, *FindGroupsRequest) (*FindGroupsResponse, error) } diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1/user_api.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1/user_api.pb.go index 10772cd677..12cec1a84c 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1/user_api.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1/user_api.pb.go @@ -44,8 +44,11 @@ const ( type Filter_Type int32 const ( - Filter_TYPE_INVALID Filter_Type = 0 + Filter_TYPE_INVALID Filter_Type = 0 + // extract all users of a given UserType Filter_TYPE_USERTYPE Filter_Type = 1 + // extract all users matching the given query + Filter_TYPE_QUERY Filter_Type = 2 ) // Enum value maps for Filter_Type. @@ -53,10 +56,12 @@ var ( Filter_Type_name = map[int32]string{ 0: "TYPE_INVALID", 1: "TYPE_USERTYPE", + 2: "TYPE_QUERY", } Filter_Type_value = map[string]int32{ "TYPE_INVALID": 0, "TYPE_USERTYPE": 1, + "TYPE_QUERY": 2, } ) @@ -510,11 +515,8 @@ type FindUsersRequest struct { // Opaque information. Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"` // REQUIRED. - // The search query to apply. - Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"` - // OPTIONAL. - // Optional filters on users, such as filtering for a specific UserType. - Filter []*Filter `protobuf:"bytes,5,rep,name=filter,proto3" json:"filter,omitempty"` + // The filters to apply. + Filters []*Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` // OPTIONAL. // Whether to skip fetching user groups along with the user object. SkipFetchingUserGroups bool `protobuf:"varint,3,opt,name=skip_fetching_user_groups,json=skipFetchingUserGroups,proto3" json:"skip_fetching_user_groups,omitempty"` @@ -559,16 +561,9 @@ func (x *FindUsersRequest) GetOpaque() *v1beta1.Opaque { return nil } -func (x *FindUsersRequest) GetQuery() string { +func (x *FindUsersRequest) GetFilters() []*Filter { if x != nil { - return x.Query - } - return "" -} - -func (x *FindUsersRequest) GetFilter() []*Filter { - if x != nil { - return x.Filter + return x.Filters } return nil } @@ -660,6 +655,7 @@ type Filter struct { // Types that are assignable to Term: // // *Filter_Usertype + // *Filter_Query Term isFilter_Term `protobuf_oneof:"term"` } @@ -716,6 +712,13 @@ func (x *Filter) GetUsertype() UserType { return UserType_USER_TYPE_INVALID } +func (x *Filter) GetQuery() string { + if x, ok := x.GetTerm().(*Filter_Query); ok { + return x.Query + } + return "" +} + type isFilter_Term interface { isFilter_Term() } @@ -724,8 +727,14 @@ type Filter_Usertype struct { Usertype UserType `protobuf:"varint,2,opt,name=usertype,proto3,enum=cs3.identity.user.v1beta1.UserType,oneof"` } +type Filter_Query struct { + Query string `protobuf:"bytes,3,opt,name=query,proto3,oneof"` +} + func (*Filter_Usertype) isFilter_Term() {} +func (*Filter_Query) isFilter_Term() {} + var File_cs3_identity_user_v1beta1_user_api_proto protoreflect.FileDescriptor var file_cs3_identity_user_v1beta1_user_api_proto_rawDesc = []byte{ @@ -802,88 +811,89 @@ var file_cs3_identity_user_v1beta1_user_api_proto_rawDesc = []byte{ 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0xd1, 0x01, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, - 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x19, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x66, - 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x6b, 0x69, 0x70, 0x46, - 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x22, 0xae, 0x01, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, - 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x75, - 0x73, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, - 0x72, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3a, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x75, 0x73, 0x65, - 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x48, 0x00, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2b, 0x0a, 0x04, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, - 0x53, 0x45, 0x52, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x65, 0x72, - 0x6d, 0x32, 0xbe, 0x03, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x41, 0x50, 0x49, 0x12, 0x60, 0x0a, - 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x75, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, - 0x6d, 0x12, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x65, 0x74, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0xae, 0x01, + 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, + 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0xe4, + 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x09, 0x46, 0x69, - 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, + 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x42, 0xf8, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, + 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x22, 0x3b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, + 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x02, 0x42, 0x06, 0x0a, + 0x04, 0x74, 0x65, 0x72, 0x6d, 0x32, 0xbe, 0x03, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x41, 0x50, + 0x49, 0x12, 0x60, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, + 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x43, 0x6c, 0x61, + 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, + 0x0a, 0x09, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, - 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, - 0x75, 0x73, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x75, 0x73, 0x65, - 0x72, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x49, 0x55, 0xaa, 0x02, - 0x19, 0x43, 0x73, 0x33, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x19, 0x43, 0x73, 0x33, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xf8, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, + 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, + 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x3b, 0x75, 0x73, 0x65, 0x72, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, + 0x49, 0x55, 0xaa, 0x02, 0x19, 0x43, 0x73, 0x33, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x19, 0x43, 0x73, 0x33, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x55, 0x73, + 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x25, 0x43, 0x73, 0x33, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x55, 0x73, 0x65, 0x72, 0x5c, 0x56, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x25, 0x43, 0x73, 0x33, 0x5c, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x55, 0x73, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x1c, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x3a, - 0x55, 0x73, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x1c, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x3a, 0x3a, 0x55, 0x73, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -932,7 +942,7 @@ var file_cs3_identity_user_v1beta1_user_api_proto_depIdxs = []int32{ 12, // 11: cs3.identity.user.v1beta1.GetUserGroupsResponse.status:type_name -> cs3.rpc.v1beta1.Status 10, // 12: cs3.identity.user.v1beta1.GetUserGroupsResponse.opaque:type_name -> cs3.types.v1beta1.Opaque 10, // 13: cs3.identity.user.v1beta1.FindUsersRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 9, // 14: cs3.identity.user.v1beta1.FindUsersRequest.filter:type_name -> cs3.identity.user.v1beta1.Filter + 9, // 14: cs3.identity.user.v1beta1.FindUsersRequest.filters:type_name -> cs3.identity.user.v1beta1.Filter 12, // 15: cs3.identity.user.v1beta1.FindUsersResponse.status:type_name -> cs3.rpc.v1beta1.Status 10, // 16: cs3.identity.user.v1beta1.FindUsersResponse.opaque:type_name -> cs3.types.v1beta1.Opaque 13, // 17: cs3.identity.user.v1beta1.FindUsersResponse.users:type_name -> cs3.identity.user.v1beta1.User @@ -1071,6 +1081,7 @@ func file_cs3_identity_user_v1beta1_user_api_proto_init() { } file_cs3_identity_user_v1beta1_user_api_proto_msgTypes[8].OneofWrappers = []interface{}{ (*Filter_Usertype)(nil), + (*Filter_Query)(nil), } type x struct{} out := protoimpl.TypeBuilder{ diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1/user_api_grpc.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1/user_api_grpc.pb.go index 4c607bc9fd..904366ecaa 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1/user_api_grpc.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1/user_api_grpc.pb.go @@ -53,8 +53,8 @@ type UserAPIClient interface { GetUserByClaim(ctx context.Context, in *GetUserByClaimRequest, opts ...grpc.CallOption) (*GetUserByClaimResponse, error) // Gets the groups of a user. GetUserGroups(ctx context.Context, in *GetUserGroupsRequest, opts ...grpc.CallOption) (*GetUserGroupsResponse, error) - // Finds users by any attribute of the user. - // TODO(labkode): to define the filters that make more sense. + // Finds users that match the specified filters. + // MAY return CODE_RESOURCE_EXHAUSTED if the filters return too many responses. FindUsers(ctx context.Context, in *FindUsersRequest, opts ...grpc.CallOption) (*FindUsersResponse, error) } @@ -112,8 +112,8 @@ type UserAPIServer interface { GetUserByClaim(context.Context, *GetUserByClaimRequest) (*GetUserByClaimResponse, error) // Gets the groups of a user. GetUserGroups(context.Context, *GetUserGroupsRequest) (*GetUserGroupsResponse, error) - // Finds users by any attribute of the user. - // TODO(labkode): to define the filters that make more sense. + // Finds users that match the specified filters. + // MAY return CODE_RESOURCE_EXHAUSTED if the filters return too many responses. FindUsers(context.Context, *FindUsersRequest) (*FindUsersResponse, error) } diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1/ocm_core_api_grpc.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1/ocm_core_api_grpc.pb.go index b562f8a41f..b4c1319c33 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1/ocm_core_api_grpc.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1/ocm_core_api_grpc.pb.go @@ -46,14 +46,11 @@ const ( // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type OcmCoreAPIClient interface { - // Creates a new OCM share, in response to a call from remote to: - // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1shares/post + // Deprecated. Creates a new OCM share, in response to a call from the remote system CreateOCMCoreShare(ctx context.Context, in *CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*CreateOCMCoreShareResponse, error) - // Updates an OCM share, in response to a notification from the remote system to: - // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post + // Deprecated. Updates an OCM share, in response to a notification from the remote system UpdateOCMCoreShare(ctx context.Context, in *UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*UpdateOCMCoreShareResponse, error) - // Deletes an OCM share, in response to a notification from the remote system to: - // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post + // Deprecated. Deletes an OCM share, in response to a notification from the remote system DeleteOCMCoreShare(ctx context.Context, in *DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*DeleteOCMCoreShareResponse, error) } @@ -96,14 +93,11 @@ func (c *ocmCoreAPIClient) DeleteOCMCoreShare(ctx context.Context, in *DeleteOCM // All implementations should embed UnimplementedOcmCoreAPIServer // for forward compatibility type OcmCoreAPIServer interface { - // Creates a new OCM share, in response to a call from remote to: - // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1shares/post + // Deprecated. Creates a new OCM share, in response to a call from the remote system CreateOCMCoreShare(context.Context, *CreateOCMCoreShareRequest) (*CreateOCMCoreShareResponse, error) - // Updates an OCM share, in response to a notification from the remote system to: - // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post + // Deprecated. Updates an OCM share, in response to a notification from the remote system UpdateOCMCoreShare(context.Context, *UpdateOCMCoreShareRequest) (*UpdateOCMCoreShareResponse, error) - // Deletes an OCM share, in response to a notification from the remote system to: - // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post + // Deprecated. Deletes an OCM share, in response to a notification from the remote system DeleteOCMCoreShare(context.Context, *DeleteOCMCoreShareRequest) (*DeleteOCMCoreShareResponse, error) } diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1/ocm_incoming_api.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1/ocm_incoming_api.pb.go new file mode 100644 index 0000000000..861d4c44cd --- /dev/null +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1/ocm_incoming_api.pb.go @@ -0,0 +1,957 @@ +// Copyright 2018-2025 CERN +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// In applying this license, CERN does not waive the privileges and immunities +// granted to it by virtue of its status as an Intergovernmental Organization +// or submit itself to any jurisdiction. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc (unknown) +// source: cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto + +package incomingv1beta1 + +import ( + v1beta11 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" + v1beta14 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" + v1beta13 "github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1" + v1beta12 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" + v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CreateOCMIncomingShareRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // OPTIONAL. + // Opaque information. + Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"` + // OPTIONAL. + // Description for the share. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // REQUIRED. + // Name of the resource (file or folder). + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // REQUIRED. + // Identifier to identify the resource at the provider side. This is unique per provider. + ResourceId string `protobuf:"bytes,4,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + // REQUIRED. + // Provider specific identifier of the owner of the resource. + Owner *v1beta11.UserId `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"` + // REQUIRED. + // Provider specific identifier of the user that wants to share the resource. + Sender *v1beta11.UserId `protobuf:"bytes,6,opt,name=sender,proto3" json:"sender,omitempty"` + // REQUIRED. + // Consumer specific identifier of the user or group the provider wants to share the resource with. + // This is known in advance, for example using the OCM invitation flow. + // Please note that the consumer service endpoint is known in advance as well, so this is no part of the request body. + // TODO: this field needs to represent either a user or group in the future, not only a user. + ShareWith *v1beta11.UserId `protobuf:"bytes,7,opt,name=share_with,json=shareWith,proto3" json:"share_with,omitempty"` + // REQUIRED. + // Resource type. + // Deprecated: a resource might not always be a storage resource, use shared_resource_type instead. + // + // Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto. + ResourceType v1beta12.ResourceType `protobuf:"varint,8,opt,name=resource_type,json=resourceType,proto3,enum=cs3.storage.provider.v1beta1.ResourceType" json:"resource_type,omitempty"` + // REQUIRED. + // Recipient share type. + // Deprecated: use recipient_type instead. + // + // Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto. + ShareType v1beta13.ShareType `protobuf:"varint,9,opt,name=share_type,json=shareType,proto3,enum=cs3.sharing.ocm.v1beta1.ShareType" json:"share_type,omitempty"` + // OPTIONAL. + // The expiration time for the OCM share. + Expiration *v1beta1.Timestamp `protobuf:"bytes,10,opt,name=expiration,proto3" json:"expiration,omitempty"` + // REQUIRED. + // The protocols which are used to establish synchronisation, + // with their access rights. + // See also cs3/sharing/ocm/v1beta1/resources.proto for how to map + // this to the OCM share payload. + Protocols []*v1beta13.Protocol `protobuf:"bytes,11,rep,name=protocols,proto3" json:"protocols,omitempty"` + // OPTIONAL. + // A nonce to be exchanged for a (potentially short-lived) bearer token. Deprecated in OCM 1.3. + // + // Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto. + Code string `protobuf:"bytes,12,opt,name=code,proto3" json:"code,omitempty"` + // REQUIRED. + // Shared resource type. + SharedResourceType v1beta13.SharedResourceType `protobuf:"varint,13,opt,name=shared_resource_type,json=sharedResourceType,proto3,enum=cs3.sharing.ocm.v1beta1.SharedResourceType" json:"shared_resource_type,omitempty"` + // REQUIRED. + // Recipient type, e.g. user or group. + RecipientType v1beta13.RecipientType `protobuf:"varint,14,opt,name=recipient_type,json=recipientType,proto3,enum=cs3.sharing.ocm.v1beta1.RecipientType" json:"recipient_type,omitempty"` +} + +func (x *CreateOCMIncomingShareRequest) Reset() { + *x = CreateOCMIncomingShareRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateOCMIncomingShareRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateOCMIncomingShareRequest) ProtoMessage() {} + +func (x *CreateOCMIncomingShareRequest) ProtoReflect() protoreflect.Message { + mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateOCMIncomingShareRequest.ProtoReflect.Descriptor instead. +func (*CreateOCMIncomingShareRequest) Descriptor() ([]byte, []int) { + return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateOCMIncomingShareRequest) GetOpaque() *v1beta1.Opaque { + if x != nil { + return x.Opaque + } + return nil +} + +func (x *CreateOCMIncomingShareRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateOCMIncomingShareRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateOCMIncomingShareRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +func (x *CreateOCMIncomingShareRequest) GetOwner() *v1beta11.UserId { + if x != nil { + return x.Owner + } + return nil +} + +func (x *CreateOCMIncomingShareRequest) GetSender() *v1beta11.UserId { + if x != nil { + return x.Sender + } + return nil +} + +func (x *CreateOCMIncomingShareRequest) GetShareWith() *v1beta11.UserId { + if x != nil { + return x.ShareWith + } + return nil +} + +// Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto. +func (x *CreateOCMIncomingShareRequest) GetResourceType() v1beta12.ResourceType { + if x != nil { + return x.ResourceType + } + return v1beta12.ResourceType(0) +} + +// Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto. +func (x *CreateOCMIncomingShareRequest) GetShareType() v1beta13.ShareType { + if x != nil { + return x.ShareType + } + return v1beta13.ShareType(0) +} + +func (x *CreateOCMIncomingShareRequest) GetExpiration() *v1beta1.Timestamp { + if x != nil { + return x.Expiration + } + return nil +} + +func (x *CreateOCMIncomingShareRequest) GetProtocols() []*v1beta13.Protocol { + if x != nil { + return x.Protocols + } + return nil +} + +// Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto. +func (x *CreateOCMIncomingShareRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *CreateOCMIncomingShareRequest) GetSharedResourceType() v1beta13.SharedResourceType { + if x != nil { + return x.SharedResourceType + } + return v1beta13.SharedResourceType(0) +} + +func (x *CreateOCMIncomingShareRequest) GetRecipientType() v1beta13.RecipientType { + if x != nil { + return x.RecipientType + } + return v1beta13.RecipientType(0) +} + +type CreateOCMIncomingShareResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + // The response status. + Status *v1beta14.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // OPTIONAL. + // Opaque information. + Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"` + // REQUIRED. + // Unique ID to identify the share at the consumer side. + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + // REQUIRED. + Created *v1beta1.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` +} + +func (x *CreateOCMIncomingShareResponse) Reset() { + *x = CreateOCMIncomingShareResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateOCMIncomingShareResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateOCMIncomingShareResponse) ProtoMessage() {} + +func (x *CreateOCMIncomingShareResponse) ProtoReflect() protoreflect.Message { + mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateOCMIncomingShareResponse.ProtoReflect.Descriptor instead. +func (*CreateOCMIncomingShareResponse) Descriptor() ([]byte, []int) { + return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateOCMIncomingShareResponse) GetStatus() *v1beta14.Status { + if x != nil { + return x.Status + } + return nil +} + +func (x *CreateOCMIncomingShareResponse) GetOpaque() *v1beta1.Opaque { + if x != nil { + return x.Opaque + } + return nil +} + +func (x *CreateOCMIncomingShareResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateOCMIncomingShareResponse) GetCreated() *v1beta1.Timestamp { + if x != nil { + return x.Created + } + return nil +} + +type UpdateOCMIncomingShareRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // OPTIONAL. + // Opaque information. + Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"` + // REQUIRED. + // Unique ID to identify the share at the consumer side. + OcmShareId string `protobuf:"bytes,2,opt,name=ocm_share_id,json=ocmShareId,proto3" json:"ocm_share_id,omitempty"` + // OPTIONAL. + // Description for the share. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // OPTIONAL. + // Recipient share type. + // Deprecated: use recipient_type instead. + // + // Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto. + ShareType v1beta13.ShareType `protobuf:"varint,5,opt,name=share_type,json=shareType,proto3,enum=cs3.sharing.ocm.v1beta1.ShareType" json:"share_type,omitempty"` + // OPTIONAL. + // The expiration time for the OCM share. + Expiration *v1beta1.Timestamp `protobuf:"bytes,6,opt,name=expiration,proto3" json:"expiration,omitempty"` + // OPTIONAL. + // The protocols which are used to establish synchronisation, + // with their access rights. + Protocols []*v1beta13.Protocol `protobuf:"bytes,7,rep,name=protocols,proto3" json:"protocols,omitempty"` + // OPTIONAL. + // Recipient type. + RecipientType v1beta13.RecipientType `protobuf:"varint,8,opt,name=recipient_type,json=recipientType,proto3,enum=cs3.sharing.ocm.v1beta1.RecipientType" json:"recipient_type,omitempty"` +} + +func (x *UpdateOCMIncomingShareRequest) Reset() { + *x = UpdateOCMIncomingShareRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateOCMIncomingShareRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateOCMIncomingShareRequest) ProtoMessage() {} + +func (x *UpdateOCMIncomingShareRequest) ProtoReflect() protoreflect.Message { + mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateOCMIncomingShareRequest.ProtoReflect.Descriptor instead. +func (*UpdateOCMIncomingShareRequest) Descriptor() ([]byte, []int) { + return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP(), []int{2} +} + +func (x *UpdateOCMIncomingShareRequest) GetOpaque() *v1beta1.Opaque { + if x != nil { + return x.Opaque + } + return nil +} + +func (x *UpdateOCMIncomingShareRequest) GetOcmShareId() string { + if x != nil { + return x.OcmShareId + } + return "" +} + +func (x *UpdateOCMIncomingShareRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +// Deprecated: Marked as deprecated in cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto. +func (x *UpdateOCMIncomingShareRequest) GetShareType() v1beta13.ShareType { + if x != nil { + return x.ShareType + } + return v1beta13.ShareType(0) +} + +func (x *UpdateOCMIncomingShareRequest) GetExpiration() *v1beta1.Timestamp { + if x != nil { + return x.Expiration + } + return nil +} + +func (x *UpdateOCMIncomingShareRequest) GetProtocols() []*v1beta13.Protocol { + if x != nil { + return x.Protocols + } + return nil +} + +func (x *UpdateOCMIncomingShareRequest) GetRecipientType() v1beta13.RecipientType { + if x != nil { + return x.RecipientType + } + return v1beta13.RecipientType(0) +} + +type UpdateOCMIncomingShareResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + // The response status. + Status *v1beta14.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // OPTIONAL. + // Opaque information. + Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"` +} + +func (x *UpdateOCMIncomingShareResponse) Reset() { + *x = UpdateOCMIncomingShareResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateOCMIncomingShareResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateOCMIncomingShareResponse) ProtoMessage() {} + +func (x *UpdateOCMIncomingShareResponse) ProtoReflect() protoreflect.Message { + mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateOCMIncomingShareResponse.ProtoReflect.Descriptor instead. +func (*UpdateOCMIncomingShareResponse) Descriptor() ([]byte, []int) { + return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP(), []int{3} +} + +func (x *UpdateOCMIncomingShareResponse) GetStatus() *v1beta14.Status { + if x != nil { + return x.Status + } + return nil +} + +func (x *UpdateOCMIncomingShareResponse) GetOpaque() *v1beta1.Opaque { + if x != nil { + return x.Opaque + } + return nil +} + +type DeleteOCMIncomingShareRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + // Unique ID to identify the share at the consumer side. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // OPTIONAL. + // Opaque information. + Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"` +} + +func (x *DeleteOCMIncomingShareRequest) Reset() { + *x = DeleteOCMIncomingShareRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteOCMIncomingShareRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteOCMIncomingShareRequest) ProtoMessage() {} + +func (x *DeleteOCMIncomingShareRequest) ProtoReflect() protoreflect.Message { + mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteOCMIncomingShareRequest.ProtoReflect.Descriptor instead. +func (*DeleteOCMIncomingShareRequest) Descriptor() ([]byte, []int) { + return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP(), []int{4} +} + +func (x *DeleteOCMIncomingShareRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DeleteOCMIncomingShareRequest) GetOpaque() *v1beta1.Opaque { + if x != nil { + return x.Opaque + } + return nil +} + +type DeleteOCMIncomingShareResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + // The response status. + Status *v1beta14.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // OPTIONAL. + // Opaque information. + Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"` +} + +func (x *DeleteOCMIncomingShareResponse) Reset() { + *x = DeleteOCMIncomingShareResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteOCMIncomingShareResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteOCMIncomingShareResponse) ProtoMessage() {} + +func (x *DeleteOCMIncomingShareResponse) ProtoReflect() protoreflect.Message { + mi := &file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteOCMIncomingShareResponse.ProtoReflect.Descriptor instead. +func (*DeleteOCMIncomingShareResponse) Descriptor() ([]byte, []int) { + return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteOCMIncomingShareResponse) GetStatus() *v1beta14.Status { + if x != nil { + return x.Status + } + return nil +} + +func (x *DeleteOCMIncomingShareResponse) GetOpaque() *v1beta1.Opaque { + if x != nil { + return x.Opaque + } + return nil +} + +var File_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto protoreflect.FileDescriptor + +var file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, + 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x63, 0x6d, 0x5f, 0x69, + 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x18, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x29, 0x63, 0x73, 0x33, + 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x63, 0x73, 0x33, 0x2f, 0x72, 0x70, 0x63, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, + 0x67, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x63, + 0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33, + 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x06, 0x0a, 0x1d, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, + 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, + 0x39, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0a, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x57, 0x69, 0x74, 0x68, 0x12, 0x53, 0x0a, 0x0d, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x09, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x5d, 0x0a, 0x14, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x12, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4d, + 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, + 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xcc, 0x01, + 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, + 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, + 0x61, 0x71, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0xab, 0x03, 0x0a, + 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, + 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, + 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6f, 0x63, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x63, 0x6d, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0a, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x4d, 0x0a, 0x0e, 0x72, + 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, + 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x63, + 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, + 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x22, 0x62, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, + 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, + 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, + 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x32, 0xba, 0x03, 0x0a, + 0x0e, 0x4f, 0x63, 0x6d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x50, 0x49, 0x12, + 0x8b, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, + 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, + 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, + 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, + 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, + 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, + 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, + 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x16, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, + 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, + 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, + 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x38, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4f, 0x43, 0x4d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xfd, 0x01, 0x0a, 0x1c, 0x63, 0x6f, + 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x4f, 0x63, 0x6d, 0x49, + 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, + 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, + 0x63, 0x73, 0x33, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, + 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x4f, 0x49, 0xaa, 0x02, + 0x18, 0x43, 0x73, 0x33, 0x2e, 0x4f, 0x63, 0x6d, 0x2e, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x18, 0x43, 0x73, 0x33, 0x5c, + 0x4f, 0x63, 0x6d, 0x5c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x24, 0x43, 0x73, 0x33, 0x5c, 0x4f, 0x63, 0x6d, 0x5c, 0x49, + 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x43, 0x73, + 0x33, 0x3a, 0x3a, 0x4f, 0x63, 0x6d, 0x3a, 0x3a, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescOnce sync.Once + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescData = file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDesc +) + +func file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescGZIP() []byte { + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescOnce.Do(func() { + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescData) + }) + return file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDescData +} + +var file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_goTypes = []interface{}{ + (*CreateOCMIncomingShareRequest)(nil), // 0: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest + (*CreateOCMIncomingShareResponse)(nil), // 1: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse + (*UpdateOCMIncomingShareRequest)(nil), // 2: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest + (*UpdateOCMIncomingShareResponse)(nil), // 3: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse + (*DeleteOCMIncomingShareRequest)(nil), // 4: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareRequest + (*DeleteOCMIncomingShareResponse)(nil), // 5: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse + (*v1beta1.Opaque)(nil), // 6: cs3.types.v1beta1.Opaque + (*v1beta11.UserId)(nil), // 7: cs3.identity.user.v1beta1.UserId + (v1beta12.ResourceType)(0), // 8: cs3.storage.provider.v1beta1.ResourceType + (v1beta13.ShareType)(0), // 9: cs3.sharing.ocm.v1beta1.ShareType + (*v1beta1.Timestamp)(nil), // 10: cs3.types.v1beta1.Timestamp + (*v1beta13.Protocol)(nil), // 11: cs3.sharing.ocm.v1beta1.Protocol + (v1beta13.SharedResourceType)(0), // 12: cs3.sharing.ocm.v1beta1.SharedResourceType + (v1beta13.RecipientType)(0), // 13: cs3.sharing.ocm.v1beta1.RecipientType + (*v1beta14.Status)(nil), // 14: cs3.rpc.v1beta1.Status +} +var file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_depIdxs = []int32{ + 6, // 0: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 7, // 1: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.owner:type_name -> cs3.identity.user.v1beta1.UserId + 7, // 2: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.sender:type_name -> cs3.identity.user.v1beta1.UserId + 7, // 3: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.share_with:type_name -> cs3.identity.user.v1beta1.UserId + 8, // 4: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.resource_type:type_name -> cs3.storage.provider.v1beta1.ResourceType + 9, // 5: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.share_type:type_name -> cs3.sharing.ocm.v1beta1.ShareType + 10, // 6: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.expiration:type_name -> cs3.types.v1beta1.Timestamp + 11, // 7: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.protocols:type_name -> cs3.sharing.ocm.v1beta1.Protocol + 12, // 8: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.shared_resource_type:type_name -> cs3.sharing.ocm.v1beta1.SharedResourceType + 13, // 9: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest.recipient_type:type_name -> cs3.sharing.ocm.v1beta1.RecipientType + 14, // 10: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse.status:type_name -> cs3.rpc.v1beta1.Status + 6, // 11: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 10, // 12: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse.created:type_name -> cs3.types.v1beta1.Timestamp + 6, // 13: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 9, // 14: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest.share_type:type_name -> cs3.sharing.ocm.v1beta1.ShareType + 10, // 15: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest.expiration:type_name -> cs3.types.v1beta1.Timestamp + 11, // 16: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest.protocols:type_name -> cs3.sharing.ocm.v1beta1.Protocol + 13, // 17: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest.recipient_type:type_name -> cs3.sharing.ocm.v1beta1.RecipientType + 14, // 18: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse.status:type_name -> cs3.rpc.v1beta1.Status + 6, // 19: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 6, // 20: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 14, // 21: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse.status:type_name -> cs3.rpc.v1beta1.Status + 6, // 22: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 0, // 23: cs3.ocm.incoming.v1beta1.OcmIncomingAPI.CreateOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest + 2, // 24: cs3.ocm.incoming.v1beta1.OcmIncomingAPI.UpdateOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest + 4, // 25: cs3.ocm.incoming.v1beta1.OcmIncomingAPI.DeleteOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareRequest + 1, // 26: cs3.ocm.incoming.v1beta1.OcmIncomingAPI.CreateOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse + 3, // 27: cs3.ocm.incoming.v1beta1.OcmIncomingAPI.UpdateOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse + 5, // 28: cs3.ocm.incoming.v1beta1.OcmIncomingAPI.DeleteOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse + 26, // [26:29] is the sub-list for method output_type + 23, // [23:26] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 23, // [23:23] is the sub-list for extension extendee + 0, // [0:23] is the sub-list for field type_name +} + +func init() { file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_init() } +func file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_init() { + if File_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateOCMIncomingShareRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateOCMIncomingShareResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateOCMIncomingShareRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateOCMIncomingShareResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteOCMIncomingShareRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteOCMIncomingShareResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_goTypes, + DependencyIndexes: file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_depIdxs, + MessageInfos: file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_msgTypes, + }.Build() + File_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto = out.File + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_rawDesc = nil + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_goTypes = nil + file_cs3_ocm_incoming_v1beta1_ocm_incoming_api_proto_depIdxs = nil +} diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1/ocm_incoming_api_grpc.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1/ocm_incoming_api_grpc.pb.go new file mode 100644 index 0000000000..1597d43cb4 --- /dev/null +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1/ocm_incoming_api_grpc.pb.go @@ -0,0 +1,211 @@ +// Copyright 2018-2025 CERN +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// In applying this license, CERN does not waive the privileges and immunities +// granted to it by virtue of its status as an Intergovernmental Organization +// or submit itself to any jurisdiction. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto + +package incomingv1beta1 + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + OcmIncomingAPI_CreateOCMIncomingShare_FullMethodName = "/cs3.ocm.incoming.v1beta1.OcmIncomingAPI/CreateOCMIncomingShare" + OcmIncomingAPI_UpdateOCMIncomingShare_FullMethodName = "/cs3.ocm.incoming.v1beta1.OcmIncomingAPI/UpdateOCMIncomingShare" + OcmIncomingAPI_DeleteOCMIncomingShare_FullMethodName = "/cs3.ocm.incoming.v1beta1.OcmIncomingAPI/DeleteOCMIncomingShare" +) + +// OcmIncomingAPIClient is the client API for OcmIncomingAPI service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type OcmIncomingAPIClient interface { + // Creates a new OCM share in response to a call from remote to `/ocm/shares`. See: + // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1shares/post + CreateOCMIncomingShare(ctx context.Context, in *CreateOCMIncomingShareRequest, opts ...grpc.CallOption) (*CreateOCMIncomingShareResponse, error) + // Updates an OCM share in response to a notification from remote to `/ocm/notifications`. See: + // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post + UpdateOCMIncomingShare(ctx context.Context, in *UpdateOCMIncomingShareRequest, opts ...grpc.CallOption) (*UpdateOCMIncomingShareResponse, error) + // Deletes an OCM share in response to a notification from remote to `/ocm/notifications`. See: + // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post + DeleteOCMIncomingShare(ctx context.Context, in *DeleteOCMIncomingShareRequest, opts ...grpc.CallOption) (*DeleteOCMIncomingShareResponse, error) +} + +type ocmIncomingAPIClient struct { + cc grpc.ClientConnInterface +} + +func NewOcmIncomingAPIClient(cc grpc.ClientConnInterface) OcmIncomingAPIClient { + return &ocmIncomingAPIClient{cc} +} + +func (c *ocmIncomingAPIClient) CreateOCMIncomingShare(ctx context.Context, in *CreateOCMIncomingShareRequest, opts ...grpc.CallOption) (*CreateOCMIncomingShareResponse, error) { + out := new(CreateOCMIncomingShareResponse) + err := c.cc.Invoke(ctx, OcmIncomingAPI_CreateOCMIncomingShare_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *ocmIncomingAPIClient) UpdateOCMIncomingShare(ctx context.Context, in *UpdateOCMIncomingShareRequest, opts ...grpc.CallOption) (*UpdateOCMIncomingShareResponse, error) { + out := new(UpdateOCMIncomingShareResponse) + err := c.cc.Invoke(ctx, OcmIncomingAPI_UpdateOCMIncomingShare_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *ocmIncomingAPIClient) DeleteOCMIncomingShare(ctx context.Context, in *DeleteOCMIncomingShareRequest, opts ...grpc.CallOption) (*DeleteOCMIncomingShareResponse, error) { + out := new(DeleteOCMIncomingShareResponse) + err := c.cc.Invoke(ctx, OcmIncomingAPI_DeleteOCMIncomingShare_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// OcmIncomingAPIServer is the server API for OcmIncomingAPI service. +// All implementations should embed UnimplementedOcmIncomingAPIServer +// for forward compatibility +type OcmIncomingAPIServer interface { + // Creates a new OCM share in response to a call from remote to `/ocm/shares`. See: + // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1shares/post + CreateOCMIncomingShare(context.Context, *CreateOCMIncomingShareRequest) (*CreateOCMIncomingShareResponse, error) + // Updates an OCM share in response to a notification from remote to `/ocm/notifications`. See: + // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post + UpdateOCMIncomingShare(context.Context, *UpdateOCMIncomingShareRequest) (*UpdateOCMIncomingShareResponse, error) + // Deletes an OCM share in response to a notification from remote to `/ocm/notifications`. See: + // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post + DeleteOCMIncomingShare(context.Context, *DeleteOCMIncomingShareRequest) (*DeleteOCMIncomingShareResponse, error) +} + +// UnimplementedOcmIncomingAPIServer should be embedded to have forward compatible implementations. +type UnimplementedOcmIncomingAPIServer struct { +} + +func (UnimplementedOcmIncomingAPIServer) CreateOCMIncomingShare(context.Context, *CreateOCMIncomingShareRequest) (*CreateOCMIncomingShareResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateOCMIncomingShare not implemented") +} +func (UnimplementedOcmIncomingAPIServer) UpdateOCMIncomingShare(context.Context, *UpdateOCMIncomingShareRequest) (*UpdateOCMIncomingShareResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateOCMIncomingShare not implemented") +} +func (UnimplementedOcmIncomingAPIServer) DeleteOCMIncomingShare(context.Context, *DeleteOCMIncomingShareRequest) (*DeleteOCMIncomingShareResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteOCMIncomingShare not implemented") +} + +// UnsafeOcmIncomingAPIServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to OcmIncomingAPIServer will +// result in compilation errors. +type UnsafeOcmIncomingAPIServer interface { + mustEmbedUnimplementedOcmIncomingAPIServer() +} + +func RegisterOcmIncomingAPIServer(s grpc.ServiceRegistrar, srv OcmIncomingAPIServer) { + s.RegisterService(&OcmIncomingAPI_ServiceDesc, srv) +} + +func _OcmIncomingAPI_CreateOCMIncomingShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateOCMIncomingShareRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OcmIncomingAPIServer).CreateOCMIncomingShare(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OcmIncomingAPI_CreateOCMIncomingShare_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OcmIncomingAPIServer).CreateOCMIncomingShare(ctx, req.(*CreateOCMIncomingShareRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OcmIncomingAPI_UpdateOCMIncomingShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateOCMIncomingShareRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OcmIncomingAPIServer).UpdateOCMIncomingShare(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OcmIncomingAPI_UpdateOCMIncomingShare_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OcmIncomingAPIServer).UpdateOCMIncomingShare(ctx, req.(*UpdateOCMIncomingShareRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OcmIncomingAPI_DeleteOCMIncomingShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteOCMIncomingShareRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OcmIncomingAPIServer).DeleteOCMIncomingShare(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OcmIncomingAPI_DeleteOCMIncomingShare_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OcmIncomingAPIServer).DeleteOCMIncomingShare(ctx, req.(*DeleteOCMIncomingShareRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// OcmIncomingAPI_ServiceDesc is the grpc.ServiceDesc for OcmIncomingAPI service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var OcmIncomingAPI_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "cs3.ocm.incoming.v1beta1.OcmIncomingAPI", + HandlerType: (*OcmIncomingAPIServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateOCMIncomingShare", + Handler: _OcmIncomingAPI_CreateOCMIncomingShare_Handler, + }, + { + MethodName: "UpdateOCMIncomingShare", + Handler: _OcmIncomingAPI_UpdateOCMIncomingShare_Handler, + }, + { + MethodName: "DeleteOCMIncomingShare", + Handler: _OcmIncomingAPI_DeleteOCMIncomingShare_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cs3/ocm/incoming/v1beta1/ocm_incoming_api.proto", +} diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1/ocm_api.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1/ocm_api.pb.go index e3452395ac..c19d9721cb 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1/ocm_api.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1/ocm_api.pb.go @@ -107,6 +107,60 @@ func (ListOCMSharesRequest_Filter_Type) EnumDescriptor() ([]byte, []int) { return file_cs3_sharing_ocm_v1beta1_ocm_api_proto_rawDescGZIP(), []int{4, 0, 0} } +// REQUIRED. +// The filter to apply. +type ListReceivedOCMSharesRequest_Filter_Type int32 + +const ( + ListReceivedOCMSharesRequest_Filter_TYPE_INVALID ListReceivedOCMSharesRequest_Filter_Type = 0 + ListReceivedOCMSharesRequest_Filter_TYPE_OWNER ListReceivedOCMSharesRequest_Filter_Type = 1 + ListReceivedOCMSharesRequest_Filter_TYPE_CREATOR ListReceivedOCMSharesRequest_Filter_Type = 2 + ListReceivedOCMSharesRequest_Filter_TYPE_SHARE_TYPE ListReceivedOCMSharesRequest_Filter_Type = 3 +) + +// Enum value maps for ListReceivedOCMSharesRequest_Filter_Type. +var ( + ListReceivedOCMSharesRequest_Filter_Type_name = map[int32]string{ + 0: "TYPE_INVALID", + 1: "TYPE_OWNER", + 2: "TYPE_CREATOR", + 3: "TYPE_SHARE_TYPE", + } + ListReceivedOCMSharesRequest_Filter_Type_value = map[string]int32{ + "TYPE_INVALID": 0, + "TYPE_OWNER": 1, + "TYPE_CREATOR": 2, + "TYPE_SHARE_TYPE": 3, + } +) + +func (x ListReceivedOCMSharesRequest_Filter_Type) Enum() *ListReceivedOCMSharesRequest_Filter_Type { + p := new(ListReceivedOCMSharesRequest_Filter_Type) + *p = x + return p +} + +func (x ListReceivedOCMSharesRequest_Filter_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ListReceivedOCMSharesRequest_Filter_Type) Descriptor() protoreflect.EnumDescriptor { + return file_cs3_sharing_ocm_v1beta1_ocm_api_proto_enumTypes[1].Descriptor() +} + +func (ListReceivedOCMSharesRequest_Filter_Type) Type() protoreflect.EnumType { + return &file_cs3_sharing_ocm_v1beta1_ocm_api_proto_enumTypes[1] +} + +func (x ListReceivedOCMSharesRequest_Filter_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ListReceivedOCMSharesRequest_Filter_Type.Descriptor instead. +func (ListReceivedOCMSharesRequest_Filter_Type) EnumDescriptor() ([]byte, []int) { + return file_cs3_sharing_ocm_v1beta1_ocm_api_proto_rawDescGZIP(), []int{12, 0, 0} +} + type CreateOCMShareRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -125,6 +179,7 @@ type CreateOCMShareRequest struct { // The details of the recipient user's mesh provider. RecipientMeshProvider *v1beta12.ProviderInfo `protobuf:"bytes,4,opt,name=recipient_mesh_provider,json=recipientMeshProvider,proto3" json:"recipient_mesh_provider,omitempty"` // REQUIRED. + // The protocols used to access the resource from remote. AccessMethods []*AccessMethod `protobuf:"bytes,5,rep,name=access_methods,json=accessMethods,proto3" json:"access_methods,omitempty"` // OPTIONAL. // The expiration time for the ocm share. @@ -943,6 +998,9 @@ type ListReceivedOCMSharesRequest struct { // OPTIONAL. // The client uses this field to request a specific page of the list results. PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // OPTIONAL. + // The list of filters to apply if any. + Filters []*ListReceivedOCMSharesRequest_Filter `protobuf:"bytes,4,rep,name=filters,proto3" json:"filters,omitempty"` } func (x *ListReceivedOCMSharesRequest) Reset() { @@ -998,6 +1056,13 @@ func (x *ListReceivedOCMSharesRequest) GetPageToken() string { return "" } +func (x *ListReceivedOCMSharesRequest) GetFilters() []*ListReceivedOCMSharesRequest_Filter { + if x != nil { + return x.Filters + } + return nil +} + type ListReceivedOCMSharesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1528,6 +1593,111 @@ func (*ListOCMSharesRequest_Filter_Owner) isListOCMSharesRequest_Filter_Term() { func (*ListOCMSharesRequest_Filter_Creator) isListOCMSharesRequest_Filter_Term() {} +type ListReceivedOCMSharesRequest_Filter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + Type ListReceivedOCMSharesRequest_Filter_Type `protobuf:"varint,1,opt,name=type,proto3,enum=cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest_Filter_Type" json:"type,omitempty"` + // Types that are assignable to Term: + // + // *ListReceivedOCMSharesRequest_Filter_Owner + // *ListReceivedOCMSharesRequest_Filter_Creator + // *ListReceivedOCMSharesRequest_Filter_SharedResourceType + Term isListReceivedOCMSharesRequest_Filter_Term `protobuf_oneof:"term"` +} + +func (x *ListReceivedOCMSharesRequest_Filter) Reset() { + *x = ListReceivedOCMSharesRequest_Filter{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_sharing_ocm_v1beta1_ocm_api_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListReceivedOCMSharesRequest_Filter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListReceivedOCMSharesRequest_Filter) ProtoMessage() {} + +func (x *ListReceivedOCMSharesRequest_Filter) ProtoReflect() protoreflect.Message { + mi := &file_cs3_sharing_ocm_v1beta1_ocm_api_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListReceivedOCMSharesRequest_Filter.ProtoReflect.Descriptor instead. +func (*ListReceivedOCMSharesRequest_Filter) Descriptor() ([]byte, []int) { + return file_cs3_sharing_ocm_v1beta1_ocm_api_proto_rawDescGZIP(), []int{12, 0} +} + +func (x *ListReceivedOCMSharesRequest_Filter) GetType() ListReceivedOCMSharesRequest_Filter_Type { + if x != nil { + return x.Type + } + return ListReceivedOCMSharesRequest_Filter_TYPE_INVALID +} + +func (m *ListReceivedOCMSharesRequest_Filter) GetTerm() isListReceivedOCMSharesRequest_Filter_Term { + if m != nil { + return m.Term + } + return nil +} + +func (x *ListReceivedOCMSharesRequest_Filter) GetOwner() *v1beta14.UserId { + if x, ok := x.GetTerm().(*ListReceivedOCMSharesRequest_Filter_Owner); ok { + return x.Owner + } + return nil +} + +func (x *ListReceivedOCMSharesRequest_Filter) GetCreator() *v1beta14.UserId { + if x, ok := x.GetTerm().(*ListReceivedOCMSharesRequest_Filter_Creator); ok { + return x.Creator + } + return nil +} + +func (x *ListReceivedOCMSharesRequest_Filter) GetSharedResourceType() SharedResourceType { + if x, ok := x.GetTerm().(*ListReceivedOCMSharesRequest_Filter_SharedResourceType); ok { + return x.SharedResourceType + } + return SharedResourceType_SHARE_RESOURCE_TYPE_INVALID +} + +type isListReceivedOCMSharesRequest_Filter_Term interface { + isListReceivedOCMSharesRequest_Filter_Term() +} + +type ListReceivedOCMSharesRequest_Filter_Owner struct { + Owner *v1beta14.UserId `protobuf:"bytes,2,opt,name=owner,proto3,oneof"` +} + +type ListReceivedOCMSharesRequest_Filter_Creator struct { + Creator *v1beta14.UserId `protobuf:"bytes,3,opt,name=creator,proto3,oneof"` +} + +type ListReceivedOCMSharesRequest_Filter_SharedResourceType struct { + SharedResourceType SharedResourceType `protobuf:"varint,4,opt,name=shared_resource_type,json=sharedResourceType,proto3,enum=cs3.sharing.ocm.v1beta1.SharedResourceType,oneof"` +} + +func (*ListReceivedOCMSharesRequest_Filter_Owner) isListReceivedOCMSharesRequest_Filter_Term() {} + +func (*ListReceivedOCMSharesRequest_Filter_Creator) isListReceivedOCMSharesRequest_Filter_Term() {} + +func (*ListReceivedOCMSharesRequest_Filter_SharedResourceType) isListReceivedOCMSharesRequest_Filter_Term() { +} + var File_cs3_sharing_ocm_v1beta1_ocm_api_proto protoreflect.FileDescriptor var file_cs3_sharing_ocm_v1beta1_ocm_api_proto_rawDesc = []byte{ @@ -1729,7 +1899,7 @@ var file_cs3_sharing_ocm_v1beta1_ocm_api_proto_rawDesc = []byte{ 0x34, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x05, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0xfb, 0x04, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, @@ -1738,149 +1908,180 @@ var file_cs3_sharing_ocm_v1beta1_ocm_api_proto_rawDesc = []byte{ 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xeb, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, - 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x22, 0xcd, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x93, 0x03, + 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x39, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x5f, 0x0a, 0x14, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, + 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x12, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x04, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x57, 0x4e, + 0x45, 0x52, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, + 0x41, 0x54, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, + 0x48, 0x41, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x03, 0x42, 0x06, 0x0a, 0x04, 0x74, + 0x65, 0x72, 0x6d, 0x22, 0xeb, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x22, 0xcd, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, + 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x05, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, + 0x6b, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, - 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, - 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x73, 0x6b, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, + 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, - 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x1a, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, - 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, - 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x03, - 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0xbf, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, - 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x32, 0xd2, 0x08, 0x0a, 0x06, 0x4f, 0x63, - 0x6d, 0x41, 0x50, 0x49, 0x12, 0x71, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, - 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0b, 0x47, 0x65, - 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x42, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x42, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x42, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, - 0x12, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, - 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, + 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x03, 0x72, 0x65, + 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, - 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x89, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x36, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, + 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0xbf, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x72, 0x70, 0x63, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, - 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xea, - 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0b, - 0x4f, 0x63, 0x6d, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, - 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, - 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x3b, 0x6f, 0x63, 0x6d, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, - 0x03, 0x43, 0x53, 0x4f, 0xaa, 0x02, 0x17, 0x43, 0x73, 0x33, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x4f, 0x63, 0x6d, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, - 0x17, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4f, 0x63, 0x6d, - 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x73, 0x33, 0x5c, 0x53, - 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4f, 0x63, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x1a, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x4f, - 0x63, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x32, 0xd2, 0x08, 0x0a, 0x06, 0x4f, 0x63, 0x6d, 0x41, + 0x50, 0x49, 0x12, 0x71, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, + 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, + 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, + 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4f, + 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, + 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x42, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, + 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x42, 0x79, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x42, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6e, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x71, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x35, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, + 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, + 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x36, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, + 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x37, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, + 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x12, 0x33, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, 0x43, 0x4d, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xea, 0x01, 0x0a, + 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0b, 0x4f, 0x63, + 0x6d, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, + 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, + 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x3b, 0x6f, 0x63, 0x6d, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, + 0x53, 0x4f, 0xaa, 0x02, 0x17, 0x43, 0x73, 0x33, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x4f, 0x63, 0x6d, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x17, 0x43, + 0x73, 0x33, 0x5c, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4f, 0x63, 0x6d, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4f, 0x63, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x43, + 0x73, 0x33, 0x3a, 0x3a, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x4f, 0x63, 0x6d, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -1895,117 +2096,125 @@ func file_cs3_sharing_ocm_v1beta1_ocm_api_proto_rawDescGZIP() []byte { return file_cs3_sharing_ocm_v1beta1_ocm_api_proto_rawDescData } -var file_cs3_sharing_ocm_v1beta1_ocm_api_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_cs3_sharing_ocm_v1beta1_ocm_api_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_cs3_sharing_ocm_v1beta1_ocm_api_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_cs3_sharing_ocm_v1beta1_ocm_api_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_cs3_sharing_ocm_v1beta1_ocm_api_proto_goTypes = []interface{}{ - (ListOCMSharesRequest_Filter_Type)(0), // 0: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter.Type - (*CreateOCMShareRequest)(nil), // 1: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest - (*CreateOCMShareResponse)(nil), // 2: cs3.sharing.ocm.v1beta1.CreateOCMShareResponse - (*UpdateOCMShareRequest)(nil), // 3: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest - (*UpdateOCMShareResponse)(nil), // 4: cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse - (*ListOCMSharesRequest)(nil), // 5: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest - (*ListOCMSharesResponse)(nil), // 6: cs3.sharing.ocm.v1beta1.ListOCMSharesResponse - (*RemoveOCMShareRequest)(nil), // 7: cs3.sharing.ocm.v1beta1.RemoveOCMShareRequest - (*RemoveOCMShareResponse)(nil), // 8: cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse - (*GetOCMShareRequest)(nil), // 9: cs3.sharing.ocm.v1beta1.GetOCMShareRequest - (*GetOCMShareResponse)(nil), // 10: cs3.sharing.ocm.v1beta1.GetOCMShareResponse - (*GetOCMShareByTokenRequest)(nil), // 11: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenRequest - (*GetOCMShareByTokenResponse)(nil), // 12: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse - (*ListReceivedOCMSharesRequest)(nil), // 13: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest - (*ListReceivedOCMSharesResponse)(nil), // 14: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse - (*UpdateReceivedOCMShareRequest)(nil), // 15: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest - (*UpdateReceivedOCMShareResponse)(nil), // 16: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse - (*GetReceivedOCMShareRequest)(nil), // 17: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareRequest - (*GetReceivedOCMShareResponse)(nil), // 18: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse - (*UpdateOCMShareRequest_UpdateField)(nil), // 19: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.UpdateField - (*ListOCMSharesRequest_Filter)(nil), // 20: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter - (*v1beta1.Opaque)(nil), // 21: cs3.types.v1beta1.Opaque - (*v1beta11.ResourceId)(nil), // 22: cs3.storage.provider.v1beta1.ResourceId - (*v1beta11.Grantee)(nil), // 23: cs3.storage.provider.v1beta1.Grantee - (*v1beta12.ProviderInfo)(nil), // 24: cs3.ocm.provider.v1beta1.ProviderInfo - (*AccessMethod)(nil), // 25: cs3.sharing.ocm.v1beta1.AccessMethod - (*v1beta1.Timestamp)(nil), // 26: cs3.types.v1beta1.Timestamp - (*v1beta13.Status)(nil), // 27: cs3.rpc.v1beta1.Status - (*Share)(nil), // 28: cs3.sharing.ocm.v1beta1.Share - (*ShareReference)(nil), // 29: cs3.sharing.ocm.v1beta1.ShareReference - (*ReceivedShare)(nil), // 30: cs3.sharing.ocm.v1beta1.ReceivedShare - (*fieldmaskpb.FieldMask)(nil), // 31: google.protobuf.FieldMask - (*v1beta14.UserId)(nil), // 32: cs3.identity.user.v1beta1.UserId + (ListOCMSharesRequest_Filter_Type)(0), // 0: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter.Type + (ListReceivedOCMSharesRequest_Filter_Type)(0), // 1: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest.Filter.Type + (*CreateOCMShareRequest)(nil), // 2: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest + (*CreateOCMShareResponse)(nil), // 3: cs3.sharing.ocm.v1beta1.CreateOCMShareResponse + (*UpdateOCMShareRequest)(nil), // 4: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest + (*UpdateOCMShareResponse)(nil), // 5: cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse + (*ListOCMSharesRequest)(nil), // 6: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest + (*ListOCMSharesResponse)(nil), // 7: cs3.sharing.ocm.v1beta1.ListOCMSharesResponse + (*RemoveOCMShareRequest)(nil), // 8: cs3.sharing.ocm.v1beta1.RemoveOCMShareRequest + (*RemoveOCMShareResponse)(nil), // 9: cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse + (*GetOCMShareRequest)(nil), // 10: cs3.sharing.ocm.v1beta1.GetOCMShareRequest + (*GetOCMShareResponse)(nil), // 11: cs3.sharing.ocm.v1beta1.GetOCMShareResponse + (*GetOCMShareByTokenRequest)(nil), // 12: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenRequest + (*GetOCMShareByTokenResponse)(nil), // 13: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse + (*ListReceivedOCMSharesRequest)(nil), // 14: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest + (*ListReceivedOCMSharesResponse)(nil), // 15: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse + (*UpdateReceivedOCMShareRequest)(nil), // 16: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest + (*UpdateReceivedOCMShareResponse)(nil), // 17: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse + (*GetReceivedOCMShareRequest)(nil), // 18: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareRequest + (*GetReceivedOCMShareResponse)(nil), // 19: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse + (*UpdateOCMShareRequest_UpdateField)(nil), // 20: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.UpdateField + (*ListOCMSharesRequest_Filter)(nil), // 21: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter + (*ListReceivedOCMSharesRequest_Filter)(nil), // 22: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest.Filter + (*v1beta1.Opaque)(nil), // 23: cs3.types.v1beta1.Opaque + (*v1beta11.ResourceId)(nil), // 24: cs3.storage.provider.v1beta1.ResourceId + (*v1beta11.Grantee)(nil), // 25: cs3.storage.provider.v1beta1.Grantee + (*v1beta12.ProviderInfo)(nil), // 26: cs3.ocm.provider.v1beta1.ProviderInfo + (*AccessMethod)(nil), // 27: cs3.sharing.ocm.v1beta1.AccessMethod + (*v1beta1.Timestamp)(nil), // 28: cs3.types.v1beta1.Timestamp + (*v1beta13.Status)(nil), // 29: cs3.rpc.v1beta1.Status + (*Share)(nil), // 30: cs3.sharing.ocm.v1beta1.Share + (*ShareReference)(nil), // 31: cs3.sharing.ocm.v1beta1.ShareReference + (*ReceivedShare)(nil), // 32: cs3.sharing.ocm.v1beta1.ReceivedShare + (*fieldmaskpb.FieldMask)(nil), // 33: google.protobuf.FieldMask + (*v1beta14.UserId)(nil), // 34: cs3.identity.user.v1beta1.UserId + (SharedResourceType)(0), // 35: cs3.sharing.ocm.v1beta1.SharedResourceType } var file_cs3_sharing_ocm_v1beta1_ocm_api_proto_depIdxs = []int32{ - 21, // 0: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 22, // 1: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest.resource_id:type_name -> cs3.storage.provider.v1beta1.ResourceId - 23, // 2: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest.grantee:type_name -> cs3.storage.provider.v1beta1.Grantee - 24, // 3: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest.recipient_mesh_provider:type_name -> cs3.ocm.provider.v1beta1.ProviderInfo - 25, // 4: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest.access_methods:type_name -> cs3.sharing.ocm.v1beta1.AccessMethod - 26, // 5: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest.expiration:type_name -> cs3.types.v1beta1.Timestamp - 27, // 6: cs3.sharing.ocm.v1beta1.CreateOCMShareResponse.status:type_name -> cs3.rpc.v1beta1.Status - 21, // 7: cs3.sharing.ocm.v1beta1.CreateOCMShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 28, // 8: cs3.sharing.ocm.v1beta1.CreateOCMShareResponse.share:type_name -> cs3.sharing.ocm.v1beta1.Share - 21, // 9: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 29, // 10: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.ref:type_name -> cs3.sharing.ocm.v1beta1.ShareReference - 19, // 11: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.field:type_name -> cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.UpdateField - 27, // 12: cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse.status:type_name -> cs3.rpc.v1beta1.Status - 21, // 13: cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 21, // 14: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 20, // 15: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.filters:type_name -> cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter - 27, // 16: cs3.sharing.ocm.v1beta1.ListOCMSharesResponse.status:type_name -> cs3.rpc.v1beta1.Status - 21, // 17: cs3.sharing.ocm.v1beta1.ListOCMSharesResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 28, // 18: cs3.sharing.ocm.v1beta1.ListOCMSharesResponse.shares:type_name -> cs3.sharing.ocm.v1beta1.Share - 21, // 19: cs3.sharing.ocm.v1beta1.RemoveOCMShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 29, // 20: cs3.sharing.ocm.v1beta1.RemoveOCMShareRequest.ref:type_name -> cs3.sharing.ocm.v1beta1.ShareReference - 27, // 21: cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse.status:type_name -> cs3.rpc.v1beta1.Status - 21, // 22: cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 21, // 23: cs3.sharing.ocm.v1beta1.GetOCMShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 29, // 24: cs3.sharing.ocm.v1beta1.GetOCMShareRequest.ref:type_name -> cs3.sharing.ocm.v1beta1.ShareReference - 27, // 25: cs3.sharing.ocm.v1beta1.GetOCMShareResponse.status:type_name -> cs3.rpc.v1beta1.Status - 21, // 26: cs3.sharing.ocm.v1beta1.GetOCMShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 28, // 27: cs3.sharing.ocm.v1beta1.GetOCMShareResponse.share:type_name -> cs3.sharing.ocm.v1beta1.Share - 27, // 28: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse.status:type_name -> cs3.rpc.v1beta1.Status - 28, // 29: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse.share:type_name -> cs3.sharing.ocm.v1beta1.Share - 21, // 30: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 27, // 31: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse.status:type_name -> cs3.rpc.v1beta1.Status - 21, // 32: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 30, // 33: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse.shares:type_name -> cs3.sharing.ocm.v1beta1.ReceivedShare - 21, // 34: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 30, // 35: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest.share:type_name -> cs3.sharing.ocm.v1beta1.ReceivedShare - 31, // 36: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest.update_mask:type_name -> google.protobuf.FieldMask - 27, // 37: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse.status:type_name -> cs3.rpc.v1beta1.Status - 21, // 38: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 21, // 39: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque - 29, // 40: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareRequest.ref:type_name -> cs3.sharing.ocm.v1beta1.ShareReference - 27, // 41: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse.status:type_name -> cs3.rpc.v1beta1.Status - 21, // 42: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque - 30, // 43: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse.share:type_name -> cs3.sharing.ocm.v1beta1.ReceivedShare - 26, // 44: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.UpdateField.expiration:type_name -> cs3.types.v1beta1.Timestamp - 25, // 45: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.UpdateField.access_methods:type_name -> cs3.sharing.ocm.v1beta1.AccessMethod - 0, // 46: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter.type:type_name -> cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter.Type - 22, // 47: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter.resource_id:type_name -> cs3.storage.provider.v1beta1.ResourceId - 32, // 48: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter.owner:type_name -> cs3.identity.user.v1beta1.UserId - 32, // 49: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter.creator:type_name -> cs3.identity.user.v1beta1.UserId - 1, // 50: cs3.sharing.ocm.v1beta1.OcmAPI.CreateOCMShare:input_type -> cs3.sharing.ocm.v1beta1.CreateOCMShareRequest - 7, // 51: cs3.sharing.ocm.v1beta1.OcmAPI.RemoveOCMShare:input_type -> cs3.sharing.ocm.v1beta1.RemoveOCMShareRequest - 9, // 52: cs3.sharing.ocm.v1beta1.OcmAPI.GetOCMShare:input_type -> cs3.sharing.ocm.v1beta1.GetOCMShareRequest - 11, // 53: cs3.sharing.ocm.v1beta1.OcmAPI.GetOCMShareByToken:input_type -> cs3.sharing.ocm.v1beta1.GetOCMShareByTokenRequest - 5, // 54: cs3.sharing.ocm.v1beta1.OcmAPI.ListOCMShares:input_type -> cs3.sharing.ocm.v1beta1.ListOCMSharesRequest - 3, // 55: cs3.sharing.ocm.v1beta1.OcmAPI.UpdateOCMShare:input_type -> cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest - 13, // 56: cs3.sharing.ocm.v1beta1.OcmAPI.ListReceivedOCMShares:input_type -> cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest - 15, // 57: cs3.sharing.ocm.v1beta1.OcmAPI.UpdateReceivedOCMShare:input_type -> cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest - 17, // 58: cs3.sharing.ocm.v1beta1.OcmAPI.GetReceivedOCMShare:input_type -> cs3.sharing.ocm.v1beta1.GetReceivedOCMShareRequest - 2, // 59: cs3.sharing.ocm.v1beta1.OcmAPI.CreateOCMShare:output_type -> cs3.sharing.ocm.v1beta1.CreateOCMShareResponse - 8, // 60: cs3.sharing.ocm.v1beta1.OcmAPI.RemoveOCMShare:output_type -> cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse - 10, // 61: cs3.sharing.ocm.v1beta1.OcmAPI.GetOCMShare:output_type -> cs3.sharing.ocm.v1beta1.GetOCMShareResponse - 12, // 62: cs3.sharing.ocm.v1beta1.OcmAPI.GetOCMShareByToken:output_type -> cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse - 6, // 63: cs3.sharing.ocm.v1beta1.OcmAPI.ListOCMShares:output_type -> cs3.sharing.ocm.v1beta1.ListOCMSharesResponse - 4, // 64: cs3.sharing.ocm.v1beta1.OcmAPI.UpdateOCMShare:output_type -> cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse - 14, // 65: cs3.sharing.ocm.v1beta1.OcmAPI.ListReceivedOCMShares:output_type -> cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse - 16, // 66: cs3.sharing.ocm.v1beta1.OcmAPI.UpdateReceivedOCMShare:output_type -> cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse - 18, // 67: cs3.sharing.ocm.v1beta1.OcmAPI.GetReceivedOCMShare:output_type -> cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse - 59, // [59:68] is the sub-list for method output_type - 50, // [50:59] is the sub-list for method input_type - 50, // [50:50] is the sub-list for extension type_name - 50, // [50:50] is the sub-list for extension extendee - 0, // [0:50] is the sub-list for field type_name + 23, // 0: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 24, // 1: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest.resource_id:type_name -> cs3.storage.provider.v1beta1.ResourceId + 25, // 2: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest.grantee:type_name -> cs3.storage.provider.v1beta1.Grantee + 26, // 3: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest.recipient_mesh_provider:type_name -> cs3.ocm.provider.v1beta1.ProviderInfo + 27, // 4: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest.access_methods:type_name -> cs3.sharing.ocm.v1beta1.AccessMethod + 28, // 5: cs3.sharing.ocm.v1beta1.CreateOCMShareRequest.expiration:type_name -> cs3.types.v1beta1.Timestamp + 29, // 6: cs3.sharing.ocm.v1beta1.CreateOCMShareResponse.status:type_name -> cs3.rpc.v1beta1.Status + 23, // 7: cs3.sharing.ocm.v1beta1.CreateOCMShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 30, // 8: cs3.sharing.ocm.v1beta1.CreateOCMShareResponse.share:type_name -> cs3.sharing.ocm.v1beta1.Share + 23, // 9: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 31, // 10: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.ref:type_name -> cs3.sharing.ocm.v1beta1.ShareReference + 20, // 11: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.field:type_name -> cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.UpdateField + 29, // 12: cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse.status:type_name -> cs3.rpc.v1beta1.Status + 23, // 13: cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 23, // 14: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 21, // 15: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.filters:type_name -> cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter + 29, // 16: cs3.sharing.ocm.v1beta1.ListOCMSharesResponse.status:type_name -> cs3.rpc.v1beta1.Status + 23, // 17: cs3.sharing.ocm.v1beta1.ListOCMSharesResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 30, // 18: cs3.sharing.ocm.v1beta1.ListOCMSharesResponse.shares:type_name -> cs3.sharing.ocm.v1beta1.Share + 23, // 19: cs3.sharing.ocm.v1beta1.RemoveOCMShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 31, // 20: cs3.sharing.ocm.v1beta1.RemoveOCMShareRequest.ref:type_name -> cs3.sharing.ocm.v1beta1.ShareReference + 29, // 21: cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse.status:type_name -> cs3.rpc.v1beta1.Status + 23, // 22: cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 23, // 23: cs3.sharing.ocm.v1beta1.GetOCMShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 31, // 24: cs3.sharing.ocm.v1beta1.GetOCMShareRequest.ref:type_name -> cs3.sharing.ocm.v1beta1.ShareReference + 29, // 25: cs3.sharing.ocm.v1beta1.GetOCMShareResponse.status:type_name -> cs3.rpc.v1beta1.Status + 23, // 26: cs3.sharing.ocm.v1beta1.GetOCMShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 30, // 27: cs3.sharing.ocm.v1beta1.GetOCMShareResponse.share:type_name -> cs3.sharing.ocm.v1beta1.Share + 29, // 28: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse.status:type_name -> cs3.rpc.v1beta1.Status + 30, // 29: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse.share:type_name -> cs3.sharing.ocm.v1beta1.Share + 23, // 30: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 22, // 31: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest.filters:type_name -> cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest.Filter + 29, // 32: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse.status:type_name -> cs3.rpc.v1beta1.Status + 23, // 33: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 32, // 34: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse.shares:type_name -> cs3.sharing.ocm.v1beta1.ReceivedShare + 23, // 35: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 32, // 36: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest.share:type_name -> cs3.sharing.ocm.v1beta1.ReceivedShare + 33, // 37: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest.update_mask:type_name -> google.protobuf.FieldMask + 29, // 38: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse.status:type_name -> cs3.rpc.v1beta1.Status + 23, // 39: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 23, // 40: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareRequest.opaque:type_name -> cs3.types.v1beta1.Opaque + 31, // 41: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareRequest.ref:type_name -> cs3.sharing.ocm.v1beta1.ShareReference + 29, // 42: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse.status:type_name -> cs3.rpc.v1beta1.Status + 23, // 43: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse.opaque:type_name -> cs3.types.v1beta1.Opaque + 32, // 44: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse.share:type_name -> cs3.sharing.ocm.v1beta1.ReceivedShare + 28, // 45: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.UpdateField.expiration:type_name -> cs3.types.v1beta1.Timestamp + 27, // 46: cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest.UpdateField.access_methods:type_name -> cs3.sharing.ocm.v1beta1.AccessMethod + 0, // 47: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter.type:type_name -> cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter.Type + 24, // 48: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter.resource_id:type_name -> cs3.storage.provider.v1beta1.ResourceId + 34, // 49: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter.owner:type_name -> cs3.identity.user.v1beta1.UserId + 34, // 50: cs3.sharing.ocm.v1beta1.ListOCMSharesRequest.Filter.creator:type_name -> cs3.identity.user.v1beta1.UserId + 1, // 51: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest.Filter.type:type_name -> cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest.Filter.Type + 34, // 52: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest.Filter.owner:type_name -> cs3.identity.user.v1beta1.UserId + 34, // 53: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest.Filter.creator:type_name -> cs3.identity.user.v1beta1.UserId + 35, // 54: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest.Filter.shared_resource_type:type_name -> cs3.sharing.ocm.v1beta1.SharedResourceType + 2, // 55: cs3.sharing.ocm.v1beta1.OcmAPI.CreateOCMShare:input_type -> cs3.sharing.ocm.v1beta1.CreateOCMShareRequest + 8, // 56: cs3.sharing.ocm.v1beta1.OcmAPI.RemoveOCMShare:input_type -> cs3.sharing.ocm.v1beta1.RemoveOCMShareRequest + 10, // 57: cs3.sharing.ocm.v1beta1.OcmAPI.GetOCMShare:input_type -> cs3.sharing.ocm.v1beta1.GetOCMShareRequest + 12, // 58: cs3.sharing.ocm.v1beta1.OcmAPI.GetOCMShareByToken:input_type -> cs3.sharing.ocm.v1beta1.GetOCMShareByTokenRequest + 6, // 59: cs3.sharing.ocm.v1beta1.OcmAPI.ListOCMShares:input_type -> cs3.sharing.ocm.v1beta1.ListOCMSharesRequest + 4, // 60: cs3.sharing.ocm.v1beta1.OcmAPI.UpdateOCMShare:input_type -> cs3.sharing.ocm.v1beta1.UpdateOCMShareRequest + 14, // 61: cs3.sharing.ocm.v1beta1.OcmAPI.ListReceivedOCMShares:input_type -> cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesRequest + 16, // 62: cs3.sharing.ocm.v1beta1.OcmAPI.UpdateReceivedOCMShare:input_type -> cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareRequest + 18, // 63: cs3.sharing.ocm.v1beta1.OcmAPI.GetReceivedOCMShare:input_type -> cs3.sharing.ocm.v1beta1.GetReceivedOCMShareRequest + 3, // 64: cs3.sharing.ocm.v1beta1.OcmAPI.CreateOCMShare:output_type -> cs3.sharing.ocm.v1beta1.CreateOCMShareResponse + 9, // 65: cs3.sharing.ocm.v1beta1.OcmAPI.RemoveOCMShare:output_type -> cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse + 11, // 66: cs3.sharing.ocm.v1beta1.OcmAPI.GetOCMShare:output_type -> cs3.sharing.ocm.v1beta1.GetOCMShareResponse + 13, // 67: cs3.sharing.ocm.v1beta1.OcmAPI.GetOCMShareByToken:output_type -> cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse + 7, // 68: cs3.sharing.ocm.v1beta1.OcmAPI.ListOCMShares:output_type -> cs3.sharing.ocm.v1beta1.ListOCMSharesResponse + 5, // 69: cs3.sharing.ocm.v1beta1.OcmAPI.UpdateOCMShare:output_type -> cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse + 15, // 70: cs3.sharing.ocm.v1beta1.OcmAPI.ListReceivedOCMShares:output_type -> cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse + 17, // 71: cs3.sharing.ocm.v1beta1.OcmAPI.UpdateReceivedOCMShare:output_type -> cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse + 19, // 72: cs3.sharing.ocm.v1beta1.OcmAPI.GetReceivedOCMShare:output_type -> cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse + 64, // [64:73] is the sub-list for method output_type + 55, // [55:64] is the sub-list for method input_type + 55, // [55:55] is the sub-list for extension type_name + 55, // [55:55] is the sub-list for extension extendee + 0, // [0:55] is the sub-list for field type_name } func init() { file_cs3_sharing_ocm_v1beta1_ocm_api_proto_init() } @@ -2255,6 +2464,18 @@ func file_cs3_sharing_ocm_v1beta1_ocm_api_proto_init() { return nil } } + file_cs3_sharing_ocm_v1beta1_ocm_api_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListReceivedOCMSharesRequest_Filter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_cs3_sharing_ocm_v1beta1_ocm_api_proto_msgTypes[18].OneofWrappers = []interface{}{ (*UpdateOCMShareRequest_UpdateField_Expiration)(nil), @@ -2265,13 +2486,18 @@ func file_cs3_sharing_ocm_v1beta1_ocm_api_proto_init() { (*ListOCMSharesRequest_Filter_Owner)(nil), (*ListOCMSharesRequest_Filter_Creator)(nil), } + file_cs3_sharing_ocm_v1beta1_ocm_api_proto_msgTypes[20].OneofWrappers = []interface{}{ + (*ListReceivedOCMSharesRequest_Filter_Owner)(nil), + (*ListReceivedOCMSharesRequest_Filter_Creator)(nil), + (*ListReceivedOCMSharesRequest_Filter_SharedResourceType)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cs3_sharing_ocm_v1beta1_ocm_api_proto_rawDesc, - NumEnums: 1, - NumMessages: 20, + NumEnums: 2, + NumMessages: 21, NumExtensions: 0, NumServices: 1, }, diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1/ocm_api_grpc.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1/ocm_api_grpc.pb.go index 7fe90c757e..7ea27d2004 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1/ocm_api_grpc.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1/ocm_api_grpc.pb.go @@ -52,19 +52,18 @@ const ( // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type OcmAPIClient interface { - // Creates a new ocm share. + // Creates a new OCM share. // MUST return CODE_NOT_FOUND if the resource reference does not exist. - // MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of + // MUST return CODE_ALREADY_EXISTS if the share already exists for the 3-tuple consisting of // (owner, shared_resource, grantee). // New shares MUST be created in the state SHARE_STATE_PENDING, and MUST be sent - // to the remote system using the OCM API at: - // https://cs3org.github.io/OCM-API/docs.html?branch=v1.1.0&repo=OCM-API&user=cs3org#/paths/~1shares/post + // to the remote system using the `/ocm/shares` OCM API, see: + // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1shares/post CreateOCMShare(ctx context.Context, in *CreateOCMShareRequest, opts ...grpc.CallOption) (*CreateOCMShareResponse, error) - // Removes a share. + // Removes an OCM share. // MUST return CODE_NOT_FOUND if the share reference does not exist. - // This action SHALL be notified to the remote system - // using the OCM API at: - // https://cs3org.github.io/OCM-API/docs.html?branch=v1.1.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post + // This action MUST be notified to the remote system using the `/ocm/notifications` OCM API at: + // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post RemoveOCMShare(ctx context.Context, in *RemoveOCMShareRequest, opts ...grpc.CallOption) (*RemoveOCMShareResponse, error) // Gets share information for a single share. // MUST return CODE_NOT_FOUND if the share reference does not exist. @@ -72,17 +71,16 @@ type OcmAPIClient interface { // Gets share information for a single share by its unlisted token. // MUST return CODE_NOT_FOUND if the share does not exist. GetOCMShareByToken(ctx context.Context, in *GetOCMShareByTokenRequest, opts ...grpc.CallOption) (*GetOCMShareByTokenResponse, error) - // List the shares the authenticated principal has created, + // List the shares the currently authenticated user has created, // both as owner and creator. If a filter is specified, only // shares satisfying the filter MUST be returned. ListOCMShares(ctx context.Context, in *ListOCMSharesRequest, opts ...grpc.CallOption) (*ListOCMSharesResponse, error) // Updates a share. // MUST return CODE_NOT_FOUND if the share reference does not exist. - // This action SHALL be notified to the remote system - // using the OCM API at: - // https://cs3org.github.io/OCM-API/docs.html?branch=v1.1.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post + // This action MUST be notified to the remote system using the `/ocm/notifications` OCM API at: + // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post UpdateOCMShare(ctx context.Context, in *UpdateOCMShareRequest, opts ...grpc.CallOption) (*UpdateOCMShareResponse, error) - // List all shares the authenticated principal has received. + // List all shares the currently authenticated user has received. ListReceivedOCMShares(ctx context.Context, in *ListReceivedOCMSharesRequest, opts ...grpc.CallOption) (*ListReceivedOCMSharesResponse, error) // Update the received share to change the share state or the display name. // MUST return CODE_NOT_FOUND if the share reference does not exist. @@ -185,19 +183,18 @@ func (c *ocmAPIClient) GetReceivedOCMShare(ctx context.Context, in *GetReceivedO // All implementations should embed UnimplementedOcmAPIServer // for forward compatibility type OcmAPIServer interface { - // Creates a new ocm share. + // Creates a new OCM share. // MUST return CODE_NOT_FOUND if the resource reference does not exist. - // MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of + // MUST return CODE_ALREADY_EXISTS if the share already exists for the 3-tuple consisting of // (owner, shared_resource, grantee). // New shares MUST be created in the state SHARE_STATE_PENDING, and MUST be sent - // to the remote system using the OCM API at: - // https://cs3org.github.io/OCM-API/docs.html?branch=v1.1.0&repo=OCM-API&user=cs3org#/paths/~1shares/post + // to the remote system using the `/ocm/shares` OCM API, see: + // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1shares/post CreateOCMShare(context.Context, *CreateOCMShareRequest) (*CreateOCMShareResponse, error) - // Removes a share. + // Removes an OCM share. // MUST return CODE_NOT_FOUND if the share reference does not exist. - // This action SHALL be notified to the remote system - // using the OCM API at: - // https://cs3org.github.io/OCM-API/docs.html?branch=v1.1.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post + // This action MUST be notified to the remote system using the `/ocm/notifications` OCM API at: + // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post RemoveOCMShare(context.Context, *RemoveOCMShareRequest) (*RemoveOCMShareResponse, error) // Gets share information for a single share. // MUST return CODE_NOT_FOUND if the share reference does not exist. @@ -205,17 +202,16 @@ type OcmAPIServer interface { // Gets share information for a single share by its unlisted token. // MUST return CODE_NOT_FOUND if the share does not exist. GetOCMShareByToken(context.Context, *GetOCMShareByTokenRequest) (*GetOCMShareByTokenResponse, error) - // List the shares the authenticated principal has created, + // List the shares the currently authenticated user has created, // both as owner and creator. If a filter is specified, only // shares satisfying the filter MUST be returned. ListOCMShares(context.Context, *ListOCMSharesRequest) (*ListOCMSharesResponse, error) // Updates a share. // MUST return CODE_NOT_FOUND if the share reference does not exist. - // This action SHALL be notified to the remote system - // using the OCM API at: - // https://cs3org.github.io/OCM-API/docs.html?branch=v1.1.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post + // This action MUST be notified to the remote system using the `/ocm/notifications` OCM API at: + // https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post UpdateOCMShare(context.Context, *UpdateOCMShareRequest) (*UpdateOCMShareResponse, error) - // List all shares the authenticated principal has received. + // List all shares the currently authenticated user has received. ListReceivedOCMShares(context.Context, *ListReceivedOCMSharesRequest) (*ListReceivedOCMSharesResponse, error) // Update the received share to change the share state or the display name. // MUST return CODE_NOT_FOUND if the share reference does not exist. diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1/resources.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1/resources.pb.go index bed1fb3bb6..58353fa123 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1/resources.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1/resources.pb.go @@ -49,10 +49,10 @@ const ( // The share is no longer valid, for example, the share expired. ShareState_SHARE_STATE_INVALID ShareState = 0 // New shares MUST be created in the SHARE_STATE_PENDING state. - // This state means the share is pending to be accepted or rejected + // This state means the share is pending to be accepted, processed or rejected // by the recipient of the share. ShareState_SHARE_STATE_PENDING ShareState = 1 - // The recipient of the share has accepted the share. + // The recipient of the share has accepted the share or processed the share. ShareState_SHARE_STATE_ACCEPTED ShareState = 2 // The recipient of the share has rejected the share. // Do not means the share is removed, the recipient MAY @@ -104,6 +104,7 @@ func (ShareState) EnumDescriptor() ([]byte, []int) { } // Defines the type of share based on its recipient. +// Deprecated: use RecipientType instead. type ShareType int32 const ( @@ -155,6 +156,171 @@ func (ShareType) EnumDescriptor() ([]byte, []int) { return file_cs3_sharing_ocm_v1beta1_resources_proto_rawDescGZIP(), []int{1} } +// Defines the types of recipient for an OCM share. +type RecipientType int32 + +const ( + RecipientType_RECIPIENT_TYPE_INVALID RecipientType = 0 + // Share of type user. + RecipientType_RECIPIENT_TYPE_USER RecipientType = 1 + // Share of type group. + RecipientType_RECIPIENT_TYPE_GROUP RecipientType = 2 +) + +// Enum value maps for RecipientType. +var ( + RecipientType_name = map[int32]string{ + 0: "RECIPIENT_TYPE_INVALID", + 1: "RECIPIENT_TYPE_USER", + 2: "RECIPIENT_TYPE_GROUP", + } + RecipientType_value = map[string]int32{ + "RECIPIENT_TYPE_INVALID": 0, + "RECIPIENT_TYPE_USER": 1, + "RECIPIENT_TYPE_GROUP": 2, + } +) + +func (x RecipientType) Enum() *RecipientType { + p := new(RecipientType) + *p = x + return p +} + +func (x RecipientType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RecipientType) Descriptor() protoreflect.EnumDescriptor { + return file_cs3_sharing_ocm_v1beta1_resources_proto_enumTypes[2].Descriptor() +} + +func (RecipientType) Type() protoreflect.EnumType { + return &file_cs3_sharing_ocm_v1beta1_resources_proto_enumTypes[2] +} + +func (x RecipientType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RecipientType.Descriptor instead. +func (RecipientType) EnumDescriptor() ([]byte, []int) { + return file_cs3_sharing_ocm_v1beta1_resources_proto_rawDescGZIP(), []int{2} +} + +// The available types of shared resources. +type SharedResourceType int32 + +const ( + SharedResourceType_SHARE_RESOURCE_TYPE_INVALID SharedResourceType = 0 + // The file type represents a type + // that holds arbitrary data. + SharedResourceType_SHARE_RESOURCE_TYPE_FILE SharedResourceType = 1 + // The container type represents a type + // that can contain other resources. + SharedResourceType_SHARE_RESOURCE_TYPE_CONTAINER SharedResourceType = 2 + // The embedded type represents resources that are + // embedded inside the received share payload, for + // which there's no remote access to be performed. + // See also the `embedded` protocol. + SharedResourceType_SHARE_RESOURCE_TYPE_EMBEDDED SharedResourceType = 3 +) + +// Enum value maps for SharedResourceType. +var ( + SharedResourceType_name = map[int32]string{ + 0: "SHARE_RESOURCE_TYPE_INVALID", + 1: "SHARE_RESOURCE_TYPE_FILE", + 2: "SHARE_RESOURCE_TYPE_CONTAINER", + 3: "SHARE_RESOURCE_TYPE_EMBEDDED", + } + SharedResourceType_value = map[string]int32{ + "SHARE_RESOURCE_TYPE_INVALID": 0, + "SHARE_RESOURCE_TYPE_FILE": 1, + "SHARE_RESOURCE_TYPE_CONTAINER": 2, + "SHARE_RESOURCE_TYPE_EMBEDDED": 3, + } +) + +func (x SharedResourceType) Enum() *SharedResourceType { + p := new(SharedResourceType) + *p = x + return p +} + +func (x SharedResourceType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SharedResourceType) Descriptor() protoreflect.EnumDescriptor { + return file_cs3_sharing_ocm_v1beta1_resources_proto_enumTypes[3].Descriptor() +} + +func (SharedResourceType) Type() protoreflect.EnumType { + return &file_cs3_sharing_ocm_v1beta1_resources_proto_enumTypes[3] +} + +func (x SharedResourceType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SharedResourceType.Descriptor instead. +func (SharedResourceType) EnumDescriptor() ([]byte, []int) { + return file_cs3_sharing_ocm_v1beta1_resources_proto_rawDescGZIP(), []int{3} +} + +// The available access types for an OCM resource. +type AccessType int32 + +const ( + AccessType_ACCESS_TYPE_INVALID AccessType = 0 + // The resource is to be accessed remotely or interactively. + AccessType_ACCESS_TYPE_REMOTE AccessType = 1 + // The resource is to be transferred to the recipient. + AccessType_ACCESS_TYPE_DATATX AccessType = 2 +) + +// Enum value maps for AccessType. +var ( + AccessType_name = map[int32]string{ + 0: "ACCESS_TYPE_INVALID", + 1: "ACCESS_TYPE_REMOTE", + 2: "ACCESS_TYPE_DATATX", + } + AccessType_value = map[string]int32{ + "ACCESS_TYPE_INVALID": 0, + "ACCESS_TYPE_REMOTE": 1, + "ACCESS_TYPE_DATATX": 2, + } +) + +func (x AccessType) Enum() *AccessType { + p := new(AccessType) + *p = x + return p +} + +func (x AccessType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AccessType) Descriptor() protoreflect.EnumDescriptor { + return file_cs3_sharing_ocm_v1beta1_resources_proto_enumTypes[4].Descriptor() +} + +func (AccessType) Type() protoreflect.EnumType { + return &file_cs3_sharing_ocm_v1beta1_resources_proto_enumTypes[4] +} + +func (x AccessType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AccessType.Descriptor instead. +func (AccessType) EnumDescriptor() ([]byte, []int) { + return file_cs3_sharing_ocm_v1beta1_resources_proto_rawDescGZIP(), []int{4} +} + // OCM Shares are shares created by a local owner (usually the authenticated user), // who grants permissions to a remote recipient (grantee) on a specified (local) resource (resource_id). // UserShares represents both user and groups. @@ -201,15 +367,23 @@ type Share struct { Expiration *v1beta12.Timestamp `protobuf:"bytes,10,opt,name=expiration,proto3" json:"expiration,omitempty"` // REQUIRED. // Recipient share type. + // Deprecated: use recipient_type instead. + // + // Deprecated: Marked as deprecated in cs3/sharing/ocm/v1beta1/resources.proto. ShareType ShareType `protobuf:"varint,11,opt,name=share_type,json=shareType,proto3,enum=cs3.sharing.ocm.v1beta1.ShareType" json:"share_type,omitempty"` // REQUIRED. // Access methods represent how remote users would access the local resource. AccessMethods []*AccessMethod `protobuf:"bytes,12,rep,name=access_methods,json=accessMethods,proto3" json:"access_methods,omitempty"` // OPTIONAL. - // A nonce to be exchanged for a (potentially short-lived) bearer token. + // A nonce to be exchanged for a (potentially short-lived) bearer token. Deprecated in OCM 1.3. + // + // Deprecated: Marked as deprecated in cs3/sharing/ocm/v1beta1/resources.proto. Code string `protobuf:"bytes,13,opt,name=code,proto3" json:"code,omitempty"` // OPTIONAL. Opaque *v1beta12.Opaque `protobuf:"bytes,14,opt,name=opaque,proto3" json:"opaque,omitempty"` + // REQUIRED. + // Recipient type, e.g. user or group. + RecipientType RecipientType `protobuf:"varint,15,opt,name=recipient_type,json=recipientType,proto3,enum=cs3.sharing.ocm.v1beta1.RecipientType" json:"recipient_type,omitempty"` } func (x *Share) Reset() { @@ -314,6 +488,7 @@ func (x *Share) GetExpiration() *v1beta12.Timestamp { return nil } +// Deprecated: Marked as deprecated in cs3/sharing/ocm/v1beta1/resources.proto. func (x *Share) GetShareType() ShareType { if x != nil { return x.ShareType @@ -328,6 +503,7 @@ func (x *Share) GetAccessMethods() []*AccessMethod { return nil } +// Deprecated: Marked as deprecated in cs3/sharing/ocm/v1beta1/resources.proto. func (x *Share) GetCode() string { if x != nil { return x.Code @@ -342,6 +518,13 @@ func (x *Share) GetOpaque() *v1beta12.Opaque { return nil } +func (x *Share) GetRecipientType() RecipientType { + if x != nil { + return x.RecipientType + } + return RecipientType_RECIPIENT_TYPE_INVALID +} + // The permissions for a share. type SharePermissions struct { state protoimpl.MessageState @@ -441,6 +624,9 @@ type ReceivedShare struct { Expiration *v1beta12.Timestamp `protobuf:"bytes,9,opt,name=expiration,proto3" json:"expiration,omitempty"` // REQUIRED. // Recipient share type. + // Deprecated: use recipient_type instead. + // + // Deprecated: Marked as deprecated in cs3/sharing/ocm/v1beta1/resources.proto. ShareType ShareType `protobuf:"varint,10,opt,name=share_type,json=shareType,proto3,enum=cs3.sharing.ocm.v1beta1.ShareType" json:"share_type,omitempty"` // REQUIRED. // List of protocols offered for this share. @@ -458,10 +644,21 @@ type ReceivedShare struct { Opaque *v1beta12.Opaque `protobuf:"bytes,13,opt,name=opaque,proto3" json:"opaque,omitempty"` // REQUIRED. // Resource type. + // Deprecated: a resource might not always be a storage resource, use shared_resource_type instead. + // + // Deprecated: Marked as deprecated in cs3/sharing/ocm/v1beta1/resources.proto. ResourceType v1beta1.ResourceType `protobuf:"varint,14,opt,name=resource_type,json=resourceType,proto3,enum=cs3.storage.provider.v1beta1.ResourceType" json:"resource_type,omitempty"` // OPTIONAL. - // A nonce to be exchanged for a (potentially short-lived) bearer token. + // A nonce to be exchanged for a (potentially short-lived) bearer token. Deprecated in OCM 1.3. + // + // Deprecated: Marked as deprecated in cs3/sharing/ocm/v1beta1/resources.proto. Code string `protobuf:"bytes,15,opt,name=code,proto3" json:"code,omitempty"` + // REQUIRED. + // Recipient type, e.g. user or group. + RecipientType RecipientType `protobuf:"varint,16,opt,name=recipient_type,json=recipientType,proto3,enum=cs3.sharing.ocm.v1beta1.RecipientType" json:"recipient_type,omitempty"` + // REQUIRED. + // Shared resource type. + SharedResourceType SharedResourceType `protobuf:"varint,17,opt,name=shared_resource_type,json=sharedResourceType,proto3,enum=cs3.sharing.ocm.v1beta1.SharedResourceType" json:"shared_resource_type,omitempty"` } func (x *ReceivedShare) Reset() { @@ -559,6 +756,7 @@ func (x *ReceivedShare) GetExpiration() *v1beta12.Timestamp { return nil } +// Deprecated: Marked as deprecated in cs3/sharing/ocm/v1beta1/resources.proto. func (x *ReceivedShare) GetShareType() ShareType { if x != nil { return x.ShareType @@ -587,6 +785,7 @@ func (x *ReceivedShare) GetOpaque() *v1beta12.Opaque { return nil } +// Deprecated: Marked as deprecated in cs3/sharing/ocm/v1beta1/resources.proto. func (x *ReceivedShare) GetResourceType() v1beta1.ResourceType { if x != nil { return x.ResourceType @@ -594,6 +793,7 @@ func (x *ReceivedShare) GetResourceType() v1beta1.ResourceType { return v1beta1.ResourceType(0) } +// Deprecated: Marked as deprecated in cs3/sharing/ocm/v1beta1/resources.proto. func (x *ReceivedShare) GetCode() string { if x != nil { return x.Code @@ -601,6 +801,20 @@ func (x *ReceivedShare) GetCode() string { return "" } +func (x *ReceivedShare) GetRecipientType() RecipientType { + if x != nil { + return x.RecipientType + } + return RecipientType_RECIPIENT_TYPE_INVALID +} + +func (x *ReceivedShare) GetSharedResourceType() SharedResourceType { + if x != nil { + return x.SharedResourceType + } + return SharedResourceType_SHARE_RESOURCE_TYPE_INVALID +} + // Uniquely identifies a share in the share provider. // A share MUST be uniquely identify by four (4) elements: // 1) The share provider id @@ -899,7 +1113,7 @@ func (x *ShareGrant) GetPermissions() *SharePermissions { return nil } -// The protocol which is used to give access to a remote OCM user. +// The protocol which is used to get access to a remote OCM resource. type Protocol struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -912,8 +1126,8 @@ type Protocol struct { // // *Protocol_WebdavOptions // *Protocol_WebappOptions - // *Protocol_TransferOptions // *Protocol_GenericOptions + // *Protocol_EmbeddedOptions Term isProtocol_Term `protobuf_oneof:"term"` } @@ -970,16 +1184,16 @@ func (x *Protocol) GetWebappOptions() *WebappProtocol { return nil } -func (x *Protocol) GetTransferOptions() *TransferProtocol { - if x, ok := x.GetTerm().(*Protocol_TransferOptions); ok { - return x.TransferOptions +func (x *Protocol) GetGenericOptions() *v1beta12.Opaque { + if x, ok := x.GetTerm().(*Protocol_GenericOptions); ok { + return x.GenericOptions } return nil } -func (x *Protocol) GetGenericOptions() *v1beta12.Opaque { - if x, ok := x.GetTerm().(*Protocol_GenericOptions); ok { - return x.GenericOptions +func (x *Protocol) GetEmbeddedOptions() *EmbeddedProtocol { + if x, ok := x.GetTerm().(*Protocol_EmbeddedOptions); ok { + return x.EmbeddedOptions } return nil } @@ -998,11 +1212,6 @@ type Protocol_WebappOptions struct { WebappOptions *WebappProtocol `protobuf:"bytes,2,opt,name=webapp_options,json=webappOptions,proto3,oneof"` } -type Protocol_TransferOptions struct { - // Options for transfer protocol. - TransferOptions *TransferProtocol `protobuf:"bytes,3,opt,name=transfer_options,json=transferOptions,proto3,oneof"` -} - type Protocol_GenericOptions struct { // Options for a generic protocol. // Used to implement future protocols @@ -1010,14 +1219,19 @@ type Protocol_GenericOptions struct { GenericOptions *v1beta12.Opaque `protobuf:"bytes,4,opt,name=generic_options,json=genericOptions,proto3,oneof"` } +type Protocol_EmbeddedOptions struct { + // Options for embedded protocol. + EmbeddedOptions *EmbeddedProtocol `protobuf:"bytes,5,opt,name=embedded_options,json=embeddedOptions,proto3,oneof"` +} + func (*Protocol_WebdavOptions) isProtocol_Term() {} func (*Protocol_WebappOptions) isProtocol_Term() {} -func (*Protocol_TransferOptions) isProtocol_Term() {} - func (*Protocol_GenericOptions) isProtocol_Term() {} +func (*Protocol_EmbeddedOptions) isProtocol_Term() {} + // Defines the options for the WebDAV protocol. type WebDAVProtocol struct { state protoimpl.MessageState @@ -1036,6 +1250,9 @@ type WebDAVProtocol struct { // OPTIONAL. // The requirements for the share. Requirements []string `protobuf:"bytes,4,rep,name=requirements,proto3" json:"requirements,omitempty"` + // OPTIONAL. + // Access types for the share, e.g. remote or data transfer. Defaults to remote. + AccessTypes []AccessType `protobuf:"varint,5,rep,packed,name=access_types,json=accessTypes,proto3,enum=cs3.sharing.ocm.v1beta1.AccessType" json:"access_types,omitempty"` } func (x *WebDAVProtocol) Reset() { @@ -1098,6 +1315,13 @@ func (x *WebDAVProtocol) GetRequirements() []string { return nil } +func (x *WebDAVProtocol) GetAccessTypes() []AccessType { + if x != nil { + return x.AccessTypes + } + return nil +} + // Defines the options for the Webapp protocol. type WebappProtocol struct { state protoimpl.MessageState @@ -1168,25 +1392,19 @@ func (x *WebappProtocol) GetSharedSecret() string { return "" } -// Defines the options for the Transfer protocol. -type TransferProtocol struct { +// Defines the options for the Embedded protocol. +type EmbeddedProtocol struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // REQUIRED. - // Secret used to access the source of the data transfer. - SharedSecret string `protobuf:"bytes,1,opt,name=shared_secret,json=sharedSecret,proto3" json:"shared_secret,omitempty"` - // REQUIRED. - // Source URI for the data transfer. - SourceUri string `protobuf:"bytes,2,opt,name=source_uri,json=sourceUri,proto3" json:"source_uri,omitempty"` - // REQUIRED. - // Size in bytes of the source. - Size uint64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"` + // The embedded payload. + Payload string `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` } -func (x *TransferProtocol) Reset() { - *x = TransferProtocol{} +func (x *EmbeddedProtocol) Reset() { + *x = EmbeddedProtocol{} if protoimpl.UnsafeEnabled { mi := &file_cs3_sharing_ocm_v1beta1_resources_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1194,13 +1412,13 @@ func (x *TransferProtocol) Reset() { } } -func (x *TransferProtocol) String() string { +func (x *EmbeddedProtocol) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TransferProtocol) ProtoMessage() {} +func (*EmbeddedProtocol) ProtoMessage() {} -func (x *TransferProtocol) ProtoReflect() protoreflect.Message { +func (x *EmbeddedProtocol) ProtoReflect() protoreflect.Message { mi := &file_cs3_sharing_ocm_v1beta1_resources_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1212,33 +1430,19 @@ func (x *TransferProtocol) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TransferProtocol.ProtoReflect.Descriptor instead. -func (*TransferProtocol) Descriptor() ([]byte, []int) { +// Deprecated: Use EmbeddedProtocol.ProtoReflect.Descriptor instead. +func (*EmbeddedProtocol) Descriptor() ([]byte, []int) { return file_cs3_sharing_ocm_v1beta1_resources_proto_rawDescGZIP(), []int{10} } -func (x *TransferProtocol) GetSharedSecret() string { +func (x *EmbeddedProtocol) GetPayload() string { if x != nil { - return x.SharedSecret + return x.Payload } return "" } -func (x *TransferProtocol) GetSourceUri() string { - if x != nil { - return x.SourceUri - } - return "" -} - -func (x *TransferProtocol) GetSize() uint64 { - if x != nil { - return x.Size - } - return 0 -} - -// Defines how the recipient accesses an incoming remote OCM share. +// Defines how the remote OCM recipient accesses a local resource. type AccessMethod struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1251,7 +1455,6 @@ type AccessMethod struct { // // *AccessMethod_WebdavOptions // *AccessMethod_WebappOptions - // *AccessMethod_TransferOptions // *AccessMethod_GenericOptions Term isAccessMethod_Term `protobuf_oneof:"term"` } @@ -1309,13 +1512,6 @@ func (x *AccessMethod) GetWebappOptions() *WebappAccessMethod { return nil } -func (x *AccessMethod) GetTransferOptions() *TransferAccessMethod { - if x, ok := x.GetTerm().(*AccessMethod_TransferOptions); ok { - return x.TransferOptions - } - return nil -} - func (x *AccessMethod) GetGenericOptions() *v1beta12.Opaque { if x, ok := x.GetTerm().(*AccessMethod_GenericOptions); ok { return x.GenericOptions @@ -1337,13 +1533,8 @@ type AccessMethod_WebappOptions struct { WebappOptions *WebappAccessMethod `protobuf:"bytes,2,opt,name=webapp_options,json=webappOptions,proto3,oneof"` } -type AccessMethod_TransferOptions struct { - // Options for the Transfer access method. - TransferOptions *TransferAccessMethod `protobuf:"bytes,3,opt,name=transfer_options,json=transferOptions,proto3,oneof"` -} - type AccessMethod_GenericOptions struct { - // Options for a generic transfer method. + // Options for a generic access method. // Used to implement future access methods. GenericOptions *v1beta12.Opaque `protobuf:"bytes,4,opt,name=generic_options,json=genericOptions,proto3,oneof"` } @@ -1352,8 +1543,6 @@ func (*AccessMethod_WebdavOptions) isAccessMethod_Term() {} func (*AccessMethod_WebappOptions) isAccessMethod_Term() {} -func (*AccessMethod_TransferOptions) isAccessMethod_Term() {} - func (*AccessMethod_GenericOptions) isAccessMethod_Term() {} // Defines the options for the WebDAV access method. @@ -1368,6 +1557,9 @@ type WebDAVAccessMethod struct { // OPTIONAL. // The requirements for the share. Requirements []string `protobuf:"bytes,2,rep,name=requirements,proto3" json:"requirements,omitempty"` + // OPTIONAL. + // Access types for the share, e.g. remote or data transfer. Defaults to remote. + AccessTypes []AccessType `protobuf:"varint,3,rep,packed,name=access_types,json=accessTypes,proto3,enum=cs3.sharing.ocm.v1beta1.AccessType" json:"access_types,omitempty"` } func (x *WebDAVAccessMethod) Reset() { @@ -1416,6 +1608,13 @@ func (x *WebDAVAccessMethod) GetRequirements() []string { return nil } +func (x *WebDAVAccessMethod) GetAccessTypes() []AccessType { + if x != nil { + return x.AccessTypes + } + return nil +} + // Defines the options for the Webapp access method. type WebappAccessMethod struct { state protoimpl.MessageState @@ -1466,56 +1665,6 @@ func (x *WebappAccessMethod) GetViewMode() v1beta13.ViewMode { return v1beta13.ViewMode(0) } -// Defines the options for the Transfer access method. -type TransferAccessMethod struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // REQUIRED. - // The destination path of the data transfer. - Destination *v1beta1.Reference `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` -} - -func (x *TransferAccessMethod) Reset() { - *x = TransferAccessMethod{} - if protoimpl.UnsafeEnabled { - mi := &file_cs3_sharing_ocm_v1beta1_resources_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TransferAccessMethod) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TransferAccessMethod) ProtoMessage() {} - -func (x *TransferAccessMethod) ProtoReflect() protoreflect.Message { - mi := &file_cs3_sharing_ocm_v1beta1_resources_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TransferAccessMethod.ProtoReflect.Descriptor instead. -func (*TransferAccessMethod) Descriptor() ([]byte, []int) { - return file_cs3_sharing_ocm_v1beta1_resources_proto_rawDescGZIP(), []int{14} -} - -func (x *TransferAccessMethod) GetDestination() *v1beta1.Reference { - if x != nil { - return x.Destination - } - return nil -} - var File_cs3_sharing_ocm_v1beta1_resources_proto protoreflect.FileDescriptor var file_cs3_sharing_ocm_v1beta1_resources_proto_rawDesc = []byte{ @@ -1533,7 +1682,7 @@ var file_cs3_sharing_ocm_v1beta1_resources_proto_rawDesc = []byte{ 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x05, 0x0a, 0x05, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x30, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x06, 0x0a, 0x05, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, @@ -1566,234 +1715,266 @@ var file_cs3_sharing_ocm_v1beta1_resources_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, - 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, - 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x10, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x53, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0xb1, - 0x06, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x12, 0x30, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, - 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x12, 0x3f, - 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x12, - 0x37, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6d, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, + 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, + 0x75, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x22, 0x81, 0x01, 0x0a, 0x10, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, + 0x65, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0xeb, 0x07, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, + 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x52, 0x07, 0x67, + 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, + 0x3b, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x05, + 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x32, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x6d, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, - 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0a, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, - 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, - 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, - 0x39, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, - 0x61, 0x71, 0x75, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, - 0x70, 0x61, 0x71, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x4f, 0x0a, - 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x12, - 0x37, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x52, 0x07, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x65, 0x65, 0x22, 0x26, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x49, 0x64, 0x22, 0x9b, 0x01, 0x0a, - 0x0e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0x32, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x48, 0x00, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, - 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x9a, 0x01, 0x0a, 0x0a, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x73, 0x33, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, - 0x65, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x12, 0x4b, 0x0a, 0x0b, 0x70, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, - 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd4, 0x02, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x50, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x64, 0x61, 0x76, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x44, 0x41, 0x56, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x64, 0x61, 0x76, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x70, - 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x61, 0x70, 0x70, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x61, 0x70, - 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x56, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x00, 0x52, - 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x44, 0x0a, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, - 0x61, 0x71, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x22, 0xb8, - 0x01, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x44, 0x41, 0x56, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x57, 0x65, - 0x62, 0x61, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x10, 0x0a, 0x03, - 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x3f, - 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x65, - 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x22, 0x6a, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, - 0x22, 0xe4, 0x02, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x12, 0x54, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x64, 0x61, 0x76, 0x5f, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x44, 0x41, 0x56, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x64, 0x61, 0x76, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, + 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2a, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, + 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x5d, 0x0a, 0x14, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x12, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4b, 0x65, 0x79, + 0x12, 0x37, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x0b, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x52, 0x07, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x65, 0x65, 0x22, 0x26, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x49, 0x64, 0x22, 0x9b, 0x01, + 0x0a, 0x0e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x32, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x48, 0x00, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x05, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x9a, 0x01, 0x0a, 0x0a, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x73, + 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x65, 0x65, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x12, 0x4b, 0x0a, 0x0b, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, + 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd4, 0x02, 0x0a, 0x08, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x50, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x64, 0x61, 0x76, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x44, 0x41, 0x56, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x64, 0x61, 0x76, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, + 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x61, 0x70, 0x70, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x00, 0x52, 0x0d, - 0x77, 0x65, 0x62, 0x61, 0x70, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a, - 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, - 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x0f, 0x67, 0x65, 0x6e, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x48, 0x00, 0x52, - 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, - 0x06, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x22, 0x8d, 0x01, 0x0a, 0x12, 0x57, 0x65, 0x62, 0x44, - 0x41, 0x56, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x53, - 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x55, 0x0a, 0x12, 0x57, 0x65, 0x62, 0x61, 0x70, - 0x70, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x3f, 0x0a, - 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, - 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x61, - 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x49, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2a, 0x72, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x17, 0x0a, 0x13, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x48, 0x41, 0x52, - 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, - 0x01, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x53, - 0x48, 0x41, 0x52, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, - 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x4e, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x48, - 0x41, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, - 0x14, 0x0a, 0x10, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, - 0x4f, 0x55, 0x50, 0x10, 0x02, 0x42, 0xed, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, - 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, - 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, - 0x67, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x6f, 0x63, - 0x6d, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x4f, 0xaa, 0x02, - 0x17, 0x43, 0x73, 0x33, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x63, 0x6d, - 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x17, 0x43, 0x73, 0x33, 0x5c, 0x53, + 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x56, 0x0a, 0x10, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x73, 0x33, 0x2e, + 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x22, + 0x80, 0x02, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x44, 0x41, 0x56, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x0c, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, + 0x32, 0x23, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, + 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x61, 0x70, 0x70, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x3f, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, + 0x76, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x2c, 0x0a, + 0x10, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x88, 0x02, 0x0a, 0x0c, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x54, 0x0a, 0x0e, + 0x77, 0x65, 0x62, 0x64, 0x61, 0x76, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, + 0x65, 0x62, 0x44, 0x41, 0x56, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x64, 0x61, 0x76, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x70, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x61, 0x70, 0x70, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x0f, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x69, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0e, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x06, + 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x22, 0xd5, 0x01, 0x0a, 0x12, 0x57, 0x65, 0x62, 0x44, 0x41, + 0x56, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x53, 0x0a, + 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, + 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x63, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x55, + 0x0a, 0x12, 0x57, 0x65, 0x62, 0x61, 0x70, 0x70, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x12, 0x3f, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x76, 0x69, 0x65, + 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x2a, 0x72, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, + 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, + 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, + 0x18, 0x0a, 0x14, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, + 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x4e, 0x0a, 0x09, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x13, + 0x0a, 0x0f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, + 0x52, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x02, 0x2a, 0x5e, 0x0a, 0x0d, 0x52, 0x65, 0x63, + 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45, + 0x43, 0x49, 0x50, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, + 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, 0x43, 0x49, 0x50, 0x49, + 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, + 0x18, 0x0a, 0x14, 0x52, 0x45, 0x43, 0x49, 0x50, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x02, 0x2a, 0x98, 0x01, 0x0a, 0x12, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, + 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, + 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, + 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x01, 0x12, + 0x21, 0x0a, 0x1d, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, + 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, + 0x45, 0x44, 0x10, 0x03, 0x2a, 0x55, 0x0a, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x41, + 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, + 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x58, 0x10, 0x02, 0x42, 0xed, 0x01, 0x0a, 0x1b, + 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x6f, 0x63, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, + 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, + 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x63, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x3b, 0x6f, 0x63, 0x6d, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, + 0x03, 0x43, 0x53, 0x4f, 0xaa, 0x02, 0x17, 0x43, 0x73, 0x33, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x63, 0x6d, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x17, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4f, 0x63, 0x6d, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4f, 0x63, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, - 0x5c, 0x4f, 0x63, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x43, 0x73, 0x33, 0x3a, 0x3a, - 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x4f, 0x63, 0x6d, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x1a, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x4f, + 0x63, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -1808,86 +1989,90 @@ func file_cs3_sharing_ocm_v1beta1_resources_proto_rawDescGZIP() []byte { return file_cs3_sharing_ocm_v1beta1_resources_proto_rawDescData } -var file_cs3_sharing_ocm_v1beta1_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_cs3_sharing_ocm_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_cs3_sharing_ocm_v1beta1_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_cs3_sharing_ocm_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_cs3_sharing_ocm_v1beta1_resources_proto_goTypes = []interface{}{ (ShareState)(0), // 0: cs3.sharing.ocm.v1beta1.ShareState (ShareType)(0), // 1: cs3.sharing.ocm.v1beta1.ShareType - (*Share)(nil), // 2: cs3.sharing.ocm.v1beta1.Share - (*SharePermissions)(nil), // 3: cs3.sharing.ocm.v1beta1.SharePermissions - (*ReceivedShare)(nil), // 4: cs3.sharing.ocm.v1beta1.ReceivedShare - (*ShareKey)(nil), // 5: cs3.sharing.ocm.v1beta1.ShareKey - (*ShareId)(nil), // 6: cs3.sharing.ocm.v1beta1.ShareId - (*ShareReference)(nil), // 7: cs3.sharing.ocm.v1beta1.ShareReference - (*ShareGrant)(nil), // 8: cs3.sharing.ocm.v1beta1.ShareGrant - (*Protocol)(nil), // 9: cs3.sharing.ocm.v1beta1.Protocol - (*WebDAVProtocol)(nil), // 10: cs3.sharing.ocm.v1beta1.WebDAVProtocol - (*WebappProtocol)(nil), // 11: cs3.sharing.ocm.v1beta1.WebappProtocol - (*TransferProtocol)(nil), // 12: cs3.sharing.ocm.v1beta1.TransferProtocol - (*AccessMethod)(nil), // 13: cs3.sharing.ocm.v1beta1.AccessMethod - (*WebDAVAccessMethod)(nil), // 14: cs3.sharing.ocm.v1beta1.WebDAVAccessMethod - (*WebappAccessMethod)(nil), // 15: cs3.sharing.ocm.v1beta1.WebappAccessMethod - (*TransferAccessMethod)(nil), // 16: cs3.sharing.ocm.v1beta1.TransferAccessMethod - (*v1beta1.ResourceId)(nil), // 17: cs3.storage.provider.v1beta1.ResourceId - (*v1beta1.Grantee)(nil), // 18: cs3.storage.provider.v1beta1.Grantee - (*v1beta11.UserId)(nil), // 19: cs3.identity.user.v1beta1.UserId - (*v1beta12.Timestamp)(nil), // 20: cs3.types.v1beta1.Timestamp - (*v1beta12.Opaque)(nil), // 21: cs3.types.v1beta1.Opaque - (*v1beta1.ResourcePermissions)(nil), // 22: cs3.storage.provider.v1beta1.ResourcePermissions - (v1beta1.ResourceType)(0), // 23: cs3.storage.provider.v1beta1.ResourceType - (v1beta13.ViewMode)(0), // 24: cs3.app.provider.v1beta1.ViewMode - (*v1beta1.Reference)(nil), // 25: cs3.storage.provider.v1beta1.Reference + (RecipientType)(0), // 2: cs3.sharing.ocm.v1beta1.RecipientType + (SharedResourceType)(0), // 3: cs3.sharing.ocm.v1beta1.SharedResourceType + (AccessType)(0), // 4: cs3.sharing.ocm.v1beta1.AccessType + (*Share)(nil), // 5: cs3.sharing.ocm.v1beta1.Share + (*SharePermissions)(nil), // 6: cs3.sharing.ocm.v1beta1.SharePermissions + (*ReceivedShare)(nil), // 7: cs3.sharing.ocm.v1beta1.ReceivedShare + (*ShareKey)(nil), // 8: cs3.sharing.ocm.v1beta1.ShareKey + (*ShareId)(nil), // 9: cs3.sharing.ocm.v1beta1.ShareId + (*ShareReference)(nil), // 10: cs3.sharing.ocm.v1beta1.ShareReference + (*ShareGrant)(nil), // 11: cs3.sharing.ocm.v1beta1.ShareGrant + (*Protocol)(nil), // 12: cs3.sharing.ocm.v1beta1.Protocol + (*WebDAVProtocol)(nil), // 13: cs3.sharing.ocm.v1beta1.WebDAVProtocol + (*WebappProtocol)(nil), // 14: cs3.sharing.ocm.v1beta1.WebappProtocol + (*EmbeddedProtocol)(nil), // 15: cs3.sharing.ocm.v1beta1.EmbeddedProtocol + (*AccessMethod)(nil), // 16: cs3.sharing.ocm.v1beta1.AccessMethod + (*WebDAVAccessMethod)(nil), // 17: cs3.sharing.ocm.v1beta1.WebDAVAccessMethod + (*WebappAccessMethod)(nil), // 18: cs3.sharing.ocm.v1beta1.WebappAccessMethod + (*v1beta1.ResourceId)(nil), // 19: cs3.storage.provider.v1beta1.ResourceId + (*v1beta1.Grantee)(nil), // 20: cs3.storage.provider.v1beta1.Grantee + (*v1beta11.UserId)(nil), // 21: cs3.identity.user.v1beta1.UserId + (*v1beta12.Timestamp)(nil), // 22: cs3.types.v1beta1.Timestamp + (*v1beta12.Opaque)(nil), // 23: cs3.types.v1beta1.Opaque + (*v1beta1.ResourcePermissions)(nil), // 24: cs3.storage.provider.v1beta1.ResourcePermissions + (v1beta1.ResourceType)(0), // 25: cs3.storage.provider.v1beta1.ResourceType + (v1beta13.ViewMode)(0), // 26: cs3.app.provider.v1beta1.ViewMode } var file_cs3_sharing_ocm_v1beta1_resources_proto_depIdxs = []int32{ - 6, // 0: cs3.sharing.ocm.v1beta1.Share.id:type_name -> cs3.sharing.ocm.v1beta1.ShareId - 17, // 1: cs3.sharing.ocm.v1beta1.Share.resource_id:type_name -> cs3.storage.provider.v1beta1.ResourceId - 18, // 2: cs3.sharing.ocm.v1beta1.Share.grantee:type_name -> cs3.storage.provider.v1beta1.Grantee - 19, // 3: cs3.sharing.ocm.v1beta1.Share.owner:type_name -> cs3.identity.user.v1beta1.UserId - 19, // 4: cs3.sharing.ocm.v1beta1.Share.creator:type_name -> cs3.identity.user.v1beta1.UserId - 20, // 5: cs3.sharing.ocm.v1beta1.Share.ctime:type_name -> cs3.types.v1beta1.Timestamp - 20, // 6: cs3.sharing.ocm.v1beta1.Share.mtime:type_name -> cs3.types.v1beta1.Timestamp - 20, // 7: cs3.sharing.ocm.v1beta1.Share.expiration:type_name -> cs3.types.v1beta1.Timestamp + 9, // 0: cs3.sharing.ocm.v1beta1.Share.id:type_name -> cs3.sharing.ocm.v1beta1.ShareId + 19, // 1: cs3.sharing.ocm.v1beta1.Share.resource_id:type_name -> cs3.storage.provider.v1beta1.ResourceId + 20, // 2: cs3.sharing.ocm.v1beta1.Share.grantee:type_name -> cs3.storage.provider.v1beta1.Grantee + 21, // 3: cs3.sharing.ocm.v1beta1.Share.owner:type_name -> cs3.identity.user.v1beta1.UserId + 21, // 4: cs3.sharing.ocm.v1beta1.Share.creator:type_name -> cs3.identity.user.v1beta1.UserId + 22, // 5: cs3.sharing.ocm.v1beta1.Share.ctime:type_name -> cs3.types.v1beta1.Timestamp + 22, // 6: cs3.sharing.ocm.v1beta1.Share.mtime:type_name -> cs3.types.v1beta1.Timestamp + 22, // 7: cs3.sharing.ocm.v1beta1.Share.expiration:type_name -> cs3.types.v1beta1.Timestamp 1, // 8: cs3.sharing.ocm.v1beta1.Share.share_type:type_name -> cs3.sharing.ocm.v1beta1.ShareType - 13, // 9: cs3.sharing.ocm.v1beta1.Share.access_methods:type_name -> cs3.sharing.ocm.v1beta1.AccessMethod - 21, // 10: cs3.sharing.ocm.v1beta1.Share.opaque:type_name -> cs3.types.v1beta1.Opaque - 22, // 11: cs3.sharing.ocm.v1beta1.SharePermissions.permissions:type_name -> cs3.storage.provider.v1beta1.ResourcePermissions - 6, // 12: cs3.sharing.ocm.v1beta1.ReceivedShare.id:type_name -> cs3.sharing.ocm.v1beta1.ShareId - 18, // 13: cs3.sharing.ocm.v1beta1.ReceivedShare.grantee:type_name -> cs3.storage.provider.v1beta1.Grantee - 19, // 14: cs3.sharing.ocm.v1beta1.ReceivedShare.owner:type_name -> cs3.identity.user.v1beta1.UserId - 19, // 15: cs3.sharing.ocm.v1beta1.ReceivedShare.creator:type_name -> cs3.identity.user.v1beta1.UserId - 20, // 16: cs3.sharing.ocm.v1beta1.ReceivedShare.ctime:type_name -> cs3.types.v1beta1.Timestamp - 20, // 17: cs3.sharing.ocm.v1beta1.ReceivedShare.mtime:type_name -> cs3.types.v1beta1.Timestamp - 20, // 18: cs3.sharing.ocm.v1beta1.ReceivedShare.expiration:type_name -> cs3.types.v1beta1.Timestamp - 1, // 19: cs3.sharing.ocm.v1beta1.ReceivedShare.share_type:type_name -> cs3.sharing.ocm.v1beta1.ShareType - 9, // 20: cs3.sharing.ocm.v1beta1.ReceivedShare.protocols:type_name -> cs3.sharing.ocm.v1beta1.Protocol - 0, // 21: cs3.sharing.ocm.v1beta1.ReceivedShare.state:type_name -> cs3.sharing.ocm.v1beta1.ShareState - 21, // 22: cs3.sharing.ocm.v1beta1.ReceivedShare.opaque:type_name -> cs3.types.v1beta1.Opaque - 23, // 23: cs3.sharing.ocm.v1beta1.ReceivedShare.resource_type:type_name -> cs3.storage.provider.v1beta1.ResourceType - 19, // 24: cs3.sharing.ocm.v1beta1.ShareKey.owner:type_name -> cs3.identity.user.v1beta1.UserId - 17, // 25: cs3.sharing.ocm.v1beta1.ShareKey.resource_id:type_name -> cs3.storage.provider.v1beta1.ResourceId - 18, // 26: cs3.sharing.ocm.v1beta1.ShareKey.grantee:type_name -> cs3.storage.provider.v1beta1.Grantee - 6, // 27: cs3.sharing.ocm.v1beta1.ShareReference.id:type_name -> cs3.sharing.ocm.v1beta1.ShareId - 5, // 28: cs3.sharing.ocm.v1beta1.ShareReference.key:type_name -> cs3.sharing.ocm.v1beta1.ShareKey - 18, // 29: cs3.sharing.ocm.v1beta1.ShareGrant.grantee:type_name -> cs3.storage.provider.v1beta1.Grantee - 3, // 30: cs3.sharing.ocm.v1beta1.ShareGrant.permissions:type_name -> cs3.sharing.ocm.v1beta1.SharePermissions - 10, // 31: cs3.sharing.ocm.v1beta1.Protocol.webdav_options:type_name -> cs3.sharing.ocm.v1beta1.WebDAVProtocol - 11, // 32: cs3.sharing.ocm.v1beta1.Protocol.webapp_options:type_name -> cs3.sharing.ocm.v1beta1.WebappProtocol - 12, // 33: cs3.sharing.ocm.v1beta1.Protocol.transfer_options:type_name -> cs3.sharing.ocm.v1beta1.TransferProtocol - 21, // 34: cs3.sharing.ocm.v1beta1.Protocol.generic_options:type_name -> cs3.types.v1beta1.Opaque - 3, // 35: cs3.sharing.ocm.v1beta1.WebDAVProtocol.permissions:type_name -> cs3.sharing.ocm.v1beta1.SharePermissions - 24, // 36: cs3.sharing.ocm.v1beta1.WebappProtocol.view_mode:type_name -> cs3.app.provider.v1beta1.ViewMode - 14, // 37: cs3.sharing.ocm.v1beta1.AccessMethod.webdav_options:type_name -> cs3.sharing.ocm.v1beta1.WebDAVAccessMethod - 15, // 38: cs3.sharing.ocm.v1beta1.AccessMethod.webapp_options:type_name -> cs3.sharing.ocm.v1beta1.WebappAccessMethod - 16, // 39: cs3.sharing.ocm.v1beta1.AccessMethod.transfer_options:type_name -> cs3.sharing.ocm.v1beta1.TransferAccessMethod - 21, // 40: cs3.sharing.ocm.v1beta1.AccessMethod.generic_options:type_name -> cs3.types.v1beta1.Opaque - 22, // 41: cs3.sharing.ocm.v1beta1.WebDAVAccessMethod.permissions:type_name -> cs3.storage.provider.v1beta1.ResourcePermissions - 24, // 42: cs3.sharing.ocm.v1beta1.WebappAccessMethod.view_mode:type_name -> cs3.app.provider.v1beta1.ViewMode - 25, // 43: cs3.sharing.ocm.v1beta1.TransferAccessMethod.destination:type_name -> cs3.storage.provider.v1beta1.Reference - 44, // [44:44] is the sub-list for method output_type - 44, // [44:44] is the sub-list for method input_type - 44, // [44:44] is the sub-list for extension type_name - 44, // [44:44] is the sub-list for extension extendee - 0, // [0:44] is the sub-list for field type_name + 16, // 9: cs3.sharing.ocm.v1beta1.Share.access_methods:type_name -> cs3.sharing.ocm.v1beta1.AccessMethod + 23, // 10: cs3.sharing.ocm.v1beta1.Share.opaque:type_name -> cs3.types.v1beta1.Opaque + 2, // 11: cs3.sharing.ocm.v1beta1.Share.recipient_type:type_name -> cs3.sharing.ocm.v1beta1.RecipientType + 24, // 12: cs3.sharing.ocm.v1beta1.SharePermissions.permissions:type_name -> cs3.storage.provider.v1beta1.ResourcePermissions + 9, // 13: cs3.sharing.ocm.v1beta1.ReceivedShare.id:type_name -> cs3.sharing.ocm.v1beta1.ShareId + 20, // 14: cs3.sharing.ocm.v1beta1.ReceivedShare.grantee:type_name -> cs3.storage.provider.v1beta1.Grantee + 21, // 15: cs3.sharing.ocm.v1beta1.ReceivedShare.owner:type_name -> cs3.identity.user.v1beta1.UserId + 21, // 16: cs3.sharing.ocm.v1beta1.ReceivedShare.creator:type_name -> cs3.identity.user.v1beta1.UserId + 22, // 17: cs3.sharing.ocm.v1beta1.ReceivedShare.ctime:type_name -> cs3.types.v1beta1.Timestamp + 22, // 18: cs3.sharing.ocm.v1beta1.ReceivedShare.mtime:type_name -> cs3.types.v1beta1.Timestamp + 22, // 19: cs3.sharing.ocm.v1beta1.ReceivedShare.expiration:type_name -> cs3.types.v1beta1.Timestamp + 1, // 20: cs3.sharing.ocm.v1beta1.ReceivedShare.share_type:type_name -> cs3.sharing.ocm.v1beta1.ShareType + 12, // 21: cs3.sharing.ocm.v1beta1.ReceivedShare.protocols:type_name -> cs3.sharing.ocm.v1beta1.Protocol + 0, // 22: cs3.sharing.ocm.v1beta1.ReceivedShare.state:type_name -> cs3.sharing.ocm.v1beta1.ShareState + 23, // 23: cs3.sharing.ocm.v1beta1.ReceivedShare.opaque:type_name -> cs3.types.v1beta1.Opaque + 25, // 24: cs3.sharing.ocm.v1beta1.ReceivedShare.resource_type:type_name -> cs3.storage.provider.v1beta1.ResourceType + 2, // 25: cs3.sharing.ocm.v1beta1.ReceivedShare.recipient_type:type_name -> cs3.sharing.ocm.v1beta1.RecipientType + 3, // 26: cs3.sharing.ocm.v1beta1.ReceivedShare.shared_resource_type:type_name -> cs3.sharing.ocm.v1beta1.SharedResourceType + 21, // 27: cs3.sharing.ocm.v1beta1.ShareKey.owner:type_name -> cs3.identity.user.v1beta1.UserId + 19, // 28: cs3.sharing.ocm.v1beta1.ShareKey.resource_id:type_name -> cs3.storage.provider.v1beta1.ResourceId + 20, // 29: cs3.sharing.ocm.v1beta1.ShareKey.grantee:type_name -> cs3.storage.provider.v1beta1.Grantee + 9, // 30: cs3.sharing.ocm.v1beta1.ShareReference.id:type_name -> cs3.sharing.ocm.v1beta1.ShareId + 8, // 31: cs3.sharing.ocm.v1beta1.ShareReference.key:type_name -> cs3.sharing.ocm.v1beta1.ShareKey + 20, // 32: cs3.sharing.ocm.v1beta1.ShareGrant.grantee:type_name -> cs3.storage.provider.v1beta1.Grantee + 6, // 33: cs3.sharing.ocm.v1beta1.ShareGrant.permissions:type_name -> cs3.sharing.ocm.v1beta1.SharePermissions + 13, // 34: cs3.sharing.ocm.v1beta1.Protocol.webdav_options:type_name -> cs3.sharing.ocm.v1beta1.WebDAVProtocol + 14, // 35: cs3.sharing.ocm.v1beta1.Protocol.webapp_options:type_name -> cs3.sharing.ocm.v1beta1.WebappProtocol + 23, // 36: cs3.sharing.ocm.v1beta1.Protocol.generic_options:type_name -> cs3.types.v1beta1.Opaque + 15, // 37: cs3.sharing.ocm.v1beta1.Protocol.embedded_options:type_name -> cs3.sharing.ocm.v1beta1.EmbeddedProtocol + 6, // 38: cs3.sharing.ocm.v1beta1.WebDAVProtocol.permissions:type_name -> cs3.sharing.ocm.v1beta1.SharePermissions + 4, // 39: cs3.sharing.ocm.v1beta1.WebDAVProtocol.access_types:type_name -> cs3.sharing.ocm.v1beta1.AccessType + 26, // 40: cs3.sharing.ocm.v1beta1.WebappProtocol.view_mode:type_name -> cs3.app.provider.v1beta1.ViewMode + 17, // 41: cs3.sharing.ocm.v1beta1.AccessMethod.webdav_options:type_name -> cs3.sharing.ocm.v1beta1.WebDAVAccessMethod + 18, // 42: cs3.sharing.ocm.v1beta1.AccessMethod.webapp_options:type_name -> cs3.sharing.ocm.v1beta1.WebappAccessMethod + 23, // 43: cs3.sharing.ocm.v1beta1.AccessMethod.generic_options:type_name -> cs3.types.v1beta1.Opaque + 24, // 44: cs3.sharing.ocm.v1beta1.WebDAVAccessMethod.permissions:type_name -> cs3.storage.provider.v1beta1.ResourcePermissions + 4, // 45: cs3.sharing.ocm.v1beta1.WebDAVAccessMethod.access_types:type_name -> cs3.sharing.ocm.v1beta1.AccessType + 26, // 46: cs3.sharing.ocm.v1beta1.WebappAccessMethod.view_mode:type_name -> cs3.app.provider.v1beta1.ViewMode + 47, // [47:47] is the sub-list for method output_type + 47, // [47:47] is the sub-list for method input_type + 47, // [47:47] is the sub-list for extension type_name + 47, // [47:47] is the sub-list for extension extendee + 0, // [0:47] is the sub-list for field type_name } func init() { file_cs3_sharing_ocm_v1beta1_resources_proto_init() } @@ -2017,7 +2202,7 @@ func file_cs3_sharing_ocm_v1beta1_resources_proto_init() { } } file_cs3_sharing_ocm_v1beta1_resources_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferProtocol); i { + switch v := v.(*EmbeddedProtocol); i { case 0: return &v.state case 1: @@ -2064,18 +2249,6 @@ func file_cs3_sharing_ocm_v1beta1_resources_proto_init() { return nil } } - file_cs3_sharing_ocm_v1beta1_resources_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferAccessMethod); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } } file_cs3_sharing_ocm_v1beta1_resources_proto_msgTypes[5].OneofWrappers = []interface{}{ (*ShareReference_Id)(nil), @@ -2085,13 +2258,12 @@ func file_cs3_sharing_ocm_v1beta1_resources_proto_init() { file_cs3_sharing_ocm_v1beta1_resources_proto_msgTypes[7].OneofWrappers = []interface{}{ (*Protocol_WebdavOptions)(nil), (*Protocol_WebappOptions)(nil), - (*Protocol_TransferOptions)(nil), (*Protocol_GenericOptions)(nil), + (*Protocol_EmbeddedOptions)(nil), } file_cs3_sharing_ocm_v1beta1_resources_proto_msgTypes[11].OneofWrappers = []interface{}{ (*AccessMethod_WebdavOptions)(nil), (*AccessMethod_WebappOptions)(nil), - (*AccessMethod_TransferOptions)(nil), (*AccessMethod_GenericOptions)(nil), } type x struct{} @@ -2099,8 +2271,8 @@ func file_cs3_sharing_ocm_v1beta1_resources_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cs3_sharing_ocm_v1beta1_resources_proto_rawDesc, - NumEnums: 2, - NumMessages: 15, + NumEnums: 5, + NumMessages: 14, NumExtensions: 0, NumServices: 0, }, diff --git a/vendor/github.com/mattn/go-sqlite3/README.md b/vendor/github.com/mattn/go-sqlite3/README.md index 76f49bacc9..5c4dd54326 100644 --- a/vendor/github.com/mattn/go-sqlite3/README.md +++ b/vendor/github.com/mattn/go-sqlite3/README.md @@ -174,6 +174,7 @@ go build -tags "icu json1 fts5 secure_delete" | JSON SQL Functions | sqlite_json | When this option is defined in the amalgamation, the JSON SQL functions are added to the build automatically | | Math Functions | sqlite_math_functions | This compile-time option enables built-in scalar math functions. For more information see [Built-In Mathematical SQL Functions](https://www.sqlite.org/lang_mathfunc.html) | | OS Trace | sqlite_os_trace | This option enables OSTRACE() debug logging. This can be verbose and should not be used in production. | +| Percentile | sqlite_percentile | This option enables [The Percentile Extension](sqlite.org/percentile.html). | | Pre Update Hook | sqlite_preupdate_hook | Registers a callback function that is invoked prior to each INSERT, UPDATE, and DELETE operation on a database table. | | Secure Delete | sqlite_secure_delete | This compile-time option changes the default setting of the secure_delete pragma.

When this option is not used, secure_delete defaults to off. When this option is present, secure_delete defaults to on.

The secure_delete setting causes deleted content to be overwritten with zeros. There is a small performance penalty since additional I/O must occur.

On the other hand, secure_delete can prevent fragments of sensitive information from lingering in unused parts of the database file after it has been deleted. See the documentation on the secure_delete pragma for additional information | | Secure Delete (FAST) | sqlite_secure_delete_fast | For more information see [PRAGMA secure_delete](https://www.sqlite.org/pragma.html#pragma_secure_delete) | diff --git a/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c b/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c index 387a5e9655..41a0c9ef84 100644 --- a/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +++ b/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c @@ -1,7 +1,7 @@ #ifndef USE_LIBSQLITE3 /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.51.1. By combining all the individual C code files into this +** version 3.51.2. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a single translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -19,7 +19,7 @@ ** separate file. This file contains only code for the core SQLite library. ** ** The content in this amalgamation comes from Fossil check-in -** 281fc0e9afc38674b9b0991943b9e9d1e64c with changes in files: +** b270f8339eb13b504d0b2ba154ebca966b7d with changes in files: ** ** */ @@ -468,12 +468,12 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.51.1" -#define SQLITE_VERSION_NUMBER 3051001 -#define SQLITE_SOURCE_ID "2025-11-28 17:28:25 281fc0e9afc38674b9b0991943b9e9d1e64c6cbdb133d35f6f5c87ff6af38a88" +#define SQLITE_VERSION "3.51.2" +#define SQLITE_VERSION_NUMBER 3051002 +#define SQLITE_SOURCE_ID "2026-01-09 17:27:48 b270f8339eb13b504d0b2ba154ebca966b7dde08e40c3ed7d559749818cb2075" #define SQLITE_SCM_BRANCH "branch-3.51" -#define SQLITE_SCM_TAGS "release version-3.51.1" -#define SQLITE_SCM_DATETIME "2025-11-28T17:28:25.933Z" +#define SQLITE_SCM_TAGS "release version-3.51.2" +#define SQLITE_SCM_DATETIME "2026-01-09T17:27:48.405Z" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -41229,12 +41229,18 @@ static int unixLock(sqlite3_file *id, int eFileLock){ pInode->nLock++; pInode->nShared = 1; } - }else if( (eFileLock==EXCLUSIVE_LOCK && pInode->nShared>1) - || unixIsSharingShmNode(pFile) - ){ + }else if( eFileLock==EXCLUSIVE_LOCK && pInode->nShared>1 ){ /* We are trying for an exclusive lock but another thread in this ** same process is still holding a shared lock. */ rc = SQLITE_BUSY; + }else if( unixIsSharingShmNode(pFile) ){ + /* We are in WAL mode and attempting to delete the SHM and WAL + ** files due to closing the connection or changing out of WAL mode, + ** but another process still holds locks on the SHM file, thus + ** indicating that database locks have been broken, perhaps due + ** to a rogue close(open(dbFile)) or similar. + */ + rc = SQLITE_BUSY; }else{ /* The request was for a RESERVED or EXCLUSIVE lock. It is ** assumed that there is a SHARED or greater lock on the file @@ -43873,26 +43879,21 @@ static int unixFcntlExternalReader(unixFile *pFile, int *piOut){ ** still not a disaster. */ static int unixIsSharingShmNode(unixFile *pFile){ - int rc; unixShmNode *pShmNode; + struct flock lock; if( pFile->pShm==0 ) return 0; if( pFile->ctrlFlags & UNIXFILE_EXCL ) return 0; pShmNode = pFile->pShm->pShmNode; - rc = 1; - unixEnterMutex(); - if( ALWAYS(pShmNode->nRef==1) ){ - struct flock lock; - lock.l_whence = SEEK_SET; - lock.l_start = UNIX_SHM_DMS; - lock.l_len = 1; - lock.l_type = F_WRLCK; - osFcntl(pShmNode->hShm, F_GETLK, &lock); - if( lock.l_type==F_UNLCK ){ - rc = 0; - } - } - unixLeaveMutex(); - return rc; +#if SQLITE_ATOMIC_INTRINSICS + assert( AtomicLoad(&pShmNode->nRef)==1 ); +#endif + memset(&lock, 0, sizeof(lock)); + lock.l_whence = SEEK_SET; + lock.l_start = UNIX_SHM_DMS; + lock.l_len = 1; + lock.l_type = F_WRLCK; + osFcntl(pShmNode->hShm, F_GETLK, &lock); + return (lock.l_type!=F_UNLCK); } /* @@ -115317,9 +115318,22 @@ SQLITE_PRIVATE int sqlite3CodeSubselect(Parse *pParse, Expr *pExpr){ pParse->nMem += nReg; if( pExpr->op==TK_SELECT ){ dest.eDest = SRT_Mem; - dest.iSdst = dest.iSDParm; + if( (pSel->selFlags&SF_Distinct) && pSel->pLimit && pSel->pLimit->pRight ){ + /* If there is both a DISTINCT and an OFFSET clause, then allocate + ** a separate dest.iSdst array for sqlite3Select() and other + ** routines to populate. In this case results will be copied over + ** into the dest.iSDParm array only after OFFSET processing. This + ** ensures that in the case where OFFSET excludes all rows, the + ** dest.iSDParm array is not left populated with the contents of the + ** last row visited - it should be all NULLs if all rows were + ** excluded by OFFSET. */ + dest.iSdst = pParse->nMem+1; + pParse->nMem += nReg; + }else{ + dest.iSdst = dest.iSDParm; + } dest.nSdst = nReg; - sqlite3VdbeAddOp3(v, OP_Null, 0, dest.iSDParm, dest.iSDParm+nReg-1); + sqlite3VdbeAddOp3(v, OP_Null, 0, dest.iSDParm, pParse->nMem); VdbeComment((v, "Init subquery result")); }else{ dest.eDest = SRT_Exists; @@ -148187,9 +148201,14 @@ static void selectInnerLoop( assert( nResultCol<=pDest->nSdst ); pushOntoSorter( pParse, pSort, p, regResult, regOrig, nResultCol, nPrefixReg); + pDest->iSDParm = regResult; }else{ assert( nResultCol==pDest->nSdst ); - assert( regResult==iParm ); + if( regResult!=iParm ){ + /* This occurs in cases where the SELECT had both a DISTINCT and + ** an OFFSET clause. */ + sqlite3VdbeAddOp3(v, OP_Copy, regResult, iParm, nResultCol-1); + } /* The LIMIT clause will jump out of the loop for us */ } break; @@ -154204,12 +154223,24 @@ static SQLITE_NOINLINE void existsToJoin( && (pSub->selFlags & SF_Aggregate)==0 && !pSub->pSrc->a[0].fg.isSubquery && pSub->pLimit==0 + && pSub->pPrior==0 ){ + /* Before combining the sub-select with the parent, renumber the + ** cursor used by the subselect. This is because the EXISTS expression + ** might be a copy of another EXISTS expression from somewhere + ** else in the tree, and in this case it is important that it use + ** a unique cursor number. */ + sqlite3 *db = pParse->db; + int *aCsrMap = sqlite3DbMallocZero(db, (pParse->nTab+2)*sizeof(int)); + if( aCsrMap==0 ) return; + aCsrMap[0] = (pParse->nTab+1); + renumberCursors(pParse, pSub, -1, aCsrMap); + sqlite3DbFree(db, aCsrMap); + memset(pWhere, 0, sizeof(*pWhere)); pWhere->op = TK_INTEGER; pWhere->u.iValue = 1; ExprSetProperty(pWhere, EP_IntValue); - assert( p->pWhere!=0 ); pSub->pSrc->a[0].fg.fromExists = 1; pSub->pSrc->a[0].fg.jointype |= JT_CROSS; @@ -174002,6 +174033,9 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ sqlite3 *db = pParse->db; int iEnd = sqlite3VdbeCurrentAddr(v); int nRJ = 0; +#ifndef SQLITE_DISABLE_SKIPAHEAD_DISTINCT + int addrSeek = 0; +#endif /* Generate loop termination code. */ @@ -174014,7 +174048,10 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ ** the RIGHT JOIN table */ WhereRightJoin *pRJ = pLevel->pRJ; sqlite3VdbeResolveLabel(v, pLevel->addrCont); - pLevel->addrCont = 0; + /* Replace addrCont with a new label that will never be used, just so + ** the subsequent call to resolve pLevel->addrCont will have something + ** to resolve. */ + pLevel->addrCont = sqlite3VdbeMakeLabel(pParse); pRJ->endSubrtn = sqlite3VdbeCurrentAddr(v); sqlite3VdbeAddOp3(v, OP_Return, pRJ->regReturn, pRJ->addrSubrtn, 1); VdbeCoverage(v); @@ -174023,7 +174060,6 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ pLoop = pLevel->pWLoop; if( pLevel->op!=OP_Noop ){ #ifndef SQLITE_DISABLE_SKIPAHEAD_DISTINCT - int addrSeek = 0; Index *pIdx; int n; if( pWInfo->eDistinct==WHERE_DISTINCT_ORDERED @@ -174046,25 +174082,26 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ sqlite3VdbeAddOp2(v, OP_Goto, 1, pLevel->p2); } #endif /* SQLITE_DISABLE_SKIPAHEAD_DISTINCT */ - if( pTabList->a[pLevel->iFrom].fg.fromExists && i==pWInfo->nLevel-1 ){ - /* If the EXISTS-to-JOIN optimization was applied, then the EXISTS - ** loop(s) will be the inner-most loops of the join. There might be - ** multiple EXISTS loops, but they will all be nested, and the join - ** order will not have been changed by the query planner. If the - ** inner-most EXISTS loop sees a single successful row, it should - ** break out of *all* EXISTS loops. But only the inner-most of the - ** nested EXISTS loops should do this breakout. */ - int nOuter = 0; /* Nr of outer EXISTS that this one is nested within */ - while( nOutera[pLevel[-nOuter-1].iFrom].fg.fromExists ) break; - nOuter++; - } - testcase( nOuter>0 ); - sqlite3VdbeAddOp2(v, OP_Goto, 0, pLevel[-nOuter].addrBrk); - VdbeComment((v, "EXISTS break")); + } + if( pTabList->a[pLevel->iFrom].fg.fromExists && i==pWInfo->nLevel-1 ){ + /* If the EXISTS-to-JOIN optimization was applied, then the EXISTS + ** loop(s) will be the inner-most loops of the join. There might be + ** multiple EXISTS loops, but they will all be nested, and the join + ** order will not have been changed by the query planner. If the + ** inner-most EXISTS loop sees a single successful row, it should + ** break out of *all* EXISTS loops. But only the inner-most of the + ** nested EXISTS loops should do this breakout. */ + int nOuter = 0; /* Nr of outer EXISTS that this one is nested within */ + while( nOutera[pLevel[-nOuter-1].iFrom].fg.fromExists ) break; + nOuter++; } - /* The common case: Advance to the next row */ - if( pLevel->addrCont ) sqlite3VdbeResolveLabel(v, pLevel->addrCont); + testcase( nOuter>0 ); + sqlite3VdbeAddOp2(v, OP_Goto, 0, pLevel[-nOuter].addrBrk); + VdbeComment((v, "EXISTS break")); + } + sqlite3VdbeResolveLabel(v, pLevel->addrCont); + if( pLevel->op!=OP_Noop ){ sqlite3VdbeAddOp3(v, pLevel->op, pLevel->p1, pLevel->p2, pLevel->p3); sqlite3VdbeChangeP5(v, pLevel->p5); VdbeCoverage(v); @@ -174077,10 +174114,11 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ VdbeCoverage(v); } #ifndef SQLITE_DISABLE_SKIPAHEAD_DISTINCT - if( addrSeek ) sqlite3VdbeJumpHere(v, addrSeek); + if( addrSeek ){ + sqlite3VdbeJumpHere(v, addrSeek); + addrSeek = 0; + } #endif - }else if( pLevel->addrCont ){ - sqlite3VdbeResolveLabel(v, pLevel->addrCont); } if( (pLoop->wsFlags & WHERE_IN_ABLE)!=0 && pLevel->u.in.nIn>0 ){ struct InLoop *pIn; @@ -219454,7 +219492,7 @@ static void rtreenode(sqlite3_context *ctx, int nArg, sqlite3_value **apArg){ if( node.zData==0 ) return; nData = sqlite3_value_bytes(apArg[1]); if( nData<4 ) return; - if( nDatanLevel ){ if( fts5IndexMerge(p, &pStruct, nMerge, nMin) ){ @@ -260305,7 +260349,7 @@ static void fts5SourceIdFunc( ){ assert( nArg==0 ); UNUSED_PARAM2(nArg, apUnused); - sqlite3_result_text(pCtx, "fts5: 2025-11-28 17:28:25 281fc0e9afc38674b9b0991943b9e9d1e64c6cbdb133d35f6f5c87ff6af38a88", -1, SQLITE_TRANSIENT); + sqlite3_result_text(pCtx, "fts5: 2026-01-09 17:27:48 b270f8339eb13b504d0b2ba154ebca966b7dde08e40c3ed7d559749818cb2075", -1, SQLITE_TRANSIENT); } /* diff --git a/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h b/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h index fcb9c45394..78ef0b7af2 100644 --- a/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +++ b/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h @@ -147,12 +147,12 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.51.1" -#define SQLITE_VERSION_NUMBER 3051001 -#define SQLITE_SOURCE_ID "2025-11-28 17:28:25 281fc0e9afc38674b9b0991943b9e9d1e64c6cbdb133d35f6f5c87ff6af38a88" +#define SQLITE_VERSION "3.51.2" +#define SQLITE_VERSION_NUMBER 3051002 +#define SQLITE_SOURCE_ID "2026-01-09 17:27:48 b270f8339eb13b504d0b2ba154ebca966b7dde08e40c3ed7d559749818cb2075" #define SQLITE_SCM_BRANCH "branch-3.51" -#define SQLITE_SCM_TAGS "release version-3.51.1" -#define SQLITE_SCM_DATETIME "2025-11-28T17:28:25.933Z" +#define SQLITE_SCM_TAGS "release version-3.51.2" +#define SQLITE_SCM_DATETIME "2026-01-09T17:27:48.405Z" /* ** CAPI3REF: Run-Time Library Version Numbers diff --git a/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_percentile.go b/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_percentile.go new file mode 100644 index 0000000000..3461d9a557 --- /dev/null +++ b/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_percentile.go @@ -0,0 +1,15 @@ +// Copyright (C) 2019 Yasuhiro Matsumoto . +// Copyright (C) 2018 G.J.R. Timmer . +// +// Use of this source code is governed by an MIT-style +// license that can be found in the LICENSE file. + +//go:build sqlite_percentile +// +build sqlite_percentile + +package sqlite3 + +/* +#cgo CFLAGS: -DSQLITE_ENABLE_PERCENTILE +*/ +import "C" diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/applicationauth/applicationauth.go b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/applicationauth/applicationauth.go index a37cc4f4c1..8ab540a4a3 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/applicationauth/applicationauth.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/applicationauth/applicationauth.go @@ -25,6 +25,7 @@ import ( "github.com/mitchellh/mapstructure" "github.com/opencloud-eu/reva/v2/pkg/appauth" "github.com/opencloud-eu/reva/v2/pkg/appauth/manager/registry" + "github.com/opencloud-eu/reva/v2/pkg/appctx" "github.com/opencloud-eu/reva/v2/pkg/errtypes" "github.com/opencloud-eu/reva/v2/pkg/rgrpc" "github.com/opencloud-eu/reva/v2/pkg/rgrpc/status" @@ -104,8 +105,10 @@ func (s *service) UnprotectedEndpoints() []string { } func (s *service) GenerateAppPassword(ctx context.Context, req *appauthpb.GenerateAppPasswordRequest) (*appauthpb.GenerateAppPasswordResponse, error) { + logger := appctx.GetLogger(ctx) pwd, err := s.am.GenerateAppPassword(ctx, req.TokenScope, req.Label, req.Expiration) if err != nil { + logger.Debug().Err(err).Msg("error generating app password") return &appauthpb.GenerateAppPasswordResponse{ Status: status.NewInternal(ctx, "error generating app password"), }, nil @@ -148,7 +151,7 @@ func (s *service) GetAppPassword(ctx context.Context, req *appauthpb.GetAppPassw pwd, err := s.am.GetAppPassword(ctx, req.User, req.Password) if err != nil { return &appauthpb.GetAppPasswordResponse{ - Status: status.NewInternal(ctx, "error getting app password via username/password"), + Status: status.NewStatusFromErrType(ctx, "error getting app password via username/password", err), }, nil } diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/ocmshareprovider.go b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/ocmshareprovider.go index edab44ed7d..f607d9b6b0 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/ocmshareprovider.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/ocmshareprovider.go @@ -23,8 +23,11 @@ import ( "fmt" "net/url" "path" + "slices" "strings" + gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1" + incoming "github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1" rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" ocm "github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1" provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" @@ -332,7 +335,7 @@ func (s *svc) handleTransfer(ctx context.Context, share *ocm.ReceivedShare, tran if !ok { return errors.New("gateway: unable to retrieve transfer protocol") } - sourceURI := protocol.SourceUri + sourceURI := protocol.Uri // get the webdav endpoint of the grantee's idp var granteeIdp string @@ -434,11 +437,29 @@ func (s *svc) GetReceivedOCMShare(ctx context.Context, req *ocm.GetReceivedOCMSh return res, nil } -func (s *svc) getTransferProtocol(share *ocm.ReceivedShare) (*ocm.TransferProtocol, bool) { +func (s *svc) getTransferProtocol(share *ocm.ReceivedShare) (*ocm.WebDAVProtocol, bool) { for _, p := range share.Protocols { - if d, ok := p.Term.(*ocm.Protocol_TransferOptions); ok { - return d.TransferOptions, true + if d, ok := p.Term.(*ocm.Protocol_WebdavOptions); ok { + if slices.Contains(d.WebdavOptions.AccessTypes, ocm.AccessType_ACCESS_TYPE_DATATX) { + return d.WebdavOptions, true + } } } return nil, false } + +func (s *svc) CreateOCMIncomingShare(context.Context, *incoming.CreateOCMIncomingShareRequest) (*incoming.CreateOCMIncomingShareResponse, error) { + return nil, errtypes.NotSupported("gateway: CreateOCMIncomingShare is not supported") +} + +func (s *svc) UpdateOCMIncomingShare(context.Context, *incoming.UpdateOCMIncomingShareRequest) (*incoming.UpdateOCMIncomingShareResponse, error) { + return nil, errtypes.NotSupported("gateway: UpdateOCMIncomingShare is not supported") +} + +func (s *svc) DeleteOCMIncomingShare(context.Context, *incoming.DeleteOCMIncomingShareRequest) (*incoming.DeleteOCMIncomingShareResponse, error) { + return nil, errtypes.NotSupported("gateway: DeleteOCMIncomingShare is not supported") +} + +func (s *svc) ListExistingOCMShares(context.Context, *ocm.ListOCMSharesRequest) (*gateway.ListExistingOCMSharesResponse, error) { + return nil, errtypes.NotSupported("gateway: ListExistingOCMShares is not supported") +} diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/groupprovider/groupprovider.go b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/groupprovider/groupprovider.go index 8a34c1487c..484d3c0f97 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/groupprovider/groupprovider.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/groupprovider/groupprovider.go @@ -144,7 +144,11 @@ func (s *service) GetGroupByClaim(ctx context.Context, req *grouppb.GetGroupByCl } func (s *service) FindGroups(ctx context.Context, req *grouppb.FindGroupsRequest) (*grouppb.FindGroupsResponse, error) { - groups, err := s.groupmgr.FindGroups(ctx, req.Filter, req.SkipFetchingMembers) + if len(req.Filters) > 1 || req.Filters[0].GetType() != grouppb.Filter_TYPE_QUERY { + return nil, fmt.Errorf("only one query filter supported") + } + + groups, err := s.groupmgr.FindGroups(ctx, req.Filters[0].GetQuery(), req.SkipFetchingMembers) if err != nil { return &grouppb.FindGroupsResponse{ Status: status.NewInternal(ctx, "error finding groups"), diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/ocmshareprovider/ocmshareprovider.go b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/ocmshareprovider/ocmshareprovider.go index 77ca2b948a..6618375464 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/ocmshareprovider/ocmshareprovider.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/ocmshareprovider/ocmshareprovider.go @@ -201,38 +201,6 @@ func (s *service) getWebappProtocol(share *ocm.Share) *ocmd.Webapp { } } -func (s *service) getDataTransferProtocol(ctx context.Context, share *ocm.Share) *ocmd.Datatx { - var size uint64 - - gatewayClient, err := s.gatewaySelector.Next() - if err != nil { - return nil - } - // get the path of the share - statRes, err := gatewayClient.Stat(ctx, &providerpb.StatRequest{ - Ref: &providerpb.Reference{ - ResourceId: share.ResourceId, - }, - }) - if err != nil { - return nil - } - - err = s.walker.Walk(ctx, statRes.GetInfo().GetId(), func(path string, info *providerpb.ResourceInfo, err error) error { - if info.Type == providerpb.ResourceType_RESOURCE_TYPE_FILE { - size += info.Size - } - return nil - }) - if err != nil { - return nil - } - return &ocmd.Datatx{ - SourceURI: s.webdavURL(ctx, share), - Size: size, - } -} - func (s *service) getProtocols(ctx context.Context, share *ocm.Share) ocmd.Protocols { var p ocmd.Protocols for _, m := range share.AccessMethods { @@ -242,8 +210,6 @@ func (s *service) getProtocols(ctx context.Context, share *ocm.Share) ocmd.Proto newProtocol = s.getWebdavProtocol(ctx, share, t) case *ocm.AccessMethod_WebappOptions: newProtocol = s.getWebappProtocol(share) - case *ocm.AccessMethod_TransferOptions: - newProtocol = s.getDataTransferProtocol(ctx, share) } if newProtocol != nil { p = append(p, newProtocol) diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/storageprovider/storageprovider.go b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/storageprovider/storageprovider.go index 41738cda0c..2208a06b7c 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/storageprovider/storageprovider.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/storageprovider/storageprovider.go @@ -365,7 +365,7 @@ func (s *Service) InitiateFileUpload(ctx context.Context, req *provider.Initiate if ifMatch != "" { if !validateIfMatch(ifMatch, sRes.GetInfo()) { return &provider.InitiateFileUploadResponse{ - Status: status.NewFailedPrecondition(ctx, errors.New("etag mismatch"), "etag mismatch"), + Status: status.NewAborted(ctx, errors.New("etag mismatch"), "etag mismatch"), }, nil } metadata["if-match"] = ifMatch @@ -375,7 +375,7 @@ func (s *Service) InitiateFileUpload(ctx context.Context, req *provider.Initiate metadata["if-unmodified-since"] = utils.TSToTime(ifUnmodifiedSince).Format(time.RFC3339Nano) if !validateIfUnmodifiedSince(ifUnmodifiedSince, sRes.GetInfo()) { return &provider.InitiateFileUploadResponse{ - Status: status.NewFailedPrecondition(ctx, errors.New("resource has been modified"), "resource has been modified"), + Status: status.NewAborted(ctx, errors.New("resource has been modified"), "resource has been modified"), }, nil } } @@ -517,7 +517,7 @@ func (s *Service) CreateStorageSpace(ctx context.Context, req *provider.CreateSt case errtypes.NotSupported: // if trying to create a user home fall back to CreateHome if u, ok := ctxpkg.ContextGetUser(ctx); ok && req.Type == "personal" && utils.UserEqual(req.GetOwner().GetId(), u.GetId()) { - if err := s.Storage.CreateHome(ctx); err != nil { + if err := s.Storage.CreateHome(ctx); err != nil { //nolint:staticcheck // falling back to deprecated method if the new one is not supported by the driver st = status.NewInternal(ctx, "error creating home") } else { st = status.NewOK(ctx) diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/userprovider/userprovider.go b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/userprovider/userprovider.go index 7438b5e204..d014190328 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/userprovider/userprovider.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/userprovider/userprovider.go @@ -183,9 +183,13 @@ func (s *service) GetUserByClaim(ctx context.Context, req *userpb.GetUserByClaim } func (s *service) FindUsers(ctx context.Context, req *userpb.FindUsersRequest) (*userpb.FindUsersResponse, error) { + if len(req.Filters) > 1 || req.Filters[0].GetType() != userpb.Filter_TYPE_QUERY { + return nil, fmt.Errorf("only one query filter supported") + } + currentUser := revactx.ContextMustGetUser(ctx) - users, err := s.usermgr.FindUsers(ctx, req.Query, currentUser.GetId().GetTenantId(), req.SkipFetchingUserGroups) + users, err := s.usermgr.FindUsers(ctx, req.Filters[0].GetQuery(), currentUser.GetId().GetTenantId(), req.SkipFetchingUserGroups) if err != nil { res := &userpb.FindUsersResponse{ Status: status.NewInternal(ctx, "error finding users"), diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/interceptors/log/log.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/interceptors/log/log.go index a1a04484af..0e8f945783 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/interceptors/log/log.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/interceptors/log/log.go @@ -180,10 +180,10 @@ type hijackLogger struct { } func (l *hijackLogger) Hijack() (net.Conn, *bufio.ReadWriter, error) { - h := l.responseLogger.w.(http.Hijacker) + h := l.w.(http.Hijacker) conn, rw, err := h.Hijack() - if err == nil && l.responseLogger.status == 0 { - l.responseLogger.status = http.StatusSwitchingProtocols + if err == nil && l.status == 0 { + l.status = http.StatusSwitchingProtocols } return conn, rw, err } diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/ocmd/protocols.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/ocmd/protocols.go index d17f1dc67a..f9be4c9160 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/ocmd/protocols.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/ocmd/protocols.go @@ -120,22 +120,9 @@ func (w *Webapp) ToOCMProtocol() *ocm.Protocol { return ocmshare.NewWebappProtocol(w.URITemplate, utils.GetAppViewMode(w.ViewMode)) } -// Datatx contains the parameters for the Datatx protocol. -type Datatx struct { - SharedSecret string `json:"sharedSecret" validate:"required"` - SourceURI string `json:"srcUri" validate:"required"` - Size uint64 `json:"size" validate:"required"` -} - -// ToOCMProtocol convert the protocol to a ocm Protocol struct. -func (w *Datatx) ToOCMProtocol() *ocm.Protocol { - return ocmshare.NewTransferProtocol(w.SourceURI, w.SharedSecret, w.Size) -} - var protocolImpl = map[string]reflect.Type{ "webdav": reflect.TypeOf(WebDAV{}), "webapp": reflect.TypeOf(Webapp{}), - "datatx": reflect.TypeOf(Datatx{}), } // UnmarshalJSON implements the Unmarshaler interface. diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/dav.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/dav.go index e4581a366a..de68b56a9a 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/dav.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/dav.go @@ -304,7 +304,7 @@ func (h *DavHandler) Handler(s *svc) http.Handler { sig := q.Get("signature") expiration := q.Get("expiration") // We restrict the pre-signed urls to downloads. - if sig != "" && expiration != "" && !(r.Method == http.MethodGet || r.Method == http.MethodHead) { + if sig != "" && expiration != "" && (r.Method != http.MethodGet && r.Method != http.MethodHead) { w.WriteHeader(http.StatusUnauthorized) return } @@ -372,7 +372,7 @@ func (h *DavHandler) Handler(s *svc) http.Handler { } fallthrough case sRes.Status.Code == rpc.Code_CODE_NOT_FOUND: - log.Debug().Str("token", token).Interface("status", res.Status).Msg("resource not found") + log.Debug().Str("token", token).Interface("status", res.Status).Msg("Resource not found") w.WriteHeader(http.StatusNotFound) // log the difference return case sRes.Status.Code == rpc.Code_CODE_UNAUTHENTICATED: diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/delete.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/delete.go index 8bb0f3053e..2d5af1cd75 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/delete.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/delete.go @@ -90,7 +90,7 @@ func (s *svc) handleDelete(ctx context.Context, w http.ResponseWriter, r *http.R return http.StatusNoContent, nil case res.Status.Code == rpc.Code_CODE_NOT_FOUND: //lint:ignore ST1005 mimic the exact oc10 error message - return http.StatusNotFound, errors.New("Resource not found") + return http.StatusNotFound, errors.New("Resource not found") //nolint:staticcheck case res.Status.Code == rpc.Code_CODE_PERMISSION_DENIED: status = http.StatusForbidden if lockID := utils.ReadPlainFromOpaque(res.Opaque, "lockid"); lockID != "" { @@ -110,7 +110,7 @@ func (s *svc) handleDelete(ctx context.Context, w http.ResponseWriter, r *http.R // TODO hide permission failed for users without access in every kind of request // TODO should this be done in the driver? //lint:ignore ST1005 mimic the exact oc10 error message - return http.StatusNotFound, errors.New("Resource not found") + return http.StatusNotFound, errors.New("Resource not found") //nolint:staticcheck } return status, errors.New("") // mimic the oc10 error messages which have an empty message in this case case res.Status.Code == rpc.Code_CODE_INTERNAL && res.Status.Message == "can't delete mount path": diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/locks.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/locks.go index e893ad361e..fca254da0c 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/locks.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/locks.go @@ -615,27 +615,27 @@ func writeLockInfo(w io.Writer, token string, ld LockDetails) (int, error) { lockdiscovery.WriteString("\n") lockdiscovery.WriteString(" \n") lockdiscovery.WriteString(" \n") - lockdiscovery.WriteString(fmt.Sprintf(" %s\n", depth)) + fmt.Fprintf(&lockdiscovery, " %s\n", depth) if ld.OwnerXML != "" { - lockdiscovery.WriteString(fmt.Sprintf(" %s\n", ld.OwnerXML)) + fmt.Fprintf(&lockdiscovery, " %s\n", ld.OwnerXML) } if ld.Duration > 0 { timeout := ld.Duration / time.Second - lockdiscovery.WriteString(fmt.Sprintf(" Second-%d\n", timeout)) + fmt.Fprintf(&lockdiscovery, " Second-%d\n", timeout) } else { lockdiscovery.WriteString(" Infinite\n") } if token != "" { - lockdiscovery.WriteString(fmt.Sprintf(" %s\n", prop.Escape(token))) + fmt.Fprintf(&lockdiscovery, " %s\n", prop.Escape(token)) } if href != "" { - lockdiscovery.WriteString(fmt.Sprintf(" %s\n", prop.Escape(href))) + fmt.Fprintf(&lockdiscovery, " %s\n", prop.Escape(href)) } if ld.OwnerName != "" { - lockdiscovery.WriteString(fmt.Sprintf(" %s\n", prop.Escape(ld.OwnerName))) + fmt.Fprintf(&lockdiscovery, " %s\n", prop.Escape(ld.OwnerName)) } if !ld.Locktime.IsZero() { - lockdiscovery.WriteString(fmt.Sprintf(" %s\n", prop.Escape(ld.Locktime.Format(time.RFC3339)))) + fmt.Fprintf(&lockdiscovery, " %s\n", prop.Escape(ld.Locktime.Format(time.RFC3339))) } lockdiscovery.WriteString("") diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/mkcol.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/mkcol.go index f6c6c9e7a0..ce874adaa4 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/mkcol.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/mkcol.go @@ -63,7 +63,7 @@ func (s *svc) handlePathMkcol(w http.ResponseWriter, r *http.Request, ns string) case sr.Status.Code == rpc.Code_CODE_OK: // https://www.rfc-editor.org/rfc/rfc4918#section-9.3.1: // 405 (Method Not Allowed) - MKCOL can only be executed on an unmapped URL. - return http.StatusMethodNotAllowed, fmt.Errorf("The resource you tried to create already exists") + return http.StatusMethodNotAllowed, fmt.Errorf("The resource you tried to create already exists") //nolint:staticcheck case sr.Status.Code == rpc.Code_CODE_ABORTED: return http.StatusPreconditionFailed, errtypes.NewErrtypeFromStatus(sr.Status) case sr.Status.Code != rpc.Code_CODE_NOT_FOUND: @@ -133,7 +133,7 @@ func (s *svc) handleMkcol(ctx context.Context, w http.ResponseWriter, r *http.Re // This should never happen because if the parent collection does not exist we should // get a Code_CODE_FAILED_PRECONDITION. We play stupid and return what the response gave us //lint:ignore ST1005 mimic the exact oc10 error message - return http.StatusNotFound, errors.New("Resource not found") + return http.StatusNotFound, errors.New("Resource not found") //nolint:staticcheck case res.Status.Code == rpc.Code_CODE_PERMISSION_DENIED: // check if user has access to parent sRes, err := client.Stat(ctx, &provider.StatRequest{Ref: &provider.Reference{ @@ -148,7 +148,7 @@ func (s *svc) handleMkcol(ctx context.Context, w http.ResponseWriter, r *http.Re // TODO hide permission failed for users without access in every kind of request // TODO should this be done in the driver? //lint:ignore ST1005 mimic the exact oc10 error message - return http.StatusNotFound, errors.New("Resource not found") + return http.StatusNotFound, errors.New("Resource not found") //nolint:staticcheck } return http.StatusForbidden, errors.New(sRes.Status.Message) case res.Status.Code == rpc.Code_CODE_ABORTED: @@ -163,7 +163,7 @@ func (s *svc) handleMkcol(ctx context.Context, w http.ResponseWriter, r *http.Re // https://www.rfc-editor.org/rfc/rfc4918#section-9.3.1: // 405 (Method Not Allowed) - MKCOL can only be executed on an unmapped URL. //lint:ignore ST1005 mimic the exact oc10 error message - return http.StatusMethodNotAllowed, errors.New("The resource you tried to create already exists") + return http.StatusMethodNotAllowed, errors.New("The resource you tried to create already exists") //nolint:staticcheck } return rstatus.HTTPStatusFromCode(res.Status.Code), errtypes.NewErrtypeFromStatus(res.Status) } diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/propfind/propfind.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/propfind/propfind.go index bc55b5c6e2..37390e8a7d 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/propfind/propfind.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/propfind/propfind.go @@ -849,7 +849,7 @@ func (p *Handler) getSpaceResourceInfos(ctx context.Context, w http.ResponseWrit } func metadataKeysWithPrefix(prefix string, keys []string) []string { - fullKeys := []string{} + fullKeys := make([]string, 0, len(keys)) for _, key := range keys { fullKeys = append(fullKeys, fmt.Sprintf("%s.%s", prefix, key)) } diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/proppatch.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/proppatch.go index 80ffdd0dbe..3d97d8a461 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/proppatch.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/proppatch.go @@ -340,7 +340,7 @@ func (s *svc) formatProppatchResponse(ctx context.Context, acceptedProps []xml.N } if len(acceptedProps) > 0 { - propstatBody := []prop.PropertyXML{} + propstatBody := make([]prop.PropertyXML, 0, len(acceptedProps)) for i := range acceptedProps { propstatBody = append(propstatBody, prop.EscapedNS(acceptedProps[i].Space, acceptedProps[i].Local, "")) } @@ -351,7 +351,7 @@ func (s *svc) formatProppatchResponse(ctx context.Context, acceptedProps []xml.N } if len(removedProps) > 0 { - propstatBody := []prop.PropertyXML{} + propstatBody := make([]prop.PropertyXML, 0, len(removedProps)) for i := range removedProps { propstatBody = append(propstatBody, prop.EscapedNS(removedProps[i].Space, removedProps[i].Local, "")) } diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/report.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/report.go index 3ae6602ddc..aab369961d 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/report.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/report.go @@ -24,7 +24,6 @@ import ( "net/http" rpcv1beta1 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" - provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" providerv1beta1 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" "github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/net" "github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/propfind" @@ -100,7 +99,7 @@ func (s *svc) doFilterFiles(w http.ResponseWriter, r *http.Request, ff *reportFi return } - infos := make([]*provider.ResourceInfo, 0, len(favorites)) + infos := make([]*providerv1beta1.ResourceInfo, 0, len(favorites)) for i := range favorites { statRes, err := client.Stat(ctx, &providerv1beta1.StatRequest{Ref: &providerv1beta1.Reference{ResourceId: favorites[i]}}) if err != nil { @@ -179,14 +178,15 @@ func readReport(r io.Reader) (rep *report, status int, err error) { } if v, ok := t.(xml.StartElement); ok { - if v.Name.Local == elementNameSearchFiles { + switch v.Name.Local { + case elementNameSearchFiles: var repSF reportSearchFiles err = decoder.DecodeElement(&repSF, &v) if err != nil { return nil, http.StatusBadRequest, err } rep.SearchFiles = &repSF - } else if v.Name.Local == elementNameFilterFiles { + case elementNameFilterFiles: var repFF reportFilterFiles err = decoder.DecodeElement(&repFF, &v) if err != nil { diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/tpc.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/tpc.go index 00ef76ff40..99deda4b70 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/tpc.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/tpc.go @@ -384,7 +384,7 @@ func (s *svc) performHTTPPush(ctx context.Context, r *http.Request, w http.Respo defer httpDownloadRes.Body.Close() if httpDownloadRes.StatusCode != http.StatusOK { w.WriteHeader(httpDownloadRes.StatusCode) - return fmt.Errorf("Remote PUT returned status code %d", httpDownloadRes.StatusCode) + return fmt.Errorf("remote PUT returned status code %d", httpDownloadRes.StatusCode) } // send performance markers periodically every PerfMarkerResponseTime (5 seconds unless configured) diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/validation.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/validation.go index dec4cf60ac..ad5bc81000 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/validation.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/validation.go @@ -13,14 +13,11 @@ type Validator func(string) error // ValidatorsFromConfig returns the configured Validators func ValidatorsFromConfig(c *config.Config) []Validator { - // we always want to exclude empty names - vals := []Validator{notEmpty()} - - // forbidden characters - vals = append(vals, doesNotContain(c.NameValidation.InvalidChars)) - - // max length - vals = append(vals, isShorterThan(c.NameValidation.MaxLength)) + vals := []Validator{ + notEmpty(), // we always want to exclude empty names + doesNotContain(c.NameValidation.InvalidChars), // forbidden characters + isShorterThan(c.NameValidation.MaxLength), // max length + } return vals } diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/handlers/apps/sharing/sharees/sharees.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/handlers/apps/sharing/sharees/sharees.go index 459a409c55..231b89eca1 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/handlers/apps/sharing/sharees/sharees.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/handlers/apps/sharing/sharees/sharees.go @@ -66,7 +66,17 @@ func (h *Handler) FindSharees(w http.ResponseWriter, r *http.Request) { response.WriteOCSError(w, r, response.MetaServerError.StatusCode, "error getting gateway grpc client", err) return } - usersRes, err := gwc.FindUsers(r.Context(), &userpb.FindUsersRequest{Query: term, SkipFetchingUserGroups: true}) + usersRes, err := gwc.FindUsers(r.Context(), &userpb.FindUsersRequest{ + Filters: []*userpb.Filter{ + { + Type: userpb.Filter_TYPE_QUERY, + Term: &userpb.Filter_Query{ + Query: term, + }, + }, + }, + SkipFetchingUserGroups: true, + }) if err != nil { response.WriteOCSError(w, r, response.MetaServerError.StatusCode, "error searching users", err) return @@ -106,7 +116,16 @@ func (h *Handler) FindSharees(w http.ResponseWriter, r *http.Request) { } } - groupsRes, err := gwc.FindGroups(r.Context(), &grouppb.FindGroupsRequest{Filter: term, SkipFetchingMembers: true}) + groupsRes, err := gwc.FindGroups(r.Context(), &grouppb.FindGroupsRequest{ + Filters: []*grouppb.Filter{ + { + Type: grouppb.Filter_TYPE_QUERY, + Term: &grouppb.Filter_Query{ + Query: term, + }, + }, + }, + SkipFetchingMembers: true}) if err != nil { response.WriteOCSError(w, r, response.MetaServerError.StatusCode, "error searching groups", err) return diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/handlers/apps/sharing/shares/shares.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/handlers/apps/sharing/shares/shares.go index b471774209..d44c3316c6 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/handlers/apps/sharing/shares/shares.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/handlers/apps/sharing/shares/shares.go @@ -49,7 +49,6 @@ import ( "google.golang.org/protobuf/types/known/fieldmaskpb" ocm "github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1" - ocmv1beta1 "github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1" "github.com/jellydator/ttlcache/v2" "github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/config" "github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/response" @@ -1305,8 +1304,8 @@ func (h *Handler) addFileInfo(ctx context.Context, s *conversions.ShareData, inf s.ItemSource = storagespace.FormatResourceID(info.Id) s.FileSource = s.ItemSource s.Path = path.Join("/", info.Path) - switch { - case h.sharePrefix == "/": + switch h.sharePrefix { + case "/": s.FileTarget = info.Path client, err := h.getClient() if err == nil { @@ -1627,13 +1626,13 @@ func mapState(state collaboration.ShareState) int { return mapped } -func mapOCMState(state ocmv1beta1.ShareState) int { +func mapOCMState(state ocm.ShareState) int { switch state { - case ocmv1beta1.ShareState_SHARE_STATE_PENDING: + case ocm.ShareState_SHARE_STATE_PENDING: return ocsStatePending - case ocmv1beta1.ShareState_SHARE_STATE_ACCEPTED: + case ocm.ShareState_SHARE_STATE_ACCEPTED: return ocsStateAccepted - case ocmv1beta1.ShareState_SHARE_STATE_REJECTED: + case ocm.ShareState_SHARE_STATE_REJECTED: return ocsStateRejected default: return ocsStateUnknown @@ -1657,18 +1656,18 @@ func getStateFilter(s string) collaboration.ShareState { return stateFilter } -func getOCMStateFilter(s string) ocmv1beta1.ShareState { +func getOCMStateFilter(s string) ocm.ShareState { switch s { case "all": return ocsStateUnknown // no filter case "0": // accepted - return ocmv1beta1.ShareState_SHARE_STATE_ACCEPTED + return ocm.ShareState_SHARE_STATE_ACCEPTED case "1": // pending - return ocmv1beta1.ShareState_SHARE_STATE_PENDING + return ocm.ShareState_SHARE_STATE_PENDING case "2": // rejected - return ocmv1beta1.ShareState_SHARE_STATE_REJECTED + return ocm.ShareState_SHARE_STATE_REJECTED default: - return ocmv1beta1.ShareState_SHARE_STATE_ACCEPTED + return ocm.ShareState_SHARE_STATE_ACCEPTED } } diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/handlers/cloud/users/users.go b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/handlers/cloud/users/users.go index 7d15853406..c345eb78f7 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/handlers/cloud/users/users.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocs/handlers/cloud/users/users.go @@ -117,11 +117,11 @@ func (h *Handler) GetUsers(w http.ResponseWriter, r *http.Request) { } var user *cs3identity.User - switch { - case userid == "": + switch userid { + case "": response.WriteOCSError(w, r, response.MetaBadRequest.StatusCode, "missing username", fmt.Errorf("missing username")) return - case userid == currentUser.Username: + case currentUser.Username: user = currentUser default: // FIXME allow fetching other users info? only for admins diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/app/provider/wopi/wopi.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/app/provider/wopi/wopi.go index 23c42325c4..8262632c25 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/app/provider/wopi/wopi.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/app/provider/wopi/wopi.go @@ -335,12 +335,13 @@ func getAppURLs(c *config) (map[string]map[string]string, error) { var appURLs map[string]map[string]string - if discRes.StatusCode == http.StatusOK { + switch discRes.StatusCode { + case http.StatusOK: appURLs, err = parseWopiDiscovery(discRes.Body) if err != nil { return nil, errors.Wrap(err, "error parsing wopi discovery response") } - } else if discRes.StatusCode == http.StatusNotFound { + case http.StatusNotFound: // this may be a bridge-supported app discReq, err = http.NewRequest("GET", c.AppIntURL, nil) if err != nil { diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/app/registry/micro/manager.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/app/registry/micro/manager.go index 07f05a6287..d0bca28ff0 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/app/registry/micro/manager.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/app/registry/micro/manager.go @@ -139,7 +139,7 @@ func (m *manager) ListSupportedMimeTypes(ctx context.Context) ([]*registrypb.Mim m.RLock() defer m.RUnlock() - res := []*registrypb.MimeTypeInfo{} + res := make([]*registrypb.MimeTypeInfo, 0, len(m.config.MimeTypes)) for _, mime := range m.config.MimeTypes { res = append(res, ®istrypb.MimeTypeInfo{ MimeType: mime.MimeType, diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/appauth/manager/json/json.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/appauth/manager/json/json.go index 6826d19c96..2da01bc56e 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/appauth/manager/json/json.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/appauth/manager/json/json.go @@ -175,7 +175,7 @@ func (mgr *jsonManager) ListAppPasswords(ctx context.Context) ([]*apppb.AppPassw userID := ctxpkg.ContextMustGetUser(ctx).GetId() mgr.Lock() defer mgr.Unlock() - appPasswords := []*apppb.AppPassword{} + appPasswords := make([]*apppb.AppPassword, 0, len(mgr.passwords[userID.String()])) for _, pw := range mgr.passwords[userID.String()] { appPasswords = append(appPasswords, pw) } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/appauth/manager/jsoncs3/jsoncs3.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/appauth/manager/jsoncs3/jsoncs3.go index ea32249782..64b4addf33 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/appauth/manager/jsoncs3/jsoncs3.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/appauth/manager/jsoncs3/jsoncs3.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "fmt" + "math/rand" "strings" "sync" "time" @@ -37,10 +38,12 @@ func init() { } type manager struct { - sync.RWMutex // for lazy initialization - mds metadata.Storage - generator PasswordGenerator - initialized bool + sync.RWMutex // for lazy initialization + mds metadata.Storage + generator PasswordGenerator + uTimeUpdateInterval time.Duration + updateRetryCount int + initialized bool } type config struct { @@ -50,6 +53,10 @@ type config struct { MachineAuthAPIKey string `mapstructure:"machine_auth_apikey"` Generator string `mapstructure:"password_generator"` GeneratorConfig map[string]any `mapstructure:"generator_config"` + // Time interval in seconds to update the UTime of a token when calling GetAppPassword. Default is 5 min. + // For testing set this -1 to disable automatic updates. + UTimeUpdateInterval int `mapstructure:"utime_update_interval_seconds"` + UpdateRetryCount int `mapstructure:"update_retry_count"` } type updaterFunc func(map[string]*apppb.AppPassword) (map[string]*apppb.AppPassword, error) @@ -82,6 +89,19 @@ func New(m map[string]any) (appauth.Manager, error) { if c.Generator == "" { c.Generator = "diceware" } + if c.UpdateRetryCount <= 0 { + c.UpdateRetryCount = 5 + } + + var updateInterval time.Duration + switch c.UTimeUpdateInterval { + case -1: + updateInterval = 0 + case 0: + updateInterval = 5 * time.Minute + default: + updateInterval = time.Duration(c.UTimeUpdateInterval) * time.Second + } var pwgen PasswordGenerator var err error @@ -103,33 +123,39 @@ func New(m map[string]any) (appauth.Manager, error) { return nil, err } - return NewWithOptions(cs3, pwgen) + return NewWithOptions(cs3, pwgen, updateInterval, c.UpdateRetryCount) } -func NewWithOptions(mds metadata.Storage, generator PasswordGenerator) (*manager, error) { +func NewWithOptions(mds metadata.Storage, generator PasswordGenerator, uTimeUpdateInterval time.Duration, updateRetries int) (*manager, error) { return &manager{ - mds: mds, - generator: generator, + mds: mds, + generator: generator, + uTimeUpdateInterval: uTimeUpdateInterval, + updateRetryCount: updateRetries, }, nil } // GenerateAppPassword creates a password with specified scope to be used by // third-party applications. func (m *manager) GenerateAppPassword(ctx context.Context, scope map[string]*authpb.Scope, label string, expiration *typespb.Timestamp) (*apppb.AppPassword, error) { + logger := appctx.GetLogger(ctx) ctx, span := appctx.GetTracerProvider(ctx).Tracer(tracerName).Start(ctx, "GenerateAppPassword") defer span.End() if err := m.initialize(ctx); err != nil { + logger.Error().Err(err).Msg("initializing appauth manager failed") span.RecordError(err) span.SetStatus(codes.Error, err.Error()) return nil, err } token, err := m.generator.GeneratePassword() if err != nil { + logger.Debug().Err(err).Msg("error generating new password") return nil, errors.Wrap(err, "error creating new token") } tokenHashed, err := argon2id.CreateHash(token, argon2id.DefaultParams) if err != nil { + logger.Debug().Err(err).Msg("error generating password hash") return nil, errors.Wrap(err, "error creating new token") } @@ -137,6 +163,7 @@ func (m *manager) GenerateAppPassword(ctx context.Context, scope map[string]*aut if user, ok := ctxpkg.ContextGetUser(ctx); ok { userID = user.GetId() } else { + logger.Debug().Err(err).Msg("no user in context") return nil, errtypes.BadRequest("no user in context") } @@ -156,12 +183,13 @@ func (m *manager) GenerateAppPassword(ctx context.Context, scope map[string]*aut id := uuid.New().String() - err = m.updateWithRetry(ctx, 5, true, userID, func(a map[string]*apppb.AppPassword) (map[string]*apppb.AppPassword, error) { + err = m.updateWithRetry(ctx, m.updateRetryCount, true, userID, func(a map[string]*apppb.AppPassword) (map[string]*apppb.AppPassword, error) { a[id] = appPass return a, nil }) if err != nil { + logger.Debug().Err(err).Msg("failed to store new app password") return nil, err } @@ -248,7 +276,7 @@ func (m *manager) InvalidateAppPassword(ctx context.Context, secretOrId string) return a, errtypes.NotFound("password not found") } - err := m.updateWithRetry(ctx, 5, false, userID, updater) + err := m.updateWithRetry(ctx, m.updateRetryCount, false, userID, updater) if err != nil { log.Error().Err(err).Msg("getUserAppPasswords failed") return errtypes.NotFound("password not found") @@ -291,8 +319,8 @@ func (m *manager) GetAppPassword(ctx context.Context, user *userpb.UserId, secre matchedID = id // password not expired // Updating the Utime will cause an Upload for every single GetAppPassword request. We are limiting this to one - // update per 5 minutes otherwise this backend will become unusable. - if time.Since(utils.TSToTime(pw.Utime)) > 5*time.Minute { + // update per 'uTimeUpdateInterval' (default 5 min) otherwise this backend will become unusable. + if time.Since(utils.TSToTime(pw.Utime)) > m.uTimeUpdateInterval { a[id].Utime = utils.TSNow() return a, nil } @@ -302,7 +330,7 @@ func (m *manager) GetAppPassword(ctx context.Context, user *userpb.UserId, secre return nil, errtypes.NotFound("password not found") } - err := m.updateWithRetry(ctx, 5, false, user, updater) + err := m.updateWithRetry(ctx, m.updateRetryCount, false, user, updater) switch { case err == nil: fallthrough @@ -317,6 +345,7 @@ func (m *manager) GetAppPassword(ctx context.Context, user *userpb.UserId, secre func (m *manager) initialize(ctx context.Context) error { _, span := appctx.GetTracerProvider(ctx).Tracer(tracerName).Start(ctx, "initialize") + logger := appctx.GetLogger(ctx) defer span.End() if m.initialized { span.SetStatus(codes.Ok, "already initialized") @@ -332,6 +361,7 @@ func (m *manager) initialize(ctx context.Context) error { } ctx = context.Background() + ctx = appctx.WithLogger(ctx, logger) err := m.mds.Init(ctx, "jsoncs3-appauth-data") if err != nil { span.RecordError(err) @@ -343,6 +373,7 @@ func (m *manager) initialize(ctx context.Context) error { } func (m *manager) updateWithRetry(ctx context.Context, retries int, createIfNotFound bool, userid *userpb.UserId, updater updaterFunc) error { + log := appctx.GetLogger(ctx) _, span := appctx.GetTracerProvider(ctx).Tracer(tracerName).Start(ctx, "initialize") defer span.End() @@ -355,6 +386,12 @@ func (m *manager) updateWithRetry(ctx context.Context, retries int, createIfNotF // retry for the specified number of times, then error out for i := 0; i < retries && retry; i++ { + if i > 0 { + // if we're retrying, wait a bit before the next try + jitter := time.Duration(rand.Int63n(int64(100 * time.Millisecond))) + time.Sleep(jitter + 100*time.Millisecond) + } + etag, userAppPasswords, err = m.getUserAppPasswords(ctx, userid) switch err.(type) { case nil: @@ -363,11 +400,18 @@ func (m *manager) updateWithRetry(ctx context.Context, retries int, createIfNotF if createIfNotFound { userAppPasswords = map[string]*apppb.AppPassword{} } else { + log.Debug().Err(err).Msg("getUserAppPasswords failed (not found)") span.RecordError(err) span.SetStatus(codes.Error, "downloading app tokens failed") return err } + case errtypes.TooEarly: + // Ideally this should never happen as we disable asynchronous uploads for the metadata storage. + log.Debug().Err(err).Int("try", i).Msg("getUserAppPasswords failed (too early, retrying)") + retry = true + continue default: + log.Debug().Err(err).Msg("getUserAppPasswords failed") span.RecordError(err) span.SetStatus(codes.Error, "downloading app tokens failed") return err @@ -382,17 +426,20 @@ func (m *manager) updateWithRetry(ctx context.Context, retries int, createIfNotF switch err.(type) { case nil: retry = false - case errtypes.PreconditionFailed: + case errtypes.Aborted: + log.Debug().Err(err).Int("attempt", i).Msg("updateUserAppPassword failed (retrying)") retry = true default: + log.Debug().Err(err).Int("attempt", i).Msg("updateUserAppPassword failed (not retrying)") span.RecordError(err) span.SetStatus(codes.Error, err.Error()) return err } } if retry { + log.Debug().Err(err).Msg("updateUserAppPassword failed") span.RecordError(err) - span.SetStatus(codes.Error, "updating app tokens failed") + span.SetStatus(codes.Error, "updating app token failed") return err } return nil @@ -424,7 +471,7 @@ func (m *manager) updateUserAppPassword(ctx context.Context, userid *userpb.User if err != nil { span.RecordError(err) span.SetStatus(codes.Error, err.Error()) - log.Debug().Err(err).Msg("persisting provider cache failed") + log.Debug().Err(err).Msg("failed to upload AppPasswword") return err } return nil diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/auth/registry/static/static.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/auth/registry/static/static.go index 39549b3442..1e80960e7e 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/auth/registry/static/static.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/auth/registry/static/static.go @@ -50,7 +50,7 @@ type reg struct { } func (r *reg) ListProviders(ctx context.Context) ([]*registrypb.ProviderInfo, error) { - providers := []*registrypb.ProviderInfo{} + providers := make([]*registrypb.ProviderInfo, 0, len(r.rules)) for k, v := range r.rules { providers = append(providers, ®istrypb.ProviderInfo{ ProviderType: k, diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/cbox/share/sql/sql.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/cbox/share/sql/sql.go index 6af18ac5ab..1d81cf1a2c 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/cbox/share/sql/sql.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/cbox/share/sql/sql.go @@ -404,7 +404,7 @@ func (m *mgr) getReceivedByID(ctx context.Context, id *collaboration.ShareId) (* user := ctxpkg.ContextMustGetUser(ctx) uid := conversions.FormatUserID(user.Id) - params := []interface{}{uid, id.OpaqueId, uid} + params := []interface{}{uid, id.OpaqueId, uid} // nolint:prealloc for _, v := range user.Groups { params = append(params, v) } @@ -438,7 +438,7 @@ func (m *mgr) getReceivedByKey(ctx context.Context, key *collaboration.ShareKey) uid := conversions.FormatUserID(user.Id) shareType, shareWith := conversions.FormatGrantee(key.Grantee) - params := []interface{}{uid, conversions.FormatUserID(key.Owner), key.GetResourceId().SpaceId, key.ResourceId.OpaqueId, shareType, shareWith, shareWith} + params := []interface{}{uid, conversions.FormatUserID(key.Owner), key.GetResourceId().SpaceId, key.ResourceId.OpaqueId, shareType, shareWith, shareWith} // nolint:prealloc for _, v := range user.Groups { params = append(params, v) } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/cbox/utils/conversions.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/cbox/utils/conversions.go index ad9b25e8cc..03e0193536 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/cbox/utils/conversions.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/cbox/utils/conversions.go @@ -265,10 +265,7 @@ func ConvertToCS3PublicShare(ctx context.Context, gateway gatewayv1beta1.Gateway ts := &typespb.Timestamp{ Seconds: uint64(s.STime), } - pwd := false - if s.ShareWith != "" { - pwd = true - } + pwd := s.ShareWith != "" var expires *typespb.Timestamp if s.Expiration != "" { t, err := time.Parse("2006-01-02 15:04:05", s.Expiration) diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/conversions/main.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/conversions/main.go index 429eb27da7..f110a64861 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/conversions/main.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/conversions/main.go @@ -240,7 +240,8 @@ func CS3Share2ShareData(ctx context.Context, share *collaboration.Share) *ShareD UIDFileOwner: LocalUserIDToString(share.GetOwner()), } - if share.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_USER { + switch share.Grantee.Type { + case provider.GranteeType_GRANTEE_TYPE_USER: sd.ShareType = ShareTypeUser sd.ShareWith = LocalUserIDToString(share.Grantee.GetUserId()) shareType := share.GetGrantee().GetUserId().GetType() @@ -249,7 +250,7 @@ func CS3Share2ShareData(ctx context.Context, share *collaboration.Share) *ShareD } else { sd.ShareWithUserType = ShareWithUserTypeUser } - } else if share.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_GROUP { + case provider.GranteeType_GRANTEE_TYPE_GROUP: sd.ShareType = ShareTypeGroup sd.ShareWith = LocalGroupIDToString(share.Grantee.GetGroupId()) } @@ -343,8 +344,8 @@ func ReceivedOCMShare2ShareData(share *ocm.ReceivedShare, path string) (*ShareDa ShareType: ShareTypeFederatedCloudShare, Path: shareTarget, FileTarget: shareTarget, - MimeType: mime.Detect(share.ResourceType == provider.ResourceType_RESOURCE_TYPE_CONTAINER, share.Name), - ItemType: ResourceType(share.ResourceType).String(), + MimeType: mime.Detect(share.ResourceType == provider.ResourceType_RESOURCE_TYPE_CONTAINER, share.Name), //nolint:staticcheck // we will update our ocm implementation later + ItemType: ResourceType(share.ResourceType).String(), //nolint:staticcheck // we will update our ocm implementation later ItemSource: storagespace.FormatResourceID(&provider.ResourceId{ StorageId: utils.OCMStorageProviderID, SpaceId: share.Id.OpaqueId, diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/conversions/permissions.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/conversions/permissions.go index 1ffa627c09..9c337751d4 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/conversions/permissions.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/conversions/permissions.go @@ -52,7 +52,7 @@ const ( var ( // ErrPermissionNotInRange defines a permission specific error. - ErrPermissionNotInRange = fmt.Errorf("The provided permission is not between %d and %d", PermissionMinInput, PermissionMaxInput) + ErrPermissionNotInRange = fmt.Errorf("the provided permission is not between %d and %d", PermissionMinInput, PermissionMaxInput) // ErrZeroPermission defines a permission specific error ErrZeroPermission = errors.New("permission is zero") ) diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/eosclient/eosbinary/eosbinary.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/eosclient/eosbinary/eosbinary.go index fed9c1cbcf..0f190e962e 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/eosclient/eosbinary/eosbinary.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/eosclient/eosbinary/eosbinary.go @@ -511,7 +511,7 @@ func (c *Client) SetAttr(ctx context.Context, auth eosclient.Authorization, attr // We need to set the attrs on the version folder as they are not persisted across writes // Except for the sys.eval.useracl attr as EOS uses that to determine if it needs to obey // the user ACLs set on the file - if !(attr.Type == eosclient.SystemAttr && attr.Key == userACLEvalKey) { + if attr.Type != eosclient.SystemAttr || attr.Key != userACLEvalKey { info, err = c.getRawFileInfoByPath(ctx, auth, path) if err != nil { return err @@ -587,7 +587,7 @@ func (c *Client) UnsetAttr(ctx context.Context, auth eosclient.Authorization, at // We need to set the attrs on the version folder as they are not persisted across writes // Except for the sys.eval.useracl attr as EOS uses that to determine if it needs to obey // the user ACLs set on the file - if !(attr.Type == eosclient.SystemAttr && attr.Key == userACLEvalKey) { + if attr.Type != eosclient.SystemAttr || attr.Key != userACLEvalKey { info, err = c.getRawFileInfoByPath(ctx, auth, path) if err != nil { return err @@ -927,10 +927,7 @@ func parseRecycleEntry(raw string) (*eosclient.DeletedEntry, error) { if err != nil { return nil, err } - isDir := false - if kv["type"] == "recursive-dir" { - isDir = true - } + isDir := kv["type"] == "recursive-dir" deletionMTime, err := strconv.ParseUint(strings.Split(kv["deletion-time"], ".")[0], 10, 64) if err != nil { return nil, err @@ -1087,13 +1084,13 @@ func (c *Client) parseFileInfo(ctx context.Context, raw string, parseFavoriteKey partsByEqual := strings.SplitN(p, "=", 2) // we have kv pairs like [size 14] if len(partsByEqual) == 2 { // handle xattrn and xattrv special cases - switch { - case partsByEqual[0] == "xattrn": + switch partsByEqual[0] { + case "xattrn": previousXAttr = partsByEqual[1] if previousXAttr != "user.acl" { previousXAttr = strings.Replace(previousXAttr, "user.", "", 1) } - case partsByEqual[0] == "xattrv": + case "xattrv": attrs[previousXAttr] = partsByEqual[1] previousXAttr = "" default: diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/mentix/exchangers/exporters/metrics/metrics.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/mentix/exchangers/exporters/metrics/metrics.go index 213f772fee..b5911816f6 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/mentix/exchangers/exporters/metrics/metrics.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/mentix/exchangers/exporters/metrics/metrics.go @@ -92,10 +92,11 @@ func (m *Metrics) Update(meshData *meshdata.MeshData) error { } func (m *Metrics) exportSiteMetrics(site *meshdata.Site) error { - mutators := make([]tag.Mutator, 0) - mutators = append(mutators, tag.Insert(tag.MustNewKey(keySiteID), site.ID)) - mutators = append(mutators, tag.Insert(tag.MustNewKey(keySiteName), site.Name)) - mutators = append(mutators, tag.Insert(tag.MustNewKey(keyServiceType), "SCIENCEMESH_HCHECK")) + mutators := []tag.Mutator{ + tag.Insert(tag.MustNewKey(keySiteID), site.ID), + tag.Insert(tag.MustNewKey(keySiteName), site.Name), + tag.Insert(tag.MustNewKey(keyServiceType), "SCIENCEMESH_HCHECK"), + } // Create a new context to serve the metrics if ctx, err := tag.New(context.Background(), mutators...); err == nil { diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/metrics/driver/json/json.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/metrics/driver/json/json.go index fd4ca206e4..e32e8b93af 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/metrics/driver/json/json.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/metrics/driver/json/json.go @@ -72,7 +72,7 @@ type MetricsJSONDriver struct { // Configure configures this driver func (d *MetricsJSONDriver) Configure(c *config.Config) error { if c.MetricsDataLocation == "" { - err := errors.New("Unable to initialize a metrics data driver, has the data location (metrics_data_location) been configured?") + err := errors.New("unable to initialize a metrics data driver, has the data location (metrics_data_location) been configured?") return err } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/share/repository/json/json.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/share/repository/json/json.go index 727284bba3..4772feffcc 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/share/repository/json/json.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/share/repository/json/json.go @@ -399,26 +399,22 @@ func (m *mgr) UpdateShare(ctx context.Context, user *userpb.User, ref *ocm.Share } if am := f.GetAccessMethods(); am != nil { var ( - webdavOptions *ocm.WebDAVAccessMethod - webappOptions *ocm.WebappAccessMethod - transferOptions *ocm.TransferAccessMethod + webdavOptions *ocm.WebDAVAccessMethod + webappOptions *ocm.WebappAccessMethod // TODO: *AccessMethod_GenericOptions - newWebdavOptions *ocm.WebDAVAccessMethod - newWebappOptions *ocm.WebappAccessMethod - newTransferOptions *ocm.TransferAccessMethod + newWebdavOptions *ocm.WebDAVAccessMethod + newWebappOptions *ocm.WebappAccessMethod // TODO: *AccessMethod_GenericOptions ) for _, sm := range s.GetAccessMethods() { webdavOptions = sm.GetWebdavOptions() webappOptions = sm.GetWebappOptions() - transferOptions = sm.GetTransferOptions() } newWebdavOptions = am.GetWebdavOptions() newWebappOptions = am.GetWebappOptions() - newTransferOptions = am.GetTransferOptions() newAccesMethods := []*ocm.AccessMethod{} @@ -450,19 +446,6 @@ func (m *mgr) UpdateShare(ctx context.Context, user *userpb.User, ref *ocm.Share }) } - if newTransferOptions != nil { - newAccesMethods = append(newAccesMethods, &ocm.AccessMethod{ - Term: &ocm.AccessMethod_TransferOptions{ - TransferOptions: newTransferOptions, - }, - }) - } else if transferOptions != nil { - newAccesMethods = append(newAccesMethods, &ocm.AccessMethod{ - Term: &ocm.AccessMethod_TransferOptions{ - TransferOptions: transferOptions, - }, - }) - } s.AccessMethods = newAccesMethods } } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/share/repository/nextcloud/nextcloud.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/share/repository/nextcloud/nextcloud.go index 8e9fa45fa8..ecee429af9 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/share/repository/nextcloud/nextcloud.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/share/repository/nextcloud/nextcloud.go @@ -430,7 +430,7 @@ func (sm *Manager) do(ctx context.Context, a Action, username string) (int, []by log.Info().Msgf("am.do response %d %s", resp.StatusCode, body) if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusCreated { - return 0, nil, fmt.Errorf("Unexpected response code from EFSS API: %d", resp.StatusCode) + return 0, nil, fmt.Errorf("unexpected response code from EFSS API: %d", resp.StatusCode) } return resp.StatusCode, body, nil } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/share/utils.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/share/utils.go index f35d435256..2d715c1f86 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/share/utils.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/share/utils.go @@ -49,19 +49,6 @@ func NewWebappProtocol(uriTemplate string, viewMode appprovider.ViewMode) *ocm.P } } -// NewTransferProtocol is an abstraction for creating a Transfer protocol. -func NewTransferProtocol(sourceURI, sharedSecret string, size uint64) *ocm.Protocol { - return &ocm.Protocol{ - Term: &ocm.Protocol_TransferOptions{ - TransferOptions: &ocm.TransferProtocol{ - SourceUri: sourceURI, - SharedSecret: sharedSecret, - Size: size, - }, - }, - } -} - // NewWebDavAccessMethod is an abstraction for creating a WebDAV access method. func NewWebDavAccessMethod(perms *provider.ResourcePermissions) *ocm.AccessMethod { return &ocm.AccessMethod{ @@ -83,12 +70,3 @@ func NewWebappAccessMethod(mode appprovider.ViewMode) *ocm.AccessMethod { }, } } - -// NewTransferAccessMethod is an abstraction for creating a Transfer access method. -func NewTransferAccessMethod() *ocm.AccessMethod { - return &ocm.AccessMethod{ - Term: &ocm.AccessMethod_TransferOptions{ - TransferOptions: &ocm.TransferAccessMethod{}, - }, - } -} diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/storage/received/ocm.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/storage/received/ocm.go index 075c7734fc..c019ec94eb 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/storage/received/ocm.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/storage/received/ocm.go @@ -260,7 +260,7 @@ func convertStatToResourceInfo(ref *provider.Reference, f fs.FileInfo, share *oc var name string switch { - case share.ResourceType == provider.ResourceType_RESOURCE_TYPE_FILE: + case share.ResourceType == provider.ResourceType_RESOURCE_TYPE_FILE: //nolint:staticcheck // we will update our ocm implementation later name = share.Name case webdavFile.Path() == "/": name = share.Name diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/storage/received/upload.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/storage/received/upload.go index 4aa0f18fc5..39520f0c4b 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/storage/received/upload.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/ocm/storage/received/upload.go @@ -154,10 +154,10 @@ func (d *driver) GetUpload(ctx context.Context, id string) (tusd.Upload, error) } func NewUpload(ctx context.Context, d *driver, storageRoot string, info tusd.FileInfo) (tusd.Upload, error) { if info.MetaData["filename"] == "" { - return nil, errors.New("Decomposedfs: missing filename in metadata") + return nil, errors.New("decomposedfs: missing filename in metadata") } if info.MetaData["dir"] == "" { - return nil, errors.New("Decomposedfs: missing dir in metadata") + return nil, errors.New("decomposedfs: missing dir in metadata") } uploadRoot := filepath.Join(storageRoot, "uploads") @@ -328,7 +328,7 @@ func (u *upload) FinishUpload(ctx context.Context) error { // shareID, rel := shareInfoFromReference(u.Info.MetaData["ref"]) // p := getPathFromShareIDAndRelPath(shareID, rel) - serviceUserCtx, err := utils.GetServiceUserContext(u.d.c.ServiceAccountID, u.d.gateway, u.d.c.ServiceAccountSecret) + serviceUserCtx, err := utils.GetServiceUserContextWithContext(context.Background(), u.d.gateway, u.d.c.ServiceAccountID, u.d.c.ServiceAccountSecret) if err != nil { return err } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/publicshare/manager/json/json.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/publicshare/manager/json/json.go index 21ebe4ba60..ad174a23d3 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/publicshare/manager/json/json.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/publicshare/manager/json/json.go @@ -557,7 +557,7 @@ func (m *manager) ListPublicShares(ctx context.Context, u *user.User, filters [] cache[key] = struct{}{} } - if local.PublicShare.PasswordProtected && sign { + if local.PasswordProtected && sign { if err := publicshare.AddSignature(&local.PublicShare, local.Password); err != nil { return nil, err } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/publicshare/manager/owncloudsql/conversions.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/publicshare/manager/owncloudsql/conversions.go index 133513e519..7b19014e8e 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/publicshare/manager/owncloudsql/conversions.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/publicshare/manager/owncloudsql/conversions.go @@ -189,10 +189,7 @@ func (m *mgr) ConvertToCS3PublicShare(ctx context.Context, s DBShare) (*link.Pub return nil, err } } - pwd := false - if s.ShareWith != "" { - pwd = true - } + pwd := s.ShareWith != "" var expires *typespb.Timestamp if s.Expiration != "" { t, err := time.Parse("2006-01-02 15:04:05", s.Expiration) diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/share/manager/jsoncs3/jsoncs3.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/share/manager/jsoncs3/jsoncs3.go index 12edc2fc5c..eac37873f8 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/share/manager/jsoncs3/jsoncs3.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/share/manager/jsoncs3/jsoncs3.go @@ -677,7 +677,7 @@ func (m *Manager) listSharesByIDs(ctx context.Context, user *userv1beta1.User, f continue } - if !(share.IsCreatedByUser(s, user) || share.IsGrantedToUser(s, user)) { + if !share.IsCreatedByUser(s, user) && !share.IsGrantedToUser(s, user) { key := storagespace.FormatResourceID(resourceID) if _, hit := statCache[key]; !hit { req := &provider.StatRequest{ diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/share/manager/owncloudsql/conversions.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/share/manager/owncloudsql/conversions.go index e2eb871163..7fc7a78123 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/share/manager/owncloudsql/conversions.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/share/manager/owncloudsql/conversions.go @@ -25,7 +25,6 @@ import ( grouppb "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1" userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" - userprovider "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" collaboration "github.com/cs3org/go-cs3apis/cs3/sharing/collaboration/v1beta1" provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" @@ -99,7 +98,7 @@ func (c *GatewayUserConverter) UserIDToUserName(ctx context.Context, userid *use if err != nil { return "", err } - getUserResponse, err := gwConn.GetUser(ctx, &userprovider.GetUserRequest{ + getUserResponse, err := gwConn.GetUser(ctx, &userpb.GetUserRequest{ UserId: userid, SkipFetchingUserGroups: true, }) diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/share/manager/owncloudsql/owncloudsql.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/share/manager/owncloudsql/owncloudsql.go index 4f0c859acd..f836c6ba7f 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/share/manager/owncloudsql/owncloudsql.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/share/manager/owncloudsql/owncloudsql.go @@ -484,7 +484,7 @@ func (m *mgr) UpdateReceivedShare(ctx context.Context, receivedShare *collaborat return err } if affected < 1 { - return fmt.Errorf("No rows updated") + return fmt.Errorf("no rows updated") } return nil } @@ -538,7 +538,7 @@ func (m *mgr) getReceivedByID(ctx context.Context, id *collaboration.ShareId) (* user := ctxpkg.ContextMustGetUser(ctx) uid := user.Username - params := []interface{}{id.OpaqueId, id.OpaqueId, uid} + params := []interface{}{id.OpaqueId, id.OpaqueId, uid} //nolint:prealloc for _, v := range user.Groups { params = append(params, v) } @@ -559,16 +559,16 @@ func (m *mgr) getReceivedByID(ctx context.Context, id *collaboration.ShareId) (* query := ` WITH results AS ( - SELECT s.*, storages.numeric_id + SELECT s.*, storages.numeric_id FROM oc_share s LEFT JOIN oc_storages storages ON ` + homeConcat + ` WHERE s.id=? OR s.parent=? ` + userSelect + ` ) SELECT COALESCE(r.uid_owner, '') AS uid_owner, COALESCE(r.uid_initiator, '') AS uid_initiator, COALESCE(r.share_with, '') AS share_with, COALESCE(r.file_source, '') AS file_source, COALESCE(r2.file_target, r.file_target), r.id, r.stime, r.permissions, r.share_type, COALESCE(r2.accepted, r.accepted), - r.numeric_id, COALESCE(r.parent, -1) AS parent - FROM results r - LEFT JOIN results r2 ON r.id = r2.parent + r.numeric_id, COALESCE(r.parent, -1) AS parent + FROM results r + LEFT JOIN results r2 ON r.id = r2.parent WHERE r.parent IS NULL; ` diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/siteacc/endpoints.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/siteacc/endpoints.go index 68faf94e0e..68ae6328bc 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/siteacc/endpoints.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/siteacc/endpoints.go @@ -97,14 +97,14 @@ func getEndpoints() []endpoint { func callAdministrationEndpoint(siteacc *SiteAccounts, ep endpoint, w http.ResponseWriter, r *http.Request, session *html.Session) { if err := siteacc.ShowAdministrationPanel(w, r, session); err != nil { w.WriteHeader(http.StatusInternalServerError) - _, _ = w.Write([]byte(fmt.Sprintf("Unable to show the administration panel: %v", err))) + _, _ = fmt.Fprintf(w, "Unable to show the administration panel: %v", err) } } func callAccountEndpoint(siteacc *SiteAccounts, ep endpoint, w http.ResponseWriter, r *http.Request, session *html.Session) { if err := siteacc.ShowAccountPanel(w, r, session); err != nil { w.WriteHeader(http.StatusInternalServerError) - _, _ = w.Write([]byte(fmt.Sprintf("Unable to show the account panel: %v", err))) + _, _ = fmt.Fprintf(w, "Unable to show the account panel: %v", err) } } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/siteacc/siteacc.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/siteacc/siteacc.go index 619bed743e..0fb6b00ca2 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/siteacc/siteacc.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/siteacc/siteacc.go @@ -145,7 +145,7 @@ func (siteacc *SiteAccounts) RequestHandler() http.Handler { if !epHandled { w.WriteHeader(http.StatusBadRequest) - _, _ = w.Write([]byte(fmt.Sprintf("Unknown endpoint %v", r.URL.Path))) + _, _ = fmt.Fprintf(w, "Unknown endpoint %v", r.URL.Path) } }) } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/cache/cache.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/cache/cache.go index 10371447c9..eb3ea89e80 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/cache/cache.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/cache/cache.go @@ -211,7 +211,7 @@ func (cache cacheStore) PushToCache(key string, src interface{}) error { // List lists the keys on the configured database and table of the underlying store func (cache cacheStore) List(opts ...microstore.ListOption) ([]string, error) { - o := []microstore.ListOption{ + o := []microstore.ListOption{ // nolint:prealloc microstore.ListFrom(cache.database, cache.table), } o = append(o, opts...) @@ -224,7 +224,7 @@ func (cache cacheStore) List(opts ...microstore.ListOption) ([]string, error) { // Delete deletes the given key on the configured database and table of the underlying store func (cache cacheStore) Delete(key string, opts ...microstore.DeleteOption) error { - o := []microstore.DeleteOption{ + o := []microstore.DeleteOption{ // nolint:prealloc microstore.DeleteFrom(cache.database, cache.table), } o = append(o, opts...) diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/hello/unimplemented.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/hello/unimplemented.go index 38576f5dcd..6509ce5d3c 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/hello/unimplemented.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/hello/unimplemented.go @@ -187,12 +187,14 @@ func (fs *hellofs) RestoreRecycleItem(ctx context.Context, ref *provider.Referen } // CreateHome creates a users home +// // Deprecated: use CreateStorageSpace with type personal func (fs *hellofs) CreateHome(ctx context.Context) error { return errtypes.NotSupported("unimplemented") } // GetHome returns the path to the users home +// // Deprecated: use ListStorageSpaces with type personal func (fs *hellofs) GetHome(ctx context.Context) (string, error) { return "", errtypes.NotSupported("unimplemented") diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/owncloudsql/owncloudsql.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/owncloudsql/owncloudsql.go index 9a147280ab..87356613e5 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/owncloudsql/owncloudsql.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/owncloudsql/owncloudsql.go @@ -1113,9 +1113,9 @@ func (fs *owncloudsqlfs) UnsetArbitraryMetadata(ctx context.Context, ref *provid if err = xattr.Remove(ip, mdPrefix+k); err != nil { // a non-existing attribute will return an error, which we can ignore // (using string compare because the error type is syscall.Errno and not wrapped/recognizable) - if e, ok := err.(*xattr.Error); !ok || !(e.Err.Error() == "no data available" || + if e, ok := err.(*xattr.Error); !ok || (e.Err.Error() != "no data available" && // darwin - e.Err.Error() == "attribute not found") { + e.Err.Error() != "attribute not found") { log.Error().Err(err). Str("ipath", ip). Str("key", k). diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/owncloudsql/upload.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/owncloudsql/upload.go index 951b769454..fbc26315f7 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/owncloudsql/upload.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/owncloudsql/upload.go @@ -324,9 +324,10 @@ func (fs *owncloudsqlfs) GetUpload(ctx context.Context, id string) (tusd.Upload, ctx = ctxpkg.ContextSetUser(ctx, u) // TODO configure the logger the same way ... store and add traceid in file info - var opts []logger.Option - opts = append(opts, logger.WithLevel(info.Storage["LogLevel"])) - opts = append(opts, logger.WithWriter(os.Stderr, logger.ConsoleMode)) + opts := []logger.Option{ + logger.WithLevel(info.Storage["LogLevel"]), + logger.WithWriter(os.Stderr, logger.ConsoleMode), + } l := logger.New(opts...) sub := l.With().Int("pid", os.Getpid()).Logger() diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/lookup/lookup.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/lookup/lookup.go index b0d2cc4110..d691cdc402 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/lookup/lookup.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/lookup/lookup.go @@ -83,8 +83,8 @@ type Lookup struct { // New returns a new Lookup instance func New(b metadata.Backend, um usermapper.Mapper, o *options.Options, tm node.TimeManager) *Lookup { - idHistoryConf := o.Options.IDCache - idHistoryConf.Table = o.Options.IDCache.Table + "_history" + idHistoryConf := o.IDCache + idHistoryConf.Table = o.IDCache.Table + "_history" idHistoryConf.TTL = 1 * time.Minute spaceRootCache, _ := lru.New[string, string](1000) @@ -92,7 +92,7 @@ func New(b metadata.Backend, um usermapper.Mapper, o *options.Options, tm node.T lu := &Lookup{ Options: o, metadataBackend: b, - IDCache: NewStoreIDCache(o.Options.IDCache), + IDCache: NewStoreIDCache(o.IDCache), IDHistoryCache: NewStoreIDCache(idHistoryConf), spaceRootCache: spaceRootCache, userMapper: um, @@ -417,7 +417,7 @@ func (lu *Lookup) CopyMetadataWithSourceLock(ctx context.Context, src, target me switch { case lockedSource == nil: return errors.New("no lock provided") - case lockedSource.File.Name() != lu.MetadataBackend().LockfilePath(src): + case lockedSource.Name() != lu.MetadataBackend().LockfilePath(src): return errors.New("lockpath does not match filepath") } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/tree/assimilation.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/tree/assimilation.go index 0a9971a134..5292775359 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/tree/assimilation.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/tree/assimilation.go @@ -333,8 +333,7 @@ func (t *Tree) HandleFileDelete(path string, sendSSE bool) error { return err } t.PublishEvent(events.ItemTrashed{ - Owner: parentNode.Owner(), - Executant: parentNode.Owner(), + Owner: parentNode.Owner(), Ref: &provider.Reference{ ResourceId: &provider.ResourceId{ StorageId: t.options.MountID, @@ -538,10 +537,39 @@ func (t *Tree) assimilate(item scanItem) error { t.log.Error().Err(err).Str("spaceID", spaceID).Str("id", id).Str("path", item.Path).Msg("could not cache id") } - _, _, err := t.updateFile(item.Path, id, spaceID, fi) + fi, attrs, err := t.updateFile(item.Path, id, spaceID, fi) if err != nil { return err } + + if !fi.IsDir() { + ref := &provider.Reference{ + ResourceId: &provider.ResourceId{ + StorageId: t.options.MountID, + SpaceId: spaceID, + OpaqueId: id, + }, + } + parentResourceID := &provider.ResourceId{ + StorageId: t.options.MountID, + SpaceId: ref.ResourceId.SpaceId, + OpaqueId: string(attrs[prefixes.ParentidAttr]), + } + if fi.Size() == 0 { + t.PublishEvent(events.FileTouched{ + Ref: ref, + ParentID: parentResourceID, + Timestamp: utils.TSNow(), + }) + } else { + t.PublishEvent(events.UploadReady{ + FileRef: ref, + ParentID: parentResourceID, + Timestamp: utils.TSNow(), + IsVersion: true, + }) + } + } } } else { t.log.Debug().Str("path", item.Path).Msg("new item detected") @@ -583,7 +611,6 @@ func (t *Tree) assimilate(item scanItem) error { OpaqueId: string(attrs[prefixes.ParentidAttr]), } } - ref := &provider.Reference{ ResourceId: &provider.ResourceId{ StorageId: t.options.MountID, @@ -609,6 +636,7 @@ func (t *Tree) assimilate(item scanItem) error { FileRef: ref, ParentID: parentId, Timestamp: utils.TSNow(), + IsVersion: false, }) } } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs/grants.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs/grants.go index 834ce25d5d..a51b24c4f5 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs/grants.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs/grants.go @@ -104,7 +104,7 @@ func (fs *Decomposedfs) AddGrant(ctx context.Context, ref *provider.Reference, g // When the owner is empty but grants are set then we do want to check the grants. // However, if we are trying to edit an existing grant we do not have to check for permission if the user owns the grant // TODO: find a better to check this - if !(len(grants) == 0 && (owner == nil || owner.OpaqueId == "" || (owner.OpaqueId == grantNode.SpaceID && owner.Type == 8))) { + if len(grants) != 0 || (owner != nil && owner.OpaqueId != "" && (owner.OpaqueId != grantNode.SpaceID || owner.Type != 8)) { rp, err := fs.p.AssemblePermissions(ctx, grantNode) switch { case err != nil: @@ -232,13 +232,13 @@ func (fs *Decomposedfs) RemoveGrant(ctx context.Context, ref *provider.Reference // FIXME we should invalidate the by-type index, but that requires reference counting } else { // invalidate space grant - switch { - case g.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_USER: + switch g.Grantee.Type { + case provider.GranteeType_GRANTEE_TYPE_USER: // remove from user index if err := fs.userSpaceIndex.Remove(g.Grantee.GetUserId().GetOpaqueId(), grantNode.SpaceID); err != nil { return err } - case g.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_GROUP: + case provider.GranteeType_GRANTEE_TYPE_GROUP: // remove from group index if err := fs.groupSpaceIndex.Remove(g.Grantee.GetGroupId().GetOpaqueId(), grantNode.SpaceID); err != nil { return err diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs/lookup/lookup.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs/lookup/lookup.go index bf7b73700f..3ecf9df72d 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs/lookup/lookup.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs/lookup/lookup.go @@ -279,6 +279,7 @@ func (lu *Lookup) LockfilePaths(n *node.Node) []string { } // VersionPath returns the internal path for a version of a node +// // Deprecated: use InternalPath instead func (lu *Lookup) VersionPath(spaceID, nodeID, version string) string { return lu.InternalPath(spaceID, nodeID) + node.RevisionIDDelimiter + version @@ -337,7 +338,7 @@ func (lu *Lookup) CopyMetadataWithSourceLock(ctx context.Context, sourceNode, ta switch { case lockedSource == nil: return errors.New("no lock provided") - case lockedSource.File.Name() != lu.MetadataBackend().LockfilePath(sourceNode): + case lockedSource.Name() != lu.MetadataBackend().LockfilePath(sourceNode): return errors.New("lockpath does not match filepath") } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs/spaces.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs/spaces.go index 9ecf6f4a3a..0942cc3ee2 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs/spaces.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs/spaces.go @@ -852,10 +852,10 @@ func (fs *Decomposedfs) updateIndexes(ctx context.Context, grantee *provider.Gra } // create space grant index - switch { - case grantee.Type == provider.GranteeType_GRANTEE_TYPE_USER: + switch grantee.Type { + case provider.GranteeType_GRANTEE_TYPE_USER: return fs.linkSpaceByUser(ctx, grantee.GetUserId().GetOpaqueId(), spaceID, target) - case grantee.Type == provider.GranteeType_GRANTEE_TYPE_GROUP: + case provider.GranteeType_GRANTEE_TYPE_GROUP: return fs.linkSpaceByGroup(ctx, grantee.GetGroupId().GetOpaqueId(), spaceID, target) default: return errtypes.BadRequest("invalid grantee type: " + grantee.GetType().String()) @@ -941,14 +941,14 @@ func (fs *Decomposedfs) StorageSpaceFromNode(ctx context.Context, n *node.Node, } if n.IsSpaceRoot(ctx) { // invalidate space grant - switch { - case g.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_USER: + switch g.Grantee.Type { + case provider.GranteeType_GRANTEE_TYPE_USER: // remove from user index if err := fs.userSpaceIndex.Remove(g.Grantee.GetUserId().GetOpaqueId(), n.GetSpaceID()); err != nil { sublog.Error().Err(err).Str("grantee", id). Msg("failed to delete expired user space index") } - case g.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_GROUP: + case provider.GranteeType_GRANTEE_TYPE_GROUP: // remove from group index if err := fs.groupSpaceIndex.Remove(g.Grantee.GetGroupId().GetOpaqueId(), n.GetSpaceID()); err != nil { sublog.Error().Err(err).Str("grantee", id). diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/storage.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/storage.go index e89c804b28..4fbc399755 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/storage.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/storage.go @@ -137,9 +137,11 @@ type FS interface { DeleteStorageSpace(ctx context.Context, req *provider.DeleteStorageSpaceRequest) error // CreateHome creates a users home + // // Deprecated: use CreateStorageSpace with type personal CreateHome(ctx context.Context) error // GetHome returns the path to the users home + // // Deprecated: use ListStorageSpaces with type personal GetHome(ctx context.Context) (string, error) } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/uploads.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/uploads.go index d928f3d694..1a1c057e3f 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/uploads.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/uploads.go @@ -39,6 +39,7 @@ type UploadRequest struct { } // UploadsManager defines the interface for storage drivers that allow for managing uploads +// // Deprecated: No longer used. Storage drivers should implement the UploadSessionLister. type UploadsManager interface { ListUploads() ([]tusd.FileInfo, error) diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/acl/acl.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/acl/acl.go index e678aeb8de..c977c896ea 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/acl/acl.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/acl/acl.go @@ -79,7 +79,7 @@ func isComment(line string) bool { // Serialize always serializes to short text form func (m *ACLs) Serialize() string { - sysACL := []string{} + sysACL := make([]string, 0, len(m.Entries)) for _, e := range m.Entries { sysACL = append(sysACL, e.CitrineSerialize()) } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/grants.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/grants.go index 0a5124b85c..b151d527f1 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/grants.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/grants.go @@ -104,7 +104,7 @@ func (fs *Decomposedfs) AddGrant(ctx context.Context, ref *provider.Reference, g // When the owner is empty but grants are set then we do want to check the grants. // However, if we are trying to edit an existing grant we do not have to check for permission if the user owns the grant // TODO: find a better to check this - if !(len(grants) == 0 && (owner == nil || owner.OpaqueId == "" || (owner.OpaqueId == grantNode.SpaceID && owner.Type == 8))) { + if len(grants) != 0 || (owner != nil && owner.OpaqueId != "" && (owner.OpaqueId != grantNode.SpaceID || owner.Type != 8)) { rp, err := fs.p.AssemblePermissions(ctx, grantNode) switch { case err != nil: @@ -218,13 +218,13 @@ func (fs *Decomposedfs) RemoveGrant(ctx context.Context, ref *provider.Reference // FIXME we should invalidate the by-type index, but that requires reference counting } else { // invalidate space grant - switch { - case g.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_USER: + switch g.Grantee.Type { + case provider.GranteeType_GRANTEE_TYPE_USER: // remove from user index if err := fs.userSpaceIndex.Remove(g.Grantee.GetUserId().GetOpaqueId(), grantNode.SpaceID); err != nil { return err } - case g.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_GROUP: + case provider.GranteeType_GRANTEE_TYPE_GROUP: // remove from group index if err := fs.groupSpaceIndex.Remove(g.Grantee.GetGroupId().GetOpaqueId(), grantNode.SpaceID); err != nil { return err diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/lookup/lookup.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/lookup/lookup.go index 5c8ac9296a..70d11d4848 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/lookup/lookup.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/lookup/lookup.go @@ -362,7 +362,7 @@ func (lu *Lookup) CopyMetadataWithSourceLock(ctx context.Context, sourcePath, ta switch { case lockedSource == nil: return errors.New("no lock provided") - case lockedSource.File.Name() != lu.MetadataBackend().LockfilePath(sourcePath): + case lockedSource.Name() != lu.MetadataBackend().LockfilePath(sourcePath): return errors.New("lockpath does not match filepath") } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/migrator/migrator.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/migrator/migrator.go index 0dfa1d032f..482fcd084c 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/migrator/migrator.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/migrator/migrator.go @@ -52,7 +52,7 @@ func registerMigration(name string, migration migration) { } func allMigrations() []string { - ms := []string{} + ms := make([]string, 0, len(migrations)) for k := range migrations { ms = append(ms, k) diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/spaces.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/spaces.go index 2d0619616e..ad40ab37af 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/spaces.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/decomposedfs/spaces.go @@ -823,10 +823,10 @@ func (fs *Decomposedfs) updateIndexes(ctx context.Context, grantee *provider.Gra } // create space grant index - switch { - case grantee.Type == provider.GranteeType_GRANTEE_TYPE_USER: + switch grantee.Type { + case provider.GranteeType_GRANTEE_TYPE_USER: return fs.linkSpaceByUser(ctx, grantee.GetUserId().GetOpaqueId(), spaceID, target) - case grantee.Type == provider.GranteeType_GRANTEE_TYPE_GROUP: + case provider.GranteeType_GRANTEE_TYPE_GROUP: return fs.linkSpaceByGroup(ctx, grantee.GetGroupId().GetOpaqueId(), spaceID, target) default: return errtypes.BadRequest("invalid grantee type: " + grantee.GetType().String()) @@ -912,14 +912,14 @@ func (fs *Decomposedfs) StorageSpaceFromNode(ctx context.Context, n *node.Node, } if n.IsSpaceRoot(ctx) { // invalidate space grant - switch { - case g.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_USER: + switch g.Grantee.Type { + case provider.GranteeType_GRANTEE_TYPE_USER: // remove from user index if err := fs.userSpaceIndex.Remove(g.Grantee.GetUserId().GetOpaqueId(), n.SpaceID); err != nil { sublog.Error().Err(err).Str("grantee", id). Msg("failed to delete expired user space index") } - case g.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_GROUP: + case provider.GranteeType_GRANTEE_TYPE_GROUP: // remove from group index if err := fs.groupSpaceIndex.Remove(g.Grantee.GetGroupId().GetOpaqueId(), n.SpaceID); err != nil { sublog.Error().Err(err).Str("grantee", id). diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/eosfs/eosfs.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/eosfs/eosfs.go index bf84ffa143..db528e058d 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/eosfs/eosfs.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/eosfs/eosfs.go @@ -1166,8 +1166,8 @@ func (fs *eosfs) ListGrants(ctx context.Context, ref *provider.Reference) ([]*pr grantList := []*provider.Grant{} for _, a := range acls { var grantee *provider.Grantee - switch { - case a.Type == acl.TypeUser: + switch a.Type { + case acl.TypeUser: // EOS Citrine ACLs are stored with uid for users. // This needs to be resolved to the user opaque ID. qualifier, err := fs.getUserIDGateway(ctx, a.Qualifier) @@ -1178,7 +1178,7 @@ func (fs *eosfs) ListGrants(ctx context.Context, ref *provider.Reference) ([]*pr Id: &provider.Grantee_UserId{UserId: qualifier}, Type: grants.GetGranteeType(a.Type), } - case a.Type == acl.TypeLightweight: + case acl.TypeLightweight: a.Type = acl.TypeUser grantee = &provider.Grantee{ Id: &provider.Grantee_UserId{UserId: &userpb.UserId{OpaqueId: a.Qualifier}}, diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/localfs/localfs.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/localfs/localfs.go index b8cade07a9..30bd8d1bae 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/localfs/localfs.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/localfs/localfs.go @@ -459,9 +459,10 @@ func (fs *localfs) AddGrant(ctx context.Context, ref *provider.Reference, g *pro return errors.Wrap(err, "localfs: error getting grantee type") } var grantee string - if granteeType == acl.TypeUser { + switch granteeType { + case acl.TypeUser: grantee = fmt.Sprintf("%s:%s:%s@%s", granteeType, g.Grantee.GetUserId().OpaqueId, utils.UserTypeToString(g.Grantee.GetUserId().Type), g.Grantee.GetUserId().Idp) - } else if granteeType == acl.TypeGroup { + case acl.TypeGroup: grantee = fmt.Sprintf("%s::%s@%s", granteeType, g.Grantee.GetGroupId().OpaqueId, g.Grantee.GetGroupId().Idp) } @@ -495,9 +496,10 @@ func (fs *localfs) ListGrants(ctx context.Context, ref *provider.Reference) ([]* grantSplit := strings.Split(granteeID, ":") grantee := &provider.Grantee{Type: grants.GetGranteeType(grantSplit[0])} parts := strings.Split(grantSplit[2], "@") - if grantSplit[0] == acl.TypeUser { + switch grantSplit[0] { + case acl.TypeUser: grantee.Id = &provider.Grantee_UserId{UserId: &userpb.UserId{OpaqueId: parts[0], Idp: parts[1], Type: utils.UserTypeMap(grantSplit[1])}} - } else if grantSplit[0] == acl.TypeGroup { + case acl.TypeGroup: grantee.Id = &provider.Grantee_GroupId{GroupId: &grouppb.GroupId{OpaqueId: parts[0], Idp: parts[1]}} } permissions := grants.GetGrantPermissionSet(role) @@ -523,9 +525,10 @@ func (fs *localfs) RemoveGrant(ctx context.Context, ref *provider.Reference, g * return errors.Wrap(err, "localfs: error getting grantee type") } var grantee string - if granteeType == acl.TypeUser { + switch granteeType { + case acl.TypeUser: grantee = fmt.Sprintf("%s:%s@%s", granteeType, g.Grantee.GetUserId().OpaqueId, g.Grantee.GetUserId().Idp) - } else if granteeType == acl.TypeGroup { + case acl.TypeGroup: grantee = fmt.Sprintf("%s:%s@%s", granteeType, g.Grantee.GetGroupId().OpaqueId, g.Grantee.GetGroupId().Idp) } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/metadata/cs3.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/metadata/cs3.go index 85ae238d52..20d678a4b5 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/metadata/cs3.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/metadata/cs3.go @@ -39,6 +39,7 @@ import ( "google.golang.org/grpc/metadata" "github.com/opencloud-eu/reva/v2/internal/http/services/owncloud/ocdav/net" + "github.com/opencloud-eu/reva/v2/pkg/appctx" ctxpkg "github.com/opencloud-eu/reva/v2/pkg/ctx" "github.com/opencloud-eu/reva/v2/pkg/errtypes" "github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool" @@ -97,16 +98,19 @@ func (cs3 *CS3) Backend() string { // Init creates the metadata space func (cs3 *CS3) Init(ctx context.Context, spaceid string) (err error) { + logger := appctx.GetLogger(ctx) ctx, span := tracer.Start(ctx, "Init") defer span.End() client, err := cs3.spacesClient() if err != nil { + logger.Err(err).Msg("error getting spaces client") return err } ctx, err = cs3.getAuthContext(ctx) if err != nil { + logger.Err(err).Msg("error getting auth context") return err } @@ -146,12 +150,14 @@ func (cs3 *CS3) Init(ctx context.Context, spaceid string) (err error) { }) switch { case err != nil: + logger.Err(err).Msg("error creating storage space") return err case cssr.Status.Code == rpc.Code_CODE_OK: cs3.SpaceRoot = cssr.StorageSpace.Root case cssr.Status.Code == rpc.Code_CODE_ALREADY_EXISTS: return errtypes.AlreadyExists(fmt.Sprintf("user %s does not have access to metadata space %s, but it exists", cs3.serviceUser.Id.OpaqueId, spaceid)) default: + logger.Debug().Str("Status", cssr.Status.Message).Msg("error creating storage space") return errtypes.NewErrtypeFromStatus(cssr.Status) } return nil diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/middleware/middleware.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/middleware/middleware.go index 2cb90ceb66..420dbba76e 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/middleware/middleware.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/utils/middleware/middleware.go @@ -107,7 +107,7 @@ func (f *FS) GetHome(ctx context.Context) (string, error) { } } - res0, res1 := f.next.GetHome(ctx) + res0, res1 := f.next.GetHome(ctx) //nolint:staticcheck // we're just exposing the deprecated method here for _, unhook := range unhooks { if err := unhook(); err != nil { @@ -134,7 +134,7 @@ func (f *FS) CreateHome(ctx context.Context) error { } } - res0 := f.next.CreateHome(ctx) + res0 := f.next.CreateHome(ctx) //nolint:staticcheck // we're just exposing the deprecated method here for _, unhook := range unhooks { if err := unhook(); err != nil { diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/store/store.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/store/store.go index a2e7e41239..d8c278dd59 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/store/store.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/store/store.go @@ -33,7 +33,6 @@ import ( "github.com/opencloud-eu/reva/v2/pkg/store/etcd" "github.com/opencloud-eu/reva/v2/pkg/store/memory" "go-micro.dev/v4/logger" - "go-micro.dev/v4/store" microstore "go-micro.dev/v4/store" ) @@ -162,8 +161,8 @@ func Create(opts ...microstore.Option) microstore.Store { } } -func updateNatsStore(opts []store.Option, ttl time.Duration, natsOptions nats.Options) error { - options := store.Options{} +func updateNatsStore(opts []microstore.Option, ttl time.Duration, natsOptions nats.Options) error { + options := microstore.Options{} for _, o := range opts { o(&options) } diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/utils/grpc.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/utils/grpc.go index cc90801600..14e59c7d86 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/utils/grpc.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/utils/grpc.go @@ -37,6 +37,7 @@ var ( ) // GetServiceUserContext returns an authenticated context of the given service user +// // Deprecated: Use GetServiceUserContextWithContext() func GetServiceUserContext(serviceUserID string, gwc gateway.GatewayAPIClient, serviceUserSecret string) (context.Context, error) { return GetServiceUserContextWithContext(context.Background(), gwc, serviceUserID, serviceUserSecret) diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/utils/ldap/identity.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/utils/ldap/identity.go index efdc4a20c0..5031f04079 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/utils/ldap/identity.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/utils/ldap/identity.go @@ -183,11 +183,11 @@ func (i *Identity) Setup() error { if sharedconf.MultiTenantEnabled() { if i.User.Schema.TenantID == "" { - return fmt.Errorf("Invalid configuration: a 'tenantId' user schema attribute must be defined for multi-tenant setups") + return fmt.Errorf("invalid configuration: a 'tenantId' user schema attribute must be defined for multi-tenant setups") } } else { if i.User.Schema.TenantID != "" { - return fmt.Errorf("Invalid configuration: Superfluous 'tenantId' user schema attribute defined for single-tenant setups") + return fmt.Errorf("invalid configuration: superfluous 'tenantId' user schema attribute defined for single-tenant setups") } } diff --git a/vendor/github.com/opencloud-eu/reva/v2/tests/cs3mocks/mocks/GatewayAPIClient.go b/vendor/github.com/opencloud-eu/reva/v2/tests/cs3mocks/mocks/GatewayAPIClient.go index b3a3356934..f8d9e4ebbf 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/tests/cs3mocks/mocks/GatewayAPIClient.go +++ b/vendor/github.com/opencloud-eu/reva/v2/tests/cs3mocks/mocks/GatewayAPIClient.go @@ -38,6 +38,8 @@ import ( grpc "google.golang.org/grpc" + incomingv1beta1 "github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1" + invitev1beta1 "github.com/cs3org/go-cs3apis/cs3/ocm/invite/v1beta1" linkv1beta1 "github.com/cs3org/go-cs3apis/cs3/sharing/link/v1beta1" @@ -658,6 +660,79 @@ func (_c *GatewayAPIClient_CreateOCMCoreShare_Call) RunAndReturn(run func(contex return _c } +// CreateOCMIncomingShare provides a mock function with given fields: ctx, in, opts +func (_m *GatewayAPIClient) CreateOCMIncomingShare(ctx context.Context, in *incomingv1beta1.CreateOCMIncomingShareRequest, opts ...grpc.CallOption) (*incomingv1beta1.CreateOCMIncomingShareResponse, error) { + var tmpRet mock.Arguments + if len(opts) > 0 { + tmpRet = _m.Called(ctx, in, opts) + } else { + tmpRet = _m.Called(ctx, in) + } + ret := tmpRet + + if len(ret) == 0 { + panic("no return value specified for CreateOCMIncomingShare") + } + + var r0 *incomingv1beta1.CreateOCMIncomingShareResponse + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, *incomingv1beta1.CreateOCMIncomingShareRequest, ...grpc.CallOption) (*incomingv1beta1.CreateOCMIncomingShareResponse, error)); ok { + return rf(ctx, in, opts...) + } + if rf, ok := ret.Get(0).(func(context.Context, *incomingv1beta1.CreateOCMIncomingShareRequest, ...grpc.CallOption) *incomingv1beta1.CreateOCMIncomingShareResponse); ok { + r0 = rf(ctx, in, opts...) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*incomingv1beta1.CreateOCMIncomingShareResponse) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, *incomingv1beta1.CreateOCMIncomingShareRequest, ...grpc.CallOption) error); ok { + r1 = rf(ctx, in, opts...) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// GatewayAPIClient_CreateOCMIncomingShare_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CreateOCMIncomingShare' +type GatewayAPIClient_CreateOCMIncomingShare_Call struct { + *mock.Call +} + +// CreateOCMIncomingShare is a helper method to define mock.On call +// - ctx context.Context +// - in *incomingv1beta1.CreateOCMIncomingShareRequest +// - opts ...grpc.CallOption +func (_e *GatewayAPIClient_Expecter) CreateOCMIncomingShare(ctx interface{}, in interface{}, opts ...interface{}) *GatewayAPIClient_CreateOCMIncomingShare_Call { + return &GatewayAPIClient_CreateOCMIncomingShare_Call{Call: _e.mock.On("CreateOCMIncomingShare", + append([]interface{}{ctx, in}, opts...)...)} +} + +func (_c *GatewayAPIClient_CreateOCMIncomingShare_Call) Run(run func(ctx context.Context, in *incomingv1beta1.CreateOCMIncomingShareRequest, opts ...grpc.CallOption)) *GatewayAPIClient_CreateOCMIncomingShare_Call { + _c.Call.Run(func(args mock.Arguments) { + variadicArgs := make([]grpc.CallOption, len(args)-2) + for i, a := range args[2:] { + if a != nil { + variadicArgs[i] = a.(grpc.CallOption) + } + } + run(args[0].(context.Context), args[1].(*incomingv1beta1.CreateOCMIncomingShareRequest), variadicArgs...) + }) + return _c +} + +func (_c *GatewayAPIClient_CreateOCMIncomingShare_Call) Return(_a0 *incomingv1beta1.CreateOCMIncomingShareResponse, _a1 error) *GatewayAPIClient_CreateOCMIncomingShare_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *GatewayAPIClient_CreateOCMIncomingShare_Call) RunAndReturn(run func(context.Context, *incomingv1beta1.CreateOCMIncomingShareRequest, ...grpc.CallOption) (*incomingv1beta1.CreateOCMIncomingShareResponse, error)) *GatewayAPIClient_CreateOCMIncomingShare_Call { + _c.Call.Return(run) + return _c +} + // CreateOCMShare provides a mock function with given fields: ctx, in, opts func (_m *GatewayAPIClient) CreateOCMShare(ctx context.Context, in *ocmv1beta1.CreateOCMShareRequest, opts ...grpc.CallOption) (*ocmv1beta1.CreateOCMShareResponse, error) { var tmpRet mock.Arguments @@ -1315,6 +1390,79 @@ func (_c *GatewayAPIClient_DeleteOCMCoreShare_Call) RunAndReturn(run func(contex return _c } +// DeleteOCMIncomingShare provides a mock function with given fields: ctx, in, opts +func (_m *GatewayAPIClient) DeleteOCMIncomingShare(ctx context.Context, in *incomingv1beta1.DeleteOCMIncomingShareRequest, opts ...grpc.CallOption) (*incomingv1beta1.DeleteOCMIncomingShareResponse, error) { + var tmpRet mock.Arguments + if len(opts) > 0 { + tmpRet = _m.Called(ctx, in, opts) + } else { + tmpRet = _m.Called(ctx, in) + } + ret := tmpRet + + if len(ret) == 0 { + panic("no return value specified for DeleteOCMIncomingShare") + } + + var r0 *incomingv1beta1.DeleteOCMIncomingShareResponse + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, *incomingv1beta1.DeleteOCMIncomingShareRequest, ...grpc.CallOption) (*incomingv1beta1.DeleteOCMIncomingShareResponse, error)); ok { + return rf(ctx, in, opts...) + } + if rf, ok := ret.Get(0).(func(context.Context, *incomingv1beta1.DeleteOCMIncomingShareRequest, ...grpc.CallOption) *incomingv1beta1.DeleteOCMIncomingShareResponse); ok { + r0 = rf(ctx, in, opts...) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*incomingv1beta1.DeleteOCMIncomingShareResponse) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, *incomingv1beta1.DeleteOCMIncomingShareRequest, ...grpc.CallOption) error); ok { + r1 = rf(ctx, in, opts...) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// GatewayAPIClient_DeleteOCMIncomingShare_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'DeleteOCMIncomingShare' +type GatewayAPIClient_DeleteOCMIncomingShare_Call struct { + *mock.Call +} + +// DeleteOCMIncomingShare is a helper method to define mock.On call +// - ctx context.Context +// - in *incomingv1beta1.DeleteOCMIncomingShareRequest +// - opts ...grpc.CallOption +func (_e *GatewayAPIClient_Expecter) DeleteOCMIncomingShare(ctx interface{}, in interface{}, opts ...interface{}) *GatewayAPIClient_DeleteOCMIncomingShare_Call { + return &GatewayAPIClient_DeleteOCMIncomingShare_Call{Call: _e.mock.On("DeleteOCMIncomingShare", + append([]interface{}{ctx, in}, opts...)...)} +} + +func (_c *GatewayAPIClient_DeleteOCMIncomingShare_Call) Run(run func(ctx context.Context, in *incomingv1beta1.DeleteOCMIncomingShareRequest, opts ...grpc.CallOption)) *GatewayAPIClient_DeleteOCMIncomingShare_Call { + _c.Call.Run(func(args mock.Arguments) { + variadicArgs := make([]grpc.CallOption, len(args)-2) + for i, a := range args[2:] { + if a != nil { + variadicArgs[i] = a.(grpc.CallOption) + } + } + run(args[0].(context.Context), args[1].(*incomingv1beta1.DeleteOCMIncomingShareRequest), variadicArgs...) + }) + return _c +} + +func (_c *GatewayAPIClient_DeleteOCMIncomingShare_Call) Return(_a0 *incomingv1beta1.DeleteOCMIncomingShareResponse, _a1 error) *GatewayAPIClient_DeleteOCMIncomingShare_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *GatewayAPIClient_DeleteOCMIncomingShare_Call) RunAndReturn(run func(context.Context, *incomingv1beta1.DeleteOCMIncomingShareRequest, ...grpc.CallOption) (*incomingv1beta1.DeleteOCMIncomingShareResponse, error)) *GatewayAPIClient_DeleteOCMIncomingShare_Call { + _c.Call.Return(run) + return _c +} + // DeleteStorageSpace provides a mock function with given fields: ctx, in, opts func (_m *GatewayAPIClient) DeleteStorageSpace(ctx context.Context, in *providerv1beta1.DeleteStorageSpaceRequest, opts ...grpc.CallOption) (*providerv1beta1.DeleteStorageSpaceResponse, error) { var tmpRet mock.Arguments @@ -4381,6 +4529,79 @@ func (_c *GatewayAPIClient_ListContainerStream_Call) RunAndReturn(run func(conte return _c } +// ListExistingOCMShares provides a mock function with given fields: ctx, in, opts +func (_m *GatewayAPIClient) ListExistingOCMShares(ctx context.Context, in *ocmv1beta1.ListOCMSharesRequest, opts ...grpc.CallOption) (*gatewayv1beta1.ListExistingOCMSharesResponse, error) { + var tmpRet mock.Arguments + if len(opts) > 0 { + tmpRet = _m.Called(ctx, in, opts) + } else { + tmpRet = _m.Called(ctx, in) + } + ret := tmpRet + + if len(ret) == 0 { + panic("no return value specified for ListExistingOCMShares") + } + + var r0 *gatewayv1beta1.ListExistingOCMSharesResponse + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, *ocmv1beta1.ListOCMSharesRequest, ...grpc.CallOption) (*gatewayv1beta1.ListExistingOCMSharesResponse, error)); ok { + return rf(ctx, in, opts...) + } + if rf, ok := ret.Get(0).(func(context.Context, *ocmv1beta1.ListOCMSharesRequest, ...grpc.CallOption) *gatewayv1beta1.ListExistingOCMSharesResponse); ok { + r0 = rf(ctx, in, opts...) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*gatewayv1beta1.ListExistingOCMSharesResponse) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, *ocmv1beta1.ListOCMSharesRequest, ...grpc.CallOption) error); ok { + r1 = rf(ctx, in, opts...) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// GatewayAPIClient_ListExistingOCMShares_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ListExistingOCMShares' +type GatewayAPIClient_ListExistingOCMShares_Call struct { + *mock.Call +} + +// ListExistingOCMShares is a helper method to define mock.On call +// - ctx context.Context +// - in *ocmv1beta1.ListOCMSharesRequest +// - opts ...grpc.CallOption +func (_e *GatewayAPIClient_Expecter) ListExistingOCMShares(ctx interface{}, in interface{}, opts ...interface{}) *GatewayAPIClient_ListExistingOCMShares_Call { + return &GatewayAPIClient_ListExistingOCMShares_Call{Call: _e.mock.On("ListExistingOCMShares", + append([]interface{}{ctx, in}, opts...)...)} +} + +func (_c *GatewayAPIClient_ListExistingOCMShares_Call) Run(run func(ctx context.Context, in *ocmv1beta1.ListOCMSharesRequest, opts ...grpc.CallOption)) *GatewayAPIClient_ListExistingOCMShares_Call { + _c.Call.Run(func(args mock.Arguments) { + variadicArgs := make([]grpc.CallOption, len(args)-2) + for i, a := range args[2:] { + if a != nil { + variadicArgs[i] = a.(grpc.CallOption) + } + } + run(args[0].(context.Context), args[1].(*ocmv1beta1.ListOCMSharesRequest), variadicArgs...) + }) + return _c +} + +func (_c *GatewayAPIClient_ListExistingOCMShares_Call) Return(_a0 *gatewayv1beta1.ListExistingOCMSharesResponse, _a1 error) *GatewayAPIClient_ListExistingOCMShares_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *GatewayAPIClient_ListExistingOCMShares_Call) RunAndReturn(run func(context.Context, *ocmv1beta1.ListOCMSharesRequest, ...grpc.CallOption) (*gatewayv1beta1.ListExistingOCMSharesResponse, error)) *GatewayAPIClient_ListExistingOCMShares_Call { + _c.Call.Return(run) + return _c +} + // ListExistingPublicShares provides a mock function with given fields: ctx, in, opts func (_m *GatewayAPIClient) ListExistingPublicShares(ctx context.Context, in *linkv1beta1.ListPublicSharesRequest, opts ...grpc.CallOption) (*gatewayv1beta1.ListExistingPublicSharesResponse, error) { var tmpRet mock.Arguments @@ -6863,6 +7084,79 @@ func (_c *GatewayAPIClient_UpdateOCMCoreShare_Call) RunAndReturn(run func(contex return _c } +// UpdateOCMIncomingShare provides a mock function with given fields: ctx, in, opts +func (_m *GatewayAPIClient) UpdateOCMIncomingShare(ctx context.Context, in *incomingv1beta1.UpdateOCMIncomingShareRequest, opts ...grpc.CallOption) (*incomingv1beta1.UpdateOCMIncomingShareResponse, error) { + var tmpRet mock.Arguments + if len(opts) > 0 { + tmpRet = _m.Called(ctx, in, opts) + } else { + tmpRet = _m.Called(ctx, in) + } + ret := tmpRet + + if len(ret) == 0 { + panic("no return value specified for UpdateOCMIncomingShare") + } + + var r0 *incomingv1beta1.UpdateOCMIncomingShareResponse + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, *incomingv1beta1.UpdateOCMIncomingShareRequest, ...grpc.CallOption) (*incomingv1beta1.UpdateOCMIncomingShareResponse, error)); ok { + return rf(ctx, in, opts...) + } + if rf, ok := ret.Get(0).(func(context.Context, *incomingv1beta1.UpdateOCMIncomingShareRequest, ...grpc.CallOption) *incomingv1beta1.UpdateOCMIncomingShareResponse); ok { + r0 = rf(ctx, in, opts...) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*incomingv1beta1.UpdateOCMIncomingShareResponse) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, *incomingv1beta1.UpdateOCMIncomingShareRequest, ...grpc.CallOption) error); ok { + r1 = rf(ctx, in, opts...) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// GatewayAPIClient_UpdateOCMIncomingShare_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'UpdateOCMIncomingShare' +type GatewayAPIClient_UpdateOCMIncomingShare_Call struct { + *mock.Call +} + +// UpdateOCMIncomingShare is a helper method to define mock.On call +// - ctx context.Context +// - in *incomingv1beta1.UpdateOCMIncomingShareRequest +// - opts ...grpc.CallOption +func (_e *GatewayAPIClient_Expecter) UpdateOCMIncomingShare(ctx interface{}, in interface{}, opts ...interface{}) *GatewayAPIClient_UpdateOCMIncomingShare_Call { + return &GatewayAPIClient_UpdateOCMIncomingShare_Call{Call: _e.mock.On("UpdateOCMIncomingShare", + append([]interface{}{ctx, in}, opts...)...)} +} + +func (_c *GatewayAPIClient_UpdateOCMIncomingShare_Call) Run(run func(ctx context.Context, in *incomingv1beta1.UpdateOCMIncomingShareRequest, opts ...grpc.CallOption)) *GatewayAPIClient_UpdateOCMIncomingShare_Call { + _c.Call.Run(func(args mock.Arguments) { + variadicArgs := make([]grpc.CallOption, len(args)-2) + for i, a := range args[2:] { + if a != nil { + variadicArgs[i] = a.(grpc.CallOption) + } + } + run(args[0].(context.Context), args[1].(*incomingv1beta1.UpdateOCMIncomingShareRequest), variadicArgs...) + }) + return _c +} + +func (_c *GatewayAPIClient_UpdateOCMIncomingShare_Call) Return(_a0 *incomingv1beta1.UpdateOCMIncomingShareResponse, _a1 error) *GatewayAPIClient_UpdateOCMIncomingShare_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *GatewayAPIClient_UpdateOCMIncomingShare_Call) RunAndReturn(run func(context.Context, *incomingv1beta1.UpdateOCMIncomingShareRequest, ...grpc.CallOption) (*incomingv1beta1.UpdateOCMIncomingShareResponse, error)) *GatewayAPIClient_UpdateOCMIncomingShare_Call { + _c.Call.Return(run) + return _c +} + // UpdateOCMShare provides a mock function with given fields: ctx, in, opts func (_m *GatewayAPIClient) UpdateOCMShare(ctx context.Context, in *ocmv1beta1.UpdateOCMShareRequest, opts ...grpc.CallOption) (*ocmv1beta1.UpdateOCMShareResponse, error) { var tmpRet mock.Arguments diff --git a/vendor/go.etcd.io/etcd/api/v3/version/version.go b/vendor/go.etcd.io/etcd/api/v3/version/version.go index c0798b6854..cd0b63ea67 100644 --- a/vendor/go.etcd.io/etcd/api/v3/version/version.go +++ b/vendor/go.etcd.io/etcd/api/v3/version/version.go @@ -26,7 +26,7 @@ import ( var ( // MinClusterVersion is the min cluster version this etcd binary is compatible with. MinClusterVersion = "3.0.0" - Version = "3.6.7" + Version = "3.6.8" APIVersion = "unknown" // Git SHA Value will be set during build diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.go index d4a69f4d7c..83ff1429e5 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.go @@ -208,10 +208,12 @@ func BaseAttrs(id int64, target string) []attribute.KeyValue { func (i *Instrumentation) ExportSpans(ctx context.Context, nSpans int) ExportOp { start := time.Now() - addOpt := get[metric.AddOption](addOptPool) - defer put(addOptPool, addOpt) - *addOpt = append(*addOpt, i.addOpt) - i.inflightSpans.Add(ctx, int64(nSpans), *addOpt...) + if i.inflightSpans.Enabled(ctx) { + addOpt := get[metric.AddOption](addOptPool) + defer put(addOptPool, addOpt) + *addOpt = append(*addOpt, i.addOpt) + i.inflightSpans.Add(ctx, int64(nSpans), *addOpt...) + } return ExportOp{ ctx: ctx, @@ -244,14 +246,18 @@ func (e ExportOp) End(err error, code codes.Code) { defer put(addOptPool, addOpt) *addOpt = append(*addOpt, e.inst.addOpt) - e.inst.inflightSpans.Add(e.ctx, -e.nSpans, *addOpt...) + if e.inst.inflightSpans.Enabled(e.ctx) { + e.inst.inflightSpans.Add(e.ctx, -e.nSpans, *addOpt...) + } success := successful(e.nSpans, err) // Record successfully exported spans, even if the value is 0 which are // meaningful to distribution aggregations. - e.inst.exportedSpans.Add(e.ctx, success, *addOpt...) + if e.inst.exportedSpans.Enabled(e.ctx) { + e.inst.exportedSpans.Add(e.ctx, success, *addOpt...) + } - if err != nil { + if err != nil && e.inst.exportedSpans.Enabled(e.ctx) { attrs := get[attribute.KeyValue](measureAttrsPool) defer put(measureAttrsPool, attrs) *attrs = append(*attrs, e.inst.attrs...) @@ -266,12 +272,14 @@ func (e ExportOp) End(err error, code codes.Code) { e.inst.exportedSpans.Add(e.ctx, e.nSpans-success, *addOpt...) } - recOpt := get[metric.RecordOption](recordOptPool) - defer put(recordOptPool, recOpt) - *recOpt = append(*recOpt, e.inst.recordOption(err, code)) + if e.inst.opDuration.Enabled(e.ctx) { + recOpt := get[metric.RecordOption](recordOptPool) + defer put(recordOptPool, recOpt) + *recOpt = append(*recOpt, e.inst.recordOption(err, code)) - d := time.Since(e.start).Seconds() - e.inst.opDuration.Record(e.ctx, d, *recOpt...) + d := time.Since(e.start).Seconds() + e.inst.opDuration.Record(e.ctx, d, *recOpt...) + } } // recordOption returns a RecordOption with attributes representing the diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/version.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/version.go index 19fac1b725..068ab9701d 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/version.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/version.go @@ -5,4 +5,4 @@ package internal // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/ot // Version is the current release version of the OpenTelemetry OTLP gRPC trace // exporter in use. -const Version = "1.40.0" +const Version = "1.41.0" diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go index 370cd2a6f8..59f2815aa1 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go @@ -5,5 +5,5 @@ package otlptrace // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace" // Version is the current release version of the OpenTelemetry OTLP trace exporter in use. func Version() string { - return "1.40.0" + return "1.41.0" } diff --git a/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go b/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go index 6354b35602..c95d87685c 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go +++ b/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go @@ -8,7 +8,7 @@ package resource // import "go.opentelemetry.io/otel/sdk/resource" import "os" func readFile(filename string) (string, error) { - b, err := os.ReadFile(filename) + b, err := os.ReadFile(filename) // nolint:gosec // false positive if err != nil { return "", err } diff --git a/vendor/go.opentelemetry.io/otel/sdk/version.go b/vendor/go.opentelemetry.io/otel/sdk/version.go index b5497c2816..faad8cdab1 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/version.go +++ b/vendor/go.opentelemetry.io/otel/sdk/version.go @@ -6,5 +6,5 @@ package sdk // import "go.opentelemetry.io/otel/sdk" // Version is the current release version of the OpenTelemetry SDK in use. func Version() string { - return "1.40.0" + return "1.41.0" } diff --git a/vendor/modules.txt b/vendor/modules.txt index 5cae167f7e..6d8fa06af9 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -4,7 +4,7 @@ contrib.go.opencensus.io/exporter/prometheus # dario.cat/mergo v1.0.2 ## explicit; go 1.13 dario.cat/mergo -# filippo.io/edwards25519 v1.1.0 +# filippo.io/edwards25519 v1.1.1 ## explicit; go 1.20 filippo.io/edwards25519 filippo.io/edwards25519/field @@ -265,7 +265,7 @@ github.com/clipperhouse/stringish ## explicit; go 1.18 github.com/clipperhouse/uax29/v2/graphemes github.com/clipperhouse/uax29/v2/internal/iterators -# github.com/cloudflare/circl v1.6.1 +# github.com/cloudflare/circl v1.6.3 ## explicit; go 1.22.0 github.com/cloudflare/circl/dh/x25519 github.com/cloudflare/circl/dh/x448 @@ -319,7 +319,7 @@ github.com/crewjam/saml github.com/crewjam/saml/logger github.com/crewjam/saml/samlsp github.com/crewjam/saml/xmlenc -# github.com/cs3org/go-cs3apis v0.0.0-20250908152307-4ca807afe54e +# github.com/cs3org/go-cs3apis v0.0.0-20260130145416-2dc593dc27e7 ## explicit; go 1.21 github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1 github.com/cs3org/go-cs3apis/cs3/app/registry/v1beta1 @@ -330,6 +330,7 @@ github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1 github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1 github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1 github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1 +github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1 github.com/cs3org/go-cs3apis/cs3/ocm/invite/v1beta1 github.com/cs3org/go-cs3apis/cs3/ocm/provider/v1beta1 github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1 @@ -1061,7 +1062,7 @@ github.com/mattn/go-isatty # github.com/mattn/go-runewidth v0.0.19 ## explicit; go 1.20 github.com/mattn/go-runewidth -# github.com/mattn/go-sqlite3 v1.14.33 +# github.com/mattn/go-sqlite3 v1.14.34 ## explicit; go 1.19 github.com/mattn/go-sqlite3 # github.com/maxymania/go-system v0.0.0-20170110133659-647cc364bf0b @@ -1383,7 +1384,7 @@ github.com/opencloud-eu/icap-client # github.com/opencloud-eu/libre-graph-api-go v1.0.8-0.20260204102724-10bcda1b3068 ## explicit; go 1.18 github.com/opencloud-eu/libre-graph-api-go -# github.com/opencloud-eu/reva/v2 v2.42.4 +# github.com/opencloud-eu/reva/v2 v2.42.5-0.20260306135406-7dc643429c82 ## explicit; go 1.24.1 github.com/opencloud-eu/reva/v2/cmd/revad/internal/grace github.com/opencloud-eu/reva/v2/cmd/revad/runtime @@ -2292,7 +2293,7 @@ go.etcd.io/bbolt go.etcd.io/bbolt/errors go.etcd.io/bbolt/internal/common go.etcd.io/bbolt/internal/freelist -# go.etcd.io/etcd/api/v3 v3.6.7 +# go.etcd.io/etcd/api/v3 v3.6.8 ## explicit; go 1.24.0 go.etcd.io/etcd/api/v3/authpb go.etcd.io/etcd/api/v3/etcdserverpb @@ -2301,7 +2302,7 @@ go.etcd.io/etcd/api/v3/mvccpb go.etcd.io/etcd/api/v3/v3rpc/rpctypes go.etcd.io/etcd/api/v3/version go.etcd.io/etcd/api/v3/versionpb -# go.etcd.io/etcd/client/pkg/v3 v3.6.7 +# go.etcd.io/etcd/client/pkg/v3 v3.6.8 ## explicit; go 1.24.0 go.etcd.io/etcd/client/pkg/v3/fileutil go.etcd.io/etcd/client/pkg/v3/logutil @@ -2310,7 +2311,7 @@ go.etcd.io/etcd/client/pkg/v3/tlsutil go.etcd.io/etcd/client/pkg/v3/transport go.etcd.io/etcd/client/pkg/v3/types go.etcd.io/etcd/client/pkg/v3/verify -# go.etcd.io/etcd/client/v3 v3.6.7 +# go.etcd.io/etcd/client/v3 v3.6.8 ## explicit; go 1.24.0 go.etcd.io/etcd/client/v3 go.etcd.io/etcd/client/v3/credentials @@ -2373,11 +2374,11 @@ go.opentelemetry.io/otel/semconv/v1.39.0 go.opentelemetry.io/otel/semconv/v1.39.0/httpconv go.opentelemetry.io/otel/semconv/v1.39.0/otelconv go.opentelemetry.io/otel/semconv/v1.39.0/rpcconv -# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0 +# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.41.0 ## explicit; go 1.24.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform -# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.41.0 ## explicit; go 1.24.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal @@ -2399,7 +2400,7 @@ go.opentelemetry.io/otel/exporters/stdout/stdouttrace/internal/x go.opentelemetry.io/otel/metric go.opentelemetry.io/otel/metric/embedded go.opentelemetry.io/otel/metric/noop -# go.opentelemetry.io/otel/sdk v1.40.0 +# go.opentelemetry.io/otel/sdk v1.41.0 ## explicit; go 1.24.0 go.opentelemetry.io/otel/sdk go.opentelemetry.io/otel/sdk/instrumentation From e51ee6d2299b10779d3b63f9f1eee100c9357ddb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Duffeck?= Date: Thu, 5 Mar 2026 09:24:21 +0100 Subject: [PATCH 2/2] Adapt to cs3api changes --- services/graph/pkg/identity/cs3.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/services/graph/pkg/identity/cs3.go b/services/graph/pkg/identity/cs3.go index e787a0ce5e..93de4ecb3d 100644 --- a/services/graph/pkg/identity/cs3.go +++ b/services/graph/pkg/identity/cs3.go @@ -111,7 +111,14 @@ func (i *CS3) GetUsers(ctx context.Context, oreq *godata.GoDataRequest) ([]*libr res, err := gatewayClient.FindUsers(ctx, &cs3user.FindUsersRequest{ // FIXME presence match is currently not implemented, an empty search currently leads to // Unwilling To Perform": Search Error: error parsing filter: (&(objectclass=posixAccount)(|(cn=*)(displayname=*)(mail=*))), error: Present filter match for cn not implemented - Query: search, + Filters: []*cs3user.Filter{ + { + Type: cs3user.Filter_TYPE_QUERY, + Term: &cs3user.Filter_Query{ + Query: search, + }, + }, + }, }) switch { case err != nil: @@ -162,7 +169,14 @@ func (i *CS3) GetGroups(ctx context.Context, oreq *godata.GoDataRequest) ([]*lib res, err := gatewayClient.FindGroups(ctx, &cs3group.FindGroupsRequest{ // FIXME presence match is currently not implemented, an empty search currently leads to // Unwilling To Perform": Search Error: error parsing filter: (&(objectclass=posixAccount)(|(cn=*)(displayname=*)(mail=*))), error: Present filter match for cn not implemented - Filter: search, + Filters: []*cs3group.Filter{ + { + Type: cs3group.Filter_TYPE_QUERY, + Term: &cs3group.Filter_Query{ + Query: search, + }, + }, + }, }) switch {