diff --git a/go.mod b/go.mod index 1b4e3029c6..025cc7cf43 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-20260310080202-fb97596763d6 + github.com/cs3org/go-cs3apis v0.0.0-20260407125717-5d69ba49048b 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.15.1 github.com/opencloud-eu/icap-client v0.0.0-20250930132611-28a2afe62d89 github.com/opencloud-eu/libre-graph-api-go v1.0.8-0.20260310090739-853d972b282d - github.com/opencloud-eu/reva/v2 v2.42.7-0.20260408072824-411780d0b756 + github.com/opencloud-eu/reva/v2 v2.42.7-0.20260409144540-a3009b33f38b 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 diff --git a/go.sum b/go.sum index 2a5a205ee4..9e297e9529 100644 --- a/go.sum +++ b/go.sum @@ -264,8 +264,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-20260310080202-fb97596763d6 h1:Akwn9gHJugKd8M48LyV+WeIQ6yMXoxZdgZabR53I9q4= -github.com/cs3org/go-cs3apis v0.0.0-20260310080202-fb97596763d6/go.mod h1:DedpcqXl193qF/08Y04IO0PpxyyMu8+GrkD6kWK2MEQ= +github.com/cs3org/go-cs3apis v0.0.0-20260407125717-5d69ba49048b h1:WNwuveokaUXIAGrwVLWqJSk0BdJv8k+9RXipBItGuyY= +github.com/cs3org/go-cs3apis v0.0.0-20260407125717-5d69ba49048b/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= @@ -954,8 +954,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.20260310090739-853d972b282d h1:JcqGDiyrcaQwVyV861TUyQgO7uEmsjkhfm7aQd84dOw= github.com/opencloud-eu/libre-graph-api-go v1.0.8-0.20260310090739-853d972b282d/go.mod h1:pzatilMEHZFT3qV7C/X3MqOa3NlRQuYhlRhZTL+hN6Q= -github.com/opencloud-eu/reva/v2 v2.42.7-0.20260408072824-411780d0b756 h1:Jbftg+S89x2PD7NVWhQB0+vlI/Qo0wv9rBwnM1N50yc= -github.com/opencloud-eu/reva/v2 v2.42.7-0.20260408072824-411780d0b756/go.mod h1:hjMR/IerRm9xX4bthVRE9ZO/vhvrXVMbuvnnzwLjzK4= +github.com/opencloud-eu/reva/v2 v2.42.7-0.20260409144540-a3009b33f38b h1:lLTcDZUErhKa88ho+bAecGDcnuIccVZVPoFKfWpLB28= +github.com/opencloud-eu/reva/v2 v2.42.7-0.20260409144540-a3009b33f38b/go.mod h1:45YSzBU2klnEfdb6dlo6DMNr9ttE/7C9gd8n3g8Co3Y= github.com/opencloud-eu/secure v0.0.0-20260312082735-b6f5cb2244e4 h1:l2oB/RctH+t8r7QBj5p8thfEHCM/jF35aAY3WQ3hADI= github.com/opencloud-eu/secure v0.0.0-20260312082735-b6f5cb2244e4/go.mod h1:BmF5hyM6tXczk3MpQkFf1hpKSRqCyhqcbiQtiAF7+40= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= 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 20ff89d09f..709154cf34 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,24 +25,25 @@ package gatewayv1beta1 import ( - v1beta118 "github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1" + v1beta119 "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" + v1beta112 "github.com/cs3org/go-cs3apis/cs3/auth/registry/v1beta1" + v1beta111 "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1" + v1beta110 "github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1" v1beta12 "github.com/cs3org/go-cs3apis/cs3/identity/user/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" - v1beta117 "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1" + v1beta116 "github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1" + v1beta115 "github.com/cs3org/go-cs3apis/cs3/ocm/incoming/v1beta1" + v1beta113 "github.com/cs3org/go-cs3apis/cs3/ocm/invite/v1beta1" + v1beta114 "github.com/cs3org/go-cs3apis/cs3/ocm/provider/v1beta1" + v1beta118 "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" - v1beta116 "github.com/cs3org/go-cs3apis/cs3/tx/v1beta1" + v1beta117 "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" @@ -1127,1042 +1128,1059 @@ var file_cs3_gateway_v1beta1_gateway_api_proto_rawDesc = []byte{ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 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, 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, 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, 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, + 0x1a, 0x2c, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 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, 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, 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, + 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, 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, - 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, 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, + 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, 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, + 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, 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, + 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, 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, + 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, 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, - 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, 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, + 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, 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, 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, 0xee, 0x64, 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, 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, + 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, 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, 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, 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, + 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, + 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, 0xdb, + 0x66, 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, 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, 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, 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, + 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, 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, - 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, + 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, 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, 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, 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, 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, + 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, 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, + 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, 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, 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, + 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, 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, 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, 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, + 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, 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, 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, + 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, 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, 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, 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, + 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, 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, 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, + 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, 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, + 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, 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, + 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, 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, + 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, 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, 0x72, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x46, 0x61, 0x76, - 0x6f, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 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, 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, 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, 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, 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, 0x72, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x46, 0x61, 0x76, 0x6f, 0x72, + 0x69, 0x74, 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, 0x41, 0x64, 0x64, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 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, 0x41, 0x64, 0x64, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 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, 0x41, 0x64, 0x64, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x12, 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, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 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, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 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, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x12, 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, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 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, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 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, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 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, 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, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x73, 0x33, + 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, 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, + 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, 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, 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, + 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, 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, + 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, 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, 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, + 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, 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, 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, + 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, 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, 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, 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, + 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, 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, 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, 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, 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, + 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, 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, 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, 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, - 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, 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, + 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, 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, + 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, 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, 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, + 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, 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, 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, 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, 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, - 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, 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, + 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, 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, 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, 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, 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, + 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, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x54, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x34, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x42, + 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 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, 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, 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, - 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, + 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, 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, - 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, - 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, 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, + 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, 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, 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, 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, + 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, 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, - 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, 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, + 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, 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, 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, + 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, 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, + 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, - 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, 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, 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, + 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, 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, 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, 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, + 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, 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, 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, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 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, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, + 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, - 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, + 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, - 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, + 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, 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 ( @@ -2273,132 +2291,136 @@ var file_cs3_gateway_v1beta1_gateway_api_proto_goTypes = []interface{}{ (*v1beta12.GetUserByClaimRequest)(nil), // 90: cs3.identity.user.v1beta1.GetUserByClaimRequest (*v1beta12.GetUserGroupsRequest)(nil), // 91: cs3.identity.user.v1beta1.GetUserGroupsRequest (*v1beta12.FindUsersRequest)(nil), // 92: cs3.identity.user.v1beta1.FindUsersRequest - (*v1beta110.GetGroupRequest)(nil), // 93: cs3.identity.group.v1beta1.GetGroupRequest - (*v1beta110.GetGroupByClaimRequest)(nil), // 94: cs3.identity.group.v1beta1.GetGroupByClaimRequest - (*v1beta110.GetMembersRequest)(nil), // 95: cs3.identity.group.v1beta1.GetMembersRequest - (*v1beta110.HasMemberRequest)(nil), // 96: cs3.identity.group.v1beta1.HasMemberRequest - (*v1beta110.FindGroupsRequest)(nil), // 97: cs3.identity.group.v1beta1.FindGroupsRequest - (*v1beta111.ListAuthProvidersRequest)(nil), // 98: cs3.auth.registry.v1beta1.ListAuthProvidersRequest - (*v1beta13.GetHomeRequest)(nil), // 99: cs3.storage.provider.v1beta1.GetHomeRequest - (*v1beta112.GenerateInviteTokenRequest)(nil), // 100: cs3.ocm.invite.v1beta1.GenerateInviteTokenRequest - (*v1beta112.ListInviteTokensRequest)(nil), // 101: cs3.ocm.invite.v1beta1.ListInviteTokensRequest - (*v1beta112.ForwardInviteRequest)(nil), // 102: cs3.ocm.invite.v1beta1.ForwardInviteRequest - (*v1beta112.AcceptInviteRequest)(nil), // 103: cs3.ocm.invite.v1beta1.AcceptInviteRequest - (*v1beta112.GetAcceptedUserRequest)(nil), // 104: cs3.ocm.invite.v1beta1.GetAcceptedUserRequest - (*v1beta112.FindAcceptedUsersRequest)(nil), // 105: cs3.ocm.invite.v1beta1.FindAcceptedUsersRequest - (*v1beta112.DeleteAcceptedUserRequest)(nil), // 106: cs3.ocm.invite.v1beta1.DeleteAcceptedUserRequest - (*v1beta113.IsProviderAllowedRequest)(nil), // 107: cs3.ocm.provider.v1beta1.IsProviderAllowedRequest - (*v1beta113.GetInfoByDomainRequest)(nil), // 108: cs3.ocm.provider.v1beta1.GetInfoByDomainRequest - (*v1beta113.ListAllProvidersRequest)(nil), // 109: cs3.ocm.provider.v1beta1.ListAllProvidersRequest - (*v1beta114.CreateOCMIncomingShareRequest)(nil), // 110: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest - (*v1beta114.UpdateOCMIncomingShareRequest)(nil), // 111: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest - (*v1beta114.DeleteOCMIncomingShareRequest)(nil), // 112: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareRequest - (*v1beta115.CreateOCMCoreShareRequest)(nil), // 113: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest - (*v1beta115.UpdateOCMCoreShareRequest)(nil), // 114: cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest - (*v1beta115.DeleteOCMCoreShareRequest)(nil), // 115: cs3.ocm.core.v1beta1.DeleteOCMCoreShareRequest - (*v1beta116.CreateTransferRequest)(nil), // 116: cs3.tx.v1beta1.CreateTransferRequest - (*v1beta116.GetTransferStatusRequest)(nil), // 117: cs3.tx.v1beta1.GetTransferStatusRequest - (*v1beta116.CancelTransferRequest)(nil), // 118: cs3.tx.v1beta1.CancelTransferRequest - (*v1beta116.ListTransfersRequest)(nil), // 119: cs3.tx.v1beta1.ListTransfersRequest - (*v1beta116.RetryTransferRequest)(nil), // 120: cs3.tx.v1beta1.RetryTransferRequest - (*v1beta117.CheckPermissionRequest)(nil), // 121: cs3.permissions.v1beta1.CheckPermissionRequest - (*v1beta14.GenerateAppPasswordResponse)(nil), // 122: cs3.auth.applications.v1beta1.GenerateAppPasswordResponse - (*v1beta14.ListAppPasswordsResponse)(nil), // 123: cs3.auth.applications.v1beta1.ListAppPasswordsResponse - (*v1beta14.InvalidateAppPasswordResponse)(nil), // 124: cs3.auth.applications.v1beta1.InvalidateAppPasswordResponse - (*v1beta14.GetAppPasswordResponse)(nil), // 125: cs3.auth.applications.v1beta1.GetAppPasswordResponse - (*v1beta13.CreateContainerResponse)(nil), // 126: cs3.storage.provider.v1beta1.CreateContainerResponse - (*v1beta13.TouchFileResponse)(nil), // 127: cs3.storage.provider.v1beta1.TouchFileResponse - (*v1beta13.DeleteResponse)(nil), // 128: cs3.storage.provider.v1beta1.DeleteResponse - (*v1beta13.GetPathResponse)(nil), // 129: cs3.storage.provider.v1beta1.GetPathResponse - (*v1beta13.GetQuotaResponse)(nil), // 130: cs3.storage.provider.v1beta1.GetQuotaResponse - (*v1beta13.ListContainerStreamResponse)(nil), // 131: cs3.storage.provider.v1beta1.ListContainerStreamResponse - (*v1beta13.ListContainerResponse)(nil), // 132: cs3.storage.provider.v1beta1.ListContainerResponse - (*v1beta13.ListFileVersionsResponse)(nil), // 133: cs3.storage.provider.v1beta1.ListFileVersionsResponse - (*v1beta13.ListRecycleStreamResponse)(nil), // 134: cs3.storage.provider.v1beta1.ListRecycleStreamResponse - (*v1beta13.ListRecycleResponse)(nil), // 135: cs3.storage.provider.v1beta1.ListRecycleResponse - (*v1beta13.MoveResponse)(nil), // 136: cs3.storage.provider.v1beta1.MoveResponse - (*v1beta13.PurgeRecycleResponse)(nil), // 137: cs3.storage.provider.v1beta1.PurgeRecycleResponse - (*v1beta13.RestoreFileVersionResponse)(nil), // 138: cs3.storage.provider.v1beta1.RestoreFileVersionResponse - (*v1beta13.RestoreRecycleItemResponse)(nil), // 139: cs3.storage.provider.v1beta1.RestoreRecycleItemResponse - (*v1beta13.StatResponse)(nil), // 140: cs3.storage.provider.v1beta1.StatResponse - (*v1beta13.CreateSymlinkResponse)(nil), // 141: cs3.storage.provider.v1beta1.CreateSymlinkResponse - (*v1beta13.SetArbitraryMetadataResponse)(nil), // 142: cs3.storage.provider.v1beta1.SetArbitraryMetadataResponse - (*v1beta13.UnsetArbitraryMetadataResponse)(nil), // 143: cs3.storage.provider.v1beta1.UnsetArbitraryMetadataResponse - (*v1beta13.SetLockResponse)(nil), // 144: cs3.storage.provider.v1beta1.SetLockResponse - (*v1beta13.GetLockResponse)(nil), // 145: cs3.storage.provider.v1beta1.GetLockResponse - (*v1beta13.RefreshLockResponse)(nil), // 146: cs3.storage.provider.v1beta1.RefreshLockResponse - (*v1beta13.UnlockResponse)(nil), // 147: cs3.storage.provider.v1beta1.UnlockResponse - (*v1beta13.CreateHomeResponse)(nil), // 148: cs3.storage.provider.v1beta1.CreateHomeResponse - (*v1beta13.CreateStorageSpaceResponse)(nil), // 149: cs3.storage.provider.v1beta1.CreateStorageSpaceResponse - (*v1beta13.ListStorageSpacesResponse)(nil), // 150: cs3.storage.provider.v1beta1.ListStorageSpacesResponse - (*v1beta13.UpdateStorageSpaceResponse)(nil), // 151: cs3.storage.provider.v1beta1.UpdateStorageSpaceResponse - (*v1beta13.DeleteStorageSpaceResponse)(nil), // 152: cs3.storage.provider.v1beta1.DeleteStorageSpaceResponse - (*v1beta13.AddFavoriteResponse)(nil), // 153: cs3.storage.provider.v1beta1.AddFavoriteResponse - (*v1beta13.RemoveFavoriteResponse)(nil), // 154: cs3.storage.provider.v1beta1.RemoveFavoriteResponse - (*v1beta118.OpenInAppResponse)(nil), // 155: cs3.app.provider.v1beta1.OpenInAppResponse - (*v1beta15.CreateShareResponse)(nil), // 156: cs3.sharing.collaboration.v1beta1.CreateShareResponse - (*v1beta15.RemoveShareResponse)(nil), // 157: cs3.sharing.collaboration.v1beta1.RemoveShareResponse - (*v1beta15.GetShareResponse)(nil), // 158: cs3.sharing.collaboration.v1beta1.GetShareResponse - (*v1beta15.ListSharesResponse)(nil), // 159: cs3.sharing.collaboration.v1beta1.ListSharesResponse - (*v1beta15.UpdateShareResponse)(nil), // 160: cs3.sharing.collaboration.v1beta1.UpdateShareResponse - (*v1beta15.ListReceivedSharesResponse)(nil), // 161: cs3.sharing.collaboration.v1beta1.ListReceivedSharesResponse - (*v1beta15.UpdateReceivedShareResponse)(nil), // 162: cs3.sharing.collaboration.v1beta1.UpdateReceivedShareResponse - (*v1beta15.GetReceivedShareResponse)(nil), // 163: cs3.sharing.collaboration.v1beta1.GetReceivedShareResponse - (*v1beta16.SetKeyResponse)(nil), // 164: cs3.preferences.v1beta1.SetKeyResponse - (*v1beta16.GetKeyResponse)(nil), // 165: cs3.preferences.v1beta1.GetKeyResponse - (*v1beta17.CreatePublicShareResponse)(nil), // 166: cs3.sharing.link.v1beta1.CreatePublicShareResponse - (*v1beta17.RemovePublicShareResponse)(nil), // 167: cs3.sharing.link.v1beta1.RemovePublicShareResponse - (*v1beta17.GetPublicShareResponse)(nil), // 168: cs3.sharing.link.v1beta1.GetPublicShareResponse - (*v1beta17.GetPublicShareByTokenResponse)(nil), // 169: cs3.sharing.link.v1beta1.GetPublicShareByTokenResponse - (*v1beta17.ListPublicSharesResponse)(nil), // 170: cs3.sharing.link.v1beta1.ListPublicSharesResponse - (*v1beta17.UpdatePublicShareResponse)(nil), // 171: cs3.sharing.link.v1beta1.UpdatePublicShareResponse - (*v1beta18.CreateOCMShareResponse)(nil), // 172: cs3.sharing.ocm.v1beta1.CreateOCMShareResponse - (*v1beta18.RemoveOCMShareResponse)(nil), // 173: cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse - (*v1beta18.GetOCMShareResponse)(nil), // 174: cs3.sharing.ocm.v1beta1.GetOCMShareResponse - (*v1beta18.GetOCMShareByTokenResponse)(nil), // 175: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse - (*v1beta18.ListOCMSharesResponse)(nil), // 176: cs3.sharing.ocm.v1beta1.ListOCMSharesResponse - (*v1beta18.UpdateOCMShareResponse)(nil), // 177: cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse - (*v1beta18.ListReceivedOCMSharesResponse)(nil), // 178: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse - (*v1beta18.UpdateReceivedOCMShareResponse)(nil), // 179: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse - (*v1beta18.GetReceivedOCMShareResponse)(nil), // 180: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse - (*v1beta19.GetAppProvidersResponse)(nil), // 181: cs3.app.registry.v1beta1.GetAppProvidersResponse - (*v1beta19.AddAppProviderResponse)(nil), // 182: cs3.app.registry.v1beta1.AddAppProviderResponse - (*v1beta19.ListAppProvidersResponse)(nil), // 183: cs3.app.registry.v1beta1.ListAppProvidersResponse - (*v1beta19.ListSupportedMimeTypesResponse)(nil), // 184: cs3.app.registry.v1beta1.ListSupportedMimeTypesResponse - (*v1beta19.GetDefaultAppProviderForMimeTypeResponse)(nil), // 185: cs3.app.registry.v1beta1.GetDefaultAppProviderForMimeTypeResponse - (*v1beta19.SetDefaultAppProviderForMimeTypeResponse)(nil), // 186: cs3.app.registry.v1beta1.SetDefaultAppProviderForMimeTypeResponse - (*v1beta12.GetUserResponse)(nil), // 187: cs3.identity.user.v1beta1.GetUserResponse - (*v1beta12.GetUserByClaimResponse)(nil), // 188: cs3.identity.user.v1beta1.GetUserByClaimResponse - (*v1beta12.GetUserGroupsResponse)(nil), // 189: cs3.identity.user.v1beta1.GetUserGroupsResponse - (*v1beta12.FindUsersResponse)(nil), // 190: cs3.identity.user.v1beta1.FindUsersResponse - (*v1beta110.GetGroupResponse)(nil), // 191: cs3.identity.group.v1beta1.GetGroupResponse - (*v1beta110.GetGroupByClaimResponse)(nil), // 192: cs3.identity.group.v1beta1.GetGroupByClaimResponse - (*v1beta110.GetMembersResponse)(nil), // 193: cs3.identity.group.v1beta1.GetMembersResponse - (*v1beta110.HasMemberResponse)(nil), // 194: cs3.identity.group.v1beta1.HasMemberResponse - (*v1beta110.FindGroupsResponse)(nil), // 195: cs3.identity.group.v1beta1.FindGroupsResponse - (*v1beta13.GetHomeResponse)(nil), // 196: cs3.storage.provider.v1beta1.GetHomeResponse - (*v1beta112.GenerateInviteTokenResponse)(nil), // 197: cs3.ocm.invite.v1beta1.GenerateInviteTokenResponse - (*v1beta112.ListInviteTokensResponse)(nil), // 198: cs3.ocm.invite.v1beta1.ListInviteTokensResponse - (*v1beta112.ForwardInviteResponse)(nil), // 199: cs3.ocm.invite.v1beta1.ForwardInviteResponse - (*v1beta112.AcceptInviteResponse)(nil), // 200: cs3.ocm.invite.v1beta1.AcceptInviteResponse - (*v1beta112.GetAcceptedUserResponse)(nil), // 201: cs3.ocm.invite.v1beta1.GetAcceptedUserResponse - (*v1beta112.FindAcceptedUsersResponse)(nil), // 202: cs3.ocm.invite.v1beta1.FindAcceptedUsersResponse - (*v1beta112.DeleteAcceptedUserResponse)(nil), // 203: cs3.ocm.invite.v1beta1.DeleteAcceptedUserResponse - (*v1beta113.IsProviderAllowedResponse)(nil), // 204: cs3.ocm.provider.v1beta1.IsProviderAllowedResponse - (*v1beta113.GetInfoByDomainResponse)(nil), // 205: cs3.ocm.provider.v1beta1.GetInfoByDomainResponse - (*v1beta113.ListAllProvidersResponse)(nil), // 206: cs3.ocm.provider.v1beta1.ListAllProvidersResponse - (*v1beta114.CreateOCMIncomingShareResponse)(nil), // 207: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse - (*v1beta114.UpdateOCMIncomingShareResponse)(nil), // 208: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse - (*v1beta114.DeleteOCMIncomingShareResponse)(nil), // 209: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse - (*v1beta115.CreateOCMCoreShareResponse)(nil), // 210: cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse - (*v1beta115.UpdateOCMCoreShareResponse)(nil), // 211: cs3.ocm.core.v1beta1.UpdateOCMCoreShareResponse - (*v1beta115.DeleteOCMCoreShareResponse)(nil), // 212: cs3.ocm.core.v1beta1.DeleteOCMCoreShareResponse - (*v1beta116.CreateTransferResponse)(nil), // 213: cs3.tx.v1beta1.CreateTransferResponse - (*v1beta116.GetTransferStatusResponse)(nil), // 214: cs3.tx.v1beta1.GetTransferStatusResponse - (*v1beta116.CancelTransferResponse)(nil), // 215: cs3.tx.v1beta1.CancelTransferResponse - (*v1beta116.ListTransfersResponse)(nil), // 216: cs3.tx.v1beta1.ListTransfersResponse - (*v1beta116.RetryTransferResponse)(nil), // 217: cs3.tx.v1beta1.RetryTransferResponse - (*v1beta117.CheckPermissionResponse)(nil), // 218: cs3.permissions.v1beta1.CheckPermissionResponse + (*v1beta110.GetTenantRequest)(nil), // 93: cs3.identity.tenant.v1beta1.GetTenantRequest + (*v1beta110.GetTenantByClaimRequest)(nil), // 94: cs3.identity.tenant.v1beta1.GetTenantByClaimRequest + (*v1beta111.GetGroupRequest)(nil), // 95: cs3.identity.group.v1beta1.GetGroupRequest + (*v1beta111.GetGroupByClaimRequest)(nil), // 96: cs3.identity.group.v1beta1.GetGroupByClaimRequest + (*v1beta111.GetMembersRequest)(nil), // 97: cs3.identity.group.v1beta1.GetMembersRequest + (*v1beta111.HasMemberRequest)(nil), // 98: cs3.identity.group.v1beta1.HasMemberRequest + (*v1beta111.FindGroupsRequest)(nil), // 99: cs3.identity.group.v1beta1.FindGroupsRequest + (*v1beta112.ListAuthProvidersRequest)(nil), // 100: cs3.auth.registry.v1beta1.ListAuthProvidersRequest + (*v1beta13.GetHomeRequest)(nil), // 101: cs3.storage.provider.v1beta1.GetHomeRequest + (*v1beta113.GenerateInviteTokenRequest)(nil), // 102: cs3.ocm.invite.v1beta1.GenerateInviteTokenRequest + (*v1beta113.ListInviteTokensRequest)(nil), // 103: cs3.ocm.invite.v1beta1.ListInviteTokensRequest + (*v1beta113.ForwardInviteRequest)(nil), // 104: cs3.ocm.invite.v1beta1.ForwardInviteRequest + (*v1beta113.AcceptInviteRequest)(nil), // 105: cs3.ocm.invite.v1beta1.AcceptInviteRequest + (*v1beta113.GetAcceptedUserRequest)(nil), // 106: cs3.ocm.invite.v1beta1.GetAcceptedUserRequest + (*v1beta113.FindAcceptedUsersRequest)(nil), // 107: cs3.ocm.invite.v1beta1.FindAcceptedUsersRequest + (*v1beta113.DeleteAcceptedUserRequest)(nil), // 108: cs3.ocm.invite.v1beta1.DeleteAcceptedUserRequest + (*v1beta114.IsProviderAllowedRequest)(nil), // 109: cs3.ocm.provider.v1beta1.IsProviderAllowedRequest + (*v1beta114.GetInfoByDomainRequest)(nil), // 110: cs3.ocm.provider.v1beta1.GetInfoByDomainRequest + (*v1beta114.ListAllProvidersRequest)(nil), // 111: cs3.ocm.provider.v1beta1.ListAllProvidersRequest + (*v1beta115.CreateOCMIncomingShareRequest)(nil), // 112: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest + (*v1beta115.UpdateOCMIncomingShareRequest)(nil), // 113: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest + (*v1beta115.DeleteOCMIncomingShareRequest)(nil), // 114: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareRequest + (*v1beta116.CreateOCMCoreShareRequest)(nil), // 115: cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest + (*v1beta116.UpdateOCMCoreShareRequest)(nil), // 116: cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest + (*v1beta116.DeleteOCMCoreShareRequest)(nil), // 117: cs3.ocm.core.v1beta1.DeleteOCMCoreShareRequest + (*v1beta117.CreateTransferRequest)(nil), // 118: cs3.tx.v1beta1.CreateTransferRequest + (*v1beta117.GetTransferStatusRequest)(nil), // 119: cs3.tx.v1beta1.GetTransferStatusRequest + (*v1beta117.CancelTransferRequest)(nil), // 120: cs3.tx.v1beta1.CancelTransferRequest + (*v1beta117.ListTransfersRequest)(nil), // 121: cs3.tx.v1beta1.ListTransfersRequest + (*v1beta117.RetryTransferRequest)(nil), // 122: cs3.tx.v1beta1.RetryTransferRequest + (*v1beta118.CheckPermissionRequest)(nil), // 123: cs3.permissions.v1beta1.CheckPermissionRequest + (*v1beta14.GenerateAppPasswordResponse)(nil), // 124: cs3.auth.applications.v1beta1.GenerateAppPasswordResponse + (*v1beta14.ListAppPasswordsResponse)(nil), // 125: cs3.auth.applications.v1beta1.ListAppPasswordsResponse + (*v1beta14.InvalidateAppPasswordResponse)(nil), // 126: cs3.auth.applications.v1beta1.InvalidateAppPasswordResponse + (*v1beta14.GetAppPasswordResponse)(nil), // 127: cs3.auth.applications.v1beta1.GetAppPasswordResponse + (*v1beta13.CreateContainerResponse)(nil), // 128: cs3.storage.provider.v1beta1.CreateContainerResponse + (*v1beta13.TouchFileResponse)(nil), // 129: cs3.storage.provider.v1beta1.TouchFileResponse + (*v1beta13.DeleteResponse)(nil), // 130: cs3.storage.provider.v1beta1.DeleteResponse + (*v1beta13.GetPathResponse)(nil), // 131: cs3.storage.provider.v1beta1.GetPathResponse + (*v1beta13.GetQuotaResponse)(nil), // 132: cs3.storage.provider.v1beta1.GetQuotaResponse + (*v1beta13.ListContainerStreamResponse)(nil), // 133: cs3.storage.provider.v1beta1.ListContainerStreamResponse + (*v1beta13.ListContainerResponse)(nil), // 134: cs3.storage.provider.v1beta1.ListContainerResponse + (*v1beta13.ListFileVersionsResponse)(nil), // 135: cs3.storage.provider.v1beta1.ListFileVersionsResponse + (*v1beta13.ListRecycleStreamResponse)(nil), // 136: cs3.storage.provider.v1beta1.ListRecycleStreamResponse + (*v1beta13.ListRecycleResponse)(nil), // 137: cs3.storage.provider.v1beta1.ListRecycleResponse + (*v1beta13.MoveResponse)(nil), // 138: cs3.storage.provider.v1beta1.MoveResponse + (*v1beta13.PurgeRecycleResponse)(nil), // 139: cs3.storage.provider.v1beta1.PurgeRecycleResponse + (*v1beta13.RestoreFileVersionResponse)(nil), // 140: cs3.storage.provider.v1beta1.RestoreFileVersionResponse + (*v1beta13.RestoreRecycleItemResponse)(nil), // 141: cs3.storage.provider.v1beta1.RestoreRecycleItemResponse + (*v1beta13.StatResponse)(nil), // 142: cs3.storage.provider.v1beta1.StatResponse + (*v1beta13.CreateSymlinkResponse)(nil), // 143: cs3.storage.provider.v1beta1.CreateSymlinkResponse + (*v1beta13.SetArbitraryMetadataResponse)(nil), // 144: cs3.storage.provider.v1beta1.SetArbitraryMetadataResponse + (*v1beta13.UnsetArbitraryMetadataResponse)(nil), // 145: cs3.storage.provider.v1beta1.UnsetArbitraryMetadataResponse + (*v1beta13.SetLockResponse)(nil), // 146: cs3.storage.provider.v1beta1.SetLockResponse + (*v1beta13.GetLockResponse)(nil), // 147: cs3.storage.provider.v1beta1.GetLockResponse + (*v1beta13.RefreshLockResponse)(nil), // 148: cs3.storage.provider.v1beta1.RefreshLockResponse + (*v1beta13.UnlockResponse)(nil), // 149: cs3.storage.provider.v1beta1.UnlockResponse + (*v1beta13.CreateHomeResponse)(nil), // 150: cs3.storage.provider.v1beta1.CreateHomeResponse + (*v1beta13.CreateStorageSpaceResponse)(nil), // 151: cs3.storage.provider.v1beta1.CreateStorageSpaceResponse + (*v1beta13.ListStorageSpacesResponse)(nil), // 152: cs3.storage.provider.v1beta1.ListStorageSpacesResponse + (*v1beta13.UpdateStorageSpaceResponse)(nil), // 153: cs3.storage.provider.v1beta1.UpdateStorageSpaceResponse + (*v1beta13.DeleteStorageSpaceResponse)(nil), // 154: cs3.storage.provider.v1beta1.DeleteStorageSpaceResponse + (*v1beta13.AddFavoriteResponse)(nil), // 155: cs3.storage.provider.v1beta1.AddFavoriteResponse + (*v1beta13.RemoveFavoriteResponse)(nil), // 156: cs3.storage.provider.v1beta1.RemoveFavoriteResponse + (*v1beta119.OpenInAppResponse)(nil), // 157: cs3.app.provider.v1beta1.OpenInAppResponse + (*v1beta15.CreateShareResponse)(nil), // 158: cs3.sharing.collaboration.v1beta1.CreateShareResponse + (*v1beta15.RemoveShareResponse)(nil), // 159: cs3.sharing.collaboration.v1beta1.RemoveShareResponse + (*v1beta15.GetShareResponse)(nil), // 160: cs3.sharing.collaboration.v1beta1.GetShareResponse + (*v1beta15.ListSharesResponse)(nil), // 161: cs3.sharing.collaboration.v1beta1.ListSharesResponse + (*v1beta15.UpdateShareResponse)(nil), // 162: cs3.sharing.collaboration.v1beta1.UpdateShareResponse + (*v1beta15.ListReceivedSharesResponse)(nil), // 163: cs3.sharing.collaboration.v1beta1.ListReceivedSharesResponse + (*v1beta15.UpdateReceivedShareResponse)(nil), // 164: cs3.sharing.collaboration.v1beta1.UpdateReceivedShareResponse + (*v1beta15.GetReceivedShareResponse)(nil), // 165: cs3.sharing.collaboration.v1beta1.GetReceivedShareResponse + (*v1beta16.SetKeyResponse)(nil), // 166: cs3.preferences.v1beta1.SetKeyResponse + (*v1beta16.GetKeyResponse)(nil), // 167: cs3.preferences.v1beta1.GetKeyResponse + (*v1beta17.CreatePublicShareResponse)(nil), // 168: cs3.sharing.link.v1beta1.CreatePublicShareResponse + (*v1beta17.RemovePublicShareResponse)(nil), // 169: cs3.sharing.link.v1beta1.RemovePublicShareResponse + (*v1beta17.GetPublicShareResponse)(nil), // 170: cs3.sharing.link.v1beta1.GetPublicShareResponse + (*v1beta17.GetPublicShareByTokenResponse)(nil), // 171: cs3.sharing.link.v1beta1.GetPublicShareByTokenResponse + (*v1beta17.ListPublicSharesResponse)(nil), // 172: cs3.sharing.link.v1beta1.ListPublicSharesResponse + (*v1beta17.UpdatePublicShareResponse)(nil), // 173: cs3.sharing.link.v1beta1.UpdatePublicShareResponse + (*v1beta18.CreateOCMShareResponse)(nil), // 174: cs3.sharing.ocm.v1beta1.CreateOCMShareResponse + (*v1beta18.RemoveOCMShareResponse)(nil), // 175: cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse + (*v1beta18.GetOCMShareResponse)(nil), // 176: cs3.sharing.ocm.v1beta1.GetOCMShareResponse + (*v1beta18.GetOCMShareByTokenResponse)(nil), // 177: cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse + (*v1beta18.ListOCMSharesResponse)(nil), // 178: cs3.sharing.ocm.v1beta1.ListOCMSharesResponse + (*v1beta18.UpdateOCMShareResponse)(nil), // 179: cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse + (*v1beta18.ListReceivedOCMSharesResponse)(nil), // 180: cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse + (*v1beta18.UpdateReceivedOCMShareResponse)(nil), // 181: cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse + (*v1beta18.GetReceivedOCMShareResponse)(nil), // 182: cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse + (*v1beta19.GetAppProvidersResponse)(nil), // 183: cs3.app.registry.v1beta1.GetAppProvidersResponse + (*v1beta19.AddAppProviderResponse)(nil), // 184: cs3.app.registry.v1beta1.AddAppProviderResponse + (*v1beta19.ListAppProvidersResponse)(nil), // 185: cs3.app.registry.v1beta1.ListAppProvidersResponse + (*v1beta19.ListSupportedMimeTypesResponse)(nil), // 186: cs3.app.registry.v1beta1.ListSupportedMimeTypesResponse + (*v1beta19.GetDefaultAppProviderForMimeTypeResponse)(nil), // 187: cs3.app.registry.v1beta1.GetDefaultAppProviderForMimeTypeResponse + (*v1beta19.SetDefaultAppProviderForMimeTypeResponse)(nil), // 188: cs3.app.registry.v1beta1.SetDefaultAppProviderForMimeTypeResponse + (*v1beta12.GetUserResponse)(nil), // 189: cs3.identity.user.v1beta1.GetUserResponse + (*v1beta12.GetUserByClaimResponse)(nil), // 190: cs3.identity.user.v1beta1.GetUserByClaimResponse + (*v1beta12.GetUserGroupsResponse)(nil), // 191: cs3.identity.user.v1beta1.GetUserGroupsResponse + (*v1beta12.FindUsersResponse)(nil), // 192: cs3.identity.user.v1beta1.FindUsersResponse + (*v1beta110.GetTenantResponse)(nil), // 193: cs3.identity.tenant.v1beta1.GetTenantResponse + (*v1beta110.GetTenantByClaimResponse)(nil), // 194: cs3.identity.tenant.v1beta1.GetTenantByClaimResponse + (*v1beta111.GetGroupResponse)(nil), // 195: cs3.identity.group.v1beta1.GetGroupResponse + (*v1beta111.GetGroupByClaimResponse)(nil), // 196: cs3.identity.group.v1beta1.GetGroupByClaimResponse + (*v1beta111.GetMembersResponse)(nil), // 197: cs3.identity.group.v1beta1.GetMembersResponse + (*v1beta111.HasMemberResponse)(nil), // 198: cs3.identity.group.v1beta1.HasMemberResponse + (*v1beta111.FindGroupsResponse)(nil), // 199: cs3.identity.group.v1beta1.FindGroupsResponse + (*v1beta13.GetHomeResponse)(nil), // 200: cs3.storage.provider.v1beta1.GetHomeResponse + (*v1beta113.GenerateInviteTokenResponse)(nil), // 201: cs3.ocm.invite.v1beta1.GenerateInviteTokenResponse + (*v1beta113.ListInviteTokensResponse)(nil), // 202: cs3.ocm.invite.v1beta1.ListInviteTokensResponse + (*v1beta113.ForwardInviteResponse)(nil), // 203: cs3.ocm.invite.v1beta1.ForwardInviteResponse + (*v1beta113.AcceptInviteResponse)(nil), // 204: cs3.ocm.invite.v1beta1.AcceptInviteResponse + (*v1beta113.GetAcceptedUserResponse)(nil), // 205: cs3.ocm.invite.v1beta1.GetAcceptedUserResponse + (*v1beta113.FindAcceptedUsersResponse)(nil), // 206: cs3.ocm.invite.v1beta1.FindAcceptedUsersResponse + (*v1beta113.DeleteAcceptedUserResponse)(nil), // 207: cs3.ocm.invite.v1beta1.DeleteAcceptedUserResponse + (*v1beta114.IsProviderAllowedResponse)(nil), // 208: cs3.ocm.provider.v1beta1.IsProviderAllowedResponse + (*v1beta114.GetInfoByDomainResponse)(nil), // 209: cs3.ocm.provider.v1beta1.GetInfoByDomainResponse + (*v1beta114.ListAllProvidersResponse)(nil), // 210: cs3.ocm.provider.v1beta1.ListAllProvidersResponse + (*v1beta115.CreateOCMIncomingShareResponse)(nil), // 211: cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse + (*v1beta115.UpdateOCMIncomingShareResponse)(nil), // 212: cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse + (*v1beta115.DeleteOCMIncomingShareResponse)(nil), // 213: cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse + (*v1beta116.CreateOCMCoreShareResponse)(nil), // 214: cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse + (*v1beta116.UpdateOCMCoreShareResponse)(nil), // 215: cs3.ocm.core.v1beta1.UpdateOCMCoreShareResponse + (*v1beta116.DeleteOCMCoreShareResponse)(nil), // 216: cs3.ocm.core.v1beta1.DeleteOCMCoreShareResponse + (*v1beta117.CreateTransferResponse)(nil), // 217: cs3.tx.v1beta1.CreateTransferResponse + (*v1beta117.GetTransferStatusResponse)(nil), // 218: cs3.tx.v1beta1.GetTransferStatusResponse + (*v1beta117.CancelTransferResponse)(nil), // 219: cs3.tx.v1beta1.CancelTransferResponse + (*v1beta117.ListTransfersResponse)(nil), // 220: cs3.tx.v1beta1.ListTransfersResponse + (*v1beta117.RetryTransferResponse)(nil), // 221: cs3.tx.v1beta1.RetryTransferResponse + (*v1beta118.CheckPermissionResponse)(nil), // 222: cs3.permissions.v1beta1.CheckPermissionResponse } var file_cs3_gateway_v1beta1_gateway_api_proto_depIdxs = []int32{ 14, // 0: cs3.gateway.v1beta1.AuthenticateRequest.opaque:type_name -> cs3.types.v1beta1.Opaque @@ -2511,143 +2533,147 @@ var file_cs3_gateway_v1beta1_gateway_api_proto_depIdxs = []int32{ 90, // 107: cs3.gateway.v1beta1.GatewayAPI.GetUserByClaim:input_type -> cs3.identity.user.v1beta1.GetUserByClaimRequest 91, // 108: cs3.gateway.v1beta1.GatewayAPI.GetUserGroups:input_type -> cs3.identity.user.v1beta1.GetUserGroupsRequest 92, // 109: cs3.gateway.v1beta1.GatewayAPI.FindUsers:input_type -> cs3.identity.user.v1beta1.FindUsersRequest - 93, // 110: cs3.gateway.v1beta1.GatewayAPI.GetGroup:input_type -> cs3.identity.group.v1beta1.GetGroupRequest - 94, // 111: cs3.gateway.v1beta1.GatewayAPI.GetGroupByClaim:input_type -> cs3.identity.group.v1beta1.GetGroupByClaimRequest - 95, // 112: cs3.gateway.v1beta1.GatewayAPI.GetMembers:input_type -> cs3.identity.group.v1beta1.GetMembersRequest - 96, // 113: cs3.gateway.v1beta1.GatewayAPI.HasMember:input_type -> cs3.identity.group.v1beta1.HasMemberRequest - 97, // 114: cs3.gateway.v1beta1.GatewayAPI.FindGroups:input_type -> cs3.identity.group.v1beta1.FindGroupsRequest - 98, // 115: cs3.gateway.v1beta1.GatewayAPI.ListAuthProviders:input_type -> cs3.auth.registry.v1beta1.ListAuthProvidersRequest - 99, // 116: cs3.gateway.v1beta1.GatewayAPI.GetHome:input_type -> cs3.storage.provider.v1beta1.GetHomeRequest - 100, // 117: cs3.gateway.v1beta1.GatewayAPI.GenerateInviteToken:input_type -> cs3.ocm.invite.v1beta1.GenerateInviteTokenRequest - 101, // 118: cs3.gateway.v1beta1.GatewayAPI.ListInviteTokens:input_type -> cs3.ocm.invite.v1beta1.ListInviteTokensRequest - 102, // 119: cs3.gateway.v1beta1.GatewayAPI.ForwardInvite:input_type -> cs3.ocm.invite.v1beta1.ForwardInviteRequest - 103, // 120: cs3.gateway.v1beta1.GatewayAPI.AcceptInvite:input_type -> cs3.ocm.invite.v1beta1.AcceptInviteRequest - 104, // 121: cs3.gateway.v1beta1.GatewayAPI.GetAcceptedUser:input_type -> cs3.ocm.invite.v1beta1.GetAcceptedUserRequest - 105, // 122: cs3.gateway.v1beta1.GatewayAPI.FindAcceptedUsers:input_type -> cs3.ocm.invite.v1beta1.FindAcceptedUsersRequest - 106, // 123: cs3.gateway.v1beta1.GatewayAPI.DeleteAcceptedUser:input_type -> cs3.ocm.invite.v1beta1.DeleteAcceptedUserRequest - 107, // 124: cs3.gateway.v1beta1.GatewayAPI.IsProviderAllowed:input_type -> cs3.ocm.provider.v1beta1.IsProviderAllowedRequest - 108, // 125: cs3.gateway.v1beta1.GatewayAPI.GetInfoByDomain:input_type -> cs3.ocm.provider.v1beta1.GetInfoByDomainRequest - 109, // 126: cs3.gateway.v1beta1.GatewayAPI.ListAllProviders:input_type -> cs3.ocm.provider.v1beta1.ListAllProvidersRequest - 110, // 127: cs3.gateway.v1beta1.GatewayAPI.CreateOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest - 111, // 128: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest - 112, // 129: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareRequest - 113, // 130: cs3.gateway.v1beta1.GatewayAPI.CreateOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest - 114, // 131: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest - 115, // 132: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.DeleteOCMCoreShareRequest - 116, // 133: cs3.gateway.v1beta1.GatewayAPI.CreateTransfer:input_type -> cs3.tx.v1beta1.CreateTransferRequest - 117, // 134: cs3.gateway.v1beta1.GatewayAPI.GetTransferStatus:input_type -> cs3.tx.v1beta1.GetTransferStatusRequest - 118, // 135: cs3.gateway.v1beta1.GatewayAPI.CancelTransfer:input_type -> cs3.tx.v1beta1.CancelTransferRequest - 119, // 136: cs3.gateway.v1beta1.GatewayAPI.ListTransfers:input_type -> cs3.tx.v1beta1.ListTransfersRequest - 120, // 137: cs3.gateway.v1beta1.GatewayAPI.RetryTransfer:input_type -> cs3.tx.v1beta1.RetryTransferRequest - 121, // 138: cs3.gateway.v1beta1.GatewayAPI.CheckPermission:input_type -> cs3.permissions.v1beta1.CheckPermissionRequest - 2, // 139: cs3.gateway.v1beta1.GatewayAPI.Authenticate:output_type -> cs3.gateway.v1beta1.AuthenticateResponse - 4, // 140: cs3.gateway.v1beta1.GatewayAPI.WhoAmI:output_type -> cs3.gateway.v1beta1.WhoAmIResponse - 122, // 141: cs3.gateway.v1beta1.GatewayAPI.GenerateAppPassword:output_type -> cs3.auth.applications.v1beta1.GenerateAppPasswordResponse - 123, // 142: cs3.gateway.v1beta1.GatewayAPI.ListAppPasswords:output_type -> cs3.auth.applications.v1beta1.ListAppPasswordsResponse - 124, // 143: cs3.gateway.v1beta1.GatewayAPI.InvalidateAppPassword:output_type -> cs3.auth.applications.v1beta1.InvalidateAppPasswordResponse - 125, // 144: cs3.gateway.v1beta1.GatewayAPI.GetAppPassword:output_type -> cs3.auth.applications.v1beta1.GetAppPasswordResponse - 126, // 145: cs3.gateway.v1beta1.GatewayAPI.CreateContainer:output_type -> cs3.storage.provider.v1beta1.CreateContainerResponse - 127, // 146: cs3.gateway.v1beta1.GatewayAPI.TouchFile:output_type -> cs3.storage.provider.v1beta1.TouchFileResponse - 128, // 147: cs3.gateway.v1beta1.GatewayAPI.Delete:output_type -> cs3.storage.provider.v1beta1.DeleteResponse - 129, // 148: cs3.gateway.v1beta1.GatewayAPI.GetPath:output_type -> cs3.storage.provider.v1beta1.GetPathResponse - 130, // 149: cs3.gateway.v1beta1.GatewayAPI.GetQuota:output_type -> cs3.storage.provider.v1beta1.GetQuotaResponse - 6, // 150: cs3.gateway.v1beta1.GatewayAPI.InitiateFileDownload:output_type -> cs3.gateway.v1beta1.InitiateFileDownloadResponse - 7, // 151: cs3.gateway.v1beta1.GatewayAPI.InitiateFileUpload:output_type -> cs3.gateway.v1beta1.InitiateFileUploadResponse - 131, // 152: cs3.gateway.v1beta1.GatewayAPI.ListContainerStream:output_type -> cs3.storage.provider.v1beta1.ListContainerStreamResponse - 132, // 153: cs3.gateway.v1beta1.GatewayAPI.ListContainer:output_type -> cs3.storage.provider.v1beta1.ListContainerResponse - 133, // 154: cs3.gateway.v1beta1.GatewayAPI.ListFileVersions:output_type -> cs3.storage.provider.v1beta1.ListFileVersionsResponse - 134, // 155: cs3.gateway.v1beta1.GatewayAPI.ListRecycleStream:output_type -> cs3.storage.provider.v1beta1.ListRecycleStreamResponse - 135, // 156: cs3.gateway.v1beta1.GatewayAPI.ListRecycle:output_type -> cs3.storage.provider.v1beta1.ListRecycleResponse - 136, // 157: cs3.gateway.v1beta1.GatewayAPI.Move:output_type -> cs3.storage.provider.v1beta1.MoveResponse - 137, // 158: cs3.gateway.v1beta1.GatewayAPI.PurgeRecycle:output_type -> cs3.storage.provider.v1beta1.PurgeRecycleResponse - 138, // 159: cs3.gateway.v1beta1.GatewayAPI.RestoreFileVersion:output_type -> cs3.storage.provider.v1beta1.RestoreFileVersionResponse - 139, // 160: cs3.gateway.v1beta1.GatewayAPI.RestoreRecycleItem:output_type -> cs3.storage.provider.v1beta1.RestoreRecycleItemResponse - 140, // 161: cs3.gateway.v1beta1.GatewayAPI.Stat:output_type -> cs3.storage.provider.v1beta1.StatResponse - 141, // 162: cs3.gateway.v1beta1.GatewayAPI.CreateSymlink:output_type -> cs3.storage.provider.v1beta1.CreateSymlinkResponse - 142, // 163: cs3.gateway.v1beta1.GatewayAPI.SetArbitraryMetadata:output_type -> cs3.storage.provider.v1beta1.SetArbitraryMetadataResponse - 143, // 164: cs3.gateway.v1beta1.GatewayAPI.UnsetArbitraryMetadata:output_type -> cs3.storage.provider.v1beta1.UnsetArbitraryMetadataResponse - 144, // 165: cs3.gateway.v1beta1.GatewayAPI.SetLock:output_type -> cs3.storage.provider.v1beta1.SetLockResponse - 145, // 166: cs3.gateway.v1beta1.GatewayAPI.GetLock:output_type -> cs3.storage.provider.v1beta1.GetLockResponse - 146, // 167: cs3.gateway.v1beta1.GatewayAPI.RefreshLock:output_type -> cs3.storage.provider.v1beta1.RefreshLockResponse - 147, // 168: cs3.gateway.v1beta1.GatewayAPI.Unlock:output_type -> cs3.storage.provider.v1beta1.UnlockResponse - 148, // 169: cs3.gateway.v1beta1.GatewayAPI.CreateHome:output_type -> cs3.storage.provider.v1beta1.CreateHomeResponse - 149, // 170: cs3.gateway.v1beta1.GatewayAPI.CreateStorageSpace:output_type -> cs3.storage.provider.v1beta1.CreateStorageSpaceResponse - 150, // 171: cs3.gateway.v1beta1.GatewayAPI.ListStorageSpaces:output_type -> cs3.storage.provider.v1beta1.ListStorageSpacesResponse - 151, // 172: cs3.gateway.v1beta1.GatewayAPI.UpdateStorageSpace:output_type -> cs3.storage.provider.v1beta1.UpdateStorageSpaceResponse - 152, // 173: cs3.gateway.v1beta1.GatewayAPI.DeleteStorageSpace:output_type -> cs3.storage.provider.v1beta1.DeleteStorageSpaceResponse - 153, // 174: cs3.gateway.v1beta1.GatewayAPI.AddFavorite:output_type -> cs3.storage.provider.v1beta1.AddFavoriteResponse - 154, // 175: cs3.gateway.v1beta1.GatewayAPI.RemoveFavorite:output_type -> cs3.storage.provider.v1beta1.RemoveFavoriteResponse - 155, // 176: cs3.gateway.v1beta1.GatewayAPI.OpenInApp:output_type -> cs3.app.provider.v1beta1.OpenInAppResponse - 156, // 177: cs3.gateway.v1beta1.GatewayAPI.CreateShare:output_type -> cs3.sharing.collaboration.v1beta1.CreateShareResponse - 157, // 178: cs3.gateway.v1beta1.GatewayAPI.RemoveShare:output_type -> cs3.sharing.collaboration.v1beta1.RemoveShareResponse - 158, // 179: cs3.gateway.v1beta1.GatewayAPI.GetShare:output_type -> cs3.sharing.collaboration.v1beta1.GetShareResponse - 159, // 180: cs3.gateway.v1beta1.GatewayAPI.ListShares:output_type -> cs3.sharing.collaboration.v1beta1.ListSharesResponse - 9, // 181: cs3.gateway.v1beta1.GatewayAPI.ListExistingShares:output_type -> cs3.gateway.v1beta1.ListExistingSharesResponse - 160, // 182: cs3.gateway.v1beta1.GatewayAPI.UpdateShare:output_type -> cs3.sharing.collaboration.v1beta1.UpdateShareResponse - 161, // 183: cs3.gateway.v1beta1.GatewayAPI.ListReceivedShares:output_type -> cs3.sharing.collaboration.v1beta1.ListReceivedSharesResponse - 10, // 184: cs3.gateway.v1beta1.GatewayAPI.ListExistingReceivedShares:output_type -> cs3.gateway.v1beta1.ListExistingReceivedSharesResponse - 162, // 185: cs3.gateway.v1beta1.GatewayAPI.UpdateReceivedShare:output_type -> cs3.sharing.collaboration.v1beta1.UpdateReceivedShareResponse - 163, // 186: cs3.gateway.v1beta1.GatewayAPI.GetReceivedShare:output_type -> cs3.sharing.collaboration.v1beta1.GetReceivedShareResponse - 164, // 187: cs3.gateway.v1beta1.GatewayAPI.SetKey:output_type -> cs3.preferences.v1beta1.SetKeyResponse - 165, // 188: cs3.gateway.v1beta1.GatewayAPI.GetKey:output_type -> cs3.preferences.v1beta1.GetKeyResponse - 166, // 189: cs3.gateway.v1beta1.GatewayAPI.CreatePublicShare:output_type -> cs3.sharing.link.v1beta1.CreatePublicShareResponse - 167, // 190: cs3.gateway.v1beta1.GatewayAPI.RemovePublicShare:output_type -> cs3.sharing.link.v1beta1.RemovePublicShareResponse - 168, // 191: cs3.gateway.v1beta1.GatewayAPI.GetPublicShare:output_type -> cs3.sharing.link.v1beta1.GetPublicShareResponse - 169, // 192: cs3.gateway.v1beta1.GatewayAPI.GetPublicShareByToken:output_type -> cs3.sharing.link.v1beta1.GetPublicShareByTokenResponse - 170, // 193: cs3.gateway.v1beta1.GatewayAPI.ListPublicShares:output_type -> cs3.sharing.link.v1beta1.ListPublicSharesResponse - 11, // 194: cs3.gateway.v1beta1.GatewayAPI.ListExistingPublicShares:output_type -> cs3.gateway.v1beta1.ListExistingPublicSharesResponse - 171, // 195: cs3.gateway.v1beta1.GatewayAPI.UpdatePublicShare:output_type -> cs3.sharing.link.v1beta1.UpdatePublicShareResponse - 172, // 196: cs3.gateway.v1beta1.GatewayAPI.CreateOCMShare:output_type -> cs3.sharing.ocm.v1beta1.CreateOCMShareResponse - 173, // 197: cs3.gateway.v1beta1.GatewayAPI.RemoveOCMShare:output_type -> cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse - 174, // 198: cs3.gateway.v1beta1.GatewayAPI.GetOCMShare:output_type -> cs3.sharing.ocm.v1beta1.GetOCMShareResponse - 175, // 199: cs3.gateway.v1beta1.GatewayAPI.GetOCMShareByToken:output_type -> cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse - 176, // 200: cs3.gateway.v1beta1.GatewayAPI.ListOCMShares:output_type -> cs3.sharing.ocm.v1beta1.ListOCMSharesResponse - 12, // 201: cs3.gateway.v1beta1.GatewayAPI.ListExistingOCMShares:output_type -> cs3.gateway.v1beta1.ListExistingOCMSharesResponse - 177, // 202: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMShare:output_type -> cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse - 178, // 203: cs3.gateway.v1beta1.GatewayAPI.ListReceivedOCMShares:output_type -> cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse - 179, // 204: cs3.gateway.v1beta1.GatewayAPI.UpdateReceivedOCMShare:output_type -> cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse - 180, // 205: cs3.gateway.v1beta1.GatewayAPI.GetReceivedOCMShare:output_type -> cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse - 181, // 206: cs3.gateway.v1beta1.GatewayAPI.GetAppProviders:output_type -> cs3.app.registry.v1beta1.GetAppProvidersResponse - 182, // 207: cs3.gateway.v1beta1.GatewayAPI.AddAppProvider:output_type -> cs3.app.registry.v1beta1.AddAppProviderResponse - 183, // 208: cs3.gateway.v1beta1.GatewayAPI.ListAppProviders:output_type -> cs3.app.registry.v1beta1.ListAppProvidersResponse - 184, // 209: cs3.gateway.v1beta1.GatewayAPI.ListSupportedMimeTypes:output_type -> cs3.app.registry.v1beta1.ListSupportedMimeTypesResponse - 185, // 210: cs3.gateway.v1beta1.GatewayAPI.GetDefaultAppProviderForMimeType:output_type -> cs3.app.registry.v1beta1.GetDefaultAppProviderForMimeTypeResponse - 186, // 211: cs3.gateway.v1beta1.GatewayAPI.SetDefaultAppProviderForMimeType:output_type -> cs3.app.registry.v1beta1.SetDefaultAppProviderForMimeTypeResponse - 187, // 212: cs3.gateway.v1beta1.GatewayAPI.GetUser:output_type -> cs3.identity.user.v1beta1.GetUserResponse - 188, // 213: cs3.gateway.v1beta1.GatewayAPI.GetUserByClaim:output_type -> cs3.identity.user.v1beta1.GetUserByClaimResponse - 189, // 214: cs3.gateway.v1beta1.GatewayAPI.GetUserGroups:output_type -> cs3.identity.user.v1beta1.GetUserGroupsResponse - 190, // 215: cs3.gateway.v1beta1.GatewayAPI.FindUsers:output_type -> cs3.identity.user.v1beta1.FindUsersResponse - 191, // 216: cs3.gateway.v1beta1.GatewayAPI.GetGroup:output_type -> cs3.identity.group.v1beta1.GetGroupResponse - 192, // 217: cs3.gateway.v1beta1.GatewayAPI.GetGroupByClaim:output_type -> cs3.identity.group.v1beta1.GetGroupByClaimResponse - 193, // 218: cs3.gateway.v1beta1.GatewayAPI.GetMembers:output_type -> cs3.identity.group.v1beta1.GetMembersResponse - 194, // 219: cs3.gateway.v1beta1.GatewayAPI.HasMember:output_type -> cs3.identity.group.v1beta1.HasMemberResponse - 195, // 220: cs3.gateway.v1beta1.GatewayAPI.FindGroups:output_type -> cs3.identity.group.v1beta1.FindGroupsResponse - 8, // 221: cs3.gateway.v1beta1.GatewayAPI.ListAuthProviders:output_type -> cs3.gateway.v1beta1.ListAuthProvidersResponse - 196, // 222: cs3.gateway.v1beta1.GatewayAPI.GetHome:output_type -> cs3.storage.provider.v1beta1.GetHomeResponse - 197, // 223: cs3.gateway.v1beta1.GatewayAPI.GenerateInviteToken:output_type -> cs3.ocm.invite.v1beta1.GenerateInviteTokenResponse - 198, // 224: cs3.gateway.v1beta1.GatewayAPI.ListInviteTokens:output_type -> cs3.ocm.invite.v1beta1.ListInviteTokensResponse - 199, // 225: cs3.gateway.v1beta1.GatewayAPI.ForwardInvite:output_type -> cs3.ocm.invite.v1beta1.ForwardInviteResponse - 200, // 226: cs3.gateway.v1beta1.GatewayAPI.AcceptInvite:output_type -> cs3.ocm.invite.v1beta1.AcceptInviteResponse - 201, // 227: cs3.gateway.v1beta1.GatewayAPI.GetAcceptedUser:output_type -> cs3.ocm.invite.v1beta1.GetAcceptedUserResponse - 202, // 228: cs3.gateway.v1beta1.GatewayAPI.FindAcceptedUsers:output_type -> cs3.ocm.invite.v1beta1.FindAcceptedUsersResponse - 203, // 229: cs3.gateway.v1beta1.GatewayAPI.DeleteAcceptedUser:output_type -> cs3.ocm.invite.v1beta1.DeleteAcceptedUserResponse - 204, // 230: cs3.gateway.v1beta1.GatewayAPI.IsProviderAllowed:output_type -> cs3.ocm.provider.v1beta1.IsProviderAllowedResponse - 205, // 231: cs3.gateway.v1beta1.GatewayAPI.GetInfoByDomain:output_type -> cs3.ocm.provider.v1beta1.GetInfoByDomainResponse - 206, // 232: cs3.gateway.v1beta1.GatewayAPI.ListAllProviders:output_type -> cs3.ocm.provider.v1beta1.ListAllProvidersResponse - 207, // 233: cs3.gateway.v1beta1.GatewayAPI.CreateOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse - 208, // 234: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse - 209, // 235: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse - 210, // 236: cs3.gateway.v1beta1.GatewayAPI.CreateOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse - 211, // 237: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.UpdateOCMCoreShareResponse - 212, // 238: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.DeleteOCMCoreShareResponse - 213, // 239: cs3.gateway.v1beta1.GatewayAPI.CreateTransfer:output_type -> cs3.tx.v1beta1.CreateTransferResponse - 214, // 240: cs3.gateway.v1beta1.GatewayAPI.GetTransferStatus:output_type -> cs3.tx.v1beta1.GetTransferStatusResponse - 215, // 241: cs3.gateway.v1beta1.GatewayAPI.CancelTransfer:output_type -> cs3.tx.v1beta1.CancelTransferResponse - 216, // 242: cs3.gateway.v1beta1.GatewayAPI.ListTransfers:output_type -> cs3.tx.v1beta1.ListTransfersResponse - 217, // 243: cs3.gateway.v1beta1.GatewayAPI.RetryTransfer:output_type -> cs3.tx.v1beta1.RetryTransferResponse - 218, // 244: cs3.gateway.v1beta1.GatewayAPI.CheckPermission:output_type -> cs3.permissions.v1beta1.CheckPermissionResponse - 139, // [139:245] is the sub-list for method output_type - 33, // [33:139] is the sub-list for method input_type + 93, // 110: cs3.gateway.v1beta1.GatewayAPI.GetTenant:input_type -> cs3.identity.tenant.v1beta1.GetTenantRequest + 94, // 111: cs3.gateway.v1beta1.GatewayAPI.GetTenantByClaim:input_type -> cs3.identity.tenant.v1beta1.GetTenantByClaimRequest + 95, // 112: cs3.gateway.v1beta1.GatewayAPI.GetGroup:input_type -> cs3.identity.group.v1beta1.GetGroupRequest + 96, // 113: cs3.gateway.v1beta1.GatewayAPI.GetGroupByClaim:input_type -> cs3.identity.group.v1beta1.GetGroupByClaimRequest + 97, // 114: cs3.gateway.v1beta1.GatewayAPI.GetMembers:input_type -> cs3.identity.group.v1beta1.GetMembersRequest + 98, // 115: cs3.gateway.v1beta1.GatewayAPI.HasMember:input_type -> cs3.identity.group.v1beta1.HasMemberRequest + 99, // 116: cs3.gateway.v1beta1.GatewayAPI.FindGroups:input_type -> cs3.identity.group.v1beta1.FindGroupsRequest + 100, // 117: cs3.gateway.v1beta1.GatewayAPI.ListAuthProviders:input_type -> cs3.auth.registry.v1beta1.ListAuthProvidersRequest + 101, // 118: cs3.gateway.v1beta1.GatewayAPI.GetHome:input_type -> cs3.storage.provider.v1beta1.GetHomeRequest + 102, // 119: cs3.gateway.v1beta1.GatewayAPI.GenerateInviteToken:input_type -> cs3.ocm.invite.v1beta1.GenerateInviteTokenRequest + 103, // 120: cs3.gateway.v1beta1.GatewayAPI.ListInviteTokens:input_type -> cs3.ocm.invite.v1beta1.ListInviteTokensRequest + 104, // 121: cs3.gateway.v1beta1.GatewayAPI.ForwardInvite:input_type -> cs3.ocm.invite.v1beta1.ForwardInviteRequest + 105, // 122: cs3.gateway.v1beta1.GatewayAPI.AcceptInvite:input_type -> cs3.ocm.invite.v1beta1.AcceptInviteRequest + 106, // 123: cs3.gateway.v1beta1.GatewayAPI.GetAcceptedUser:input_type -> cs3.ocm.invite.v1beta1.GetAcceptedUserRequest + 107, // 124: cs3.gateway.v1beta1.GatewayAPI.FindAcceptedUsers:input_type -> cs3.ocm.invite.v1beta1.FindAcceptedUsersRequest + 108, // 125: cs3.gateway.v1beta1.GatewayAPI.DeleteAcceptedUser:input_type -> cs3.ocm.invite.v1beta1.DeleteAcceptedUserRequest + 109, // 126: cs3.gateway.v1beta1.GatewayAPI.IsProviderAllowed:input_type -> cs3.ocm.provider.v1beta1.IsProviderAllowedRequest + 110, // 127: cs3.gateway.v1beta1.GatewayAPI.GetInfoByDomain:input_type -> cs3.ocm.provider.v1beta1.GetInfoByDomainRequest + 111, // 128: cs3.gateway.v1beta1.GatewayAPI.ListAllProviders:input_type -> cs3.ocm.provider.v1beta1.ListAllProvidersRequest + 112, // 129: cs3.gateway.v1beta1.GatewayAPI.CreateOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareRequest + 113, // 130: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareRequest + 114, // 131: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMIncomingShare:input_type -> cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareRequest + 115, // 132: cs3.gateway.v1beta1.GatewayAPI.CreateOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.CreateOCMCoreShareRequest + 116, // 133: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.UpdateOCMCoreShareRequest + 117, // 134: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMCoreShare:input_type -> cs3.ocm.core.v1beta1.DeleteOCMCoreShareRequest + 118, // 135: cs3.gateway.v1beta1.GatewayAPI.CreateTransfer:input_type -> cs3.tx.v1beta1.CreateTransferRequest + 119, // 136: cs3.gateway.v1beta1.GatewayAPI.GetTransferStatus:input_type -> cs3.tx.v1beta1.GetTransferStatusRequest + 120, // 137: cs3.gateway.v1beta1.GatewayAPI.CancelTransfer:input_type -> cs3.tx.v1beta1.CancelTransferRequest + 121, // 138: cs3.gateway.v1beta1.GatewayAPI.ListTransfers:input_type -> cs3.tx.v1beta1.ListTransfersRequest + 122, // 139: cs3.gateway.v1beta1.GatewayAPI.RetryTransfer:input_type -> cs3.tx.v1beta1.RetryTransferRequest + 123, // 140: cs3.gateway.v1beta1.GatewayAPI.CheckPermission:input_type -> cs3.permissions.v1beta1.CheckPermissionRequest + 2, // 141: cs3.gateway.v1beta1.GatewayAPI.Authenticate:output_type -> cs3.gateway.v1beta1.AuthenticateResponse + 4, // 142: cs3.gateway.v1beta1.GatewayAPI.WhoAmI:output_type -> cs3.gateway.v1beta1.WhoAmIResponse + 124, // 143: cs3.gateway.v1beta1.GatewayAPI.GenerateAppPassword:output_type -> cs3.auth.applications.v1beta1.GenerateAppPasswordResponse + 125, // 144: cs3.gateway.v1beta1.GatewayAPI.ListAppPasswords:output_type -> cs3.auth.applications.v1beta1.ListAppPasswordsResponse + 126, // 145: cs3.gateway.v1beta1.GatewayAPI.InvalidateAppPassword:output_type -> cs3.auth.applications.v1beta1.InvalidateAppPasswordResponse + 127, // 146: cs3.gateway.v1beta1.GatewayAPI.GetAppPassword:output_type -> cs3.auth.applications.v1beta1.GetAppPasswordResponse + 128, // 147: cs3.gateway.v1beta1.GatewayAPI.CreateContainer:output_type -> cs3.storage.provider.v1beta1.CreateContainerResponse + 129, // 148: cs3.gateway.v1beta1.GatewayAPI.TouchFile:output_type -> cs3.storage.provider.v1beta1.TouchFileResponse + 130, // 149: cs3.gateway.v1beta1.GatewayAPI.Delete:output_type -> cs3.storage.provider.v1beta1.DeleteResponse + 131, // 150: cs3.gateway.v1beta1.GatewayAPI.GetPath:output_type -> cs3.storage.provider.v1beta1.GetPathResponse + 132, // 151: cs3.gateway.v1beta1.GatewayAPI.GetQuota:output_type -> cs3.storage.provider.v1beta1.GetQuotaResponse + 6, // 152: cs3.gateway.v1beta1.GatewayAPI.InitiateFileDownload:output_type -> cs3.gateway.v1beta1.InitiateFileDownloadResponse + 7, // 153: cs3.gateway.v1beta1.GatewayAPI.InitiateFileUpload:output_type -> cs3.gateway.v1beta1.InitiateFileUploadResponse + 133, // 154: cs3.gateway.v1beta1.GatewayAPI.ListContainerStream:output_type -> cs3.storage.provider.v1beta1.ListContainerStreamResponse + 134, // 155: cs3.gateway.v1beta1.GatewayAPI.ListContainer:output_type -> cs3.storage.provider.v1beta1.ListContainerResponse + 135, // 156: cs3.gateway.v1beta1.GatewayAPI.ListFileVersions:output_type -> cs3.storage.provider.v1beta1.ListFileVersionsResponse + 136, // 157: cs3.gateway.v1beta1.GatewayAPI.ListRecycleStream:output_type -> cs3.storage.provider.v1beta1.ListRecycleStreamResponse + 137, // 158: cs3.gateway.v1beta1.GatewayAPI.ListRecycle:output_type -> cs3.storage.provider.v1beta1.ListRecycleResponse + 138, // 159: cs3.gateway.v1beta1.GatewayAPI.Move:output_type -> cs3.storage.provider.v1beta1.MoveResponse + 139, // 160: cs3.gateway.v1beta1.GatewayAPI.PurgeRecycle:output_type -> cs3.storage.provider.v1beta1.PurgeRecycleResponse + 140, // 161: cs3.gateway.v1beta1.GatewayAPI.RestoreFileVersion:output_type -> cs3.storage.provider.v1beta1.RestoreFileVersionResponse + 141, // 162: cs3.gateway.v1beta1.GatewayAPI.RestoreRecycleItem:output_type -> cs3.storage.provider.v1beta1.RestoreRecycleItemResponse + 142, // 163: cs3.gateway.v1beta1.GatewayAPI.Stat:output_type -> cs3.storage.provider.v1beta1.StatResponse + 143, // 164: cs3.gateway.v1beta1.GatewayAPI.CreateSymlink:output_type -> cs3.storage.provider.v1beta1.CreateSymlinkResponse + 144, // 165: cs3.gateway.v1beta1.GatewayAPI.SetArbitraryMetadata:output_type -> cs3.storage.provider.v1beta1.SetArbitraryMetadataResponse + 145, // 166: cs3.gateway.v1beta1.GatewayAPI.UnsetArbitraryMetadata:output_type -> cs3.storage.provider.v1beta1.UnsetArbitraryMetadataResponse + 146, // 167: cs3.gateway.v1beta1.GatewayAPI.SetLock:output_type -> cs3.storage.provider.v1beta1.SetLockResponse + 147, // 168: cs3.gateway.v1beta1.GatewayAPI.GetLock:output_type -> cs3.storage.provider.v1beta1.GetLockResponse + 148, // 169: cs3.gateway.v1beta1.GatewayAPI.RefreshLock:output_type -> cs3.storage.provider.v1beta1.RefreshLockResponse + 149, // 170: cs3.gateway.v1beta1.GatewayAPI.Unlock:output_type -> cs3.storage.provider.v1beta1.UnlockResponse + 150, // 171: cs3.gateway.v1beta1.GatewayAPI.CreateHome:output_type -> cs3.storage.provider.v1beta1.CreateHomeResponse + 151, // 172: cs3.gateway.v1beta1.GatewayAPI.CreateStorageSpace:output_type -> cs3.storage.provider.v1beta1.CreateStorageSpaceResponse + 152, // 173: cs3.gateway.v1beta1.GatewayAPI.ListStorageSpaces:output_type -> cs3.storage.provider.v1beta1.ListStorageSpacesResponse + 153, // 174: cs3.gateway.v1beta1.GatewayAPI.UpdateStorageSpace:output_type -> cs3.storage.provider.v1beta1.UpdateStorageSpaceResponse + 154, // 175: cs3.gateway.v1beta1.GatewayAPI.DeleteStorageSpace:output_type -> cs3.storage.provider.v1beta1.DeleteStorageSpaceResponse + 155, // 176: cs3.gateway.v1beta1.GatewayAPI.AddFavorite:output_type -> cs3.storage.provider.v1beta1.AddFavoriteResponse + 156, // 177: cs3.gateway.v1beta1.GatewayAPI.RemoveFavorite:output_type -> cs3.storage.provider.v1beta1.RemoveFavoriteResponse + 157, // 178: cs3.gateway.v1beta1.GatewayAPI.OpenInApp:output_type -> cs3.app.provider.v1beta1.OpenInAppResponse + 158, // 179: cs3.gateway.v1beta1.GatewayAPI.CreateShare:output_type -> cs3.sharing.collaboration.v1beta1.CreateShareResponse + 159, // 180: cs3.gateway.v1beta1.GatewayAPI.RemoveShare:output_type -> cs3.sharing.collaboration.v1beta1.RemoveShareResponse + 160, // 181: cs3.gateway.v1beta1.GatewayAPI.GetShare:output_type -> cs3.sharing.collaboration.v1beta1.GetShareResponse + 161, // 182: cs3.gateway.v1beta1.GatewayAPI.ListShares:output_type -> cs3.sharing.collaboration.v1beta1.ListSharesResponse + 9, // 183: cs3.gateway.v1beta1.GatewayAPI.ListExistingShares:output_type -> cs3.gateway.v1beta1.ListExistingSharesResponse + 162, // 184: cs3.gateway.v1beta1.GatewayAPI.UpdateShare:output_type -> cs3.sharing.collaboration.v1beta1.UpdateShareResponse + 163, // 185: cs3.gateway.v1beta1.GatewayAPI.ListReceivedShares:output_type -> cs3.sharing.collaboration.v1beta1.ListReceivedSharesResponse + 10, // 186: cs3.gateway.v1beta1.GatewayAPI.ListExistingReceivedShares:output_type -> cs3.gateway.v1beta1.ListExistingReceivedSharesResponse + 164, // 187: cs3.gateway.v1beta1.GatewayAPI.UpdateReceivedShare:output_type -> cs3.sharing.collaboration.v1beta1.UpdateReceivedShareResponse + 165, // 188: cs3.gateway.v1beta1.GatewayAPI.GetReceivedShare:output_type -> cs3.sharing.collaboration.v1beta1.GetReceivedShareResponse + 166, // 189: cs3.gateway.v1beta1.GatewayAPI.SetKey:output_type -> cs3.preferences.v1beta1.SetKeyResponse + 167, // 190: cs3.gateway.v1beta1.GatewayAPI.GetKey:output_type -> cs3.preferences.v1beta1.GetKeyResponse + 168, // 191: cs3.gateway.v1beta1.GatewayAPI.CreatePublicShare:output_type -> cs3.sharing.link.v1beta1.CreatePublicShareResponse + 169, // 192: cs3.gateway.v1beta1.GatewayAPI.RemovePublicShare:output_type -> cs3.sharing.link.v1beta1.RemovePublicShareResponse + 170, // 193: cs3.gateway.v1beta1.GatewayAPI.GetPublicShare:output_type -> cs3.sharing.link.v1beta1.GetPublicShareResponse + 171, // 194: cs3.gateway.v1beta1.GatewayAPI.GetPublicShareByToken:output_type -> cs3.sharing.link.v1beta1.GetPublicShareByTokenResponse + 172, // 195: cs3.gateway.v1beta1.GatewayAPI.ListPublicShares:output_type -> cs3.sharing.link.v1beta1.ListPublicSharesResponse + 11, // 196: cs3.gateway.v1beta1.GatewayAPI.ListExistingPublicShares:output_type -> cs3.gateway.v1beta1.ListExistingPublicSharesResponse + 173, // 197: cs3.gateway.v1beta1.GatewayAPI.UpdatePublicShare:output_type -> cs3.sharing.link.v1beta1.UpdatePublicShareResponse + 174, // 198: cs3.gateway.v1beta1.GatewayAPI.CreateOCMShare:output_type -> cs3.sharing.ocm.v1beta1.CreateOCMShareResponse + 175, // 199: cs3.gateway.v1beta1.GatewayAPI.RemoveOCMShare:output_type -> cs3.sharing.ocm.v1beta1.RemoveOCMShareResponse + 176, // 200: cs3.gateway.v1beta1.GatewayAPI.GetOCMShare:output_type -> cs3.sharing.ocm.v1beta1.GetOCMShareResponse + 177, // 201: cs3.gateway.v1beta1.GatewayAPI.GetOCMShareByToken:output_type -> cs3.sharing.ocm.v1beta1.GetOCMShareByTokenResponse + 178, // 202: cs3.gateway.v1beta1.GatewayAPI.ListOCMShares:output_type -> cs3.sharing.ocm.v1beta1.ListOCMSharesResponse + 12, // 203: cs3.gateway.v1beta1.GatewayAPI.ListExistingOCMShares:output_type -> cs3.gateway.v1beta1.ListExistingOCMSharesResponse + 179, // 204: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMShare:output_type -> cs3.sharing.ocm.v1beta1.UpdateOCMShareResponse + 180, // 205: cs3.gateway.v1beta1.GatewayAPI.ListReceivedOCMShares:output_type -> cs3.sharing.ocm.v1beta1.ListReceivedOCMSharesResponse + 181, // 206: cs3.gateway.v1beta1.GatewayAPI.UpdateReceivedOCMShare:output_type -> cs3.sharing.ocm.v1beta1.UpdateReceivedOCMShareResponse + 182, // 207: cs3.gateway.v1beta1.GatewayAPI.GetReceivedOCMShare:output_type -> cs3.sharing.ocm.v1beta1.GetReceivedOCMShareResponse + 183, // 208: cs3.gateway.v1beta1.GatewayAPI.GetAppProviders:output_type -> cs3.app.registry.v1beta1.GetAppProvidersResponse + 184, // 209: cs3.gateway.v1beta1.GatewayAPI.AddAppProvider:output_type -> cs3.app.registry.v1beta1.AddAppProviderResponse + 185, // 210: cs3.gateway.v1beta1.GatewayAPI.ListAppProviders:output_type -> cs3.app.registry.v1beta1.ListAppProvidersResponse + 186, // 211: cs3.gateway.v1beta1.GatewayAPI.ListSupportedMimeTypes:output_type -> cs3.app.registry.v1beta1.ListSupportedMimeTypesResponse + 187, // 212: cs3.gateway.v1beta1.GatewayAPI.GetDefaultAppProviderForMimeType:output_type -> cs3.app.registry.v1beta1.GetDefaultAppProviderForMimeTypeResponse + 188, // 213: cs3.gateway.v1beta1.GatewayAPI.SetDefaultAppProviderForMimeType:output_type -> cs3.app.registry.v1beta1.SetDefaultAppProviderForMimeTypeResponse + 189, // 214: cs3.gateway.v1beta1.GatewayAPI.GetUser:output_type -> cs3.identity.user.v1beta1.GetUserResponse + 190, // 215: cs3.gateway.v1beta1.GatewayAPI.GetUserByClaim:output_type -> cs3.identity.user.v1beta1.GetUserByClaimResponse + 191, // 216: cs3.gateway.v1beta1.GatewayAPI.GetUserGroups:output_type -> cs3.identity.user.v1beta1.GetUserGroupsResponse + 192, // 217: cs3.gateway.v1beta1.GatewayAPI.FindUsers:output_type -> cs3.identity.user.v1beta1.FindUsersResponse + 193, // 218: cs3.gateway.v1beta1.GatewayAPI.GetTenant:output_type -> cs3.identity.tenant.v1beta1.GetTenantResponse + 194, // 219: cs3.gateway.v1beta1.GatewayAPI.GetTenantByClaim:output_type -> cs3.identity.tenant.v1beta1.GetTenantByClaimResponse + 195, // 220: cs3.gateway.v1beta1.GatewayAPI.GetGroup:output_type -> cs3.identity.group.v1beta1.GetGroupResponse + 196, // 221: cs3.gateway.v1beta1.GatewayAPI.GetGroupByClaim:output_type -> cs3.identity.group.v1beta1.GetGroupByClaimResponse + 197, // 222: cs3.gateway.v1beta1.GatewayAPI.GetMembers:output_type -> cs3.identity.group.v1beta1.GetMembersResponse + 198, // 223: cs3.gateway.v1beta1.GatewayAPI.HasMember:output_type -> cs3.identity.group.v1beta1.HasMemberResponse + 199, // 224: cs3.gateway.v1beta1.GatewayAPI.FindGroups:output_type -> cs3.identity.group.v1beta1.FindGroupsResponse + 8, // 225: cs3.gateway.v1beta1.GatewayAPI.ListAuthProviders:output_type -> cs3.gateway.v1beta1.ListAuthProvidersResponse + 200, // 226: cs3.gateway.v1beta1.GatewayAPI.GetHome:output_type -> cs3.storage.provider.v1beta1.GetHomeResponse + 201, // 227: cs3.gateway.v1beta1.GatewayAPI.GenerateInviteToken:output_type -> cs3.ocm.invite.v1beta1.GenerateInviteTokenResponse + 202, // 228: cs3.gateway.v1beta1.GatewayAPI.ListInviteTokens:output_type -> cs3.ocm.invite.v1beta1.ListInviteTokensResponse + 203, // 229: cs3.gateway.v1beta1.GatewayAPI.ForwardInvite:output_type -> cs3.ocm.invite.v1beta1.ForwardInviteResponse + 204, // 230: cs3.gateway.v1beta1.GatewayAPI.AcceptInvite:output_type -> cs3.ocm.invite.v1beta1.AcceptInviteResponse + 205, // 231: cs3.gateway.v1beta1.GatewayAPI.GetAcceptedUser:output_type -> cs3.ocm.invite.v1beta1.GetAcceptedUserResponse + 206, // 232: cs3.gateway.v1beta1.GatewayAPI.FindAcceptedUsers:output_type -> cs3.ocm.invite.v1beta1.FindAcceptedUsersResponse + 207, // 233: cs3.gateway.v1beta1.GatewayAPI.DeleteAcceptedUser:output_type -> cs3.ocm.invite.v1beta1.DeleteAcceptedUserResponse + 208, // 234: cs3.gateway.v1beta1.GatewayAPI.IsProviderAllowed:output_type -> cs3.ocm.provider.v1beta1.IsProviderAllowedResponse + 209, // 235: cs3.gateway.v1beta1.GatewayAPI.GetInfoByDomain:output_type -> cs3.ocm.provider.v1beta1.GetInfoByDomainResponse + 210, // 236: cs3.gateway.v1beta1.GatewayAPI.ListAllProviders:output_type -> cs3.ocm.provider.v1beta1.ListAllProvidersResponse + 211, // 237: cs3.gateway.v1beta1.GatewayAPI.CreateOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.CreateOCMIncomingShareResponse + 212, // 238: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.UpdateOCMIncomingShareResponse + 213, // 239: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMIncomingShare:output_type -> cs3.ocm.incoming.v1beta1.DeleteOCMIncomingShareResponse + 214, // 240: cs3.gateway.v1beta1.GatewayAPI.CreateOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.CreateOCMCoreShareResponse + 215, // 241: cs3.gateway.v1beta1.GatewayAPI.UpdateOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.UpdateOCMCoreShareResponse + 216, // 242: cs3.gateway.v1beta1.GatewayAPI.DeleteOCMCoreShare:output_type -> cs3.ocm.core.v1beta1.DeleteOCMCoreShareResponse + 217, // 243: cs3.gateway.v1beta1.GatewayAPI.CreateTransfer:output_type -> cs3.tx.v1beta1.CreateTransferResponse + 218, // 244: cs3.gateway.v1beta1.GatewayAPI.GetTransferStatus:output_type -> cs3.tx.v1beta1.GetTransferStatusResponse + 219, // 245: cs3.gateway.v1beta1.GatewayAPI.CancelTransfer:output_type -> cs3.tx.v1beta1.CancelTransferResponse + 220, // 246: cs3.gateway.v1beta1.GatewayAPI.ListTransfers:output_type -> cs3.tx.v1beta1.ListTransfersResponse + 221, // 247: cs3.gateway.v1beta1.GatewayAPI.RetryTransfer:output_type -> cs3.tx.v1beta1.RetryTransferResponse + 222, // 248: cs3.gateway.v1beta1.GatewayAPI.CheckPermission:output_type -> cs3.permissions.v1beta1.CheckPermissionResponse + 141, // [141:249] is the sub-list for method output_type + 33, // [33:141] 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 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 833218205d..5480483d26 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 @@ -29,20 +29,21 @@ import ( v1beta12 "github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1" v1beta17 "github.com/cs3org/go-cs3apis/cs3/app/registry/v1beta1" v1beta1 "github.com/cs3org/go-cs3apis/cs3/auth/applications/v1beta1" - v1beta110 "github.com/cs3org/go-cs3apis/cs3/auth/registry/v1beta1" - v1beta19 "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1" + v1beta111 "github.com/cs3org/go-cs3apis/cs3/auth/registry/v1beta1" + v1beta110 "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1" + v1beta19 "github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1" v1beta18 "github.com/cs3org/go-cs3apis/cs3/identity/user/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" - v1beta116 "github.com/cs3org/go-cs3apis/cs3/permissions/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" + v1beta117 "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" - v1beta115 "github.com/cs3org/go-cs3apis/cs3/tx/v1beta1" + v1beta116 "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" @@ -131,6 +132,8 @@ const ( GatewayAPI_GetUserByClaim_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/GetUserByClaim" GatewayAPI_GetUserGroups_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/GetUserGroups" GatewayAPI_FindUsers_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/FindUsers" + GatewayAPI_GetTenant_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/GetTenant" + GatewayAPI_GetTenantByClaim_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/GetTenantByClaim" GatewayAPI_GetGroup_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/GetGroup" GatewayAPI_GetGroupByClaim_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/GetGroupByClaim" GatewayAPI_GetMembers_FullMethodName = "/cs3.gateway.v1beta1.GatewayAPI/GetMembers" @@ -418,68 +421,72 @@ type GatewayAPIClient interface { // Finds users by any attribute of the user. // TODO(labkode): to define the filters that make more sense. FindUsers(ctx context.Context, in *v1beta18.FindUsersRequest, opts ...grpc.CallOption) (*v1beta18.FindUsersResponse, error) + // Gets the information about a tenant by the tenant id. + GetTenant(ctx context.Context, in *v1beta19.GetTenantRequest, opts ...grpc.CallOption) (*v1beta19.GetTenantResponse, error) + // Gets the information about a tenant based on a specified claim. + GetTenantByClaim(ctx context.Context, in *v1beta19.GetTenantByClaimRequest, opts ...grpc.CallOption) (*v1beta19.GetTenantByClaimResponse, error) // Gets the information about a group by the group id. - GetGroup(ctx context.Context, in *v1beta19.GetGroupRequest, opts ...grpc.CallOption) (*v1beta19.GetGroupResponse, error) + GetGroup(ctx context.Context, in *v1beta110.GetGroupRequest, opts ...grpc.CallOption) (*v1beta110.GetGroupResponse, error) // Gets the information about a group based on a specified claim. - GetGroupByClaim(ctx context.Context, in *v1beta19.GetGroupByClaimRequest, opts ...grpc.CallOption) (*v1beta19.GetGroupByClaimResponse, error) + GetGroupByClaim(ctx context.Context, in *v1beta110.GetGroupByClaimRequest, opts ...grpc.CallOption) (*v1beta110.GetGroupByClaimResponse, error) // Gets the members of a group. - GetMembers(ctx context.Context, in *v1beta19.GetMembersRequest, opts ...grpc.CallOption) (*v1beta19.GetMembersResponse, error) + GetMembers(ctx context.Context, in *v1beta110.GetMembersRequest, opts ...grpc.CallOption) (*v1beta110.GetMembersResponse, error) // Tells if the group has a certain member. - HasMember(ctx context.Context, in *v1beta19.HasMemberRequest, opts ...grpc.CallOption) (*v1beta19.HasMemberResponse, error) + HasMember(ctx context.Context, in *v1beta110.HasMemberRequest, opts ...grpc.CallOption) (*v1beta110.HasMemberResponse, error) // TODO(labkode): to define the filters that make more sense. // Finds groups whose names match the specified filter. - FindGroups(ctx context.Context, in *v1beta19.FindGroupsRequest, opts ...grpc.CallOption) (*v1beta19.FindGroupsResponse, error) + FindGroups(ctx context.Context, in *v1beta110.FindGroupsRequest, opts ...grpc.CallOption) (*v1beta110.FindGroupsResponse, error) // Returns a list of the available auth providers known by this registry. - ListAuthProviders(ctx context.Context, in *v1beta110.ListAuthProvidersRequest, opts ...grpc.CallOption) (*ListAuthProvidersResponse, error) + ListAuthProviders(ctx context.Context, in *v1beta111.ListAuthProvidersRequest, opts ...grpc.CallOption) (*ListAuthProvidersResponse, error) // Returns the home path for the given authenticated user. // When a user has access to multiple storage providers, one of them is the home. GetHome(ctx context.Context, in *v1beta11.GetHomeRequest, opts ...grpc.CallOption) (*v1beta11.GetHomeResponse, error) // Generates a new token for the user with a validity of 24 hours. - GenerateInviteToken(ctx context.Context, in *v1beta111.GenerateInviteTokenRequest, opts ...grpc.CallOption) (*v1beta111.GenerateInviteTokenResponse, error) + GenerateInviteToken(ctx context.Context, in *v1beta112.GenerateInviteTokenRequest, opts ...grpc.CallOption) (*v1beta112.GenerateInviteTokenResponse, error) // Lists the valid tokens generated by the user. - ListInviteTokens(ctx context.Context, in *v1beta111.ListInviteTokensRequest, opts ...grpc.CallOption) (*v1beta111.ListInviteTokensResponse, error) + ListInviteTokens(ctx context.Context, in *v1beta112.ListInviteTokensRequest, opts ...grpc.CallOption) (*v1beta112.ListInviteTokensResponse, error) // Forwards a received invite to the sync'n'share system provider. - ForwardInvite(ctx context.Context, in *v1beta111.ForwardInviteRequest, opts ...grpc.CallOption) (*v1beta111.ForwardInviteResponse, error) + ForwardInvite(ctx context.Context, in *v1beta112.ForwardInviteRequest, opts ...grpc.CallOption) (*v1beta112.ForwardInviteResponse, error) // Completes an invitation acceptance. - AcceptInvite(ctx context.Context, in *v1beta111.AcceptInviteRequest, opts ...grpc.CallOption) (*v1beta111.AcceptInviteResponse, error) + AcceptInvite(ctx context.Context, in *v1beta112.AcceptInviteRequest, opts ...grpc.CallOption) (*v1beta112.AcceptInviteResponse, error) // Retrieves details about a remote user who has accepted an invite to share. - GetAcceptedUser(ctx context.Context, in *v1beta111.GetAcceptedUserRequest, opts ...grpc.CallOption) (*v1beta111.GetAcceptedUserResponse, error) + GetAcceptedUser(ctx context.Context, in *v1beta112.GetAcceptedUserRequest, opts ...grpc.CallOption) (*v1beta112.GetAcceptedUserResponse, error) // Finds users who accepted invite tokens by their attributes. - FindAcceptedUsers(ctx context.Context, in *v1beta111.FindAcceptedUsersRequest, opts ...grpc.CallOption) (*v1beta111.FindAcceptedUsersResponse, error) + FindAcceptedUsers(ctx context.Context, in *v1beta112.FindAcceptedUsersRequest, opts ...grpc.CallOption) (*v1beta112.FindAcceptedUsersResponse, error) // Delete a previously accepted remote user, that is unfriend that user. - DeleteAcceptedUser(ctx context.Context, in *v1beta111.DeleteAcceptedUserRequest, opts ...grpc.CallOption) (*v1beta111.DeleteAcceptedUserResponse, error) + DeleteAcceptedUser(ctx context.Context, in *v1beta112.DeleteAcceptedUserRequest, opts ...grpc.CallOption) (*v1beta112.DeleteAcceptedUserResponse, error) // Check if a given system provider is registered in the mesh or not. // MUST return CODE_UNAUTHENTICATED if the system is not registered - IsProviderAllowed(ctx context.Context, in *v1beta112.IsProviderAllowedRequest, opts ...grpc.CallOption) (*v1beta112.IsProviderAllowedResponse, error) + IsProviderAllowed(ctx context.Context, in *v1beta113.IsProviderAllowedRequest, opts ...grpc.CallOption) (*v1beta113.IsProviderAllowedResponse, error) // Get the information of the provider identified by a specific domain. // MUST return CODE_NOT_FOUND if the sync'n'share system provider does not exist. - GetInfoByDomain(ctx context.Context, in *v1beta112.GetInfoByDomainRequest, opts ...grpc.CallOption) (*v1beta112.GetInfoByDomainResponse, error) + GetInfoByDomain(ctx context.Context, in *v1beta113.GetInfoByDomainRequest, opts ...grpc.CallOption) (*v1beta113.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) + ListAllProviders(ctx context.Context, in *v1beta113.ListAllProvidersRequest, opts ...grpc.CallOption) (*v1beta113.ListAllProvidersResponse, error) // Creates a new incoming OCM share. - CreateOCMIncomingShare(ctx context.Context, in *v1beta113.CreateOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta113.CreateOCMIncomingShareResponse, error) + CreateOCMIncomingShare(ctx context.Context, in *v1beta114.CreateOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta114.CreateOCMIncomingShareResponse, error) // Updates an incoming OCM share. - UpdateOCMIncomingShare(ctx context.Context, in *v1beta113.UpdateOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta113.UpdateOCMIncomingShareResponse, error) + UpdateOCMIncomingShare(ctx context.Context, in *v1beta114.UpdateOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta114.UpdateOCMIncomingShareResponse, error) // Deletes an incoming OCM share. - DeleteOCMIncomingShare(ctx context.Context, in *v1beta113.DeleteOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta113.DeleteOCMIncomingShareResponse, error) + DeleteOCMIncomingShare(ctx context.Context, in *v1beta114.DeleteOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta114.DeleteOCMIncomingShareResponse, error) // Deprecated. Creates a new OCM share. - CreateOCMCoreShare(ctx context.Context, in *v1beta114.CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta114.CreateOCMCoreShareResponse, error) + CreateOCMCoreShare(ctx context.Context, in *v1beta115.CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta115.CreateOCMCoreShareResponse, error) // Deprecated. Updates an OCM share. - UpdateOCMCoreShare(ctx context.Context, in *v1beta114.UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta114.UpdateOCMCoreShareResponse, error) + UpdateOCMCoreShare(ctx context.Context, in *v1beta115.UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta115.UpdateOCMCoreShareResponse, error) // Deprecated. Deletes an OCM share. - DeleteOCMCoreShare(ctx context.Context, in *v1beta114.DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta114.DeleteOCMCoreShareResponse, error) + DeleteOCMCoreShare(ctx context.Context, in *v1beta115.DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta115.DeleteOCMCoreShareResponse, error) // Requests creation of a transfer. - CreateTransfer(ctx context.Context, in *v1beta115.CreateTransferRequest, opts ...grpc.CallOption) (*v1beta115.CreateTransferResponse, error) + CreateTransfer(ctx context.Context, in *v1beta116.CreateTransferRequest, opts ...grpc.CallOption) (*v1beta116.CreateTransferResponse, error) // Requests a transfer status. - GetTransferStatus(ctx context.Context, in *v1beta115.GetTransferStatusRequest, opts ...grpc.CallOption) (*v1beta115.GetTransferStatusResponse, error) + GetTransferStatus(ctx context.Context, in *v1beta116.GetTransferStatusRequest, opts ...grpc.CallOption) (*v1beta116.GetTransferStatusResponse, error) // Requests to cancel a transfer. - CancelTransfer(ctx context.Context, in *v1beta115.CancelTransferRequest, opts ...grpc.CallOption) (*v1beta115.CancelTransferResponse, error) + CancelTransfer(ctx context.Context, in *v1beta116.CancelTransferRequest, opts ...grpc.CallOption) (*v1beta116.CancelTransferResponse, error) // Requests a list of transfers received by the authenticated principle. - ListTransfers(ctx context.Context, in *v1beta115.ListTransfersRequest, opts ...grpc.CallOption) (*v1beta115.ListTransfersResponse, error) + ListTransfers(ctx context.Context, in *v1beta116.ListTransfersRequest, opts ...grpc.CallOption) (*v1beta116.ListTransfersResponse, error) // Requests retrying a transfer. - RetryTransfer(ctx context.Context, in *v1beta115.RetryTransferRequest, opts ...grpc.CallOption) (*v1beta115.RetryTransferResponse, error) + RetryTransfer(ctx context.Context, in *v1beta116.RetryTransferRequest, opts ...grpc.CallOption) (*v1beta116.RetryTransferResponse, error) // CheckPermission checks if a user or group has a certain permission. - CheckPermission(ctx context.Context, in *v1beta116.CheckPermissionRequest, opts ...grpc.CallOption) (*v1beta116.CheckPermissionResponse, error) + CheckPermission(ctx context.Context, in *v1beta117.CheckPermissionRequest, opts ...grpc.CallOption) (*v1beta117.CheckPermissionResponse, error) } type gatewayAPIClient struct { @@ -1229,8 +1236,26 @@ func (c *gatewayAPIClient) FindUsers(ctx context.Context, in *v1beta18.FindUsers return out, nil } -func (c *gatewayAPIClient) GetGroup(ctx context.Context, in *v1beta19.GetGroupRequest, opts ...grpc.CallOption) (*v1beta19.GetGroupResponse, error) { - out := new(v1beta19.GetGroupResponse) +func (c *gatewayAPIClient) GetTenant(ctx context.Context, in *v1beta19.GetTenantRequest, opts ...grpc.CallOption) (*v1beta19.GetTenantResponse, error) { + out := new(v1beta19.GetTenantResponse) + err := c.cc.Invoke(ctx, GatewayAPI_GetTenant_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gatewayAPIClient) GetTenantByClaim(ctx context.Context, in *v1beta19.GetTenantByClaimRequest, opts ...grpc.CallOption) (*v1beta19.GetTenantByClaimResponse, error) { + out := new(v1beta19.GetTenantByClaimResponse) + err := c.cc.Invoke(ctx, GatewayAPI_GetTenantByClaim_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gatewayAPIClient) GetGroup(ctx context.Context, in *v1beta110.GetGroupRequest, opts ...grpc.CallOption) (*v1beta110.GetGroupResponse, error) { + out := new(v1beta110.GetGroupResponse) err := c.cc.Invoke(ctx, GatewayAPI_GetGroup_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1238,8 +1263,8 @@ func (c *gatewayAPIClient) GetGroup(ctx context.Context, in *v1beta19.GetGroupRe return out, nil } -func (c *gatewayAPIClient) GetGroupByClaim(ctx context.Context, in *v1beta19.GetGroupByClaimRequest, opts ...grpc.CallOption) (*v1beta19.GetGroupByClaimResponse, error) { - out := new(v1beta19.GetGroupByClaimResponse) +func (c *gatewayAPIClient) GetGroupByClaim(ctx context.Context, in *v1beta110.GetGroupByClaimRequest, opts ...grpc.CallOption) (*v1beta110.GetGroupByClaimResponse, error) { + out := new(v1beta110.GetGroupByClaimResponse) err := c.cc.Invoke(ctx, GatewayAPI_GetGroupByClaim_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1247,8 +1272,8 @@ func (c *gatewayAPIClient) GetGroupByClaim(ctx context.Context, in *v1beta19.Get return out, nil } -func (c *gatewayAPIClient) GetMembers(ctx context.Context, in *v1beta19.GetMembersRequest, opts ...grpc.CallOption) (*v1beta19.GetMembersResponse, error) { - out := new(v1beta19.GetMembersResponse) +func (c *gatewayAPIClient) GetMembers(ctx context.Context, in *v1beta110.GetMembersRequest, opts ...grpc.CallOption) (*v1beta110.GetMembersResponse, error) { + out := new(v1beta110.GetMembersResponse) err := c.cc.Invoke(ctx, GatewayAPI_GetMembers_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1256,8 +1281,8 @@ func (c *gatewayAPIClient) GetMembers(ctx context.Context, in *v1beta19.GetMembe return out, nil } -func (c *gatewayAPIClient) HasMember(ctx context.Context, in *v1beta19.HasMemberRequest, opts ...grpc.CallOption) (*v1beta19.HasMemberResponse, error) { - out := new(v1beta19.HasMemberResponse) +func (c *gatewayAPIClient) HasMember(ctx context.Context, in *v1beta110.HasMemberRequest, opts ...grpc.CallOption) (*v1beta110.HasMemberResponse, error) { + out := new(v1beta110.HasMemberResponse) err := c.cc.Invoke(ctx, GatewayAPI_HasMember_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1265,8 +1290,8 @@ func (c *gatewayAPIClient) HasMember(ctx context.Context, in *v1beta19.HasMember return out, nil } -func (c *gatewayAPIClient) FindGroups(ctx context.Context, in *v1beta19.FindGroupsRequest, opts ...grpc.CallOption) (*v1beta19.FindGroupsResponse, error) { - out := new(v1beta19.FindGroupsResponse) +func (c *gatewayAPIClient) FindGroups(ctx context.Context, in *v1beta110.FindGroupsRequest, opts ...grpc.CallOption) (*v1beta110.FindGroupsResponse, error) { + out := new(v1beta110.FindGroupsResponse) err := c.cc.Invoke(ctx, GatewayAPI_FindGroups_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1274,7 +1299,7 @@ func (c *gatewayAPIClient) FindGroups(ctx context.Context, in *v1beta19.FindGrou return out, nil } -func (c *gatewayAPIClient) ListAuthProviders(ctx context.Context, in *v1beta110.ListAuthProvidersRequest, opts ...grpc.CallOption) (*ListAuthProvidersResponse, error) { +func (c *gatewayAPIClient) ListAuthProviders(ctx context.Context, in *v1beta111.ListAuthProvidersRequest, opts ...grpc.CallOption) (*ListAuthProvidersResponse, error) { out := new(ListAuthProvidersResponse) err := c.cc.Invoke(ctx, GatewayAPI_ListAuthProviders_FullMethodName, in, out, opts...) if err != nil { @@ -1292,8 +1317,8 @@ func (c *gatewayAPIClient) GetHome(ctx context.Context, in *v1beta11.GetHomeRequ return out, nil } -func (c *gatewayAPIClient) GenerateInviteToken(ctx context.Context, in *v1beta111.GenerateInviteTokenRequest, opts ...grpc.CallOption) (*v1beta111.GenerateInviteTokenResponse, error) { - out := new(v1beta111.GenerateInviteTokenResponse) +func (c *gatewayAPIClient) GenerateInviteToken(ctx context.Context, in *v1beta112.GenerateInviteTokenRequest, opts ...grpc.CallOption) (*v1beta112.GenerateInviteTokenResponse, error) { + out := new(v1beta112.GenerateInviteTokenResponse) err := c.cc.Invoke(ctx, GatewayAPI_GenerateInviteToken_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1301,8 +1326,8 @@ func (c *gatewayAPIClient) GenerateInviteToken(ctx context.Context, in *v1beta11 return out, nil } -func (c *gatewayAPIClient) ListInviteTokens(ctx context.Context, in *v1beta111.ListInviteTokensRequest, opts ...grpc.CallOption) (*v1beta111.ListInviteTokensResponse, error) { - out := new(v1beta111.ListInviteTokensResponse) +func (c *gatewayAPIClient) ListInviteTokens(ctx context.Context, in *v1beta112.ListInviteTokensRequest, opts ...grpc.CallOption) (*v1beta112.ListInviteTokensResponse, error) { + out := new(v1beta112.ListInviteTokensResponse) err := c.cc.Invoke(ctx, GatewayAPI_ListInviteTokens_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1310,8 +1335,8 @@ func (c *gatewayAPIClient) ListInviteTokens(ctx context.Context, in *v1beta111.L return out, nil } -func (c *gatewayAPIClient) ForwardInvite(ctx context.Context, in *v1beta111.ForwardInviteRequest, opts ...grpc.CallOption) (*v1beta111.ForwardInviteResponse, error) { - out := new(v1beta111.ForwardInviteResponse) +func (c *gatewayAPIClient) ForwardInvite(ctx context.Context, in *v1beta112.ForwardInviteRequest, opts ...grpc.CallOption) (*v1beta112.ForwardInviteResponse, error) { + out := new(v1beta112.ForwardInviteResponse) err := c.cc.Invoke(ctx, GatewayAPI_ForwardInvite_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1319,8 +1344,8 @@ func (c *gatewayAPIClient) ForwardInvite(ctx context.Context, in *v1beta111.Forw return out, nil } -func (c *gatewayAPIClient) AcceptInvite(ctx context.Context, in *v1beta111.AcceptInviteRequest, opts ...grpc.CallOption) (*v1beta111.AcceptInviteResponse, error) { - out := new(v1beta111.AcceptInviteResponse) +func (c *gatewayAPIClient) AcceptInvite(ctx context.Context, in *v1beta112.AcceptInviteRequest, opts ...grpc.CallOption) (*v1beta112.AcceptInviteResponse, error) { + out := new(v1beta112.AcceptInviteResponse) err := c.cc.Invoke(ctx, GatewayAPI_AcceptInvite_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1328,8 +1353,8 @@ func (c *gatewayAPIClient) AcceptInvite(ctx context.Context, in *v1beta111.Accep return out, nil } -func (c *gatewayAPIClient) GetAcceptedUser(ctx context.Context, in *v1beta111.GetAcceptedUserRequest, opts ...grpc.CallOption) (*v1beta111.GetAcceptedUserResponse, error) { - out := new(v1beta111.GetAcceptedUserResponse) +func (c *gatewayAPIClient) GetAcceptedUser(ctx context.Context, in *v1beta112.GetAcceptedUserRequest, opts ...grpc.CallOption) (*v1beta112.GetAcceptedUserResponse, error) { + out := new(v1beta112.GetAcceptedUserResponse) err := c.cc.Invoke(ctx, GatewayAPI_GetAcceptedUser_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1337,8 +1362,8 @@ func (c *gatewayAPIClient) GetAcceptedUser(ctx context.Context, in *v1beta111.Ge return out, nil } -func (c *gatewayAPIClient) FindAcceptedUsers(ctx context.Context, in *v1beta111.FindAcceptedUsersRequest, opts ...grpc.CallOption) (*v1beta111.FindAcceptedUsersResponse, error) { - out := new(v1beta111.FindAcceptedUsersResponse) +func (c *gatewayAPIClient) FindAcceptedUsers(ctx context.Context, in *v1beta112.FindAcceptedUsersRequest, opts ...grpc.CallOption) (*v1beta112.FindAcceptedUsersResponse, error) { + out := new(v1beta112.FindAcceptedUsersResponse) err := c.cc.Invoke(ctx, GatewayAPI_FindAcceptedUsers_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1346,8 +1371,8 @@ func (c *gatewayAPIClient) FindAcceptedUsers(ctx context.Context, in *v1beta111. return out, nil } -func (c *gatewayAPIClient) DeleteAcceptedUser(ctx context.Context, in *v1beta111.DeleteAcceptedUserRequest, opts ...grpc.CallOption) (*v1beta111.DeleteAcceptedUserResponse, error) { - out := new(v1beta111.DeleteAcceptedUserResponse) +func (c *gatewayAPIClient) DeleteAcceptedUser(ctx context.Context, in *v1beta112.DeleteAcceptedUserRequest, opts ...grpc.CallOption) (*v1beta112.DeleteAcceptedUserResponse, error) { + out := new(v1beta112.DeleteAcceptedUserResponse) err := c.cc.Invoke(ctx, GatewayAPI_DeleteAcceptedUser_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1355,8 +1380,8 @@ func (c *gatewayAPIClient) DeleteAcceptedUser(ctx context.Context, in *v1beta111 return out, nil } -func (c *gatewayAPIClient) IsProviderAllowed(ctx context.Context, in *v1beta112.IsProviderAllowedRequest, opts ...grpc.CallOption) (*v1beta112.IsProviderAllowedResponse, error) { - out := new(v1beta112.IsProviderAllowedResponse) +func (c *gatewayAPIClient) IsProviderAllowed(ctx context.Context, in *v1beta113.IsProviderAllowedRequest, opts ...grpc.CallOption) (*v1beta113.IsProviderAllowedResponse, error) { + out := new(v1beta113.IsProviderAllowedResponse) err := c.cc.Invoke(ctx, GatewayAPI_IsProviderAllowed_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1364,8 +1389,8 @@ func (c *gatewayAPIClient) IsProviderAllowed(ctx context.Context, in *v1beta112. return out, nil } -func (c *gatewayAPIClient) GetInfoByDomain(ctx context.Context, in *v1beta112.GetInfoByDomainRequest, opts ...grpc.CallOption) (*v1beta112.GetInfoByDomainResponse, error) { - out := new(v1beta112.GetInfoByDomainResponse) +func (c *gatewayAPIClient) GetInfoByDomain(ctx context.Context, in *v1beta113.GetInfoByDomainRequest, opts ...grpc.CallOption) (*v1beta113.GetInfoByDomainResponse, error) { + out := new(v1beta113.GetInfoByDomainResponse) err := c.cc.Invoke(ctx, GatewayAPI_GetInfoByDomain_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1373,8 +1398,8 @@ func (c *gatewayAPIClient) GetInfoByDomain(ctx context.Context, in *v1beta112.Ge return out, nil } -func (c *gatewayAPIClient) ListAllProviders(ctx context.Context, in *v1beta112.ListAllProvidersRequest, opts ...grpc.CallOption) (*v1beta112.ListAllProvidersResponse, error) { - out := new(v1beta112.ListAllProvidersResponse) +func (c *gatewayAPIClient) ListAllProviders(ctx context.Context, in *v1beta113.ListAllProvidersRequest, opts ...grpc.CallOption) (*v1beta113.ListAllProvidersResponse, error) { + out := new(v1beta113.ListAllProvidersResponse) err := c.cc.Invoke(ctx, GatewayAPI_ListAllProviders_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1382,8 +1407,8 @@ func (c *gatewayAPIClient) ListAllProviders(ctx context.Context, in *v1beta112.L return out, nil } -func (c *gatewayAPIClient) CreateOCMIncomingShare(ctx context.Context, in *v1beta113.CreateOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta113.CreateOCMIncomingShareResponse, error) { - out := new(v1beta113.CreateOCMIncomingShareResponse) +func (c *gatewayAPIClient) CreateOCMIncomingShare(ctx context.Context, in *v1beta114.CreateOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta114.CreateOCMIncomingShareResponse, error) { + out := new(v1beta114.CreateOCMIncomingShareResponse) err := c.cc.Invoke(ctx, GatewayAPI_CreateOCMIncomingShare_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1391,8 +1416,8 @@ func (c *gatewayAPIClient) CreateOCMIncomingShare(ctx context.Context, in *v1bet return out, nil } -func (c *gatewayAPIClient) UpdateOCMIncomingShare(ctx context.Context, in *v1beta113.UpdateOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta113.UpdateOCMIncomingShareResponse, error) { - out := new(v1beta113.UpdateOCMIncomingShareResponse) +func (c *gatewayAPIClient) UpdateOCMIncomingShare(ctx context.Context, in *v1beta114.UpdateOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta114.UpdateOCMIncomingShareResponse, error) { + out := new(v1beta114.UpdateOCMIncomingShareResponse) err := c.cc.Invoke(ctx, GatewayAPI_UpdateOCMIncomingShare_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1400,8 +1425,8 @@ func (c *gatewayAPIClient) UpdateOCMIncomingShare(ctx context.Context, in *v1bet return out, nil } -func (c *gatewayAPIClient) DeleteOCMIncomingShare(ctx context.Context, in *v1beta113.DeleteOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta113.DeleteOCMIncomingShareResponse, error) { - out := new(v1beta113.DeleteOCMIncomingShareResponse) +func (c *gatewayAPIClient) DeleteOCMIncomingShare(ctx context.Context, in *v1beta114.DeleteOCMIncomingShareRequest, opts ...grpc.CallOption) (*v1beta114.DeleteOCMIncomingShareResponse, error) { + out := new(v1beta114.DeleteOCMIncomingShareResponse) err := c.cc.Invoke(ctx, GatewayAPI_DeleteOCMIncomingShare_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1409,8 +1434,8 @@ func (c *gatewayAPIClient) DeleteOCMIncomingShare(ctx context.Context, in *v1bet return out, nil } -func (c *gatewayAPIClient) CreateOCMCoreShare(ctx context.Context, in *v1beta114.CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta114.CreateOCMCoreShareResponse, error) { - out := new(v1beta114.CreateOCMCoreShareResponse) +func (c *gatewayAPIClient) CreateOCMCoreShare(ctx context.Context, in *v1beta115.CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta115.CreateOCMCoreShareResponse, error) { + out := new(v1beta115.CreateOCMCoreShareResponse) err := c.cc.Invoke(ctx, GatewayAPI_CreateOCMCoreShare_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1418,8 +1443,8 @@ func (c *gatewayAPIClient) CreateOCMCoreShare(ctx context.Context, in *v1beta114 return out, nil } -func (c *gatewayAPIClient) UpdateOCMCoreShare(ctx context.Context, in *v1beta114.UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta114.UpdateOCMCoreShareResponse, error) { - out := new(v1beta114.UpdateOCMCoreShareResponse) +func (c *gatewayAPIClient) UpdateOCMCoreShare(ctx context.Context, in *v1beta115.UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta115.UpdateOCMCoreShareResponse, error) { + out := new(v1beta115.UpdateOCMCoreShareResponse) err := c.cc.Invoke(ctx, GatewayAPI_UpdateOCMCoreShare_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1427,8 +1452,8 @@ func (c *gatewayAPIClient) UpdateOCMCoreShare(ctx context.Context, in *v1beta114 return out, nil } -func (c *gatewayAPIClient) DeleteOCMCoreShare(ctx context.Context, in *v1beta114.DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta114.DeleteOCMCoreShareResponse, error) { - out := new(v1beta114.DeleteOCMCoreShareResponse) +func (c *gatewayAPIClient) DeleteOCMCoreShare(ctx context.Context, in *v1beta115.DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta115.DeleteOCMCoreShareResponse, error) { + out := new(v1beta115.DeleteOCMCoreShareResponse) err := c.cc.Invoke(ctx, GatewayAPI_DeleteOCMCoreShare_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1436,8 +1461,8 @@ func (c *gatewayAPIClient) DeleteOCMCoreShare(ctx context.Context, in *v1beta114 return out, nil } -func (c *gatewayAPIClient) CreateTransfer(ctx context.Context, in *v1beta115.CreateTransferRequest, opts ...grpc.CallOption) (*v1beta115.CreateTransferResponse, error) { - out := new(v1beta115.CreateTransferResponse) +func (c *gatewayAPIClient) CreateTransfer(ctx context.Context, in *v1beta116.CreateTransferRequest, opts ...grpc.CallOption) (*v1beta116.CreateTransferResponse, error) { + out := new(v1beta116.CreateTransferResponse) err := c.cc.Invoke(ctx, GatewayAPI_CreateTransfer_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1445,8 +1470,8 @@ func (c *gatewayAPIClient) CreateTransfer(ctx context.Context, in *v1beta115.Cre return out, nil } -func (c *gatewayAPIClient) GetTransferStatus(ctx context.Context, in *v1beta115.GetTransferStatusRequest, opts ...grpc.CallOption) (*v1beta115.GetTransferStatusResponse, error) { - out := new(v1beta115.GetTransferStatusResponse) +func (c *gatewayAPIClient) GetTransferStatus(ctx context.Context, in *v1beta116.GetTransferStatusRequest, opts ...grpc.CallOption) (*v1beta116.GetTransferStatusResponse, error) { + out := new(v1beta116.GetTransferStatusResponse) err := c.cc.Invoke(ctx, GatewayAPI_GetTransferStatus_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1454,8 +1479,8 @@ func (c *gatewayAPIClient) GetTransferStatus(ctx context.Context, in *v1beta115. return out, nil } -func (c *gatewayAPIClient) CancelTransfer(ctx context.Context, in *v1beta115.CancelTransferRequest, opts ...grpc.CallOption) (*v1beta115.CancelTransferResponse, error) { - out := new(v1beta115.CancelTransferResponse) +func (c *gatewayAPIClient) CancelTransfer(ctx context.Context, in *v1beta116.CancelTransferRequest, opts ...grpc.CallOption) (*v1beta116.CancelTransferResponse, error) { + out := new(v1beta116.CancelTransferResponse) err := c.cc.Invoke(ctx, GatewayAPI_CancelTransfer_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1463,8 +1488,8 @@ func (c *gatewayAPIClient) CancelTransfer(ctx context.Context, in *v1beta115.Can return out, nil } -func (c *gatewayAPIClient) ListTransfers(ctx context.Context, in *v1beta115.ListTransfersRequest, opts ...grpc.CallOption) (*v1beta115.ListTransfersResponse, error) { - out := new(v1beta115.ListTransfersResponse) +func (c *gatewayAPIClient) ListTransfers(ctx context.Context, in *v1beta116.ListTransfersRequest, opts ...grpc.CallOption) (*v1beta116.ListTransfersResponse, error) { + out := new(v1beta116.ListTransfersResponse) err := c.cc.Invoke(ctx, GatewayAPI_ListTransfers_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1472,8 +1497,8 @@ func (c *gatewayAPIClient) ListTransfers(ctx context.Context, in *v1beta115.List return out, nil } -func (c *gatewayAPIClient) RetryTransfer(ctx context.Context, in *v1beta115.RetryTransferRequest, opts ...grpc.CallOption) (*v1beta115.RetryTransferResponse, error) { - out := new(v1beta115.RetryTransferResponse) +func (c *gatewayAPIClient) RetryTransfer(ctx context.Context, in *v1beta116.RetryTransferRequest, opts ...grpc.CallOption) (*v1beta116.RetryTransferResponse, error) { + out := new(v1beta116.RetryTransferResponse) err := c.cc.Invoke(ctx, GatewayAPI_RetryTransfer_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1481,8 +1506,8 @@ func (c *gatewayAPIClient) RetryTransfer(ctx context.Context, in *v1beta115.Retr return out, nil } -func (c *gatewayAPIClient) CheckPermission(ctx context.Context, in *v1beta116.CheckPermissionRequest, opts ...grpc.CallOption) (*v1beta116.CheckPermissionResponse, error) { - out := new(v1beta116.CheckPermissionResponse) +func (c *gatewayAPIClient) CheckPermission(ctx context.Context, in *v1beta117.CheckPermissionRequest, opts ...grpc.CallOption) (*v1beta117.CheckPermissionResponse, error) { + out := new(v1beta117.CheckPermissionResponse) err := c.cc.Invoke(ctx, GatewayAPI_CheckPermission_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -1746,68 +1771,72 @@ type GatewayAPIServer interface { // Finds users by any attribute of the user. // TODO(labkode): to define the filters that make more sense. FindUsers(context.Context, *v1beta18.FindUsersRequest) (*v1beta18.FindUsersResponse, error) + // Gets the information about a tenant by the tenant id. + GetTenant(context.Context, *v1beta19.GetTenantRequest) (*v1beta19.GetTenantResponse, error) + // Gets the information about a tenant based on a specified claim. + GetTenantByClaim(context.Context, *v1beta19.GetTenantByClaimRequest) (*v1beta19.GetTenantByClaimResponse, error) // Gets the information about a group by the group id. - GetGroup(context.Context, *v1beta19.GetGroupRequest) (*v1beta19.GetGroupResponse, error) + GetGroup(context.Context, *v1beta110.GetGroupRequest) (*v1beta110.GetGroupResponse, error) // Gets the information about a group based on a specified claim. - GetGroupByClaim(context.Context, *v1beta19.GetGroupByClaimRequest) (*v1beta19.GetGroupByClaimResponse, error) + GetGroupByClaim(context.Context, *v1beta110.GetGroupByClaimRequest) (*v1beta110.GetGroupByClaimResponse, error) // Gets the members of a group. - GetMembers(context.Context, *v1beta19.GetMembersRequest) (*v1beta19.GetMembersResponse, error) + GetMembers(context.Context, *v1beta110.GetMembersRequest) (*v1beta110.GetMembersResponse, error) // Tells if the group has a certain member. - HasMember(context.Context, *v1beta19.HasMemberRequest) (*v1beta19.HasMemberResponse, error) + HasMember(context.Context, *v1beta110.HasMemberRequest) (*v1beta110.HasMemberResponse, error) // TODO(labkode): to define the filters that make more sense. // Finds groups whose names match the specified filter. - FindGroups(context.Context, *v1beta19.FindGroupsRequest) (*v1beta19.FindGroupsResponse, error) + FindGroups(context.Context, *v1beta110.FindGroupsRequest) (*v1beta110.FindGroupsResponse, error) // Returns a list of the available auth providers known by this registry. - ListAuthProviders(context.Context, *v1beta110.ListAuthProvidersRequest) (*ListAuthProvidersResponse, error) + ListAuthProviders(context.Context, *v1beta111.ListAuthProvidersRequest) (*ListAuthProvidersResponse, error) // Returns the home path for the given authenticated user. // When a user has access to multiple storage providers, one of them is the home. GetHome(context.Context, *v1beta11.GetHomeRequest) (*v1beta11.GetHomeResponse, error) // Generates a new token for the user with a validity of 24 hours. - GenerateInviteToken(context.Context, *v1beta111.GenerateInviteTokenRequest) (*v1beta111.GenerateInviteTokenResponse, error) + GenerateInviteToken(context.Context, *v1beta112.GenerateInviteTokenRequest) (*v1beta112.GenerateInviteTokenResponse, error) // Lists the valid tokens generated by the user. - ListInviteTokens(context.Context, *v1beta111.ListInviteTokensRequest) (*v1beta111.ListInviteTokensResponse, error) + ListInviteTokens(context.Context, *v1beta112.ListInviteTokensRequest) (*v1beta112.ListInviteTokensResponse, error) // Forwards a received invite to the sync'n'share system provider. - ForwardInvite(context.Context, *v1beta111.ForwardInviteRequest) (*v1beta111.ForwardInviteResponse, error) + ForwardInvite(context.Context, *v1beta112.ForwardInviteRequest) (*v1beta112.ForwardInviteResponse, error) // Completes an invitation acceptance. - AcceptInvite(context.Context, *v1beta111.AcceptInviteRequest) (*v1beta111.AcceptInviteResponse, error) + AcceptInvite(context.Context, *v1beta112.AcceptInviteRequest) (*v1beta112.AcceptInviteResponse, error) // Retrieves details about a remote user who has accepted an invite to share. - GetAcceptedUser(context.Context, *v1beta111.GetAcceptedUserRequest) (*v1beta111.GetAcceptedUserResponse, error) + GetAcceptedUser(context.Context, *v1beta112.GetAcceptedUserRequest) (*v1beta112.GetAcceptedUserResponse, error) // Finds users who accepted invite tokens by their attributes. - FindAcceptedUsers(context.Context, *v1beta111.FindAcceptedUsersRequest) (*v1beta111.FindAcceptedUsersResponse, error) + FindAcceptedUsers(context.Context, *v1beta112.FindAcceptedUsersRequest) (*v1beta112.FindAcceptedUsersResponse, error) // Delete a previously accepted remote user, that is unfriend that user. - DeleteAcceptedUser(context.Context, *v1beta111.DeleteAcceptedUserRequest) (*v1beta111.DeleteAcceptedUserResponse, error) + DeleteAcceptedUser(context.Context, *v1beta112.DeleteAcceptedUserRequest) (*v1beta112.DeleteAcceptedUserResponse, error) // Check if a given system provider is registered in the mesh or not. // MUST return CODE_UNAUTHENTICATED if the system is not registered - IsProviderAllowed(context.Context, *v1beta112.IsProviderAllowedRequest) (*v1beta112.IsProviderAllowedResponse, error) + IsProviderAllowed(context.Context, *v1beta113.IsProviderAllowedRequest) (*v1beta113.IsProviderAllowedResponse, error) // Get the information of the provider identified by a specific domain. // MUST return CODE_NOT_FOUND if the sync'n'share system provider does not exist. - GetInfoByDomain(context.Context, *v1beta112.GetInfoByDomainRequest) (*v1beta112.GetInfoByDomainResponse, error) + GetInfoByDomain(context.Context, *v1beta113.GetInfoByDomainRequest) (*v1beta113.GetInfoByDomainResponse, error) // Get the information of all the providers registered in the mesh. - ListAllProviders(context.Context, *v1beta112.ListAllProvidersRequest) (*v1beta112.ListAllProvidersResponse, error) + ListAllProviders(context.Context, *v1beta113.ListAllProvidersRequest) (*v1beta113.ListAllProvidersResponse, error) // Creates a new incoming OCM share. - CreateOCMIncomingShare(context.Context, *v1beta113.CreateOCMIncomingShareRequest) (*v1beta113.CreateOCMIncomingShareResponse, error) + CreateOCMIncomingShare(context.Context, *v1beta114.CreateOCMIncomingShareRequest) (*v1beta114.CreateOCMIncomingShareResponse, error) // Updates an incoming OCM share. - UpdateOCMIncomingShare(context.Context, *v1beta113.UpdateOCMIncomingShareRequest) (*v1beta113.UpdateOCMIncomingShareResponse, error) + UpdateOCMIncomingShare(context.Context, *v1beta114.UpdateOCMIncomingShareRequest) (*v1beta114.UpdateOCMIncomingShareResponse, error) // Deletes an incoming OCM share. - DeleteOCMIncomingShare(context.Context, *v1beta113.DeleteOCMIncomingShareRequest) (*v1beta113.DeleteOCMIncomingShareResponse, error) + DeleteOCMIncomingShare(context.Context, *v1beta114.DeleteOCMIncomingShareRequest) (*v1beta114.DeleteOCMIncomingShareResponse, error) // Deprecated. Creates a new OCM share. - CreateOCMCoreShare(context.Context, *v1beta114.CreateOCMCoreShareRequest) (*v1beta114.CreateOCMCoreShareResponse, error) + CreateOCMCoreShare(context.Context, *v1beta115.CreateOCMCoreShareRequest) (*v1beta115.CreateOCMCoreShareResponse, error) // Deprecated. Updates an OCM share. - UpdateOCMCoreShare(context.Context, *v1beta114.UpdateOCMCoreShareRequest) (*v1beta114.UpdateOCMCoreShareResponse, error) + UpdateOCMCoreShare(context.Context, *v1beta115.UpdateOCMCoreShareRequest) (*v1beta115.UpdateOCMCoreShareResponse, error) // Deprecated. Deletes an OCM share. - DeleteOCMCoreShare(context.Context, *v1beta114.DeleteOCMCoreShareRequest) (*v1beta114.DeleteOCMCoreShareResponse, error) + DeleteOCMCoreShare(context.Context, *v1beta115.DeleteOCMCoreShareRequest) (*v1beta115.DeleteOCMCoreShareResponse, error) // Requests creation of a transfer. - CreateTransfer(context.Context, *v1beta115.CreateTransferRequest) (*v1beta115.CreateTransferResponse, error) + CreateTransfer(context.Context, *v1beta116.CreateTransferRequest) (*v1beta116.CreateTransferResponse, error) // Requests a transfer status. - GetTransferStatus(context.Context, *v1beta115.GetTransferStatusRequest) (*v1beta115.GetTransferStatusResponse, error) + GetTransferStatus(context.Context, *v1beta116.GetTransferStatusRequest) (*v1beta116.GetTransferStatusResponse, error) // Requests to cancel a transfer. - CancelTransfer(context.Context, *v1beta115.CancelTransferRequest) (*v1beta115.CancelTransferResponse, error) + CancelTransfer(context.Context, *v1beta116.CancelTransferRequest) (*v1beta116.CancelTransferResponse, error) // Requests a list of transfers received by the authenticated principle. - ListTransfers(context.Context, *v1beta115.ListTransfersRequest) (*v1beta115.ListTransfersResponse, error) + ListTransfers(context.Context, *v1beta116.ListTransfersRequest) (*v1beta116.ListTransfersResponse, error) // Requests retrying a transfer. - RetryTransfer(context.Context, *v1beta115.RetryTransferRequest) (*v1beta115.RetryTransferResponse, error) + RetryTransfer(context.Context, *v1beta116.RetryTransferRequest) (*v1beta116.RetryTransferResponse, error) // CheckPermission checks if a user or group has a certain permission. - CheckPermission(context.Context, *v1beta116.CheckPermissionRequest) (*v1beta116.CheckPermissionResponse, error) + CheckPermission(context.Context, *v1beta117.CheckPermissionRequest) (*v1beta117.CheckPermissionResponse, error) } // UnimplementedGatewayAPIServer should be embedded to have forward compatible implementations. @@ -2045,91 +2074,97 @@ func (UnimplementedGatewayAPIServer) GetUserGroups(context.Context, *v1beta18.Ge func (UnimplementedGatewayAPIServer) FindUsers(context.Context, *v1beta18.FindUsersRequest) (*v1beta18.FindUsersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindUsers not implemented") } -func (UnimplementedGatewayAPIServer) GetGroup(context.Context, *v1beta19.GetGroupRequest) (*v1beta19.GetGroupResponse, error) { +func (UnimplementedGatewayAPIServer) GetTenant(context.Context, *v1beta19.GetTenantRequest) (*v1beta19.GetTenantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTenant not implemented") +} +func (UnimplementedGatewayAPIServer) GetTenantByClaim(context.Context, *v1beta19.GetTenantByClaimRequest) (*v1beta19.GetTenantByClaimResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTenantByClaim not implemented") +} +func (UnimplementedGatewayAPIServer) GetGroup(context.Context, *v1beta110.GetGroupRequest) (*v1beta110.GetGroupResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetGroup not implemented") } -func (UnimplementedGatewayAPIServer) GetGroupByClaim(context.Context, *v1beta19.GetGroupByClaimRequest) (*v1beta19.GetGroupByClaimResponse, error) { +func (UnimplementedGatewayAPIServer) GetGroupByClaim(context.Context, *v1beta110.GetGroupByClaimRequest) (*v1beta110.GetGroupByClaimResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetGroupByClaim not implemented") } -func (UnimplementedGatewayAPIServer) GetMembers(context.Context, *v1beta19.GetMembersRequest) (*v1beta19.GetMembersResponse, error) { +func (UnimplementedGatewayAPIServer) GetMembers(context.Context, *v1beta110.GetMembersRequest) (*v1beta110.GetMembersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMembers not implemented") } -func (UnimplementedGatewayAPIServer) HasMember(context.Context, *v1beta19.HasMemberRequest) (*v1beta19.HasMemberResponse, error) { +func (UnimplementedGatewayAPIServer) HasMember(context.Context, *v1beta110.HasMemberRequest) (*v1beta110.HasMemberResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method HasMember not implemented") } -func (UnimplementedGatewayAPIServer) FindGroups(context.Context, *v1beta19.FindGroupsRequest) (*v1beta19.FindGroupsResponse, error) { +func (UnimplementedGatewayAPIServer) FindGroups(context.Context, *v1beta110.FindGroupsRequest) (*v1beta110.FindGroupsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindGroups not implemented") } -func (UnimplementedGatewayAPIServer) ListAuthProviders(context.Context, *v1beta110.ListAuthProvidersRequest) (*ListAuthProvidersResponse, error) { +func (UnimplementedGatewayAPIServer) ListAuthProviders(context.Context, *v1beta111.ListAuthProvidersRequest) (*ListAuthProvidersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListAuthProviders not implemented") } func (UnimplementedGatewayAPIServer) GetHome(context.Context, *v1beta11.GetHomeRequest) (*v1beta11.GetHomeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetHome not implemented") } -func (UnimplementedGatewayAPIServer) GenerateInviteToken(context.Context, *v1beta111.GenerateInviteTokenRequest) (*v1beta111.GenerateInviteTokenResponse, error) { +func (UnimplementedGatewayAPIServer) GenerateInviteToken(context.Context, *v1beta112.GenerateInviteTokenRequest) (*v1beta112.GenerateInviteTokenResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GenerateInviteToken not implemented") } -func (UnimplementedGatewayAPIServer) ListInviteTokens(context.Context, *v1beta111.ListInviteTokensRequest) (*v1beta111.ListInviteTokensResponse, error) { +func (UnimplementedGatewayAPIServer) ListInviteTokens(context.Context, *v1beta112.ListInviteTokensRequest) (*v1beta112.ListInviteTokensResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListInviteTokens not implemented") } -func (UnimplementedGatewayAPIServer) ForwardInvite(context.Context, *v1beta111.ForwardInviteRequest) (*v1beta111.ForwardInviteResponse, error) { +func (UnimplementedGatewayAPIServer) ForwardInvite(context.Context, *v1beta112.ForwardInviteRequest) (*v1beta112.ForwardInviteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ForwardInvite not implemented") } -func (UnimplementedGatewayAPIServer) AcceptInvite(context.Context, *v1beta111.AcceptInviteRequest) (*v1beta111.AcceptInviteResponse, error) { +func (UnimplementedGatewayAPIServer) AcceptInvite(context.Context, *v1beta112.AcceptInviteRequest) (*v1beta112.AcceptInviteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AcceptInvite not implemented") } -func (UnimplementedGatewayAPIServer) GetAcceptedUser(context.Context, *v1beta111.GetAcceptedUserRequest) (*v1beta111.GetAcceptedUserResponse, error) { +func (UnimplementedGatewayAPIServer) GetAcceptedUser(context.Context, *v1beta112.GetAcceptedUserRequest) (*v1beta112.GetAcceptedUserResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAcceptedUser not implemented") } -func (UnimplementedGatewayAPIServer) FindAcceptedUsers(context.Context, *v1beta111.FindAcceptedUsersRequest) (*v1beta111.FindAcceptedUsersResponse, error) { +func (UnimplementedGatewayAPIServer) FindAcceptedUsers(context.Context, *v1beta112.FindAcceptedUsersRequest) (*v1beta112.FindAcceptedUsersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindAcceptedUsers not implemented") } -func (UnimplementedGatewayAPIServer) DeleteAcceptedUser(context.Context, *v1beta111.DeleteAcceptedUserRequest) (*v1beta111.DeleteAcceptedUserResponse, error) { +func (UnimplementedGatewayAPIServer) DeleteAcceptedUser(context.Context, *v1beta112.DeleteAcceptedUserRequest) (*v1beta112.DeleteAcceptedUserResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteAcceptedUser not implemented") } -func (UnimplementedGatewayAPIServer) IsProviderAllowed(context.Context, *v1beta112.IsProviderAllowedRequest) (*v1beta112.IsProviderAllowedResponse, error) { +func (UnimplementedGatewayAPIServer) IsProviderAllowed(context.Context, *v1beta113.IsProviderAllowedRequest) (*v1beta113.IsProviderAllowedResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method IsProviderAllowed not implemented") } -func (UnimplementedGatewayAPIServer) GetInfoByDomain(context.Context, *v1beta112.GetInfoByDomainRequest) (*v1beta112.GetInfoByDomainResponse, error) { +func (UnimplementedGatewayAPIServer) GetInfoByDomain(context.Context, *v1beta113.GetInfoByDomainRequest) (*v1beta113.GetInfoByDomainResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetInfoByDomain not implemented") } -func (UnimplementedGatewayAPIServer) ListAllProviders(context.Context, *v1beta112.ListAllProvidersRequest) (*v1beta112.ListAllProvidersResponse, error) { +func (UnimplementedGatewayAPIServer) ListAllProviders(context.Context, *v1beta113.ListAllProvidersRequest) (*v1beta113.ListAllProvidersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListAllProviders not implemented") } -func (UnimplementedGatewayAPIServer) CreateOCMIncomingShare(context.Context, *v1beta113.CreateOCMIncomingShareRequest) (*v1beta113.CreateOCMIncomingShareResponse, error) { +func (UnimplementedGatewayAPIServer) CreateOCMIncomingShare(context.Context, *v1beta114.CreateOCMIncomingShareRequest) (*v1beta114.CreateOCMIncomingShareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateOCMIncomingShare not implemented") } -func (UnimplementedGatewayAPIServer) UpdateOCMIncomingShare(context.Context, *v1beta113.UpdateOCMIncomingShareRequest) (*v1beta113.UpdateOCMIncomingShareResponse, error) { +func (UnimplementedGatewayAPIServer) UpdateOCMIncomingShare(context.Context, *v1beta114.UpdateOCMIncomingShareRequest) (*v1beta114.UpdateOCMIncomingShareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateOCMIncomingShare not implemented") } -func (UnimplementedGatewayAPIServer) DeleteOCMIncomingShare(context.Context, *v1beta113.DeleteOCMIncomingShareRequest) (*v1beta113.DeleteOCMIncomingShareResponse, error) { +func (UnimplementedGatewayAPIServer) DeleteOCMIncomingShare(context.Context, *v1beta114.DeleteOCMIncomingShareRequest) (*v1beta114.DeleteOCMIncomingShareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteOCMIncomingShare not implemented") } -func (UnimplementedGatewayAPIServer) CreateOCMCoreShare(context.Context, *v1beta114.CreateOCMCoreShareRequest) (*v1beta114.CreateOCMCoreShareResponse, error) { +func (UnimplementedGatewayAPIServer) CreateOCMCoreShare(context.Context, *v1beta115.CreateOCMCoreShareRequest) (*v1beta115.CreateOCMCoreShareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateOCMCoreShare not implemented") } -func (UnimplementedGatewayAPIServer) UpdateOCMCoreShare(context.Context, *v1beta114.UpdateOCMCoreShareRequest) (*v1beta114.UpdateOCMCoreShareResponse, error) { +func (UnimplementedGatewayAPIServer) UpdateOCMCoreShare(context.Context, *v1beta115.UpdateOCMCoreShareRequest) (*v1beta115.UpdateOCMCoreShareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateOCMCoreShare not implemented") } -func (UnimplementedGatewayAPIServer) DeleteOCMCoreShare(context.Context, *v1beta114.DeleteOCMCoreShareRequest) (*v1beta114.DeleteOCMCoreShareResponse, error) { +func (UnimplementedGatewayAPIServer) DeleteOCMCoreShare(context.Context, *v1beta115.DeleteOCMCoreShareRequest) (*v1beta115.DeleteOCMCoreShareResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteOCMCoreShare not implemented") } -func (UnimplementedGatewayAPIServer) CreateTransfer(context.Context, *v1beta115.CreateTransferRequest) (*v1beta115.CreateTransferResponse, error) { +func (UnimplementedGatewayAPIServer) CreateTransfer(context.Context, *v1beta116.CreateTransferRequest) (*v1beta116.CreateTransferResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateTransfer not implemented") } -func (UnimplementedGatewayAPIServer) GetTransferStatus(context.Context, *v1beta115.GetTransferStatusRequest) (*v1beta115.GetTransferStatusResponse, error) { +func (UnimplementedGatewayAPIServer) GetTransferStatus(context.Context, *v1beta116.GetTransferStatusRequest) (*v1beta116.GetTransferStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetTransferStatus not implemented") } -func (UnimplementedGatewayAPIServer) CancelTransfer(context.Context, *v1beta115.CancelTransferRequest) (*v1beta115.CancelTransferResponse, error) { +func (UnimplementedGatewayAPIServer) CancelTransfer(context.Context, *v1beta116.CancelTransferRequest) (*v1beta116.CancelTransferResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CancelTransfer not implemented") } -func (UnimplementedGatewayAPIServer) ListTransfers(context.Context, *v1beta115.ListTransfersRequest) (*v1beta115.ListTransfersResponse, error) { +func (UnimplementedGatewayAPIServer) ListTransfers(context.Context, *v1beta116.ListTransfersRequest) (*v1beta116.ListTransfersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListTransfers not implemented") } -func (UnimplementedGatewayAPIServer) RetryTransfer(context.Context, *v1beta115.RetryTransferRequest) (*v1beta115.RetryTransferResponse, error) { +func (UnimplementedGatewayAPIServer) RetryTransfer(context.Context, *v1beta116.RetryTransferRequest) (*v1beta116.RetryTransferResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RetryTransfer not implemented") } -func (UnimplementedGatewayAPIServer) CheckPermission(context.Context, *v1beta116.CheckPermissionRequest) (*v1beta116.CheckPermissionResponse, error) { +func (UnimplementedGatewayAPIServer) CheckPermission(context.Context, *v1beta117.CheckPermissionRequest) (*v1beta117.CheckPermissionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CheckPermission not implemented") } @@ -3536,8 +3571,44 @@ func _GatewayAPI_FindUsers_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _GatewayAPI_GetTenant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v1beta19.GetTenantRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GatewayAPIServer).GetTenant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GatewayAPI_GetTenant_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GatewayAPIServer).GetTenant(ctx, req.(*v1beta19.GetTenantRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GatewayAPI_GetTenantByClaim_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v1beta19.GetTenantByClaimRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GatewayAPIServer).GetTenantByClaim(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GatewayAPI_GetTenantByClaim_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GatewayAPIServer).GetTenantByClaim(ctx, req.(*v1beta19.GetTenantByClaimRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _GatewayAPI_GetGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta19.GetGroupRequest) + in := new(v1beta110.GetGroupRequest) if err := dec(in); err != nil { return nil, err } @@ -3549,13 +3620,13 @@ func _GatewayAPI_GetGroup_Handler(srv interface{}, ctx context.Context, dec func FullMethod: GatewayAPI_GetGroup_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).GetGroup(ctx, req.(*v1beta19.GetGroupRequest)) + return srv.(GatewayAPIServer).GetGroup(ctx, req.(*v1beta110.GetGroupRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_GetGroupByClaim_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta19.GetGroupByClaimRequest) + in := new(v1beta110.GetGroupByClaimRequest) if err := dec(in); err != nil { return nil, err } @@ -3567,13 +3638,13 @@ func _GatewayAPI_GetGroupByClaim_Handler(srv interface{}, ctx context.Context, d FullMethod: GatewayAPI_GetGroupByClaim_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).GetGroupByClaim(ctx, req.(*v1beta19.GetGroupByClaimRequest)) + return srv.(GatewayAPIServer).GetGroupByClaim(ctx, req.(*v1beta110.GetGroupByClaimRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_GetMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta19.GetMembersRequest) + in := new(v1beta110.GetMembersRequest) if err := dec(in); err != nil { return nil, err } @@ -3585,13 +3656,13 @@ func _GatewayAPI_GetMembers_Handler(srv interface{}, ctx context.Context, dec fu FullMethod: GatewayAPI_GetMembers_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).GetMembers(ctx, req.(*v1beta19.GetMembersRequest)) + return srv.(GatewayAPIServer).GetMembers(ctx, req.(*v1beta110.GetMembersRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_HasMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta19.HasMemberRequest) + in := new(v1beta110.HasMemberRequest) if err := dec(in); err != nil { return nil, err } @@ -3603,13 +3674,13 @@ func _GatewayAPI_HasMember_Handler(srv interface{}, ctx context.Context, dec fun FullMethod: GatewayAPI_HasMember_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).HasMember(ctx, req.(*v1beta19.HasMemberRequest)) + return srv.(GatewayAPIServer).HasMember(ctx, req.(*v1beta110.HasMemberRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_FindGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta19.FindGroupsRequest) + in := new(v1beta110.FindGroupsRequest) if err := dec(in); err != nil { return nil, err } @@ -3621,13 +3692,13 @@ func _GatewayAPI_FindGroups_Handler(srv interface{}, ctx context.Context, dec fu FullMethod: GatewayAPI_FindGroups_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).FindGroups(ctx, req.(*v1beta19.FindGroupsRequest)) + return srv.(GatewayAPIServer).FindGroups(ctx, req.(*v1beta110.FindGroupsRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_ListAuthProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta110.ListAuthProvidersRequest) + in := new(v1beta111.ListAuthProvidersRequest) if err := dec(in); err != nil { return nil, err } @@ -3639,7 +3710,7 @@ func _GatewayAPI_ListAuthProviders_Handler(srv interface{}, ctx context.Context, FullMethod: GatewayAPI_ListAuthProviders_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).ListAuthProviders(ctx, req.(*v1beta110.ListAuthProvidersRequest)) + return srv.(GatewayAPIServer).ListAuthProviders(ctx, req.(*v1beta111.ListAuthProvidersRequest)) } return interceptor(ctx, in, info, handler) } @@ -3663,7 +3734,7 @@ func _GatewayAPI_GetHome_Handler(srv interface{}, ctx context.Context, dec func( } func _GatewayAPI_GenerateInviteToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta111.GenerateInviteTokenRequest) + in := new(v1beta112.GenerateInviteTokenRequest) if err := dec(in); err != nil { return nil, err } @@ -3675,13 +3746,13 @@ func _GatewayAPI_GenerateInviteToken_Handler(srv interface{}, ctx context.Contex FullMethod: GatewayAPI_GenerateInviteToken_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).GenerateInviteToken(ctx, req.(*v1beta111.GenerateInviteTokenRequest)) + return srv.(GatewayAPIServer).GenerateInviteToken(ctx, req.(*v1beta112.GenerateInviteTokenRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_ListInviteTokens_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta111.ListInviteTokensRequest) + in := new(v1beta112.ListInviteTokensRequest) if err := dec(in); err != nil { return nil, err } @@ -3693,13 +3764,13 @@ func _GatewayAPI_ListInviteTokens_Handler(srv interface{}, ctx context.Context, FullMethod: GatewayAPI_ListInviteTokens_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).ListInviteTokens(ctx, req.(*v1beta111.ListInviteTokensRequest)) + return srv.(GatewayAPIServer).ListInviteTokens(ctx, req.(*v1beta112.ListInviteTokensRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_ForwardInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta111.ForwardInviteRequest) + in := new(v1beta112.ForwardInviteRequest) if err := dec(in); err != nil { return nil, err } @@ -3711,13 +3782,13 @@ func _GatewayAPI_ForwardInvite_Handler(srv interface{}, ctx context.Context, dec FullMethod: GatewayAPI_ForwardInvite_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).ForwardInvite(ctx, req.(*v1beta111.ForwardInviteRequest)) + return srv.(GatewayAPIServer).ForwardInvite(ctx, req.(*v1beta112.ForwardInviteRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_AcceptInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta111.AcceptInviteRequest) + in := new(v1beta112.AcceptInviteRequest) if err := dec(in); err != nil { return nil, err } @@ -3729,13 +3800,13 @@ func _GatewayAPI_AcceptInvite_Handler(srv interface{}, ctx context.Context, dec FullMethod: GatewayAPI_AcceptInvite_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).AcceptInvite(ctx, req.(*v1beta111.AcceptInviteRequest)) + return srv.(GatewayAPIServer).AcceptInvite(ctx, req.(*v1beta112.AcceptInviteRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_GetAcceptedUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta111.GetAcceptedUserRequest) + in := new(v1beta112.GetAcceptedUserRequest) if err := dec(in); err != nil { return nil, err } @@ -3747,13 +3818,13 @@ func _GatewayAPI_GetAcceptedUser_Handler(srv interface{}, ctx context.Context, d FullMethod: GatewayAPI_GetAcceptedUser_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).GetAcceptedUser(ctx, req.(*v1beta111.GetAcceptedUserRequest)) + return srv.(GatewayAPIServer).GetAcceptedUser(ctx, req.(*v1beta112.GetAcceptedUserRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_FindAcceptedUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta111.FindAcceptedUsersRequest) + in := new(v1beta112.FindAcceptedUsersRequest) if err := dec(in); err != nil { return nil, err } @@ -3765,13 +3836,13 @@ func _GatewayAPI_FindAcceptedUsers_Handler(srv interface{}, ctx context.Context, FullMethod: GatewayAPI_FindAcceptedUsers_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).FindAcceptedUsers(ctx, req.(*v1beta111.FindAcceptedUsersRequest)) + return srv.(GatewayAPIServer).FindAcceptedUsers(ctx, req.(*v1beta112.FindAcceptedUsersRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_DeleteAcceptedUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta111.DeleteAcceptedUserRequest) + in := new(v1beta112.DeleteAcceptedUserRequest) if err := dec(in); err != nil { return nil, err } @@ -3783,13 +3854,13 @@ func _GatewayAPI_DeleteAcceptedUser_Handler(srv interface{}, ctx context.Context FullMethod: GatewayAPI_DeleteAcceptedUser_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).DeleteAcceptedUser(ctx, req.(*v1beta111.DeleteAcceptedUserRequest)) + return srv.(GatewayAPIServer).DeleteAcceptedUser(ctx, req.(*v1beta112.DeleteAcceptedUserRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_IsProviderAllowed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta112.IsProviderAllowedRequest) + in := new(v1beta113.IsProviderAllowedRequest) if err := dec(in); err != nil { return nil, err } @@ -3801,13 +3872,13 @@ func _GatewayAPI_IsProviderAllowed_Handler(srv interface{}, ctx context.Context, FullMethod: GatewayAPI_IsProviderAllowed_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).IsProviderAllowed(ctx, req.(*v1beta112.IsProviderAllowedRequest)) + return srv.(GatewayAPIServer).IsProviderAllowed(ctx, req.(*v1beta113.IsProviderAllowedRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_GetInfoByDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta112.GetInfoByDomainRequest) + in := new(v1beta113.GetInfoByDomainRequest) if err := dec(in); err != nil { return nil, err } @@ -3819,13 +3890,13 @@ func _GatewayAPI_GetInfoByDomain_Handler(srv interface{}, ctx context.Context, d FullMethod: GatewayAPI_GetInfoByDomain_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).GetInfoByDomain(ctx, req.(*v1beta112.GetInfoByDomainRequest)) + return srv.(GatewayAPIServer).GetInfoByDomain(ctx, req.(*v1beta113.GetInfoByDomainRequest)) } return interceptor(ctx, in, info, handler) } func _GatewayAPI_ListAllProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v1beta112.ListAllProvidersRequest) + in := new(v1beta113.ListAllProvidersRequest) if err := dec(in); err != nil { return nil, err } @@ -3837,13 +3908,13 @@ func _GatewayAPI_ListAllProviders_Handler(srv interface{}, ctx context.Context, FullMethod: GatewayAPI_ListAllProviders_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).ListAllProviders(ctx, req.(*v1beta112.ListAllProvidersRequest)) + return srv.(GatewayAPIServer).ListAllProviders(ctx, req.(*v1beta113.ListAllProvidersRequest)) } 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) + in := new(v1beta114.CreateOCMIncomingShareRequest) if err := dec(in); err != nil { return nil, err } @@ -3855,13 +3926,13 @@ func _GatewayAPI_CreateOCMIncomingShare_Handler(srv interface{}, ctx context.Con FullMethod: GatewayAPI_CreateOCMIncomingShare_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).CreateOCMIncomingShare(ctx, req.(*v1beta113.CreateOCMIncomingShareRequest)) + return srv.(GatewayAPIServer).CreateOCMIncomingShare(ctx, req.(*v1beta114.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) + in := new(v1beta114.UpdateOCMIncomingShareRequest) if err := dec(in); err != nil { return nil, err } @@ -3873,13 +3944,13 @@ func _GatewayAPI_UpdateOCMIncomingShare_Handler(srv interface{}, ctx context.Con FullMethod: GatewayAPI_UpdateOCMIncomingShare_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).UpdateOCMIncomingShare(ctx, req.(*v1beta113.UpdateOCMIncomingShareRequest)) + return srv.(GatewayAPIServer).UpdateOCMIncomingShare(ctx, req.(*v1beta114.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) + in := new(v1beta114.DeleteOCMIncomingShareRequest) if err := dec(in); err != nil { return nil, err } @@ -3891,13 +3962,13 @@ func _GatewayAPI_DeleteOCMIncomingShare_Handler(srv interface{}, ctx context.Con FullMethod: GatewayAPI_DeleteOCMIncomingShare_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GatewayAPIServer).DeleteOCMIncomingShare(ctx, req.(*v1beta113.DeleteOCMIncomingShareRequest)) + return srv.(GatewayAPIServer).DeleteOCMIncomingShare(ctx, req.(*v1beta114.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(v1beta114.CreateOCMCoreShareRequest) + in := new(v1beta115.CreateOCMCoreShareRequest) if err := dec(in); err != nil { return nil, err } @@ -3909,13 +3980,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.(*v1beta114.CreateOCMCoreShareRequest)) + return srv.(GatewayAPIServer).CreateOCMCoreShare(ctx, req.(*v1beta115.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(v1beta114.UpdateOCMCoreShareRequest) + in := new(v1beta115.UpdateOCMCoreShareRequest) if err := dec(in); err != nil { return nil, err } @@ -3927,13 +3998,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.(*v1beta114.UpdateOCMCoreShareRequest)) + return srv.(GatewayAPIServer).UpdateOCMCoreShare(ctx, req.(*v1beta115.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(v1beta114.DeleteOCMCoreShareRequest) + in := new(v1beta115.DeleteOCMCoreShareRequest) if err := dec(in); err != nil { return nil, err } @@ -3945,13 +4016,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.(*v1beta114.DeleteOCMCoreShareRequest)) + return srv.(GatewayAPIServer).DeleteOCMCoreShare(ctx, req.(*v1beta115.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(v1beta115.CreateTransferRequest) + in := new(v1beta116.CreateTransferRequest) if err := dec(in); err != nil { return nil, err } @@ -3963,13 +4034,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.(*v1beta115.CreateTransferRequest)) + return srv.(GatewayAPIServer).CreateTransfer(ctx, req.(*v1beta116.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(v1beta115.GetTransferStatusRequest) + in := new(v1beta116.GetTransferStatusRequest) if err := dec(in); err != nil { return nil, err } @@ -3981,13 +4052,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.(*v1beta115.GetTransferStatusRequest)) + return srv.(GatewayAPIServer).GetTransferStatus(ctx, req.(*v1beta116.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(v1beta115.CancelTransferRequest) + in := new(v1beta116.CancelTransferRequest) if err := dec(in); err != nil { return nil, err } @@ -3999,13 +4070,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.(*v1beta115.CancelTransferRequest)) + return srv.(GatewayAPIServer).CancelTransfer(ctx, req.(*v1beta116.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(v1beta115.ListTransfersRequest) + in := new(v1beta116.ListTransfersRequest) if err := dec(in); err != nil { return nil, err } @@ -4017,13 +4088,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.(*v1beta115.ListTransfersRequest)) + return srv.(GatewayAPIServer).ListTransfers(ctx, req.(*v1beta116.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(v1beta115.RetryTransferRequest) + in := new(v1beta116.RetryTransferRequest) if err := dec(in); err != nil { return nil, err } @@ -4035,13 +4106,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.(*v1beta115.RetryTransferRequest)) + return srv.(GatewayAPIServer).RetryTransfer(ctx, req.(*v1beta116.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(v1beta116.CheckPermissionRequest) + in := new(v1beta117.CheckPermissionRequest) if err := dec(in); err != nil { return nil, err } @@ -4053,7 +4124,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.(*v1beta116.CheckPermissionRequest)) + return srv.(GatewayAPIServer).CheckPermission(ctx, req.(*v1beta117.CheckPermissionRequest)) } return interceptor(ctx, in, info, handler) } @@ -4365,6 +4436,14 @@ var GatewayAPI_ServiceDesc = grpc.ServiceDesc{ MethodName: "FindUsers", Handler: _GatewayAPI_FindUsers_Handler, }, + { + MethodName: "GetTenant", + Handler: _GatewayAPI_GetTenant_Handler, + }, + { + MethodName: "GetTenantByClaim", + Handler: _GatewayAPI_GetTenantByClaim_Handler, + }, { MethodName: "GetGroup", Handler: _GatewayAPI_GetGroup_Handler, diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1/resources.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1/resources.pb.go new file mode 100644 index 0000000000..5f289a158e --- /dev/null +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1/resources.pb.go @@ -0,0 +1,209 @@ +// Copyright 2018-2026 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/identity/tenant/v1beta1/resources.proto + +package tenantv1beta1 + +import ( + _ "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) +) + +// A Tenant represents an isolated organization. Users can be member of +// exactly one tenant. Members of different tenants are unable to access +// each others resources. +type Tenant struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + // The unique identifier of the tenant. This is a UUID + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // OPTIONAL + // The name of the Tenant + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // OPTIONAL + // An external identifier to able to lookup Tenants by externally managed IDs + ExternalId string `protobuf:"bytes,3,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` +} + +func (x *Tenant) Reset() { + *x = Tenant{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_identity_tenant_v1beta1_resources_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Tenant) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Tenant) ProtoMessage() {} + +func (x *Tenant) ProtoReflect() protoreflect.Message { + mi := &file_cs3_identity_tenant_v1beta1_resources_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 Tenant.ProtoReflect.Descriptor instead. +func (*Tenant) Descriptor() ([]byte, []int) { + return file_cs3_identity_tenant_v1beta1_resources_proto_rawDescGZIP(), []int{0} +} + +func (x *Tenant) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Tenant) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Tenant) GetExternalId() string { + if x != nil { + return x.ExternalId + } + return "" +} + +var File_cs3_identity_tenant_v1beta1_resources_proto protoreflect.FileDescriptor + +var file_cs3_identity_tenant_v1beta1_resources_proto_rawDesc = []byte{ + 0x0a, 0x2b, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x63, + 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x4d, 0x0a, 0x06, 0x54, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x88, 0x02, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, + 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 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, 0x46, + 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, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x49, 0x54, 0xaa, 0x02, 0x1b, 0x43, + 0x73, 0x33, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x54, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x73, 0x33, + 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x27, 0x43, 0x73, 0x33, 0x5c, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x1e, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x3a, 0x3a, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cs3_identity_tenant_v1beta1_resources_proto_rawDescOnce sync.Once + file_cs3_identity_tenant_v1beta1_resources_proto_rawDescData = file_cs3_identity_tenant_v1beta1_resources_proto_rawDesc +) + +func file_cs3_identity_tenant_v1beta1_resources_proto_rawDescGZIP() []byte { + file_cs3_identity_tenant_v1beta1_resources_proto_rawDescOnce.Do(func() { + file_cs3_identity_tenant_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_identity_tenant_v1beta1_resources_proto_rawDescData) + }) + return file_cs3_identity_tenant_v1beta1_resources_proto_rawDescData +} + +var file_cs3_identity_tenant_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cs3_identity_tenant_v1beta1_resources_proto_goTypes = []interface{}{ + (*Tenant)(nil), // 0: cs3.identity.tenant.v1beta1.Tenant +} +var file_cs3_identity_tenant_v1beta1_resources_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cs3_identity_tenant_v1beta1_resources_proto_init() } +func file_cs3_identity_tenant_v1beta1_resources_proto_init() { + if File_cs3_identity_tenant_v1beta1_resources_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cs3_identity_tenant_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Tenant); 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_identity_tenant_v1beta1_resources_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cs3_identity_tenant_v1beta1_resources_proto_goTypes, + DependencyIndexes: file_cs3_identity_tenant_v1beta1_resources_proto_depIdxs, + MessageInfos: file_cs3_identity_tenant_v1beta1_resources_proto_msgTypes, + }.Build() + File_cs3_identity_tenant_v1beta1_resources_proto = out.File + file_cs3_identity_tenant_v1beta1_resources_proto_rawDesc = nil + file_cs3_identity_tenant_v1beta1_resources_proto_goTypes = nil + file_cs3_identity_tenant_v1beta1_resources_proto_depIdxs = nil +} diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1/tenant_api.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1/tenant_api.pb.go new file mode 100644 index 0000000000..68847ce6f5 --- /dev/null +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1/tenant_api.pb.go @@ -0,0 +1,454 @@ +// Copyright 2018-2026 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/identity/tenant/v1beta1/tenant_api.proto + +package tenantv1beta1 + +import ( + v1beta1 "github.com/cs3org/go-cs3apis/cs3/rpc/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 GetTenantRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + // The id of the tenant. + TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` +} + +func (x *GetTenantRequest) Reset() { + *x = GetTenantRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTenantRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTenantRequest) ProtoMessage() {} + +func (x *GetTenantRequest) ProtoReflect() protoreflect.Message { + mi := &file_cs3_identity_tenant_v1beta1_tenant_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 GetTenantRequest.ProtoReflect.Descriptor instead. +func (*GetTenantRequest) Descriptor() ([]byte, []int) { + return file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescGZIP(), []int{0} +} + +func (x *GetTenantRequest) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +type GetTenantResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + // The response status. + Status *v1beta1.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // REQUIRED. + // The tenant information. + Tenant *Tenant `protobuf:"bytes,2,opt,name=tenant,proto3" json:"tenant,omitempty"` +} + +func (x *GetTenantResponse) Reset() { + *x = GetTenantResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTenantResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTenantResponse) ProtoMessage() {} + +func (x *GetTenantResponse) ProtoReflect() protoreflect.Message { + mi := &file_cs3_identity_tenant_v1beta1_tenant_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 GetTenantResponse.ProtoReflect.Descriptor instead. +func (*GetTenantResponse) Descriptor() ([]byte, []int) { + return file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescGZIP(), []int{1} +} + +func (x *GetTenantResponse) GetStatus() *v1beta1.Status { + if x != nil { + return x.Status + } + return nil +} + +func (x *GetTenantResponse) GetTenant() *Tenant { + if x != nil { + return x.Tenant + } + return nil +} + +type GetTenantByClaimRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + // The claim on the basis of which users will be filtered. + Claim string `protobuf:"bytes,1,opt,name=claim,proto3" json:"claim,omitempty"` + // REQUIRED. + // The value of the claim to find the specific user. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *GetTenantByClaimRequest) Reset() { + *x = GetTenantByClaimRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTenantByClaimRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTenantByClaimRequest) ProtoMessage() {} + +func (x *GetTenantByClaimRequest) ProtoReflect() protoreflect.Message { + mi := &file_cs3_identity_tenant_v1beta1_tenant_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 GetTenantByClaimRequest.ProtoReflect.Descriptor instead. +func (*GetTenantByClaimRequest) Descriptor() ([]byte, []int) { + return file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescGZIP(), []int{2} +} + +func (x *GetTenantByClaimRequest) GetClaim() string { + if x != nil { + return x.Claim + } + return "" +} + +func (x *GetTenantByClaimRequest) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type GetTenantByClaimResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + // The response status. + Status *v1beta1.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // REQUIRED. + // The tenant information. + Tenant *Tenant `protobuf:"bytes,2,opt,name=tenant,proto3" json:"tenant,omitempty"` +} + +func (x *GetTenantByClaimResponse) Reset() { + *x = GetTenantByClaimResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTenantByClaimResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTenantByClaimResponse) ProtoMessage() {} + +func (x *GetTenantByClaimResponse) ProtoReflect() protoreflect.Message { + mi := &file_cs3_identity_tenant_v1beta1_tenant_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 GetTenantByClaimResponse.ProtoReflect.Descriptor instead. +func (*GetTenantByClaimResponse) Descriptor() ([]byte, []int) { + return file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescGZIP(), []int{3} +} + +func (x *GetTenantByClaimResponse) GetStatus() *v1beta1.Status { + if x != nil { + return x.Status + } + return nil +} + +func (x *GetTenantByClaimResponse) GetTenant() *Tenant { + if x != nil { + return x.Tenant + } + return nil +} + +var File_cs3_identity_tenant_v1beta1_tenant_api_proto protoreflect.FileDescriptor + +var file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, + 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x2b, 0x63, 0x73, 0x33, + 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 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, 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, 0x2f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x81, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 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, 0x3b, 0x0a, + 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x22, 0x45, 0x0a, 0x17, 0x47, 0x65, + 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x88, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x42, + 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 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, + 0x3b, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x32, 0xf8, 0x01, 0x0a, + 0x09, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x41, 0x50, 0x49, 0x12, 0x6a, 0x0a, 0x09, 0x47, 0x65, + 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x34, 0x2e, 0x63, 0x73, 0x33, + 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x35, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x88, 0x02, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, + 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x54, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 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, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x49, 0x54, 0xaa, 0x02, 0x1b, 0x43, 0x73, + 0x33, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, + 0x74, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x73, 0x33, 0x5c, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5c, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x27, 0x43, 0x73, 0x33, 0x5c, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x1e, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x3a, 0x3a, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescOnce sync.Once + file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescData = file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDesc +) + +func file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescGZIP() []byte { + file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescOnce.Do(func() { + file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescData) + }) + return file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDescData +} + +var file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_cs3_identity_tenant_v1beta1_tenant_api_proto_goTypes = []interface{}{ + (*GetTenantRequest)(nil), // 0: cs3.identity.tenant.v1beta1.GetTenantRequest + (*GetTenantResponse)(nil), // 1: cs3.identity.tenant.v1beta1.GetTenantResponse + (*GetTenantByClaimRequest)(nil), // 2: cs3.identity.tenant.v1beta1.GetTenantByClaimRequest + (*GetTenantByClaimResponse)(nil), // 3: cs3.identity.tenant.v1beta1.GetTenantByClaimResponse + (*v1beta1.Status)(nil), // 4: cs3.rpc.v1beta1.Status + (*Tenant)(nil), // 5: cs3.identity.tenant.v1beta1.Tenant +} +var file_cs3_identity_tenant_v1beta1_tenant_api_proto_depIdxs = []int32{ + 4, // 0: cs3.identity.tenant.v1beta1.GetTenantResponse.status:type_name -> cs3.rpc.v1beta1.Status + 5, // 1: cs3.identity.tenant.v1beta1.GetTenantResponse.tenant:type_name -> cs3.identity.tenant.v1beta1.Tenant + 4, // 2: cs3.identity.tenant.v1beta1.GetTenantByClaimResponse.status:type_name -> cs3.rpc.v1beta1.Status + 5, // 3: cs3.identity.tenant.v1beta1.GetTenantByClaimResponse.tenant:type_name -> cs3.identity.tenant.v1beta1.Tenant + 0, // 4: cs3.identity.tenant.v1beta1.TenantAPI.GetTenant:input_type -> cs3.identity.tenant.v1beta1.GetTenantRequest + 2, // 5: cs3.identity.tenant.v1beta1.TenantAPI.GetTenantByClaim:input_type -> cs3.identity.tenant.v1beta1.GetTenantByClaimRequest + 1, // 6: cs3.identity.tenant.v1beta1.TenantAPI.GetTenant:output_type -> cs3.identity.tenant.v1beta1.GetTenantResponse + 3, // 7: cs3.identity.tenant.v1beta1.TenantAPI.GetTenantByClaim:output_type -> cs3.identity.tenant.v1beta1.GetTenantByClaimResponse + 6, // [6:8] is the sub-list for method output_type + 4, // [4:6] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_cs3_identity_tenant_v1beta1_tenant_api_proto_init() } +func file_cs3_identity_tenant_v1beta1_tenant_api_proto_init() { + if File_cs3_identity_tenant_v1beta1_tenant_api_proto != nil { + return + } + file_cs3_identity_tenant_v1beta1_resources_proto_init() + if !protoimpl.UnsafeEnabled { + file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTenantRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTenantResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTenantByClaimRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTenantByClaimResponse); 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_identity_tenant_v1beta1_tenant_api_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_cs3_identity_tenant_v1beta1_tenant_api_proto_goTypes, + DependencyIndexes: file_cs3_identity_tenant_v1beta1_tenant_api_proto_depIdxs, + MessageInfos: file_cs3_identity_tenant_v1beta1_tenant_api_proto_msgTypes, + }.Build() + File_cs3_identity_tenant_v1beta1_tenant_api_proto = out.File + file_cs3_identity_tenant_v1beta1_tenant_api_proto_rawDesc = nil + file_cs3_identity_tenant_v1beta1_tenant_api_proto_goTypes = nil + file_cs3_identity_tenant_v1beta1_tenant_api_proto_depIdxs = nil +} diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1/tenant_api_grpc.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1/tenant_api_grpc.pb.go new file mode 100644 index 0000000000..4be210d152 --- /dev/null +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1/tenant_api_grpc.pb.go @@ -0,0 +1,166 @@ +// Copyright 2018-2026 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/identity/tenant/v1beta1/tenant_api.proto + +package tenantv1beta1 + +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 ( + TenantAPI_GetTenant_FullMethodName = "/cs3.identity.tenant.v1beta1.TenantAPI/GetTenant" + TenantAPI_GetTenantByClaim_FullMethodName = "/cs3.identity.tenant.v1beta1.TenantAPI/GetTenantByClaim" +) + +// TenantAPIClient is the client API for TenantAPI 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 TenantAPIClient interface { + // Gets the information about a Tenant by the tenant id. + GetTenant(ctx context.Context, in *GetTenantRequest, opts ...grpc.CallOption) (*GetTenantResponse, error) + // Gets the information about a Tenant based on a specified claim. + GetTenantByClaim(ctx context.Context, in *GetTenantByClaimRequest, opts ...grpc.CallOption) (*GetTenantByClaimResponse, error) +} + +type tenantAPIClient struct { + cc grpc.ClientConnInterface +} + +func NewTenantAPIClient(cc grpc.ClientConnInterface) TenantAPIClient { + return &tenantAPIClient{cc} +} + +func (c *tenantAPIClient) GetTenant(ctx context.Context, in *GetTenantRequest, opts ...grpc.CallOption) (*GetTenantResponse, error) { + out := new(GetTenantResponse) + err := c.cc.Invoke(ctx, TenantAPI_GetTenant_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tenantAPIClient) GetTenantByClaim(ctx context.Context, in *GetTenantByClaimRequest, opts ...grpc.CallOption) (*GetTenantByClaimResponse, error) { + out := new(GetTenantByClaimResponse) + err := c.cc.Invoke(ctx, TenantAPI_GetTenantByClaim_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// TenantAPIServer is the server API for TenantAPI service. +// All implementations should embed UnimplementedTenantAPIServer +// for forward compatibility +type TenantAPIServer interface { + // Gets the information about a Tenant by the tenant id. + GetTenant(context.Context, *GetTenantRequest) (*GetTenantResponse, error) + // Gets the information about a Tenant based on a specified claim. + GetTenantByClaim(context.Context, *GetTenantByClaimRequest) (*GetTenantByClaimResponse, error) +} + +// UnimplementedTenantAPIServer should be embedded to have forward compatible implementations. +type UnimplementedTenantAPIServer struct { +} + +func (UnimplementedTenantAPIServer) GetTenant(context.Context, *GetTenantRequest) (*GetTenantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTenant not implemented") +} +func (UnimplementedTenantAPIServer) GetTenantByClaim(context.Context, *GetTenantByClaimRequest) (*GetTenantByClaimResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTenantByClaim not implemented") +} + +// UnsafeTenantAPIServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to TenantAPIServer will +// result in compilation errors. +type UnsafeTenantAPIServer interface { + mustEmbedUnimplementedTenantAPIServer() +} + +func RegisterTenantAPIServer(s grpc.ServiceRegistrar, srv TenantAPIServer) { + s.RegisterService(&TenantAPI_ServiceDesc, srv) +} + +func _TenantAPI_GetTenant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTenantRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TenantAPIServer).GetTenant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TenantAPI_GetTenant_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TenantAPIServer).GetTenant(ctx, req.(*GetTenantRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TenantAPI_GetTenantByClaim_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTenantByClaimRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TenantAPIServer).GetTenantByClaim(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TenantAPI_GetTenantByClaim_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TenantAPIServer).GetTenantByClaim(ctx, req.(*GetTenantByClaimRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// TenantAPI_ServiceDesc is the grpc.ServiceDesc for TenantAPI service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var TenantAPI_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "cs3.identity.tenant.v1beta1.TenantAPI", + HandlerType: (*TenantAPIServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetTenant", + Handler: _TenantAPI_GetTenant_Handler, + }, + { + MethodName: "GetTenantByClaim", + Handler: _TenantAPI_GetTenantByClaim_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cs3/identity/tenant/v1beta1/tenant_api.proto", +} diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1/resources.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1/resources.pb.go index 36dea172ad..b28770518e 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1/resources.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1/resources.pb.go @@ -116,6 +116,70 @@ func (UserType) EnumDescriptor() ([]byte, []int) { return file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP(), []int{0} } +// ExternalIdentity represents an external identifier of a user. +// This can be populated when multiple identities collapse onto +// the same user, for example when signing in with e-mail or with +// an SSO using an account with the same e-mail. +type ExternalIdentity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // REQUIRED. + // The identity provider for the user. + Idp string `protobuf:"bytes,1,opt,name=idp,proto3" json:"idp,omitempty"` + // REQUIRED. + // the unique identifier for the user in the scope of + // the identity provider. + OpaqueId string `protobuf:"bytes,2,opt,name=opaque_id,json=opaqueId,proto3" json:"opaque_id,omitempty"` +} + +func (x *ExternalIdentity) Reset() { + *x = ExternalIdentity{} + if protoimpl.UnsafeEnabled { + mi := &file_cs3_identity_user_v1beta1_resources_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalIdentity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalIdentity) ProtoMessage() {} + +func (x *ExternalIdentity) ProtoReflect() protoreflect.Message { + mi := &file_cs3_identity_user_v1beta1_resources_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 ExternalIdentity.ProtoReflect.Descriptor instead. +func (*ExternalIdentity) Descriptor() ([]byte, []int) { + return file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP(), []int{0} +} + +func (x *ExternalIdentity) GetIdp() string { + if x != nil { + return x.Idp + } + return "" +} + +func (x *ExternalIdentity) GetOpaqueId() string { + if x != nil { + return x.OpaqueId + } + return "" +} + // A UserId represents a unique identifier of a user. type UserId struct { state protoimpl.MessageState @@ -136,12 +200,16 @@ type UserId struct { // The tenant id of the user, if applicable. // This is used to identify users in multi-tenant systems. TenantId string `protobuf:"bytes,4,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + // OPTIONAL. + // External identities of the user, if applicable. + // This is used to track identities of the same user on multiple systems. + ExternalIdentities []*ExternalIdentity `protobuf:"bytes,5,rep,name=external_identities,json=externalIdentities,proto3" json:"external_identities,omitempty"` } func (x *UserId) Reset() { *x = UserId{} if protoimpl.UnsafeEnabled { - mi := &file_cs3_identity_user_v1beta1_resources_proto_msgTypes[0] + mi := &file_cs3_identity_user_v1beta1_resources_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -154,7 +222,7 @@ func (x *UserId) String() string { func (*UserId) ProtoMessage() {} func (x *UserId) ProtoReflect() protoreflect.Message { - mi := &file_cs3_identity_user_v1beta1_resources_proto_msgTypes[0] + mi := &file_cs3_identity_user_v1beta1_resources_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -167,7 +235,7 @@ func (x *UserId) ProtoReflect() protoreflect.Message { // Deprecated: Use UserId.ProtoReflect.Descriptor instead. func (*UserId) Descriptor() ([]byte, []int) { - return file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP(), []int{0} + return file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP(), []int{1} } func (x *UserId) GetIdp() string { @@ -198,6 +266,13 @@ func (x *UserId) GetTenantId() string { return "" } +func (x *UserId) GetExternalIdentities() []*ExternalIdentity { + if x != nil { + return x.ExternalIdentities + } + return nil +} + // Represents a user of the system. type User struct { state protoimpl.MessageState @@ -236,7 +311,7 @@ type User struct { func (x *User) Reset() { *x = User{} if protoimpl.UnsafeEnabled { - mi := &file_cs3_identity_user_v1beta1_resources_proto_msgTypes[1] + mi := &file_cs3_identity_user_v1beta1_resources_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -249,7 +324,7 @@ func (x *User) String() string { func (*User) ProtoMessage() {} func (x *User) ProtoReflect() protoreflect.Message { - mi := &file_cs3_identity_user_v1beta1_resources_proto_msgTypes[1] + mi := &file_cs3_identity_user_v1beta1_resources_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -262,7 +337,7 @@ func (x *User) ProtoReflect() protoreflect.Message { // Deprecated: Use User.ProtoReflect.Descriptor instead. func (*User) Descriptor() ([]byte, []int) { - return file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP(), []int{1} + return file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP(), []int{2} } func (x *User) GetId() *UserId { @@ -337,67 +412,77 @@ var file_cs3_identity_user_v1beta1_resources_proto_rawDesc = []byte{ 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x8d, 0x01, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, - 0x64, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, - 0x37, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 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, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, - 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xba, 0x02, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x31, - 0x0a, 0x02, 0x69, 0x64, 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, 0x02, 0x69, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x69, - 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, - 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x07, 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, 0x1d, 0x0a, 0x0a, 0x75, 0x69, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x69, 0x64, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x67, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x2a, 0xe7, 0x01, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x17, 0x0a, - 0x13, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, - 0x44, 0x41, 0x52, 0x59, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x03, 0x12, 0x19, 0x0a, - 0x15, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x53, 0x45, 0x52, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x55, 0x45, 0x53, 0x54, 0x10, 0x05, 0x12, 0x17, 0x0a, - 0x13, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x45, 0x44, 0x45, 0x52, - 0x41, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x10, - 0x07, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, - 0x50, 0x41, 0x43, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x08, 0x42, 0xfa, 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, 0x0e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 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, 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, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x10, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6f, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x49, 0x64, 0x22, 0xeb, 0x01, 0x0a, 0x06, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x69, 0x64, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, + 0x49, 0x64, 0x12, 0x37, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 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, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 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, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xba, 0x02, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, + 0x31, 0x0a, 0x02, 0x69, 0x64, 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, 0x02, + 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, + 0x69, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x61, 0x69, 0x6c, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x07, 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, 0x1d, 0x0a, 0x0a, 0x75, 0x69, 0x64, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x69, 0x64, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x67, 0x69, 0x64, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x2a, 0xe7, 0x01, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x17, + 0x0a, 0x13, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x4f, + 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x03, 0x12, 0x19, + 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x4c, + 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x53, 0x45, + 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x55, 0x45, 0x53, 0x54, 0x10, 0x05, 0x12, 0x17, + 0x0a, 0x13, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x45, 0x44, 0x45, + 0x52, 0x41, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, + 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x08, 0x42, 0xfa, 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, + 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 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, 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 ( @@ -413,22 +498,24 @@ func file_cs3_identity_user_v1beta1_resources_proto_rawDescGZIP() []byte { } var file_cs3_identity_user_v1beta1_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_cs3_identity_user_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_cs3_identity_user_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_cs3_identity_user_v1beta1_resources_proto_goTypes = []interface{}{ - (UserType)(0), // 0: cs3.identity.user.v1beta1.UserType - (*UserId)(nil), // 1: cs3.identity.user.v1beta1.UserId - (*User)(nil), // 2: cs3.identity.user.v1beta1.User - (*v1beta1.Opaque)(nil), // 3: cs3.types.v1beta1.Opaque + (UserType)(0), // 0: cs3.identity.user.v1beta1.UserType + (*ExternalIdentity)(nil), // 1: cs3.identity.user.v1beta1.ExternalIdentity + (*UserId)(nil), // 2: cs3.identity.user.v1beta1.UserId + (*User)(nil), // 3: cs3.identity.user.v1beta1.User + (*v1beta1.Opaque)(nil), // 4: cs3.types.v1beta1.Opaque } var file_cs3_identity_user_v1beta1_resources_proto_depIdxs = []int32{ 0, // 0: cs3.identity.user.v1beta1.UserId.type:type_name -> cs3.identity.user.v1beta1.UserType - 1, // 1: cs3.identity.user.v1beta1.User.id:type_name -> cs3.identity.user.v1beta1.UserId - 3, // 2: cs3.identity.user.v1beta1.User.opaque:type_name -> cs3.types.v1beta1.Opaque - 3, // [3:3] is the sub-list for method output_type - 3, // [3:3] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name + 1, // 1: cs3.identity.user.v1beta1.UserId.external_identities:type_name -> cs3.identity.user.v1beta1.ExternalIdentity + 2, // 2: cs3.identity.user.v1beta1.User.id:type_name -> cs3.identity.user.v1beta1.UserId + 4, // 3: cs3.identity.user.v1beta1.User.opaque:type_name -> cs3.types.v1beta1.Opaque + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } func init() { file_cs3_identity_user_v1beta1_resources_proto_init() } @@ -438,7 +525,7 @@ func file_cs3_identity_user_v1beta1_resources_proto_init() { } if !protoimpl.UnsafeEnabled { file_cs3_identity_user_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserId); i { + switch v := v.(*ExternalIdentity); i { case 0: return &v.state case 1: @@ -450,6 +537,18 @@ func file_cs3_identity_user_v1beta1_resources_proto_init() { } } file_cs3_identity_user_v1beta1_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs3_identity_user_v1beta1_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*User); i { case 0: return &v.state @@ -468,7 +567,7 @@ func file_cs3_identity_user_v1beta1_resources_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cs3_identity_user_v1beta1_resources_proto_rawDesc, NumEnums: 1, - NumMessages: 2, + NumMessages: 3, NumExtensions: 0, NumServices: 0, }, diff --git a/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/collaboration/v1beta1/resources.pb.go b/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/collaboration/v1beta1/resources.pb.go index 53fc1e43d2..a9aadfa719 100644 --- a/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/collaboration/v1beta1/resources.pb.go +++ b/vendor/github.com/cs3org/go-cs3apis/cs3/sharing/collaboration/v1beta1/resources.pb.go @@ -115,6 +115,7 @@ const ( Filter_TYPE_EXCLUDE_DENIALS Filter_Type = 6 Filter_TYPE_SPACE_ID Filter_Type = 7 Filter_TYPE_STATE Filter_Type = 8 + Filter_TYPE_GRANTEE Filter_Type = 9 ) // Enum value maps for Filter_Type. @@ -129,6 +130,7 @@ var ( 6: "TYPE_EXCLUDE_DENIALS", 7: "TYPE_SPACE_ID", 8: "TYPE_STATE", + 9: "TYPE_GRANTEE", } Filter_Type_value = map[string]int32{ "TYPE_INVALID": 0, @@ -140,6 +142,7 @@ var ( "TYPE_EXCLUDE_DENIALS": 6, "TYPE_SPACE_ID": 7, "TYPE_STATE": 8, + "TYPE_GRANTEE": 9, } ) @@ -769,6 +772,7 @@ type Filter struct { // *Filter_GranteeType // *Filter_SpaceId // *Filter_State + // *Filter_Grantee Term isFilter_Term `protobuf_oneof:"term"` } @@ -860,6 +864,13 @@ func (x *Filter) GetState() ShareState { return ShareState_SHARE_STATE_INVALID } +func (x *Filter) GetGrantee() *v1beta1.Grantee { + if x, ok := x.GetTerm().(*Filter_Grantee); ok { + return x.Grantee + } + return nil +} + type isFilter_Term interface { isFilter_Term() } @@ -888,6 +899,10 @@ type Filter_State struct { State ShareState `protobuf:"varint,8,opt,name=state,proto3,enum=cs3.sharing.collaboration.v1beta1.ShareState,oneof"` } +type Filter_Grantee struct { + Grantee *v1beta1.Grantee `protobuf:"bytes,9,opt,name=grantee,proto3,oneof"` +} + func (*Filter_ResourceId) isFilter_Term() {} func (*Filter_Owner) isFilter_Term() {} @@ -900,6 +915,8 @@ func (*Filter_SpaceId) isFilter_Term() {} func (*Filter_State) isFilter_Term() {} +func (*Filter_Grantee) isFilter_Term() {} + var File_cs3_sharing_collaboration_v1beta1_resources_proto protoreflect.FileDescriptor var file_cs3_sharing_collaboration_v1beta1_resources_proto_rawDesc = []byte{ @@ -1017,7 +1034,7 @@ var file_cs3_sharing_collaboration_v1beta1_resources_proto_rawDesc = []byte{ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 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, 0x22, 0x83, 0x05, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd8, 0x05, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 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, @@ -1046,45 +1063,51 @@ var file_cs3_sharing_collaboration_v1beta1_resources_proto_rawDesc = []byte{ 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, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x22, 0xb1, 0x01, 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, 0x0b, 0x0a, 0x07, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x0e, - 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x03, 0x12, 0x10, - 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x04, - 0x12, 0x15, 0x0a, 0x11, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x45, 0x45, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x41, 0x4c, 0x53, 0x10, - 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, - 0x49, 0x44, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x10, 0x08, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 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, - 0x42, 0xb3, 0x02, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 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, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 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, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x63, 0x6f, 0x6c, - 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x43, 0xaa, 0x02, 0x21, 0x43, 0x73, 0x33, 0x2e, 0x53, 0x68, - 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x21, 0x43, 0x73, - 0x33, 0x5c, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x62, - 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, - 0x02, 0x2d, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x43, 0x6f, - 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x24, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, - 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x41, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x18, 0x09, 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, 0x48, 0x00, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, + 0x74, 0x65, 0x65, 0x22, 0xc3, 0x01, 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, 0x0b, + 0x0a, 0x07, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x10, + 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, + 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x4f, + 0x52, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, 0x41, 0x4e, + 0x54, 0x45, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x41, + 0x4c, 0x53, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x50, 0x41, + 0x43, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x47, 0x52, 0x41, 0x4e, 0x54, 0x45, 0x45, 0x10, 0x09, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x65, 0x72, + 0x6d, 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, 0x42, 0xb3, 0x02, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 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, 0x42, + 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x53, 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, 0x63, 0x6f, 0x6c, 0x6c, + 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x3b, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x43, 0xaa, 0x02, 0x21, 0x43, + 0x73, 0x33, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, + 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xca, 0x02, 0x21, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x43, + 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x2d, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x5c, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x24, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x53, 0x68, 0x61, 0x72, + 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -1148,11 +1171,12 @@ var file_cs3_sharing_collaboration_v1beta1_resources_proto_depIdxs = []int32{ 12, // 24: cs3.sharing.collaboration.v1beta1.Filter.creator:type_name -> cs3.identity.user.v1beta1.UserId 16, // 25: cs3.sharing.collaboration.v1beta1.Filter.grantee_type:type_name -> cs3.storage.provider.v1beta1.GranteeType 0, // 26: cs3.sharing.collaboration.v1beta1.Filter.state:type_name -> cs3.sharing.collaboration.v1beta1.ShareState - 27, // [27:27] is the sub-list for method output_type - 27, // [27:27] is the sub-list for method input_type - 27, // [27:27] is the sub-list for extension type_name - 27, // [27:27] is the sub-list for extension extendee - 0, // [0:27] is the sub-list for field type_name + 11, // 27: cs3.sharing.collaboration.v1beta1.Filter.grantee:type_name -> cs3.storage.provider.v1beta1.Grantee + 28, // [28:28] is the sub-list for method output_type + 28, // [28:28] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name } func init() { file_cs3_sharing_collaboration_v1beta1_resources_proto_init() } @@ -1269,6 +1293,7 @@ func file_cs3_sharing_collaboration_v1beta1_resources_proto_init() { (*Filter_GranteeType)(nil), (*Filter_SpaceId)(nil), (*Filter_State)(nil), + (*Filter_Grantee)(nil), } type x struct{} out := protoimpl.TypeBuilder{ diff --git a/vendor/github.com/opencloud-eu/reva/v2/cmd/revad/runtime/loader.go b/vendor/github.com/opencloud-eu/reva/v2/cmd/revad/runtime/loader.go index 197af9c0d8..11d68d00b2 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/cmd/revad/runtime/loader.go +++ b/vendor/github.com/opencloud-eu/reva/v2/cmd/revad/runtime/loader.go @@ -46,6 +46,7 @@ import ( _ "github.com/opencloud-eu/reva/v2/pkg/share/manager/loader" _ "github.com/opencloud-eu/reva/v2/pkg/storage/fs/loader" _ "github.com/opencloud-eu/reva/v2/pkg/storage/registry/loader" + _ "github.com/opencloud-eu/reva/v2/pkg/tenant/manager/loader" _ "github.com/opencloud-eu/reva/v2/pkg/token/manager/loader" _ "github.com/opencloud-eu/reva/v2/pkg/user/manager/loader" ) diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/gateway.go b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/gateway.go index c973373231..ab0e67851c 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/gateway.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/gateway.go @@ -60,6 +60,7 @@ type config struct { OCMCoreEndpoint string `mapstructure:"ocmcoresvc"` UserProviderEndpoint string `mapstructure:"userprovidersvc"` GroupProviderEndpoint string `mapstructure:"groupprovidersvc"` + TenantProviderEndpoint string `mapstructure:"tenantprovidersvc"` DataTxEndpoint string `mapstructure:"datatx"` DataGatewayEndpoint string `mapstructure:"datagateway"` PermissionsEndpoint string `mapstructure:"permissionssvc"` @@ -110,6 +111,12 @@ func (c *config) init() { c.OCMCoreEndpoint = sharedconf.GetGatewaySVC(c.OCMCoreEndpoint) c.UserProviderEndpoint = sharedconf.GetGatewaySVC(c.UserProviderEndpoint) c.GroupProviderEndpoint = sharedconf.GetGatewaySVC(c.GroupProviderEndpoint) + // Fall back to userprovidersvc when no dedicated tenant provider is configured. + if c.TenantProviderEndpoint == "" { + c.TenantProviderEndpoint = c.UserProviderEndpoint + } else { + c.TenantProviderEndpoint = sharedconf.GetGatewaySVC(c.TenantProviderEndpoint) + } c.DataTxEndpoint = sharedconf.GetGatewaySVC(c.DataTxEndpoint) c.DataGatewayEndpoint = sharedconf.GetDataGateway(c.DataGatewayEndpoint) diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/tenantprovider.go b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/tenantprovider.go new file mode 100644 index 0000000000..fa85343f5c --- /dev/null +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/tenantprovider.go @@ -0,0 +1,61 @@ +// Copyright 2018-2021 CERN +// Copyright 2026 OpenCloud GmbH +// +// 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. + +package gateway + +import ( + "context" + + tenant "github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1" + "github.com/opencloud-eu/reva/v2/pkg/rgrpc/status" + "github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool" + "github.com/pkg/errors" +) + +func (s *svc) GetTenant(ctx context.Context, req *tenant.GetTenantRequest) (*tenant.GetTenantResponse, error) { + c, err := pool.GetTenantProviderServiceClient(s.c.TenantProviderEndpoint) + if err != nil { + return &tenant.GetTenantResponse{ + Status: status.NewInternal(ctx, "error getting tenant service client"), + }, nil + } + + res, err := c.GetTenant(ctx, req) + if err != nil { + return nil, errors.Wrap(err, "gateway: error calling GetTenant") + } + + return res, nil +} + +func (s *svc) GetTenantByClaim(ctx context.Context, req *tenant.GetTenantByClaimRequest) (*tenant.GetTenantByClaimResponse, error) { + c, err := pool.GetTenantProviderServiceClient(s.c.TenantProviderEndpoint) + if err != nil { + return &tenant.GetTenantByClaimResponse{ + Status: status.NewInternal(ctx, "error getting tenant service client"), + }, nil + } + + res, err := c.GetTenantByClaim(ctx, req) + if err != nil { + return nil, errors.Wrap(err, "gateway: error calling GetTenantByClaim") + } + + return res, nil +} 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 d014190328..8bf5fbbe11 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 @@ -29,6 +29,7 @@ import ( "github.com/rs/zerolog" "google.golang.org/grpc" + tenantpb "github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1" userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" "github.com/opencloud-eu/reva/v2/pkg/appctx" revactx "github.com/opencloud-eu/reva/v2/pkg/ctx" @@ -36,8 +37,11 @@ import ( "github.com/opencloud-eu/reva/v2/pkg/plugin" "github.com/opencloud-eu/reva/v2/pkg/rgrpc" "github.com/opencloud-eu/reva/v2/pkg/rgrpc/status" + "github.com/opencloud-eu/reva/v2/pkg/sharedconf" + "github.com/opencloud-eu/reva/v2/pkg/tenant" + tenantRegistry "github.com/opencloud-eu/reva/v2/pkg/tenant/manager/registry" "github.com/opencloud-eu/reva/v2/pkg/user" - "github.com/opencloud-eu/reva/v2/pkg/user/manager/registry" + userRegistry "github.com/opencloud-eu/reva/v2/pkg/user/manager/registry" ) func init() { @@ -45,14 +49,29 @@ func init() { } type config struct { - Driver string `mapstructure:"driver"` - Drivers map[string]map[string]interface{} `mapstructure:"drivers"` + Driver string `mapstructure:"driver"` + Drivers map[string]map[string]interface{} `mapstructure:"drivers"` + TenantDriver string `mapstructure:"tenant_driver"` + TenantDrivers map[string]map[string]interface{} `mapstructure:"tenant_drivers"` } func (c *config) init() { if c.Driver == "" { c.Driver = "json" } + + // Fall back to user driver/drivers when no tenant-specific config is provided. + if c.TenantDriver == "" { + c.TenantDriver = c.Driver + } + if c.TenantDrivers == nil { + c.TenantDrivers = c.Drivers + } + + // Force "null" driver if multi-tenancy is disabled + if !sharedconf.MultiTenantEnabled() { + c.TenantDriver = "null" + } } func parseConfig(m map[string]interface{}) (*config, error) { @@ -80,7 +99,7 @@ func getDriver(c *config) (user.Manager, *plugin.RevaPlugin, error) { return manager, p, nil } else if _, ok := err.(errtypes.NotFound); ok { // plugin not found, fetch the driver from the in-memory registry - if f, ok := registry.NewFuncs[c.Driver]; ok { + if f, ok := userRegistry.NewFuncs[c.Driver]; ok { mgr, err := f(c.Drivers[c.Driver]) return mgr, nil, err } @@ -90,6 +109,14 @@ func getDriver(c *config) (user.Manager, *plugin.RevaPlugin, error) { return nil, nil, errtypes.NotFound(fmt.Sprintf("driver %s not found for user manager", c.Driver)) } +func getTenantManager(c *config) (tenant.Manager, error) { + if f, ok := tenantRegistry.NewFuncs[c.TenantDriver]; ok { + mgr, err := f(c.TenantDrivers[c.TenantDriver]) + return mgr, err + } + return nil, errtypes.NotFound(fmt.Sprintf("driver %s not found for tenant manager", c.TenantDriver)) +} + // New returns a new UserProviderServiceServer. func New(m map[string]interface{}, ss *grpc.Server, _ *zerolog.Logger) (rgrpc.Service, error) { c, err := parseConfig(m) @@ -100,17 +127,27 @@ func New(m map[string]interface{}, ss *grpc.Server, _ *zerolog.Logger) (rgrpc.Se if err != nil { return nil, err } - svc := &service{ - usermgr: userManager, - plugin: plug, + tenantManager, err := getTenantManager(c) + if err != nil { + return nil, err } - return svc, nil + return NewWithManagers(userManager, tenantManager, plug), nil +} + +// NewWithManagers returns a new UserProviderService with the given managers. +func NewWithManagers(um user.Manager, tm tenant.Manager, plug *plugin.RevaPlugin) rgrpc.Service { + return &service{ + usermgr: um, + tenantmgr: tm, + plugin: plug, + } } type service struct { - usermgr user.Manager - plugin *plugin.RevaPlugin + usermgr user.Manager + tenantmgr tenant.Manager + plugin *plugin.RevaPlugin } func (s *service) Close() error { @@ -126,6 +163,7 @@ func (s *service) UnprotectedEndpoints() []string { func (s *service) Register(ss *grpc.Server) { userpb.RegisterUserAPIServer(ss, s) + tenantpb.RegisterTenantAPIServer(ss, s) } func (s *service) GetUser(ctx context.Context, req *userpb.GetUserRequest) (*userpb.GetUserResponse, error) { @@ -232,3 +270,41 @@ func (s *service) GetUserGroups(ctx context.Context, req *userpb.GetUserGroupsRe } return res, nil } + +func (s *service) GetTenant(ctx context.Context, req *tenantpb.GetTenantRequest) (*tenantpb.GetTenantResponse, error) { + log := appctx.GetLogger(ctx) + t, err := s.tenantmgr.GetTenant(ctx, req.GetTenantId()) + if err != nil { + log.Warn().Err(err).Interface("tenantid", req.GetTenantId()).Msg("error getting tenant") + res := &tenantpb.GetTenantResponse{ + Status: status.NewInternal(ctx, "error getting tenant"), + } + if _, ok := err.(errtypes.NotFound); ok { + res.Status = status.NewNotFound(ctx, "tenant not found") + } + return res, nil + } + return &tenantpb.GetTenantResponse{ + Status: status.NewOK(ctx), + Tenant: t, + }, nil +} + +func (s *service) GetTenantByClaim(ctx context.Context, req *tenantpb.GetTenantByClaimRequest) (*tenantpb.GetTenantByClaimResponse, error) { + log := appctx.GetLogger(ctx) + t, err := s.tenantmgr.GetTenantByClaim(ctx, req.GetClaim(), req.GetValue()) + if err != nil { + log.Warn().Err(err).Interface("claim", req.GetClaim()).Interface("value", req.GetValue()).Msg("error getting tenant") + res := &tenantpb.GetTenantByClaimResponse{ + Status: status.NewInternal(ctx, "error getting tenant"), + } + if _, ok := err.(errtypes.NotFound); ok { + res.Status = status.NewNotFound(ctx, "tenant not found") + } + return res, nil + } + return &tenantpb.GetTenantByClaimResponse{ + Status: status.NewOK(ctx), + Tenant: t, + }, nil +} diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool/client.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool/client.go index 5fda6bdb7d..4565ddadf5 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool/client.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool/client.go @@ -26,6 +26,7 @@ import ( authregistry "github.com/cs3org/go-cs3apis/cs3/auth/registry/v1beta1" gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1" group "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1" + tenant "github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1" user "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" ocmcore "github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1" invitepb "github.com/cs3org/go-cs3apis/cs3/ocm/invite/v1beta1" @@ -52,6 +53,12 @@ func GetUserProviderServiceClient(id string, opts ...Option) (user.UserAPIClient return selector.Next() } +// GetTenantProviderServiceClient returns a TenantProviderServiceClient. +func GetTenantProviderServiceClient(id string, opts ...Option) (tenant.TenantAPIClient, error) { + selector, _ := IdentityTenantSelector(id, opts...) + return selector.Next() +} + // GetGroupProviderServiceClient returns a GroupProviderServiceClient. func GetGroupProviderServiceClient(id string, opts ...Option) (group.GroupAPIClient, error) { selector, _ := IdentityGroupSelector(id, opts...) diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool/selector.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool/selector.go index 97e04f6264..d2a384039a 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool/selector.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool/selector.go @@ -30,6 +30,7 @@ import ( authRegistry "github.com/cs3org/go-cs3apis/cs3/auth/registry/v1beta1" gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1" identityGroup "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1" + identityTenant "github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1" identityUser "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" ocmCore "github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1" ocmInvite "github.com/cs3org/go-cs3apis/cs3/ocm/invite/v1beta1" @@ -174,6 +175,16 @@ func IdentityGroupSelector(id string, options ...Option) (*Selector[identityGrou ), nil } +// IdentityTentantSelector returns a Selector[identityTenant.TenantAPIClient]. +func IdentityTenantSelector(id string, options ...Option) (*Selector[identityTenant.TenantAPIClient], error) { + return GetSelector[identityTenant.TenantAPIClient]( + "IdentityTenantSelector", + id, + identityTenant.NewTenantAPIClient, + options..., + ), nil +} + // StorageProviderSelector returns a Selector[storageProvider.ProviderAPIClient]. func StorageProviderSelector(id string, options ...Option) (*Selector[storageProvider.ProviderAPIClient], error) { return GetSelector[storageProvider.ProviderAPIClient]( diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/ldap/ldap.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/ldap/ldap.go new file mode 100644 index 0000000000..0a8ee54599 --- /dev/null +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/ldap/ldap.go @@ -0,0 +1,121 @@ +// Copyright 2018-2021 CERN +// Copyright 2026 OpenCloud GmbH +// +// 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. + +package ldap + +import ( + "context" + "fmt" + + tenantpb "github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1" + "github.com/go-ldap/ldap/v3" + "github.com/mitchellh/mapstructure" + "github.com/opencloud-eu/reva/v2/pkg/appctx" + "github.com/opencloud-eu/reva/v2/pkg/tenant" + "github.com/opencloud-eu/reva/v2/pkg/tenant/manager/registry" + "github.com/opencloud-eu/reva/v2/pkg/utils" + ldapIdentity "github.com/opencloud-eu/reva/v2/pkg/utils/ldap" + "github.com/pkg/errors" +) + +func init() { + registry.Register("ldap", New) +} + +type config struct { + utils.LDAPConn `mapstructure:",squash"` + LDAPIdentity ldapIdentity.Identity `mapstructure:",squash"` +} + +func parseConfig(m map[string]interface{}) (*config, error) { + c := &config{ + LDAPIdentity: ldapIdentity.New(), + } + if err := mapstructure.Decode(m, c); err != nil { + err = errors.Wrap(err, "error decoding conf") + return nil, err + } + return c, nil +} + +type manager struct { + conf *config + ldap ldap.Client +} + +// New returns a new user manager. +func New(m map[string]interface{}) (tenant.Manager, error) { + mgr := &manager{} + err := mgr.Configure(m) + if err != nil { + return nil, err + } + + mgr.ldap, err = utils.GetLDAPClientWithReconnect(&mgr.conf.LDAPConn) + + return mgr, err +} + +func (m *manager) Configure(ml map[string]interface{}) error { + c, err := parseConfig(ml) + if err != nil { + return err + } + if err = c.LDAPIdentity.Setup(); err != nil { + return fmt.Errorf("error setting up Identity config: %w", err) + } + m.conf = c + + return nil +} + +func (m *manager) GetTenant(ctx context.Context, id string) (*tenantpb.Tenant, error) { + log := appctx.GetLogger(ctx) + + tenantEntry, err := m.conf.LDAPIdentity.GetLDAPTenantByID(ctx, m.ldap, id) + if err != nil { + return nil, err + } + + log.Debug().Interface("entry", tenantEntry).Msg("entries") + + t, err := m.ldapEntryToTenant(tenantEntry) + if err != nil { + return nil, err + } + + return t, nil +} + +func (m *manager) GetTenantByClaim(ctx context.Context, claim, value string) (*tenantpb.Tenant, error) { + tenantEntry, err := m.conf.LDAPIdentity.GetLDAPTenantByAttribute(ctx, m.ldap, claim, value) + if err != nil { + return nil, err + } + return m.ldapEntryToTenant(tenantEntry) +} + +func (m *manager) ldapEntryToTenant(entry *ldap.Entry) (*tenantpb.Tenant, error) { + t := &tenantpb.Tenant{ + Id: entry.GetEqualFoldAttributeValue(m.conf.LDAPIdentity.Tenant.Schema.ID), + ExternalId: entry.GetEqualFoldAttributeValue(m.conf.LDAPIdentity.Tenant.Schema.ExternalID), + Name: entry.GetEqualFoldAttributeValue(m.conf.LDAPIdentity.Tenant.Schema.Name), + } + return t, nil +} diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/loader/loader.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/loader/loader.go new file mode 100644 index 0000000000..dbc914fec1 --- /dev/null +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/loader/loader.go @@ -0,0 +1,28 @@ +// Copyright 2018-2021 CERN +// Copyright 2026 OpenCloud GmbH +// +// 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. + +package loader + +import ( + // Load core user manager drivers. + _ "github.com/opencloud-eu/reva/v2/pkg/tenant/manager/ldap" + _ "github.com/opencloud-eu/reva/v2/pkg/tenant/manager/memory" + _ "github.com/opencloud-eu/reva/v2/pkg/tenant/manager/null" + // Add your own here +) diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/memory/memory.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/memory/memory.go new file mode 100644 index 0000000000..e1e5ef4791 --- /dev/null +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/memory/memory.go @@ -0,0 +1,106 @@ +// Copyright 2018-2021 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. + +package memory + +import ( + "context" + + tenantpb "github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1" + "github.com/mitchellh/mapstructure" + "github.com/opencloud-eu/reva/v2/pkg/errtypes" + "github.com/opencloud-eu/reva/v2/pkg/tenant" + "github.com/opencloud-eu/reva/v2/pkg/tenant/manager/registry" + "github.com/pkg/errors" +) + +func init() { + registry.Register("memory", New) +} + +// tenantEntry is used only for mapstructure decoding of the config. +type tenantEntry struct { + ID string `mapstructure:"id"` + ExternalID string `mapstructure:"external_id"` + Name string `mapstructure:"name"` +} + +type config struct { + Tenants map[string]*tenantEntry `mapstructure:"tenants"` +} + +func parseConfig(m map[string]interface{}) (*config, error) { + c := &config{} + if err := mapstructure.Decode(m, c); err != nil { + return nil, errors.Wrap(err, "error decoding conf") + } + return c, nil +} + +type manager struct { + catalog map[string]*tenantpb.Tenant +} + +// New returns a new tenant manager. +func New(m map[string]interface{}) (tenant.Manager, error) { + mgr := &manager{} + err := mgr.Configure(m) + return mgr, err +} + +func (m *manager) Configure(ml map[string]interface{}) error { + c, err := parseConfig(ml) + if err != nil { + return err + } + m.catalog = make(map[string]*tenantpb.Tenant, len(c.Tenants)) + for k, t := range c.Tenants { + m.catalog[k] = &tenantpb.Tenant{ + Id: t.ID, + ExternalId: t.ExternalID, + Name: t.Name, + } + } + return nil +} + +func (m *manager) GetTenant(ctx context.Context, id string) (*tenantpb.Tenant, error) { + if t, ok := m.catalog[id]; ok { + return t, nil + } + return nil, errtypes.NotFound(id) +} + +func (m *manager) GetTenantByClaim(ctx context.Context, claim, value string) (*tenantpb.Tenant, error) { + for _, t := range m.catalog { + if tenantClaim, err := extractClaim(t, claim); err == nil && value == tenantClaim { + return t, nil + } + } + return nil, errtypes.NotFound(value) +} + +func extractClaim(t *tenantpb.Tenant, claim string) (string, error) { + switch claim { + case "id": + return t.Id, nil + case "externalid": + return t.ExternalId, nil + } + return "", errors.New("memory: invalid claim") +} diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/null/null.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/null/null.go new file mode 100644 index 0000000000..6da25d813a --- /dev/null +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/null/null.go @@ -0,0 +1,49 @@ +// Copyright 2018-2020 CERN +// Copyright 2026 OpenCloud GmbH +// +// 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. + +package null + +import ( + "context" + + tenantpb "github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1" + "github.com/opencloud-eu/reva/v2/pkg/errtypes" + "github.com/opencloud-eu/reva/v2/pkg/tenant" + "github.com/opencloud-eu/reva/v2/pkg/tenant/manager/registry" +) + +func init() { + registry.Register("null", New) +} + +type manager struct { +} + +// New returns a tenant manager implementation that return NOT FOUND or empty result set for every call +func New(m map[string]interface{}) (tenant.Manager, error) { + return &manager{}, nil +} + +func (m *manager) GetTenant(ctx context.Context, id string) (*tenantpb.Tenant, error) { + return nil, errtypes.NotFound(id) +} + +func (m *manager) GetTenantByClaim(ctx context.Context, claim, value string) (*tenantpb.Tenant, error) { + return nil, errtypes.NotFound(value) +} diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/registry/registry.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/registry/registry.go new file mode 100644 index 0000000000..0892ba15b0 --- /dev/null +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/manager/registry/registry.go @@ -0,0 +1,36 @@ +// Copyright 2018-2021 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. + +package registry + +import ( + "github.com/opencloud-eu/reva/v2/pkg/tenant" +) + +// NewFunc is the function that tenant managers +// should register at init time. +type NewFunc func(map[string]interface{}) (tenant.Manager, error) + +// NewFuncs is a map containing all the registered user managers. +var NewFuncs = map[string]NewFunc{} + +// Register registers a new user manager new function. +// Not safe for concurrent use. Safe for use from package init. +func Register(name string, f NewFunc) { + NewFuncs[name] = f +} diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/tenant.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/tenant.go new file mode 100644 index 0000000000..327788302b --- /dev/null +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/tenant/tenant.go @@ -0,0 +1,34 @@ +// Copyright 2018-2021 CERN +// Copyright 2026 OpenCloud +// +// 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. + +package tenant + +import ( + "context" + + tenant "github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1" +) + +// Manager is the interface to implement to manipulate users. +type Manager interface { + // GetTenant returns the tenant metadata identified by an id. + GetTenant(ctx context.Context, id string) (*tenant.Tenant, error) + // GetUserByClaim returns the user identified by a specific value for a given claim. + GetTenantByClaim(ctx context.Context, claim, value string) (*tenant.Tenant, error) +} 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 5031f04079..9e98041574 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 @@ -38,8 +38,9 @@ import ( // Identity provides methods to query users and groups from an LDAP server type Identity struct { - User userConfig `mapstructure:",squash"` - Group groupConfig `mapstructure:",squash"` + User userConfig `mapstructure:",squash"` + Group groupConfig `mapstructure:",squash"` + Tenant tenantConfig `mapstructure:",squash"` } const tracerName = "pkg/utils/ldap" @@ -71,6 +72,15 @@ type groupConfig struct { LocalDisabledDN string `mapstructure:"group_local_disabled_dn"` } +type tenantConfig struct { + BaseDN string `mapstructure:"tenant_base_dn"` + Scope string `mapstructure:"tenant_search_scope"` + scopeVal int + Filter string `mapstructure:"tenant_filter"` + Objectclass string `mapstructure:"tenant_objectclass"` + Schema tenantSchema `mapstructure:"tenant_schema"` +} + type groupSchema struct { // GID is an immutable group id, see https://docs.microsoft.com/en-us/azure/active-directory/hybrid/plan-connect-design-concepts ID string `mapstructure:"id"` @@ -106,6 +116,12 @@ type userSchema struct { TenantID string `mapstructure:"tenantId"` } +type tenantSchema struct { + ID string `mapstructure:"id"` + ExternalID string `mapstructure:"externalId"` + Name string `mapstructure:"name"` +} + // Default userConfig (somewhat inspired by Active Directory) var userDefaults = userConfig{ Scope: "sub", @@ -138,11 +154,23 @@ var groupDefaults = groupConfig{ SubstringFilterType: "initial", } +// Default tenantConfig (works with OpenCloud's education Schema) +var tenantDefaults = tenantConfig{ + Scope: "sub", + Objectclass: "openCloudEducationSchool", + Schema: tenantSchema{ + ID: "openCloudUUID", + ExternalID: "openCloudEducationExternalId", + Name: "ou", + }, +} + // New initializes the default config func New() Identity { return Identity{ - User: userDefaults, - Group: groupDefaults, + User: userDefaults, + Group: groupDefaults, + Tenant: tenantDefaults, } } @@ -159,6 +187,10 @@ func (i *Identity) Setup() error { return fmt.Errorf("error configuring group scope: %w", err) } + if i.Tenant.scopeVal, err = stringToScope(i.Tenant.Scope); err != nil { + return fmt.Errorf("error configuring tenant scope: %w", err) + } + if i.User.substringFilterVal, err = stringToFilterType(i.User.SubstringFilterType); err != nil { return fmt.Errorf("error configuring user substring filter type: %w", err) } @@ -847,6 +879,107 @@ func (i *Identity) getUserLDAPAttrTypes() []string { } return attrs } + +// GetLDAPTenantByID looks up a tenant by the supplied Id. Returns the corresponding +// ldap.Entry +func (i *Identity) GetLDAPTenantByID(ctx context.Context, lc ldap.Client, id string) (*ldap.Entry, error) { + var filter string + var err error + if filter, err = i.getTenantFilter(id); err != nil { + return nil, err + } + return i.GetLDAPTenantByFilter(ctx, lc, filter) +} + +// GetLDAPTenantByAttribute looks up a single user by attribute (can be "externalid" or "id") +func (i *Identity) GetLDAPTenantByAttribute(ctx context.Context, lc ldap.Client, attribute, value string) (*ldap.Entry, error) { + var filter string + var err error + if filter, err = i.getTenantAttributeFilter(attribute, value); err != nil { + return nil, err + } + return i.GetLDAPTenantByFilter(ctx, lc, filter) +} + +// GetLDAPTenantByFilter looks up a single user by the supplied LDAP filter +// returns the corresponding ldap.Entry +func (i *Identity) GetLDAPTenantByFilter(ctx context.Context, lc ldap.Client, filter string) (*ldap.Entry, error) { + log := appctx.GetLogger(ctx) + _, span := appctx.GetTracerProvider(ctx).Tracer(tracerName).Start(ctx, "GetLDAPTenantByFilter") + defer span.End() + searchRequest := ldap.NewSearchRequest( + i.Tenant.BaseDN, i.Tenant.scopeVal, ldap.NeverDerefAliases, 1, 0, false, + filter, + i.getTenantLDAPAttrTypes(), + nil, + ) + + setLDAPSearchSpanAttributes(span, searchRequest) + log.Debug().Str("backend", "ldap").Str("basedn", i.Tenant.BaseDN).Str("filter", filter).Int("scope", i.Tenant.scopeVal).Msg("LDAP Search") + res, err := lc.Search(searchRequest) + if err != nil { + log.Debug().Str("backend", "ldap").Err(err).Str("tenantfilter", filter).Msg("Error looking up tenant by filter") + var errmsg string + if lerr, ok := err.(*ldap.Error); ok { + if lerr.ResultCode == ldap.LDAPResultSizeLimitExceeded { + errmsg = fmt.Sprintf("too many results searching for tenant '%s'", filter) + } + } + span.SetAttributes(attribute.String("ldap.error", errmsg)) + span.SetStatus(codes.Error, errmsg) + return nil, errtypes.NotFound(errmsg) + } + if len(res.Entries) == 0 { + return nil, errtypes.NotFound(filter) + } + span.SetStatus(codes.Ok, "") + + return res.Entries[0], nil +} + +func (i *Identity) getTenantLDAPAttrTypes() []string { + // The are the attributes we request unconditionally when looking up users + // as they are needed to populate a user object + return []string{ + i.Tenant.Schema.ID, + i.Tenant.Schema.ExternalID, + i.Tenant.Schema.Name, + } +} + +func (i *Identity) getTenantFilter(id string) (string, error) { + var escapedUUID string + escapedUUID, err := filterEscapeAttribute(i.Tenant.Schema.ID, false, id) + if err != nil { + return "", fmt.Errorf("error parsing id '%s' as UUID: %w", id, err) + } + return fmt.Sprintf("(&%s(objectclass=%s)(%s=%s))", + i.Tenant.Filter, + i.Tenant.Objectclass, + i.Tenant.Schema.ID, + escapedUUID, + ), nil +} + +func (i *Identity) getTenantAttributeFilter(attribute, value string) (string, error) { + switch attribute { + case "id": + attribute = i.Tenant.Schema.ID + case "externalid": + attribute = i.Tenant.Schema.ExternalID + } + escapedValue, err := filterEscapeAttribute("", false, value) + if err != nil { + return "", fmt.Errorf("error escaping filter value %q: %w", value, err) + } + return fmt.Sprintf("(&%s(objectclass=%s)(%s=%s))", + i.Tenant.Filter, + i.Tenant.Objectclass, + attribute, + escapedValue, + ), nil +} + func setLDAPSearchSpanAttributes(span trace.Span, request *ldap.SearchRequest) { span.SetAttributes( attribute.String("ldap.basedn", request.BaseDN), 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 ec595a5c89..919f68888c 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 @@ -56,6 +56,8 @@ import ( registryv1beta1 "github.com/cs3org/go-cs3apis/cs3/app/registry/v1beta1" + tenantv1beta1 "github.com/cs3org/go-cs3apis/cs3/identity/tenant/v1beta1" + txv1beta1 "github.com/cs3org/go-cs3apis/cs3/tx/v1beta1" userv1beta1 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" @@ -3507,6 +3509,152 @@ func (_c *GatewayAPIClient_GetShare_Call) RunAndReturn(run func(context.Context, return _c } +// GetTenant provides a mock function with given fields: ctx, in, opts +func (_m *GatewayAPIClient) GetTenant(ctx context.Context, in *tenantv1beta1.GetTenantRequest, opts ...grpc.CallOption) (*tenantv1beta1.GetTenantResponse, 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 GetTenant") + } + + var r0 *tenantv1beta1.GetTenantResponse + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, *tenantv1beta1.GetTenantRequest, ...grpc.CallOption) (*tenantv1beta1.GetTenantResponse, error)); ok { + return rf(ctx, in, opts...) + } + if rf, ok := ret.Get(0).(func(context.Context, *tenantv1beta1.GetTenantRequest, ...grpc.CallOption) *tenantv1beta1.GetTenantResponse); ok { + r0 = rf(ctx, in, opts...) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*tenantv1beta1.GetTenantResponse) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, *tenantv1beta1.GetTenantRequest, ...grpc.CallOption) error); ok { + r1 = rf(ctx, in, opts...) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// GatewayAPIClient_GetTenant_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetTenant' +type GatewayAPIClient_GetTenant_Call struct { + *mock.Call +} + +// GetTenant is a helper method to define mock.On call +// - ctx context.Context +// - in *tenantv1beta1.GetTenantRequest +// - opts ...grpc.CallOption +func (_e *GatewayAPIClient_Expecter) GetTenant(ctx interface{}, in interface{}, opts ...interface{}) *GatewayAPIClient_GetTenant_Call { + return &GatewayAPIClient_GetTenant_Call{Call: _e.mock.On("GetTenant", + append([]interface{}{ctx, in}, opts...)...)} +} + +func (_c *GatewayAPIClient_GetTenant_Call) Run(run func(ctx context.Context, in *tenantv1beta1.GetTenantRequest, opts ...grpc.CallOption)) *GatewayAPIClient_GetTenant_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].(*tenantv1beta1.GetTenantRequest), variadicArgs...) + }) + return _c +} + +func (_c *GatewayAPIClient_GetTenant_Call) Return(_a0 *tenantv1beta1.GetTenantResponse, _a1 error) *GatewayAPIClient_GetTenant_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *GatewayAPIClient_GetTenant_Call) RunAndReturn(run func(context.Context, *tenantv1beta1.GetTenantRequest, ...grpc.CallOption) (*tenantv1beta1.GetTenantResponse, error)) *GatewayAPIClient_GetTenant_Call { + _c.Call.Return(run) + return _c +} + +// GetTenantByClaim provides a mock function with given fields: ctx, in, opts +func (_m *GatewayAPIClient) GetTenantByClaim(ctx context.Context, in *tenantv1beta1.GetTenantByClaimRequest, opts ...grpc.CallOption) (*tenantv1beta1.GetTenantByClaimResponse, 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 GetTenantByClaim") + } + + var r0 *tenantv1beta1.GetTenantByClaimResponse + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, *tenantv1beta1.GetTenantByClaimRequest, ...grpc.CallOption) (*tenantv1beta1.GetTenantByClaimResponse, error)); ok { + return rf(ctx, in, opts...) + } + if rf, ok := ret.Get(0).(func(context.Context, *tenantv1beta1.GetTenantByClaimRequest, ...grpc.CallOption) *tenantv1beta1.GetTenantByClaimResponse); ok { + r0 = rf(ctx, in, opts...) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*tenantv1beta1.GetTenantByClaimResponse) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, *tenantv1beta1.GetTenantByClaimRequest, ...grpc.CallOption) error); ok { + r1 = rf(ctx, in, opts...) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// GatewayAPIClient_GetTenantByClaim_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetTenantByClaim' +type GatewayAPIClient_GetTenantByClaim_Call struct { + *mock.Call +} + +// GetTenantByClaim is a helper method to define mock.On call +// - ctx context.Context +// - in *tenantv1beta1.GetTenantByClaimRequest +// - opts ...grpc.CallOption +func (_e *GatewayAPIClient_Expecter) GetTenantByClaim(ctx interface{}, in interface{}, opts ...interface{}) *GatewayAPIClient_GetTenantByClaim_Call { + return &GatewayAPIClient_GetTenantByClaim_Call{Call: _e.mock.On("GetTenantByClaim", + append([]interface{}{ctx, in}, opts...)...)} +} + +func (_c *GatewayAPIClient_GetTenantByClaim_Call) Run(run func(ctx context.Context, in *tenantv1beta1.GetTenantByClaimRequest, opts ...grpc.CallOption)) *GatewayAPIClient_GetTenantByClaim_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].(*tenantv1beta1.GetTenantByClaimRequest), variadicArgs...) + }) + return _c +} + +func (_c *GatewayAPIClient_GetTenantByClaim_Call) Return(_a0 *tenantv1beta1.GetTenantByClaimResponse, _a1 error) *GatewayAPIClient_GetTenantByClaim_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *GatewayAPIClient_GetTenantByClaim_Call) RunAndReturn(run func(context.Context, *tenantv1beta1.GetTenantByClaimRequest, ...grpc.CallOption) (*tenantv1beta1.GetTenantByClaimResponse, error)) *GatewayAPIClient_GetTenantByClaim_Call { + _c.Call.Return(run) + return _c +} + // GetTransferStatus provides a mock function with given fields: ctx, in, opts func (_m *GatewayAPIClient) GetTransferStatus(ctx context.Context, in *txv1beta1.GetTransferStatusRequest, opts ...grpc.CallOption) (*txv1beta1.GetTransferStatusResponse, error) { var tmpRet mock.Arguments diff --git a/vendor/modules.txt b/vendor/modules.txt index 8506e9f033..b1e4dd554d 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -316,7 +316,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-20260310080202-fb97596763d6 +# github.com/cs3org/go-cs3apis v0.0.0-20260407125717-5d69ba49048b ## explicit; go 1.21 github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1 github.com/cs3org/go-cs3apis/cs3/app/registry/v1beta1 @@ -325,6 +325,7 @@ github.com/cs3org/go-cs3apis/cs3/auth/provider/v1beta1 github.com/cs3org/go-cs3apis/cs3/auth/registry/v1beta1 github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1 github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1 +github.com/cs3org/go-cs3apis/cs3/identity/tenant/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 @@ -1371,7 +1372,7 @@ github.com/opencloud-eu/icap-client # github.com/opencloud-eu/libre-graph-api-go v1.0.8-0.20260310090739-853d972b282d ## explicit; go 1.18 github.com/opencloud-eu/libre-graph-api-go -# github.com/opencloud-eu/reva/v2 v2.42.7-0.20260408072824-411780d0b756 +# github.com/opencloud-eu/reva/v2 v2.42.7-0.20260409144540-a3009b33f38b ## explicit; go 1.25.0 github.com/opencloud-eu/reva/v2/cmd/revad/internal/grace github.com/opencloud-eu/reva/v2/cmd/revad/runtime @@ -1722,6 +1723,12 @@ github.com/opencloud-eu/reva/v2/pkg/store/etcd github.com/opencloud-eu/reva/v2/pkg/store/memory github.com/opencloud-eu/reva/v2/pkg/sysinfo github.com/opencloud-eu/reva/v2/pkg/tags +github.com/opencloud-eu/reva/v2/pkg/tenant +github.com/opencloud-eu/reva/v2/pkg/tenant/manager/ldap +github.com/opencloud-eu/reva/v2/pkg/tenant/manager/loader +github.com/opencloud-eu/reva/v2/pkg/tenant/manager/memory +github.com/opencloud-eu/reva/v2/pkg/tenant/manager/null +github.com/opencloud-eu/reva/v2/pkg/tenant/manager/registry github.com/opencloud-eu/reva/v2/pkg/token github.com/opencloud-eu/reva/v2/pkg/token/manager/demo github.com/opencloud-eu/reva/v2/pkg/token/manager/jwt